@jswork/react-ant-form-schema 1.0.24 → 1.0.26
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/main.cjs.js +1 -1
- package/dist/main.cjs.js.map +1 -1
- package/dist/main.esm.js +1 -1
- package/dist/main.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/fieldset-groups.tsx +11 -5
- package/src/components/tabs-groups.tsx +12 -10
- package/src/index.tsx +3 -2
package/dist/main.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var E=Object.defineProperty;var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var E=Object.defineProperty;var p=Object.getOwnPropertySymbols;var b=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable;var h=(e,r,t)=>r in e?E(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,a=(e,r)=>{for(var t in r||(r={}))b.call(r,t)&&h(e,t,r[t]);if(p)for(var t of p(r))F.call(r,t)&&h(e,t,r[t]);return e};var m=(e,r)=>E(e,"name",{value:r,configurable:!0});var N=(e,r)=>{var t={};for(var o in e)b.call(e,o)&&r.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&p)for(var o of p(e))r.indexOf(o)<0&&F.call(e,o)&&(t[o]=e[o]);return t};var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames);var _react = require('react'); var _react2 = _interopRequireDefault(_react);var _antd = require('antd');var _niceformreact = require('@ebay/nice-form-react'); var _niceformreact2 = _interopRequireDefault(_niceformreact);var I=m(({meta:e})=>_react2.default.createElement(_niceformreact2.default,{meta:e}),"DefaultForm"),g=I;var B=m(({groups:e,defaultMeta:r,fieldsetsSx:t})=>_react2.default.createElement("div",{className:_classnames2.default.call(void 0, "react-ant-form-schema-fieldset-groups",t==null?void 0:t.container)},e.map((o,n)=>{let s=a(a({},r),o.meta);return _react2.default.createElement("fieldset",{key:n,className:t==null?void 0:t.fieldset},_react2.default.createElement("legend",{className:t==null?void 0:t.legend},o.title),_react2.default.createElement(_niceformreact2.default,{meta:s}))})),"FieldsetGroups"),M=B;var H=m(({groups:e,defaultMeta:r,tabProps:t})=>{let o=_react.useMemo.call(void 0, ()=>e.map(n=>{let s=a(a({},r),n.meta);return{key:n.title,label:n.title,children:_react2.default.createElement(_niceformreact2.default,{meta:s})}}),[e,r]);return _react2.default.createElement(_antd.Tabs,a({items:o,className:"react-ant-form-schema-tabs"},t))},"TabsGroups"),T=H;var i=(function(e){return e.Fieldset="fieldset",e.Tabs="tabs",e})({});var A="react-ant-form-schema",K={vertical:{labelWidth:24},horizontal:{labelWidth:4}},O={header:null,layout:"horizontal"},Q=_react2.default.forwardRef((e,r)=>{let d=a(a({},O),e),{className:t,meta:o,header:n,children:s,actionsClassName:C,layout:f}=d,v=N(d,["className","meta","header","children","actionsClassName","layout"]),z=s,c=K[f],D=o.groups&&o.groups.length>0,P=o.groupsMode||i.Fieldset,W=m(()=>D?P===i.Tabs?_react2.default.createElement(T,{groups:o.groups,defaultMeta:c,tabProps:o.tabProps}):_react2.default.createElement(M,{groups:o.groups,defaultMeta:c}):_react2.default.createElement(g,{meta:a(a({},c),o)}),"renderContent");return _react2.default.createElement(_antd.Form,a({"data-component":A,className:_classnames2.default.call(void 0, A,t),layout:f,ref:r},v),n,W(),_react2.default.createElement(_antd.Form.Item,{wrapperCol:{offset:f==="horizontal"?c==null?void 0:c.labelWidth:0},className:C,style:{marginBottom:0}},z))}),G=Q;var Ne=G;exports.GroupsMode = i; exports.default = Ne;
|
|
2
2
|
//# sourceMappingURL=main.cjs.js.map
|
package/dist/main.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/feizheng/github/react-ant-form-schema/packages/lib/dist/main.cjs.js","../src/index.tsx","../src/components/default-form.tsx","../src/components/fieldset-groups.tsx","../src/components/tabs-groups.tsx","../src/types.ts","../src/main.tsx"],"names":["DefaultForm","__name","meta","React","NiceForm","default_form_default","FieldsetGroups","groups","defaultMeta","div","className","map","group","index","groupMeta","__spreadValues","fieldset","key","legend","title","fieldset_groups_default","TabsGroups","tabProps","tabItems","label","children","Tabs","items","tabs_groups_default","GroupsMode","CLASS_NAME","DEFAULT_META","vertical","labelWidth","horizontal","defaultProps","header","layout","ReactAntdFormSchema","forwardRef","props","ref","_a","actionsClassName","rest","footerNode","isGroupsMode","length","groupsMode","Fieldset","renderContent","Form","data-component","cx","Item","wrapperCol","offset","style","marginBottom","index_default","main_default"],"mappings":"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","file":"/Users/feizheng/github/react-ant-form-schema/packages/lib/dist/main.cjs.js","sourcesContent":[null,"import cx from 'classnames';\nimport React, { type ReactNode } from 'react';\nimport { Form, type FormInstance } from 'antd';\nimport DefaultForm from './components/default-form';\nimport FieldsetGroups from './components/fieldset-groups';\nimport TabsGroups from './components/tabs-groups';\nimport { ReactAntdFormSchemaProps, GroupsMode } from './types';\n\nconst CLASS_NAME = 'react-ant-form-schema';\nconst DEFAULT_META = {\n vertical: {\n labelWidth: 24,\n },\n // 这个是 nice-form-react 默认的 meta 数据,其它设置不生效\n // wrapperProps.labelCol.span 这个属性是 deprecated 的,请使用 labelWidth\n horizontal: {\n labelWidth: 4,\n },\n};\n\nconst defaultProps: Partial<ReactAntdFormSchemaProps> = {\n header: null,\n layout: 'horizontal',\n};\n\nconst ReactAntdFormSchema = React.forwardRef<FormInstance, ReactAntdFormSchemaProps>(\n (props, ref) => {\n const { className, meta, header, children, actionsClassName, layout, ...rest } = {\n ...defaultProps,\n ...props,\n };\n const footerNode = children as ReactNode;\n const defaultMeta = DEFAULT_META[layout!];\n\n // Check if groups mode is enabled\n const isGroupsMode = meta.groups && meta.groups.length > 0;\n const groupsMode = meta.groupsMode || GroupsMode.Fieldset;\n\n // Render form content based on mode\n const renderContent = () => {\n if (isGroupsMode) {\n if (groupsMode === GroupsMode.Tabs) {\n return <TabsGroups groups={meta.groups!} defaultMeta={defaultMeta} tabProps={meta.tabProps} />;\n }\n // fieldset mode (default)\n return <FieldsetGroups groups={meta.groups!} defaultMeta={defaultMeta} />;\n }\n // standard mode\n return <DefaultForm meta={{ ...defaultMeta, ...meta }} />;\n };\n\n return (\n <Form\n data-component={CLASS_NAME}\n className={cx(CLASS_NAME, className)}\n layout={layout}\n ref={ref}\n {...rest}>\n {header}\n {renderContent()}\n <Form.Item\n wrapperCol={{ offset: layout === 'horizontal' ? defaultMeta?.labelWidth : 0 }}\n className={actionsClassName}\n style={{ marginBottom: 0 }}>\n {footerNode}\n </Form.Item>\n </Form>\n );\n },\n);\n\nexport default ReactAntdFormSchema;\n","import React from 'react';\nimport NiceForm, { NiceFormMeta } from '@ebay/nice-form-react';\n\nexport type DefaultFormProps = {\n meta: NiceFormMeta;\n};\n\nconst DefaultForm = ({ meta }: DefaultFormProps) => {\n return <NiceForm meta={meta} />;\n};\n\nexport default DefaultForm;\n","import React from 'react';\nimport NiceForm, { NiceFormMeta } from '@ebay/nice-form-react';\nimport { NiceFormGroup } from '../types';\n\nexport type FieldsetGroupsProps = {\n groups: NiceFormGroup[];\n defaultMeta: Record<string, any>;\n};\n\nconst FieldsetGroups = ({ groups, defaultMeta }: FieldsetGroupsProps) => {\n return (\n <div className=\"react-ant-form-schema-groups\">\n {groups.map((group, index) => {\n const groupMeta = { ...defaultMeta, ...group.meta } as NiceFormMeta;\n return (\n <fieldset key={index} className=\"react-ant-form-schema-fieldset\">\n <legend className=\"react-ant-form-schema-legend\">{group.title}</legend>\n <NiceForm meta={groupMeta} />\n </fieldset>\n );\n })}\n </div>\n );\n};\n\nexport default FieldsetGroups;\n","import React from 'react';\nimport { Tabs, TabsProps } from 'antd';\nimport NiceForm, { NiceFormMeta } from '@ebay/nice-form-react';\nimport { NiceFormGroup } from '../types';\n\nexport type TabsGroupsProps = {\n groups: NiceFormGroup[];\n defaultMeta: Record<string, any>;\n tabProps?: TabsProps;\n};\n\nconst TabsGroups = ({ groups, defaultMeta, tabProps }: TabsGroupsProps) => {\n const tabItems = groups.map((group) => {\n const groupMeta = { ...defaultMeta, ...group.meta } as NiceFormMeta;\n return {\n key: group.title,\n label: group.title,\n children: <NiceForm meta={groupMeta} />,\n };\n });\n\n return (\n <Tabs\n items={tabItems}\n className=\"react-ant-form-schema-tabs\"\n {...tabProps}\n />\n );\n};\n\nexport default TabsGroups;\n","import { TabsProps } from 'antd';\nimport { NiceFormMeta, NiceFormField } from '@ebay/nice-form-react';\nimport { ReactNode } from 'react';\nimport { FormProps } from 'antd';\n\nexport enum GroupsMode {\n Fieldset = 'fieldset',\n Tabs = 'tabs',\n}\n\nexport type NiceFormGroup = {\n /**\n * The group title displayed in legend or tab.\n */\n title: string;\n /**\n * The form meta for this group.\n */\n meta: NiceFormMeta;\n};\n\nexport type ReactAntdFormSchemaMeta = Omit<NiceFormMeta, 'fields'> & {\n /**\n * Form fields for standard mode.\n * Either fields or groups must be provided.\n */\n fields?: NiceFormField[];\n /**\n * Form groups for grouped mode.\n * When groups is provided, fields will be rendered in groups.\n */\n groups?: NiceFormGroup[];\n /**\n * Display mode for groups.\n * - 'fieldset': Render groups as fieldset/legend elements\n * - 'tabs': Render groups as tabs\n */\n groupsMode?: GroupsMode;\n /**\n * Props to pass to Tabs component when groupsMode is 'tabs'.\n */\n tabProps?: TabsProps;\n};\n\nexport type ReactAntdFormSchemaProps = {\n /**\n * The form schema meta data.\n */\n meta: ReactAntdFormSchemaMeta;\n /**\n * The header content.\n */\n header?: ReactNode;\n /**\n * The form actions className.\n */\n actionsClassName?: string;\n} & FormProps;\n","import ReactAntdFormSchema from '.';\nexport type { ReactAntdFormSchemaProps, ReactAntdFormSchemaMeta } from './types';\nexport { GroupsMode } from './types';\n\nexport default ReactAntdFormSchema;\n"]}
|
|
1
|
+
{"version":3,"sources":["/Users/feizheng/github/react-ant-form-schema/packages/lib/dist/main.cjs.js","../src/index.tsx","../src/components/default-form.tsx","../src/components/fieldset-groups.tsx","../src/components/tabs-groups.tsx","../src/types.ts","../src/main.tsx"],"names":["DefaultForm","__name","meta","React","NiceForm","default_form_default","FieldsetGroups","groups","defaultMeta","fieldsetsSx","div","className","cx","container","map","group","index","groupMeta","__spreadValues","fieldset","key","legend","title","fieldset_groups_default","TabsGroups","tabProps","tabItems","useMemo","label","children","Tabs","items","tabs_groups_default","GroupsMode","CLASS_NAME","DEFAULT_META","vertical","labelWidth","horizontal","defaultProps","header","layout","ReactAntdFormSchema","forwardRef","props","ref","_a","actionsClassName","rest","footerNode","isGroupsMode","length","groupsMode","Fieldset","renderContent","Form","data-component","Item","wrapperCol","offset","style","marginBottom","index_default","main_default"],"mappings":"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","file":"/Users/feizheng/github/react-ant-form-schema/packages/lib/dist/main.cjs.js","sourcesContent":[null,"import cx from 'classnames';\nimport React, { type ReactNode } from 'react';\nimport { Form, type FormInstance } from 'antd';\nimport { NiceFormMeta } from '@ebay/nice-form-react';\nimport DefaultForm from './components/default-form';\nimport FieldsetGroups from './components/fieldset-groups';\nimport TabsGroups from './components/tabs-groups';\nimport { GroupsMode, ReactAntdFormSchemaProps } from './types';\n\nconst CLASS_NAME = 'react-ant-form-schema';\nconst DEFAULT_META = {\n vertical: {\n labelWidth: 24,\n },\n // 这个是 nice-form-react 默认的 meta 数据,其它设置不生效\n // wrapperProps.labelCol.span 这个属性是 deprecated 的,请使用 labelWidth\n horizontal: {\n labelWidth: 4,\n },\n};\n\nconst defaultProps: Partial<ReactAntdFormSchemaProps> = {\n header: null,\n layout: 'horizontal',\n};\n\nconst ReactAntdFormSchema = React.forwardRef<FormInstance, ReactAntdFormSchemaProps>(\n (props, ref) => {\n const { className, meta, header, children, actionsClassName, layout, ...rest } = {\n ...defaultProps,\n ...props,\n };\n const footerNode = children as ReactNode;\n const defaultMeta = DEFAULT_META[layout!];\n\n // Check if groups mode is enabled\n const isGroupsMode = meta.groups && meta.groups.length > 0;\n const groupsMode = meta.groupsMode || GroupsMode.Fieldset;\n\n // Render form content based on mode\n const renderContent = () => {\n if (isGroupsMode) {\n if (groupsMode === GroupsMode.Tabs) {\n return <TabsGroups groups={meta.groups!} defaultMeta={defaultMeta} tabProps={meta.tabProps} />;\n }\n // fieldset mode (default)\n return <FieldsetGroups groups={meta.groups!} defaultMeta={defaultMeta} />;\n }\n // standard mode\n return <DefaultForm meta={{ ...defaultMeta, ...meta } as NiceFormMeta} />;\n };\n\n return (\n <Form\n data-component={CLASS_NAME}\n className={cx(CLASS_NAME, className)}\n layout={layout}\n ref={ref}\n {...rest}>\n {header}\n {renderContent()}\n <Form.Item\n wrapperCol={{ offset: layout === 'horizontal' ? defaultMeta?.labelWidth : 0 }}\n className={actionsClassName}\n style={{ marginBottom: 0 }}>\n {footerNode}\n </Form.Item>\n </Form>\n );\n },\n);\n\nexport default ReactAntdFormSchema;\n","import React from 'react';\nimport NiceForm, { NiceFormMeta } from '@ebay/nice-form-react';\n\nexport type DefaultFormProps = {\n meta: NiceFormMeta;\n};\n\nconst DefaultForm = ({ meta }: DefaultFormProps) => {\n return <NiceForm meta={meta} />;\n};\n\nexport default DefaultForm;\n","import React from 'react';\nimport NiceForm, { NiceFormMeta } from '@ebay/nice-form-react';\nimport { NiceFormGroup } from '../types';\nimport cx from 'classnames';\n\nexport type FieldsetGroupsProps = {\n groups: NiceFormGroup[];\n defaultMeta: Record<string, unknown>;\n fieldsetsSx?: {\n container?: string;\n fieldset?: string;\n legend?: string;\n }\n};\n\nconst FieldsetGroups = ({ groups, defaultMeta, fieldsetsSx }: FieldsetGroupsProps) => {\n return (\n <div className={cx('react-ant-form-schema-fieldset-groups', fieldsetsSx?.container)}>\n {groups.map((group, index) => {\n const groupMeta = { ...defaultMeta, ...group.meta } as NiceFormMeta;\n return (\n <fieldset key={index} className={fieldsetsSx?.fieldset}>\n <legend className={fieldsetsSx?.legend}>{group.title}</legend>\n <NiceForm meta={groupMeta} />\n </fieldset>\n );\n })}\n </div>\n );\n};\n\nexport default FieldsetGroups;\n","import React, { useMemo } from 'react';\nimport { Tabs, TabsProps } from 'antd';\nimport NiceForm, { NiceFormMeta } from '@ebay/nice-form-react';\nimport { NiceFormGroup } from '../types';\n\nexport type TabsGroupsProps = {\n groups: NiceFormGroup[];\n defaultMeta: Record<string, unknown>;\n tabProps?: TabsProps;\n};\n\nconst TabsGroups = ({ groups, defaultMeta, tabProps }: TabsGroupsProps) => {\n const tabItems = useMemo(() => {\n return groups.map((group) => {\n const groupMeta = { ...defaultMeta, ...group.meta } as NiceFormMeta;\n return {\n key: group.title,\n label: group.title,\n children: <NiceForm meta={groupMeta} />,\n };\n });\n }, [groups, defaultMeta]);\n\n return (\n <Tabs\n items={tabItems}\n className=\"react-ant-form-schema-tabs\"\n {...tabProps}\n />\n );\n};\n\nexport default TabsGroups;\n","import { TabsProps } from 'antd';\nimport { NiceFormMeta, NiceFormField } from '@ebay/nice-form-react';\nimport { ReactNode } from 'react';\nimport { FormProps } from 'antd';\n\nexport enum GroupsMode {\n Fieldset = 'fieldset',\n Tabs = 'tabs',\n}\n\nexport type NiceFormGroup = {\n /**\n * The group title displayed in legend or tab.\n */\n title: string;\n /**\n * The form meta for this group.\n */\n meta: NiceFormMeta;\n};\n\nexport type ReactAntdFormSchemaMeta = Omit<NiceFormMeta, 'fields'> & {\n /**\n * Form fields for standard mode.\n * Either fields or groups must be provided.\n */\n fields?: NiceFormField[];\n /**\n * Form groups for grouped mode.\n * When groups is provided, fields will be rendered in groups.\n */\n groups?: NiceFormGroup[];\n /**\n * Display mode for groups.\n * - 'fieldset': Render groups as fieldset/legend elements\n * - 'tabs': Render groups as tabs\n */\n groupsMode?: GroupsMode;\n /**\n * Props to pass to Tabs component when groupsMode is 'tabs'.\n */\n tabProps?: TabsProps;\n};\n\nexport type ReactAntdFormSchemaProps = {\n /**\n * The form schema meta data.\n */\n meta: ReactAntdFormSchemaMeta;\n /**\n * The header content.\n */\n header?: ReactNode;\n /**\n * The form actions className.\n */\n actionsClassName?: string;\n} & FormProps;\n","import ReactAntdFormSchema from '.';\nexport type { ReactAntdFormSchemaProps, ReactAntdFormSchemaMeta } from './types';\nexport { GroupsMode } from './types';\n\nexport default ReactAntdFormSchema;\n"]}
|
package/dist/main.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var E=Object.defineProperty;var
|
|
1
|
+
var E=Object.defineProperty;var p=Object.getOwnPropertySymbols;var b=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable;var h=(e,r,t)=>r in e?E(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,a=(e,r)=>{for(var t in r||(r={}))b.call(r,t)&&h(e,t,r[t]);if(p)for(var t of p(r))F.call(r,t)&&h(e,t,r[t]);return e};var m=(e,r)=>E(e,"name",{value:r,configurable:!0});var N=(e,r)=>{var t={};for(var o in e)b.call(e,o)&&r.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&p)for(var o of p(e))r.indexOf(o)<0&&F.call(e,o)&&(t[o]=e[o]);return t};import J from"classnames";import l from"react";import{Form as y}from"antd";import k from"react";import w from"@ebay/nice-form-react";var I=m(({meta:e})=>k.createElement(w,{meta:e}),"DefaultForm"),g=I;import u from"react";import L from"@ebay/nice-form-react";import _ from"classnames";var B=m(({groups:e,defaultMeta:r,fieldsetsSx:t})=>u.createElement("div",{className:_("react-ant-form-schema-fieldset-groups",t==null?void 0:t.container)},e.map((o,n)=>{let s=a(a({},r),o.meta);return u.createElement("fieldset",{key:n,className:t==null?void 0:t.fieldset},u.createElement("legend",{className:t==null?void 0:t.legend},o.title),u.createElement(L,{meta:s}))})),"FieldsetGroups"),M=B;import R,{useMemo as U}from"react";import{Tabs as j}from"antd";import q from"@ebay/nice-form-react";var H=m(({groups:e,defaultMeta:r,tabProps:t})=>{let o=U(()=>e.map(n=>{let s=a(a({},r),n.meta);return{key:n.title,label:n.title,children:R.createElement(q,{meta:s})}}),[e,r]);return R.createElement(j,a({items:o,className:"react-ant-form-schema-tabs"},t))},"TabsGroups"),T=H;var i=(function(e){return e.Fieldset="fieldset",e.Tabs="tabs",e})({});var A="react-ant-form-schema",K={vertical:{labelWidth:24},horizontal:{labelWidth:4}},O={header:null,layout:"horizontal"},Q=l.forwardRef((e,r)=>{let d=a(a({},O),e),{className:t,meta:o,header:n,children:s,actionsClassName:C,layout:f}=d,v=N(d,["className","meta","header","children","actionsClassName","layout"]),z=s,c=K[f],D=o.groups&&o.groups.length>0,P=o.groupsMode||i.Fieldset,W=m(()=>D?P===i.Tabs?l.createElement(T,{groups:o.groups,defaultMeta:c,tabProps:o.tabProps}):l.createElement(M,{groups:o.groups,defaultMeta:c}):l.createElement(g,{meta:a(a({},c),o)}),"renderContent");return l.createElement(y,a({"data-component":A,className:J(A,t),layout:f,ref:r},v),n,W(),l.createElement(y.Item,{wrapperCol:{offset:f==="horizontal"?c==null?void 0:c.labelWidth:0},className:C,style:{marginBottom:0}},z))}),G=Q;var Ne=G;export{i as GroupsMode,Ne as default};
|
|
2
2
|
//# sourceMappingURL=main.esm.js.map
|
package/dist/main.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.tsx","../src/components/default-form.tsx","../src/components/fieldset-groups.tsx","../src/components/tabs-groups.tsx","../src/types.ts","../src/main.tsx"],"sourcesContent":["import cx from 'classnames';\nimport React, { type ReactNode } from 'react';\nimport { Form, type FormInstance } from 'antd';\nimport DefaultForm from './components/default-form';\nimport FieldsetGroups from './components/fieldset-groups';\nimport TabsGroups from './components/tabs-groups';\nimport {
|
|
1
|
+
{"version":3,"sources":["../src/index.tsx","../src/components/default-form.tsx","../src/components/fieldset-groups.tsx","../src/components/tabs-groups.tsx","../src/types.ts","../src/main.tsx"],"sourcesContent":["import cx from 'classnames';\nimport React, { type ReactNode } from 'react';\nimport { Form, type FormInstance } from 'antd';\nimport { NiceFormMeta } from '@ebay/nice-form-react';\nimport DefaultForm from './components/default-form';\nimport FieldsetGroups from './components/fieldset-groups';\nimport TabsGroups from './components/tabs-groups';\nimport { GroupsMode, ReactAntdFormSchemaProps } from './types';\n\nconst CLASS_NAME = 'react-ant-form-schema';\nconst DEFAULT_META = {\n vertical: {\n labelWidth: 24,\n },\n // 这个是 nice-form-react 默认的 meta 数据,其它设置不生效\n // wrapperProps.labelCol.span 这个属性是 deprecated 的,请使用 labelWidth\n horizontal: {\n labelWidth: 4,\n },\n};\n\nconst defaultProps: Partial<ReactAntdFormSchemaProps> = {\n header: null,\n layout: 'horizontal',\n};\n\nconst ReactAntdFormSchema = React.forwardRef<FormInstance, ReactAntdFormSchemaProps>(\n (props, ref) => {\n const { className, meta, header, children, actionsClassName, layout, ...rest } = {\n ...defaultProps,\n ...props,\n };\n const footerNode = children as ReactNode;\n const defaultMeta = DEFAULT_META[layout!];\n\n // Check if groups mode is enabled\n const isGroupsMode = meta.groups && meta.groups.length > 0;\n const groupsMode = meta.groupsMode || GroupsMode.Fieldset;\n\n // Render form content based on mode\n const renderContent = () => {\n if (isGroupsMode) {\n if (groupsMode === GroupsMode.Tabs) {\n return <TabsGroups groups={meta.groups!} defaultMeta={defaultMeta} tabProps={meta.tabProps} />;\n }\n // fieldset mode (default)\n return <FieldsetGroups groups={meta.groups!} defaultMeta={defaultMeta} />;\n }\n // standard mode\n return <DefaultForm meta={{ ...defaultMeta, ...meta } as NiceFormMeta} />;\n };\n\n return (\n <Form\n data-component={CLASS_NAME}\n className={cx(CLASS_NAME, className)}\n layout={layout}\n ref={ref}\n {...rest}>\n {header}\n {renderContent()}\n <Form.Item\n wrapperCol={{ offset: layout === 'horizontal' ? defaultMeta?.labelWidth : 0 }}\n className={actionsClassName}\n style={{ marginBottom: 0 }}>\n {footerNode}\n </Form.Item>\n </Form>\n );\n },\n);\n\nexport default ReactAntdFormSchema;\n","import React from 'react';\nimport NiceForm, { NiceFormMeta } from '@ebay/nice-form-react';\n\nexport type DefaultFormProps = {\n meta: NiceFormMeta;\n};\n\nconst DefaultForm = ({ meta }: DefaultFormProps) => {\n return <NiceForm meta={meta} />;\n};\n\nexport default DefaultForm;\n","import React from 'react';\nimport NiceForm, { NiceFormMeta } from '@ebay/nice-form-react';\nimport { NiceFormGroup } from '../types';\nimport cx from 'classnames';\n\nexport type FieldsetGroupsProps = {\n groups: NiceFormGroup[];\n defaultMeta: Record<string, unknown>;\n fieldsetsSx?: {\n container?: string;\n fieldset?: string;\n legend?: string;\n }\n};\n\nconst FieldsetGroups = ({ groups, defaultMeta, fieldsetsSx }: FieldsetGroupsProps) => {\n return (\n <div className={cx('react-ant-form-schema-fieldset-groups', fieldsetsSx?.container)}>\n {groups.map((group, index) => {\n const groupMeta = { ...defaultMeta, ...group.meta } as NiceFormMeta;\n return (\n <fieldset key={index} className={fieldsetsSx?.fieldset}>\n <legend className={fieldsetsSx?.legend}>{group.title}</legend>\n <NiceForm meta={groupMeta} />\n </fieldset>\n );\n })}\n </div>\n );\n};\n\nexport default FieldsetGroups;\n","import React, { useMemo } from 'react';\nimport { Tabs, TabsProps } from 'antd';\nimport NiceForm, { NiceFormMeta } from '@ebay/nice-form-react';\nimport { NiceFormGroup } from '../types';\n\nexport type TabsGroupsProps = {\n groups: NiceFormGroup[];\n defaultMeta: Record<string, unknown>;\n tabProps?: TabsProps;\n};\n\nconst TabsGroups = ({ groups, defaultMeta, tabProps }: TabsGroupsProps) => {\n const tabItems = useMemo(() => {\n return groups.map((group) => {\n const groupMeta = { ...defaultMeta, ...group.meta } as NiceFormMeta;\n return {\n key: group.title,\n label: group.title,\n children: <NiceForm meta={groupMeta} />,\n };\n });\n }, [groups, defaultMeta]);\n\n return (\n <Tabs\n items={tabItems}\n className=\"react-ant-form-schema-tabs\"\n {...tabProps}\n />\n );\n};\n\nexport default TabsGroups;\n","import { TabsProps } from 'antd';\nimport { NiceFormMeta, NiceFormField } from '@ebay/nice-form-react';\nimport { ReactNode } from 'react';\nimport { FormProps } from 'antd';\n\nexport enum GroupsMode {\n Fieldset = 'fieldset',\n Tabs = 'tabs',\n}\n\nexport type NiceFormGroup = {\n /**\n * The group title displayed in legend or tab.\n */\n title: string;\n /**\n * The form meta for this group.\n */\n meta: NiceFormMeta;\n};\n\nexport type ReactAntdFormSchemaMeta = Omit<NiceFormMeta, 'fields'> & {\n /**\n * Form fields for standard mode.\n * Either fields or groups must be provided.\n */\n fields?: NiceFormField[];\n /**\n * Form groups for grouped mode.\n * When groups is provided, fields will be rendered in groups.\n */\n groups?: NiceFormGroup[];\n /**\n * Display mode for groups.\n * - 'fieldset': Render groups as fieldset/legend elements\n * - 'tabs': Render groups as tabs\n */\n groupsMode?: GroupsMode;\n /**\n * Props to pass to Tabs component when groupsMode is 'tabs'.\n */\n tabProps?: TabsProps;\n};\n\nexport type ReactAntdFormSchemaProps = {\n /**\n * The form schema meta data.\n */\n meta: ReactAntdFormSchemaMeta;\n /**\n * The header content.\n */\n header?: ReactNode;\n /**\n * The form actions className.\n */\n actionsClassName?: string;\n} & FormProps;\n","import ReactAntdFormSchema from '.';\nexport type { ReactAntdFormSchemaProps, ReactAntdFormSchemaMeta } from './types';\nexport { GroupsMode } from './types';\n\nexport default ReactAntdFormSchema;\n"],"mappings":"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","names":["cx","React","Form","React","NiceForm","DefaultForm","__name","meta","React","NiceForm","default_form_default","React","NiceForm","cx","FieldsetGroups","__name","groups","defaultMeta","fieldsetsSx","React","div","className","cx","container","map","group","index","groupMeta","__spreadValues","meta","fieldset","key","legend","title","NiceForm","fieldset_groups_default","React","useMemo","Tabs","NiceForm","TabsGroups","__name","groups","defaultMeta","tabProps","tabItems","useMemo","map","group","groupMeta","__spreadValues","meta","key","title","label","children","React","NiceForm","Tabs","items","className","tabs_groups_default","GroupsMode","CLASS_NAME","DEFAULT_META","vertical","labelWidth","horizontal","defaultProps","header","layout","ReactAntdFormSchema","React","forwardRef","props","ref","_a","__spreadValues","className","meta","children","actionsClassName","rest","footerNode","defaultMeta","isGroupsMode","groups","length","groupsMode","GroupsMode","Fieldset","renderContent","__name","Tabs","TabsGroups","tabProps","FieldsetGroups","DefaultForm","Form","data-component","cx","Item","wrapperCol","offset","style","marginBottom","index_default","main_default","ReactAntdFormSchema"]}
|
package/package.json
CHANGED
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import NiceForm, { NiceFormMeta } from '@ebay/nice-form-react';
|
|
3
3
|
import { NiceFormGroup } from '../types';
|
|
4
|
+
import cx from 'classnames';
|
|
4
5
|
|
|
5
6
|
export type FieldsetGroupsProps = {
|
|
6
7
|
groups: NiceFormGroup[];
|
|
7
|
-
defaultMeta: Record<string,
|
|
8
|
+
defaultMeta: Record<string, unknown>;
|
|
9
|
+
fieldsetsSx?: {
|
|
10
|
+
container?: string;
|
|
11
|
+
fieldset?: string;
|
|
12
|
+
legend?: string;
|
|
13
|
+
}
|
|
8
14
|
};
|
|
9
15
|
|
|
10
|
-
const FieldsetGroups = ({ groups, defaultMeta }: FieldsetGroupsProps) => {
|
|
16
|
+
const FieldsetGroups = ({ groups, defaultMeta, fieldsetsSx }: FieldsetGroupsProps) => {
|
|
11
17
|
return (
|
|
12
|
-
<div className=
|
|
18
|
+
<div className={cx('react-ant-form-schema-fieldset-groups', fieldsetsSx?.container)}>
|
|
13
19
|
{groups.map((group, index) => {
|
|
14
20
|
const groupMeta = { ...defaultMeta, ...group.meta } as NiceFormMeta;
|
|
15
21
|
return (
|
|
16
|
-
<fieldset key={index} className=
|
|
17
|
-
<legend className=
|
|
22
|
+
<fieldset key={index} className={fieldsetsSx?.fieldset}>
|
|
23
|
+
<legend className={fieldsetsSx?.legend}>{group.title}</legend>
|
|
18
24
|
<NiceForm meta={groupMeta} />
|
|
19
25
|
</fieldset>
|
|
20
26
|
);
|
|
@@ -1,23 +1,25 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useMemo } from 'react';
|
|
2
2
|
import { Tabs, TabsProps } from 'antd';
|
|
3
3
|
import NiceForm, { NiceFormMeta } from '@ebay/nice-form-react';
|
|
4
4
|
import { NiceFormGroup } from '../types';
|
|
5
5
|
|
|
6
6
|
export type TabsGroupsProps = {
|
|
7
7
|
groups: NiceFormGroup[];
|
|
8
|
-
defaultMeta: Record<string,
|
|
8
|
+
defaultMeta: Record<string, unknown>;
|
|
9
9
|
tabProps?: TabsProps;
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
const TabsGroups = ({ groups, defaultMeta, tabProps }: TabsGroupsProps) => {
|
|
13
|
-
const tabItems =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
const tabItems = useMemo(() => {
|
|
14
|
+
return groups.map((group) => {
|
|
15
|
+
const groupMeta = { ...defaultMeta, ...group.meta } as NiceFormMeta;
|
|
16
|
+
return {
|
|
17
|
+
key: group.title,
|
|
18
|
+
label: group.title,
|
|
19
|
+
children: <NiceForm meta={groupMeta} />,
|
|
20
|
+
};
|
|
21
|
+
});
|
|
22
|
+
}, [groups, defaultMeta]);
|
|
21
23
|
|
|
22
24
|
return (
|
|
23
25
|
<Tabs
|
package/src/index.tsx
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import cx from 'classnames';
|
|
2
2
|
import React, { type ReactNode } from 'react';
|
|
3
3
|
import { Form, type FormInstance } from 'antd';
|
|
4
|
+
import { NiceFormMeta } from '@ebay/nice-form-react';
|
|
4
5
|
import DefaultForm from './components/default-form';
|
|
5
6
|
import FieldsetGroups from './components/fieldset-groups';
|
|
6
7
|
import TabsGroups from './components/tabs-groups';
|
|
7
|
-
import {
|
|
8
|
+
import { GroupsMode, ReactAntdFormSchemaProps } from './types';
|
|
8
9
|
|
|
9
10
|
const CLASS_NAME = 'react-ant-form-schema';
|
|
10
11
|
const DEFAULT_META = {
|
|
@@ -46,7 +47,7 @@ const ReactAntdFormSchema = React.forwardRef<FormInstance, ReactAntdFormSchemaPr
|
|
|
46
47
|
return <FieldsetGroups groups={meta.groups!} defaultMeta={defaultMeta} />;
|
|
47
48
|
}
|
|
48
49
|
// standard mode
|
|
49
|
-
return <DefaultForm meta={{ ...defaultMeta, ...meta }} />;
|
|
50
|
+
return <DefaultForm meta={{ ...defaultMeta, ...meta } as NiceFormMeta} />;
|
|
50
51
|
};
|
|
51
52
|
|
|
52
53
|
return (
|