Skip to content

Commit d46d3d4

Browse files
feat: Spinner Component (#55)
1 parent b568987 commit d46d3d4

File tree

5 files changed

+46
-0
lines changed

5 files changed

+46
-0
lines changed

.changeset/friendly-peas-tell.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@zenml-io/react-component-library": minor
3+
---
4+
5+
add spinner component
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { Meta } from "@storybook/react";
2+
import { Spinner } from "./index";
3+
import { StoryObj } from "@storybook/react";
4+
5+
const meta = {
6+
title: "Elements/Spinner",
7+
component: Spinner,
8+
9+
parameters: {
10+
layout: "centered"
11+
},
12+
tags: ["autodocs"]
13+
} satisfies Meta<typeof Spinner>;
14+
15+
export default meta;
16+
17+
type Story = StoryObj<typeof meta>;
18+
19+
export const DefaultVariant: Story = {
20+
name: "Default"
21+
};

src/components/Spinner/Spinner.tsx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import React, { HTMLAttributes } from "react";
2+
import { cn } from "../../utilities";
3+
4+
type Props = HTMLAttributes<HTMLDivElement>;
5+
6+
export function Spinner({ className, ...rest }: Props) {
7+
return (
8+
<div
9+
{...rest}
10+
role="alert"
11+
aria-busy="true"
12+
className={`${cn(
13+
"h-[180px] w-[180px] animate-spin-slow rounded-rounded border-[7px] border-theme-border-moderate border-b-theme-surface-strong",
14+
className
15+
)}`}
16+
></div>
17+
);
18+
}

src/components/Spinner/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from "./Spinner";

src/components/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ export * from "./Dropdown";
88
export * from "./Table";
99
export * from "./Tag";
1010
export * from "./Badge";
11+
export * from "./Spinner";

0 commit comments

Comments
 (0)