bhl-forms 0.0.55 → 0.0.56

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.
@@ -5311,14 +5311,6 @@ function define$1(node, context, definition) {
5311
5311
  type: node.type,
5312
5312
  value: context.value
5313
5313
  });
5314
- if (definition.forceTypeProp) {
5315
- if (node.props.type)
5316
- node.props.originalType = node.props.type;
5317
- context.props.type = definition.forceTypeProp;
5318
- }
5319
- if (definition.family) {
5320
- context.props.family = definition.family;
5321
- }
5322
5314
  if (definition.features) {
5323
5315
  definition.features.forEach((feature) => feature(node));
5324
5316
  }
@@ -5751,7 +5743,7 @@ function useSteps() {
5751
5743
  const getNextStepsFromMap = (node, nextStepMap) => {
5752
5744
  return keyValOverlap(node.value, nextStepMap);
5753
5745
  };
5754
- const setStep2 = ({ nextStep = 1, validate: validate2 = true, autoFocus = true } = {}) => {
5746
+ const setStep2 = ({ nextStep = 1, validate: validate2 = true, autoFocus = true, preStep = null } = {}) => {
5755
5747
  const node = steps2[activeStep2.value].node;
5756
5748
  if (validate2) {
5757
5749
  node.walk((n) => {
@@ -5765,6 +5757,9 @@ function useSteps() {
5765
5757
  return false;
5766
5758
  }
5767
5759
  }
5760
+ if (preStep) {
5761
+ preStep(node);
5762
+ }
5768
5763
  if (node.props.attrs.nextStepMap) {
5769
5764
  const nextSteps = getNextStepsFromMap(node, node.props.attrs.nextStepMap);
5770
5765
  if (nextSteps) {
@@ -5790,8 +5785,8 @@ function useSteps() {
5790
5785
  }
5791
5786
  return true;
5792
5787
  };
5793
- const setNextStep2 = (callback) => {
5794
- const res = setStep2({ nextStep: 1 });
5788
+ const setNextStep2 = (callback, preStep) => {
5789
+ const res = setStep2({ nextStep: 1, preStep });
5795
5790
  if (callback) {
5796
5791
  callback(res, stepHistory2, stepQueue2);
5797
5792
  }
@@ -5861,14 +5856,14 @@ const dataDefaults = {
5861
5856
  lastStep: () => {
5862
5857
  return lastStep();
5863
5858
  },
5864
- setNextStep: (callback) => () => {
5865
- return setNextStep(callback);
5859
+ setNextStep: (callback, preStep) => () => {
5860
+ return setNextStep(callback, preStep);
5866
5861
  },
5867
5862
  setPreviousStep: (callback) => () => {
5868
5863
  return setPreviousStep(callback);
5869
5864
  },
5870
- setStep: (nextStep, validate2) => () => {
5871
- return setStep({ nextStep, validate: validate2 });
5865
+ setStep: (nextStep, validate2, autoFocus, preStep) => () => {
5866
+ return setStep({ nextStep, validate: validate2, autoFocus, preStep });
5872
5867
  },
5873
5868
  stepIsValid: (stepName) => {
5874
5869
  return steps[stepName].valid && steps[stepName].errorCount === 0;
@@ -11094,6 +11089,28 @@ function prepData(formData) {
11094
11089
  };
11095
11090
  return data;
11096
11091
  }
11092
+ function applyOverrides(overrides) {
11093
+ for (var key of Object.keys(overrides)) {
11094
+ const node = getNode$1(key);
11095
+ if (!node) {
11096
+ continue;
11097
+ }
11098
+ dbg("overriding node", key, "with value", overrides[key]);
11099
+ node.input(overrides[key]);
11100
+ }
11101
+ }
11102
+ function handleValueOverrides(formNode, valueOverrideMap) {
11103
+ if (!valueOverrideMap || !Object.keys(valueOverrideMap).length) {
11104
+ return;
11105
+ }
11106
+ const formData = flattenObj(formNode.value);
11107
+ for (var key of Object.keys(valueOverrideMap)) {
11108
+ if (key in formData && formData[key] in valueOverrideMap[key]) {
11109
+ const overrides = valueOverrideMap[key][formData[key]];
11110
+ applyOverrides(overrides);
11111
+ }
11112
+ }
11113
+ }
11097
11114
  window.matchMedia("only screen and (max-width: 480px)").matches;
11098
11115
  function getCoords(elem) {
11099
11116
  let box2 = elem.getBoundingClientRect();
@@ -11115,6 +11132,17 @@ const scrollAnchor = (formNode) => () => {
11115
11132
  }
11116
11133
  }
11117
11134
  };
11135
+ const preStepFunc = (formNode) => (stepNode) => {
11136
+ try {
11137
+ if (formNode.attrs.valueOverrideMap) {
11138
+ handleValueOverrides(formNode, formNode.attrs.valueOverrideMap);
11139
+ }
11140
+ } catch (err) {
11141
+ const msg = "failed to handleValueOverrides: " + err.toString();
11142
+ console.warn(msg);
11143
+ rollbar("warning", msg);
11144
+ }
11145
+ };
11118
11146
  const fireStepEvent = (formNode) => (stepResult, stepHistory2, stepQueue2) => {
11119
11147
  if (!stepResult) {
11120
11148
  return;
@@ -15538,6 +15566,7 @@ const init = () => {
15538
15566
  const data = form2.data || {};
15539
15567
  data.submitUrl = data.submitUrl || defaultSubmitUrl;
15540
15568
  data.prepData = data.prepData || prepData;
15569
+ data.preStepFunc = data.preStepFunc || preStepFunc;
15541
15570
  data.fireStepEvent = data.fireStepEvent || fireStepEvent;
15542
15571
  data.scrollAnchor = data.scrollAnchor || scrollAnchor;
15543
15572
  data.onEnter = (callback) => (e) => {