hubbi-ui 1.0.0
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/README.md +122 -0
- package/dist/assets/Hubbi.d.ts +8 -0
- package/dist/components/alert/alert.d.ts +9 -0
- package/dist/components/alert/alert.stories.d.ts +6 -0
- package/dist/components/alert/index.d.ts +1 -0
- package/dist/components/button/button.d.ts +17 -0
- package/dist/components/button/button.stories.d.ts +6 -0
- package/dist/components/button/index.d.ts +2 -0
- package/dist/components/button/statusbutton.d.ts +10 -0
- package/dist/components/button/statusbutton.stories.d.ts +6 -0
- package/dist/components/card/card.d.ts +10 -0
- package/dist/components/card/card.stories.d.ts +6 -0
- package/dist/components/card/index.d.ts +1 -0
- package/dist/components/filedropzone/filedropzone.d.ts +14 -0
- package/dist/components/filedropzone/index.d.ts +1 -0
- package/dist/components/header/header.d.ts +15 -0
- package/dist/components/header/header.stories.d.ts +7 -0
- package/dist/components/header/index.d.ts +1 -0
- package/dist/components/index.d.ts +18 -0
- package/dist/components/input/index.d.ts +1 -0
- package/dist/components/input/input.d.ts +9 -0
- package/dist/components/input/input.stories.d.ts +6 -0
- package/dist/components/label/index.d.ts +2 -0
- package/dist/components/label/label.stories.d.ts +5 -0
- package/dist/components/label/statuslabel.d.ts +7 -0
- package/dist/components/label/utilizationlabel.d.ts +5 -0
- package/dist/components/metriccard/index.d.ts +1 -0
- package/dist/components/metriccard/metriccard.d.ts +10 -0
- package/dist/components/metriccard/metriccard.stories.d.ts +6 -0
- package/dist/components/modal/index.d.ts +1 -0
- package/dist/components/modal/modal.d.ts +10 -0
- package/dist/components/modal/modal.stories.d.ts +6 -0
- package/dist/components/navbutton/index.d.ts +1 -0
- package/dist/components/navbutton/navbutton.d.ts +8 -0
- package/dist/components/navbutton/navbutton.stories.d.ts +6 -0
- package/dist/components/navigation/index.d.ts +1 -0
- package/dist/components/navigation/navigation.d.ts +9 -0
- package/dist/components/navigation/navigation.stories.d.ts +6 -0
- package/dist/components/selector/index.d.ts +1 -0
- package/dist/components/selector/select.stories.d.ts +6 -0
- package/dist/components/selector/selector.d.ts +13 -0
- package/dist/components/sheets/index.d.ts +1 -0
- package/dist/components/sheets/sheets.d.ts +15 -0
- package/dist/components/sheets/sheets.stories.d.ts +5 -0
- package/dist/components/sheets/sheetsbody.d.ts +6 -0
- package/dist/components/sheets/sheetscell.d.ts +7 -0
- package/dist/components/sheets/sheetsheader.d.ts +5 -0
- package/dist/components/sheets/sheetsrow.d.ts +5 -0
- package/dist/components/sidebar/index.d.ts +1 -0
- package/dist/components/sidebar/sidebar.d.ts +24 -0
- package/dist/components/sidebar/sidebar.stories.d.ts +11 -0
- package/dist/components/spinner/index.d.ts +1 -0
- package/dist/components/spinner/spinner.d.ts +8 -0
- package/dist/components/spinner/spinner.stories.d.ts +6 -0
- package/dist/components/tabs/index.d.ts +1 -0
- package/dist/components/tabs/tabs.d.ts +13 -0
- package/dist/components/tabs/tabs.stories.d.ts +6 -0
- package/dist/components/text/index.d.ts +1 -0
- package/dist/components/text/text.d.ts +18 -0
- package/dist/components/text/text.stories.d.ts +6 -0
- package/dist/components/wrapper/index.d.ts +1 -0
- package/dist/components/wrapper/wrapper.d.ts +10 -0
- package/dist/components/wrapper/wrapper.stories.d.ts +6 -0
- package/dist/hubbi-ui.cjs.js +30 -0
- package/dist/hubbi-ui.css +1 -0
- package/dist/hubbi-ui.es.d.ts +2 -0
- package/dist/hubbi-ui.es.js +1778 -0
- package/dist/hubbi-ui.umd.js +30 -0
- package/dist/index.d.ts +1 -0
- package/dist/styles.css +1 -0
- package/dist/utils/status-utils.d.ts +30 -0
- package/package.json +73 -0
package/README.md
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Hubbi UI
|
|
2
|
+
|
|
3
|
+
**Hubbi UI** é uma biblioteca de componentes React reutilizáveis construída com Tailwind CSS e Storybook, desenvolvida para garantir consistência visual, escalabilidade e produtividade em aplicações baseadas no ecossistema React.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 📦 Instalação
|
|
8
|
+
|
|
9
|
+
Antes de começar, certifique-se de que seu projeto utiliza React 18.
|
|
10
|
+
|
|
11
|
+
#### Instalação local
|
|
12
|
+
|
|
13
|
+
No projeto hubbi-ui
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm i
|
|
17
|
+
npm run build
|
|
18
|
+
npm link
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
No projeto que será utilizado o hubbi-ui
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm link hubbi-ui
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
#### Instale o `hubbi-ui` via npm:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install hubbi-ui
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
ou com Yarn:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
yarn add hubbi-ui
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 🧩 Requisitos
|
|
42
|
+
|
|
43
|
+
Este pacote utiliza **peer dependencies**, então certifique-se de que as seguintes dependências estejam instaladas no seu projeto:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npm install react react-dom react-router-dom@5 clsx phosphor-react
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
> **Observação:** É necessário usar `react-router-dom@^5.2.0` (versão 5).
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 🎨 Estilos
|
|
54
|
+
|
|
55
|
+
A biblioteca depende do arquivo `styles.css` gerado pelo Tailwind CSS. **Você deve importar este CSS no entry point da sua aplicação (por exemplo, `main.tsx` ou `index.tsx`)**:
|
|
56
|
+
|
|
57
|
+
```ts
|
|
58
|
+
import "hubbi-ui/styles.css"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 🚀 Uso Básico
|
|
64
|
+
|
|
65
|
+
```tsx
|
|
66
|
+
import { Text } from "hubbi-ui"
|
|
67
|
+
|
|
68
|
+
export default function App() {
|
|
69
|
+
return (
|
|
70
|
+
<Text variant="h1" color="primary">
|
|
71
|
+
Olá, Hubbi!
|
|
72
|
+
</Text>
|
|
73
|
+
)
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 🧾 Componentes
|
|
80
|
+
|
|
81
|
+
A biblioteca expõe diversos componentes prontos para uso. Para mais informações, exemplos e personalizações, utilize o **Storybook** local:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
npm run storybook
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 📦 Scripts Disponíveis
|
|
90
|
+
|
|
91
|
+
| Comando | Descrição |
|
|
92
|
+
| ------------------- | ------------------------------------------- |
|
|
93
|
+
| `npm run build` | Compila TypeScript e Tailwind para produção |
|
|
94
|
+
| `npm run storybook` | Inicia o Storybook com Watch do Tailwind |
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## 📁 Estrutura de Exportação
|
|
99
|
+
|
|
100
|
+
Este pacote usa `exports` modernos:
|
|
101
|
+
|
|
102
|
+
- ESM: `./dist/hubbi-ui.es.js`
|
|
103
|
+
- UMD: `./dist/hubbi-ui.umd.js`
|
|
104
|
+
- Tipos TypeScript: `./dist/hubbi-ui.es.d.ts`
|
|
105
|
+
- Estilos: `./dist/styles.css`
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## 🛠 Tecnologias Utilizadas
|
|
110
|
+
|
|
111
|
+
- React 18
|
|
112
|
+
- TypeScript
|
|
113
|
+
- Tailwind CSS
|
|
114
|
+
- Vite
|
|
115
|
+
- Storybook
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## 📌 Observações
|
|
120
|
+
|
|
121
|
+
- O CSS precisa **obrigatoriamente ser importado manualmente**.
|
|
122
|
+
- O build gera os arquivos de estilos e tipos para garantir compatibilidade e reutilização.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
declare const Hubbi: ({ fill, width, height, full, className, }: {
|
|
2
|
+
fill?: string | undefined;
|
|
3
|
+
width?: number | undefined;
|
|
4
|
+
height?: number | undefined;
|
|
5
|
+
full?: boolean | undefined;
|
|
6
|
+
className?: string | undefined;
|
|
7
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export default Hubbi;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Alert } from './alert';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes } from 'react';
|
|
2
|
+
type ButtonVariant = "contained" | "outlined" | "text";
|
|
3
|
+
type ButtonColor = "primary" | "error" | "success" | "default";
|
|
4
|
+
type ButtonSize = "small" | "medium" | "large";
|
|
5
|
+
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
variant?: ButtonVariant;
|
|
8
|
+
color?: ButtonColor;
|
|
9
|
+
size?: ButtonSize;
|
|
10
|
+
fullWidth?: boolean;
|
|
11
|
+
startIcon?: React.ReactNode;
|
|
12
|
+
endIcon?: React.ReactNode;
|
|
13
|
+
loading?: boolean;
|
|
14
|
+
spinnerColor?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function Button({ children, variant, color, size, disabled, fullWidth, startIcon, endIcon, loading, spinnerColor, className, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes } from 'react';
|
|
2
|
+
type StatusType = "all" | "open" | "completed" | "cancelled" | string;
|
|
3
|
+
interface StatusButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
4
|
+
status: StatusType;
|
|
5
|
+
selected: boolean;
|
|
6
|
+
icon: React.ReactNode;
|
|
7
|
+
label: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function StatusButton({ status, selected, icon, label, ...props }: StatusButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface CardProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
className?: string;
|
|
6
|
+
titleClassName?: string;
|
|
7
|
+
backgroundColor?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function Card({ title, children, className, titleClassName, backgroundColor, }: CardProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Card } from './card';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface FileDropzoneProps {
|
|
3
|
+
getRootProps: () => React.HTMLAttributes<HTMLDivElement>;
|
|
4
|
+
getInputProps: () => React.InputHTMLAttributes<HTMLInputElement>;
|
|
5
|
+
isDragActive: boolean;
|
|
6
|
+
isDragReject: boolean;
|
|
7
|
+
fileName?: string;
|
|
8
|
+
supportedFileText?: string;
|
|
9
|
+
onClearFile?: () => void;
|
|
10
|
+
variant?: "default" | "simple";
|
|
11
|
+
details?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const FileDropzone: ({ getRootProps, getInputProps, isDragActive, isDragReject, fileName, onClearFile, supportedFileText, variant, details, }: FileDropzoneProps) => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FileDropzone } from './filedropzone';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
interface User {
|
|
2
|
+
username?: string;
|
|
3
|
+
email?: string;
|
|
4
|
+
image?: {
|
|
5
|
+
file_low?: string;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
interface HeaderProps {
|
|
9
|
+
onMenuClick: () => void;
|
|
10
|
+
isDarkMode: boolean;
|
|
11
|
+
user?: User;
|
|
12
|
+
toggleTheme: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare function Header({ onMenuClick, isDarkMode, user, toggleTheme, }: HeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { Header } from './header';
|
|
3
|
+
declare const meta: Meta<typeof Header>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Header>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const WithoutUserImage: Story;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Header } from './header';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export * from './alert';
|
|
2
|
+
export * from './button';
|
|
3
|
+
export * from './card';
|
|
4
|
+
export * from './filedropzone';
|
|
5
|
+
export * from './header';
|
|
6
|
+
export * from './input';
|
|
7
|
+
export * from './label';
|
|
8
|
+
export * from './metriccard';
|
|
9
|
+
export * from './modal';
|
|
10
|
+
export * from './navbutton';
|
|
11
|
+
export * from './navigation';
|
|
12
|
+
export * from './selector';
|
|
13
|
+
export * from './sheets';
|
|
14
|
+
export * from './sidebar';
|
|
15
|
+
export * from './spinner';
|
|
16
|
+
export * from './tabs';
|
|
17
|
+
export * from './text';
|
|
18
|
+
export * from './wrapper';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Input } from './input';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InputHTMLAttributes } from 'react';
|
|
2
|
+
interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
3
|
+
label?: string;
|
|
4
|
+
error?: boolean;
|
|
5
|
+
helperText?: string;
|
|
6
|
+
icon?: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export declare function Input({ label, placeholder, error, helperText, disabled, icon, className, ...props }: InputProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { StatusType } from '../../utils/status-utils';
|
|
2
|
+
interface StatusLabelProps {
|
|
3
|
+
statusKey: keyof typeof StatusType;
|
|
4
|
+
noIcon?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function StatusLabel({ statusKey, noIcon }: StatusLabelProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { MetricCard } from './metriccard';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface MetricCardProps {
|
|
2
|
+
title: string;
|
|
3
|
+
value: string;
|
|
4
|
+
change?: string;
|
|
5
|
+
trend?: "up" | "down";
|
|
6
|
+
icon: React.ElementType;
|
|
7
|
+
loading?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function MetricCard({ title, value, change, trend, icon: Icon, loading, }: MetricCardProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Modal } from './modal';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface ModalProps {
|
|
2
|
+
isOpen: boolean;
|
|
3
|
+
title?: string;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
footer?: React.ReactNode;
|
|
6
|
+
children?: React.ReactNode;
|
|
7
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl";
|
|
8
|
+
}
|
|
9
|
+
export declare const Modal: React.FC<ModalProps>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { NavButton } from './navbutton';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface NavButtonProps {
|
|
2
|
+
isActive?: boolean;
|
|
3
|
+
onClick?: () => void;
|
|
4
|
+
icon?: React.ReactNode;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function NavButton({ isActive, onClick, icon, children, }: NavButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Navigation } from './navigation';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface NavigationProps {
|
|
2
|
+
count: number;
|
|
3
|
+
pageLimit: number;
|
|
4
|
+
setPageLimit?: (limit: number) => void;
|
|
5
|
+
currentPage: number;
|
|
6
|
+
goToPage?: (page: number) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function Navigation({ count, pageLimit, setPageLimit, currentPage, goToPage, }: NavigationProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Selector } from './selector';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface Option {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string;
|
|
5
|
+
}
|
|
6
|
+
interface SelectorProps {
|
|
7
|
+
value: string;
|
|
8
|
+
onChange: (value: string) => void;
|
|
9
|
+
options: Option[];
|
|
10
|
+
label?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const Selector: React.FC<SelectorProps>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Sheets } from './sheets';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SheetsBody } from './sheetsbody';
|
|
2
|
+
import { SheetsCell } from './sheetscell';
|
|
3
|
+
import { SheetsHeader } from './sheetsheader';
|
|
4
|
+
import { SheetsRow } from './sheetsrow';
|
|
5
|
+
interface SheetsProps {
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
type SheetsComponent = React.FC<SheetsProps> & {
|
|
9
|
+
Header: typeof SheetsHeader;
|
|
10
|
+
Body: typeof SheetsBody;
|
|
11
|
+
Row: typeof SheetsRow;
|
|
12
|
+
Cell: typeof SheetsCell;
|
|
13
|
+
};
|
|
14
|
+
export declare const Sheets: SheetsComponent;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Sidebar } from './sidebar';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface SubItem {
|
|
3
|
+
to: string;
|
|
4
|
+
label: string;
|
|
5
|
+
}
|
|
6
|
+
interface NavItem {
|
|
7
|
+
to?: string;
|
|
8
|
+
label: string;
|
|
9
|
+
icon: React.ElementType;
|
|
10
|
+
subItems?: SubItem[];
|
|
11
|
+
}
|
|
12
|
+
interface Location {
|
|
13
|
+
pathname: string;
|
|
14
|
+
}
|
|
15
|
+
interface SidebarProps {
|
|
16
|
+
isOpen: boolean;
|
|
17
|
+
isDarkMode: boolean;
|
|
18
|
+
onClose: () => void;
|
|
19
|
+
navItems: NavItem[];
|
|
20
|
+
logout: () => void;
|
|
21
|
+
location: Location;
|
|
22
|
+
}
|
|
23
|
+
export declare function Sidebar({ isOpen, onClose, navItems, logout, location, isDarkMode, }: SidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Sidebar } from './sidebar';
|
|
2
|
+
import { Meta } from '@storybook/react';
|
|
3
|
+
declare const _default: Meta<typeof Sidebar>;
|
|
4
|
+
export default _default;
|
|
5
|
+
export declare const Default: {
|
|
6
|
+
(): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
args: {
|
|
8
|
+
isDarkMode: boolean;
|
|
9
|
+
isOpen: boolean;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Spinner } from './spinner';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type SpinnerSize = "small" | "medium" | "large";
|
|
2
|
+
interface SpinnerProps {
|
|
3
|
+
colorClass?: string;
|
|
4
|
+
size?: SpinnerSize;
|
|
5
|
+
className?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function Spinner({ colorClass, size, className, }: SpinnerProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Tabs } from './tabs';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface TabItem {
|
|
2
|
+
label: string;
|
|
3
|
+
value: string;
|
|
4
|
+
count?: number;
|
|
5
|
+
}
|
|
6
|
+
interface TabsProps {
|
|
7
|
+
tabs: TabItem[];
|
|
8
|
+
activeTab: string;
|
|
9
|
+
onChange: (value: string) => void;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function Tabs({ tabs, activeTab, onChange, disabled, }: TabsProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Text } from './text';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type Variant = "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "subtitle1" | "subtitle2" | "body1" | "body2" | "caption" | "overline";
|
|
2
|
+
type TextColor = "primary" | "secondary" | "inherit" | "error" | "success" | "warning" | "disable";
|
|
3
|
+
type TextAlign = "left" | "center" | "right" | "justify";
|
|
4
|
+
type FontWeight = "normal" | "medium" | "semibold" | "bold" | "extrabold";
|
|
5
|
+
type FontSize = "xs" | "sm" | "base" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl";
|
|
6
|
+
interface TextProps {
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
variant?: Variant;
|
|
9
|
+
color?: TextColor;
|
|
10
|
+
customColor?: string;
|
|
11
|
+
align?: TextAlign;
|
|
12
|
+
weight?: FontWeight;
|
|
13
|
+
size?: FontSize;
|
|
14
|
+
className?: string;
|
|
15
|
+
as?: React.ElementType;
|
|
16
|
+
}
|
|
17
|
+
export declare function Text({ children, variant, color, customColor, align, weight, size, className, as, }: TextProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Wrapper } from './wrapper';
|