bhl-forms 0.0.64 → 0.0.67

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.
@@ -9353,9 +9353,28 @@ var postJSON = /* @__PURE__ */ function() {
9353
9353
  return _ref.apply(this, arguments);
9354
9354
  };
9355
9355
  }();
9356
- var redirect = (url3) => {
9356
+ var redirectTo = (url3) => {
9357
9357
  window.location.href = url3;
9358
9358
  };
9359
+ var openNewTab = (url3) => {
9360
+ var otherTab = window.open();
9361
+ if (otherTab !== null) {
9362
+ otherTab.opener = null;
9363
+ otherTab.target = "_blank";
9364
+ otherTab.location = url3;
9365
+ }
9366
+ return otherTab;
9367
+ };
9368
+ var getRedirect = (formData, node2) => {
9369
+ if (!node2 || !node2.props.attrs.redirectMap) {
9370
+ return null;
9371
+ }
9372
+ var redirectUrl = keyValOverlap(formData, node2.props.attrs.redirectMap);
9373
+ if (redirectUrl && formData) {
9374
+ redirectUrl = strSubUrl(redirectUrl, formData);
9375
+ }
9376
+ return redirectUrl;
9377
+ };
9359
9378
  var handleSubmitError = (err, node2) => {
9360
9379
  if (err.response) {
9361
9380
  var code = err.response.status;
@@ -10649,15 +10668,15 @@ var dataDefaults = {
10649
10668
  }
10650
10669
  return true;
10651
10670
  },
10652
- getRedirect: (formData, node2) => {
10653
- if (!node2 || !node2.props.attrs.redirectMap) {
10654
- return;
10671
+ handleRedirectMap: (formData, node2) => {
10672
+ var redirectUrl = getRedirect(formData, node2);
10673
+ if (redirectUrl && redirectUrl !== "null") {
10674
+ redirectTo(redirectUrl);
10655
10675
  }
10656
- return keyValOverlap(formData, node2.props.attrs.redirectMap);
10657
10676
  },
10658
10677
  submit: function submit(postUrl) {
10659
10678
  var prepData2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
10660
- var redirectUrl = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
10679
+ var redirect = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
10661
10680
  return /* @__PURE__ */ function() {
10662
10681
  var _ref6 = _asyncToGenerator(function* (formData, node2) {
10663
10682
  if (prepData2 && prepData2 != "null") {
@@ -10676,14 +10695,13 @@ var dataDefaults = {
10676
10695
  if (abort) {
10677
10696
  return false;
10678
10697
  }
10679
- if (redirectUrl instanceof Function) {
10680
- redirectUrl = redirectUrl(formData, node2);
10681
- }
10682
- if (redirectUrl && redirectUrl !== "null") {
10698
+ if (typeof redirect === "string" && redirect !== "null") {
10683
10699
  if (formData) {
10684
- redirectUrl = strSubUrl(redirectUrl, formData);
10700
+ redirect = strSubUrl(redirect, formData);
10685
10701
  }
10686
- redirect(redirectUrl);
10702
+ redirectTo(redirect);
10703
+ } else if (redirect instanceof Function) {
10704
+ redirect(formData, node2);
10687
10705
  }
10688
10706
  return true;
10689
10707
  });
@@ -17806,6 +17824,20 @@ function rollbar(type, msg) {
17806
17824
  }
17807
17825
  }
17808
17826
  }
17827
+ function analyticsEvent(event, body) {
17828
+ try {
17829
+ dbg(body);
17830
+ window._analytics.track(event, body, {
17831
+ plugins: {
17832
+ "google-tag-manager": false
17833
+ }
17834
+ });
17835
+ } catch (err) {
17836
+ var msg = "failed to fire event: " + err.toString();
17837
+ console.warn(msg);
17838
+ rollbar("warning", msg);
17839
+ }
17840
+ }
17809
17841
  function cookie(name, value, ttl, path, samesite, secure, domain) {
17810
17842
  name = name.replace(/\s/g, "_");
17811
17843
  var isSet2 = arguments.length > 1;
@@ -17854,7 +17886,8 @@ function _schemaFromUrl() {
17854
17886
  return _schemaFromUrl.apply(this, arguments);
17855
17887
  }
17856
17888
  var getBaseDomain = () => {
17857
- var parts = window.location.host.split(".");
17889
+ var host = window.location.host.replace("webflow.io", "com");
17890
+ var parts = host.split(".");
17858
17891
  return parts.slice(-2).join(".");
17859
17892
  };
17860
17893
  var flattenObj = (obj) => {
@@ -17951,27 +17984,62 @@ var fireStepEvent = (formNode) => (stepResult, stepHistory2, stepQueue2) => {
17951
17984
  console.warn(msg);
17952
17985
  rollbar("warning", msg);
17953
17986
  }
17954
- if (typeof window._analytics !== "undefined") {
17955
- try {
17956
- var form_id = formNode.attrs.formId || window.location.hostname + "-" + formNode.id;
17957
- var body = {
17958
- "form_source": "formkit",
17959
- "form_id": form_id,
17960
- "step_count": stepHistory2.value.length,
17961
- "step_name": stepHistory2.value[stepHistory2.value.length - 1],
17962
- "step_values": step_values
17963
- };
17964
- dbg(body);
17965
- window._analytics.track("form-step", body, {
17966
- plugins: {
17967
- "google-tag-manager": false
17987
+ try {
17988
+ var form_id = formNode.attrs.formId || window.location.hostname + "-" + formNode.id;
17989
+ var body = {
17990
+ "form_source": "formkit",
17991
+ "form_id": form_id,
17992
+ "step_count": stepHistory2.value.length,
17993
+ "step_name": stepHistory2.value[stepHistory2.value.length - 1],
17994
+ "step_values": step_values
17995
+ };
17996
+ analyticsEvent("form-step", body);
17997
+ } catch (err) {
17998
+ var _msg = "failed to fire step event: " + err.toString();
17999
+ console.warn(_msg);
18000
+ rollbar("warning", _msg);
18001
+ }
18002
+ };
18003
+ var experimentCallback = (form2, variant, fromCache) => {
18004
+ try {
18005
+ var body = {
18006
+ "experiment": form2.experiment.name,
18007
+ "branch": variant.name,
18008
+ "schema": variant.schema,
18009
+ "no_cache": form2.noCache,
18010
+ "from_cache": fromCache
18011
+ };
18012
+ analyticsEvent("form-experiment", body);
18013
+ } catch (err) {
18014
+ var msg = "failed to fire experiment callback: " + err.toString();
18015
+ console.warn(msg);
18016
+ rollbar("warning", msg);
18017
+ }
18018
+ };
18019
+ var handleRedirect = (formData, node2) => {
18020
+ try {
18021
+ var redirectUrl = getRedirect(formData, node2);
18022
+ if (redirectUrl && redirectUrl !== "null") {
18023
+ if (node2 && node2.props.attrs.popUnder) {
18024
+ var popUnderUrl = node2.props.attrs.popUnder;
18025
+ var res = openNewTab(redirectUrl);
18026
+ if (res !== null) {
18027
+ if (popUnderUrl && formData) {
18028
+ popUnderUrl = strSubUrl(popUnderUrl, formData);
18029
+ }
18030
+ redirectTo(popUnderUrl);
18031
+ } else {
18032
+ dbg("new tab failed");
18033
+ redirectTo(redirectUrl);
17968
18034
  }
17969
- });
17970
- } catch (err) {
17971
- var _msg = "failed to fire step event: " + err.toString();
17972
- console.warn(_msg);
17973
- rollbar("warning", _msg);
18035
+ } else {
18036
+ redirectTo(redirectUrl);
18037
+ }
17974
18038
  }
18039
+ } catch (err) {
18040
+ var msg = "failed to handleRedirect: " + err.toString();
18041
+ console.warn(msg);
18042
+ rollbar("warning", msg);
17975
18043
  }
17976
18044
  };
17977
18045
  var textClassification = {
@@ -22308,6 +22376,7 @@ const _sfc_main = {
22308
22376
  };
22309
22377
  var apps = {};
22310
22378
  var defaultSubmitUrl = "https://webhooks." + getBaseDomain() + "/api/v1/form_leads_ext";
22379
+ dbg("defaultSubmitUrl:", defaultSubmitUrl);
22311
22380
  var init = () => {
22312
22381
  var classes = generateClasses(theme);
22313
22382
  var forms = window.bhlFormDefs || [];
@@ -22324,7 +22393,11 @@ var init = () => {
22324
22393
  var res = chooseVariant(form2.experiment);
22325
22394
  schema = res.variant.schema;
22326
22395
  if (form2.experimentCallback) {
22327
- experimentCallback(form2, res.variant, res.fromCache);
22396
+ if (form2.experimentCallback === true) {
22397
+ experimentCallback(form2, res.variant, res.fromCache);
22398
+ } else {
22399
+ form2.experimentCallback(form2, res.variant, res.fromCache);
22400
+ }
22328
22401
  }
22329
22402
  }
22330
22403
  var schemaObj = schema;
@@ -22338,6 +22411,7 @@ var init = () => {
22338
22411
  data2.prepData = data2.prepData || prepData;
22339
22412
  data2.preStepFunc = data2.preStepFunc || preStepFunc;
22340
22413
  data2.fireStepEvent = data2.fireStepEvent || fireStepEvent;
22414
+ data2.handleRedirect = data2.handleRedirect || handleRedirect;
22341
22415
  data2.scrollAnchor = data2.scrollAnchor || scrollAnchor;
22342
22416
  data2.onEnter = (callback) => (e2) => {
22343
22417
  if (e2.key === "Enter" || e2.keyCode === 13) {