@bolttech/form-engine 3.0.0-beta.36 → 3.0.0-beta.38

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.
package/index.esm.js CHANGED
@@ -2942,4 +2942,36 @@ const useFormGroup = ({
2942
2942
  return;
2943
2943
  };
2944
2944
 
2945
- export { AsFormField, AsFormFieldBuilder, Form, FormGroupContext, FormGroupContextProvider, useForm, useFormGroup, useFormGroupContext };
2945
+ const defaultChangeEvent = event => {
2946
+ return event.currentTarget.value;
2947
+ };
2948
+ const checkedChangeEvent = event => {
2949
+ return event.currentTarget.checked;
2950
+ };
2951
+ const valueChangeEvent = event => {
2952
+ return event.target.value;
2953
+ };
2954
+ const datepickerChangeEvent = event => event;
2955
+ const dropdownChangeEvent = (event, opts) => {
2956
+ if (typeof event === 'object' && event !== null && 'value' in event && 'id' in event) {
2957
+ return {
2958
+ _value: event === null || event === void 0 ? void 0 : event.id,
2959
+ _metadata: event
2960
+ };
2961
+ } else if (typeof event === 'string' && typeof opts === 'object' && 'props' in opts && typeof opts.props === 'object' && 'optionList' in opts.props && Array.isArray(opts.props.optionList)) {
2962
+ const option = opts.props.optionList.find(el => el.value === event);
2963
+ if (option) {
2964
+ return {
2965
+ _value: option.id,
2966
+ _metadata: option
2967
+ };
2968
+ } else {
2969
+ return {
2970
+ _value: event,
2971
+ _metadata: event
2972
+ };
2973
+ }
2974
+ }
2975
+ };
2976
+
2977
+ export { AsFormField, AsFormFieldBuilder, Form, FormGroupContext, FormGroupContextProvider, checkedChangeEvent, datepickerChangeEvent, defaultChangeEvent, dropdownChangeEvent, useForm, useFormGroup, useFormGroupContext, valueChangeEvent };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bolttech/form-engine",
3
- "version": "3.0.0-beta.36",
3
+ "version": "3.0.0-beta.38",
4
4
  "description": "A react adapter for bolttech form engine",
5
5
  "module": "./index.esm.js",
6
6
  "type": "module",
@@ -0,0 +1,7 @@
1
+ import { TValueChangeEvent } from '@bolttech/form-engine-core';
2
+ declare const defaultChangeEvent: TValueChangeEvent;
3
+ declare const checkedChangeEvent: TValueChangeEvent;
4
+ declare const valueChangeEvent: TValueChangeEvent;
5
+ declare const datepickerChangeEvent: TValueChangeEvent;
6
+ declare const dropdownChangeEvent: TValueChangeEvent;
7
+ export { defaultChangeEvent, checkedChangeEvent, valueChangeEvent, datepickerChangeEvent, dropdownChangeEvent, };
package/src/index.d.ts CHANGED
@@ -2,3 +2,4 @@ export * from './components';
2
2
  export * from './hooks';
3
3
  export * from './context/FormGroupContext';
4
4
  export * from './types';
5
+ export * from './helpers/mapper';
@@ -13,14 +13,18 @@ type TFieldWrapper = {
13
13
  * Represents the possible event properties for form fields callbacks.
14
14
  */
15
15
  type TEventProps = 'onChange' | 'onBlur' | 'onFocus' | 'onKeyDown' | 'onKeyUp' | 'onMount' | 'onApiResponse' | 'onClick';
16
+ /**
17
+ * Represents the content inside onData payload action.
18
+ */
19
+ type TFormData<T> = {
20
+ field: string;
21
+ data: TFormValues<T>;
22
+ };
16
23
  /**
17
24
  * Represents a mapping of event properties to their corresponding callback functions.
18
25
  */
19
26
  type TEventsCallbackProps = Partial<Record<TEventProps, ((payload: TFieldEvent) => void) | null | undefined>> & {
20
- onData?: (payload: {
21
- field: string;
22
- data: TFormValues<Record<string, unknown>>;
23
- }) => void;
24
- onSubmit?: (payload: TFormValues<Record<string, unknown>>) => void;
27
+ onData?: <T>(payload: TFormData<T>) => void;
28
+ onSubmit?: <T>(payload: TFormValues<T>) => void;
25
29
  };
26
30
  export { TFieldWrapper, TEventProps, TEventsCallbackProps };