@plasmicpkgs/antd5 0.0.188 → 0.0.190

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.
Files changed (94) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/antd.esm.js +5118 -4965
  3. package/dist/antd.esm.js.map +1 -1
  4. package/dist/form/Form.d.ts +72 -0
  5. package/dist/form/FormGroup.d.ts +6 -0
  6. package/dist/form/FormItem.d.ts +33 -0
  7. package/dist/form/FormList.d.ts +5 -0
  8. package/dist/form/SchemaForm.d.ts +9 -0
  9. package/dist/form/contexts.d.ts +40 -0
  10. package/dist/form/registerForm.d.ts +9 -0
  11. package/dist/form/registerFormGroup.d.ts +2 -0
  12. package/dist/form/registerFormItem.d.ts +2 -0
  13. package/dist/form/registerFormList.d.ts +2 -0
  14. package/dist/form/sharedRegistration.d.ts +14 -0
  15. package/dist/index.d.ts +6 -4
  16. package/dist/index.js +5136 -4972
  17. package/dist/index.js.map +1 -1
  18. package/dist/names.d.ts +18 -0
  19. package/dist/registerButton.d.ts +1 -2
  20. package/dist/registerCheckbox.d.ts +0 -2
  21. package/dist/registerInput.d.ts +0 -4
  22. package/dist/registerRadio.d.ts +0 -3
  23. package/dist/registerSelect.d.ts +0 -3
  24. package/dist/registerSwitch.d.ts +0 -1
  25. package/package.json +5 -5
  26. package/skinny/Form.cjs.js +268 -0
  27. package/skinny/Form.cjs.js.map +1 -0
  28. package/skinny/Form.esm.js +256 -0
  29. package/skinny/Form.esm.js.map +1 -0
  30. package/skinny/FormGroup.cjs.js +26 -0
  31. package/skinny/FormGroup.cjs.js.map +1 -0
  32. package/skinny/FormGroup.esm.js +20 -0
  33. package/skinny/FormGroup.esm.js.map +1 -0
  34. package/skinny/FormItem.cjs.js +290 -0
  35. package/skinny/FormItem.cjs.js.map +1 -0
  36. package/skinny/FormItem.esm.js +284 -0
  37. package/skinny/FormItem.esm.js.map +1 -0
  38. package/skinny/FormList.cjs.js +98 -0
  39. package/skinny/FormList.cjs.js.map +1 -0
  40. package/skinny/FormList.esm.js +92 -0
  41. package/skinny/FormList.esm.js.map +1 -0
  42. package/skinny/SchemaForm.cjs.js +199 -0
  43. package/skinny/SchemaForm.cjs.js.map +1 -0
  44. package/skinny/SchemaForm.esm.js +191 -0
  45. package/skinny/SchemaForm.esm.js.map +1 -0
  46. package/skinny/contexts-4c7952c1.esm.js +20 -0
  47. package/skinny/contexts-4c7952c1.esm.js.map +1 -0
  48. package/skinny/contexts-a2387bed.cjs.js +31 -0
  49. package/skinny/contexts-a2387bed.cjs.js.map +1 -0
  50. package/skinny/names-3aea627b.cjs.js +34 -0
  51. package/skinny/names-3aea627b.cjs.js.map +1 -0
  52. package/skinny/names-73583568.esm.js +18 -0
  53. package/skinny/names-73583568.esm.js.map +1 -0
  54. package/skinny/names.d.ts +18 -0
  55. package/skinny/registerButton.cjs.js +3 -4
  56. package/skinny/registerButton.cjs.js.map +1 -1
  57. package/skinny/registerButton.d.ts +1 -2
  58. package/skinny/registerButton.esm.js +3 -3
  59. package/skinny/registerButton.esm.js.map +1 -1
  60. package/skinny/registerCheckbox.cjs.js +5 -8
  61. package/skinny/registerCheckbox.cjs.js.map +1 -1
  62. package/skinny/registerCheckbox.d.ts +0 -2
  63. package/skinny/registerCheckbox.esm.js +2 -3
  64. package/skinny/registerCheckbox.esm.js.map +1 -1
  65. package/skinny/registerForm.cjs.js +460 -1387
  66. package/skinny/registerForm.cjs.js.map +1 -1
  67. package/skinny/registerForm.esm.js +460 -1375
  68. package/skinny/registerForm.esm.js.map +1 -1
  69. package/skinny/registerInput.cjs.js +8 -15
  70. package/skinny/registerInput.cjs.js.map +1 -1
  71. package/skinny/registerInput.d.ts +0 -4
  72. package/skinny/registerInput.esm.js +2 -5
  73. package/skinny/registerInput.esm.js.map +1 -1
  74. package/skinny/registerRadio.cjs.js +6 -11
  75. package/skinny/registerRadio.cjs.js.map +1 -1
  76. package/skinny/registerRadio.d.ts +0 -3
  77. package/skinny/registerRadio.esm.js +2 -4
  78. package/skinny/registerRadio.esm.js.map +1 -1
  79. package/skinny/registerSelect.cjs.js +7 -12
  80. package/skinny/registerSelect.cjs.js.map +1 -1
  81. package/skinny/registerSelect.d.ts +0 -3
  82. package/skinny/registerSelect.esm.js +2 -4
  83. package/skinny/registerSelect.esm.js.map +1 -1
  84. package/skinny/registerSwitch.cjs.js +2 -3
  85. package/skinny/registerSwitch.cjs.js.map +1 -1
  86. package/skinny/registerSwitch.d.ts +0 -1
  87. package/skinny/registerSwitch.esm.js +2 -2
  88. package/skinny/registerSwitch.esm.js.map +1 -1
  89. package/skinny/registerUpload.cjs.js +10 -6
  90. package/skinny/registerUpload.cjs.js.map +1 -1
  91. package/skinny/registerUpload.esm.js +10 -6
  92. package/skinny/registerUpload.esm.js.map +1 -1
  93. package/dist/registerForm.d.ts +0 -143
  94. package/skinny/registerForm.d.ts +0 -143
@@ -0,0 +1,18 @@
1
+ export declare const inputComponentName = "plasmic-antd5-input";
2
+ export declare const passwordComponentName = "plasmic-antd5-input-password";
3
+ export declare const inputNumberComponentName = "plasmic-antd5-input-number";
4
+ export declare const textAreaComponentName = "plasmic-antd5-textarea";
5
+ export declare const switchComponentName = "plasmic-antd5-switch";
6
+ export declare const selectComponentName = "plasmic-antd5-select";
7
+ export declare const optionComponentName = "plasmic-antd5-option";
8
+ export declare const optionGroupComponentName = "plasmic-antd5-option-group";
9
+ export declare const checkboxComponentName = "plasmic-antd5-checkbox";
10
+ export declare const checkboxGroupComponentName = "plasmic-antd5-checkbox-group";
11
+ export declare const radioComponentName = "plasmic-antd5-radio";
12
+ export declare const radioButtonComponentName = "plasmic-antd5-radio-button";
13
+ export declare const radioGroupComponentName = "plasmic-antd5-radio-group";
14
+ export declare const formListComponentName = "plasmic-antd5-form-list";
15
+ export declare const formComponentName = "plasmic-antd5-form";
16
+ export declare const formGroupComponentName = "plasmic-antd5-form-group";
17
+ export declare const formItemComponentName = "plasmic-antd5-form-item";
18
+ export declare const buttonComponentName = "plasmic-antd5-button";
@@ -1,9 +1,8 @@
1
- import React from "react";
2
1
  import { Button } from "antd";
2
+ import React from "react";
3
3
  import { Registerable } from "./utils";
4
4
  export declare function AntdButton(props: Omit<React.ComponentProps<typeof Button>, "target"> & {
5
5
  submitsForm?: boolean;
6
6
  target?: React.ComponentProps<typeof Button>["target"] | boolean;
7
7
  }): React.JSX.Element;
8
- export declare const buttonComponentName = "plasmic-antd5-button";
9
8
  export declare function registerButton(loader?: Registerable): void;
@@ -10,6 +10,4 @@ export declare namespace AntdCheckbox {
10
10
  };
11
11
  }
12
12
  export declare const AntdCheckboxGroup: React.MemoExoticComponent<React.ForwardRefExoticComponent<import("antd/es/checkbox").CheckboxGroupProps & React.RefAttributes<HTMLDivElement>>>;
13
- export declare const checkboxComponentName = "plasmic-antd5-checkbox";
14
- export declare const checkboxGroupComponentName = "plasmic-antd5-checkbox-group";
15
13
  export declare function registerCheckbox(loader?: Registerable): void;
@@ -17,11 +17,7 @@ export declare const inputHelpers: {
17
17
  };
18
18
  };
19
19
  };
20
- export declare const inputComponentName = "plasmic-antd5-input";
21
20
  export declare function registerInput(loader?: Registerable): void;
22
- export declare const textAreaComponentName = "plasmic-antd5-textarea";
23
21
  export declare function registerTextArea(loader?: Registerable): void;
24
- export declare const passwordComponentName = "plasmic-antd5-input-password";
25
22
  export declare function registerPasswordInput(loader?: Registerable): void;
26
- export declare const inputNumberComponentName = "plasmic-antd5-input-number";
27
23
  export declare function registerNumberInput(loader?: Registerable): void;
@@ -10,8 +10,5 @@ export declare function AntdRadioGroup(props: Omit<React.ComponentProps<typeof R
10
10
  onChange?: (value?: string) => void;
11
11
  useChildren?: boolean;
12
12
  }): React.JSX.Element;
13
- export declare const radioComponentName = "plasmic-antd5-radio";
14
- export declare const radioButtonComponentName = "plasmic-antd5-radio-button";
15
- export declare const radioGroupComponentName = "plasmic-antd5-radio-group";
16
13
  export declare function registerRadio(loader?: Registerable): void;
17
14
  export {};
@@ -9,7 +9,4 @@ export declare function AntdSelect(props: ComponentProps<typeof Select> & {
9
9
  defaultStylesClassName?: string;
10
10
  useChildren?: boolean;
11
11
  }): React.JSX.Element;
12
- export declare const selectComponentName = "plasmic-antd5-select";
13
- export declare const optionComponentName = "plasmic-antd5-option";
14
- export declare const optionGroupComponentName = "plasmic-antd5-option-group";
15
12
  export declare function registerSelect(loader?: Registerable): void;
@@ -7,5 +7,4 @@ export declare namespace AntdSwitch {
7
7
  valueProp: string;
8
8
  };
9
9
  }
10
- export declare const switchComponentName = "plasmic-antd5-switch";
11
10
  export declare function registerSwitch(loader?: Registerable): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plasmicpkgs/antd5",
3
- "version": "0.0.188",
3
+ "version": "0.0.190",
4
4
  "description": "Plasmic registration calls for antd components",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -65,10 +65,10 @@
65
65
  "@babel/preset-env": "^7.22.15",
66
66
  "@babel/preset-react": "^7.22.15",
67
67
  "@babel/preset-typescript": "^7.22.15",
68
- "@plasmicapp/data-sources": "0.1.139",
69
- "@plasmicapp/host": "1.0.181",
68
+ "@plasmicapp/data-sources": "0.1.140",
69
+ "@plasmicapp/host": "1.0.182",
70
70
  "@plasmicapp/query": "0.1.77",
71
- "@plasmicapp/react-web": "0.2.301",
71
+ "@plasmicapp/react-web": "0.2.302",
72
72
  "@rollup/plugin-commonjs": "^11.0.0",
73
73
  "@rollup/plugin-json": "^4.0.0",
74
74
  "@rollup/plugin-node-resolve": "^9.0.0",
@@ -108,5 +108,5 @@
108
108
  "publishConfig": {
109
109
  "access": "public"
110
110
  },
111
- "gitHead": "65c4a8f0333097d9c78cd959dd055a65f8bc372b"
111
+ "gitHead": "e0516f10c0a328e24f2f684b3e414184ea39915e"
112
112
  }
@@ -0,0 +1,268 @@
1
+ 'use strict';
2
+
3
+ var antd = require('antd');
4
+ var equal = require('fast-deep-equal');
5
+ var React = require('react');
6
+ var utils = require('./utils-174b9d45.cjs.js');
7
+ var contexts = require('./contexts-a2387bed.cjs.js');
8
+ require('@plasmicapp/host/registerComponent');
9
+ require('@plasmicapp/host/registerGlobalContext');
10
+
11
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
+
13
+ var equal__default = /*#__PURE__*/_interopDefault(equal);
14
+ var React__default = /*#__PURE__*/_interopDefault(React);
15
+
16
+ var __defProp = Object.defineProperty;
17
+ var __defProps = Object.defineProperties;
18
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
19
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
20
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
21
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
22
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
23
+ var __spreadValues = (a, b) => {
24
+ for (var prop in b || (b = {}))
25
+ if (__hasOwnProp.call(b, prop))
26
+ __defNormalProp(a, prop, b[prop]);
27
+ if (__getOwnPropSymbols)
28
+ for (var prop of __getOwnPropSymbols(b)) {
29
+ if (__propIsEnum.call(b, prop))
30
+ __defNormalProp(a, prop, b[prop]);
31
+ }
32
+ return a;
33
+ };
34
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
35
+ var __objRest = (source, exclude) => {
36
+ var target = {};
37
+ for (var prop in source)
38
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
39
+ target[prop] = source[prop];
40
+ if (source != null && __getOwnPropSymbols)
41
+ for (var prop of __getOwnPropSymbols(source)) {
42
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
43
+ target[prop] = source[prop];
44
+ }
45
+ return target;
46
+ };
47
+ var InputType = /* @__PURE__ */ ((InputType2) => {
48
+ InputType2["Text"] = "Text";
49
+ InputType2["TextArea"] = "Text Area";
50
+ InputType2["Password"] = "Password";
51
+ InputType2["Number"] = "Number";
52
+ InputType2["Select"] = "Select";
53
+ InputType2["Option"] = "Option";
54
+ InputType2["OptionGroup"] = "Option Group";
55
+ InputType2["Radio"] = "Radio";
56
+ InputType2["RadioGroup"] = "Radio Group";
57
+ InputType2["Checkbox"] = "Checkbox";
58
+ InputType2["DatePicker"] = "DatePicker";
59
+ InputType2["Unknown"] = "Unkown";
60
+ return InputType2;
61
+ })(InputType || {});
62
+ const SchemaFormContext = React__default.default.createContext(void 0);
63
+ var FormType = /* @__PURE__ */ ((FormType2) => {
64
+ FormType2[FormType2["NewEntry"] = 0] = "NewEntry";
65
+ FormType2[FormType2["UpdateEntry"] = 1] = "UpdateEntry";
66
+ return FormType2;
67
+ })(FormType || {});
68
+ const Internal = React__default.default.forwardRef(
69
+ (props, ref) => {
70
+ var _b, _c, _d, _e;
71
+ const [form] = antd.Form.useForm();
72
+ const values = form.getFieldsValue(true);
73
+ const lastValue = React__default.default.useRef(values);
74
+ const _a = props, {
75
+ extendedOnValuesChange,
76
+ forceRemount,
77
+ formLayout,
78
+ internalFieldCtx,
79
+ setInternalFieldCtx
80
+ } = _a, rest = __objRest(_a, [
81
+ "extendedOnValuesChange",
82
+ "forceRemount",
83
+ "formLayout",
84
+ "internalFieldCtx",
85
+ "setInternalFieldCtx"
86
+ ]);
87
+ const childrenNode = typeof props.children === "function" ? props.children(values, form) : props.children;
88
+ const fireOnValuesChange = React__default.default.useCallback(() => {
89
+ const values2 = form.getFieldsValue(true);
90
+ if (!equal__default.default(values2, lastValue.current)) {
91
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(values2);
92
+ lastValue.current = values2;
93
+ }
94
+ }, [form, lastValue]);
95
+ React__default.default.useEffect(() => {
96
+ fireOnValuesChange();
97
+ }, []);
98
+ React__default.default.useImperativeHandle(ref, () => ({
99
+ formInstance: form,
100
+ setFieldsValue: (newValues) => {
101
+ form.setFieldsValue(newValues);
102
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(form.getFieldsValue(true));
103
+ },
104
+ setFieldValue: (namePath, value) => {
105
+ form.setFieldValue(namePath, value);
106
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(form.getFieldsValue(true));
107
+ },
108
+ resetFields: () => {
109
+ form.resetFields();
110
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(form.getFieldsValue(true));
111
+ },
112
+ validateFields: async (...args) => {
113
+ try {
114
+ return await form.validateFields(...args);
115
+ } catch (err) {
116
+ return err;
117
+ }
118
+ },
119
+ clearFields: () => {
120
+ const values2 = form.getFieldsValue(true);
121
+ utils.setFieldsToUndefined(values2);
122
+ form.setFieldsValue(values2);
123
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(form.getFieldsValue(true));
124
+ }
125
+ }));
126
+ const registerField = React__default.default.useCallback(
127
+ (fieldEntity) => {
128
+ setInternalFieldCtx((ctx) => ({
129
+ registeredFields: [...ctx.registeredFields, fieldEntity],
130
+ preservedRegisteredFields: [
131
+ ...ctx.preservedRegisteredFields,
132
+ fieldEntity
133
+ ]
134
+ }));
135
+ return () => {
136
+ setInternalFieldCtx((ctx) => ({
137
+ registeredFields: ctx.registeredFields.filter(
138
+ (ent) => ent !== fieldEntity
139
+ ),
140
+ preservedRegisteredFields: ctx.preservedRegisteredFields.filter(
141
+ (ent) => ent !== fieldEntity || fieldEntity.preserve
142
+ )
143
+ }));
144
+ };
145
+ },
146
+ [setInternalFieldCtx]
147
+ );
148
+ const schemaFormCtx = React__default.default.useContext(SchemaFormContext);
149
+ (_b = props.setControlContextData) == null ? void 0 : _b.call(props, __spreadValues({
150
+ formInstance: form,
151
+ layout: formLayout,
152
+ internalFieldCtx
153
+ }, schemaFormCtx ? schemaFormCtx : {}));
154
+ return /* @__PURE__ */ React__default.default.createElement(
155
+ contexts.InternalFormInstanceContext.Provider,
156
+ {
157
+ value: {
158
+ layout: formLayout,
159
+ fireOnValuesChange,
160
+ forceRemount,
161
+ registerField,
162
+ internalFieldCtx,
163
+ initialValues: (_c = props.initialValues) != null ? _c : {}
164
+ }
165
+ },
166
+ /* @__PURE__ */ React__default.default.createElement(contexts.FormLayoutContext.Provider, { value: formLayout }, /* @__PURE__ */ React__default.default.createElement(
167
+ antd.Form,
168
+ __spreadProps(__spreadValues({}, rest), {
169
+ key: props.initialValues ? JSON.stringify(props.initialValues) : void 0,
170
+ onValuesChange: (...args) => {
171
+ var _a2;
172
+ (_a2 = props.onValuesChange) == null ? void 0 : _a2.call(props, ...args);
173
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(form.getFieldsValue(true));
174
+ },
175
+ onFinish: () => {
176
+ var _a2;
177
+ (_a2 = props.onFinish) == null ? void 0 : _a2.call(
178
+ props,
179
+ utils.pick(
180
+ form.getFieldsValue(true),
181
+ ...internalFieldCtx.preservedRegisteredFields.map(
182
+ (field) => field.fullPath
183
+ )
184
+ )
185
+ );
186
+ },
187
+ form,
188
+ labelCol: ((_d = props.labelCol) == null ? void 0 : _d.horizontalOnly) && props.layout !== "horizontal" ? void 0 : props.labelCol,
189
+ wrapperCol: ((_e = props.wrapperCol) == null ? void 0 : _e.horizontalOnly) && props.layout !== "horizontal" ? void 0 : props.wrapperCol
190
+ }),
191
+ /* @__PURE__ */ React__default.default.createElement("style", null, `
192
+ .ant-form-item-explain + div, .ant-form-item-margin-offset {
193
+ display: none;
194
+ }
195
+ `),
196
+ childrenNode
197
+ ))
198
+ );
199
+ }
200
+ );
201
+ const FormWrapper = React__default.default.forwardRef(
202
+ (props, ref) => {
203
+ var _a;
204
+ const [remountKey, setRemountKey] = React__default.default.useState(0);
205
+ const forceRemount = React__default.default.useCallback(
206
+ () => setRemountKey((k) => k + 1),
207
+ [setRemountKey]
208
+ );
209
+ const previousInitialValues = utils.usePrevious(props.initialValues);
210
+ const wrapperRef = React__default.default.useRef(null);
211
+ React__default.default.useEffect(() => {
212
+ if (previousInitialValues !== props.initialValues && JSON.stringify(previousInitialValues) !== JSON.stringify(props.initialValues)) {
213
+ forceRemount();
214
+ }
215
+ }, [previousInitialValues, props.initialValues]);
216
+ const [internalFieldCtx, setInternalFieldCtx] = React__default.default.useState({
217
+ registeredFields: [],
218
+ preservedRegisteredFields: []
219
+ });
220
+ React__default.default.useImperativeHandle(
221
+ ref,
222
+ () => wrapperRef.current ? __spreadValues({}, wrapperRef.current) : {}
223
+ );
224
+ const formLayout = React__default.default.useMemo(
225
+ () => {
226
+ var _a2;
227
+ return {
228
+ layout: props.layout,
229
+ labelSpan: (_a2 = props.labelCol) == null ? void 0 : _a2.span
230
+ };
231
+ },
232
+ [props.layout, (_a = props.labelCol) == null ? void 0 : _a.span]
233
+ );
234
+ return /* @__PURE__ */ React__default.default.createElement(
235
+ Internal,
236
+ __spreadValues({
237
+ key: remountKey,
238
+ forceRemount,
239
+ formLayout,
240
+ internalFieldCtx,
241
+ setInternalFieldCtx,
242
+ ref: wrapperRef
243
+ }, props)
244
+ );
245
+ }
246
+ );
247
+ const formHelpers = {
248
+ states: {
249
+ value: {
250
+ onMutate: (value, $ref) => {
251
+ var _a;
252
+ (_a = $ref == null ? void 0 : $ref.formInstance) == null ? void 0 : _a.setFieldsValue(value);
253
+ }
254
+ }
255
+ }
256
+ };
257
+ const OPTIMIZED_FORM_IMPORT = {
258
+ name: "FormWrapper",
259
+ path: "@plasmicpkgs/antd5/skinny/Form"
260
+ };
261
+
262
+ exports.FormType = FormType;
263
+ exports.FormWrapper = FormWrapper;
264
+ exports.InputType = InputType;
265
+ exports.OPTIMIZED_FORM_IMPORT = OPTIMIZED_FORM_IMPORT;
266
+ exports.SchemaFormContext = SchemaFormContext;
267
+ exports.formHelpers = formHelpers;
268
+ //# sourceMappingURL=Form.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.cjs.js","sources":["../src/form/Form.tsx"],"sourcesContent":["import type { DataOp, TableSchema } from \"@plasmicapp/data-sources\";\nimport { CodeComponentMode, ComponentHelpers } from \"@plasmicapp/host\";\nimport { CanvasComponentProps } from \"@plasmicapp/host/registerComponent\";\nimport { Form } from \"antd\";\nimport type { FormInstance, FormProps } from \"antd/es/form\";\nimport type { ColProps } from \"antd/es/grid/col\";\nimport equal from \"fast-deep-equal\";\nimport React from \"react\";\nimport { pick, setFieldsToUndefined, usePrevious } from \"../utils\";\nimport {\n CommonFormControlContextData,\n FieldEntity,\n FormLayoutContext,\n FormLayoutContextValue,\n InternalFieldCtx,\n InternalFormInstanceContext,\n} from \"./contexts\";\nimport { InternalFormItemProps } from \"./FormItem\";\n\nexport enum InputType {\n Text = \"Text\",\n TextArea = \"Text Area\",\n Password = \"Password\",\n Number = \"Number\",\n Select = \"Select\",\n Option = \"Option\",\n OptionGroup = \"Option Group\",\n Radio = \"Radio\",\n RadioGroup = \"Radio Group\",\n Checkbox = \"Checkbox\",\n DatePicker = \"DatePicker\",\n Unknown = \"Unkown\",\n}\n\nexport const SchemaFormContext = React.createContext<\n | {\n schema?: TableSchema;\n minimalFullLengthFields?: Partial<SimplifiedFormItemsProp>[];\n mergedFields?: SimplifiedFormItemsProp[];\n }\n | undefined\n>(undefined);\n\nexport interface SimplifiedFormItemsProp extends InternalFormItemProps {\n inputType: InputType;\n options?: {\n label: string;\n value: string;\n }[];\n optionType?: \"default\" | \"button\";\n showTime?: boolean;\n key?: string;\n}\n\nexport interface FormWrapperControlContextData\n extends CommonFormControlContextData {\n formInstance?: FormInstance<any>;\n schema?: TableSchema;\n minimalFullLengthFields?: Partial<SimplifiedFormItemsProp>[];\n mergedFields?: SimplifiedFormItemsProp[];\n}\n\nexport enum FormType {\n NewEntry,\n UpdateEntry,\n}\n\nexport interface FormWrapperProps\n extends FormProps,\n CanvasComponentProps<FormWrapperControlContextData> {\n /**\n * https://ant.design/components/form#setfieldsvalue-do-not-trigger-onfieldschange-or-onvalueschange\n * Because setFieldsValue doesn't trigger onValuesChange, we need to create our own onChange function.\n * This will allow us to trigger the onChange function and keep the value state updated in canvas.\n * We also don't invoke onValuesChange to avoid changing the standard behavior, since users may have\n * overridden this function in their codebase\n **/\n extendedOnValuesChange?: (\n values: Parameters<NonNullable<FormProps[\"onValuesChange\"]>>[1]\n ) => void;\n formItems?: SimplifiedFormItemsProp[];\n dataFormItems?: SimplifiedFormItemsProp[];\n mode?: CodeComponentMode;\n formType?: \"new-entry\" | \"update-entry\";\n submitSlot?: React.ReactNode;\n data?: DataOp;\n}\n\nconst Internal = React.forwardRef(\n (\n props: FormWrapperProps & {\n forceRemount: () => void;\n setInternalFieldCtx: React.Dispatch<\n React.SetStateAction<InternalFieldCtx>\n >;\n internalFieldCtx: InternalFieldCtx;\n labelCol?: ColProps & { horizontalOnly?: boolean };\n wrapperCol?: ColProps & { horizontalOnly?: boolean };\n formLayout: FormLayoutContextValue;\n },\n ref: React.Ref<FormRefActions>\n ) => {\n const [form] = Form.useForm();\n const values = form.getFieldsValue(true);\n const lastValue = React.useRef(values);\n const {\n extendedOnValuesChange,\n forceRemount,\n formLayout,\n internalFieldCtx,\n setInternalFieldCtx,\n ...rest\n } = props;\n // extracted from https://github.com/react-component/field-form/blob/master/src/Form.tsx#L120\n const childrenNode =\n typeof props.children === \"function\"\n ? props.children(values, form)\n : props.children;\n\n const fireOnValuesChange = React.useCallback(() => {\n const values = form.getFieldsValue(true);\n if (!equal(values, lastValue.current)) {\n extendedOnValuesChange?.(values);\n lastValue.current = values;\n }\n }, [form, lastValue]);\n\n React.useEffect(() => {\n fireOnValuesChange();\n }, []);\n React.useImperativeHandle(ref, () => ({\n formInstance: form,\n setFieldsValue: (newValues: Record<string, any>) => {\n form.setFieldsValue(newValues);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n setFieldValue: (\n namePath: string | number | (string | number)[],\n value: any\n ) => {\n form.setFieldValue(namePath, value);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n resetFields: () => {\n form.resetFields();\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n validateFields: async (...args) => {\n try {\n return await form.validateFields(...(args as any));\n } catch (err) {\n return err as any;\n }\n },\n clearFields: () => {\n const values = form.getFieldsValue(true);\n setFieldsToUndefined(values);\n form.setFieldsValue(values);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n }));\n const registerField = React.useCallback(\n (fieldEntity: FieldEntity) => {\n setInternalFieldCtx((ctx) => ({\n registeredFields: [...ctx.registeredFields, fieldEntity],\n preservedRegisteredFields: [\n ...ctx.preservedRegisteredFields,\n fieldEntity,\n ],\n }));\n return () => {\n setInternalFieldCtx((ctx) => ({\n registeredFields: ctx.registeredFields.filter(\n (ent) => ent !== fieldEntity\n ),\n preservedRegisteredFields: ctx.preservedRegisteredFields.filter(\n (ent) => ent !== fieldEntity || fieldEntity.preserve\n ),\n }));\n };\n },\n [setInternalFieldCtx]\n );\n const schemaFormCtx = React.useContext(SchemaFormContext);\n props.setControlContextData?.({\n formInstance: form,\n layout: formLayout,\n internalFieldCtx,\n ...(schemaFormCtx ? schemaFormCtx : {}),\n });\n\n return (\n <InternalFormInstanceContext.Provider\n value={{\n layout: formLayout,\n fireOnValuesChange,\n forceRemount,\n registerField,\n internalFieldCtx,\n initialValues: props.initialValues ?? {},\n }}\n >\n <FormLayoutContext.Provider value={formLayout}>\n <Form\n {...rest}\n key={\n props.initialValues\n ? JSON.stringify(props.initialValues)\n : undefined\n }\n onValuesChange={(...args) => {\n props.onValuesChange?.(...args);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n }}\n onFinish={() => {\n props.onFinish?.(\n pick(\n form.getFieldsValue(true),\n ...internalFieldCtx.preservedRegisteredFields.map(\n (field) => field.fullPath\n )\n )\n );\n }}\n form={form}\n labelCol={\n props.labelCol?.horizontalOnly && props.layout !== \"horizontal\"\n ? undefined\n : props.labelCol\n }\n wrapperCol={\n props.wrapperCol?.horizontalOnly && props.layout !== \"horizontal\"\n ? undefined\n : props.wrapperCol\n }\n >\n {/*Remove built-in spacing on form fields*/}\n <style>{`\n .ant-form-item-explain + div, .ant-form-item-margin-offset {\n display: none;\n }\n `}</style>\n {childrenNode}\n </Form>\n </FormLayoutContext.Provider>\n </InternalFormInstanceContext.Provider>\n );\n }\n);\n\nexport interface FormRefActions\n extends Pick<\n FormInstance<any>,\n \"setFieldsValue\" | \"resetFields\" | \"setFieldValue\" | \"validateFields\"\n > {\n clearFields: () => void;\n formInstance: FormInstance<any>;\n}\n\nexport const FormWrapper = React.forwardRef(\n (props: FormWrapperProps, ref: React.Ref<FormRefActions>) => {\n const [remountKey, setRemountKey] = React.useState(0);\n const forceRemount = React.useCallback(\n () => setRemountKey((k) => k + 1),\n [setRemountKey]\n );\n const previousInitialValues = usePrevious(props.initialValues);\n\n const wrapperRef = React.useRef<FormRefActions>(null);\n React.useEffect(() => {\n if (\n previousInitialValues !== props.initialValues &&\n JSON.stringify(previousInitialValues) !==\n JSON.stringify(props.initialValues)\n ) {\n forceRemount();\n }\n }, [previousInitialValues, props.initialValues]);\n const [internalFieldCtx, setInternalFieldCtx] =\n React.useState<InternalFieldCtx>({\n registeredFields: [],\n preservedRegisteredFields: [],\n });\n\n React.useImperativeHandle(ref, () =>\n wrapperRef.current ? { ...wrapperRef.current } : ({} as FormRefActions)\n );\n\n const formLayout = React.useMemo(\n () => ({\n layout: props.layout,\n labelSpan: props.labelCol?.span as number | undefined,\n }),\n [props.layout, props.labelCol?.span]\n );\n\n return (\n <Internal\n key={remountKey}\n forceRemount={forceRemount}\n formLayout={formLayout}\n internalFieldCtx={internalFieldCtx}\n setInternalFieldCtx={setInternalFieldCtx}\n ref={wrapperRef}\n {...props}\n />\n );\n }\n);\n\nexport const formHelpers: ComponentHelpers<FormWrapperProps> = {\n states: {\n value: {\n onMutate: (value, $ref) => {\n $ref?.formInstance?.setFieldsValue(value);\n },\n },\n },\n};\n\nexport const OPTIMIZED_FORM_IMPORT = {\n name: \"FormWrapper\",\n path: \"@plasmicpkgs/antd5/skinny/Form\",\n};\n"],"names":["InputType","React","FormType","Form","values","equal","setFieldsToUndefined","InternalFormInstanceContext","FormLayoutContext","_a","pick","usePrevious"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBY,IAAA,SAAA,qBAAAA,UAAL,KAAA;AACL,EAAAA,WAAA,MAAO,CAAA,GAAA,MAAA,CAAA;AACP,EAAAA,WAAA,UAAW,CAAA,GAAA,WAAA,CAAA;AACX,EAAAA,WAAA,UAAW,CAAA,GAAA,UAAA,CAAA;AACX,EAAAA,WAAA,QAAS,CAAA,GAAA,QAAA,CAAA;AACT,EAAAA,WAAA,QAAS,CAAA,GAAA,QAAA,CAAA;AACT,EAAAA,WAAA,QAAS,CAAA,GAAA,QAAA,CAAA;AACT,EAAAA,WAAA,aAAc,CAAA,GAAA,cAAA,CAAA;AACd,EAAAA,WAAA,OAAQ,CAAA,GAAA,OAAA,CAAA;AACR,EAAAA,WAAA,YAAa,CAAA,GAAA,aAAA,CAAA;AACb,EAAAA,WAAA,UAAW,CAAA,GAAA,UAAA,CAAA;AACX,EAAAA,WAAA,YAAa,CAAA,GAAA,YAAA,CAAA;AACb,EAAAA,WAAA,SAAU,CAAA,GAAA,QAAA,CAAA;AAZA,EAAAA,OAAAA,UAAAA,CAAAA;AAAA,CAAA,EAAA,SAAA,IAAA,EAAA,EAAA;AAeC,MAAA,iBAAA,GAAoBC,sBAAM,CAAA,aAAA,CAOrC,KAAS,CAAA,EAAA;AAqBC,IAAA,QAAA,qBAAAC,SAAL,KAAA;AACL,EAAAA,SAAA,CAAA,SAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAA,CAAA;AACA,EAAAA,SAAA,CAAA,SAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAA,CAAA;AAFU,EAAAA,OAAAA,SAAAA,CAAAA;AAAA,CAAA,EAAA,QAAA,IAAA,EAAA,EAAA;AA0BZ,MAAM,WAAWD,sBAAM,CAAA,UAAA;AAAA,EACrB,CACE,OAUA,GACG,KAAA;AArGP,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAsGI,IAAA,MAAM,CAAC,IAAI,CAAI,GAAAE,SAAA,CAAK,OAAQ,EAAA,CAAA;AAC5B,IAAM,MAAA,MAAA,GAAS,IAAK,CAAA,cAAA,CAAe,IAAI,CAAA,CAAA;AACvC,IAAM,MAAA,SAAA,GAAYF,sBAAM,CAAA,MAAA,CAAO,MAAM,CAAA,CAAA;AACrC,IAAA,MAOI,EANF,GAAA,KAAA,EAAA;AAAA,MAAA,sBAAA;AAAA,MACA,YAAA;AAAA,MACA,UAAA;AAAA,MACA,gBAAA;AAAA,MACA,mBAAA;AAAA,KA9GN,GAgHQ,EADC,EAAA,IAAA,GAAA,SAAA,CACD,EADC,EAAA;AAAA,MALH,wBAAA;AAAA,MACA,cAAA;AAAA,MACA,YAAA;AAAA,MACA,kBAAA;AAAA,MACA,qBAAA;AAAA,KAAA,CAAA,CAAA;AAIF,IAAM,MAAA,YAAA,GACJ,OAAO,KAAA,CAAM,QAAa,KAAA,UAAA,GACtB,MAAM,QAAS,CAAA,MAAA,EAAQ,IAAI,CAAA,GAC3B,KAAM,CAAA,QAAA,CAAA;AAEZ,IAAM,MAAA,kBAAA,GAAqBA,sBAAM,CAAA,WAAA,CAAY,MAAM;AACjD,MAAMG,MAAAA,OAAAA,GAAS,IAAK,CAAA,cAAA,CAAe,IAAI,CAAA,CAAA;AACvC,MAAA,IAAI,CAACC,sBAAA,CAAMD,OAAQ,EAAA,SAAA,CAAU,OAAO,CAAG,EAAA;AACrC,QAAyBA,sBAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,sBAAAA,CAAAA,OAAAA,CAAAA,CAAAA;AACzB,QAAA,SAAA,CAAU,OAAUA,GAAAA,OAAAA,CAAAA;AAAA,OACtB;AAAA,KACC,EAAA,CAAC,IAAM,EAAA,SAAS,CAAC,CAAA,CAAA;AAEpB,IAAAH,sBAAA,CAAM,UAAU,MAAM;AACpB,MAAmB,kBAAA,EAAA,CAAA;AAAA,KACrB,EAAG,EAAE,CAAA,CAAA;AACL,IAAMA,sBAAA,CAAA,mBAAA,CAAoB,KAAK,OAAO;AAAA,MACpC,YAAc,EAAA,IAAA;AAAA,MACd,cAAA,EAAgB,CAAC,SAAmC,KAAA;AAClD,QAAA,IAAA,CAAK,eAAe,SAAS,CAAA,CAAA;AAC7B,QAAyB,sBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAA,IAAA,CAAK,eAAe,IAAI,CAAA,CAAA,CAAA;AAAA,OACnD;AAAA,MACA,aAAA,EAAe,CACb,QAAA,EACA,KACG,KAAA;AACH,QAAK,IAAA,CAAA,aAAA,CAAc,UAAU,KAAK,CAAA,CAAA;AAClC,QAAyB,sBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAA,IAAA,CAAK,eAAe,IAAI,CAAA,CAAA,CAAA;AAAA,OACnD;AAAA,MACA,aAAa,MAAM;AACjB,QAAA,IAAA,CAAK,WAAY,EAAA,CAAA;AACjB,QAAyB,sBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAA,IAAA,CAAK,eAAe,IAAI,CAAA,CAAA,CAAA;AAAA,OACnD;AAAA,MACA,cAAA,EAAgB,UAAU,IAAS,KAAA;AACjC,QAAI,IAAA;AACF,UAAA,OAAO,MAAM,IAAA,CAAK,cAAe,CAAA,GAAI,IAAY,CAAA,CAAA;AAAA,iBAC1C,GAAP,EAAA;AACA,UAAO,OAAA,GAAA,CAAA;AAAA,SACT;AAAA,OACF;AAAA,MACA,aAAa,MAAM;AACjB,QAAMG,MAAAA,OAAAA,GAAS,IAAK,CAAA,cAAA,CAAe,IAAI,CAAA,CAAA;AACvC,QAAAE,0BAAA,CAAqBF,OAAM,CAAA,CAAA;AAC3B,QAAA,IAAA,CAAK,eAAeA,OAAM,CAAA,CAAA;AAC1B,QAAyB,sBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAA,IAAA,CAAK,eAAe,IAAI,CAAA,CAAA,CAAA;AAAA,OACnD;AAAA,KACA,CAAA,CAAA,CAAA;AACF,IAAA,MAAM,gBAAgBH,sBAAM,CAAA,WAAA;AAAA,MAC1B,CAAC,WAA6B,KAAA;AAC5B,QAAA,mBAAA,CAAoB,CAAC,GAAS,MAAA;AAAA,UAC5B,gBAAkB,EAAA,CAAC,GAAG,GAAA,CAAI,kBAAkB,WAAW,CAAA;AAAA,UACvD,yBAA2B,EAAA;AAAA,YACzB,GAAG,GAAI,CAAA,yBAAA;AAAA,YACP,WAAA;AAAA,WACF;AAAA,SACA,CAAA,CAAA,CAAA;AACF,QAAA,OAAO,MAAM;AACX,UAAA,mBAAA,CAAoB,CAAC,GAAS,MAAA;AAAA,YAC5B,gBAAA,EAAkB,IAAI,gBAAiB,CAAA,MAAA;AAAA,cACrC,CAAC,QAAQ,GAAQ,KAAA,WAAA;AAAA,aACnB;AAAA,YACA,yBAAA,EAA2B,IAAI,yBAA0B,CAAA,MAAA;AAAA,cACvD,CAAC,GAAA,KAAQ,GAAQ,KAAA,WAAA,IAAe,WAAY,CAAA,QAAA;AAAA,aAC9C;AAAA,WACA,CAAA,CAAA,CAAA;AAAA,SACJ,CAAA;AAAA,OACF;AAAA,MACA,CAAC,mBAAmB,CAAA;AAAA,KACtB,CAAA;AACA,IAAM,MAAA,aAAA,GAAgBA,sBAAM,CAAA,UAAA,CAAW,iBAAiB,CAAA,CAAA;AACxD,IAAA,CAAA,EAAA,GAAA,KAAA,CAAM,0BAAN,IAA8B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAA,cAAA,CAAA;AAAA,MAC5B,YAAc,EAAA,IAAA;AAAA,MACd,MAAQ,EAAA,UAAA;AAAA,MACR,gBAAA;AAAA,KACI,EAAA,aAAA,GAAgB,gBAAgB,EAAC,CAAA,CAAA,CAAA;AAGvC,IACE,uBAAAA,sBAAA,CAAA,aAAA;AAAA,MAACM,oCAA4B,CAAA,QAAA;AAAA,MAA5B;AAAA,QACC,KAAO,EAAA;AAAA,UACL,MAAQ,EAAA,UAAA;AAAA,UACR,kBAAA;AAAA,UACA,YAAA;AAAA,UACA,aAAA;AAAA,UACA,gBAAA;AAAA,UACA,aAAe,EAAA,CAAA,EAAA,GAAA,KAAA,CAAM,aAAN,KAAA,IAAA,GAAA,EAAA,GAAuB,EAAC;AAAA,SACzC;AAAA,OAAA;AAAA,sBAECN,sBAAA,CAAA,aAAA,CAAAO,0BAAA,CAAkB,QAAlB,EAAA,EAA2B,OAAO,UACjC,EAAA,kBAAAP,sBAAA,CAAA,aAAA;AAAA,QAACE,SAAA;AAAA,QAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EACK,IADL,CAAA,EAAA;AAAA,UAEC,KACE,KAAM,CAAA,aAAA,GACF,KAAK,SAAU,CAAA,KAAA,CAAM,aAAa,CAClC,GAAA,KAAA,CAAA;AAAA,UAEN,cAAA,EAAgB,IAAI,IAAS,KAAA;AAlNzC,YAAAM,IAAAA,GAAAA,CAAAA;AAmNc,YAAA,CAAAA,MAAA,KAAM,CAAA,cAAA,KAAN,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAA,YAAuB,GAAG,IAAA,CAAA,CAAA;AAC1B,YAAyB,sBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAA,IAAA,CAAK,eAAe,IAAI,CAAA,CAAA,CAAA;AAAA,WACnD;AAAA,UACA,UAAU,MAAM;AAtN5B,YAAAA,IAAAA,GAAAA,CAAAA;AAuNc,YAAA,CAAAA,GAAA,GAAA,KAAA,CAAM,QAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAA,CAAA,IAAA;AAAA,cAAA,KAAA;AAAA,cACEC,UAAA;AAAA,gBACE,IAAA,CAAK,eAAe,IAAI,CAAA;AAAA,gBACxB,GAAG,iBAAiB,yBAA0B,CAAA,GAAA;AAAA,kBAC5C,CAAC,UAAU,KAAM,CAAA,QAAA;AAAA,iBACnB;AAAA,eACF;AAAA,aAAA,CAAA;AAAA,WAEJ;AAAA,UACA,IAAA;AAAA,UACA,QAAA,EAAA,CAAA,CACE,WAAM,QAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAgB,mBAAkB,KAAM,CAAA,MAAA,KAAW,YAC/C,GAAA,KAAA,CAAA,GACA,KAAM,CAAA,QAAA;AAAA,UAEZ,UAAA,EAAA,CAAA,CACE,WAAM,UAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAkB,mBAAkB,KAAM,CAAA,MAAA,KAAW,YACjD,GAAA,KAAA,CAAA,GACA,KAAM,CAAA,UAAA;AAAA,SAAA,CAAA;AAAA,6DAIX,OAAO,EAAA,IAAA,EAAA,CAAA;AAAA;AAAA;AAAA;AAAA,UAIR,CAAA,CAAA;AAAA,QACC,YAAA;AAAA,OAEL,CAAA;AAAA,KACF,CAAA;AAAA,GAEJ;AACF,CAAA,CAAA;AAWO,MAAM,cAAcT,sBAAM,CAAA,UAAA;AAAA,EAC/B,CAAC,OAAyB,GAAmC,KAAA;AApQ/D,IAAA,IAAA,EAAA,CAAA;AAqQI,IAAA,MAAM,CAAC,UAAY,EAAA,aAAa,CAAI,GAAAA,sBAAA,CAAM,SAAS,CAAC,CAAA,CAAA;AACpD,IAAA,MAAM,eAAeA,sBAAM,CAAA,WAAA;AAAA,MACzB,MAAM,aAAA,CAAc,CAAC,CAAA,KAAM,IAAI,CAAC,CAAA;AAAA,MAChC,CAAC,aAAa,CAAA;AAAA,KAChB,CAAA;AACA,IAAM,MAAA,qBAAA,GAAwBU,iBAAY,CAAA,KAAA,CAAM,aAAa,CAAA,CAAA;AAE7D,IAAM,MAAA,UAAA,GAAaV,sBAAM,CAAA,MAAA,CAAuB,IAAI,CAAA,CAAA;AACpD,IAAAA,sBAAA,CAAM,UAAU,MAAM;AACpB,MACE,IAAA,qBAAA,KAA0B,KAAM,CAAA,aAAA,IAChC,IAAK,CAAA,SAAA,CAAU,qBAAqB,CAAA,KAClC,IAAK,CAAA,SAAA,CAAU,KAAM,CAAA,aAAa,CACpC,EAAA;AACA,QAAa,YAAA,EAAA,CAAA;AAAA,OACf;AAAA,KACC,EAAA,CAAC,qBAAuB,EAAA,KAAA,CAAM,aAAa,CAAC,CAAA,CAAA;AAC/C,IAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAC1CA,uBAAM,QAA2B,CAAA;AAAA,MAC/B,kBAAkB,EAAC;AAAA,MACnB,2BAA2B,EAAC;AAAA,KAC7B,CAAA,CAAA;AAEH,IAAMA,sBAAA,CAAA,mBAAA;AAAA,MAAoB,GAAA;AAAA,MAAK,MAC7B,UAAW,CAAA,OAAA,GAAU,cAAK,CAAA,EAAA,EAAA,UAAA,CAAW,WAAa,EAAC;AAAA,KACrD,CAAA;AAEA,IAAA,MAAM,aAAaA,sBAAM,CAAA,OAAA;AAAA,MACvB,MAAG;AAjST,QAAAQ,IAAAA,GAAAA,CAAAA;AAiSa,QAAA,OAAA;AAAA,UACL,QAAQ,KAAM,CAAA,MAAA;AAAA,UACd,SAAWA,EAAAA,CAAAA,GAAAA,GAAA,KAAM,CAAA,QAAA,KAAN,gBAAAA,GAAgB,CAAA,IAAA;AAAA,SAC7B,CAAA;AAAA,OAAA;AAAA,MACA,CAAC,KAAM,CAAA,MAAA,EAAA,CAAQ,EAAM,GAAA,KAAA,CAAA,QAAA,KAAN,mBAAgB,IAAI,CAAA;AAAA,KACrC,CAAA;AAEA,IACE,uBAAAR,sBAAA,CAAA,aAAA;AAAA,MAAC,QAAA;AAAA,MAAA,cAAA,CAAA;AAAA,QACC,GAAK,EAAA,UAAA;AAAA,QACL,YAAA;AAAA,QACA,UAAA;AAAA,QACA,gBAAA;AAAA,QACA,mBAAA;AAAA,QACA,GAAK,EAAA,UAAA;AAAA,OACD,EAAA,KAAA,CAAA;AAAA,KACN,CAAA;AAAA,GAEJ;AACF,EAAA;AAEO,MAAM,WAAkD,GAAA;AAAA,EAC7D,MAAQ,EAAA;AAAA,IACN,KAAO,EAAA;AAAA,MACL,QAAA,EAAU,CAAC,KAAA,EAAO,IAAS,KAAA;AAzTjC,QAAA,IAAA,EAAA,CAAA;AA0TQ,QAAM,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,YAAA,KAAN,mBAAoB,cAAe,CAAA,KAAA,CAAA,CAAA;AAAA,OACrC;AAAA,KACF;AAAA,GACF;AACF,EAAA;AAEO,MAAM,qBAAwB,GAAA;AAAA,EACnC,IAAM,EAAA,aAAA;AAAA,EACN,IAAM,EAAA,gCAAA;AACR;;;;;;;;;"}
@@ -0,0 +1,256 @@
1
+ import { Form } from 'antd';
2
+ import equal from 'fast-deep-equal';
3
+ import React from 'react';
4
+ import { s as setFieldsToUndefined, p as pick, u as usePrevious } from './utils-7d8f2418.esm.js';
5
+ import { I as InternalFormInstanceContext, F as FormLayoutContext } from './contexts-4c7952c1.esm.js';
6
+ import '@plasmicapp/host/registerComponent';
7
+ import '@plasmicapp/host/registerGlobalContext';
8
+
9
+ var __defProp = Object.defineProperty;
10
+ var __defProps = Object.defineProperties;
11
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
12
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
15
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
16
+ var __spreadValues = (a, b) => {
17
+ for (var prop in b || (b = {}))
18
+ if (__hasOwnProp.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ if (__getOwnPropSymbols)
21
+ for (var prop of __getOwnPropSymbols(b)) {
22
+ if (__propIsEnum.call(b, prop))
23
+ __defNormalProp(a, prop, b[prop]);
24
+ }
25
+ return a;
26
+ };
27
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
28
+ var __objRest = (source, exclude) => {
29
+ var target = {};
30
+ for (var prop in source)
31
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
32
+ target[prop] = source[prop];
33
+ if (source != null && __getOwnPropSymbols)
34
+ for (var prop of __getOwnPropSymbols(source)) {
35
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
36
+ target[prop] = source[prop];
37
+ }
38
+ return target;
39
+ };
40
+ var InputType = /* @__PURE__ */ ((InputType2) => {
41
+ InputType2["Text"] = "Text";
42
+ InputType2["TextArea"] = "Text Area";
43
+ InputType2["Password"] = "Password";
44
+ InputType2["Number"] = "Number";
45
+ InputType2["Select"] = "Select";
46
+ InputType2["Option"] = "Option";
47
+ InputType2["OptionGroup"] = "Option Group";
48
+ InputType2["Radio"] = "Radio";
49
+ InputType2["RadioGroup"] = "Radio Group";
50
+ InputType2["Checkbox"] = "Checkbox";
51
+ InputType2["DatePicker"] = "DatePicker";
52
+ InputType2["Unknown"] = "Unkown";
53
+ return InputType2;
54
+ })(InputType || {});
55
+ const SchemaFormContext = React.createContext(void 0);
56
+ var FormType = /* @__PURE__ */ ((FormType2) => {
57
+ FormType2[FormType2["NewEntry"] = 0] = "NewEntry";
58
+ FormType2[FormType2["UpdateEntry"] = 1] = "UpdateEntry";
59
+ return FormType2;
60
+ })(FormType || {});
61
+ const Internal = React.forwardRef(
62
+ (props, ref) => {
63
+ var _b, _c, _d, _e;
64
+ const [form] = Form.useForm();
65
+ const values = form.getFieldsValue(true);
66
+ const lastValue = React.useRef(values);
67
+ const _a = props, {
68
+ extendedOnValuesChange,
69
+ forceRemount,
70
+ formLayout,
71
+ internalFieldCtx,
72
+ setInternalFieldCtx
73
+ } = _a, rest = __objRest(_a, [
74
+ "extendedOnValuesChange",
75
+ "forceRemount",
76
+ "formLayout",
77
+ "internalFieldCtx",
78
+ "setInternalFieldCtx"
79
+ ]);
80
+ const childrenNode = typeof props.children === "function" ? props.children(values, form) : props.children;
81
+ const fireOnValuesChange = React.useCallback(() => {
82
+ const values2 = form.getFieldsValue(true);
83
+ if (!equal(values2, lastValue.current)) {
84
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(values2);
85
+ lastValue.current = values2;
86
+ }
87
+ }, [form, lastValue]);
88
+ React.useEffect(() => {
89
+ fireOnValuesChange();
90
+ }, []);
91
+ React.useImperativeHandle(ref, () => ({
92
+ formInstance: form,
93
+ setFieldsValue: (newValues) => {
94
+ form.setFieldsValue(newValues);
95
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(form.getFieldsValue(true));
96
+ },
97
+ setFieldValue: (namePath, value) => {
98
+ form.setFieldValue(namePath, value);
99
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(form.getFieldsValue(true));
100
+ },
101
+ resetFields: () => {
102
+ form.resetFields();
103
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(form.getFieldsValue(true));
104
+ },
105
+ validateFields: async (...args) => {
106
+ try {
107
+ return await form.validateFields(...args);
108
+ } catch (err) {
109
+ return err;
110
+ }
111
+ },
112
+ clearFields: () => {
113
+ const values2 = form.getFieldsValue(true);
114
+ setFieldsToUndefined(values2);
115
+ form.setFieldsValue(values2);
116
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(form.getFieldsValue(true));
117
+ }
118
+ }));
119
+ const registerField = React.useCallback(
120
+ (fieldEntity) => {
121
+ setInternalFieldCtx((ctx) => ({
122
+ registeredFields: [...ctx.registeredFields, fieldEntity],
123
+ preservedRegisteredFields: [
124
+ ...ctx.preservedRegisteredFields,
125
+ fieldEntity
126
+ ]
127
+ }));
128
+ return () => {
129
+ setInternalFieldCtx((ctx) => ({
130
+ registeredFields: ctx.registeredFields.filter(
131
+ (ent) => ent !== fieldEntity
132
+ ),
133
+ preservedRegisteredFields: ctx.preservedRegisteredFields.filter(
134
+ (ent) => ent !== fieldEntity || fieldEntity.preserve
135
+ )
136
+ }));
137
+ };
138
+ },
139
+ [setInternalFieldCtx]
140
+ );
141
+ const schemaFormCtx = React.useContext(SchemaFormContext);
142
+ (_b = props.setControlContextData) == null ? void 0 : _b.call(props, __spreadValues({
143
+ formInstance: form,
144
+ layout: formLayout,
145
+ internalFieldCtx
146
+ }, schemaFormCtx ? schemaFormCtx : {}));
147
+ return /* @__PURE__ */ React.createElement(
148
+ InternalFormInstanceContext.Provider,
149
+ {
150
+ value: {
151
+ layout: formLayout,
152
+ fireOnValuesChange,
153
+ forceRemount,
154
+ registerField,
155
+ internalFieldCtx,
156
+ initialValues: (_c = props.initialValues) != null ? _c : {}
157
+ }
158
+ },
159
+ /* @__PURE__ */ React.createElement(FormLayoutContext.Provider, { value: formLayout }, /* @__PURE__ */ React.createElement(
160
+ Form,
161
+ __spreadProps(__spreadValues({}, rest), {
162
+ key: props.initialValues ? JSON.stringify(props.initialValues) : void 0,
163
+ onValuesChange: (...args) => {
164
+ var _a2;
165
+ (_a2 = props.onValuesChange) == null ? void 0 : _a2.call(props, ...args);
166
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(form.getFieldsValue(true));
167
+ },
168
+ onFinish: () => {
169
+ var _a2;
170
+ (_a2 = props.onFinish) == null ? void 0 : _a2.call(
171
+ props,
172
+ pick(
173
+ form.getFieldsValue(true),
174
+ ...internalFieldCtx.preservedRegisteredFields.map(
175
+ (field) => field.fullPath
176
+ )
177
+ )
178
+ );
179
+ },
180
+ form,
181
+ labelCol: ((_d = props.labelCol) == null ? void 0 : _d.horizontalOnly) && props.layout !== "horizontal" ? void 0 : props.labelCol,
182
+ wrapperCol: ((_e = props.wrapperCol) == null ? void 0 : _e.horizontalOnly) && props.layout !== "horizontal" ? void 0 : props.wrapperCol
183
+ }),
184
+ /* @__PURE__ */ React.createElement("style", null, `
185
+ .ant-form-item-explain + div, .ant-form-item-margin-offset {
186
+ display: none;
187
+ }
188
+ `),
189
+ childrenNode
190
+ ))
191
+ );
192
+ }
193
+ );
194
+ const FormWrapper = React.forwardRef(
195
+ (props, ref) => {
196
+ var _a;
197
+ const [remountKey, setRemountKey] = React.useState(0);
198
+ const forceRemount = React.useCallback(
199
+ () => setRemountKey((k) => k + 1),
200
+ [setRemountKey]
201
+ );
202
+ const previousInitialValues = usePrevious(props.initialValues);
203
+ const wrapperRef = React.useRef(null);
204
+ React.useEffect(() => {
205
+ if (previousInitialValues !== props.initialValues && JSON.stringify(previousInitialValues) !== JSON.stringify(props.initialValues)) {
206
+ forceRemount();
207
+ }
208
+ }, [previousInitialValues, props.initialValues]);
209
+ const [internalFieldCtx, setInternalFieldCtx] = React.useState({
210
+ registeredFields: [],
211
+ preservedRegisteredFields: []
212
+ });
213
+ React.useImperativeHandle(
214
+ ref,
215
+ () => wrapperRef.current ? __spreadValues({}, wrapperRef.current) : {}
216
+ );
217
+ const formLayout = React.useMemo(
218
+ () => {
219
+ var _a2;
220
+ return {
221
+ layout: props.layout,
222
+ labelSpan: (_a2 = props.labelCol) == null ? void 0 : _a2.span
223
+ };
224
+ },
225
+ [props.layout, (_a = props.labelCol) == null ? void 0 : _a.span]
226
+ );
227
+ return /* @__PURE__ */ React.createElement(
228
+ Internal,
229
+ __spreadValues({
230
+ key: remountKey,
231
+ forceRemount,
232
+ formLayout,
233
+ internalFieldCtx,
234
+ setInternalFieldCtx,
235
+ ref: wrapperRef
236
+ }, props)
237
+ );
238
+ }
239
+ );
240
+ const formHelpers = {
241
+ states: {
242
+ value: {
243
+ onMutate: (value, $ref) => {
244
+ var _a;
245
+ (_a = $ref == null ? void 0 : $ref.formInstance) == null ? void 0 : _a.setFieldsValue(value);
246
+ }
247
+ }
248
+ }
249
+ };
250
+ const OPTIMIZED_FORM_IMPORT = {
251
+ name: "FormWrapper",
252
+ path: "@plasmicpkgs/antd5/skinny/Form"
253
+ };
254
+
255
+ export { FormType, FormWrapper, InputType, OPTIMIZED_FORM_IMPORT, SchemaFormContext, formHelpers };
256
+ //# sourceMappingURL=Form.esm.js.map