diff --git a/src/CollapseGroup/demos/Playground.tsx b/src/CollapseGroup/demos/Playground.tsx
new file mode 100644
index 00000000..d1a5c276
--- /dev/null
+++ b/src/CollapseGroup/demos/Playground.tsx
@@ -0,0 +1,25 @@
+import { StoryBook, useControls, useCreateStore } from '@lobehub/ui';
+import { CollapseGroup, CollapseGroupProps } from '@yuntijs/ui';
+import { VariableIcon } from 'lucide-react';
+
+export default () => {
+ const store = useCreateStore();
+ const control: CollapseGroupProps | any = useControls(
+ {
+ title: '输出变量',
+ defaultActive: true,
+ variant: {
+ options: ['default', 'block', 'ghost', 'pure'],
+ value: 'default',
+ },
+ },
+ { store }
+ );
+ return (
+
+
+ 我是收起来的内容
+
+
+ );
+};
diff --git a/src/CollapseGroup/demos/index.tsx b/src/CollapseGroup/demos/index.tsx
new file mode 100644
index 00000000..585d16cd
--- /dev/null
+++ b/src/CollapseGroup/demos/index.tsx
@@ -0,0 +1,10 @@
+import { CollapseGroup } from '@yuntijs/ui';
+import { VariableIcon } from 'lucide-react';
+
+export default () => {
+ return (
+
+ 我是收起来的内容
+
+ );
+};
diff --git a/src/CollapseGroup/index.md b/src/CollapseGroup/index.md
new file mode 100644
index 00000000..2f845904
--- /dev/null
+++ b/src/CollapseGroup/index.md
@@ -0,0 +1,32 @@
+---
+nav: Components
+group: Data Display
+title: CollapseGroup
+---
+
+## Usage
+
+Based on [lobehub ui FormGroup](https://github.com/lobehub/lobe-ui/blob/master/src/Form/components/FormGroup.tsx).
+
+```tsx | pure
+import { CollapseGroup } from '@yuntijs/ui';
+import { VariableIcon } from 'lucide-react';
+
+export default () => {
+ return (
+
+ 我是收起来的内容
+
+ );
+};
+```
+
+
+
+## Playground
+
+
+
+## APIs
+
+
diff --git a/src/CollapseGroup/index.tsx b/src/CollapseGroup/index.tsx
new file mode 100644
index 00000000..ba4ff171
--- /dev/null
+++ b/src/CollapseGroup/index.tsx
@@ -0,0 +1,28 @@
+import { FormGroupProps, Form as LobeForm } from '@lobehub/ui';
+import React from 'react';
+
+import { useStyles } from './style';
+
+const FormGroup = LobeForm.Group;
+
+export type CollapseGroupProps = Omit<
+ FormGroupProps,
+ 'items' | 'activeKey' | 'defaultActiveKey' | 'accordion' | 'expandIconPosition'
+>;
+
+export const CollapseGroup: React.FC = ({
+ className,
+ variant,
+ ...otherProps
+}) => {
+ const { styles, cx } = useStyles();
+
+ return (
+
+ );
+};
diff --git a/src/CollapseGroup/style.ts b/src/CollapseGroup/style.ts
new file mode 100644
index 00000000..58aac0c3
--- /dev/null
+++ b/src/CollapseGroup/style.ts
@@ -0,0 +1,31 @@
+import { createStyles } from 'antd-style';
+
+export const useStyles = createStyles(({ css, token, prefixCls }) => {
+ return {
+ root: css`
+ margin-bottom: ${token.margin}px;
+ .${prefixCls}-collapse {
+ &-header {
+ padding: 0 !important;
+ &-text {
+ padding: ${token.paddingSM}px ${token.paddingSM}px ${token.paddingSM}px 0;
+ & > * {
+ font-size: ${token.fontSize}px;
+ /* font-weight: unset; */
+ }
+ }
+ }
+ &-expand-icon {
+ padding: ${token.padding}px 0 ${token.padding}px ${token.paddingSM}px;
+ }
+ &-extra {
+ padding-right: ${token.paddingSM}px;
+ }
+ &-content {
+ padding: ${token.paddingXS}px 0;
+ background-color: ${token.colorBgContainer};
+ }
+ }
+ `,
+ };
+});