@feathery/react 2.15.0 → 2.15.2

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 (106) hide show
  1. package/cjs/Form/index.d.ts.map +1 -1
  2. package/cjs/Form/logic.d.ts.map +1 -1
  3. package/cjs/elements/fields/AddressLine1Field/index.d.ts.map +1 -1
  4. package/cjs/{fthry_FormControl.C8oeoDk3.js → fthry_FormControl.CZhSI7ZP.js} +1 -1
  5. package/cjs/{fthry_InlineTooltip.CRRFOiO4.js → fthry_InlineTooltip.BLxhhDuP.js} +2 -2
  6. package/cjs/{fthry_Overlay.CMYptYVH.js → fthry_Overlay.DX647lyL.js} +1 -1
  7. package/cjs/{fthry_PaymentMethodField.C_yV3aay.js → fthry_PaymentMethodField.DwYI96Gn.js} +4 -4
  8. package/cjs/{fthry_Placeholder.xDn0I29f.js → fthry_Placeholder.eggaVDQj.js} +1 -1
  9. package/cjs/{fthry_ShowEyeIcon.COZczYEG.js → fthry_ShowEyeIcon.CUX7pJin.js} +1 -1
  10. package/cjs/{fthry_index.CFl7Tra-.js → fthry_index.B1CkkjWn.js} +6 -6
  11. package/cjs/{fthry_index.B5Nc9EIn.js → fthry_index.B6zj96av.js} +1833 -45
  12. package/cjs/{fthry_index.CQ3OgNZu.js → fthry_index.BA7SCFjL.js} +1 -1
  13. package/cjs/{fthry_index.Db8Zj-xl.js → fthry_index.BANnK-BV.js} +2 -2
  14. package/cjs/{fthry_index.Ct-olYcX.js → fthry_index.BDTST35w.js} +1 -1
  15. package/cjs/{fthry_index.B5aSeoEj.js → fthry_index.BN8zLfup.js} +4 -4
  16. package/cjs/{fthry_index.BdfASO2V.js → fthry_index.BSCmisU5.js} +6 -6
  17. package/cjs/{fthry_index.BAis6iAm.js → fthry_index.BfGtKml0.js} +3 -3
  18. package/cjs/{fthry_index.D35rnGh5.js → fthry_index.BjCAubFj.js} +1 -1
  19. package/cjs/{fthry_index.CgatqFlS.js → fthry_index.BzhucXqv.js} +2 -2
  20. package/cjs/{fthry_index.C97Bm277.js → fthry_index.CRDnACxw.js} +4 -4
  21. package/cjs/{fthry_index.ByYAaIPz.js → fthry_index.CZOSIfEV.js} +6 -6
  22. package/cjs/{fthry_index.CfGx505W.js → fthry_index.CoJCmnOp.js} +1 -1
  23. package/cjs/{fthry_index.BZzFi9o3.js → fthry_index.Cp5mHHk3.js} +7 -6
  24. package/cjs/{fthry_index.BV9FIqI3.js → fthry_index.DB4KHK9K.js} +5 -5
  25. package/cjs/{fthry_index.BokP8_1j.js → fthry_index.DEqnH31I.js} +5 -5
  26. package/cjs/{fthry_index.Be_wKtBW.js → fthry_index.DXh3tbd1.js} +3 -3
  27. package/cjs/{fthry_index.CoR2X1u6.js → fthry_index.DanO29mY.js} +8 -8
  28. package/cjs/{fthry_index.BvXec6y1.js → fthry_index.DbcTkrx8.js} +1 -1
  29. package/cjs/{fthry_index.Dm94Mor0.js → fthry_index.DpwSZaXh.js} +1 -1
  30. package/cjs/{fthry_index.Dzq-7u_A.js → fthry_index.EU1uftki.js} +5 -5
  31. package/cjs/{fthry_index.Iw93ZIvk.js → fthry_index.HFaIUSxu.js} +1 -1
  32. package/cjs/{fthry_index.CPkoG8dL.js → fthry_index.bTWf3wVZ.js} +4 -4
  33. package/cjs/{fthry_index.B9CITASf.js → fthry_index.ujHj1dvo.js} +1 -1
  34. package/cjs/{fthry_input.DjhEftHE.js → fthry_input.DDLPWCri.js} +1 -1
  35. package/cjs/{fthry_script.CEXFQk2h.js → fthry_script.Cw49lCOF.js} +1 -1
  36. package/cjs/{fthry_styles.twMOjtIt.js → fthry_styles.DyY_xRrD.js} +1 -1
  37. package/cjs/{fthry_useElementSize.CMss2qLc.js → fthry_useElementSize.B6qHp4zN.js} +1 -1
  38. package/cjs/{fthry_useSalesforceSync.GHaAu-dd.js → fthry_useSalesforceSync.DP3b2FKu.js} +1 -1
  39. package/cjs/{fthry_webfontloader.CZxQtgFm.js → fthry_webfontloader.CoyxhM39.js} +1 -1
  40. package/cjs/index.d.ts +1 -0
  41. package/cjs/index.d.ts.map +1 -1
  42. package/cjs/index.js +1 -1
  43. package/cjs/utils/eventQueue.d.ts +26 -0
  44. package/cjs/utils/eventQueue.d.ts.map +1 -0
  45. package/cjs/utils/featheryClient/index.d.ts +7 -0
  46. package/cjs/utils/featheryClient/index.d.ts.map +1 -1
  47. package/cjs/utils/formContext.d.ts +1 -0
  48. package/cjs/utils/formContext.d.ts.map +1 -1
  49. package/cjs/utils/internalState.d.ts +1 -0
  50. package/cjs/utils/internalState.d.ts.map +1 -1
  51. package/dist/Form/index.d.ts.map +1 -1
  52. package/dist/Form/logic.d.ts.map +1 -1
  53. package/dist/elements/fields/AddressLine1Field/index.d.ts.map +1 -1
  54. package/dist/{fthry_FormControl.BdmdMzA3.js → fthry_FormControl.pynS9Imy.js} +1 -1
  55. package/dist/{fthry_InlineTooltip.DRPooJGa.js → fthry_InlineTooltip.fbWGkrAv.js} +2 -2
  56. package/dist/{fthry_Overlay.DSfIRMWh.js → fthry_Overlay.ByTdlq1g.js} +1 -1
  57. package/dist/{fthry_PaymentMethodField.C2kDTnuL.js → fthry_PaymentMethodField.CPOf1iA4.js} +4 -4
  58. package/dist/{fthry_Placeholder.BYxBlfxe.js → fthry_Placeholder.DVLjngYh.js} +1 -1
  59. package/dist/{fthry_ShowEyeIcon.DcuxGpJk.js → fthry_ShowEyeIcon.Bp9QY90b.js} +1 -1
  60. package/dist/{fthry_index.DCKiab_1.js → fthry_index.252mvAiR.js} +3 -3
  61. package/dist/{fthry_index.CkEibXDT.js → fthry_index.8lndGH_r.js} +6 -6
  62. package/dist/{fthry_index.BD6daAle.js → fthry_index.An6X1bIc.js} +5 -5
  63. package/dist/{fthry_index.CCtbaItI.js → fthry_index.B0vwUF95.js} +5 -5
  64. package/dist/{fthry_index.DSkVpyvV.js → fthry_index.BPH2EnpZ.js} +1833 -45
  65. package/dist/{fthry_index.C0TSdYY1.js → fthry_index.BTzaBsCg.js} +1 -1
  66. package/dist/{fthry_index.4fMPrW44.js → fthry_index.BU4UE1sU.js} +4 -4
  67. package/dist/{fthry_index.BuGMpxqA.js → fthry_index.Ba9tRElL.js} +1 -1
  68. package/dist/{fthry_index.DkSTwhvF.js → fthry_index.BdCDxxfG.js} +1 -1
  69. package/dist/{fthry_index.uw0MJJ4F.js → fthry_index.BxQkJS7f.js} +1 -1
  70. package/dist/{fthry_index.BIkZtQJH.js → fthry_index.C1kFKyCH.js} +7 -6
  71. package/dist/{fthry_index.BXiUUqma.js → fthry_index.CFVO0drz.js} +2 -2
  72. package/dist/{fthry_index.DvV-_9rQ.js → fthry_index.CI18NEpR.js} +6 -6
  73. package/dist/{fthry_index.COrbe5-R.js → fthry_index.C_g49tb4.js} +8 -8
  74. package/dist/{fthry_index.D6uzSPi5.js → fthry_index.CcXjEG71.js} +5 -5
  75. package/dist/{fthry_index.CxYSZnO_.js → fthry_index.CxPrJCG7.js} +4 -4
  76. package/dist/{fthry_index.Cocw39qz.js → fthry_index.DMrogAPL.js} +1 -1
  77. package/dist/{fthry_index.B-bHDKSO.js → fthry_index.DsaDQSjY.js} +1 -1
  78. package/dist/{fthry_index.D9VkJYNy.js → fthry_index.Hf19u6bh.js} +3 -3
  79. package/dist/{fthry_index.DwzU97uW.js → fthry_index.Tay5ya9r.js} +4 -4
  80. package/dist/{fthry_index.Ox88biXC.js → fthry_index.XqetSJci.js} +1 -1
  81. package/dist/{fthry_index.BF_Plcr0.js → fthry_index.f_bJZ-Qj.js} +2 -2
  82. package/dist/{fthry_index.Cz1sN7j0.js → fthry_index.o4PxfOJO.js} +6 -6
  83. package/dist/{fthry_index.IjpiaOO-.js → fthry_index.uyi04ekt.js} +1 -1
  84. package/dist/{fthry_input.BJLJlGVj.js → fthry_input.BozedSiT.js} +1 -1
  85. package/dist/{fthry_script.BL_LvOsU.js → fthry_script.O8zBOlCA.js} +1 -1
  86. package/dist/{fthry_styles.Bgjx59v5.js → fthry_styles.BT0jpQ03.js} +1 -1
  87. package/dist/{fthry_useElementSize.COmxJss_.js → fthry_useElementSize.C9rdkcOU.js} +1 -1
  88. package/dist/{fthry_useSalesforceSync.BZM69NNS.js → fthry_useSalesforceSync.1klZ-qUM.js} +1 -1
  89. package/dist/{fthry_webfontloader.BonjOYue.js → fthry_webfontloader.CoDBzqSo.js} +1 -1
  90. package/dist/index.d.ts +1 -0
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +1 -1
  93. package/dist/utils/eventQueue.d.ts +26 -0
  94. package/dist/utils/eventQueue.d.ts.map +1 -0
  95. package/dist/utils/featheryClient/index.d.ts +7 -0
  96. package/dist/utils/featheryClient/index.d.ts.map +1 -1
  97. package/dist/utils/formContext.d.ts +1 -0
  98. package/dist/utils/formContext.d.ts.map +1 -1
  99. package/dist/utils/internalState.d.ts +1 -0
  100. package/dist/utils/internalState.d.ts.map +1 -1
  101. package/package.json +4 -3
  102. package/umd/{277.94ae8bf6190836d1dceb.js → 277.d9907ecd5dc2117c9171.js} +1 -1
  103. package/umd/{509.4236d4d76d2fa2ccd971.js → 509.341a4196aad912adb28d.js} +2 -2
  104. package/umd/{AddressField.3523efd23175117d47a5.js → AddressField.ec97334fe233830bc05b.js} +1 -1
  105. package/umd/index.js +1 -1
  106. /package/umd/{509.4236d4d76d2fa2ccd971.js.LICENSE.txt → 509.341a4196aad912adb28d.js.LICENSE.txt} +0 -0
@@ -655,7 +655,7 @@ function identifier (index) {
655
655
  * @return {object[]}
656
656
  */
657
657
  function compile (value) {
658
- return dealloc(parse$1('', null, null, null, [''], value = alloc(value), 0, [0], value))
658
+ return dealloc(parse$2('', null, null, null, [''], value = alloc(value), 0, [0], value))
659
659
  }
660
660
 
661
661
  /**
@@ -670,7 +670,7 @@ function compile (value) {
670
670
  * @param {string[]} declarations
671
671
  * @return {object}
672
672
  */
673
- function parse$1 (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {
673
+ function parse$2 (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {
674
674
  var index = 0;
675
675
  var offset = 0;
676
676
  var length = pseudo;
@@ -739,15 +739,15 @@ function parse$1 (value, root, parent, rule, rules, rulesets, pseudo, points, de
739
739
 
740
740
  if (character === 123)
741
741
  if (offset === 0)
742
- parse$1(characters, root, reference, reference, props, rulesets, length, points, children);
742
+ parse$2(characters, root, reference, reference, props, rulesets, length, points, children);
743
743
  else
744
744
  switch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {
745
745
  // d l m s
746
746
  case 100: case 108: case 109: case 115:
747
- parse$1(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children);
747
+ parse$2(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children);
748
748
  break
749
749
  default:
750
- parse$1(characters, reference, reference, reference, [''], children, 0, points, children);
750
+ parse$2(characters, reference, reference, reference, [''], children, 0, points, children);
751
751
  }
752
752
  }
753
753
 
@@ -22302,9 +22302,7 @@ var getFormContext = function (formUuid) {
22302
22302
  return [2 /*return*/, formState.runAIExtraction(extractionId, options, pages)];
22303
22303
  }); });
22304
22304
  },
22305
- forwardInboxEmail: function (options) {
22306
- return formState.forwardInboxEmail(options);
22307
- },
22305
+ forwardInboxEmail: function (options) { return formState.forwardInboxEmail(options); },
22308
22306
  setCalendlyUrl: function (url) { return formState.setCalendlyUrl(url); },
22309
22307
  applyAlloyJourney: function (journeyToken, entities) {
22310
22308
  return formState.client.alloyJourneyApplication(journeyToken, entities);
@@ -35631,10 +35629,1637 @@ Parser.acorn = {
35631
35629
  //
35632
35630
  // [estree]: https://github.com/estree/estree
35633
35631
 
35634
- function parse(input, options) {
35632
+ function parse$1(input, options) {
35635
35633
  return Parser.parse(input, options)
35636
35634
  }
35637
35635
 
35636
+ var dummyValue = "✖";
35637
+
35638
+ function isDummy(node) { return node.name === dummyValue }
35639
+
35640
+ function noop() {}
35641
+
35642
+ var LooseParser = function LooseParser(input, options) {
35643
+ if ( options === void 0 ) options = {};
35644
+
35645
+ this.toks = this.constructor.BaseParser.tokenizer(input, options);
35646
+ this.options = this.toks.options;
35647
+ this.input = this.toks.input;
35648
+ this.tok = this.last = {type: types$1.eof, start: 0, end: 0};
35649
+ this.tok.validateRegExpFlags = noop;
35650
+ this.tok.validateRegExpPattern = noop;
35651
+ if (this.options.locations) {
35652
+ var here = this.toks.curPosition();
35653
+ this.tok.loc = new SourceLocation(this.toks, here, here);
35654
+ }
35655
+ this.ahead = []; // Tokens ahead
35656
+ this.context = []; // Indentation contexted
35657
+ this.curIndent = 0;
35658
+ this.curLineStart = 0;
35659
+ this.nextLineStart = this.lineEnd(this.curLineStart) + 1;
35660
+ this.inAsync = false;
35661
+ this.inGenerator = false;
35662
+ this.inFunction = false;
35663
+ };
35664
+
35665
+ LooseParser.prototype.startNode = function startNode () {
35666
+ return new Node(this.toks, this.tok.start, this.options.locations ? this.tok.loc.start : null)
35667
+ };
35668
+
35669
+ LooseParser.prototype.storeCurrentPos = function storeCurrentPos () {
35670
+ return this.options.locations ? [this.tok.start, this.tok.loc.start] : this.tok.start
35671
+ };
35672
+
35673
+ LooseParser.prototype.startNodeAt = function startNodeAt (pos) {
35674
+ if (this.options.locations) {
35675
+ return new Node(this.toks, pos[0], pos[1])
35676
+ } else {
35677
+ return new Node(this.toks, pos)
35678
+ }
35679
+ };
35680
+
35681
+ LooseParser.prototype.finishNode = function finishNode (node, type) {
35682
+ node.type = type;
35683
+ node.end = this.last.end;
35684
+ if (this.options.locations)
35685
+ { node.loc.end = this.last.loc.end; }
35686
+ if (this.options.ranges)
35687
+ { node.range[1] = this.last.end; }
35688
+ return node
35689
+ };
35690
+
35691
+ LooseParser.prototype.dummyNode = function dummyNode (type) {
35692
+ var dummy = this.startNode();
35693
+ dummy.type = type;
35694
+ dummy.end = dummy.start;
35695
+ if (this.options.locations)
35696
+ { dummy.loc.end = dummy.loc.start; }
35697
+ if (this.options.ranges)
35698
+ { dummy.range[1] = dummy.start; }
35699
+ this.last = {type: types$1.name, start: dummy.start, end: dummy.start, loc: dummy.loc};
35700
+ return dummy
35701
+ };
35702
+
35703
+ LooseParser.prototype.dummyIdent = function dummyIdent () {
35704
+ var dummy = this.dummyNode("Identifier");
35705
+ dummy.name = dummyValue;
35706
+ return dummy
35707
+ };
35708
+
35709
+ LooseParser.prototype.dummyString = function dummyString () {
35710
+ var dummy = this.dummyNode("Literal");
35711
+ dummy.value = dummy.raw = dummyValue;
35712
+ return dummy
35713
+ };
35714
+
35715
+ LooseParser.prototype.eat = function eat (type) {
35716
+ if (this.tok.type === type) {
35717
+ this.next();
35718
+ return true
35719
+ } else {
35720
+ return false
35721
+ }
35722
+ };
35723
+
35724
+ LooseParser.prototype.isContextual = function isContextual (name) {
35725
+ return this.tok.type === types$1.name && this.tok.value === name
35726
+ };
35727
+
35728
+ LooseParser.prototype.eatContextual = function eatContextual (name) {
35729
+ return this.tok.value === name && this.eat(types$1.name)
35730
+ };
35731
+
35732
+ LooseParser.prototype.canInsertSemicolon = function canInsertSemicolon () {
35733
+ return this.tok.type === types$1.eof || this.tok.type === types$1.braceR ||
35734
+ lineBreak.test(this.input.slice(this.last.end, this.tok.start))
35735
+ };
35736
+
35737
+ LooseParser.prototype.semicolon = function semicolon () {
35738
+ return this.eat(types$1.semi)
35739
+ };
35740
+
35741
+ LooseParser.prototype.expect = function expect (type) {
35742
+ if (this.eat(type)) { return true }
35743
+ for (var i = 1; i <= 2; i++) {
35744
+ if (this.lookAhead(i).type === type) {
35745
+ for (var j = 0; j < i; j++) { this.next(); }
35746
+ return true
35747
+ }
35748
+ }
35749
+ };
35750
+
35751
+ LooseParser.prototype.pushCx = function pushCx () {
35752
+ this.context.push(this.curIndent);
35753
+ };
35754
+
35755
+ LooseParser.prototype.popCx = function popCx () {
35756
+ this.curIndent = this.context.pop();
35757
+ };
35758
+
35759
+ LooseParser.prototype.lineEnd = function lineEnd (pos) {
35760
+ while (pos < this.input.length && !isNewLine(this.input.charCodeAt(pos))) { ++pos; }
35761
+ return pos
35762
+ };
35763
+
35764
+ LooseParser.prototype.indentationAfter = function indentationAfter (pos) {
35765
+ for (var count = 0;; ++pos) {
35766
+ var ch = this.input.charCodeAt(pos);
35767
+ if (ch === 32) { ++count; }
35768
+ else if (ch === 9) { count += this.options.tabSize; }
35769
+ else { return count }
35770
+ }
35771
+ };
35772
+
35773
+ LooseParser.prototype.closes = function closes (closeTok, indent, line, blockHeuristic) {
35774
+ if (this.tok.type === closeTok || this.tok.type === types$1.eof) { return true }
35775
+ return line !== this.curLineStart && this.curIndent < indent && this.tokenStartsLine() &&
35776
+ (!blockHeuristic || this.nextLineStart >= this.input.length ||
35777
+ this.indentationAfter(this.nextLineStart) < indent)
35778
+ };
35779
+
35780
+ LooseParser.prototype.tokenStartsLine = function tokenStartsLine () {
35781
+ for (var p = this.tok.start - 1; p >= this.curLineStart; --p) {
35782
+ var ch = this.input.charCodeAt(p);
35783
+ if (ch !== 9 && ch !== 32) { return false }
35784
+ }
35785
+ return true
35786
+ };
35787
+
35788
+ LooseParser.prototype.extend = function extend (name, f) {
35789
+ this[name] = f(this[name]);
35790
+ };
35791
+
35792
+ LooseParser.prototype.parse = function parse () {
35793
+ this.next();
35794
+ return this.parseTopLevel()
35795
+ };
35796
+
35797
+ LooseParser.extend = function extend () {
35798
+ var plugins = [], len = arguments.length;
35799
+ while ( len-- ) plugins[ len ] = arguments[ len ];
35800
+
35801
+ var cls = this;
35802
+ for (var i = 0; i < plugins.length; i++) { cls = plugins[i](cls); }
35803
+ return cls
35804
+ };
35805
+
35806
+ LooseParser.parse = function parse (input, options) {
35807
+ return new this(input, options).parse()
35808
+ };
35809
+
35810
+ // Allows plugins to extend the base parser / tokenizer used
35811
+ LooseParser.BaseParser = Parser;
35812
+
35813
+ var lp$2 = LooseParser.prototype;
35814
+
35815
+ function isSpace(ch) {
35816
+ return (ch < 14 && ch > 8) || ch === 32 || ch === 160 || isNewLine(ch)
35817
+ }
35818
+
35819
+ lp$2.next = function() {
35820
+ this.last = this.tok;
35821
+ if (this.ahead.length)
35822
+ { this.tok = this.ahead.shift(); }
35823
+ else
35824
+ { this.tok = this.readToken(); }
35825
+
35826
+ if (this.tok.start >= this.nextLineStart) {
35827
+ while (this.tok.start >= this.nextLineStart) {
35828
+ this.curLineStart = this.nextLineStart;
35829
+ this.nextLineStart = this.lineEnd(this.curLineStart) + 1;
35830
+ }
35831
+ this.curIndent = this.indentationAfter(this.curLineStart);
35832
+ }
35833
+ };
35834
+
35835
+ lp$2.readToken = function() {
35836
+ for (;;) {
35837
+ try {
35838
+ this.toks.next();
35839
+ if (this.toks.type === types$1.dot &&
35840
+ this.input.substr(this.toks.end, 1) === "." &&
35841
+ this.options.ecmaVersion >= 6) {
35842
+ this.toks.end++;
35843
+ this.toks.type = types$1.ellipsis;
35844
+ }
35845
+ return new Token(this.toks)
35846
+ } catch (e) {
35847
+ if (!(e instanceof SyntaxError)) { throw e }
35848
+
35849
+ // Try to skip some text, based on the error message, and then continue
35850
+ var msg = e.message, pos = e.raisedAt, replace = true;
35851
+ if (/unterminated/i.test(msg)) {
35852
+ pos = this.lineEnd(e.pos + 1);
35853
+ if (/string/.test(msg)) {
35854
+ replace = {start: e.pos, end: pos, type: types$1.string, value: this.input.slice(e.pos + 1, pos)};
35855
+ } else if (/regular expr/i.test(msg)) {
35856
+ var re = this.input.slice(e.pos, pos);
35857
+ try { re = new RegExp(re); } catch (e$1) { /* ignore compilation error due to new syntax */ }
35858
+ replace = {start: e.pos, end: pos, type: types$1.regexp, value: re};
35859
+ } else if (/template/.test(msg)) {
35860
+ replace = {
35861
+ start: e.pos,
35862
+ end: pos,
35863
+ type: types$1.template,
35864
+ value: this.input.slice(e.pos, pos)
35865
+ };
35866
+ } else {
35867
+ replace = false;
35868
+ }
35869
+ } else if (/invalid (unicode|regexp|number)|expecting unicode|octal literal|is reserved|directly after number|expected number in radix|numeric separator/i.test(msg)) {
35870
+ while (pos < this.input.length && !isSpace(this.input.charCodeAt(pos))) { ++pos; }
35871
+ } else if (/character escape|expected hexadecimal/i.test(msg)) {
35872
+ while (pos < this.input.length) {
35873
+ var ch = this.input.charCodeAt(pos++);
35874
+ if (ch === 34 || ch === 39 || isNewLine(ch)) { break }
35875
+ }
35876
+ } else if (/unexpected character/i.test(msg)) {
35877
+ pos++;
35878
+ replace = false;
35879
+ } else if (/regular expression/i.test(msg)) {
35880
+ replace = true;
35881
+ } else {
35882
+ throw e
35883
+ }
35884
+ this.resetTo(pos);
35885
+ if (replace === true) { replace = {start: pos, end: pos, type: types$1.name, value: dummyValue}; }
35886
+ if (replace) {
35887
+ if (this.options.locations)
35888
+ { replace.loc = new SourceLocation(
35889
+ this.toks,
35890
+ getLineInfo(this.input, replace.start),
35891
+ getLineInfo(this.input, replace.end)); }
35892
+ return replace
35893
+ }
35894
+ }
35895
+ }
35896
+ };
35897
+
35898
+ lp$2.resetTo = function(pos) {
35899
+ this.toks.pos = pos;
35900
+ this.toks.containsEsc = false;
35901
+ var ch = this.input.charAt(pos - 1);
35902
+ this.toks.exprAllowed = !ch || /[[{(,;:?/*=+\-~!|&%^<>]/.test(ch) ||
35903
+ /[enwfd]/.test(ch) &&
35904
+ /\b(case|else|return|throw|new|in|(instance|type)?of|delete|void)$/.test(this.input.slice(pos - 10, pos));
35905
+
35906
+ if (this.options.locations) {
35907
+ this.toks.curLine = 1;
35908
+ this.toks.lineStart = lineBreakG.lastIndex = 0;
35909
+ var match;
35910
+ while ((match = lineBreakG.exec(this.input)) && match.index < pos) {
35911
+ ++this.toks.curLine;
35912
+ this.toks.lineStart = match.index + match[0].length;
35913
+ }
35914
+ }
35915
+ };
35916
+
35917
+ lp$2.lookAhead = function(n) {
35918
+ while (n > this.ahead.length)
35919
+ { this.ahead.push(this.readToken()); }
35920
+ return this.ahead[n - 1]
35921
+ };
35922
+
35923
+ var lp$1 = LooseParser.prototype;
35924
+
35925
+ lp$1.parseTopLevel = function() {
35926
+ var node = this.startNodeAt(this.options.locations ? [0, getLineInfo(this.input, 0)] : 0);
35927
+ node.body = [];
35928
+ while (this.tok.type !== types$1.eof) { node.body.push(this.parseStatement()); }
35929
+ this.toks.adaptDirectivePrologue(node.body);
35930
+ this.last = this.tok;
35931
+ node.sourceType = this.options.sourceType === "commonjs" ? "script" : this.options.sourceType;
35932
+ return this.finishNode(node, "Program")
35933
+ };
35934
+
35935
+ lp$1.parseStatement = function() {
35936
+ var starttype = this.tok.type, node = this.startNode(), kind;
35937
+
35938
+ if (this.toks.isLet()) {
35939
+ starttype = types$1._var;
35940
+ kind = "let";
35941
+ }
35942
+
35943
+ switch (starttype) {
35944
+ case types$1._break: case types$1._continue:
35945
+ this.next();
35946
+ var isBreak = starttype === types$1._break;
35947
+ if (this.semicolon() || this.canInsertSemicolon()) {
35948
+ node.label = null;
35949
+ } else {
35950
+ node.label = this.tok.type === types$1.name ? this.parseIdent() : null;
35951
+ this.semicolon();
35952
+ }
35953
+ return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement")
35954
+
35955
+ case types$1._debugger:
35956
+ this.next();
35957
+ this.semicolon();
35958
+ return this.finishNode(node, "DebuggerStatement")
35959
+
35960
+ case types$1._do:
35961
+ this.next();
35962
+ node.body = this.parseStatement();
35963
+ node.test = this.eat(types$1._while) ? this.parseParenExpression() : this.dummyIdent();
35964
+ this.semicolon();
35965
+ return this.finishNode(node, "DoWhileStatement")
35966
+
35967
+ case types$1._for:
35968
+ this.next(); // `for` keyword
35969
+ var isAwait = this.options.ecmaVersion >= 9 && this.eatContextual("await");
35970
+
35971
+ this.pushCx();
35972
+ this.expect(types$1.parenL);
35973
+ if (this.tok.type === types$1.semi) { return this.parseFor(node, null) }
35974
+ var isLet = this.toks.isLet();
35975
+ var isAwaitUsing = this.toks.isAwaitUsing(true);
35976
+ var isUsing = !isAwaitUsing && this.toks.isUsing(true);
35977
+
35978
+ if (isLet || this.tok.type === types$1._var || this.tok.type === types$1._const || isUsing || isAwaitUsing) {
35979
+ var kind$1 = isLet ? "let" : isUsing ? "using" : isAwaitUsing ? "await using" : this.tok.value;
35980
+ var init$1 = this.startNode();
35981
+ if (isUsing || isAwaitUsing) {
35982
+ if (isAwaitUsing) { this.next(); }
35983
+ this.parseVar(init$1, true, kind$1);
35984
+ } else {
35985
+ init$1 = this.parseVar(init$1, true, kind$1);
35986
+ }
35987
+
35988
+ if (init$1.declarations.length === 1 && (this.tok.type === types$1._in || this.isContextual("of"))) {
35989
+ if (this.options.ecmaVersion >= 9 && this.tok.type !== types$1._in) {
35990
+ node.await = isAwait;
35991
+ }
35992
+ return this.parseForIn(node, init$1)
35993
+ }
35994
+ return this.parseFor(node, init$1)
35995
+ }
35996
+ var init = this.parseExpression(true);
35997
+ if (this.tok.type === types$1._in || this.isContextual("of")) {
35998
+ if (this.options.ecmaVersion >= 9 && this.tok.type !== types$1._in) {
35999
+ node.await = isAwait;
36000
+ }
36001
+ return this.parseForIn(node, this.toAssignable(init))
36002
+ }
36003
+ return this.parseFor(node, init)
36004
+
36005
+ case types$1._function:
36006
+ this.next();
36007
+ return this.parseFunction(node, true)
36008
+
36009
+ case types$1._if:
36010
+ this.next();
36011
+ node.test = this.parseParenExpression();
36012
+ node.consequent = this.parseStatement();
36013
+ node.alternate = this.eat(types$1._else) ? this.parseStatement() : null;
36014
+ return this.finishNode(node, "IfStatement")
36015
+
36016
+ case types$1._return:
36017
+ this.next();
36018
+ if (this.eat(types$1.semi) || this.canInsertSemicolon()) { node.argument = null; }
36019
+ else { node.argument = this.parseExpression(); this.semicolon(); }
36020
+ return this.finishNode(node, "ReturnStatement")
36021
+
36022
+ case types$1._switch:
36023
+ var blockIndent = this.curIndent, line = this.curLineStart;
36024
+ this.next();
36025
+ node.discriminant = this.parseParenExpression();
36026
+ node.cases = [];
36027
+ this.pushCx();
36028
+ this.expect(types$1.braceL);
36029
+
36030
+ var cur;
36031
+ while (!this.closes(types$1.braceR, blockIndent, line, true)) {
36032
+ if (this.tok.type === types$1._case || this.tok.type === types$1._default) {
36033
+ var isCase = this.tok.type === types$1._case;
36034
+ if (cur) { this.finishNode(cur, "SwitchCase"); }
36035
+ node.cases.push(cur = this.startNode());
36036
+ cur.consequent = [];
36037
+ this.next();
36038
+ if (isCase) { cur.test = this.parseExpression(); }
36039
+ else { cur.test = null; }
36040
+ this.expect(types$1.colon);
36041
+ } else {
36042
+ if (!cur) {
36043
+ node.cases.push(cur = this.startNode());
36044
+ cur.consequent = [];
36045
+ cur.test = null;
36046
+ }
36047
+ cur.consequent.push(this.parseStatement());
36048
+ }
36049
+ }
36050
+ if (cur) { this.finishNode(cur, "SwitchCase"); }
36051
+ this.popCx();
36052
+ this.eat(types$1.braceR);
36053
+ return this.finishNode(node, "SwitchStatement")
36054
+
36055
+ case types$1._throw:
36056
+ this.next();
36057
+ node.argument = this.parseExpression();
36058
+ this.semicolon();
36059
+ return this.finishNode(node, "ThrowStatement")
36060
+
36061
+ case types$1._try:
36062
+ this.next();
36063
+ node.block = this.parseBlock();
36064
+ node.handler = null;
36065
+ if (this.tok.type === types$1._catch) {
36066
+ var clause = this.startNode();
36067
+ this.next();
36068
+ if (this.eat(types$1.parenL)) {
36069
+ clause.param = this.toAssignable(this.parseExprAtom(), true);
36070
+ this.expect(types$1.parenR);
36071
+ } else {
36072
+ clause.param = null;
36073
+ }
36074
+ clause.body = this.parseBlock();
36075
+ node.handler = this.finishNode(clause, "CatchClause");
36076
+ }
36077
+ node.finalizer = this.eat(types$1._finally) ? this.parseBlock() : null;
36078
+ if (!node.handler && !node.finalizer) { return node.block }
36079
+ return this.finishNode(node, "TryStatement")
36080
+
36081
+ case types$1._var:
36082
+ case types$1._const:
36083
+ return this.parseVar(node, false, kind || this.tok.value)
36084
+
36085
+ case types$1._while:
36086
+ this.next();
36087
+ node.test = this.parseParenExpression();
36088
+ node.body = this.parseStatement();
36089
+ return this.finishNode(node, "WhileStatement")
36090
+
36091
+ case types$1._with:
36092
+ this.next();
36093
+ node.object = this.parseParenExpression();
36094
+ node.body = this.parseStatement();
36095
+ return this.finishNode(node, "WithStatement")
36096
+
36097
+ case types$1.braceL:
36098
+ return this.parseBlock()
36099
+
36100
+ case types$1.semi:
36101
+ this.next();
36102
+ return this.finishNode(node, "EmptyStatement")
36103
+
36104
+ case types$1._class:
36105
+ return this.parseClass(true)
36106
+
36107
+ case types$1._import:
36108
+ if (this.options.ecmaVersion > 10) {
36109
+ var nextType = this.lookAhead(1).type;
36110
+ if (nextType === types$1.parenL || nextType === types$1.dot) {
36111
+ node.expression = this.parseExpression();
36112
+ this.semicolon();
36113
+ return this.finishNode(node, "ExpressionStatement")
36114
+ }
36115
+ }
36116
+
36117
+ return this.parseImport()
36118
+
36119
+ case types$1._export:
36120
+ return this.parseExport()
36121
+
36122
+ default:
36123
+ if (this.toks.isAsyncFunction()) {
36124
+ this.next();
36125
+ this.next();
36126
+ return this.parseFunction(node, true, true)
36127
+ }
36128
+
36129
+ if (this.toks.isUsing(false)) {
36130
+ return this.parseVar(node, false, "using")
36131
+ }
36132
+
36133
+ if (this.toks.isAwaitUsing(false)) {
36134
+ this.next();
36135
+ return this.parseVar(node, false, "await using")
36136
+ }
36137
+
36138
+ var expr = this.parseExpression();
36139
+ if (isDummy(expr)) {
36140
+ this.next();
36141
+ if (this.tok.type === types$1.eof) { return this.finishNode(node, "EmptyStatement") }
36142
+ return this.parseStatement()
36143
+ } else if (starttype === types$1.name && expr.type === "Identifier" && this.eat(types$1.colon)) {
36144
+ node.body = this.parseStatement();
36145
+ node.label = expr;
36146
+ return this.finishNode(node, "LabeledStatement")
36147
+ } else {
36148
+ node.expression = expr;
36149
+ this.semicolon();
36150
+ return this.finishNode(node, "ExpressionStatement")
36151
+ }
36152
+ }
36153
+ };
36154
+
36155
+ lp$1.parseBlock = function() {
36156
+ var node = this.startNode();
36157
+ this.pushCx();
36158
+ this.expect(types$1.braceL);
36159
+ var blockIndent = this.curIndent, line = this.curLineStart;
36160
+ node.body = [];
36161
+ while (!this.closes(types$1.braceR, blockIndent, line, true))
36162
+ { node.body.push(this.parseStatement()); }
36163
+ this.popCx();
36164
+ this.eat(types$1.braceR);
36165
+ return this.finishNode(node, "BlockStatement")
36166
+ };
36167
+
36168
+ lp$1.parseFor = function(node, init) {
36169
+ node.init = init;
36170
+ node.test = node.update = null;
36171
+ if (this.eat(types$1.semi) && this.tok.type !== types$1.semi) { node.test = this.parseExpression(); }
36172
+ if (this.eat(types$1.semi) && this.tok.type !== types$1.parenR) { node.update = this.parseExpression(); }
36173
+ this.popCx();
36174
+ this.expect(types$1.parenR);
36175
+ node.body = this.parseStatement();
36176
+ return this.finishNode(node, "ForStatement")
36177
+ };
36178
+
36179
+ lp$1.parseForIn = function(node, init) {
36180
+ var type = this.tok.type === types$1._in ? "ForInStatement" : "ForOfStatement";
36181
+ this.next();
36182
+ node.left = init;
36183
+ node.right = this.parseExpression();
36184
+ this.popCx();
36185
+ this.expect(types$1.parenR);
36186
+ node.body = this.parseStatement();
36187
+ return this.finishNode(node, type)
36188
+ };
36189
+
36190
+ lp$1.parseVar = function(node, noIn, kind) {
36191
+ node.kind = kind;
36192
+ this.next();
36193
+ node.declarations = [];
36194
+ do {
36195
+ var decl = this.startNode();
36196
+ decl.id = this.options.ecmaVersion >= 6 ? this.toAssignable(this.parseExprAtom(), true) : this.parseIdent();
36197
+ decl.init = this.eat(types$1.eq) ? this.parseMaybeAssign(noIn) : null;
36198
+ node.declarations.push(this.finishNode(decl, "VariableDeclarator"));
36199
+ } while (this.eat(types$1.comma))
36200
+ if (!node.declarations.length) {
36201
+ var decl$1 = this.startNode();
36202
+ decl$1.id = this.dummyIdent();
36203
+ node.declarations.push(this.finishNode(decl$1, "VariableDeclarator"));
36204
+ }
36205
+ if (!noIn) { this.semicolon(); }
36206
+ return this.finishNode(node, "VariableDeclaration")
36207
+ };
36208
+
36209
+ lp$1.parseClass = function(isStatement) {
36210
+ var node = this.startNode();
36211
+ this.next();
36212
+ if (this.tok.type === types$1.name) { node.id = this.parseIdent(); }
36213
+ else if (isStatement === true) { node.id = this.dummyIdent(); }
36214
+ else { node.id = null; }
36215
+ node.superClass = this.eat(types$1._extends) ? this.parseExpression() : null;
36216
+ node.body = this.startNode();
36217
+ node.body.body = [];
36218
+ this.pushCx();
36219
+ var indent = this.curIndent + 1, line = this.curLineStart;
36220
+ this.eat(types$1.braceL);
36221
+ if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart; }
36222
+ while (!this.closes(types$1.braceR, indent, line)) {
36223
+ var element = this.parseClassElement();
36224
+ if (element) { node.body.body.push(element); }
36225
+ }
36226
+ this.popCx();
36227
+ if (!this.eat(types$1.braceR)) {
36228
+ // If there is no closing brace, make the node span to the start
36229
+ // of the next token (this is useful for Tern)
36230
+ this.last.end = this.tok.start;
36231
+ if (this.options.locations) { this.last.loc.end = this.tok.loc.start; }
36232
+ }
36233
+ this.semicolon();
36234
+ this.finishNode(node.body, "ClassBody");
36235
+ return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression")
36236
+ };
36237
+
36238
+ lp$1.parseClassElement = function() {
36239
+ if (this.eat(types$1.semi)) { return null }
36240
+
36241
+ var ref = this.options;
36242
+ var ecmaVersion = ref.ecmaVersion;
36243
+ var locations = ref.locations;
36244
+ var indent = this.curIndent;
36245
+ var line = this.curLineStart;
36246
+ var node = this.startNode();
36247
+ var keyName = "";
36248
+ var isGenerator = false;
36249
+ var isAsync = false;
36250
+ var kind = "method";
36251
+ var isStatic = false;
36252
+
36253
+ if (this.eatContextual("static")) {
36254
+ // Parse static init block
36255
+ if (ecmaVersion >= 13 && this.eat(types$1.braceL)) {
36256
+ this.parseClassStaticBlock(node);
36257
+ return node
36258
+ }
36259
+ if (this.isClassElementNameStart() || this.toks.type === types$1.star) {
36260
+ isStatic = true;
36261
+ } else {
36262
+ keyName = "static";
36263
+ }
36264
+ }
36265
+ node.static = isStatic;
36266
+ if (!keyName && ecmaVersion >= 8 && this.eatContextual("async")) {
36267
+ if ((this.isClassElementNameStart() || this.toks.type === types$1.star) && !this.canInsertSemicolon()) {
36268
+ isAsync = true;
36269
+ } else {
36270
+ keyName = "async";
36271
+ }
36272
+ }
36273
+ if (!keyName) {
36274
+ isGenerator = this.eat(types$1.star);
36275
+ var lastValue = this.toks.value;
36276
+ if (this.eatContextual("get") || this.eatContextual("set")) {
36277
+ if (this.isClassElementNameStart()) {
36278
+ kind = lastValue;
36279
+ } else {
36280
+ keyName = lastValue;
36281
+ }
36282
+ }
36283
+ }
36284
+
36285
+ // Parse element name
36286
+ if (keyName) {
36287
+ // 'async', 'get', 'set', or 'static' were not a keyword contextually.
36288
+ // The last token is any of those. Make it the element name.
36289
+ node.computed = false;
36290
+ node.key = this.startNodeAt(locations ? [this.toks.lastTokStart, this.toks.lastTokStartLoc] : this.toks.lastTokStart);
36291
+ node.key.name = keyName;
36292
+ this.finishNode(node.key, "Identifier");
36293
+ } else {
36294
+ this.parseClassElementName(node);
36295
+
36296
+ // From https://github.com/acornjs/acorn/blob/7deba41118d6384a2c498c61176b3cf434f69590/acorn-loose/src/statement.js#L291
36297
+ // Skip broken stuff.
36298
+ if (isDummy(node.key)) {
36299
+ if (isDummy(this.parseMaybeAssign())) { this.next(); }
36300
+ this.eat(types$1.comma);
36301
+ return null
36302
+ }
36303
+ }
36304
+
36305
+ // Parse element value
36306
+ if (ecmaVersion < 13 || this.toks.type === types$1.parenL || kind !== "method" || isGenerator || isAsync) {
36307
+ // Method
36308
+ var isConstructor =
36309
+ !node.computed &&
36310
+ !node.static &&
36311
+ !isGenerator &&
36312
+ !isAsync &&
36313
+ kind === "method" && (
36314
+ node.key.type === "Identifier" && node.key.name === "constructor" ||
36315
+ node.key.type === "Literal" && node.key.value === "constructor"
36316
+ );
36317
+ node.kind = isConstructor ? "constructor" : kind;
36318
+ node.value = this.parseMethod(isGenerator, isAsync);
36319
+ this.finishNode(node, "MethodDefinition");
36320
+ } else {
36321
+ // Field
36322
+ if (this.eat(types$1.eq)) {
36323
+ if (this.curLineStart !== line && this.curIndent <= indent && this.tokenStartsLine()) {
36324
+ // Estimated the next line is the next class element by indentations.
36325
+ node.value = null;
36326
+ } else {
36327
+ var oldInAsync = this.inAsync;
36328
+ var oldInGenerator = this.inGenerator;
36329
+ this.inAsync = false;
36330
+ this.inGenerator = false;
36331
+ node.value = this.parseMaybeAssign();
36332
+ this.inAsync = oldInAsync;
36333
+ this.inGenerator = oldInGenerator;
36334
+ }
36335
+ } else {
36336
+ node.value = null;
36337
+ }
36338
+ this.semicolon();
36339
+ this.finishNode(node, "PropertyDefinition");
36340
+ }
36341
+
36342
+ return node
36343
+ };
36344
+
36345
+ lp$1.parseClassStaticBlock = function(node) {
36346
+ var blockIndent = this.curIndent, line = this.curLineStart;
36347
+ node.body = [];
36348
+ this.pushCx();
36349
+ while (!this.closes(types$1.braceR, blockIndent, line, true))
36350
+ { node.body.push(this.parseStatement()); }
36351
+ this.popCx();
36352
+ this.eat(types$1.braceR);
36353
+
36354
+ return this.finishNode(node, "StaticBlock")
36355
+ };
36356
+
36357
+ lp$1.isClassElementNameStart = function() {
36358
+ return this.toks.isClassElementNameStart()
36359
+ };
36360
+
36361
+ lp$1.parseClassElementName = function(element) {
36362
+ if (this.toks.type === types$1.privateId) {
36363
+ element.computed = false;
36364
+ element.key = this.parsePrivateIdent();
36365
+ } else {
36366
+ this.parsePropertyName(element);
36367
+ }
36368
+ };
36369
+
36370
+ lp$1.parseFunction = function(node, isStatement, isAsync) {
36371
+ var oldInAsync = this.inAsync, oldInGenerator = this.inGenerator, oldInFunction = this.inFunction;
36372
+ this.initFunction(node);
36373
+ if (this.options.ecmaVersion >= 6) {
36374
+ node.generator = this.eat(types$1.star);
36375
+ }
36376
+ if (this.options.ecmaVersion >= 8) {
36377
+ node.async = !!isAsync;
36378
+ }
36379
+ if (this.tok.type === types$1.name) { node.id = this.parseIdent(); }
36380
+ else if (isStatement === true) { node.id = this.dummyIdent(); }
36381
+ this.inAsync = node.async;
36382
+ this.inGenerator = node.generator;
36383
+ this.inFunction = true;
36384
+ node.params = this.parseFunctionParams();
36385
+ node.body = this.parseBlock();
36386
+ this.toks.adaptDirectivePrologue(node.body.body);
36387
+ this.inAsync = oldInAsync;
36388
+ this.inGenerator = oldInGenerator;
36389
+ this.inFunction = oldInFunction;
36390
+ return this.finishNode(node, isStatement ? "FunctionDeclaration" : "FunctionExpression")
36391
+ };
36392
+
36393
+ lp$1.parseExport = function() {
36394
+ var node = this.startNode();
36395
+ this.next();
36396
+ if (this.eat(types$1.star)) {
36397
+ if (this.options.ecmaVersion >= 11) {
36398
+ if (this.eatContextual("as")) {
36399
+ node.exported = this.parseExprAtom();
36400
+ } else {
36401
+ node.exported = null;
36402
+ }
36403
+ }
36404
+ node.source = this.eatContextual("from") ? this.parseExprAtom() : this.dummyString();
36405
+ if (this.options.ecmaVersion >= 16)
36406
+ { node.attributes = this.parseWithClause(); }
36407
+ this.semicolon();
36408
+ return this.finishNode(node, "ExportAllDeclaration")
36409
+ }
36410
+ if (this.eat(types$1._default)) {
36411
+ // export default (function foo() {}) // This is FunctionExpression.
36412
+ var isAsync;
36413
+ if (this.tok.type === types$1._function || (isAsync = this.toks.isAsyncFunction())) {
36414
+ var fNode = this.startNode();
36415
+ this.next();
36416
+ if (isAsync) { this.next(); }
36417
+ node.declaration = this.parseFunction(fNode, "nullableID", isAsync);
36418
+ } else if (this.tok.type === types$1._class) {
36419
+ node.declaration = this.parseClass("nullableID");
36420
+ } else {
36421
+ node.declaration = this.parseMaybeAssign();
36422
+ this.semicolon();
36423
+ }
36424
+ return this.finishNode(node, "ExportDefaultDeclaration")
36425
+ }
36426
+ if (this.tok.type.keyword || this.toks.isLet() || this.toks.isAsyncFunction()) {
36427
+ node.declaration = this.parseStatement();
36428
+ node.specifiers = [];
36429
+ node.source = null;
36430
+ } else {
36431
+ node.declaration = null;
36432
+ node.specifiers = this.parseExportSpecifierList();
36433
+ node.source = this.eatContextual("from") ? this.parseExprAtom() : null;
36434
+ if (this.options.ecmaVersion >= 16)
36435
+ { node.attributes = this.parseWithClause(); }
36436
+ this.semicolon();
36437
+ }
36438
+ return this.finishNode(node, "ExportNamedDeclaration")
36439
+ };
36440
+
36441
+ lp$1.parseImport = function() {
36442
+ var node = this.startNode();
36443
+ this.next();
36444
+ if (this.tok.type === types$1.string) {
36445
+ node.specifiers = [];
36446
+ node.source = this.parseExprAtom();
36447
+ } else {
36448
+ var elt;
36449
+ if (this.tok.type === types$1.name && this.tok.value !== "from") {
36450
+ elt = this.startNode();
36451
+ elt.local = this.parseIdent();
36452
+ this.finishNode(elt, "ImportDefaultSpecifier");
36453
+ this.eat(types$1.comma);
36454
+ }
36455
+ node.specifiers = this.parseImportSpecifiers();
36456
+ node.source = this.eatContextual("from") && this.tok.type === types$1.string ? this.parseExprAtom() : this.dummyString();
36457
+ if (elt) { node.specifiers.unshift(elt); }
36458
+ }
36459
+ if (this.options.ecmaVersion >= 16)
36460
+ { node.attributes = this.parseWithClause(); }
36461
+ this.semicolon();
36462
+ return this.finishNode(node, "ImportDeclaration")
36463
+ };
36464
+
36465
+ lp$1.parseImportSpecifiers = function() {
36466
+ var elts = [];
36467
+ if (this.tok.type === types$1.star) {
36468
+ var elt = this.startNode();
36469
+ this.next();
36470
+ elt.local = this.eatContextual("as") ? this.parseIdent() : this.dummyIdent();
36471
+ elts.push(this.finishNode(elt, "ImportNamespaceSpecifier"));
36472
+ } else {
36473
+ var indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart;
36474
+ this.pushCx();
36475
+ this.eat(types$1.braceL);
36476
+ if (this.curLineStart > continuedLine) { continuedLine = this.curLineStart; }
36477
+ while (!this.closes(types$1.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {
36478
+ var elt$1 = this.startNode();
36479
+ if (this.eat(types$1.star)) {
36480
+ elt$1.local = this.eatContextual("as") ? this.parseModuleExportName() : this.dummyIdent();
36481
+ this.finishNode(elt$1, "ImportNamespaceSpecifier");
36482
+ } else {
36483
+ if (this.isContextual("from")) { break }
36484
+ elt$1.imported = this.parseModuleExportName();
36485
+ if (isDummy(elt$1.imported)) { break }
36486
+ elt$1.local = this.eatContextual("as") ? this.parseModuleExportName() : elt$1.imported;
36487
+ this.finishNode(elt$1, "ImportSpecifier");
36488
+ }
36489
+ elts.push(elt$1);
36490
+ this.eat(types$1.comma);
36491
+ }
36492
+ this.eat(types$1.braceR);
36493
+ this.popCx();
36494
+ }
36495
+ return elts
36496
+ };
36497
+
36498
+ lp$1.parseWithClause = function() {
36499
+ var nodes = [];
36500
+ if (!this.eat(types$1._with)) {
36501
+ return nodes
36502
+ }
36503
+
36504
+ var indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart;
36505
+ this.pushCx();
36506
+ this.eat(types$1.braceL);
36507
+ if (this.curLineStart > continuedLine) { continuedLine = this.curLineStart; }
36508
+ while (!this.closes(types$1.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {
36509
+ var attr = this.startNode();
36510
+ attr.key = this.tok.type === types$1.string ? this.parseExprAtom() : this.parseIdent();
36511
+ if (this.eat(types$1.colon)) {
36512
+ if (this.tok.type === types$1.string)
36513
+ { attr.value = this.parseExprAtom(); }
36514
+ else { attr.value = this.dummyString(); }
36515
+ } else {
36516
+ if (isDummy(attr.key)) { break }
36517
+ if (this.tok.type === types$1.string)
36518
+ { attr.value = this.parseExprAtom(); }
36519
+ else { break }
36520
+ }
36521
+ nodes.push(this.finishNode(attr, "ImportAttribute"));
36522
+ this.eat(types$1.comma);
36523
+ }
36524
+ this.eat(types$1.braceR);
36525
+ this.popCx();
36526
+ return nodes
36527
+ };
36528
+
36529
+ lp$1.parseExportSpecifierList = function() {
36530
+ var elts = [];
36531
+ var indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart;
36532
+ this.pushCx();
36533
+ this.eat(types$1.braceL);
36534
+ if (this.curLineStart > continuedLine) { continuedLine = this.curLineStart; }
36535
+ while (!this.closes(types$1.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {
36536
+ if (this.isContextual("from")) { break }
36537
+ var elt = this.startNode();
36538
+ elt.local = this.parseModuleExportName();
36539
+ if (isDummy(elt.local)) { break }
36540
+ elt.exported = this.eatContextual("as") ? this.parseModuleExportName() : elt.local;
36541
+ this.finishNode(elt, "ExportSpecifier");
36542
+ elts.push(elt);
36543
+ this.eat(types$1.comma);
36544
+ }
36545
+ this.eat(types$1.braceR);
36546
+ this.popCx();
36547
+ return elts
36548
+ };
36549
+
36550
+ lp$1.parseModuleExportName = function() {
36551
+ return this.options.ecmaVersion >= 13 && this.tok.type === types$1.string
36552
+ ? this.parseExprAtom()
36553
+ : this.parseIdent()
36554
+ };
36555
+
36556
+ var lp = LooseParser.prototype;
36557
+
36558
+ lp.checkLVal = function(expr) {
36559
+ if (!expr) { return expr }
36560
+ switch (expr.type) {
36561
+ case "Identifier":
36562
+ case "MemberExpression":
36563
+ return expr
36564
+
36565
+ case "ParenthesizedExpression":
36566
+ expr.expression = this.checkLVal(expr.expression);
36567
+ return expr
36568
+
36569
+ default:
36570
+ return this.dummyIdent()
36571
+ }
36572
+ };
36573
+
36574
+ lp.parseExpression = function(noIn) {
36575
+ var start = this.storeCurrentPos();
36576
+ var expr = this.parseMaybeAssign(noIn);
36577
+ if (this.tok.type === types$1.comma) {
36578
+ var node = this.startNodeAt(start);
36579
+ node.expressions = [expr];
36580
+ while (this.eat(types$1.comma)) { node.expressions.push(this.parseMaybeAssign(noIn)); }
36581
+ return this.finishNode(node, "SequenceExpression")
36582
+ }
36583
+ return expr
36584
+ };
36585
+
36586
+ lp.parseParenExpression = function() {
36587
+ this.pushCx();
36588
+ this.expect(types$1.parenL);
36589
+ var val = this.parseExpression();
36590
+ this.popCx();
36591
+ this.expect(types$1.parenR);
36592
+ return val
36593
+ };
36594
+
36595
+ lp.parseMaybeAssign = function(noIn) {
36596
+ // `yield` should be an identifier reference if it's not in generator functions.
36597
+ if (this.inGenerator && this.toks.isContextual("yield")) {
36598
+ var node = this.startNode();
36599
+ this.next();
36600
+ if (this.semicolon() || this.canInsertSemicolon() || (this.tok.type !== types$1.star && !this.tok.type.startsExpr)) {
36601
+ node.delegate = false;
36602
+ node.argument = null;
36603
+ } else {
36604
+ node.delegate = this.eat(types$1.star);
36605
+ node.argument = this.parseMaybeAssign();
36606
+ }
36607
+ return this.finishNode(node, "YieldExpression")
36608
+ }
36609
+
36610
+ var start = this.storeCurrentPos();
36611
+ var left = this.parseMaybeConditional(noIn);
36612
+ if (this.tok.type.isAssign) {
36613
+ var node$1 = this.startNodeAt(start);
36614
+ node$1.operator = this.tok.value;
36615
+ node$1.left = this.tok.type === types$1.eq ? this.toAssignable(left) : this.checkLVal(left);
36616
+ this.next();
36617
+ node$1.right = this.parseMaybeAssign(noIn);
36618
+ return this.finishNode(node$1, "AssignmentExpression")
36619
+ }
36620
+ return left
36621
+ };
36622
+
36623
+ lp.parseMaybeConditional = function(noIn) {
36624
+ var start = this.storeCurrentPos();
36625
+ var expr = this.parseExprOps(noIn);
36626
+ if (this.eat(types$1.question)) {
36627
+ var node = this.startNodeAt(start);
36628
+ node.test = expr;
36629
+ node.consequent = this.parseMaybeAssign();
36630
+ node.alternate = this.expect(types$1.colon) ? this.parseMaybeAssign(noIn) : this.dummyIdent();
36631
+ return this.finishNode(node, "ConditionalExpression")
36632
+ }
36633
+ return expr
36634
+ };
36635
+
36636
+ lp.parseExprOps = function(noIn) {
36637
+ var start = this.storeCurrentPos();
36638
+ var indent = this.curIndent, line = this.curLineStart;
36639
+ return this.parseExprOp(this.parseMaybeUnary(false), start, -1, noIn, indent, line)
36640
+ };
36641
+
36642
+ lp.parseExprOp = function(left, start, minPrec, noIn, indent, line) {
36643
+ if (this.curLineStart !== line && this.curIndent < indent && this.tokenStartsLine()) { return left }
36644
+ var prec = this.tok.type.binop;
36645
+ if (prec != null && (!noIn || this.tok.type !== types$1._in)) {
36646
+ if (prec > minPrec) {
36647
+ var node = this.startNodeAt(start);
36648
+ node.left = left;
36649
+ node.operator = this.tok.value;
36650
+ this.next();
36651
+ if (this.curLineStart !== line && this.curIndent < indent && this.tokenStartsLine()) {
36652
+ node.right = this.dummyIdent();
36653
+ } else {
36654
+ var rightStart = this.storeCurrentPos();
36655
+ node.right = this.parseExprOp(this.parseMaybeUnary(false), rightStart, prec, noIn, indent, line);
36656
+ }
36657
+ this.finishNode(node, /&&|\|\||\?\?/.test(node.operator) ? "LogicalExpression" : "BinaryExpression");
36658
+ return this.parseExprOp(node, start, minPrec, noIn, indent, line)
36659
+ }
36660
+ }
36661
+ return left
36662
+ };
36663
+
36664
+ lp.parseMaybeUnary = function(sawUnary) {
36665
+ var start = this.storeCurrentPos(), expr;
36666
+ if (this.options.ecmaVersion >= 8 && this.toks.isContextual("await") &&
36667
+ (this.inAsync || (this.toks.inModule && this.options.ecmaVersion >= 13) ||
36668
+ (!this.inFunction && this.options.allowAwaitOutsideFunction))) {
36669
+ expr = this.parseAwait();
36670
+ sawUnary = true;
36671
+ } else if (this.tok.type.prefix) {
36672
+ var node = this.startNode(), update = this.tok.type === types$1.incDec;
36673
+ if (!update) { sawUnary = true; }
36674
+ node.operator = this.tok.value;
36675
+ node.prefix = true;
36676
+ this.next();
36677
+ node.argument = this.parseMaybeUnary(true);
36678
+ if (update) { node.argument = this.checkLVal(node.argument); }
36679
+ expr = this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression");
36680
+ } else if (this.tok.type === types$1.ellipsis) {
36681
+ var node$1 = this.startNode();
36682
+ this.next();
36683
+ node$1.argument = this.parseMaybeUnary(sawUnary);
36684
+ expr = this.finishNode(node$1, "SpreadElement");
36685
+ } else if (!sawUnary && this.tok.type === types$1.privateId) {
36686
+ expr = this.parsePrivateIdent();
36687
+ } else {
36688
+ expr = this.parseExprSubscripts();
36689
+ while (this.tok.type.postfix && !this.canInsertSemicolon()) {
36690
+ var node$2 = this.startNodeAt(start);
36691
+ node$2.operator = this.tok.value;
36692
+ node$2.prefix = false;
36693
+ node$2.argument = this.checkLVal(expr);
36694
+ this.next();
36695
+ expr = this.finishNode(node$2, "UpdateExpression");
36696
+ }
36697
+ }
36698
+
36699
+ if (!sawUnary && this.eat(types$1.starstar)) {
36700
+ var node$3 = this.startNodeAt(start);
36701
+ node$3.operator = "**";
36702
+ node$3.left = expr;
36703
+ node$3.right = this.parseMaybeUnary(false);
36704
+ return this.finishNode(node$3, "BinaryExpression")
36705
+ }
36706
+
36707
+ return expr
36708
+ };
36709
+
36710
+ lp.parseExprSubscripts = function() {
36711
+ var start = this.storeCurrentPos();
36712
+ return this.parseSubscripts(this.parseExprAtom(), start, false, this.curIndent, this.curLineStart)
36713
+ };
36714
+
36715
+ lp.parseSubscripts = function(base, start, noCalls, startIndent, line) {
36716
+ var optionalSupported = this.options.ecmaVersion >= 11;
36717
+ var optionalChained = false;
36718
+ for (;;) {
36719
+ if (this.curLineStart !== line && this.curIndent <= startIndent && this.tokenStartsLine()) {
36720
+ if (this.tok.type === types$1.dot && this.curIndent === startIndent)
36721
+ { --startIndent; }
36722
+ else
36723
+ { break }
36724
+ }
36725
+
36726
+ var maybeAsyncArrow = base.type === "Identifier" && base.name === "async" && !this.canInsertSemicolon();
36727
+ var optional = optionalSupported && this.eat(types$1.questionDot);
36728
+ if (optional) {
36729
+ optionalChained = true;
36730
+ }
36731
+
36732
+ if ((optional && this.tok.type !== types$1.parenL && this.tok.type !== types$1.bracketL && this.tok.type !== types$1.backQuote) || this.eat(types$1.dot)) {
36733
+ var node = this.startNodeAt(start);
36734
+ node.object = base;
36735
+ if (this.curLineStart !== line && this.curIndent <= startIndent && this.tokenStartsLine())
36736
+ { node.property = this.dummyIdent(); }
36737
+ else
36738
+ { node.property = this.parsePropertyAccessor() || this.dummyIdent(); }
36739
+ node.computed = false;
36740
+ if (optionalSupported) {
36741
+ node.optional = optional;
36742
+ }
36743
+ base = this.finishNode(node, "MemberExpression");
36744
+ } else if (this.tok.type === types$1.bracketL) {
36745
+ this.pushCx();
36746
+ this.next();
36747
+ var node$1 = this.startNodeAt(start);
36748
+ node$1.object = base;
36749
+ node$1.property = this.parseExpression();
36750
+ node$1.computed = true;
36751
+ if (optionalSupported) {
36752
+ node$1.optional = optional;
36753
+ }
36754
+ this.popCx();
36755
+ this.expect(types$1.bracketR);
36756
+ base = this.finishNode(node$1, "MemberExpression");
36757
+ } else if (!noCalls && this.tok.type === types$1.parenL) {
36758
+ var exprList = this.parseExprList(types$1.parenR);
36759
+ if (maybeAsyncArrow && this.eat(types$1.arrow))
36760
+ { return this.parseArrowExpression(this.startNodeAt(start), exprList, true) }
36761
+ var node$2 = this.startNodeAt(start);
36762
+ node$2.callee = base;
36763
+ node$2.arguments = exprList;
36764
+ if (optionalSupported) {
36765
+ node$2.optional = optional;
36766
+ }
36767
+ base = this.finishNode(node$2, "CallExpression");
36768
+ } else if (this.tok.type === types$1.backQuote) {
36769
+ var node$3 = this.startNodeAt(start);
36770
+ node$3.tag = base;
36771
+ node$3.quasi = this.parseTemplate();
36772
+ base = this.finishNode(node$3, "TaggedTemplateExpression");
36773
+ } else {
36774
+ break
36775
+ }
36776
+ }
36777
+
36778
+ if (optionalChained) {
36779
+ var chainNode = this.startNodeAt(start);
36780
+ chainNode.expression = base;
36781
+ base = this.finishNode(chainNode, "ChainExpression");
36782
+ }
36783
+ return base
36784
+ };
36785
+
36786
+ lp.parseExprAtom = function() {
36787
+ var node;
36788
+ switch (this.tok.type) {
36789
+ case types$1._this:
36790
+ case types$1._super:
36791
+ var type = this.tok.type === types$1._this ? "ThisExpression" : "Super";
36792
+ node = this.startNode();
36793
+ this.next();
36794
+ return this.finishNode(node, type)
36795
+
36796
+ case types$1.name:
36797
+ var start = this.storeCurrentPos();
36798
+ var id = this.parseIdent();
36799
+ var isAsync = false;
36800
+ if (id.name === "async" && !this.canInsertSemicolon()) {
36801
+ if (this.eat(types$1._function)) {
36802
+ this.toks.overrideContext(types.f_expr);
36803
+ return this.parseFunction(this.startNodeAt(start), false, true)
36804
+ }
36805
+ if (this.tok.type === types$1.name) {
36806
+ id = this.parseIdent();
36807
+ isAsync = true;
36808
+ }
36809
+ }
36810
+ return this.eat(types$1.arrow) ? this.parseArrowExpression(this.startNodeAt(start), [id], isAsync) : id
36811
+
36812
+ case types$1.regexp:
36813
+ node = this.startNode();
36814
+ var val = this.tok.value;
36815
+ node.regex = {pattern: val.pattern, flags: val.flags};
36816
+ node.value = val.value;
36817
+ node.raw = this.input.slice(this.tok.start, this.tok.end);
36818
+ this.next();
36819
+ return this.finishNode(node, "Literal")
36820
+
36821
+ case types$1.num: case types$1.string:
36822
+ node = this.startNode();
36823
+ node.value = this.tok.value;
36824
+ node.raw = this.input.slice(this.tok.start, this.tok.end);
36825
+ if (this.tok.type === types$1.num && node.raw.charCodeAt(node.raw.length - 1) === 110)
36826
+ { node.bigint = node.value != null ? node.value.toString() : node.raw.slice(0, -1).replace(/_/g, ""); }
36827
+ this.next();
36828
+ return this.finishNode(node, "Literal")
36829
+
36830
+ case types$1._null: case types$1._true: case types$1._false:
36831
+ node = this.startNode();
36832
+ node.value = this.tok.type === types$1._null ? null : this.tok.type === types$1._true;
36833
+ node.raw = this.tok.type.keyword;
36834
+ this.next();
36835
+ return this.finishNode(node, "Literal")
36836
+
36837
+ case types$1.parenL:
36838
+ var parenStart = this.storeCurrentPos();
36839
+ this.next();
36840
+ var inner = this.parseExpression();
36841
+ this.expect(types$1.parenR);
36842
+ if (this.eat(types$1.arrow)) {
36843
+ // (a,)=>a // SequenceExpression makes dummy in the last hole. Drop the dummy.
36844
+ var params = inner.expressions || [inner];
36845
+ if (params.length && isDummy(params[params.length - 1]))
36846
+ { params.pop(); }
36847
+ return this.parseArrowExpression(this.startNodeAt(parenStart), params)
36848
+ }
36849
+ if (this.options.preserveParens) {
36850
+ var par = this.startNodeAt(parenStart);
36851
+ par.expression = inner;
36852
+ inner = this.finishNode(par, "ParenthesizedExpression");
36853
+ }
36854
+ return inner
36855
+
36856
+ case types$1.bracketL:
36857
+ node = this.startNode();
36858
+ node.elements = this.parseExprList(types$1.bracketR, true);
36859
+ return this.finishNode(node, "ArrayExpression")
36860
+
36861
+ case types$1.braceL:
36862
+ this.toks.overrideContext(types.b_expr);
36863
+ return this.parseObj()
36864
+
36865
+ case types$1._class:
36866
+ return this.parseClass(false)
36867
+
36868
+ case types$1._function:
36869
+ node = this.startNode();
36870
+ this.next();
36871
+ return this.parseFunction(node, false)
36872
+
36873
+ case types$1._new:
36874
+ return this.parseNew()
36875
+
36876
+ case types$1.backQuote:
36877
+ return this.parseTemplate()
36878
+
36879
+ case types$1._import:
36880
+ if (this.options.ecmaVersion >= 11) {
36881
+ return this.parseExprImport()
36882
+ } else {
36883
+ return this.dummyIdent()
36884
+ }
36885
+
36886
+ default:
36887
+ return this.dummyIdent()
36888
+ }
36889
+ };
36890
+
36891
+ lp.parseExprImport = function() {
36892
+ var node = this.startNode();
36893
+ var meta = this.parseIdent(true);
36894
+ switch (this.tok.type) {
36895
+ case types$1.parenL:
36896
+ return this.parseDynamicImport(node)
36897
+ case types$1.dot:
36898
+ node.meta = meta;
36899
+ return this.parseImportMeta(node)
36900
+ default:
36901
+ node.name = "import";
36902
+ return this.finishNode(node, "Identifier")
36903
+ }
36904
+ };
36905
+
36906
+ lp.parseDynamicImport = function(node) {
36907
+ var list = this.parseExprList(types$1.parenR);
36908
+ node.source = list[0] || this.dummyString();
36909
+ node.options = list[1] || null;
36910
+ return this.finishNode(node, "ImportExpression")
36911
+ };
36912
+
36913
+ lp.parseImportMeta = function(node) {
36914
+ this.next(); // skip '.'
36915
+ node.property = this.parseIdent(true);
36916
+ return this.finishNode(node, "MetaProperty")
36917
+ };
36918
+
36919
+ lp.parseNew = function() {
36920
+ var node = this.startNode(), startIndent = this.curIndent, line = this.curLineStart;
36921
+ var meta = this.parseIdent(true);
36922
+ if (this.options.ecmaVersion >= 6 && this.eat(types$1.dot)) {
36923
+ node.meta = meta;
36924
+ node.property = this.parseIdent(true);
36925
+ return this.finishNode(node, "MetaProperty")
36926
+ }
36927
+ var start = this.storeCurrentPos();
36928
+ node.callee = this.parseSubscripts(this.parseExprAtom(), start, true, startIndent, line);
36929
+ if (this.tok.type === types$1.parenL) {
36930
+ node.arguments = this.parseExprList(types$1.parenR);
36931
+ } else {
36932
+ node.arguments = [];
36933
+ }
36934
+ return this.finishNode(node, "NewExpression")
36935
+ };
36936
+
36937
+ lp.parseTemplateElement = function() {
36938
+ var elem = this.startNode();
36939
+
36940
+ // The loose parser accepts invalid unicode escapes even in untagged templates.
36941
+ if (this.tok.type === types$1.invalidTemplate) {
36942
+ elem.value = {
36943
+ raw: this.tok.value,
36944
+ cooked: null
36945
+ };
36946
+ } else {
36947
+ elem.value = {
36948
+ raw: this.input.slice(this.tok.start, this.tok.end).replace(/\r\n?/g, "\n"),
36949
+ cooked: this.tok.value
36950
+ };
36951
+ }
36952
+ this.next();
36953
+ elem.tail = this.tok.type === types$1.backQuote;
36954
+ return this.finishNode(elem, "TemplateElement")
36955
+ };
36956
+
36957
+ lp.parseTemplate = function() {
36958
+ var node = this.startNode();
36959
+ this.next();
36960
+ node.expressions = [];
36961
+ var curElt = this.parseTemplateElement();
36962
+ node.quasis = [curElt];
36963
+ while (!curElt.tail) {
36964
+ this.next();
36965
+ node.expressions.push(this.parseExpression());
36966
+ if (this.expect(types$1.braceR)) {
36967
+ curElt = this.parseTemplateElement();
36968
+ } else {
36969
+ curElt = this.startNode();
36970
+ curElt.value = {cooked: "", raw: ""};
36971
+ curElt.tail = true;
36972
+ this.finishNode(curElt, "TemplateElement");
36973
+ }
36974
+ node.quasis.push(curElt);
36975
+ }
36976
+ this.expect(types$1.backQuote);
36977
+ return this.finishNode(node, "TemplateLiteral")
36978
+ };
36979
+
36980
+ lp.parseObj = function() {
36981
+ var node = this.startNode();
36982
+ node.properties = [];
36983
+ this.pushCx();
36984
+ var indent = this.curIndent + 1, line = this.curLineStart;
36985
+ this.eat(types$1.braceL);
36986
+ if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart; }
36987
+ while (!this.closes(types$1.braceR, indent, line)) {
36988
+ var prop = this.startNode(), isGenerator = (void 0), isAsync = (void 0), start = (void 0);
36989
+ if (this.options.ecmaVersion >= 9 && this.eat(types$1.ellipsis)) {
36990
+ prop.argument = this.parseMaybeAssign();
36991
+ node.properties.push(this.finishNode(prop, "SpreadElement"));
36992
+ this.eat(types$1.comma);
36993
+ continue
36994
+ }
36995
+ if (this.options.ecmaVersion >= 6) {
36996
+ start = this.storeCurrentPos();
36997
+ prop.method = false;
36998
+ prop.shorthand = false;
36999
+ isGenerator = this.eat(types$1.star);
37000
+ }
37001
+ this.parsePropertyName(prop);
37002
+ if (this.toks.isAsyncProp(prop)) {
37003
+ isAsync = true;
37004
+ isGenerator = this.options.ecmaVersion >= 9 && this.eat(types$1.star);
37005
+ this.parsePropertyName(prop);
37006
+ } else {
37007
+ isAsync = false;
37008
+ }
37009
+ if (isDummy(prop.key)) { if (isDummy(this.parseMaybeAssign())) { this.next(); } this.eat(types$1.comma); continue }
37010
+ if (this.eat(types$1.colon)) {
37011
+ prop.kind = "init";
37012
+ prop.value = this.parseMaybeAssign();
37013
+ } else if (this.options.ecmaVersion >= 6 && (this.tok.type === types$1.parenL || this.tok.type === types$1.braceL)) {
37014
+ prop.kind = "init";
37015
+ prop.method = true;
37016
+ prop.value = this.parseMethod(isGenerator, isAsync);
37017
+ } else if (this.options.ecmaVersion >= 5 && prop.key.type === "Identifier" &&
37018
+ !prop.computed && (prop.key.name === "get" || prop.key.name === "set") &&
37019
+ (this.tok.type !== types$1.comma && this.tok.type !== types$1.braceR && this.tok.type !== types$1.eq)) {
37020
+ prop.kind = prop.key.name;
37021
+ this.parsePropertyName(prop);
37022
+ prop.value = this.parseMethod(false);
37023
+ } else {
37024
+ prop.kind = "init";
37025
+ if (this.options.ecmaVersion >= 6) {
37026
+ if (this.eat(types$1.eq)) {
37027
+ var assign = this.startNodeAt(start);
37028
+ assign.operator = "=";
37029
+ assign.left = prop.key;
37030
+ assign.right = this.parseMaybeAssign();
37031
+ prop.value = this.finishNode(assign, "AssignmentExpression");
37032
+ } else {
37033
+ prop.value = prop.key;
37034
+ }
37035
+ } else {
37036
+ prop.value = this.dummyIdent();
37037
+ }
37038
+ prop.shorthand = true;
37039
+ }
37040
+ node.properties.push(this.finishNode(prop, "Property"));
37041
+ this.eat(types$1.comma);
37042
+ }
37043
+ this.popCx();
37044
+ if (!this.eat(types$1.braceR)) {
37045
+ // If there is no closing brace, make the node span to the start
37046
+ // of the next token (this is useful for Tern)
37047
+ this.last.end = this.tok.start;
37048
+ if (this.options.locations) { this.last.loc.end = this.tok.loc.start; }
37049
+ }
37050
+ return this.finishNode(node, "ObjectExpression")
37051
+ };
37052
+
37053
+ lp.parsePropertyName = function(prop) {
37054
+ if (this.options.ecmaVersion >= 6) {
37055
+ if (this.eat(types$1.bracketL)) {
37056
+ prop.computed = true;
37057
+ prop.key = this.parseExpression();
37058
+ this.expect(types$1.bracketR);
37059
+ return
37060
+ } else {
37061
+ prop.computed = false;
37062
+ }
37063
+ }
37064
+ var key = (this.tok.type === types$1.num || this.tok.type === types$1.string) ? this.parseExprAtom() : this.parseIdent();
37065
+ prop.key = key || this.dummyIdent();
37066
+ };
37067
+
37068
+ lp.parsePropertyAccessor = function() {
37069
+ if (this.tok.type === types$1.name || this.tok.type.keyword) { return this.parseIdent() }
37070
+ if (this.tok.type === types$1.privateId) { return this.parsePrivateIdent() }
37071
+ };
37072
+
37073
+ lp.parseIdent = function() {
37074
+ var name = this.tok.type === types$1.name ? this.tok.value : this.tok.type.keyword;
37075
+ if (!name) { return this.dummyIdent() }
37076
+ if (this.tok.type.keyword) { this.toks.type = types$1.name; }
37077
+ var node = this.startNode();
37078
+ this.next();
37079
+ node.name = name;
37080
+ return this.finishNode(node, "Identifier")
37081
+ };
37082
+
37083
+ lp.parsePrivateIdent = function() {
37084
+ var node = this.startNode();
37085
+ node.name = this.tok.value;
37086
+ this.next();
37087
+ return this.finishNode(node, "PrivateIdentifier")
37088
+ };
37089
+
37090
+ lp.initFunction = function(node) {
37091
+ node.id = null;
37092
+ node.params = [];
37093
+ if (this.options.ecmaVersion >= 6) {
37094
+ node.generator = false;
37095
+ node.expression = false;
37096
+ }
37097
+ if (this.options.ecmaVersion >= 8)
37098
+ { node.async = false; }
37099
+ };
37100
+
37101
+ // Convert existing expression atom to assignable pattern
37102
+ // if possible.
37103
+
37104
+ lp.toAssignable = function(node, binding) {
37105
+ if (!node || node.type === "Identifier" || (node.type === "MemberExpression" && !binding)) ; else if (node.type === "ParenthesizedExpression") {
37106
+ this.toAssignable(node.expression, binding);
37107
+ } else if (this.options.ecmaVersion < 6) {
37108
+ return this.dummyIdent()
37109
+ } else if (node.type === "ObjectExpression") {
37110
+ node.type = "ObjectPattern";
37111
+ for (var i = 0, list = node.properties; i < list.length; i += 1)
37112
+ {
37113
+ var prop = list[i];
37114
+
37115
+ this.toAssignable(prop, binding);
37116
+ }
37117
+ } else if (node.type === "ArrayExpression") {
37118
+ node.type = "ArrayPattern";
37119
+ this.toAssignableList(node.elements, binding);
37120
+ } else if (node.type === "Property") {
37121
+ this.toAssignable(node.value, binding);
37122
+ } else if (node.type === "SpreadElement") {
37123
+ node.type = "RestElement";
37124
+ this.toAssignable(node.argument, binding);
37125
+ } else if (node.type === "AssignmentExpression") {
37126
+ node.type = "AssignmentPattern";
37127
+ delete node.operator;
37128
+ } else {
37129
+ return this.dummyIdent()
37130
+ }
37131
+ return node
37132
+ };
37133
+
37134
+ lp.toAssignableList = function(exprList, binding) {
37135
+ for (var i = 0, list = exprList; i < list.length; i += 1)
37136
+ {
37137
+ var expr = list[i];
37138
+
37139
+ this.toAssignable(expr, binding);
37140
+ }
37141
+ return exprList
37142
+ };
37143
+
37144
+ lp.parseFunctionParams = function(params) {
37145
+ params = this.parseExprList(types$1.parenR);
37146
+ return this.toAssignableList(params, true)
37147
+ };
37148
+
37149
+ lp.parseMethod = function(isGenerator, isAsync) {
37150
+ var node = this.startNode(), oldInAsync = this.inAsync, oldInGenerator = this.inGenerator, oldInFunction = this.inFunction;
37151
+ this.initFunction(node);
37152
+ if (this.options.ecmaVersion >= 6)
37153
+ { node.generator = !!isGenerator; }
37154
+ if (this.options.ecmaVersion >= 8)
37155
+ { node.async = !!isAsync; }
37156
+ this.inAsync = node.async;
37157
+ this.inGenerator = node.generator;
37158
+ this.inFunction = true;
37159
+ node.params = this.parseFunctionParams();
37160
+ node.body = this.parseBlock();
37161
+ this.toks.adaptDirectivePrologue(node.body.body);
37162
+ this.inAsync = oldInAsync;
37163
+ this.inGenerator = oldInGenerator;
37164
+ this.inFunction = oldInFunction;
37165
+ return this.finishNode(node, "FunctionExpression")
37166
+ };
37167
+
37168
+ lp.parseArrowExpression = function(node, params, isAsync) {
37169
+ var oldInAsync = this.inAsync, oldInGenerator = this.inGenerator, oldInFunction = this.inFunction;
37170
+ this.initFunction(node);
37171
+ if (this.options.ecmaVersion >= 8)
37172
+ { node.async = !!isAsync; }
37173
+ this.inAsync = node.async;
37174
+ this.inGenerator = false;
37175
+ this.inFunction = true;
37176
+ node.params = this.toAssignableList(params, true);
37177
+ node.expression = this.tok.type !== types$1.braceL;
37178
+ if (node.expression) {
37179
+ node.body = this.parseMaybeAssign();
37180
+ } else {
37181
+ node.body = this.parseBlock();
37182
+ this.toks.adaptDirectivePrologue(node.body.body);
37183
+ }
37184
+ this.inAsync = oldInAsync;
37185
+ this.inGenerator = oldInGenerator;
37186
+ this.inFunction = oldInFunction;
37187
+ return this.finishNode(node, "ArrowFunctionExpression")
37188
+ };
37189
+
37190
+ lp.parseExprList = function(close, allowEmpty) {
37191
+ this.pushCx();
37192
+ var indent = this.curIndent, line = this.curLineStart, elts = [];
37193
+ this.next(); // Opening bracket
37194
+ while (!this.closes(close, indent + 1, line)) {
37195
+ if (this.eat(types$1.comma)) {
37196
+ elts.push(allowEmpty ? null : this.dummyIdent());
37197
+ continue
37198
+ }
37199
+ var elt = this.parseMaybeAssign();
37200
+ if (isDummy(elt)) {
37201
+ if (this.closes(close, indent, line)) { break }
37202
+ this.next();
37203
+ } else {
37204
+ elts.push(elt);
37205
+ }
37206
+ this.eat(types$1.comma);
37207
+ }
37208
+ this.popCx();
37209
+ if (!this.eat(close)) {
37210
+ // If there is no closing brace, make the node span to the start
37211
+ // of the next token (this is useful for Tern)
37212
+ this.last.end = this.tok.start;
37213
+ if (this.options.locations) { this.last.loc.end = this.tok.loc.start; }
37214
+ }
37215
+ return elts
37216
+ };
37217
+
37218
+ lp.parseAwait = function() {
37219
+ var node = this.startNode();
37220
+ this.next();
37221
+ node.argument = this.parseMaybeUnary();
37222
+ return this.finishNode(node, "AwaitExpression")
37223
+ };
37224
+
37225
+ // Acorn: Loose parser
37226
+ //
37227
+ // This module provides an alternative parser that exposes that same
37228
+ // interface as the main module's `parse` function, but will try to
37229
+ // parse anything as JavaScript, repairing syntax error the best it
37230
+ // can. There are circumstances in which it will raise an error and
37231
+ // give up, but they are very rare. The resulting AST will be a mostly
37232
+ // valid JavaScript AST (as per the [ESTree spec][estree], except
37233
+ // that:
37234
+ //
37235
+ // - Return outside functions is allowed
37236
+ //
37237
+ // - Label consistency (no conflicts, break only to existing labels)
37238
+ // is not enforced.
37239
+ //
37240
+ // - Bogus Identifier nodes with a name of `"✖"` are inserted whenever
37241
+ // the parser got too confused to return anything meaningful.
37242
+ //
37243
+ // [estree]: https://github.com/estree/estree
37244
+ //
37245
+ // The expected use for this is to *first* try `acorn.parse`, and only
37246
+ // if that fails switch to the loose parser. The loose parser might
37247
+ // parse badly indented code incorrectly, so **don't** use it as your
37248
+ // default parser.
37249
+ //
37250
+ // Quite a lot of acorn.js is duplicated here. The alternative was to
37251
+ // add a *lot* of extra cruft to that file, making it less readable
37252
+ // and slower. Copying and editing the code allowed me to make
37253
+ // invasive changes and simplifications without creating a complicated
37254
+ // tangle.
37255
+
37256
+
37257
+ defaultOptions.tabSize = 4;
37258
+
37259
+ function parse(input, options) {
37260
+ return LooseParser.parse(input, options)
37261
+ }
37262
+
35638
37263
  // AST walker module for ESTree compatible trees
35639
37264
 
35640
37265
  // A simple walk is one where you simply specify callbacks to be
@@ -35922,13 +37547,24 @@ base.MethodDefinition = base.PropertyDefinition = base.Property = function (node
35922
37547
  function getAcornParsedNodes(input) {
35923
37548
  var parsedNode = null;
35924
37549
  try {
35925
- parsedNode = parse(input, {
37550
+ parsedNode = parse$1(input, {
35926
37551
  ecmaVersion: 'latest',
35927
37552
  sourceType: 'module',
35928
37553
  locations: true
35929
37554
  });
35930
37555
  }
35931
- catch (_a) { }
37556
+ catch (_a) {
37557
+ // attempt parse with more error-tolerant parser.
37558
+ // handles rules with both shared code and top-level
37559
+ // return, which is technically invalid syntax
37560
+ try {
37561
+ parsedNode = parse(input, {
37562
+ ecmaVersion: 'latest',
37563
+ locations: true
37564
+ });
37565
+ }
37566
+ catch (_b) { }
37567
+ }
35932
37568
  return parsedNode;
35933
37569
  }
35934
37570
  function extractReferencedIdentifiers(bodyNode) {
@@ -36072,8 +37708,10 @@ function extractJsElements(code) {
36072
37708
  var exportFunctions = [];
36073
37709
  var exportVariables = [];
36074
37710
  var parsedNodes = getAcornParsedNodes(code);
36075
- if (!parsedNodes)
37711
+ if (!parsedNodes) {
37712
+ console.warn('Failed to parse logic rule code');
36076
37713
  return { exportVariables: exportVariables, exportFunctions: exportFunctions };
37714
+ }
36077
37715
  // Helper: turn a param node into its original text
36078
37716
  var paramText = function (p) { return code.slice(p.start, p.end); };
36079
37717
  // Helper: build function signature and body from FunctionExpression or ArrowFunctionExpression
@@ -42332,6 +43970,112 @@ function loadQRScanner() {
42332
43970
  exports.qrPromise = dynamicImport(QR_SCANNER_LIB_URL);
42333
43971
  }
42334
43972
 
43973
+ /**
43974
+ * Event queue for holding events before user interaction
43975
+ */
43976
+ var EventQueue = /** @class */ (function () {
43977
+ function EventQueue() {
43978
+ this.queue = [];
43979
+ this.isReplaying = false;
43980
+ }
43981
+ EventQueue.prototype.enqueue = function (eventData) {
43982
+ var _this = this;
43983
+ return new Promise(function (resolve, reject) {
43984
+ _this.queue.push({
43985
+ eventData: eventData,
43986
+ timestamp: Date.now(),
43987
+ resolve: resolve,
43988
+ reject: reject
43989
+ });
43990
+ });
43991
+ };
43992
+ EventQueue.prototype.getAll = function () {
43993
+ return this.queue;
43994
+ };
43995
+ EventQueue.prototype.clear = function () {
43996
+ this.queue = [];
43997
+ };
43998
+ EventQueue.prototype.isEmpty = function () {
43999
+ return this.queue.length === 0;
44000
+ };
44001
+ EventQueue.prototype.size = function () {
44002
+ return this.queue.length;
44003
+ };
44004
+ EventQueue.prototype.isReplayingEvents = function () {
44005
+ return this.isReplaying;
44006
+ };
44007
+ EventQueue.prototype.setReplayState = function (replaying) {
44008
+ this.isReplaying = replaying;
44009
+ };
44010
+ /**
44011
+ * Apply replay function to all queued events
44012
+ * @param replayFn Function to call for each event
44013
+ */
44014
+ EventQueue.prototype.replayAll = function (replayFn) {
44015
+ return __awaiter$2(this, void 0, void 0, function () {
44016
+ var eventsToReplay, eventsToReplay_1, eventsToReplay_1_1, queuedEvent, result, error_1, e_1_1;
44017
+ var e_1, _a;
44018
+ return __generator(this, function (_b) {
44019
+ switch (_b.label) {
44020
+ case 0:
44021
+ if (this.isEmpty())
44022
+ return [2 /*return*/];
44023
+ this.setReplayState(true);
44024
+ _b.label = 1;
44025
+ case 1:
44026
+ _b.trys.push([1, , 14, 15]);
44027
+ _b.label = 2;
44028
+ case 2:
44029
+ if (!!this.isEmpty()) return [3 /*break*/, 13];
44030
+ eventsToReplay = __spreadArray([], __read(this.queue), false);
44031
+ this.queue = [];
44032
+ _b.label = 3;
44033
+ case 3:
44034
+ _b.trys.push([3, 10, 11, 12]);
44035
+ eventsToReplay_1 = (e_1 = void 0, __values(eventsToReplay)), eventsToReplay_1_1 = eventsToReplay_1.next();
44036
+ _b.label = 4;
44037
+ case 4:
44038
+ if (!!eventsToReplay_1_1.done) return [3 /*break*/, 9];
44039
+ queuedEvent = eventsToReplay_1_1.value;
44040
+ _b.label = 5;
44041
+ case 5:
44042
+ _b.trys.push([5, 7, , 8]);
44043
+ return [4 /*yield*/, replayFn(queuedEvent.eventData)];
44044
+ case 6:
44045
+ result = _b.sent();
44046
+ queuedEvent.resolve(result);
44047
+ return [3 /*break*/, 8];
44048
+ case 7:
44049
+ error_1 = _b.sent();
44050
+ queuedEvent.reject(error_1);
44051
+ return [3 /*break*/, 8];
44052
+ case 8:
44053
+ eventsToReplay_1_1 = eventsToReplay_1.next();
44054
+ return [3 /*break*/, 4];
44055
+ case 9: return [3 /*break*/, 12];
44056
+ case 10:
44057
+ e_1_1 = _b.sent();
44058
+ e_1 = { error: e_1_1 };
44059
+ return [3 /*break*/, 12];
44060
+ case 11:
44061
+ try {
44062
+ if (eventsToReplay_1_1 && !eventsToReplay_1_1.done && (_a = eventsToReplay_1.return)) _a.call(eventsToReplay_1);
44063
+ }
44064
+ finally { if (e_1) throw e_1.error; }
44065
+ return [7 /*endfinally*/];
44066
+ case 12: return [3 /*break*/, 2];
44067
+ case 13: return [3 /*break*/, 15];
44068
+ case 14:
44069
+ this.setReplayState(false);
44070
+ return [7 /*endfinally*/];
44071
+ case 15: return [2 /*return*/];
44072
+ }
44073
+ });
44074
+ });
44075
+ };
44076
+ return EventQueue;
44077
+ }());
44078
+
42335
44079
  var API_URL_OPTIONS = {
42336
44080
  local: 'http://localhost:8006/api/',
42337
44081
  staging: 'https://staging.feathery.io/api/',
@@ -42406,6 +44150,10 @@ var FeatheryClient = /** @class */ (function (_super) {
42406
44150
  var _this = this;
42407
44151
  var _a, _b;
42408
44152
  _this = _super.call(this, formKey, ignoreNetworkErrors, draft, bypassCDN) || this;
44153
+ /**
44154
+ * Queue for events triggered before user interaction
44155
+ */
44156
+ _this.userEventQueue = new EventQueue();
42409
44157
  /**
42410
44158
  * `beforeunload` event handler that flushes the pending submit custom changes
42411
44159
  * when a user is attempting to exit the page.
@@ -42441,8 +44189,39 @@ var FeatheryClient = /** @class */ (function (_super) {
42441
44189
  var _a, _b;
42442
44190
  return __awaiter$2(this, void 0, void 0, function () {
42443
44191
  return __generator(this, function (_c) {
42444
- (_b = (_a = featheryWindow()).removeEventListener) === null || _b === void 0 ? void 0 : _b.call(_a, FEATHERY_INTERACTION_EVENT, this.handleInteraction);
42445
- return [2 /*return*/, this.submitCustom({}, { shouldFlush: true })];
44192
+ switch (_c.label) {
44193
+ case 0:
44194
+ (_b = (_a = featheryWindow()).removeEventListener) === null || _b === void 0 ? void 0 : _b.call(_a, FEATHERY_INTERACTION_EVENT, this.handleInteraction);
44195
+ // replay queued events, then flush fields
44196
+ return [4 /*yield*/, this.replayQueuedEvents()];
44197
+ case 1:
44198
+ // replay queued events, then flush fields
44199
+ _c.sent();
44200
+ return [4 /*yield*/, this.submitCustom({}, { shouldFlush: true })];
44201
+ case 2:
44202
+ _c.sent();
44203
+ return [2 /*return*/];
44204
+ }
44205
+ });
44206
+ });
44207
+ };
44208
+ FeatheryClient.prototype.replayQueuedEvents = function () {
44209
+ return __awaiter$2(this, void 0, void 0, function () {
44210
+ var _this = this;
44211
+ return __generator(this, function (_a) {
44212
+ switch (_a.label) {
44213
+ case 0:
44214
+ if (this.userEventQueue.isEmpty())
44215
+ return [2 /*return*/];
44216
+ return [4 /*yield*/, this.userEventQueue.replayAll(function (eventData) { return __awaiter$2(_this, void 0, void 0, function () {
44217
+ return __generator(this, function (_a) {
44218
+ return [2 /*return*/, this._registerEventInternal(eventData)];
44219
+ });
44220
+ }); })];
44221
+ case 1:
44222
+ _a.sent();
44223
+ return [2 /*return*/];
44224
+ }
42446
44225
  });
42447
44226
  });
42448
44227
  };
@@ -43133,15 +44912,24 @@ var FeatheryClient = /** @class */ (function (_super) {
43133
44912
  });
43134
44913
  };
43135
44914
  FeatheryClient.prototype.registerEvent = function (eventData) {
44915
+ return __awaiter$2(this, void 0, void 0, function () {
44916
+ return __generator(this, function (_a) {
44917
+ if (this.draft)
44918
+ return [2 /*return*/];
44919
+ if (!isInteractionDetected() || this.userEventQueue.isReplayingEvents()) {
44920
+ return [2 /*return*/, this.userEventQueue.enqueue(eventData)];
44921
+ }
44922
+ return [2 /*return*/, this._registerEventInternal(eventData)];
44923
+ });
44924
+ });
44925
+ };
44926
+ FeatheryClient.prototype._registerEventInternal = function (eventData) {
43136
44927
  return __awaiter$2(this, void 0, void 0, function () {
43137
44928
  var _a, userId, collaboratorId, url, data, options, prom, stepKey, triggerEvent, eventPromise;
43138
44929
  var _this = this;
43139
44930
  return __generator(this, function (_b) {
43140
44931
  switch (_b.label) {
43141
- case 0:
43142
- if (this.draft)
43143
- return [2 /*return*/];
43144
- return [4 /*yield*/, initFormsPromise];
44932
+ case 0: return [4 /*yield*/, initFormsPromise];
43145
44933
  case 1:
43146
44934
  _b.sent();
43147
44935
  _a = initInfo(), userId = _a.userId, collaboratorId = _a.collaboratorId;
@@ -43316,7 +45104,7 @@ var FeatheryClient = /** @class */ (function (_super) {
43316
45104
  userId = initInfo().userId;
43317
45105
  url = "".concat(API_URL, "email/forward/");
43318
45106
  data = {
43319
- user_id: userId,
45107
+ user_id: options.submissionId || userId,
43320
45108
  recipients: options.emails || [],
43321
45109
  email_group: options.emailGroup || '',
43322
45110
  panel_key: this.formKey
@@ -43653,9 +45441,9 @@ function init(sdkKey, options) {
43653
45441
  if (runningInClient()) {
43654
45442
  // Dynamically load libraries that must be client side
43655
45443
  global.scriptjsLoadPromise = Promise.resolve().then(function () { return require(
43656
- /* webpackChunkName: "scriptjs" */ './fthry_script.CEXFQk2h.js'); }).then(function (n) { return n.script; });
45444
+ /* webpackChunkName: "scriptjs" */ './fthry_script.Cw49lCOF.js'); }).then(function (n) { return n.script; });
43657
45445
  global.webfontloaderPromise = Promise.resolve().then(function () { return require(
43658
- /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.CZxQtgFm.js'); }).then(function (n) { return n.webfontloader; });
45446
+ /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.CoyxhM39.js'); }).then(function (n) { return n.webfontloader; });
43659
45447
  // Client-side tracking logic
43660
45448
  if (initState.userTracking === 'cookie') {
43661
45449
  var cookieKey = "feathery-user-id-".concat(sdkKey);
@@ -43801,7 +45589,7 @@ function getFieldValues() {
43801
45589
  return exports.__assign({}, exports.fieldValues);
43802
45590
  }
43803
45591
  function logFeatheryBadge() {
43804
- console.log('%c Feathery %c v' + "2.15.0" + ' ', // replaced with real version during build
45592
+ console.log('%c Feathery %c v' + "2.15.2" + ' ', // replaced with real version during build
43805
45593
  '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;');
43806
45594
  }
43807
45595
 
@@ -45279,39 +47067,39 @@ breakpoint) {
45279
47067
  return styles.getTarget('inner-container', undefined, viewport === 'mobile');
45280
47068
  };
45281
47069
 
45282
- var AddressLine1 = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "AddressField" */ './fthry_index.BZzFi9o3.js'); }); });
45283
- var ButtonGroupField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.B5aSeoEj.js'); }); });
45284
- var CheckboxField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxField" */ './fthry_index.Dm94Mor0.js'); }); });
47070
+ var AddressLine1 = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "AddressField" */ './fthry_index.Cp5mHHk3.js'); }); });
47071
+ var ButtonGroupField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.BN8zLfup.js'); }); });
47072
+ var CheckboxField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxField" */ './fthry_index.DpwSZaXh.js'); }); });
45285
47073
  var CheckboxGroupField = React.lazy(function () {
45286
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.CFl7Tra-.js'); });
47074
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.B1CkkjWn.js'); });
45287
47075
  });
45288
- var ColorPickerField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "ColorPickerField" */ './fthry_index.Iw93ZIvk.js'); }); });
45289
- var CustomField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "CustomField" */ './fthry_index.CfGx505W.js'); }); });
47076
+ var ColorPickerField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "ColorPickerField" */ './fthry_index.HFaIUSxu.js'); }); });
47077
+ var CustomField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "CustomField" */ './fthry_index.CoJCmnOp.js'); }); });
45290
47078
  var DateSelectorField = React.lazy(function () {
45291
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "DateSelectorField" */ './fthry_index.ByYAaIPz.js'); });
47079
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "DateSelectorField" */ './fthry_index.CZOSIfEV.js'); });
45292
47080
  });
45293
- var DropdownField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownField" */ './fthry_index.C97Bm277.js'); }); });
47081
+ var DropdownField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownField" */ './fthry_index.CRDnACxw.js'); }); });
45294
47082
  var DropdownMultiField = React.lazy(function () {
45295
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.BokP8_1j.js'); });
47083
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.DEqnH31I.js'); });
45296
47084
  });
45297
- var FileUploadField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "FileUploadField" */ './fthry_index.BvXec6y1.js'); }); });
45298
- var MatrixField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "MatrixField" */ './fthry_index.BAis6iAm.js'); }); });
45299
- var PasswordField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PasswordField" */ './fthry_index.BV9FIqI3.js'); }); });
47085
+ var FileUploadField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "FileUploadField" */ './fthry_index.DbcTkrx8.js'); }); });
47086
+ var MatrixField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "MatrixField" */ './fthry_index.BfGtKml0.js'); }); });
47087
+ var PasswordField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PasswordField" */ './fthry_index.DB4KHK9K.js'); }); });
45300
47088
  var PaymentMethodField = React.lazy(function () {
45301
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.C_yV3aay.js'); });
47089
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.DwYI96Gn.js'); });
45302
47090
  });
45303
- var PhoneField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PhoneField" */ './fthry_index.Dzq-7u_A.js'); }); });
45304
- var PinInputField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PinInputField" */ './fthry_index.Ct-olYcX.js'); }); });
45305
- var QRScanner = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "QRScanner" */ './fthry_index.Db8Zj-xl.js'); }); });
47091
+ var PhoneField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PhoneField" */ './fthry_index.EU1uftki.js'); }); });
47092
+ var PinInputField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PinInputField" */ './fthry_index.BDTST35w.js'); }); });
47093
+ var QRScanner = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "QRScanner" */ './fthry_index.BANnK-BV.js'); }); });
45306
47094
  var RadioButtonGroupField = React.lazy(function () {
45307
47095
  return Promise.resolve().then(function () { return require(
45308
- /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.BdfASO2V.js'); });
47096
+ /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.BSCmisU5.js'); });
45309
47097
  });
45310
- var RatingField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "RatingField" */ './fthry_index.D35rnGh5.js'); }); });
45311
- var SignatureField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "SignatureField" */ './fthry_index.Be_wKtBW.js'); }); });
45312
- var SliderField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "SliderField" */ './fthry_index.CgatqFlS.js'); }); });
45313
- var TextField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextField" */ './fthry_index.CoR2X1u6.js'); }); });
45314
- var TextArea = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextArea" */ './fthry_index.CPkoG8dL.js'); }); });
47098
+ var RatingField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "RatingField" */ './fthry_index.BjCAubFj.js'); }); });
47099
+ var SignatureField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "SignatureField" */ './fthry_index.DXh3tbd1.js'); }); });
47100
+ var SliderField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "SliderField" */ './fthry_index.BzhucXqv.js'); }); });
47101
+ var TextField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextField" */ './fthry_index.DanO29mY.js'); }); });
47102
+ var TextArea = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextArea" */ './fthry_index.bTWf3wVZ.js'); }); });
45315
47103
  var Fields = {
45316
47104
  AddressLine1: AddressLine1,
45317
47105
  ButtonGroupField: ButtonGroupField,
@@ -46251,7 +48039,7 @@ function ElementSkeleton(_a) {
46251
48039
  }
46252
48040
  var templateObject_1;
46253
48041
 
46254
- var TableElement = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TableElement" */ './fthry_index.B9CITASf.js'); }); });
48042
+ var TableElement = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TableElement" */ './fthry_index.ujHj1dvo.js'); }); });
46255
48043
  var Basic = {
46256
48044
  ImageElement: ImageElement,
46257
48045
  VideoElement: VideoElement,