@bagelink/vue 1.1.50 → 1.1.52

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.
@@ -3,7 +3,7 @@ import { Field, BglFormSchemaT } from '../types/BagelForm';
3
3
  export interface UseSchemaFieldOptions<T> {
4
4
  mode?: 'form' | 'preview' | 'table';
5
5
  getFormData?: () => T;
6
- onUpdate?: (field: Field<T>, value: any) => void;
6
+ onUpdateModelValue?: (field: Field<T>, value: any) => void;
7
7
  includeUnset?: boolean;
8
8
  }
9
9
  interface SlotProps<T> {
@@ -1 +1 @@
1
- {"version":3,"file":"useSchemaField.d.ts","sourceRoot":"","sources":["../../src/composables/useSchemaField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AAChC,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAA+B,MAAM,oBAAoB,CAAA;AA2B5F,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAA;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;IAChD,YAAY,CAAC,EAAE,OAAO,CAAA;CACtB;AAGD,UAAU,SAAS,CAAC,CAAC;IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;CAAE;AACnD,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA;AACnD,KAAK,aAAa,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;AAEnE,wBAAgB,cAAc,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC;yBAuE1F,KAAK,CAAC,CAAC,CAAC,UACP,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,KACtC,KAAK,GAAG,IAAI;0BAvCc,KAAK,CAAC,CAAC,CAAC;EA8NrC"}
1
+ {"version":3,"file":"useSchemaField.d.ts","sourceRoot":"","sources":["../../src/composables/useSchemaField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AAChC,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAA+B,MAAM,oBAAoB,CAAA;AA2B5F,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAA;IACrB,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAA;CACtB;AAGD,UAAU,SAAS,CAAC,CAAC;IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;CAAE;AACnD,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA;AACnD,KAAK,aAAa,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;AAEnE,wBAAgB,cAAc,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC;yBAuE1F,KAAK,CAAC,CAAC,CAAC,UACP,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,KACtC,KAAK,GAAG,IAAI;0BAvCc,KAAK,CAAC,CAAC,CAAC;EAgOrC"}
package/dist/index.cjs CHANGED
@@ -10529,7 +10529,7 @@ const _sfc_main$Z = /* @__PURE__ */ vue.defineComponent({
10529
10529
  const SLOT_VALUE_COMPONENTS$1 = /* @__PURE__ */ new Set(["div", "span", "p"]);
10530
10530
  const SRC_VALUE_COMPONENTS$1 = /* @__PURE__ */ new Set(["img", "iframe"]);
10531
10531
  function useSchemaField(optns) {
10532
- const { mode = "form", getFormData, onUpdate, includeUnset = false } = optns;
10532
+ const { mode = "form", getFormData, onUpdateModelValue, includeUnset = false } = optns;
10533
10533
  function renderObject(obj, depth = 0) {
10534
10534
  if (obj === null || obj === void 0) return "";
10535
10535
  if (typeof obj !== "object") return String(obj);
@@ -10611,6 +10611,7 @@ ${indent}}`;
10611
10611
  id,
10612
10612
  transform,
10613
10613
  validate,
10614
+ onUpdate,
10614
10615
  slots: fieldSlots,
10615
10616
  required: required2,
10616
10617
  label,
@@ -10618,7 +10619,7 @@ ${indent}}`;
10618
10619
  disabled,
10619
10620
  ...fieldProps
10620
10621
  } = field;
10621
- const currentValue = field.id ? rowData && ("get" in rowData ? rowData.get(field.id) : rowData[field.id]) : void 0;
10622
+ const currentValue = field.id ? "get" in (rowData || {}) ? rowData == null ? void 0 : rowData.get(field.id) : rowData == null ? void 0 : rowData[field.id] : void 0;
10622
10623
  const transformedValue = transform ? transform(currentValue, rowData) : currentValue;
10623
10624
  const boundFieldProps = bindAttrs(fieldProps, currentValue, rowData);
10624
10625
  const isSlotValueComponent = typeof Component === "string" && SLOT_VALUE_COMPONENTS$1.has(Component);
@@ -10631,12 +10632,13 @@ ${indent}}`;
10631
10632
  disabled,
10632
10633
  validate,
10633
10634
  id,
10634
- getFormData
10635
+ getFormData,
10636
+ onUpdate
10635
10637
  };
10636
10638
  if (mode === "form") {
10637
10639
  props2.modelValue = currentValue;
10638
10640
  props2["onUpdate:modelValue"] = (value) => {
10639
- onUpdate == null ? void 0 : onUpdate(field, value);
10641
+ onUpdateModelValue == null ? void 0 : onUpdateModelValue(field, value);
10640
10642
  };
10641
10643
  } else {
10642
10644
  if (isSlotValueComponent) ;
@@ -10903,7 +10905,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
10903
10905
  mode: "preview",
10904
10906
  getFormData: () => firstItem.value,
10905
10907
  includeUnset: props2.includeUnset,
10906
- onUpdate: void 0
10908
+ onUpdateModelValue: void 0
10907
10909
  });
10908
10910
  return (_ctx, _cache) => {
10909
10911
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$O, [
@@ -10916,7 +10918,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
10916
10918
  };
10917
10919
  }
10918
10920
  });
10919
- const DataPreview = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-a308bd05"]]);
10921
+ const DataPreview = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-430b1998"]]);
10920
10922
  function useTableSelection(options) {
10921
10923
  const allSelectorEl = vue.ref();
10922
10924
  const computedSelectedItems = vue.computed(() => options.selectedItems.value);
@@ -11791,7 +11793,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
11791
11793
  emits: /* @__PURE__ */ vue.mergeModels(["orderBy", "select", "lastItemVisible"], ["update:loading", "update:itemHeight", "update:selectedItems"]),
11792
11794
  setup(__props, { emit: __emit }) {
11793
11795
  vue.useCssVars((_ctx) => ({
11794
- "71f16c8b": vue.unref(computedItemHeight)
11796
+ "18d61d81": vue.unref(computedItemHeight)
11795
11797
  }));
11796
11798
  const props2 = __props;
11797
11799
  const emit2 = __emit;
@@ -11861,7 +11863,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
11861
11863
  }
11862
11864
  return row;
11863
11865
  },
11864
- onUpdate: void 0
11866
+ onUpdateModelValue: void 0
11865
11867
  });
11866
11868
  return renderField({ ...field, label: "" }, slots);
11867
11869
  }
@@ -11980,7 +11982,7 @@ const _sfc_main$X = /* @__PURE__ */ vue.defineComponent({
11980
11982
  };
11981
11983
  }
11982
11984
  });
11983
- const DataTable = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["__scopeId", "data-v-a9b416ed"]]);
11985
+ const DataTable = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["__scopeId", "data-v-382d1c94"]]);
11984
11986
  function useDraggable(options = {}) {
11985
11987
  const isDragging = vue.ref(false);
11986
11988
  const dragElement = vue.ref(null);
@@ -15236,15 +15238,16 @@ function richText(id, label, options) {
15236
15238
  function txtField(id, label, options) {
15237
15239
  return {
15238
15240
  $el: "text",
15239
- class: options == null ? void 0 : options.class,
15240
- required: options == null ? void 0 : options.required,
15241
15241
  id,
15242
15242
  label,
15243
+ class: options == null ? void 0 : options.class,
15244
+ required: options == null ? void 0 : options.required,
15243
15245
  vIf: options == null ? void 0 : options.vIf,
15244
15246
  disabled: options == null ? void 0 : options.disabled,
15245
15247
  placeholder: options == null ? void 0 : options.placeholder,
15246
15248
  defaultValue: options == null ? void 0 : options.defaultValue,
15247
15249
  validate: options == null ? void 0 : options.validate,
15250
+ onUpdate: options == null ? void 0 : options.onUpdate,
15248
15251
  attrs: {
15249
15252
  type: options == null ? void 0 : options.type,
15250
15253
  pattern: options == null ? void 0 : options.pattern,
@@ -15771,12 +15774,11 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
15771
15774
  ...formData.value,
15772
15775
  get: (path) => getNestedValue(formData.value, path, "")
15773
15776
  }),
15774
- onUpdate: (field, value) => {
15777
+ onUpdateModelValue: (field, value) => {
15775
15778
  var _a;
15776
- if (field == null ? void 0 : field.id) {
15777
- updateFormData(field.id, value);
15778
- (_a = field.onUpdate) == null ? void 0 : _a.call(field, value, formData.value);
15779
- }
15779
+ if (!field.id) return;
15780
+ updateFormData(field.id, value);
15781
+ (_a = field.onUpdate) == null ? void 0 : _a.call(field, value, formData.value);
15780
15782
  }
15781
15783
  });
15782
15784
  const renderSchemaField = (field) => renderField(field);
@@ -33958,9 +33960,9 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
33958
33960
  const TabsNav = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-6ece2018"]]);
33959
33961
  const _hoisted_1$e = {
33960
33962
  key: 0,
33961
- class: "txt10 no-margin txt-gray ellipsis"
33963
+ class: "txt10 no-margin txt-gray ellipsis txt-start"
33962
33964
  };
33963
- const _hoisted_2$9 = { class: "no-margin ellipsis line-height-14 pb-025" };
33965
+ const _hoisted_2$9 = { class: "no-margin ellipsis line-height-14 pb-025 txt-start" };
33964
33966
  const _hoisted_3$7 = {
33965
33967
  key: 1,
33966
33968
  class: "txt12 no-margin txt-gray ellipsis"
package/dist/index.mjs CHANGED
@@ -10527,7 +10527,7 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
10527
10527
  const SLOT_VALUE_COMPONENTS$1 = /* @__PURE__ */ new Set(["div", "span", "p"]);
10528
10528
  const SRC_VALUE_COMPONENTS$1 = /* @__PURE__ */ new Set(["img", "iframe"]);
10529
10529
  function useSchemaField(optns) {
10530
- const { mode = "form", getFormData, onUpdate, includeUnset = false } = optns;
10530
+ const { mode = "form", getFormData, onUpdateModelValue, includeUnset = false } = optns;
10531
10531
  function renderObject(obj, depth = 0) {
10532
10532
  if (obj === null || obj === void 0) return "";
10533
10533
  if (typeof obj !== "object") return String(obj);
@@ -10609,6 +10609,7 @@ ${indent}}`;
10609
10609
  id,
10610
10610
  transform,
10611
10611
  validate,
10612
+ onUpdate,
10612
10613
  slots: fieldSlots,
10613
10614
  required: required2,
10614
10615
  label,
@@ -10616,7 +10617,7 @@ ${indent}}`;
10616
10617
  disabled,
10617
10618
  ...fieldProps
10618
10619
  } = field;
10619
- const currentValue = field.id ? rowData && ("get" in rowData ? rowData.get(field.id) : rowData[field.id]) : void 0;
10620
+ const currentValue = field.id ? "get" in (rowData || {}) ? rowData == null ? void 0 : rowData.get(field.id) : rowData == null ? void 0 : rowData[field.id] : void 0;
10620
10621
  const transformedValue = transform ? transform(currentValue, rowData) : currentValue;
10621
10622
  const boundFieldProps = bindAttrs(fieldProps, currentValue, rowData);
10622
10623
  const isSlotValueComponent = typeof Component === "string" && SLOT_VALUE_COMPONENTS$1.has(Component);
@@ -10629,12 +10630,13 @@ ${indent}}`;
10629
10630
  disabled,
10630
10631
  validate,
10631
10632
  id,
10632
- getFormData
10633
+ getFormData,
10634
+ onUpdate
10633
10635
  };
10634
10636
  if (mode === "form") {
10635
10637
  props2.modelValue = currentValue;
10636
10638
  props2["onUpdate:modelValue"] = (value) => {
10637
- onUpdate == null ? void 0 : onUpdate(field, value);
10639
+ onUpdateModelValue == null ? void 0 : onUpdateModelValue(field, value);
10638
10640
  };
10639
10641
  } else {
10640
10642
  if (isSlotValueComponent) ;
@@ -10901,7 +10903,7 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
10901
10903
  mode: "preview",
10902
10904
  getFormData: () => firstItem.value,
10903
10905
  includeUnset: props2.includeUnset,
10904
- onUpdate: void 0
10906
+ onUpdateModelValue: void 0
10905
10907
  });
10906
10908
  return (_ctx, _cache) => {
10907
10909
  return openBlock(), createElementBlock("div", _hoisted_1$O, [
@@ -10914,7 +10916,7 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
10914
10916
  };
10915
10917
  }
10916
10918
  });
10917
- const DataPreview = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-a308bd05"]]);
10919
+ const DataPreview = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-430b1998"]]);
10918
10920
  function useTableSelection(options) {
10919
10921
  const allSelectorEl = ref();
10920
10922
  const computedSelectedItems = computed(() => options.selectedItems.value);
@@ -11789,7 +11791,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
11789
11791
  emits: /* @__PURE__ */ mergeModels(["orderBy", "select", "lastItemVisible"], ["update:loading", "update:itemHeight", "update:selectedItems"]),
11790
11792
  setup(__props, { emit: __emit }) {
11791
11793
  useCssVars((_ctx) => ({
11792
- "71f16c8b": unref(computedItemHeight)
11794
+ "18d61d81": unref(computedItemHeight)
11793
11795
  }));
11794
11796
  const props2 = __props;
11795
11797
  const emit2 = __emit;
@@ -11859,7 +11861,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
11859
11861
  }
11860
11862
  return row;
11861
11863
  },
11862
- onUpdate: void 0
11864
+ onUpdateModelValue: void 0
11863
11865
  });
11864
11866
  return renderField({ ...field, label: "" }, slots);
11865
11867
  }
@@ -11978,7 +11980,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
11978
11980
  };
11979
11981
  }
11980
11982
  });
11981
- const DataTable = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["__scopeId", "data-v-a9b416ed"]]);
11983
+ const DataTable = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["__scopeId", "data-v-382d1c94"]]);
11982
11984
  function useDraggable(options = {}) {
11983
11985
  const isDragging = ref(false);
11984
11986
  const dragElement = ref(null);
@@ -15234,15 +15236,16 @@ function richText(id, label, options) {
15234
15236
  function txtField(id, label, options) {
15235
15237
  return {
15236
15238
  $el: "text",
15237
- class: options == null ? void 0 : options.class,
15238
- required: options == null ? void 0 : options.required,
15239
15239
  id,
15240
15240
  label,
15241
+ class: options == null ? void 0 : options.class,
15242
+ required: options == null ? void 0 : options.required,
15241
15243
  vIf: options == null ? void 0 : options.vIf,
15242
15244
  disabled: options == null ? void 0 : options.disabled,
15243
15245
  placeholder: options == null ? void 0 : options.placeholder,
15244
15246
  defaultValue: options == null ? void 0 : options.defaultValue,
15245
15247
  validate: options == null ? void 0 : options.validate,
15248
+ onUpdate: options == null ? void 0 : options.onUpdate,
15246
15249
  attrs: {
15247
15250
  type: options == null ? void 0 : options.type,
15248
15251
  pattern: options == null ? void 0 : options.pattern,
@@ -15769,12 +15772,11 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
15769
15772
  ...formData.value,
15770
15773
  get: (path) => getNestedValue(formData.value, path, "")
15771
15774
  }),
15772
- onUpdate: (field, value) => {
15775
+ onUpdateModelValue: (field, value) => {
15773
15776
  var _a;
15774
- if (field == null ? void 0 : field.id) {
15775
- updateFormData(field.id, value);
15776
- (_a = field.onUpdate) == null ? void 0 : _a.call(field, value, formData.value);
15777
- }
15777
+ if (!field.id) return;
15778
+ updateFormData(field.id, value);
15779
+ (_a = field.onUpdate) == null ? void 0 : _a.call(field, value, formData.value);
15778
15780
  }
15779
15781
  });
15780
15782
  const renderSchemaField = (field) => renderField(field);
@@ -33956,9 +33958,9 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
33956
33958
  const TabsNav = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-6ece2018"]]);
33957
33959
  const _hoisted_1$e = {
33958
33960
  key: 0,
33959
- class: "txt10 no-margin txt-gray ellipsis"
33961
+ class: "txt10 no-margin txt-gray ellipsis txt-start"
33960
33962
  };
33961
- const _hoisted_2$9 = { class: "no-margin ellipsis line-height-14 pb-025" };
33963
+ const _hoisted_2$9 = { class: "no-margin ellipsis line-height-14 pb-025 txt-start" };
33962
33964
  const _hoisted_3$7 = {
33963
33965
  key: 1,
33964
33966
  class: "txt12 no-margin txt-gray ellipsis"
package/dist/style.css CHANGED
@@ -1005,48 +1005,48 @@ display: block;
1005
1005
  }
1006
1006
  }
1007
1007
 
1008
- .data-preview[data-v-a308bd05] {
1008
+ .data-preview[data-v-430b1998] {
1009
1009
  display: flex;
1010
1010
  flex-direction: column;
1011
1011
  gap: 0.5rem;
1012
1012
  }
1013
- .preview-field[data-v-a308bd05] {
1013
+ .preview-field[data-v-430b1998] {
1014
1014
  display: flex;
1015
1015
  flex-direction: row;
1016
1016
  align-items: center;
1017
1017
  gap: 0.5rem;
1018
1018
  }
1019
- .field-label[data-v-a308bd05] {
1019
+ .field-label[data-v-430b1998] {
1020
1020
  font-size: 0.8rem;
1021
1021
  color: var(--bgl-black-tint);
1022
1022
  font-weight: 500;
1023
1023
  }
1024
- .field-value[data-v-a308bd05] {
1024
+ .field-value[data-v-430b1998] {
1025
1025
  font-size: 0.95rem;
1026
1026
  }
1027
- .empty-preview[data-v-a308bd05] {
1027
+ .empty-preview[data-v-430b1998] {
1028
1028
  font-size: 0.9rem;
1029
1029
  color: var(--bgl-black-tint);
1030
1030
  padding: 1rem 0;
1031
1031
  text-align: center;
1032
1032
  }
1033
1033
 
1034
- .table-list-wrap[data-v-a9b416ed] {
1034
+ .table-list-wrap[data-v-382d1c94] {
1035
1035
  min-height: 150px;
1036
1036
  }
1037
- .selected[data-v-a9b416ed] {
1037
+ .selected[data-v-382d1c94] {
1038
1038
  background: var(--bgl-primary-tint);
1039
1039
  }
1040
- tbody tr.selected[data-v-a9b416ed]:hover {
1040
+ tbody tr.selected[data-v-382d1c94]:hover {
1041
1041
  background: var(--bgl-primary-light);
1042
1042
  }
1043
- .loading-table[data-v-a9b416ed] {
1043
+ .loading-table[data-v-382d1c94] {
1044
1044
  position: relative;
1045
1045
  }
1046
- .inset[data-v-a9b416ed] {
1046
+ .inset[data-v-382d1c94] {
1047
1047
  inset: 0;
1048
1048
  }
1049
- .loading-table-animation[data-v-a9b416ed] {
1049
+ .loading-table-animation[data-v-382d1c94] {
1050
1050
  --size: 60px;
1051
1051
  top: 30vh;
1052
1052
  inset-inline-start: calc(50% - var(--size));
@@ -1054,9 +1054,9 @@ tbody tr.selected[data-v-a9b416ed]:hover {
1054
1054
  border-top: 4px solid var(--bgl-primary);
1055
1055
  width: var(--size);
1056
1056
  height: var(--size);
1057
- animation: loading-table-a9b416ed 1s linear infinite;
1057
+ animation: loading-table-382d1c94 1s linear infinite;
1058
1058
  }
1059
- @keyframes loading-table-a9b416ed {
1059
+ @keyframes loading-table-382d1c94 {
1060
1060
  0% {
1061
1061
  transform: translate(-50%, -50%) rotate(0deg);
1062
1062
  }
@@ -1064,55 +1064,55 @@ tbody tr.selected[data-v-a9b416ed]:hover {
1064
1064
  transform: translate(-50%, -50%) rotate(360deg);
1065
1065
  }
1066
1066
  }
1067
- .list-arrows[data-v-a9b416ed] {
1067
+ .list-arrows[data-v-382d1c94] {
1068
1068
  opacity: 0;
1069
1069
  }
1070
- .list-arrows .bgl_icon-font[data-v-a9b416ed] {
1070
+ .list-arrows .bgl_icon-font[data-v-382d1c94] {
1071
1071
  transition: all ease-in-out 0.2s;
1072
1072
  }
1073
- .list-arrows.sorted[data-v-a9b416ed] {
1073
+ .list-arrows.sorted[data-v-382d1c94] {
1074
1074
  opacity: 1;
1075
1075
  }
1076
- .col img[data-v-a9b416ed] {
1076
+ .col img[data-v-382d1c94] {
1077
1077
  height: 35px;
1078
1078
  margin-top: -14px;
1079
1079
  margin-bottom: -14px;
1080
1080
  border-radius: 5px;
1081
1081
  object-fit: cover;
1082
1082
  }
1083
- .col[data-v-a9b416ed]:has(img) {
1083
+ .col[data-v-382d1c94]:has(img) {
1084
1084
  padding-inline-end: 0.5rem;
1085
1085
  }
1086
- .list-arrows.sorted .desc[data-v-a9b416ed] {
1086
+ .list-arrows.sorted .desc[data-v-382d1c94] {
1087
1087
  transform: rotate(180deg);
1088
1088
  display: inline-block;
1089
1089
  }
1090
- table[data-v-a9b416ed] {
1090
+ table[data-v-382d1c94] {
1091
1091
  border-spacing: 0 15px;
1092
1092
  border-collapse: collapse;
1093
1093
  width: 100%;
1094
1094
  }
1095
- th[data-v-a9b416ed] {
1095
+ th[data-v-382d1c94] {
1096
1096
  font-size: 0.8rem;
1097
1097
  color: var(--bgl-black-tint);
1098
1098
  position: sticky;
1099
1099
  top: 0;
1100
1100
  z-index: 2;
1101
1101
  background: var(--bgl-box-bg);
1102
- height: var(--71f16c8b);
1102
+ height: var(--18d61d81);
1103
1103
  vertical-align: bottom;
1104
1104
  font-weight: 400;
1105
1105
  text-align: start;
1106
1106
  }
1107
- .embedded-field[data-v-a9b416ed] {
1107
+ .embedded-field[data-v-382d1c94] {
1108
1108
  margin-bottom: -0.2rem;
1109
1109
  margin-top: -0.2rem;
1110
1110
  }
1111
- .row[data-v-a9b416ed] {
1111
+ .row[data-v-382d1c94] {
1112
1112
  border-bottom: 1px solid var(--border-color);
1113
1113
  cursor: pointer;
1114
1114
  }
1115
- .row.first-row[data-v-a9b416ed] {
1115
+ .row.first-row[data-v-382d1c94] {
1116
1116
  font-size: 0.8rem;
1117
1117
  color: var(--bgl-black-tint);
1118
1118
  position: sticky;
@@ -1121,7 +1121,7 @@ th[data-v-a9b416ed] {
1121
1121
  background: var(--bgl-box-bg);
1122
1122
  vertical-align: bottom;
1123
1123
  }
1124
- .row.first-row[data-v-a9b416ed]::after {
1124
+ .row.first-row[data-v-382d1c94]::after {
1125
1125
  content: '';
1126
1126
  border-bottom: 1px solid var(--border-color);
1127
1127
  position: absolute;
@@ -1129,11 +1129,11 @@ th[data-v-a9b416ed] {
1129
1129
  right: 0;
1130
1130
  bottom: -1px;
1131
1131
  }
1132
- .first-row .col[data-v-a9b416ed] {
1132
+ .first-row .col[data-v-382d1c94] {
1133
1133
  cursor: pointer;
1134
1134
  background: var(--bgl-box-bg);
1135
1135
  }
1136
- .col[data-v-a9b416ed] {
1136
+ .col[data-v-382d1c94] {
1137
1137
  white-space: nowrap;
1138
1138
  padding: 0.75rem 1rem;
1139
1139
  transition: var(--bgl-transition);
@@ -1143,19 +1143,19 @@ th[data-v-a9b416ed] {
1143
1143
  overflow: hidden;
1144
1144
  max-width: 30vw;
1145
1145
  }
1146
- .col[data-v-a9b416ed]:has(.bagel-input) {
1146
+ .col[data-v-382d1c94]:has(.bagel-input) {
1147
1147
  padding: 0rem 0.25rem;
1148
1148
  }
1149
- .col > div[data-v-a9b416ed] {
1149
+ .col > div[data-v-382d1c94] {
1150
1150
  display: flex;
1151
1151
  gap: 0.5rem;
1152
1152
  }
1153
- .max-col-width[data-v-a9b416ed] {
1153
+ .max-col-width[data-v-382d1c94] {
1154
1154
  max-width: 30vw;
1155
1155
  overflow: hidden;
1156
1156
  text-overflow: ellipsis;
1157
1157
  }
1158
- .col.check .bgl_icon-font[data-v-a9b416ed] {
1158
+ .col.check .bgl_icon-font[data-v-382d1c94] {
1159
1159
  border-radius: 100%;
1160
1160
  background: var(--bgl-blue-20);
1161
1161
  color: var(--bgl-primary);
@@ -1166,35 +1166,35 @@ th[data-v-a9b416ed] {
1166
1166
  justify-content: center;
1167
1167
  margin-top: -2px;
1168
1168
  }
1169
- .rows[data-v-a9b416ed] {
1169
+ .rows[data-v-382d1c94] {
1170
1170
  font-size: 0.88em;
1171
1171
  }
1172
- .table-list[data-v-a9b416ed] {
1172
+ .table-list[data-v-382d1c94] {
1173
1173
  height: 100%;
1174
1174
  position: relative;
1175
1175
  padding-left: 0 !important;
1176
1176
  padding-right: 0 !important;
1177
1177
  overflow: auto;
1178
1178
  }
1179
- .BagelTable .table-list[data-v-a9b416ed] {
1179
+ .BagelTable .table-list[data-v-382d1c94] {
1180
1180
  overflow: unset;
1181
1181
  }
1182
- .row-item[data-v-a9b416ed] {
1183
- height: var(--71f16c8b);
1182
+ .row-item[data-v-382d1c94] {
1183
+ height: var(--18d61d81);
1184
1184
  transition: all 200ms ease;
1185
1185
  }
1186
- .row-item[data-v-a9b416ed]:hover {
1186
+ .row-item[data-v-382d1c94]:hover {
1187
1187
  background: var(--bgl-gray-light);
1188
1188
  }
1189
- .row-item input[type='checkbox'][data-v-a9b416ed] {
1189
+ .row-item input[type='checkbox'][data-v-382d1c94] {
1190
1190
  margin-top: 0.45rem !important;
1191
1191
  accent-color: var(--bgl-accent-color);
1192
1192
  }
1193
- .infinite-wrapper[data-v-a9b416ed] {
1193
+ .infinite-wrapper[data-v-382d1c94] {
1194
1194
  overflow-y: auto;
1195
1195
  width: 100%;
1196
1196
  }
1197
- input[type='checkbox'][data-v-a9b416ed] {
1197
+ input[type='checkbox'][data-v-382d1c94] {
1198
1198
  margin-top: 0.3rem !important;
1199
1199
  accent-color: var(--bgl-accent-color);
1200
1200
  transform: scale(1.2);
@@ -1206,7 +1206,7 @@ input[type='checkbox'][data-v-a9b416ed] {
1206
1206
  height: 0.85rem;
1207
1207
  width: 0.85rem;
1208
1208
  }
1209
- input[type='checkbox'][data-v-a9b416ed]::before {
1209
+ input[type='checkbox'][data-v-382d1c94]::before {
1210
1210
  content: '';
1211
1211
  height: 0.85rem;
1212
1212
  width: 0.85rem;
@@ -1219,18 +1219,18 @@ input[type='checkbox'][data-v-a9b416ed]::before {
1219
1219
  transform: scale(1);
1220
1220
  position: absolute;
1221
1221
  }
1222
- input[type='checkbox'][data-v-a9b416ed]:hover::before {
1222
+ input[type='checkbox'][data-v-382d1c94]:hover::before {
1223
1223
  opacity: 0.2;
1224
1224
  transform: scale(2);
1225
1225
  }
1226
- [lang='he'] [dir='ltr'][data-v-a9b416ed] {
1226
+ [lang='he'] [dir='ltr'][data-v-382d1c94] {
1227
1227
  text-align: right;
1228
1228
  }
1229
- th input[type='checkbox'][data-v-a9b416ed] {
1229
+ th input[type='checkbox'][data-v-382d1c94] {
1230
1230
  transform: translateY(0.2rem) scale(1.2);
1231
1231
  accent-color: var(--bgl-accent-color);
1232
1232
  }
1233
- th[data-v-a9b416ed]::after {
1233
+ th[data-v-382d1c94]::after {
1234
1234
  content: '';
1235
1235
  border-bottom: 1px solid var(--border-color);
1236
1236
  position: absolute;
@@ -1238,24 +1238,24 @@ th[data-v-a9b416ed]::after {
1238
1238
  right: 0;
1239
1239
  bottom: -1px;
1240
1240
  }
1241
- tr[data-v-a9b416ed] {
1241
+ tr[data-v-382d1c94] {
1242
1242
  border-bottom: 1px solid var(--border-color);
1243
1243
  cursor: pointer;
1244
1244
  align-items: center;
1245
1245
  }
1246
- td[data-v-a9b416ed],
1247
- th[data-v-a9b416ed] {
1246
+ td[data-v-382d1c94],
1247
+ th[data-v-382d1c94] {
1248
1248
  white-space: nowrap;
1249
1249
  padding: 0.75rem 0.65rem;
1250
1250
  transition: var(--bgl-transition);
1251
1251
  line-height: 1;
1252
1252
  }
1253
- tbody tr[data-v-a9b416ed] {
1253
+ tbody tr[data-v-382d1c94] {
1254
1254
  font-size: 0.88em;
1255
- height: var(--71f16c8b);
1255
+ height: var(--18d61d81);
1256
1256
  transition: all 200ms ease;
1257
1257
  }
1258
- tbody tr[data-v-a9b416ed]:hover {
1258
+ tbody tr[data-v-382d1c94]:hover {
1259
1259
  background: var(--bgl-gray-light);
1260
1260
  }
1261
1261
 
@@ -19,9 +19,10 @@ export type GenericAssertFn<T> = (val: any, row?: T) => boolean;
19
19
  export type TypedAssertFn<T, K> = (K extends keyof T ? (val?: PathValue<T, K>, row?: T) => boolean : GenericAssertFn<T>);
20
20
  export type VIfType<T, K> = string | boolean | TypedAssertFn<T, K>;
21
21
  export type ValidationFn<T, K> = (val: PathValue<T, K>, rowData?: T) => string | undefined;
22
+ export type NonArrayMethodKeys<T> = Exclude<keyof T, keyof any[] | symbol>;
22
23
  export type Path<T> = {
23
- [K in keyof T & (string | number)]: T[K] extends object ? `${K}` | `${K}.${Path<T[K]>}` : `${K}`;
24
- }[keyof T & (string | number)];
24
+ [K in NonArrayMethodKeys<T> & (string | number)]: T[K] extends object ? (`${K}` | (Path<T[K]> extends infer Rest ? Rest extends string | number ? `${K}.${Rest}` : never : never)) : `${K}`;
25
+ }[NonArrayMethodKeys<T> & (string | number)];
25
26
  export type PathValue<T, P> = P extends `${infer Key}.${infer Rest}` ? Key extends keyof T ? PathValue<T[Key], Rest> : never : P extends keyof T ? T[P] : never;
26
27
  export type SchemaChildrenT<T> = (Field<T> | string | VNode)[];
27
28
  export interface BaseBagelField<T, P> {
@@ -43,21 +44,19 @@ export interface BaseBagelField<T, P> {
43
44
  'vIf'?: VIfType<T, P>;
44
45
  'v-if'?: VIfType<T, P>;
45
46
  'transform'?: (val?: PathValue<T, P>, rowData?: T) => any;
46
- 'onUpdate'?: (val?: PathValue<T, P>, rowData?: T, field?: BaseBagelField<T, P>) => unknown;
47
+ 'onUpdate'?: (val?: PathValue<T, P>, rowData?: T) => unknown;
47
48
  'validate'?: ValidationFn<T, P>;
48
49
  }
49
50
  export type MappedBaseBagelField<T> = {
50
51
  [P in Path<T>]: BaseBagelField<T, P>;
51
52
  }[Path<T>];
52
- export interface InputBagelField<T, P> extends BaseBagelField<T, P> {
53
+ export type InputBagelField<T> = MappedBaseBagelField<T> & {
53
54
  $el: 'text' | ComponentExposed<typeof TextInput>;
54
- id?: P;
55
55
  type?: string;
56
- }
57
- export interface SelectBagelField<T, P> extends BaseBagelField<T, P> {
56
+ };
57
+ export type SelectBagelField<T> = MappedBaseBagelField<T> & {
58
58
  $el: 'select' | ComponentExposed<typeof SelectInput>;
59
- id?: P;
60
- }
59
+ };
61
60
  export type Field<T> = MappedBaseBagelField<T>;
62
61
  export type BglFieldT<T> = Field<T>;
63
62
  export type BglFormSchemaT<T> = Field<T>[];
@@ -1 +1 @@
1
- {"version":3,"file":"BagelForm.d.ts","sourceRoot":"","sources":["../../src/types/BagelForm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BagelForm.d.ts","sourceRoot":"","sources":["../../src/types/BagelForm.ts"],"names":[],"mappings":"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"}
@@ -45,10 +45,10 @@ export declare function richText<T extends {
45
45
  }, P>(id: P, label?: string, options?: RichTextOptions<T, P>): BaseBagelField<T, P>;
46
46
  export declare function txtField<T extends {
47
47
  [key: string]: any;
48
- }, P>(id: P, label?: string, options?: TextInputOptions<T, P> & Partial<BaseBagelField<T, P>>): InputBagelField<T, P>;
48
+ }, P>(id: P, label?: string, options?: TextInputOptions<T, P> & Partial<BaseBagelField<T, P>>): BaseBagelField<T, P> | InputBagelField<T>;
49
49
  export declare function selectField<T extends {
50
50
  [key: string]: any;
51
- }, P>(id: P, label?: string, options?: Option[] | (() => Option[]), config?: SlctInputOptions<T, P>): SelectBagelField<T, P>;
51
+ }, P>(id: P, label?: string, options?: Option[] | (() => Option[]), config?: SlctInputOptions<T, P>): BaseBagelField<T, P> | SelectBagelField<T>;
52
52
  export declare const slctField: typeof selectField;
53
53
  interface CheckInputOptions<T, K> extends InputOptions<T, K> {
54
54
  value?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"BagelFormUtils.d.ts","sourceRoot":"","sources":["../../src/utils/BagelFormUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BagelFormUtils.d.ts","sourceRoot":"","sources":["../../src/utils/BagelFormUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/vue",
3
3
  "type": "module",
4
- "version": "1.1.50",
4
+ "version": "1.1.52",
5
5
  "description": "Bagel core sdk packages",
6
6
  "author": {
7
7
  "name": "Neveh Allon",
@@ -41,7 +41,7 @@ const { renderField } = useSchemaField<T, P>({
41
41
  mode: 'preview',
42
42
  getFormData: () => firstItem.value,
43
43
  includeUnset: props.includeUnset,
44
- onUpdate: undefined,
44
+ onUpdateModelValue: undefined,
45
45
  })
46
46
  </script>
47
47
 
@@ -51,11 +51,11 @@ const bind = $computed(() => {
51
51
  <Icon v-if="icon" size="1.2" class="color-primary" :icon="icon" />
52
52
 
53
53
  <div>
54
- <p v-if="lead" class="txt10 no-margin txt-gray ellipsis">
54
+ <p v-if="lead" class="txt10 no-margin txt-gray ellipsis txt-start">
55
55
  {{ lead }}
56
56
  <slot name="lead" />
57
57
  </p>
58
- <p class="no-margin ellipsis line-height-14 pb-025">
58
+ <p class="no-margin ellipsis line-height-14 pb-025 txt-start">
59
59
  {{ title }}
60
60
  <slot />
61
61
  </p>
@@ -93,7 +93,7 @@ function renderFieldForRow(field: Field<T>, row: T) {
93
93
  }
94
94
  return row
95
95
  },
96
- onUpdate: undefined
96
+ onUpdateModelValue: undefined
97
97
  })
98
98
  return renderField({ ...field, label: '' } as Field<T>, slots)
99
99
  }
@@ -137,11 +137,11 @@ const { renderField } = useSchemaField<T, P>({
137
137
  ...formData.value,
138
138
  get: (path: string) => getNestedValue(formData.value, path, '')
139
139
  }),
140
- onUpdate: (field, value) => {
141
- if (field?.id) {
142
- updateFormData(field.id, value)
143
- field.onUpdate?.(value, formData.value)
144
- }
140
+ onUpdateModelValue: (field, value) => {
141
+ if (!field.id) return
142
+
143
+ updateFormData(field.id, value)
144
+ field.onUpdate?.(value, formData.value)
145
145
  }
146
146
  })
147
147
 
@@ -29,7 +29,7 @@ const SRC_VALUE_COMPONENTS = new Set(['img', 'iframe'])
29
29
  export interface UseSchemaFieldOptions<T> {
30
30
  mode?: 'form' | 'preview' | 'table'
31
31
  getFormData?: () => T
32
- onUpdate?: (field: Field<T>, value: any) => void // not the same as BaseBagelField<T, P>['onUpdate'] type
32
+ onUpdateModelValue?: (field: Field<T>, value: any) => void
33
33
  includeUnset?: boolean
34
34
  }
35
35
 
@@ -39,7 +39,7 @@ type SlotFunction<T> = (props: SlotProps<T>) => any
39
39
  type SupportedSlot<T> = BglFormSchemaT<T> | VNode | SlotFunction<T>
40
40
 
41
41
  export function useSchemaField<T extends { [key: string]: any }, P>(optns: UseSchemaFieldOptions<T>) {
42
- const { mode = 'form', getFormData, onUpdate, includeUnset = false } = optns
42
+ const { mode = 'form', getFormData, onUpdateModelValue, includeUnset = false } = optns
43
43
 
44
44
  // Helper function to render objects recursively
45
45
  function renderObject(obj: any, depth = 0): string {
@@ -123,14 +123,14 @@ export function useSchemaField<T extends { [key: string]: any }, P>(optns: UseSc
123
123
  if (typeof condition === 'function') {
124
124
  if (
125
125
  !condition(
126
- field.id ? rowData?.[field.id as keyof T] : undefined,
126
+ field.id ? rowData?.[field.id] : undefined,
127
127
  rowData
128
128
  )
129
129
  ) {
130
130
  return null
131
131
  }
132
132
  } else if (typeof condition === 'string') {
133
- if (!rowData?.[condition as keyof T]) {
133
+ if (!rowData?.[condition]) {
134
134
  return null
135
135
  }
136
136
  } else if (!condition) {
@@ -147,6 +147,7 @@ export function useSchemaField<T extends { [key: string]: any }, P>(optns: UseSc
147
147
  id,
148
148
  transform,
149
149
  validate,
150
+ onUpdate,
150
151
  slots: fieldSlots,
151
152
  required,
152
153
  label,
@@ -157,9 +158,9 @@ export function useSchemaField<T extends { [key: string]: any }, P>(optns: UseSc
157
158
 
158
159
  // Use the get method if available, otherwise fall back to direct access
159
160
  const currentValue = field.id
160
- ? rowData && ('get' in rowData
161
- ? rowData.get(field.id)
162
- : rowData[field.id as keyof T])
161
+ ? ('get' in (rowData || {})
162
+ ? rowData?.get(field.id)
163
+ : rowData?.[field.id])
163
164
  : undefined
164
165
 
165
166
  const transformedValue = transform ? transform(currentValue, rowData) : currentValue
@@ -181,13 +182,14 @@ export function useSchemaField<T extends { [key: string]: any }, P>(optns: UseSc
181
182
  validate,
182
183
  id,
183
184
  getFormData,
185
+ onUpdate,
184
186
  }
185
187
 
186
188
  // For form mode, always use the original value for modelValue
187
189
  if (mode === 'form') {
188
190
  props.modelValue = currentValue
189
191
  props['onUpdate:modelValue'] = (value: any) => {
190
- onUpdate ?.(field, value)
192
+ onUpdateModelValue?.(field, value)
191
193
  }
192
194
  } else {
193
195
  // For display modes (table/preview), use transformed value based on component type
@@ -48,21 +48,36 @@ export type ValidationFn<T, K> = (
48
48
  rowData?: T,
49
49
  ) => string | undefined
50
50
 
51
+ export type NonArrayMethodKeys<T> = Exclude<
52
+ keyof T,
53
+ // filter out function-like or symbol-based keys from arrays
54
+ keyof any[] | symbol
55
+ >
56
+
51
57
  export type Path<T> = {
52
- [K in keyof T & (string | number)]:
53
- T[K] extends object
54
- ? `${K}` | `${K}.${Path<T[K]>}`
55
- : `${K}`
56
- }[keyof T & (string | number)]
58
+ [K in NonArrayMethodKeys<T> & (string | number)]:
59
+ T[K] extends object ?
60
+ (
61
+ | `${K}`
62
+ | (
63
+ Path<T[K]> extends infer Rest ?
64
+ Rest extends string | number ?
65
+ `${K}.${Rest}` :
66
+ never :
67
+ never
68
+ )
69
+ ) :
70
+ `${K}`
71
+ }[NonArrayMethodKeys<T> & (string | number)]
57
72
 
58
73
  export type PathValue<T, P> =
59
- P extends `${infer Key}.${infer Rest}`
60
- ? Key extends keyof T
61
- ? PathValue<T[Key], Rest>
62
- : never
63
- : P extends keyof T
64
- ? T[P]
65
- : never
74
+ P extends `${infer Key}.${infer Rest}` ?
75
+ Key extends keyof T ?
76
+ PathValue<T[Key], Rest> :
77
+ never :
78
+ P extends keyof T ?
79
+ T[P] :
80
+ never
66
81
 
67
82
  export type SchemaChildrenT<T> = (Field<T> | string | VNode)[]
68
83
 
@@ -83,7 +98,7 @@ export interface BaseBagelField<T, P> {
83
98
  'vIf'?: VIfType<T, P>
84
99
  'v-if'?: VIfType<T, P>
85
100
  'transform'?: (val?: PathValue<T, P>, rowData?: T) => any
86
- 'onUpdate'?: (val?: PathValue<T, P>, rowData?: T, field?: BaseBagelField<T, P>) => unknown
101
+ 'onUpdate'?: (val?: PathValue<T, P>, rowData?: T) => unknown
87
102
  'validate'?: ValidationFn<T, P>
88
103
  }
89
104
 
@@ -91,15 +106,13 @@ export type MappedBaseBagelField<T> = {
91
106
  [P in Path<T>]: BaseBagelField<T, P>
92
107
  }[Path<T>]
93
108
 
94
- export interface InputBagelField<T, P> extends BaseBagelField<T, P> {
109
+ export type InputBagelField<T> = MappedBaseBagelField<T> & {
95
110
  $el: 'text' | ComponentExposed<typeof TextInput>
96
- id?: P
97
111
  type?: string
98
112
  }
99
113
 
100
- export interface SelectBagelField<T, P> extends BaseBagelField<T, P> {
114
+ export type SelectBagelField<T> = MappedBaseBagelField<T> & {
101
115
  $el: 'select' | ComponentExposed<typeof SelectInput>
102
- id?: P
103
116
  }
104
117
 
105
118
  export type Field<T> = MappedBaseBagelField<T>
@@ -76,18 +76,19 @@ export function txtField<T extends { [key: string]: any }, P>(
76
76
  id: P,
77
77
  label?: string,
78
78
  options?: TextInputOptions<T, P> & Partial<BaseBagelField<T, P>>,
79
- ): InputBagelField<T, P> {
79
+ ): BaseBagelField<T, P> | InputBagelField<T> {
80
80
  return {
81
81
  $el: 'text',
82
- class: options?.class,
83
- required: options?.required,
84
82
  id,
85
83
  label,
84
+ class: options?.class,
85
+ required: options?.required,
86
86
  vIf: options?.vIf,
87
87
  disabled: options?.disabled,
88
88
  placeholder: options?.placeholder,
89
89
  defaultValue: options?.defaultValue,
90
90
  validate: options?.validate,
91
+ onUpdate: options?.onUpdate,
91
92
  attrs: {
92
93
  type: options?.type,
93
94
  pattern: options?.pattern,
@@ -102,7 +103,7 @@ export function selectField<T extends { [key: string]: any }, P>(
102
103
  label?: string,
103
104
  options?: Option[] | (() => Option[]),
104
105
  config?: SlctInputOptions<T, P>,
105
- ): SelectBagelField<T, P> {
106
+ ): BaseBagelField<T, P> | SelectBagelField<T> {
106
107
  return {
107
108
  $el: 'select',
108
109
  id,