@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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/antd.esm.js +5118 -4965
- package/dist/antd.esm.js.map +1 -1
- package/dist/form/Form.d.ts +72 -0
- package/dist/form/FormGroup.d.ts +6 -0
- package/dist/form/FormItem.d.ts +33 -0
- package/dist/form/FormList.d.ts +5 -0
- package/dist/form/SchemaForm.d.ts +9 -0
- package/dist/form/contexts.d.ts +40 -0
- package/dist/form/registerForm.d.ts +9 -0
- package/dist/form/registerFormGroup.d.ts +2 -0
- package/dist/form/registerFormItem.d.ts +2 -0
- package/dist/form/registerFormList.d.ts +2 -0
- package/dist/form/sharedRegistration.d.ts +14 -0
- package/dist/index.d.ts +6 -4
- package/dist/index.js +5136 -4972
- package/dist/index.js.map +1 -1
- package/dist/names.d.ts +18 -0
- package/dist/registerButton.d.ts +1 -2
- package/dist/registerCheckbox.d.ts +0 -2
- package/dist/registerInput.d.ts +0 -4
- package/dist/registerRadio.d.ts +0 -3
- package/dist/registerSelect.d.ts +0 -3
- package/dist/registerSwitch.d.ts +0 -1
- package/package.json +5 -5
- package/skinny/Form.cjs.js +268 -0
- package/skinny/Form.cjs.js.map +1 -0
- package/skinny/Form.esm.js +256 -0
- package/skinny/Form.esm.js.map +1 -0
- package/skinny/FormGroup.cjs.js +26 -0
- package/skinny/FormGroup.cjs.js.map +1 -0
- package/skinny/FormGroup.esm.js +20 -0
- package/skinny/FormGroup.esm.js.map +1 -0
- package/skinny/FormItem.cjs.js +290 -0
- package/skinny/FormItem.cjs.js.map +1 -0
- package/skinny/FormItem.esm.js +284 -0
- package/skinny/FormItem.esm.js.map +1 -0
- package/skinny/FormList.cjs.js +98 -0
- package/skinny/FormList.cjs.js.map +1 -0
- package/skinny/FormList.esm.js +92 -0
- package/skinny/FormList.esm.js.map +1 -0
- package/skinny/SchemaForm.cjs.js +199 -0
- package/skinny/SchemaForm.cjs.js.map +1 -0
- package/skinny/SchemaForm.esm.js +191 -0
- package/skinny/SchemaForm.esm.js.map +1 -0
- package/skinny/contexts-4c7952c1.esm.js +20 -0
- package/skinny/contexts-4c7952c1.esm.js.map +1 -0
- package/skinny/contexts-a2387bed.cjs.js +31 -0
- package/skinny/contexts-a2387bed.cjs.js.map +1 -0
- package/skinny/names-3aea627b.cjs.js +34 -0
- package/skinny/names-3aea627b.cjs.js.map +1 -0
- package/skinny/names-73583568.esm.js +18 -0
- package/skinny/names-73583568.esm.js.map +1 -0
- package/skinny/names.d.ts +18 -0
- package/skinny/registerButton.cjs.js +3 -4
- package/skinny/registerButton.cjs.js.map +1 -1
- package/skinny/registerButton.d.ts +1 -2
- package/skinny/registerButton.esm.js +3 -3
- package/skinny/registerButton.esm.js.map +1 -1
- package/skinny/registerCheckbox.cjs.js +5 -8
- package/skinny/registerCheckbox.cjs.js.map +1 -1
- package/skinny/registerCheckbox.d.ts +0 -2
- package/skinny/registerCheckbox.esm.js +2 -3
- package/skinny/registerCheckbox.esm.js.map +1 -1
- package/skinny/registerForm.cjs.js +460 -1387
- package/skinny/registerForm.cjs.js.map +1 -1
- package/skinny/registerForm.esm.js +460 -1375
- package/skinny/registerForm.esm.js.map +1 -1
- package/skinny/registerInput.cjs.js +8 -15
- package/skinny/registerInput.cjs.js.map +1 -1
- package/skinny/registerInput.d.ts +0 -4
- package/skinny/registerInput.esm.js +2 -5
- package/skinny/registerInput.esm.js.map +1 -1
- package/skinny/registerRadio.cjs.js +6 -11
- package/skinny/registerRadio.cjs.js.map +1 -1
- package/skinny/registerRadio.d.ts +0 -3
- package/skinny/registerRadio.esm.js +2 -4
- package/skinny/registerRadio.esm.js.map +1 -1
- package/skinny/registerSelect.cjs.js +7 -12
- package/skinny/registerSelect.cjs.js.map +1 -1
- package/skinny/registerSelect.d.ts +0 -3
- package/skinny/registerSelect.esm.js +2 -4
- package/skinny/registerSelect.esm.js.map +1 -1
- package/skinny/registerSwitch.cjs.js +2 -3
- package/skinny/registerSwitch.cjs.js.map +1 -1
- package/skinny/registerSwitch.d.ts +0 -1
- package/skinny/registerSwitch.esm.js +2 -2
- package/skinny/registerSwitch.esm.js.map +1 -1
- package/skinny/registerUpload.cjs.js +10 -6
- package/skinny/registerUpload.cjs.js.map +1 -1
- package/skinny/registerUpload.esm.js +10 -6
- package/skinny/registerUpload.esm.js.map +1 -1
- package/dist/registerForm.d.ts +0 -143
- package/skinny/registerForm.d.ts +0 -143
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Form.esm.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","FormType","values","_a"],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var contexts = require('./contexts-a2387bed.cjs.js');
|
|
5
|
+
require('antd');
|
|
6
|
+
|
|
7
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
+
|
|
9
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
10
|
+
|
|
11
|
+
function FormGroup(props) {
|
|
12
|
+
const pathCtx = React__default.default.useContext(contexts.PathContext);
|
|
13
|
+
return /* @__PURE__ */ React__default.default.createElement(
|
|
14
|
+
contexts.PathContext.Provider,
|
|
15
|
+
{
|
|
16
|
+
value: {
|
|
17
|
+
relativePath: [...pathCtx.relativePath, props.name],
|
|
18
|
+
fullPath: [...pathCtx.fullPath, props.name]
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
props.children
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
exports.FormGroup = FormGroup;
|
|
26
|
+
//# sourceMappingURL=FormGroup.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormGroup.cjs.js","sources":["../src/form/FormGroup.tsx"],"sourcesContent":["import React from \"react\";\nimport { PathContext } from \"./contexts\";\n\nexport interface FormGroupProps {\n name: string;\n children: React.ReactNode;\n}\n\nexport function FormGroup(props: FormGroupProps) {\n const pathCtx = React.useContext(PathContext);\n return (\n <PathContext.Provider\n value={{\n relativePath: [...pathCtx.relativePath, props.name],\n fullPath: [...pathCtx.fullPath, props.name],\n }}\n >\n {props.children}\n </PathContext.Provider>\n );\n}\n"],"names":["React","PathContext"],"mappings":";;;;;;;;;;AAQO,SAAS,UAAU,KAAuB,EAAA;AAC/C,EAAM,MAAA,OAAA,GAAUA,sBAAM,CAAA,UAAA,CAAWC,oBAAW,CAAA,CAAA;AAC5C,EACE,uBAAAD,sBAAA,CAAA,aAAA;AAAA,IAACC,oBAAY,CAAA,QAAA;AAAA,IAAZ;AAAA,MACC,KAAO,EAAA;AAAA,QACL,cAAc,CAAC,GAAG,OAAQ,CAAA,YAAA,EAAc,MAAM,IAAI,CAAA;AAAA,QAClD,UAAU,CAAC,GAAG,OAAQ,CAAA,QAAA,EAAU,MAAM,IAAI,CAAA;AAAA,OAC5C;AAAA,KAAA;AAAA,IAEC,KAAM,CAAA,QAAA;AAAA,GACT,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { P as PathContext } from './contexts-4c7952c1.esm.js';
|
|
3
|
+
import 'antd';
|
|
4
|
+
|
|
5
|
+
function FormGroup(props) {
|
|
6
|
+
const pathCtx = React.useContext(PathContext);
|
|
7
|
+
return /* @__PURE__ */ React.createElement(
|
|
8
|
+
PathContext.Provider,
|
|
9
|
+
{
|
|
10
|
+
value: {
|
|
11
|
+
relativePath: [...pathCtx.relativePath, props.name],
|
|
12
|
+
fullPath: [...pathCtx.fullPath, props.name]
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
props.children
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { FormGroup };
|
|
20
|
+
//# sourceMappingURL=FormGroup.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormGroup.esm.js","sources":["../src/form/FormGroup.tsx"],"sourcesContent":["import React from \"react\";\nimport { PathContext } from \"./contexts\";\n\nexport interface FormGroupProps {\n name: string;\n children: React.ReactNode;\n}\n\nexport function FormGroup(props: FormGroupProps) {\n const pathCtx = React.useContext(PathContext);\n return (\n <PathContext.Provider\n value={{\n relativePath: [...pathCtx.relativePath, props.name],\n fullPath: [...pathCtx.fullPath, props.name],\n }}\n >\n {props.children}\n </PathContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;AAQO,SAAS,UAAU,KAAuB,EAAA;AAC/C,EAAM,MAAA,OAAA,GAAU,KAAM,CAAA,UAAA,CAAW,WAAW,CAAA,CAAA;AAC5C,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,WAAY,CAAA,QAAA;AAAA,IAAZ;AAAA,MACC,KAAO,EAAA;AAAA,QACL,cAAc,CAAC,GAAG,OAAQ,CAAA,YAAA,EAAc,MAAM,IAAI,CAAA;AAAA,QAClD,UAAU,CAAC,GAAG,OAAQ,CAAA,QAAA,EAAU,MAAM,IAAI,CAAA;AAAA,OAC5C;AAAA,KAAA;AAAA,IAEC,KAAM,CAAA,QAAA;AAAA,GACT,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var host = require('@plasmicapp/host');
|
|
4
|
+
var antd = require('antd');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var reactUtils = require('./react-utils-11b0221a.cjs.js');
|
|
7
|
+
var utils = require('./utils-174b9d45.cjs.js');
|
|
8
|
+
var contexts = require('./contexts-a2387bed.cjs.js');
|
|
9
|
+
require('classnames');
|
|
10
|
+
require('@plasmicapp/host/registerComponent');
|
|
11
|
+
require('@plasmicapp/host/registerGlobalContext');
|
|
12
|
+
|
|
13
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
|
|
15
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
16
|
+
|
|
17
|
+
var __defProp = Object.defineProperty;
|
|
18
|
+
var __defProps = Object.defineProperties;
|
|
19
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
20
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
21
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
22
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
23
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
24
|
+
var __spreadValues = (a, b) => {
|
|
25
|
+
for (var prop in b || (b = {}))
|
|
26
|
+
if (__hasOwnProp.call(b, prop))
|
|
27
|
+
__defNormalProp(a, prop, b[prop]);
|
|
28
|
+
if (__getOwnPropSymbols)
|
|
29
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
30
|
+
if (__propIsEnum.call(b, prop))
|
|
31
|
+
__defNormalProp(a, prop, b[prop]);
|
|
32
|
+
}
|
|
33
|
+
return a;
|
|
34
|
+
};
|
|
35
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
36
|
+
var __objRest = (source, exclude) => {
|
|
37
|
+
var target = {};
|
|
38
|
+
for (var prop in source)
|
|
39
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
40
|
+
target[prop] = source[prop];
|
|
41
|
+
if (source != null && __getOwnPropSymbols)
|
|
42
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
43
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
44
|
+
target[prop] = source[prop];
|
|
45
|
+
}
|
|
46
|
+
return target;
|
|
47
|
+
};
|
|
48
|
+
const FormItem = antd.Form.Item;
|
|
49
|
+
function plasmicRulesToAntdRules(plasmicRules, label) {
|
|
50
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
51
|
+
const effectiveLabel = label || "This field";
|
|
52
|
+
const rules = [];
|
|
53
|
+
for (const plasmicRule of plasmicRules) {
|
|
54
|
+
switch (plasmicRule.ruleType) {
|
|
55
|
+
case "enum":
|
|
56
|
+
rules.push({
|
|
57
|
+
type: "enum",
|
|
58
|
+
enum: (_b = (_a = plasmicRule.options) == null ? void 0 : _a.map((opt) => opt.value)) != null ? _b : [],
|
|
59
|
+
message: (_c = plasmicRule.message) != null ? _c : `${effectiveLabel} must be a valid value`
|
|
60
|
+
});
|
|
61
|
+
break;
|
|
62
|
+
case "required":
|
|
63
|
+
rules.push({
|
|
64
|
+
required: true,
|
|
65
|
+
message: (_d = plasmicRule.message) != null ? _d : `${effectiveLabel} is required`
|
|
66
|
+
});
|
|
67
|
+
break;
|
|
68
|
+
case "regex":
|
|
69
|
+
rules.push({
|
|
70
|
+
pattern: new RegExp((_e = plasmicRule.pattern) != null ? _e : ""),
|
|
71
|
+
message: (_f = plasmicRule.message) != null ? _f : `${effectiveLabel} must be a valid value`
|
|
72
|
+
});
|
|
73
|
+
break;
|
|
74
|
+
case "whitespace":
|
|
75
|
+
rules.push({
|
|
76
|
+
whitespace: true,
|
|
77
|
+
message: (_g = plasmicRule.message) != null ? _g : `${effectiveLabel} is required`
|
|
78
|
+
});
|
|
79
|
+
break;
|
|
80
|
+
case "min":
|
|
81
|
+
rules.push({
|
|
82
|
+
[plasmicRule.ruleType]: plasmicRule.length,
|
|
83
|
+
message: (_h = plasmicRule.message) != null ? _h : `${effectiveLabel} must be at least ${plasmicRule.length} characters`
|
|
84
|
+
});
|
|
85
|
+
break;
|
|
86
|
+
case "max":
|
|
87
|
+
rules.push({
|
|
88
|
+
[plasmicRule.ruleType]: plasmicRule.length,
|
|
89
|
+
message: (_i = plasmicRule.message) != null ? _i : `${effectiveLabel} must be at most ${plasmicRule.length} characters`
|
|
90
|
+
});
|
|
91
|
+
break;
|
|
92
|
+
case "advanced":
|
|
93
|
+
rules.push({
|
|
94
|
+
validator: (...args) => {
|
|
95
|
+
var _a2;
|
|
96
|
+
return ((_a2 = plasmicRule.custom) == null ? void 0 : _a2.apply(null, args)) ? Promise.resolve() : Promise.reject();
|
|
97
|
+
},
|
|
98
|
+
message: plasmicRule.message
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return rules;
|
|
103
|
+
}
|
|
104
|
+
function FormItemWrapper(props) {
|
|
105
|
+
var _b, _c, _d;
|
|
106
|
+
const _a = props, {
|
|
107
|
+
rules: plasmicRules,
|
|
108
|
+
description,
|
|
109
|
+
noLabel,
|
|
110
|
+
name,
|
|
111
|
+
hideValidationMessage,
|
|
112
|
+
customizeProps,
|
|
113
|
+
setControlContextData,
|
|
114
|
+
alignLabellessWithControls = true
|
|
115
|
+
} = _a, rest = __objRest(_a, [
|
|
116
|
+
"rules",
|
|
117
|
+
"description",
|
|
118
|
+
"noLabel",
|
|
119
|
+
"name",
|
|
120
|
+
"hideValidationMessage",
|
|
121
|
+
"customizeProps",
|
|
122
|
+
"setControlContextData",
|
|
123
|
+
"alignLabellessWithControls"
|
|
124
|
+
]);
|
|
125
|
+
const relativeFormItemName = contexts.useFormItemRelativeName(name);
|
|
126
|
+
const fullFormItemName = contexts.useFormItemFullName(name);
|
|
127
|
+
const pathCtx = React__default.default.useContext(contexts.PathContext);
|
|
128
|
+
const fieldEntity = React__default.default.useRef({
|
|
129
|
+
preserve: (_b = props.preserve) != null ? _b : true,
|
|
130
|
+
fullPath: pathCtx.fullPath,
|
|
131
|
+
name
|
|
132
|
+
}).current;
|
|
133
|
+
const bestEffortLabel = !noLabel && reactUtils.reactNodeToString(props.label) || utils.ensureArray(props.name).slice(-1)[0];
|
|
134
|
+
const rules = plasmicRules ? plasmicRulesToAntdRules(
|
|
135
|
+
plasmicRules,
|
|
136
|
+
typeof bestEffortLabel === "number" ? "" + bestEffortLabel : bestEffortLabel
|
|
137
|
+
) : void 0;
|
|
138
|
+
const layoutContext = React__default.default.useContext(contexts.FormLayoutContext);
|
|
139
|
+
const inCanvas = !!host.usePlasmicCanvasContext();
|
|
140
|
+
const {
|
|
141
|
+
fireOnValuesChange,
|
|
142
|
+
forceRemount,
|
|
143
|
+
registerField,
|
|
144
|
+
initialValues,
|
|
145
|
+
internalFieldCtx
|
|
146
|
+
} = (_c = React__default.default.useContext(contexts.InternalFormInstanceContext)) != null ? _c : {};
|
|
147
|
+
if (inCanvas) {
|
|
148
|
+
const form = contexts.useFormInstanceMaybe();
|
|
149
|
+
const prevPropValues = React__default.default.useRef({
|
|
150
|
+
initialValue: props.initialValue,
|
|
151
|
+
name: props.name
|
|
152
|
+
});
|
|
153
|
+
(_d = props.setControlContextData) == null ? void 0 : _d.call(props, {
|
|
154
|
+
internalFieldCtx,
|
|
155
|
+
formInstance: form,
|
|
156
|
+
parentFormItemPath: pathCtx.fullPath,
|
|
157
|
+
layout: layoutContext
|
|
158
|
+
});
|
|
159
|
+
React__default.default.useEffect(() => {
|
|
160
|
+
if (prevPropValues.current.name !== props.name) {
|
|
161
|
+
forceRemount == null ? void 0 : forceRemount();
|
|
162
|
+
}
|
|
163
|
+
if (!fullFormItemName || utils.get(initialValues, fullFormItemName) != null || props.initialValue == null) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
form == null ? void 0 : form.setFieldValue(fullFormItemName, props.initialValue);
|
|
167
|
+
prevPropValues.current.initialValue = props.initialValue;
|
|
168
|
+
fireOnValuesChange == null ? void 0 : fireOnValuesChange();
|
|
169
|
+
}, [
|
|
170
|
+
form,
|
|
171
|
+
props.initialValue,
|
|
172
|
+
JSON.stringify(pathCtx.fullPath),
|
|
173
|
+
props.name,
|
|
174
|
+
props.preserve
|
|
175
|
+
]);
|
|
176
|
+
}
|
|
177
|
+
React__default.default.useEffect(() => {
|
|
178
|
+
var _a2;
|
|
179
|
+
fieldEntity.fullPath = [
|
|
180
|
+
...pathCtx.fullPath,
|
|
181
|
+
...props.name != null ? [props.name] : []
|
|
182
|
+
];
|
|
183
|
+
fieldEntity.name = props.name;
|
|
184
|
+
fieldEntity.preserve = (_a2 = props.preserve) != null ? _a2 : true;
|
|
185
|
+
}, [pathCtx.fullPath, props.name, props.preserve]);
|
|
186
|
+
React__default.default.useEffect(() => {
|
|
187
|
+
const unregister = registerField == null ? void 0 : registerField(fieldEntity);
|
|
188
|
+
return () => unregister == null ? void 0 : unregister();
|
|
189
|
+
}, []);
|
|
190
|
+
return /* @__PURE__ */ React__default.default.createElement(
|
|
191
|
+
FormItem,
|
|
192
|
+
__spreadProps(__spreadValues({}, rest), {
|
|
193
|
+
label: noLabel ? void 0 : props.label,
|
|
194
|
+
name: relativeFormItemName,
|
|
195
|
+
rules,
|
|
196
|
+
extra: description,
|
|
197
|
+
help: hideValidationMessage ? "" : props.help,
|
|
198
|
+
colon: noLabel ? false : void 0,
|
|
199
|
+
valuePropName: deriveValuePropName(props),
|
|
200
|
+
trigger: deriveOnChangePropName(props),
|
|
201
|
+
wrapperCol: (layoutContext == null ? void 0 : layoutContext.layout) === "horizontal" && noLabel && alignLabellessWithControls && layoutContext.labelSpan ? { offset: layoutContext.labelSpan } : void 0
|
|
202
|
+
}),
|
|
203
|
+
/* @__PURE__ */ React__default.default.createElement(FormItemForwarder, { formItemProps: props })
|
|
204
|
+
);
|
|
205
|
+
}
|
|
206
|
+
function deriveValuePropName(props) {
|
|
207
|
+
var _a;
|
|
208
|
+
if (props.valuePropName) {
|
|
209
|
+
return props.valuePropName;
|
|
210
|
+
}
|
|
211
|
+
const valueProps = ((_a = React__default.default.Children.map(props.children, (child) => {
|
|
212
|
+
var _a2;
|
|
213
|
+
if (React__default.default.isValidElement(child)) {
|
|
214
|
+
const childType = child.type;
|
|
215
|
+
if (childType) {
|
|
216
|
+
const x = (_a2 = childType.__plasmicFormFieldMeta) == null ? void 0 : _a2.valueProp;
|
|
217
|
+
if (x) {
|
|
218
|
+
return x;
|
|
219
|
+
}
|
|
220
|
+
const plumeType = childType.__plumeType;
|
|
221
|
+
if (plumeType && (plumeType === "checkbox" || plumeType === "switch")) {
|
|
222
|
+
return "isChecked";
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
return void 0;
|
|
227
|
+
})) != null ? _a : []).filter((x) => !!x);
|
|
228
|
+
if (valueProps.length > 0) {
|
|
229
|
+
return valueProps[0];
|
|
230
|
+
}
|
|
231
|
+
return void 0;
|
|
232
|
+
}
|
|
233
|
+
function deriveOnChangePropName(props) {
|
|
234
|
+
var _a;
|
|
235
|
+
if (props.trigger) {
|
|
236
|
+
return props.trigger;
|
|
237
|
+
}
|
|
238
|
+
const triggerProps = ((_a = React__default.default.Children.map(props.children, (child) => {
|
|
239
|
+
var _a2;
|
|
240
|
+
if (React__default.default.isValidElement(child)) {
|
|
241
|
+
const childType = child.type;
|
|
242
|
+
if (childType) {
|
|
243
|
+
const x = (_a2 = childType.__plasmicFormFieldMeta) == null ? void 0 : _a2.onChangeProp;
|
|
244
|
+
if (x) {
|
|
245
|
+
return x;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
return void 0;
|
|
250
|
+
})) != null ? _a : []).filter((x) => !!x);
|
|
251
|
+
if (triggerProps.length > 0) {
|
|
252
|
+
return triggerProps[0];
|
|
253
|
+
}
|
|
254
|
+
return void 0;
|
|
255
|
+
}
|
|
256
|
+
function FormItemForwarder(_a) {
|
|
257
|
+
var _b = _a, { formItemProps } = _b, props = __objRest(_b, ["formItemProps"]);
|
|
258
|
+
var _a2;
|
|
259
|
+
const status = antd.Form.Item.useStatus();
|
|
260
|
+
const internalFormCtx = React__default.default.useContext(contexts.InternalFormInstanceContext);
|
|
261
|
+
const data = {
|
|
262
|
+
status: status.status
|
|
263
|
+
};
|
|
264
|
+
(_a2 = props.setControlContextData) == null ? void 0 : _a2.call(props, {
|
|
265
|
+
internalFormCtx,
|
|
266
|
+
status
|
|
267
|
+
});
|
|
268
|
+
return React__default.default.Children.map(formItemProps.children, (child, i) => {
|
|
269
|
+
var _a3;
|
|
270
|
+
if (i === 0 && React.isValidElement(child)) {
|
|
271
|
+
let newProps = __spreadProps(__spreadValues(__spreadValues({
|
|
272
|
+
name: formItemProps.name
|
|
273
|
+
}, (_a3 = child.props) != null ? _a3 : {}), props), {
|
|
274
|
+
__plasmicFormField: true
|
|
275
|
+
});
|
|
276
|
+
if (formItemProps.customizeProps) {
|
|
277
|
+
newProps = reactUtils.mergeProps(
|
|
278
|
+
newProps,
|
|
279
|
+
formItemProps.customizeProps(data, newProps)
|
|
280
|
+
);
|
|
281
|
+
}
|
|
282
|
+
return React.cloneElement(child, newProps);
|
|
283
|
+
} else {
|
|
284
|
+
return child;
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
exports.FormItemWrapper = FormItemWrapper;
|
|
290
|
+
//# sourceMappingURL=FormItem.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormItem.cjs.js","sources":["../src/form/FormItem.tsx"],"sourcesContent":["import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport { CanvasComponentProps } from \"@plasmicapp/host/registerComponent\";\nimport { Form } from \"antd\";\nimport type { FormItemProps } from \"antd/es/form/FormItem\";\nimport React, { cloneElement, isValidElement } from \"react\";\nimport { mergeProps, reactNodeToString } from \"../react-utils\";\nimport { ensureArray, get } from \"../utils\";\nimport {\n CommonFormControlContextData,\n FieldEntity,\n FormLayoutContext,\n InternalFormInstanceContext,\n PathContext,\n useFormInstanceMaybe,\n useFormItemFullName,\n useFormItemRelativeName,\n} from \"./contexts\";\n\nconst FormItem = Form.Item;\n\nexport interface FormItemControlContextData\n extends CommonFormControlContextData {\n parentFormItemPath: (string | number)[];\n status?: ReturnType<typeof Form.Item.useStatus>;\n}\n\ninterface CuratedFieldData {\n status: string | undefined;\n // path: (string | number)[];\n // errors: string[];\n // warnings: string[];\n // value: any;\n // trigger: (x: any) => void;\n}\n\nexport interface InternalFormItemProps\n extends Omit<FormItemProps, \"rules\" | \"name\">,\n CanvasComponentProps<FormItemControlContextData> {\n rules?: PlasmicRule[];\n description?: React.ReactNode;\n noLabel?: boolean;\n hideValidationMessage?: boolean;\n customizeProps?: (\n fieldData: CuratedFieldData,\n props: InternalFormItemProps\n ) => FormItemProps;\n alignLabellessWithControls?: boolean;\n name?: string;\n}\n\ninterface PlasmicRule {\n ruleType:\n | \"enum\"\n | \"len\"\n | \"max\"\n | \"min\"\n | \"regex\"\n | \"required\"\n | \"whitespace\"\n | \"advanced\";\n length?: number;\n pattern?: string;\n custom?: (...args: any[]) => any;\n options?: { value: any }[];\n message?: string;\n}\n\nfunction plasmicRulesToAntdRules(\n plasmicRules: PlasmicRule[],\n label: string | undefined\n) {\n const effectiveLabel = label || \"This field\";\n const rules: FormItemProps[\"rules\"] = [];\n for (const plasmicRule of plasmicRules) {\n switch (plasmicRule.ruleType) {\n case \"enum\":\n rules.push({\n type: \"enum\",\n enum: plasmicRule.options?.map((opt) => opt.value) ?? [],\n message:\n plasmicRule.message ?? `${effectiveLabel} must be a valid value`,\n });\n break;\n case \"required\":\n rules.push({\n required: true,\n message: plasmicRule.message ?? `${effectiveLabel} is required`,\n });\n break;\n case \"regex\":\n rules.push({\n pattern: new RegExp(plasmicRule.pattern ?? \"\"),\n message:\n plasmicRule.message ?? `${effectiveLabel} must be a valid value`,\n });\n break;\n case \"whitespace\":\n rules.push({\n whitespace: true,\n message: plasmicRule.message ?? `${effectiveLabel} is required`,\n });\n break;\n case \"min\":\n rules.push({\n [plasmicRule.ruleType]: plasmicRule.length,\n message:\n plasmicRule.message ??\n `${effectiveLabel} must be at least ${plasmicRule.length} characters`,\n });\n break;\n case \"max\":\n rules.push({\n [plasmicRule.ruleType]: plasmicRule.length,\n message:\n plasmicRule.message ??\n `${effectiveLabel} must be at most ${plasmicRule.length} characters`,\n });\n break;\n case \"advanced\":\n rules.push({\n validator: (...args) =>\n plasmicRule.custom?.apply(null, args)\n ? Promise.resolve()\n : Promise.reject(),\n message: plasmicRule.message,\n });\n }\n }\n return rules;\n}\n\nexport function FormItemWrapper(props: InternalFormItemProps) {\n const {\n rules: plasmicRules,\n description,\n noLabel,\n name,\n hideValidationMessage,\n customizeProps,\n setControlContextData,\n alignLabellessWithControls = true,\n ...rest\n } = props;\n const relativeFormItemName = useFormItemRelativeName(name);\n const fullFormItemName = useFormItemFullName(name);\n const pathCtx = React.useContext(PathContext);\n const fieldEntity = React.useRef<FieldEntity>({\n preserve: props.preserve ?? true,\n fullPath: pathCtx.fullPath,\n name,\n }).current;\n const bestEffortLabel =\n (!noLabel && reactNodeToString(props.label)) ||\n ensureArray(props.name).slice(-1)[0];\n const rules = plasmicRules\n ? plasmicRulesToAntdRules(\n plasmicRules,\n typeof bestEffortLabel === \"number\"\n ? \"\" + bestEffortLabel\n : bestEffortLabel\n )\n : undefined;\n const layoutContext = React.useContext(FormLayoutContext);\n const inCanvas = !!usePlasmicCanvasContext();\n const {\n fireOnValuesChange,\n forceRemount,\n registerField,\n initialValues,\n internalFieldCtx,\n } = React.useContext(InternalFormInstanceContext) ?? {};\n if (inCanvas) {\n const form = useFormInstanceMaybe();\n const prevPropValues = React.useRef({\n initialValue: props.initialValue,\n name: props.name,\n });\n props.setControlContextData?.({\n internalFieldCtx,\n formInstance: form,\n parentFormItemPath: pathCtx.fullPath,\n layout: layoutContext,\n });\n React.useEffect(() => {\n if (prevPropValues.current.name !== props.name) {\n forceRemount?.();\n }\n if (\n !fullFormItemName ||\n get(initialValues, fullFormItemName) != null ||\n props.initialValue == null\n ) {\n // this field value is set at the form level\n return;\n }\n form?.setFieldValue(fullFormItemName, props.initialValue);\n prevPropValues.current.initialValue = props.initialValue;\n fireOnValuesChange?.();\n }, [\n form,\n props.initialValue,\n JSON.stringify(pathCtx.fullPath),\n props.name,\n props.preserve,\n ]);\n }\n React.useEffect(() => {\n fieldEntity.fullPath = [\n ...pathCtx.fullPath,\n ...(props.name != null ? [props.name] : []),\n ];\n fieldEntity.name = props.name;\n fieldEntity.preserve = props.preserve ?? true;\n }, [pathCtx.fullPath, props.name, props.preserve]);\n React.useEffect(() => {\n const unregister = registerField?.(fieldEntity);\n return () => unregister?.();\n }, []);\n return (\n <FormItem\n {...rest}\n label={noLabel ? undefined : props.label}\n name={relativeFormItemName}\n rules={rules}\n extra={description}\n help={hideValidationMessage ? \"\" : props.help}\n colon={noLabel ? false : undefined}\n valuePropName={deriveValuePropName(props)}\n trigger={deriveOnChangePropName(props)}\n // If in horizontal mode and no label, then we align the content\n // with the rest of the controls in the grid\n // if alignLabellessWithControls is true\n wrapperCol={\n layoutContext?.layout === \"horizontal\" &&\n noLabel &&\n alignLabellessWithControls &&\n layoutContext.labelSpan\n ? { offset: layoutContext.labelSpan }\n : undefined\n }\n >\n <FormItemForwarder formItemProps={props} />\n </FormItem>\n );\n}\n\n/**\n * Derive the valuePropName to use, if the wrapped child has designated\n * one via its Component.__plasmicFormFieldMeta?.valueProp.\n */\nfunction deriveValuePropName(props: InternalFormItemProps): string | undefined {\n if (props.valuePropName) {\n // Always prefer an explicitly specified valuePropName\n return props.valuePropName;\n }\n\n const valueProps = (\n React.Children.map(props.children as any, (child) => {\n if (React.isValidElement(child)) {\n const childType = child.type;\n if (childType) {\n const x = (childType as any).__plasmicFormFieldMeta?.valueProp;\n if (x) {\n return x as string;\n }\n // Hard-coding \"isChecked\" for Plume checkbox / switch\n const plumeType = (childType as any).__plumeType;\n if (\n plumeType &&\n (plumeType === \"checkbox\" || plumeType === \"switch\")\n ) {\n return \"isChecked\";\n }\n }\n }\n return undefined;\n }) ?? []\n ).filter((x: any): x is string => !!x);\n if (valueProps.length > 0) {\n return valueProps[0];\n }\n return undefined;\n}\n\n/**\n * Derive the onChange prop to use, if the wrapped child has designated\n * one via its Component.__plasmicFormFieldMeta?.valueProp.\n */\nfunction deriveOnChangePropName(\n props: InternalFormItemProps\n): string | undefined {\n if (props.trigger) {\n // Always prefer an explicitly specified valuePropName\n return props.trigger;\n }\n\n const triggerProps = (\n React.Children.map(props.children as any, (child) => {\n if (React.isValidElement(child)) {\n const childType = child.type;\n if (childType) {\n const x = (childType as any).__plasmicFormFieldMeta?.onChangeProp;\n if (x) {\n return x as string;\n }\n }\n }\n return undefined;\n }) ?? []\n ).filter((x: any): x is string => !!x);\n if (triggerProps.length > 0) {\n return triggerProps[0];\n }\n return undefined;\n}\n\nfunction FormItemForwarder({ formItemProps, ...props }: any) {\n const status = Form.Item.useStatus();\n const internalFormCtx = React.useContext(InternalFormInstanceContext);\n // const value = props[formItemProps.valuePropName ?? \"value\"];\n // const trigger = props[formItemProps.trigger ?? \"onChange\"];\n const data: CuratedFieldData = {\n status: status.status,\n };\n props.setControlContextData?.({\n internalFormCtx,\n status,\n });\n return React.Children.map(formItemProps.children, (child, i) => {\n if (i === 0 && isValidElement(child)) {\n let newProps = {\n name: formItemProps.name,\n ...(child.props ?? {}),\n ...props,\n __plasmicFormField: true,\n };\n if (formItemProps.customizeProps) {\n newProps = mergeProps(\n newProps,\n formItemProps.customizeProps(data, newProps)\n );\n }\n return cloneElement(child, newProps);\n } else {\n return child;\n }\n });\n}\n"],"names":["Form","_a","useFormItemRelativeName","useFormItemFullName","React","PathContext","reactNodeToString","ensureArray","FormLayoutContext","usePlasmicCanvasContext","InternalFormInstanceContext","useFormInstanceMaybe","get","isValidElement","mergeProps","cloneElement"],"mappings":"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"}
|