@stubber/form-fields 2.0.5 → 2.0.6

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.
@@ -37,7 +37,12 @@ const rebuild_fields = (initial_form2, form2) => {
37
37
  </script>
38
38
 
39
39
  <div class="flex flex-col gap-y-2">
40
- {#each fields as fieldStore (getStoreValue(fieldStore).id)}
41
- <FormField {fieldStore} />
42
- {/each}
40
+ {#key form}
41
+ {#key initial_form}
42
+ <!-- {count++} -->
43
+ {#each fields as fieldStore (getStoreValue(fieldStore).id)}
44
+ <FormField {fieldStore} />
45
+ {/each}
46
+ {/key}
47
+ {/key}
43
48
  </div>
@@ -21,23 +21,22 @@ import FieldMessage from "../FieldMessage.svelte";
21
21
  import { set_value_details } from "../utils";
22
22
  import FieldExprToggle from "../FieldExprToggle.svelte";
23
23
  export let fieldStore;
24
- let field = $fieldStore;
25
- set_value_details(field, "label", field.label);
26
- $: checked = isEqual($fieldStore.value, field.params?.checkedvalue || true);
24
+ set_value_details($fieldStore, "label", $fieldStore.label);
25
+ $: checked = isEqual($fieldStore.value, $fieldStore.params?.checkedvalue || true);
27
26
  const on_change = (new_value) => {
28
- const checked_value = field.params?.checkedvalue ?? true;
29
- const unchecked_value = field.params?.uncheckedvalue ?? false;
27
+ const checked_value = $fieldStore.params?.checkedvalue ?? true;
28
+ const unchecked_value = $fieldStore.params?.uncheckedvalue ?? false;
30
29
  if (new_value === true) {
31
- field.value = checked_value;
30
+ $fieldStore.value = checked_value;
32
31
  } else {
33
- field.value = unchecked_value;
32
+ $fieldStore.value = unchecked_value;
34
33
  }
35
34
  };
36
35
  </script>
37
36
 
38
37
  <div class="flex w-full items-center gap-x-2">
39
38
  <Checkbox {checked} onCheckedChange={on_change} />
40
- <Label>{field.label}</Label>
39
+ <Label>{$fieldStore.label}</Label>
41
40
  <FieldExprToggle {fieldStore} />
42
41
  </div>
43
42
  <FieldMessage {fieldStore} />
@@ -56,8 +56,7 @@ import FieldMessage from "../FieldMessage.svelte";
56
56
  import { set_value_details } from "../utils";
57
57
  import { inputRegexMask } from "../../utils/input_regex_mask";
58
58
  export let fieldStore;
59
- let field = $fieldStore;
60
- let params = field.params;
59
+ $: params = $fieldStore.params;
61
60
  const currencyRegex = /^([0-9]+(\.?[0-9]?[0-9]?)?)$/;
62
61
  const currencyName = new Intl.DisplayNames("en-US", {
63
62
  type: "currency"
@@ -94,8 +93,11 @@ if (params?.currency_whitelist && params.currency_whitelist.length > 0) {
94
93
  } else {
95
94
  currency_list = build_currency_list_from_codes(currency_codes);
96
95
  }
97
- const details_data_path = field.data_path + "_details";
98
- let current_details = get(get_store_value(field.formStore), details_data_path);
96
+ const details_data_path = $fieldStore.data_path + "_details";
97
+ let current_details = get(
98
+ get_store_value($fieldStore.formStore),
99
+ details_data_path
100
+ );
99
101
  if (!current_details) {
100
102
  current_details = {
101
103
  cents: 0,
@@ -120,8 +122,8 @@ const on_input = (e) => {
120
122
  current_details.currencysymbol = getSymbolFromCurrency(current_details.currencycode) || current_details.currencysymbol || "USD";
121
123
  current_details.cents = currency(new_value).intValue;
122
124
  current_details.amount = currency(new_value).value;
123
- field.value = current_details.amount ? current_details.amount.toFixed(2).toString() : "";
124
- set_value_details(field, "details", current_details);
125
+ $fieldStore.value = current_details.amount ? current_details.amount.toFixed(2).toString() : "";
126
+ set_value_details($fieldStore, "details", current_details);
125
127
  };
126
128
  let open = false;
127
129
  $: selectedValue = currency_list.find((c) => c.value === current_details?.currencycode)?.value || "Select Currency...";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stubber/form-fields",
3
- "version": "2.0.5",
3
+ "version": "2.0.6",
4
4
  "description": "An automatic form builder based on field specifications",
5
5
  "keywords": [
6
6
  "components",