@plasmicpkgs/antd5 0.0.83 → 0.0.84

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 (48) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/antd.esm.js +188 -81
  3. package/dist/antd.esm.js.map +1 -1
  4. package/dist/index.js +188 -81
  5. package/dist/index.js.map +1 -1
  6. package/dist/registerForm.d.ts +12 -3
  7. package/dist/utils.d.ts +1 -0
  8. package/package.json +3 -3
  9. package/skinny/registerButton.cjs.js +1 -1
  10. package/skinny/registerButton.esm.js +1 -1
  11. package/skinny/registerCheckbox.cjs.js +1 -1
  12. package/skinny/registerCheckbox.esm.js +1 -1
  13. package/skinny/registerConfigProvider.cjs.js +1 -1
  14. package/skinny/registerConfigProvider.esm.js +1 -1
  15. package/skinny/registerDatePicker.cjs.js +1 -1
  16. package/skinny/registerDatePicker.esm.js +1 -1
  17. package/skinny/registerDropdown.cjs.js +1 -1
  18. package/skinny/registerDropdown.esm.js +1 -1
  19. package/skinny/registerForm.cjs.js +181 -83
  20. package/skinny/registerForm.cjs.js.map +1 -1
  21. package/skinny/registerForm.d.ts +12 -3
  22. package/skinny/registerForm.esm.js +181 -84
  23. package/skinny/registerForm.esm.js.map +1 -1
  24. package/skinny/registerInput.cjs.js +1 -1
  25. package/skinny/registerInput.esm.js +1 -1
  26. package/skinny/registerMenu.cjs.js +1 -1
  27. package/skinny/registerMenu.esm.js +1 -1
  28. package/skinny/registerModal.cjs.js +1 -1
  29. package/skinny/registerModal.esm.js +1 -1
  30. package/skinny/registerRadio.cjs.js +1 -1
  31. package/skinny/registerRadio.esm.js +1 -1
  32. package/skinny/{registerSelect-9c951faf.cjs.js → registerSelect-2c9dfc05.cjs.js} +2 -2
  33. package/skinny/{registerSelect-9c951faf.cjs.js.map → registerSelect-2c9dfc05.cjs.js.map} +1 -1
  34. package/skinny/{registerSelect-97163424.esm.js → registerSelect-3ef48596.esm.js} +2 -2
  35. package/skinny/{registerSelect-97163424.esm.js.map → registerSelect-3ef48596.esm.js.map} +1 -1
  36. package/skinny/registerSelect.cjs.js +2 -2
  37. package/skinny/registerSelect.esm.js +2 -2
  38. package/skinny/registerSwitch.cjs.js +1 -1
  39. package/skinny/registerSwitch.esm.js +1 -1
  40. package/skinny/registerTable.cjs.js +1 -1
  41. package/skinny/registerTable.esm.js +1 -1
  42. package/skinny/registerUpload.cjs.js +1 -1
  43. package/skinny/registerUpload.esm.js +1 -1
  44. package/skinny/{utils-6bd7e3c6.esm.js → utils-02582d7f.esm.js} +12 -2
  45. package/skinny/{utils-6bd7e3c6.esm.js.map → utils-02582d7f.esm.js.map} +1 -1
  46. package/skinny/{utils-dbc32c4f.cjs.js → utils-838eeae8.cjs.js} +12 -1
  47. package/skinny/{utils-dbc32c4f.cjs.js.map → utils-838eeae8.cjs.js.map} +1 -1
  48. package/skinny/utils.d.ts +1 -0
package/dist/antd.esm.js CHANGED
@@ -68,6 +68,16 @@ function capitalize(value) {
68
68
  function ensureArray(x) {
69
69
  return Array.isArray(x) ? x : [x];
70
70
  }
71
+ function setFieldsToUndefined(obj) {
72
+ if (typeof obj === "object" && obj !== null) {
73
+ for (const key in obj) {
74
+ if (typeof obj[key] === "object") {
75
+ setFieldsToUndefined(obj[key]);
76
+ }
77
+ obj[key] = void 0;
78
+ }
79
+ }
80
+ }
71
81
 
72
82
  var __defProp$e = Object.defineProperty;
73
83
  var __defProps$b = Object.defineProperties;
@@ -2402,93 +2412,132 @@ var InputType = /* @__PURE__ */ ((InputType2) => {
2402
2412
  const PathContext = React.createContext({ relativePath: [], fullPath: [] });
2403
2413
  const InternalFormInstanceContext = React.createContext(void 0);
2404
2414
  const FormLayoutContext = React.createContext(void 0);
2405
- const Internal = (props) => {
2406
- var _b, _c, _d, _e;
2407
- const [form] = Form.useForm();
2408
- const values = form.getFieldsValue(true);
2409
- const lastValue = React.useRef(values);
2410
- const _a = props, { extendedOnValuesChange, setRemountKey } = _a, rest = __objRest$3(_a, ["extendedOnValuesChange", "setRemountKey"]);
2411
- let childrenNode;
2412
- if (props.mode !== "simplified") {
2413
- childrenNode = typeof props.children === "function" ? props.children(values, form) : props.children;
2414
- } else {
2415
- childrenNode = /* @__PURE__ */ React.createElement(React.Fragment, null, ((_b = props.formItems) != null ? _b : []).map((formItem) => /* @__PURE__ */ React.createElement(
2416
- FormItemWrapper,
2417
- __spreadProps$3(__spreadValues$4({}, formItem), {
2418
- noLabel: formItem.inputType === "Checkbox" /* Checkbox */ || formItem.noLabel,
2419
- style: { width: "100%" }
2420
- }),
2421
- formItem.inputType === "Text" /* Text */ ? /* @__PURE__ */ React.createElement(Input, null) : formItem.inputType === "Password" /* Password */ ? /* @__PURE__ */ React.createElement(Input.Password, null) : formItem.inputType === "Text Area" /* TextArea */ ? /* @__PURE__ */ React.createElement(Input.TextArea, null) : formItem.inputType === "Number" /* Number */ ? /* @__PURE__ */ React.createElement(InputNumber, null) : formItem.inputType === "Checkbox" /* Checkbox */ ? /* @__PURE__ */ React.createElement(Checkbox, null, formItem.label) : formItem.inputType === "Select" /* Select */ ? /* @__PURE__ */ React.createElement(Select, { options: formItem.options }) : formItem.inputType === "DatePicker" /* DatePicker */ ? /* @__PURE__ */ React.createElement(DatePicker, null) : formItem.inputType === "Radio Group" /* RadioGroup */ ? /* @__PURE__ */ React.createElement(
2422
- Radio.Group,
2423
- {
2424
- options: formItem.options,
2425
- optionType: formItem.optionType,
2426
- style: { padding: "8px" }
2427
- }
2428
- ) : null
2429
- )), props.submitSlot);
2430
- }
2431
- const fireOnValuesChange = React.useCallback(() => {
2432
- const values2 = form.getFieldsValue(true);
2433
- if (!equal(values2, lastValue.current)) {
2434
- extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(values2);
2435
- lastValue.current = values2;
2415
+ const Internal = React.forwardRef(
2416
+ (props, ref) => {
2417
+ var _b, _c, _d, _e, _f;
2418
+ const [form] = Form.useForm();
2419
+ const values = form.getFieldsValue(true);
2420
+ const lastValue = React.useRef(values);
2421
+ const _a = props, { extendedOnValuesChange, setRemountKey } = _a, rest = __objRest$3(_a, ["extendedOnValuesChange", "setRemountKey"]);
2422
+ let childrenNode;
2423
+ if (props.mode !== "simplified") {
2424
+ childrenNode = typeof props.children === "function" ? props.children(values, form) : props.children;
2425
+ } else {
2426
+ childrenNode = /* @__PURE__ */ React.createElement(React.Fragment, null, ((_b = props.formItems) != null ? _b : []).map((formItem) => /* @__PURE__ */ React.createElement(
2427
+ FormItemWrapper,
2428
+ __spreadProps$3(__spreadValues$4({}, formItem), {
2429
+ noLabel: formItem.inputType === "Checkbox" /* Checkbox */ || formItem.noLabel,
2430
+ style: { width: "100%" }
2431
+ }),
2432
+ formItem.inputType === "Text" /* Text */ ? /* @__PURE__ */ React.createElement(Input, null) : formItem.inputType === "Password" /* Password */ ? /* @__PURE__ */ React.createElement(Input.Password, null) : formItem.inputType === "Text Area" /* TextArea */ ? /* @__PURE__ */ React.createElement(Input.TextArea, null) : formItem.inputType === "Number" /* Number */ ? /* @__PURE__ */ React.createElement(InputNumber, null) : formItem.inputType === "Checkbox" /* Checkbox */ ? /* @__PURE__ */ React.createElement(Checkbox, null, formItem.label) : formItem.inputType === "Select" /* Select */ ? /* @__PURE__ */ React.createElement(Select, { options: formItem.options }) : formItem.inputType === "DatePicker" /* DatePicker */ ? /* @__PURE__ */ React.createElement(DatePicker, null) : formItem.inputType === "Radio Group" /* RadioGroup */ ? /* @__PURE__ */ React.createElement(
2433
+ Radio.Group,
2434
+ {
2435
+ options: formItem.options,
2436
+ optionType: formItem.optionType,
2437
+ style: { padding: "8px" }
2438
+ }
2439
+ ) : null
2440
+ )), props.submitSlot);
2436
2441
  }
2437
- }, [form, lastValue]);
2438
- React.useEffect(() => {
2439
- fireOnValuesChange();
2440
- }, []);
2441
- const formLayout = React.useMemo(
2442
- () => {
2443
- var _a2;
2444
- return {
2445
- layout: props.layout,
2446
- labelSpan: (_a2 = props.labelCol) == null ? void 0 : _a2.span
2447
- };
2448
- },
2449
- [props.layout, (_c = props.labelCol) == null ? void 0 : _c.span]
2450
- );
2451
- return /* @__PURE__ */ React.createElement(
2452
- InternalFormInstanceContext.Provider,
2453
- {
2454
- value: {
2455
- layout: formLayout,
2456
- fireOnValuesChange,
2457
- forceRemount: () => setRemountKey((k) => k + 1)
2442
+ const fireOnValuesChange = React.useCallback(() => {
2443
+ const values2 = form.getFieldsValue(true);
2444
+ if (!equal(values2, lastValue.current)) {
2445
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(values2);
2446
+ lastValue.current = values2;
2458
2447
  }
2459
- },
2460
- /* @__PURE__ */ React.createElement(FormLayoutContext.Provider, { value: formLayout }, /* @__PURE__ */ React.createElement(
2461
- Form,
2462
- __spreadProps$3(__spreadValues$4({}, rest), {
2463
- key: props.initialValues ? JSON.stringify(props.initialValues) : void 0,
2464
- onValuesChange: (...args) => {
2465
- var _a2;
2466
- (_a2 = props.onValuesChange) == null ? void 0 : _a2.call(props, ...args);
2467
- extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(args[1]);
2468
- },
2469
- form,
2470
- labelCol: ((_d = props.labelCol) == null ? void 0 : _d.horizontalOnly) && props.layout !== "horizontal" ? void 0 : props.labelCol,
2471
- wrapperCol: ((_e = props.wrapperCol) == null ? void 0 : _e.horizontalOnly) && props.layout !== "horizontal" ? void 0 : props.wrapperCol
2472
- }),
2473
- /* @__PURE__ */ React.createElement("style", null, `
2448
+ }, [form, lastValue]);
2449
+ React.useEffect(() => {
2450
+ fireOnValuesChange();
2451
+ }, []);
2452
+ const formLayout = React.useMemo(
2453
+ () => {
2454
+ var _a2;
2455
+ return {
2456
+ layout: props.layout,
2457
+ labelSpan: (_a2 = props.labelCol) == null ? void 0 : _a2.span
2458
+ };
2459
+ },
2460
+ [props.layout, (_c = props.labelCol) == null ? void 0 : _c.span]
2461
+ );
2462
+ (_d = props.setControlContextData) == null ? void 0 : _d.call(props, { formInstance: form });
2463
+ React.useImperativeHandle(ref, () => ({
2464
+ formInstance: form,
2465
+ setFieldsValue: (newValues) => {
2466
+ form.setFieldsValue(newValues);
2467
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(form.getFieldsValue(true));
2468
+ },
2469
+ setFieldValue: (namePath, value) => {
2470
+ form.setFieldValue(namePath, value);
2471
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(form.getFieldsValue(true));
2472
+ },
2473
+ resetFields: () => {
2474
+ form.resetFields();
2475
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(form.getFieldsValue(true));
2476
+ },
2477
+ clearFields: () => {
2478
+ const values2 = form.getFieldsValue(true);
2479
+ setFieldsToUndefined(values2);
2480
+ form.setFieldsValue(values2);
2481
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(form.getFieldsValue(true));
2482
+ }
2483
+ }));
2484
+ return /* @__PURE__ */ React.createElement(
2485
+ InternalFormInstanceContext.Provider,
2486
+ {
2487
+ value: {
2488
+ layout: formLayout,
2489
+ fireOnValuesChange,
2490
+ forceRemount: () => setRemountKey((k) => k + 1)
2491
+ }
2492
+ },
2493
+ /* @__PURE__ */ React.createElement(FormLayoutContext.Provider, { value: formLayout }, /* @__PURE__ */ React.createElement(
2494
+ Form,
2495
+ __spreadProps$3(__spreadValues$4({}, rest), {
2496
+ key: props.initialValues ? JSON.stringify(props.initialValues) : void 0,
2497
+ onValuesChange: (...args) => {
2498
+ var _a2;
2499
+ (_a2 = props.onValuesChange) == null ? void 0 : _a2.call(props, ...args);
2500
+ extendedOnValuesChange == null ? void 0 : extendedOnValuesChange(args[1]);
2501
+ },
2502
+ form,
2503
+ labelCol: ((_e = props.labelCol) == null ? void 0 : _e.horizontalOnly) && props.layout !== "horizontal" ? void 0 : props.labelCol,
2504
+ wrapperCol: ((_f = props.wrapperCol) == null ? void 0 : _f.horizontalOnly) && props.layout !== "horizontal" ? void 0 : props.wrapperCol
2505
+ }),
2506
+ /* @__PURE__ */ React.createElement("style", null, `
2474
2507
  .ant-form-item-explain + div, .ant-form-item-margin-offset {
2475
2508
  display: none;
2476
2509
  }
2477
2510
  `),
2478
- childrenNode
2479
- ))
2480
- );
2481
- };
2482
- function FormWrapper(props) {
2483
- const [remountKey, setRemountKey] = React.useState(0);
2484
- const previousInitialValues = usePrevious(props.initialValues);
2485
- React.useEffect(() => {
2486
- if (previousInitialValues !== props.initialValues && JSON.stringify(previousInitialValues) !== JSON.stringify(props.initialValues)) {
2487
- setRemountKey((k) => k + 1);
2488
- }
2489
- }, [previousInitialValues, props.initialValues]);
2490
- return /* @__PURE__ */ React.createElement(Internal, __spreadProps$3(__spreadValues$4({ key: remountKey }, props), { setRemountKey }));
2491
- }
2511
+ childrenNode
2512
+ ))
2513
+ );
2514
+ }
2515
+ );
2516
+ const FormWrapper = React.forwardRef(
2517
+ (props, ref) => {
2518
+ const [remountKey, setRemountKey] = React.useState(0);
2519
+ const previousInitialValues = usePrevious(props.initialValues);
2520
+ const wrapperRef = React.useRef(null);
2521
+ React.useEffect(() => {
2522
+ if (previousInitialValues !== props.initialValues && JSON.stringify(previousInitialValues) !== JSON.stringify(props.initialValues)) {
2523
+ setRemountKey((k) => k + 1);
2524
+ }
2525
+ }, [previousInitialValues, props.initialValues]);
2526
+ React.useImperativeHandle(
2527
+ ref,
2528
+ () => wrapperRef.current ? __spreadValues$4({}, wrapperRef.current) : {}
2529
+ );
2530
+ return /* @__PURE__ */ React.createElement(
2531
+ Internal,
2532
+ __spreadProps$3(__spreadValues$4({
2533
+ key: remountKey
2534
+ }, props), {
2535
+ setRemountKey,
2536
+ ref: wrapperRef
2537
+ })
2538
+ );
2539
+ }
2540
+ );
2492
2541
  const COMMON_ACTIONS = [
2493
2542
  {
2494
2543
  type: "button-action",
@@ -2559,6 +2608,16 @@ const colProp = (displayName, defaultValue, description) => ({
2559
2608
  description,
2560
2609
  defaultValue
2561
2610
  });
2611
+ const formHelpers = {
2612
+ states: {
2613
+ value: {
2614
+ onMutate: (value, $ref) => {
2615
+ var _a;
2616
+ (_a = $ref == null ? void 0 : $ref.formInstance) == null ? void 0 : _a.setFieldsValue(value);
2617
+ }
2618
+ }
2619
+ }
2620
+ };
2562
2621
  const formComponentName = "plasmic-antd5-form";
2563
2622
  function registerForm(loader) {
2564
2623
  registerComponentHelper(loader, FormWrapper, {
@@ -2816,6 +2875,54 @@ function registerForm(loader) {
2816
2875
  onChangeProp: "extendedOnValuesChange"
2817
2876
  }
2818
2877
  },
2878
+ componentHelpers: {
2879
+ helpers: formHelpers,
2880
+ importName: "formHelpers",
2881
+ importPath: "@plasmicpkgs/antd5/skinny/registerForm"
2882
+ },
2883
+ refActions: {
2884
+ setFieldsValue: {
2885
+ displayName: "Set multiple fields",
2886
+ argTypes: [
2887
+ {
2888
+ name: "newValues",
2889
+ displayName: "New Values",
2890
+ type: "exprEditor"
2891
+ }
2892
+ ]
2893
+ },
2894
+ setFieldValue: {
2895
+ displayName: "Set field",
2896
+ argTypes: [
2897
+ {
2898
+ name: "namePath",
2899
+ displayName: "Name Path",
2900
+ type: {
2901
+ type: "dataSelector",
2902
+ data: (_, ctx) => {
2903
+ if (!(ctx == null ? void 0 : ctx.formInstance)) {
2904
+ return {};
2905
+ }
2906
+ return ctx.formInstance.getFieldsValue(true);
2907
+ }
2908
+ }
2909
+ },
2910
+ {
2911
+ name: "value",
2912
+ displayName: "New Value",
2913
+ type: "exprEditor"
2914
+ }
2915
+ ]
2916
+ },
2917
+ resetFields: {
2918
+ displayName: "Reset fields to initial value",
2919
+ argTypes: []
2920
+ },
2921
+ clearFields: {
2922
+ displayName: "Clear fields",
2923
+ argTypes: []
2924
+ }
2925
+ },
2819
2926
  importPath: "@plasmicpkgs/antd5/skinny/registerForm",
2820
2927
  importName: "FormWrapper"
2821
2928
  });