dynamic-modal 1.1.12 → 1.1.14

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.
@@ -1,24 +1,11 @@
1
1
  "use strict";
2
2
  'use client';
3
- var __rest = (this && this.__rest) || function (s, e) {
4
- var t = {};
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
6
- t[p] = s[p];
7
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
8
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
9
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
10
- t[p[i]] = s[p[i]];
11
- }
12
- return t;
13
- };
14
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
15
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
16
5
  };
17
6
  Object.defineProperty(exports, "__esModule", { value: true });
18
7
  const react_1 = __importDefault(require("react"));
19
- const InputUpload = (_a) => {
20
- var _b;
21
- var { onChange, readAsArrayBuffer } = _a, props = __rest(_a, ["onChange", "readAsArrayBuffer"]);
8
+ const InputUpload = ({ onChange, readAsArrayBuffer, ...props }) => {
22
9
  const onChangeHandler = (event) => {
23
10
  if (props.read && event.target.files) {
24
11
  readFileBlob(event.target.files[0], false)
@@ -56,7 +43,7 @@ const InputUpload = (_a) => {
56
43
  };
57
44
  return (react_1.default.createElement("div", { className: "flex flex-col w-full gap-1 text-center" },
58
45
  props.label && (react_1.default.createElement("label", { className: "block mb-2 text-sm font-medium text-gray-900 dark:text-white", htmlFor: `file-input-${props.id}` }, props.label)),
59
- react_1.default.createElement("input", Object.assign({ className: "file:transition-all file:delay-150 block w-full text-sm text-slate-500\r\n file:mr-4 file:py-2 file:px-4 file:rounded-md\r\n file:border-0 file:text-sm file:font-semibold\r\n file:bg-gray-100 file:text-blue-600\r\n hover:file:bg-blue-700 hover:file:text-white cursor-pointer disabled:cursor-not-allowed", "aria-describedby": `file-input-${props.id}-help`, id: `file-input-${props.id}`, type: "file", onChange: onChangeHandler }, props)),
60
- react_1.default.createElement("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-300 text-start", id: `file-input-${props.id}-help` }, (_b = props.helpText) === null || _b === void 0 ? void 0 : _b.toUpperCase())));
46
+ react_1.default.createElement("input", { className: "file:transition-all file:delay-150 block w-full text-sm text-slate-500\r\n file:mr-4 file:py-2 file:px-4 file:rounded-md\r\n file:border-0 file:text-sm file:font-semibold\r\n file:bg-gray-100 file:text-blue-600\r\n hover:file:bg-blue-700 hover:file:text-white cursor-pointer disabled:cursor-not-allowed", "aria-describedby": `file-input-${props.id}-help`, id: `file-input-${props.id}`, type: "file", onChange: onChangeHandler, ...props }),
47
+ react_1.default.createElement("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-300 text-start", id: `file-input-${props.id}-help` }, props.helpText?.toUpperCase())));
61
48
  };
62
49
  exports.default = InputUpload;
@@ -39,6 +39,6 @@ const component_state_1 = require("../../context/component/component-state");
39
39
  const MakeButton = ({ element }) => {
40
40
  const { Button } = (0, react_1.useContext)(component_state_1.ComponentStateContext);
41
41
  const elementId = (0, react_1.useId)();
42
- return react_1.default.createElement(Button, Object.assign({}, element, { id: elementId }));
42
+ return react_1.default.createElement(Button, { ...element, id: elementId });
43
43
  };
44
44
  exports.default = MakeButton;
@@ -33,17 +33,6 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  return result;
34
34
  };
35
35
  })();
36
- var __rest = (this && this.__rest) || function (s, e) {
37
- var t = {};
38
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
- t[p] = s[p];
40
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
- t[p[i]] = s[p[i]];
44
- }
45
- return t;
46
- };
47
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
48
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
49
38
  };
@@ -55,40 +44,54 @@ const use_enable_if_1 = __importDefault(require("../../hooks/use-enable-if"));
55
44
  const use_render_if_1 = __importDefault(require("../../hooks/use-render-if"));
56
45
  const MakeInput = ({ element, control, watch, unregister, }) => {
57
46
  const { Input } = (0, react_1.useContext)(component_state_1.ComponentStateContext);
58
- const { name } = element, _a = element.validation, { required, message, regex } = _a, otherValidation = __rest(_a, ["required", "message", "regex"]), { enableIf, renderIf } = element, inputProps = __rest(element, ["name", "validation", "enableIf", "renderIf"]);
59
- const { checkEnable, enable } = (0, use_enable_if_1.default)({ elementEnableIf: enableIf });
60
- const { checkRender, render } = (0, use_render_if_1.default)({
61
- elementName: name,
47
+ const { name: elementName, validation: { required, message, regex, ...otherValidation }, enableIf, renderIf, ...inputProps } = element;
48
+ const { checkEnable, enable, setEnable } = (0, use_enable_if_1.default)({
49
+ elementEnableIf: enableIf,
50
+ });
51
+ const { checkRender, render, setRender } = (0, use_render_if_1.default)({
62
52
  elementRenderIf: renderIf,
63
- unregister,
64
53
  });
65
54
  const elementId = (0, react_1.useId)();
66
55
  (0, react_1.useEffect)(() => {
67
- const unsubscribe = watch((formData, { name, type }) => {
56
+ const { unsubscribe } = watch((formData, { name, type }) => {
68
57
  if (!name)
69
58
  return;
70
59
  if (enableIf) {
71
- checkEnable(formData, { name, type });
60
+ checkEnable(formData, { name, type }).then((enableStatus) => {
61
+ if (enableStatus === undefined || enableStatus === null)
62
+ return;
63
+ if (enable !== enableStatus)
64
+ setEnable(enableStatus);
65
+ });
72
66
  }
73
67
  if (renderIf) {
74
- checkRender(formData, { name, type });
68
+ checkRender(formData, { name, type }).then((renderStatus) => {
69
+ if (renderStatus === undefined || renderStatus === null)
70
+ return;
71
+ if (render !== renderStatus) {
72
+ if (render && !renderStatus)
73
+ unregister(elementName);
74
+ setRender(!!renderStatus);
75
+ }
76
+ });
75
77
  }
76
78
  });
77
- return () => unsubscribe.unsubscribe();
78
- }, [watch]);
79
+ return () => unsubscribe();
80
+ }, [watch, render, enable]);
79
81
  if (!render)
80
82
  return null;
81
- return (react_1.default.createElement(react_hook_form_1.Controller, { control: control, name: name, rules: Object.assign({ required: {
83
+ return (react_1.default.createElement(react_hook_form_1.Controller, { control: control, name: elementName, rules: {
84
+ required: {
82
85
  value: required,
83
- message: message !== null && message !== void 0 ? message : '',
84
- }, pattern: regex
86
+ message: message ?? '',
87
+ },
88
+ pattern: regex
85
89
  ? {
86
90
  value: regex,
87
- message: message !== null && message !== void 0 ? message : '',
91
+ message: message ?? '',
88
92
  }
89
- : undefined }, otherValidation), render: ({ field: { onChange, value }, fieldState: { invalid, error }, }) => {
90
- var _a;
91
- return (react_1.default.createElement(Input, Object.assign({}, inputProps, { name: name, id: elementId, onChange: onChange, value: value !== null && value !== void 0 ? value : '', invalid: invalid, error: error, disabled: (_a = element.disabled) !== null && _a !== void 0 ? _a : !enable })));
92
- } }));
93
+ : undefined,
94
+ ...otherValidation,
95
+ }, render: ({ field: { onChange, value }, fieldState: { invalid, error }, }) => (react_1.default.createElement(Input, { ...inputProps, name: elementName, id: elementId, onChange: onChange, value: value ?? '', invalid: invalid, error: error, disabled: element.disabled ?? !enable })) }));
93
96
  };
94
97
  exports.default = MakeInput;
@@ -33,17 +33,6 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  return result;
34
34
  };
35
35
  })();
36
- var __rest = (this && this.__rest) || function (s, e) {
37
- var t = {};
38
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
- t[p] = s[p];
40
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
- t[p[i]] = s[p[i]];
44
- }
45
- return t;
46
- };
47
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
48
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
49
38
  };
@@ -56,48 +45,71 @@ const use_render_if_1 = __importDefault(require("../../hooks/use-render-if"));
56
45
  const use_live_data_1 = __importDefault(require("../../hooks/use-live-data"));
57
46
  const MakeSelect = ({ element, control, watch, setValue, unregister, }) => {
58
47
  const { Select } = (0, react_1.useContext)(component_state_1.ComponentStateContext);
59
- const { name } = element, _a = element.validation, { required, message, regex } = _a, otherValidation = __rest(_a, ["required", "message", "regex"]), { enableIf, renderIf, liveData: elementLiveData } = element, inputProps = __rest(element, ["name", "validation", "enableIf", "renderIf", "liveData"]);
60
- const { checkLiveData, liveData, liveSearching } = (0, use_live_data_1.default)({
61
- elementName: name,
48
+ const { name: elementName, validation: { required, message, regex, ...otherValidation }, enableIf, renderIf, liveData: elementLiveData, ...inputProps } = element;
49
+ const [liveSearching, setLiveSearching] = (0, react_1.useState)(false);
50
+ const { checkLiveData, liveData, setLiveData } = (0, use_live_data_1.default)({
62
51
  elementLiveData,
63
- setValue,
64
52
  });
65
- const { checkEnable, enable } = (0, use_enable_if_1.default)({ elementEnableIf: enableIf });
66
- const { checkRender, render } = (0, use_render_if_1.default)({
67
- elementName: name,
53
+ const { checkEnable, enable, setEnable } = (0, use_enable_if_1.default)({
54
+ elementEnableIf: enableIf,
55
+ });
56
+ const { checkRender, render, setRender } = (0, use_render_if_1.default)({
68
57
  elementRenderIf: renderIf,
69
- unregister,
70
58
  });
71
59
  const elementId = (0, react_1.useId)();
72
60
  (0, react_1.useEffect)(() => {
73
- const unsubscribe = watch((formData, { name, type }) => {
61
+ const { unsubscribe } = watch((formData, { name, type }) => {
74
62
  if (!name)
75
63
  return;
76
64
  if (enableIf) {
77
- checkEnable(formData, { name, type });
65
+ checkEnable(formData, { name, type }).then((enableStatus) => {
66
+ if (enableStatus === undefined || enableStatus === null)
67
+ return;
68
+ if (enable !== enableStatus)
69
+ setEnable(enableStatus);
70
+ });
78
71
  }
79
72
  if (renderIf) {
80
- checkRender(formData, { name, type });
73
+ checkRender(formData, { name, type }).then((renderStatus) => {
74
+ if (renderStatus === undefined || renderStatus === null)
75
+ return;
76
+ if (render !== renderStatus) {
77
+ if (render && !renderStatus)
78
+ unregister(elementName);
79
+ setRender(!!renderStatus);
80
+ }
81
+ });
81
82
  }
82
83
  if (elementLiveData) {
83
- checkLiveData(formData, { name, type });
84
+ setLiveSearching(true);
85
+ checkLiveData(formData, { name, type })
86
+ .then((options) => {
87
+ if (options === undefined || options === null)
88
+ return;
89
+ setLiveData(options);
90
+ setValue(elementName, options);
91
+ })
92
+ .finally(() => {
93
+ setLiveSearching(false);
94
+ });
84
95
  }
85
96
  });
86
- return () => unsubscribe.unsubscribe();
87
- }, [watch]);
97
+ return () => unsubscribe();
98
+ }, [watch, render, enable, liveData]);
88
99
  if (!render)
89
100
  return null;
90
- return (react_1.default.createElement(react_hook_form_1.Controller, { control: control, name: name, rules: Object.assign({ required: {
101
+ return (react_1.default.createElement(react_hook_form_1.Controller, { control: control, name: elementName, rules: {
102
+ required: {
91
103
  value: required,
92
- message: message !== null && message !== void 0 ? message : '',
93
- }, pattern: regex
104
+ message: message ?? '',
105
+ },
106
+ pattern: regex
94
107
  ? {
95
108
  value: regex,
96
- message: message !== null && message !== void 0 ? message : '',
109
+ message: message ?? '',
97
110
  }
98
- : undefined }, otherValidation), render: ({ field: { onChange, value }, fieldState: { invalid, error }, }) => {
99
- var _a, _b;
100
- return (react_1.default.createElement(Select, Object.assign({}, inputProps, { id: elementId, name: name, onChange: onChange, value: value, invalid: invalid, error: error, disabled: (_a = element.disabled) !== null && _a !== void 0 ? _a : !enable, liveSearching: liveSearching, options: liveData || ((_b = element.options) !== null && _b !== void 0 ? _b : []) })));
101
- } }));
111
+ : undefined,
112
+ ...otherValidation,
113
+ }, render: ({ field: { onChange, value }, fieldState: { invalid, error }, }) => (react_1.default.createElement(Select, { ...inputProps, id: elementId, name: elementName, onChange: onChange, value: value, invalid: invalid, error: error, disabled: element.disabled ?? !enable, liveSearching: liveSearching, options: liveData || (element.options ?? []) })) }));
102
114
  };
103
115
  exports.default = MakeSelect;
@@ -33,17 +33,6 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  return result;
34
34
  };
35
35
  })();
36
- var __rest = (this && this.__rest) || function (s, e) {
37
- var t = {};
38
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
- t[p] = s[p];
40
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
- t[p[i]] = s[p[i]];
44
- }
45
- return t;
46
- };
47
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
48
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
49
38
  };
@@ -55,40 +44,54 @@ const use_enable_if_1 = __importDefault(require("../../hooks/use-enable-if"));
55
44
  const use_render_if_1 = __importDefault(require("../../hooks/use-render-if"));
56
45
  const MakeTextarea = ({ element, control, watch, unregister, }) => {
57
46
  const { Textarea } = (0, react_1.useContext)(component_state_1.ComponentStateContext);
58
- const { name } = element, _a = element.validation, { required, message, regex } = _a, otherValidation = __rest(_a, ["required", "message", "regex"]), { enableIf, renderIf } = element, inputProps = __rest(element, ["name", "validation", "enableIf", "renderIf"]);
59
- const { checkEnable, enable } = (0, use_enable_if_1.default)({ elementEnableIf: enableIf });
60
- const { checkRender, render } = (0, use_render_if_1.default)({
61
- elementName: name,
47
+ const { name: elementName, validation: { required, message, regex, ...otherValidation }, enableIf, renderIf, ...inputProps } = element;
48
+ const { checkEnable, enable, setEnable } = (0, use_enable_if_1.default)({
49
+ elementEnableIf: enableIf,
50
+ });
51
+ const { checkRender, render, setRender } = (0, use_render_if_1.default)({
62
52
  elementRenderIf: renderIf,
63
- unregister,
64
53
  });
65
54
  const elementId = (0, react_1.useId)();
66
55
  (0, react_1.useEffect)(() => {
67
- const unsubscribe = watch((formData, { name, type }) => {
56
+ const { unsubscribe } = watch((formData, { name, type }) => {
68
57
  if (!name)
69
58
  return;
70
59
  if (enableIf) {
71
- checkEnable(formData, { name, type });
60
+ checkEnable(formData, { name, type }).then((enableStatus) => {
61
+ if (enableStatus === undefined || enableStatus === null)
62
+ return;
63
+ if (enable !== enableStatus)
64
+ setEnable(enableStatus);
65
+ });
72
66
  }
73
67
  if (renderIf) {
74
- checkRender(formData, { name, type });
68
+ checkRender(formData, { name, type }).then((renderStatus) => {
69
+ if (renderStatus === undefined || renderStatus === null)
70
+ return;
71
+ if (render !== renderStatus) {
72
+ if (render && !renderStatus)
73
+ unregister(elementName);
74
+ setRender(!!renderStatus);
75
+ }
76
+ });
75
77
  }
76
78
  });
77
- return () => unsubscribe.unsubscribe();
78
- }, [watch]);
79
+ return () => unsubscribe();
80
+ }, [watch, render, enable]);
79
81
  if (!render)
80
82
  return null;
81
- return (react_1.default.createElement(react_hook_form_1.Controller, { name: name, control: control, rules: Object.assign({ required: {
83
+ return (react_1.default.createElement(react_hook_form_1.Controller, { name: elementName, control: control, rules: {
84
+ required: {
82
85
  value: required,
83
- message: message !== null && message !== void 0 ? message : '',
84
- }, pattern: regex
86
+ message: message ?? '',
87
+ },
88
+ pattern: regex
85
89
  ? {
86
90
  value: regex,
87
- message: message !== null && message !== void 0 ? message : '',
91
+ message: message ?? '',
88
92
  }
89
- : undefined }, otherValidation), render: ({ field: { onChange, value }, fieldState: { invalid, error }, }) => {
90
- var _a;
91
- return (react_1.default.createElement(Textarea, Object.assign({}, inputProps, { id: elementId, name: name, onChange: onChange, value: value !== null && value !== void 0 ? value : '', invalid: invalid, error: error, disabled: (_a = element.disabled) !== null && _a !== void 0 ? _a : !enable })));
92
- } }));
93
+ : undefined,
94
+ ...otherValidation,
95
+ }, render: ({ field: { onChange, value }, fieldState: { invalid, error }, }) => (react_1.default.createElement(Textarea, { ...inputProps, id: elementId, name: elementName, onChange: onChange, value: value ?? '', invalid: invalid, error: error, disabled: element.disabled ?? !enable })) }));
93
96
  };
94
97
  exports.default = MakeTextarea;
@@ -33,17 +33,6 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  return result;
34
34
  };
35
35
  })();
36
- var __rest = (this && this.__rest) || function (s, e) {
37
- var t = {};
38
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
- t[p] = s[p];
40
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
- t[p[i]] = s[p[i]];
44
- }
45
- return t;
46
- };
47
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
48
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
49
38
  };
@@ -55,40 +44,54 @@ const use_enable_if_1 = __importDefault(require("../../hooks/use-enable-if"));
55
44
  const use_render_if_1 = __importDefault(require("../../hooks/use-render-if"));
56
45
  const MakeToggle = ({ element, control, watch, unregister, }) => {
57
46
  const { Toggle } = (0, react_1.useContext)(component_state_1.ComponentStateContext);
58
- const { name } = element, _a = element.validation, { required, message, regex } = _a, otherValidation = __rest(_a, ["required", "message", "regex"]), { enableIf, renderIf } = element, inputProps = __rest(element, ["name", "validation", "enableIf", "renderIf"]);
59
- const { checkEnable, enable } = (0, use_enable_if_1.default)({ elementEnableIf: enableIf });
60
- const { checkRender, render } = (0, use_render_if_1.default)({
61
- elementName: name,
47
+ const { name: elementName, validation: { required, message, regex, ...otherValidation }, enableIf, renderIf, ...inputProps } = element;
48
+ const { checkEnable, enable, setEnable } = (0, use_enable_if_1.default)({
49
+ elementEnableIf: enableIf,
50
+ });
51
+ const { checkRender, render, setRender } = (0, use_render_if_1.default)({
62
52
  elementRenderIf: renderIf,
63
- unregister,
64
53
  });
65
54
  const elementId = (0, react_1.useId)();
66
55
  (0, react_1.useEffect)(() => {
67
- const unsubscribe = watch((formData, { name, type }) => {
56
+ const { unsubscribe } = watch((formData, { name, type }) => {
68
57
  if (!name)
69
58
  return;
70
59
  if (enableIf) {
71
- checkEnable(formData, { name, type });
60
+ checkEnable(formData, { name, type }).then((enableStatus) => {
61
+ if (enableStatus === undefined || enableStatus === null)
62
+ return;
63
+ if (enable !== enableStatus)
64
+ setEnable(enableStatus);
65
+ });
72
66
  }
73
67
  if (renderIf) {
74
- checkRender(formData, { name, type });
68
+ checkRender(formData, { name, type }).then((renderStatus) => {
69
+ if (renderStatus === undefined || renderStatus === null)
70
+ return;
71
+ if (render !== renderStatus) {
72
+ if (render && !renderStatus)
73
+ unregister(elementName);
74
+ setRender(!!renderStatus);
75
+ }
76
+ });
75
77
  }
76
78
  });
77
- return () => unsubscribe.unsubscribe();
78
- }, [watch]);
79
+ return () => unsubscribe();
80
+ }, [watch, render, enable]);
79
81
  if (!render)
80
82
  return null;
81
- return (react_1.default.createElement(react_hook_form_1.Controller, { control: control, name: name, rules: Object.assign({ required: {
83
+ return (react_1.default.createElement(react_hook_form_1.Controller, { control: control, name: elementName, rules: {
84
+ required: {
82
85
  value: required,
83
- message: message !== null && message !== void 0 ? message : '',
84
- }, pattern: regex
86
+ message: message ?? '',
87
+ },
88
+ pattern: regex
85
89
  ? {
86
90
  value: regex,
87
- message: message !== null && message !== void 0 ? message : '',
91
+ message: message ?? '',
88
92
  }
89
- : undefined }, otherValidation), render: ({ field: { onChange, value }, fieldState: { invalid, error }, }) => {
90
- var _a;
91
- return (react_1.default.createElement(Toggle, Object.assign({}, inputProps, { id: elementId, name: name, onChange: onChange, value: value !== null && value !== void 0 ? value : '', invalid: invalid, error: error, disabled: (_a = element.disabled) !== null && _a !== void 0 ? _a : !enable })));
92
- } }));
93
+ : undefined,
94
+ ...otherValidation,
95
+ }, render: ({ field: { onChange, value }, fieldState: { invalid, error }, }) => (react_1.default.createElement(Toggle, { ...inputProps, id: elementId, name: elementName, onChange: onChange, value: value ?? '', invalid: invalid, error: error, disabled: element.disabled ?? !enable })) }));
93
96
  };
94
97
  exports.default = MakeToggle;
@@ -33,17 +33,6 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  return result;
34
34
  };
35
35
  })();
36
- var __rest = (this && this.__rest) || function (s, e) {
37
- var t = {};
38
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
- t[p] = s[p];
40
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
- t[p[i]] = s[p[i]];
44
- }
45
- return t;
46
- };
47
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
48
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
49
38
  };
@@ -54,40 +43,54 @@ const input_upload_1 = __importDefault(require("../input-upload/input-upload"));
54
43
  const use_enable_if_1 = __importDefault(require("../../hooks/use-enable-if"));
55
44
  const use_render_if_1 = __importDefault(require("../../hooks/use-render-if"));
56
45
  const MakeUpload = ({ element, control, watch, unregister, }) => {
57
- const { name } = element, _a = element.validation, { required, message, regex } = _a, otherValidation = __rest(_a, ["required", "message", "regex"]), { enableIf, renderIf } = element, inputProps = __rest(element, ["name", "validation", "enableIf", "renderIf"]);
58
- const { checkEnable, enable } = (0, use_enable_if_1.default)({ elementEnableIf: enableIf });
59
- const { checkRender, render } = (0, use_render_if_1.default)({
60
- elementName: name,
46
+ const { name: elementName, validation: { required, message, regex, ...otherValidation }, enableIf, renderIf, ...inputProps } = element;
47
+ const { checkEnable, enable, setEnable } = (0, use_enable_if_1.default)({
48
+ elementEnableIf: enableIf,
49
+ });
50
+ const { checkRender, render, setRender } = (0, use_render_if_1.default)({
61
51
  elementRenderIf: renderIf,
62
- unregister,
63
52
  });
64
53
  const elementId = (0, react_1.useId)();
65
54
  (0, react_1.useEffect)(() => {
66
- const unsubscribe = watch((formData, { name, type }) => {
55
+ const { unsubscribe } = watch((formData, { name, type }) => {
67
56
  if (!name)
68
57
  return;
69
58
  if (enableIf) {
70
- checkEnable(formData, { name, type });
59
+ checkEnable(formData, { name, type }).then((enableStatus) => {
60
+ if (enableStatus === undefined || enableStatus === null)
61
+ return;
62
+ if (enable !== enableStatus)
63
+ setEnable(enableStatus);
64
+ });
71
65
  }
72
66
  if (renderIf) {
73
- checkRender(formData, { name, type });
67
+ checkRender(formData, { name, type }).then((renderStatus) => {
68
+ if (renderStatus === undefined || renderStatus === null)
69
+ return;
70
+ if (render !== renderStatus) {
71
+ if (render && !renderStatus)
72
+ unregister(elementName);
73
+ setRender(!!renderStatus);
74
+ }
75
+ });
74
76
  }
75
77
  });
76
- return () => unsubscribe.unsubscribe();
77
- }, [watch]);
78
+ return () => unsubscribe();
79
+ }, [watch, render, enable]);
78
80
  if (!render)
79
81
  return null;
80
- return (react_1.default.createElement(react_hook_form_1.Controller, { control: control, name: name, rules: Object.assign({ required: {
82
+ return (react_1.default.createElement(react_hook_form_1.Controller, { control: control, name: elementName, rules: {
83
+ required: {
81
84
  value: required,
82
- message: message !== null && message !== void 0 ? message : '',
83
- }, pattern: regex
85
+ message: message ?? '',
86
+ },
87
+ pattern: regex
84
88
  ? {
85
89
  value: regex,
86
- message: message !== null && message !== void 0 ? message : '',
90
+ message: message ?? '',
87
91
  }
88
- : undefined }, otherValidation), render: ({ field: { onChange } }) => {
89
- var _a;
90
- return (react_1.default.createElement(input_upload_1.default, Object.assign({}, inputProps, { id: elementId, name: name, onChange: onChange, disabled: (_a = element.disabled) !== null && _a !== void 0 ? _a : !enable })));
91
- } }));
92
+ : undefined,
93
+ ...otherValidation,
94
+ }, render: ({ field: { onChange } }) => (react_1.default.createElement(input_upload_1.default, { ...inputProps, id: elementId, name: elementName, onChange: onChange, disabled: element.disabled ?? !enable })) }));
92
95
  };
93
96
  exports.default = MakeUpload;
@@ -41,7 +41,6 @@ const Portal = (props) => {
41
41
  const ref = (0, react_1.useRef)(null);
42
42
  const [mounted, setMounted] = (0, react_1.useState)(false);
43
43
  (0, react_1.useEffect)(() => {
44
- var _a;
45
44
  if (mounted && !props.portalOpen && props.closeTime > 0) {
46
45
  const timeoutId = setTimeout(() => {
47
46
  setMounted(false);
@@ -54,7 +53,7 @@ const Portal = (props) => {
54
53
  ref.current = null;
55
54
  }
56
55
  else if (!mounted && props.portalOpen) {
57
- ref.current = document.querySelector((_a = props.portalTag) !== null && _a !== void 0 ? _a : '#portal');
56
+ ref.current = document.querySelector(props.portalTag ?? '#portal');
58
57
  setMounted(true);
59
58
  }
60
59
  }, [mounted, props.closeTime, props.portalOpen, props.portalTag]);
@@ -23,6 +23,6 @@ function useModalHandler() {
23
23
  const closeModal = () => setModalConfig(initialState);
24
24
  return {
25
25
  openModal,
26
- modalProps: Object.assign(Object.assign({}, modalConfig.modalProps), { close: closeModal }),
26
+ modalProps: { ...modalConfig.modalProps, close: closeModal },
27
27
  };
28
28
  }
@@ -4,6 +4,7 @@ export interface IRenderIfProps {
4
4
  }
5
5
  declare const useEnableIf: ({ elementEnableIf }: IRenderIfProps) => {
6
6
  enable: boolean;
7
- checkEnable: (formData: Record<string, unknown>, { name }: Record<"name", string> & Record<"type", string | undefined>) => Promise<void>;
7
+ checkEnable: (formData: Record<string, unknown>, { name }: Record<"name", string> & Record<"type", string | undefined>) => Promise<boolean | undefined>;
8
+ setEnable: import("react").Dispatch<import("react").SetStateAction<boolean>>;
8
9
  };
9
10
  export default useEnableIf;
@@ -1,13 +1,5 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
2
+ 'use client';
11
3
  Object.defineProperty(exports, "__esModule", { value: true });
12
4
  const react_1 = require("react");
13
5
  const general_util_1 = require("../util/general/general.util");
@@ -15,31 +7,32 @@ const useEnableIf = ({ elementEnableIf }) => {
15
7
  const [enable, setEnable] = (0, react_1.useState)(() => {
16
8
  return elementEnableIf === undefined;
17
9
  });
18
- const checkEnable = (formData_1, _a) => __awaiter(void 0, [formData_1, _a], void 0, function* (formData, { name }) {
10
+ const checkEnable = async (formData, { name }) => {
19
11
  const targetFieldData = formData[name];
20
- if (targetFieldData === undefined ||
21
- targetFieldData === '' ||
22
- targetFieldData === null)
23
- return;
12
+ // if (
13
+ // targetFieldData === undefined ||
14
+ // targetFieldData === '' ||
15
+ // targetFieldData === null
16
+ // )
17
+ // return false;
24
18
  const enableIfConfig = elementEnableIf;
25
- const isLiveEnable = !!(enableIfConfig === null || enableIfConfig === void 0 ? void 0 : enableIfConfig.action) && !!enableIfConfig.condition;
19
+ const isLiveEnable = !!enableIfConfig?.action && !!enableIfConfig.condition;
26
20
  if (isLiveEnable && enableIfConfig.condition.includes(name)) {
27
- const enableStatus = yield (0, general_util_1.liveDataHandler)(targetFieldData, formData, enableIfConfig.action);
28
- if (enable !== enableStatus)
29
- setEnable(enableStatus);
21
+ const enableStatus = await (0, general_util_1.liveDataHandler)(targetFieldData, formData, enableIfConfig.action);
22
+ return enableStatus;
30
23
  }
31
24
  else {
32
25
  const enableConditionList = Object.keys(elementEnableIf);
33
26
  if (enableConditionList.includes(name)) {
34
27
  const enableStatus = enableIfConfig[name].includes(targetFieldData) || enableIfConfig[name].includes('*');
35
- if (enable !== enableStatus)
36
- setEnable(enableStatus);
28
+ return enableStatus;
37
29
  }
38
30
  }
39
- });
31
+ };
40
32
  return {
41
33
  enable,
42
34
  checkEnable,
35
+ setEnable,
43
36
  };
44
37
  };
45
38
  exports.default = useEnableIf;
@@ -1,14 +1,11 @@
1
- import { FieldValues, UseFormSetValue } from 'react-hook-form';
2
1
  import { IModalLiveDataCondition } from '../interfaces/modal';
3
2
  import { IOption } from '../interfaces/option';
4
3
  export interface ILiveDataProps {
5
- elementName: string;
6
4
  elementLiveData?: IModalLiveDataCondition;
7
- setValue: UseFormSetValue<FieldValues>;
8
5
  }
9
- declare const useLiveData: ({ elementName, elementLiveData, setValue, }: ILiveDataProps) => {
10
- liveSearching: boolean;
6
+ declare const useLiveData: ({ elementLiveData }: ILiveDataProps) => {
11
7
  liveData: IOption[] | undefined;
12
- checkLiveData: (formData: Record<string, unknown>, { name }: Record<"name", string> & Record<"type", string | undefined>) => Promise<void>;
8
+ checkLiveData: (formData: Record<string, unknown>, { name }: Record<"name", string> & Record<"type", string | undefined>) => Promise<IOption[] | null>;
9
+ setLiveData: import("react").Dispatch<import("react").SetStateAction<IOption[] | undefined>>;
13
10
  };
14
11
  export default useLiveData;
@@ -1,42 +1,25 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
2
+ 'use client';
11
3
  Object.defineProperty(exports, "__esModule", { value: true });
12
4
  const react_1 = require("react");
13
5
  const general_util_1 = require("../util/general/general.util");
14
- const useLiveData = ({ elementName, elementLiveData, setValue, }) => {
15
- const [liveSearching, setLiveSearching] = (0, react_1.useState)(false);
6
+ const useLiveData = ({ elementLiveData }) => {
16
7
  const [liveData, setLiveData] = (0, react_1.useState)(undefined);
17
- const checkLiveData = (formData_1, _a) => __awaiter(void 0, [formData_1, _a], void 0, function* (formData, { name }) {
18
- var _b;
8
+ const checkLiveData = async (formData, { name }) => {
19
9
  const targetFieldData = formData[name];
20
- if (targetFieldData === undefined ||
21
- targetFieldData === '' ||
22
- targetFieldData === null)
23
- return;
24
10
  const liveDataConfig = elementLiveData;
25
- const isLiveData = !!(liveDataConfig === null || liveDataConfig === void 0 ? void 0 : liveDataConfig.action) && !!liveDataConfig.condition;
11
+ const isLiveData = !!liveDataConfig?.action && !!liveDataConfig.condition;
26
12
  if (!isLiveData)
27
- return;
13
+ return null;
28
14
  if (liveDataConfig.condition.includes(name)) {
29
- setLiveSearching(true);
30
- const options = (_b = (yield (0, general_util_1.liveDataAction)(targetFieldData, formData, liveDataConfig.action))) !== null && _b !== void 0 ? _b : [];
31
- setValue(elementName, options);
32
- setLiveData(options);
33
- setLiveSearching(false);
15
+ return await (0, general_util_1.liveDataAction)(targetFieldData, formData, liveDataConfig.action);
34
16
  }
35
- });
17
+ return null;
18
+ };
36
19
  return {
37
- liveSearching,
38
20
  liveData,
39
21
  checkLiveData,
22
+ setLiveData,
40
23
  };
41
24
  };
42
25
  exports.default = useLiveData;
@@ -1,12 +1,10 @@
1
1
  import { IModalRenderCondition } from '../interfaces/modal';
2
- import { FieldValues, UseFormUnregister } from 'react-hook-form';
3
2
  export interface IRenderIfProps {
4
- elementName: string;
5
3
  elementRenderIf?: IModalRenderCondition;
6
- unregister: UseFormUnregister<FieldValues>;
7
4
  }
8
- declare const useRenderIf: ({ elementName, elementRenderIf, unregister, }: IRenderIfProps) => {
5
+ declare const useRenderIf: ({ elementRenderIf }: IRenderIfProps) => {
9
6
  render: boolean;
10
- checkRender: (formData: Record<string, unknown>, { name }: Record<"name", string> & Record<"type", string | undefined>) => Promise<void>;
7
+ checkRender: (formData: Record<string, unknown>, { name }: Record<"name", string> & Record<"type", string | undefined>) => Promise<boolean | undefined>;
8
+ setRender: import("react").Dispatch<import("react").SetStateAction<boolean>>;
11
9
  };
12
10
  export default useRenderIf;
@@ -1,51 +1,38 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
2
+ 'use client';
11
3
  Object.defineProperty(exports, "__esModule", { value: true });
12
4
  const react_1 = require("react");
13
5
  const general_util_1 = require("../util/general/general.util");
14
- const useRenderIf = ({ elementName, elementRenderIf, unregister, }) => {
6
+ const useRenderIf = ({ elementRenderIf }) => {
15
7
  const [render, setRender] = (0, react_1.useState)(() => {
16
8
  return elementRenderIf === undefined;
17
9
  });
18
- const checkRender = (formData_1, _a) => __awaiter(void 0, [formData_1, _a], void 0, function* (formData, { name }) {
10
+ const checkRender = async (formData, { name }) => {
19
11
  const targetFieldData = formData[name];
20
- if (targetFieldData === undefined ||
21
- targetFieldData === '' ||
22
- targetFieldData === null)
23
- return;
12
+ // if (
13
+ // targetFieldData === undefined ||
14
+ // targetFieldData === '' ||
15
+ // targetFieldData === null
16
+ // )
17
+ // return false;
24
18
  const renderIfConfig = elementRenderIf;
25
- const isLiveRender = !!(renderIfConfig === null || renderIfConfig === void 0 ? void 0 : renderIfConfig.action) && !!(renderIfConfig === null || renderIfConfig === void 0 ? void 0 : renderIfConfig.condition);
19
+ const isLiveRender = !!renderIfConfig?.action && !!renderIfConfig?.condition;
26
20
  if (isLiveRender && renderIfConfig.condition.includes(name)) {
27
- const renderStatus = yield (0, general_util_1.liveDataHandler)(targetFieldData, formData, renderIfConfig.action);
28
- if (render !== renderStatus) {
29
- if (render && !renderStatus)
30
- unregister(elementName);
31
- setRender(renderStatus);
32
- }
21
+ const renderStatus = await (0, general_util_1.liveDataHandler)(targetFieldData, formData, renderIfConfig.action);
22
+ return renderStatus;
33
23
  }
34
24
  else {
35
25
  const renderConditionList = Object.keys(elementRenderIf);
36
26
  if (renderConditionList.includes(name)) {
37
27
  const renderStatus = renderIfConfig[name].includes(targetFieldData) || renderIfConfig[name].includes('*');
38
- if (render !== renderStatus) {
39
- if (render && !renderStatus)
40
- unregister(elementName);
41
- setRender(renderStatus);
42
- }
28
+ return renderStatus;
43
29
  }
44
30
  }
45
- });
31
+ };
46
32
  return {
47
33
  render,
48
34
  checkRender,
35
+ setRender,
49
36
  };
50
37
  };
51
38
  exports.default = useRenderIf;
package/dist/modal.js CHANGED
@@ -33,26 +33,6 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  return result;
34
34
  };
35
35
  })();
36
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
- return new (P || (P = Promise))(function (resolve, reject) {
39
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
- step((generator = generator.apply(thisArg, _arguments || [])).next());
43
- });
44
- };
45
- var __rest = (this && this.__rest) || function (s, e) {
46
- var t = {};
47
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
48
- t[p] = s[p];
49
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
50
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
51
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
52
- t[p[i]] = s[p[i]];
53
- }
54
- return t;
55
- };
56
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
57
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
58
38
  };
@@ -73,22 +53,21 @@ const Modal = ({ open, close, config }) => {
73
53
  const { ModalButtonAction, ModalButtonCancel } = (0, react_1.useContext)(component_state_1.ComponentStateContext);
74
54
  const [modalReady, setModalReady] = (0, react_1.useState)(undefined);
75
55
  const [defaultLoaded, setDefaultLoaded] = (0, react_1.useState)(false);
76
- const { control, handleSubmit, getValues, unregister, setValue, watch, trigger, getFieldState, } = (0, react_hook_form_1.useForm)();
56
+ const { control, handleSubmit, getValues, unregister, setValue, watch, trigger, reset, getFieldState, } = (0, react_hook_form_1.useForm)();
77
57
  const formValueHandler = (element) => {
78
- var _a;
79
58
  if (['group', 'upload', 'text'].includes(element.elementType))
80
59
  return;
81
60
  if (!element.defaultValue && element.renderIf) {
82
61
  unregister(element.name);
83
62
  return;
84
63
  }
85
- const defaultValue = (_a = element.defaultValue) !== null && _a !== void 0 ? _a : '';
64
+ const defaultValue = element.defaultValue ?? '';
86
65
  const parsedValue = defaultValue === 'true'
87
66
  ? true
88
67
  : defaultValue === 'false'
89
68
  ? false
90
69
  : defaultValue;
91
- setValue(element.name, parsedValue !== null && parsedValue !== void 0 ? parsedValue : '');
70
+ setValue(element.name, parsedValue ?? '');
92
71
  };
93
72
  const autoLoadGroup = (groupFields) => {
94
73
  groupFields.forEach((element) => {
@@ -115,9 +94,7 @@ const Modal = ({ open, close, config }) => {
115
94
  : true;
116
95
  return useSubmit;
117
96
  };
118
- const getRender = (_a, index, isEndOfRender) => {
119
- var { elementType } = _a, element = __rest(_a, ["elementType"]);
120
- if (isEndOfRender === void 0) { isEndOfRender = false; }
97
+ const getRender = ({ elementType, ...element }, index, isEndOfRender = false) => {
121
98
  if (isEndOfRender && modalReady)
122
99
  setTimeout(() => autoLoadField(modalReady.fields), 200);
123
100
  const props = {
@@ -126,24 +103,22 @@ const Modal = ({ open, close, config }) => {
126
103
  setValue,
127
104
  unregister,
128
105
  };
129
- return elementType === 'input' ? (react_1.default.createElement(make_input_1.default, Object.assign({}, props, { key: `modal-input-${index}`, element: element }))) : elementType === 'select' ? (react_1.default.createElement(make_select_1.default, Object.assign({}, props, { key: `modal-select-${index}`, element: element }))) : elementType === 'textarea' ? (react_1.default.createElement(make_textarea_1.default, Object.assign({}, props, { key: `modal-textarea-${index}`, element: element }))) : elementType === 'toggle' ? (react_1.default.createElement(make_toggle_1.default, Object.assign({}, props, { key: `modal-toggle-${index}`, element: element }))) : elementType === 'text' ? (react_1.default.createElement(make_description_1.default, Object.assign({}, props, { key: `modal-text-${index}`, element: element }))) : elementType === 'upload' ? (react_1.default.createElement(make_upload_1.default, Object.assign({}, props, { key: `modal-upload-${index}`, element: element }))) : elementType === 'button' ? (react_1.default.createElement(make_button_1.default, Object.assign({}, props, { key: `modal-button-${index}`, element: element }))) : null;
106
+ return elementType === 'input' ? (react_1.default.createElement(make_input_1.default, { ...props, key: `modal-input-${index}`, element: element })) : elementType === 'select' ? (react_1.default.createElement(make_select_1.default, { ...props, key: `modal-select-${index}`, element: element })) : elementType === 'textarea' ? (react_1.default.createElement(make_textarea_1.default, { ...props, key: `modal-textarea-${index}`, element: element })) : elementType === 'toggle' ? (react_1.default.createElement(make_toggle_1.default, { ...props, key: `modal-toggle-${index}`, element: element })) : elementType === 'text' ? (react_1.default.createElement(make_description_1.default, { ...props, key: `modal-text-${index}`, element: element })) : elementType === 'upload' ? (react_1.default.createElement(make_upload_1.default, { ...props, key: `modal-upload-${index}`, element: element })) : elementType === 'button' ? (react_1.default.createElement(make_button_1.default, { ...props, key: `modal-button-${index}`, element: element })) : null;
130
107
  };
131
108
  const closeHandler = () => {
132
- if (modalReady === null || modalReady === void 0 ? void 0 : modalReady.onClose)
109
+ if (modalReady?.onClose)
133
110
  modalReady.onClose();
134
111
  setTimeout(() => {
135
- const form = getValues();
136
- unregister(Object.keys(form));
137
112
  setModalReady(undefined);
138
113
  setDefaultLoaded(false);
114
+ reset();
139
115
  close();
140
116
  }, 200);
141
117
  };
142
- const manualSubmit = () => __awaiter(void 0, void 0, void 0, function* () {
143
- var _a;
118
+ const manualSubmit = async () => {
144
119
  const form = getValues();
145
120
  const fields = Object.keys(form);
146
- yield trigger(fields);
121
+ await trigger(fields);
147
122
  const validations = fields.map((field) => {
148
123
  const { invalid } = getFieldState(field);
149
124
  return invalid;
@@ -153,11 +128,10 @@ const Modal = ({ open, close, config }) => {
153
128
  : form;
154
129
  if (!result)
155
130
  return;
156
- actionHandler(Object.assign(Object.assign({}, ((_a = modalReady === null || modalReady === void 0 ? void 0 : modalReady.reservedData) !== null && _a !== void 0 ? _a : {})), form));
157
- });
131
+ actionHandler({ ...(modalReady?.reservedData ?? {}), ...form });
132
+ };
158
133
  const actionHandler = (data) => {
159
- var _a;
160
- modalReady === null || modalReady === void 0 ? void 0 : modalReady.out(Object.assign(Object.assign({}, ((_a = modalReady === null || modalReady === void 0 ? void 0 : modalReady.reservedData) !== null && _a !== void 0 ? _a : {})), data));
134
+ modalReady?.out({ ...(modalReady?.reservedData ?? {}), ...data });
161
135
  closeHandler();
162
136
  };
163
137
  (0, react_1.useEffect)(() => {
@@ -195,9 +169,9 @@ const Modal = ({ open, close, config }) => {
195
169
  return getRender(element, index, isEndOfRender);
196
170
  }
197
171
  })),
198
- react_1.default.createElement("div", { className: "flex gap-4 items-center justify-center border-t p-2", style: modalReady === null || modalReady === void 0 ? void 0 : modalReady.actions.containerStyle },
199
- modalReady.actions.cancel && (react_1.default.createElement(ModalButtonCancel, Object.assign({}, modalReady.actions.cancel, { onClick: closeHandler }))),
200
- getUseSubmit(modalReady) ? (react_1.default.createElement(ModalButtonAction, Object.assign({}, modalReady.actions.action, { type: "submit" }))) : (react_1.default.createElement(ModalButtonAction, Object.assign({}, modalReady.actions.action, { onClick: manualSubmit, type: "button" }))))))));
172
+ react_1.default.createElement("div", { className: "flex gap-4 items-center justify-center border-t p-2", style: modalReady?.actions.containerStyle },
173
+ modalReady.actions.cancel && (react_1.default.createElement(ModalButtonCancel, { ...modalReady.actions.cancel, onClick: closeHandler })),
174
+ getUseSubmit(modalReady) ? (react_1.default.createElement(ModalButtonAction, { ...modalReady.actions.action, type: "submit" })) : (react_1.default.createElement(ModalButtonAction, { ...modalReady.actions.action, onClick: manualSubmit, type: "button" })))))));
201
175
  };
202
176
  exports.Modal = Modal;
203
177
  exports.default = exports.Modal;
@@ -1,28 +1,20 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
2
+ 'use client';
11
3
  Object.defineProperty(exports, "__esModule", { value: true });
12
4
  exports.liveDataHandler = exports.liveDataAction = void 0;
13
- const liveDataAction = (fieldData, formData, action) => __awaiter(void 0, void 0, void 0, function* () {
5
+ const liveDataAction = async (fieldData, formData, action) => {
14
6
  if (typeof fieldData === 'string') {
15
- const options = yield action(fieldData, formData);
16
- return options !== null && options !== void 0 ? options : [];
7
+ const options = await action(fieldData, formData);
8
+ return options ?? [];
17
9
  }
18
10
  return [];
19
- });
11
+ };
20
12
  exports.liveDataAction = liveDataAction;
21
- const liveDataHandler = (fieldData, formData, action) => __awaiter(void 0, void 0, void 0, function* () {
13
+ const liveDataHandler = async (fieldData, formData, action) => {
22
14
  if (typeof fieldData === 'string') {
23
- const result = yield action(fieldData, formData);
24
- return result !== null && result !== void 0 ? result : false;
15
+ const result = await action(fieldData, formData);
16
+ return result ?? false;
25
17
  }
26
18
  return false;
27
- });
19
+ };
28
20
  exports.liveDataHandler = liveDataHandler;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dynamic-modal",
3
- "version": "1.1.12",
3
+ "version": "1.1.14",
4
4
  "description": "The dynamic-modal is a solution of creation different modals into project using a json configuration file",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -23,12 +23,13 @@ const useEnableIf = ({ elementEnableIf }: IRenderIfProps) => {
23
23
  { name }: Record<'name', string> & Record<'type', string | undefined>,
24
24
  ) => {
25
25
  const targetFieldData = formData[name] as string | number;
26
- if (
27
- targetFieldData === undefined ||
28
- targetFieldData === '' ||
29
- targetFieldData === null
30
- )
31
- return;
26
+
27
+ // if (
28
+ // targetFieldData === undefined ||
29
+ // targetFieldData === '' ||
30
+ // targetFieldData === null
31
+ // )
32
+ // return false;
32
33
 
33
34
  const enableIfConfig = elementEnableIf;
34
35
  const isLiveEnable: boolean =
@@ -24,6 +24,13 @@ const useRenderIf = ({ elementRenderIf }: IRenderIfProps) => {
24
24
  ) => {
25
25
  const targetFieldData = formData[name] as string | number;
26
26
 
27
+ // if (
28
+ // targetFieldData === undefined ||
29
+ // targetFieldData === '' ||
30
+ // targetFieldData === null
31
+ // )
32
+ // return false;
33
+
27
34
  const renderIfConfig = elementRenderIf!;
28
35
  const isLiveRender: boolean =
29
36
  !!renderIfConfig?.action && !!renderIfConfig?.condition;