+ {Children.map(children, (child, index) =>
+ isValidElement
(child) && index + 1 <= max
+ ? cloneElement(child, {
+ ...restProps,
+ className: twMerge(avatarClassName, child.props.className),
+ variant,
+ })
+ : null,
+ )}
+
+ {count > max && (
+
+ +{count - max}
+
+ )}
+
+ );
+};
diff --git a/src/components/Avatar/index.ts b/src/components/Avatar/index.ts
new file mode 100644
index 0000000..6758a3c
--- /dev/null
+++ b/src/components/Avatar/index.ts
@@ -0,0 +1,2 @@
+export * from "./Avatar";
+export * from "./AvatarGroup";
diff --git a/src/components/Button/Button.stories.tsx b/src/components/Button/Button.stories.tsx
new file mode 100644
index 0000000..409ab83
--- /dev/null
+++ b/src/components/Button/Button.stories.tsx
@@ -0,0 +1,16 @@
+import type { Meta, StoryObj } from "@storybook/react";
+
+import { Button } from "./Button";
+
+const meta: Meta