@mriqbox/ui-kit 1.0.5 → 2.1.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 +9 -6
- package/bin/cli.js +151 -0
- package/dist/components/ui/MriBadge.d.ts +7 -0
- package/dist/components/ui/{Badge.stories.d.ts → MriBadge.stories.d.ts} +2 -2
- package/dist/components/ui/MriButton.d.ts +7 -0
- package/dist/components/ui/{Button.stories.d.ts → MriButton.stories.d.ts} +2 -2
- package/dist/components/ui/{ButtonGroup.d.ts → MriButtonGroup.d.ts} +1 -1
- package/dist/components/ui/MriButtonGroup.stories.d.ts +8 -0
- package/dist/components/ui/MriCalendar.d.ts +8 -0
- package/dist/components/ui/MriCard.d.ts +8 -0
- package/dist/components/ui/{Command.d.ts → MriCommand.d.ts} +9 -9
- package/dist/components/ui/MriCommand.stories.d.ts +6 -0
- package/dist/components/ui/{CompactSearch.d.ts → MriCompactSearch.d.ts} +2 -2
- package/dist/components/ui/{CompactSearch.stories.d.ts → MriCompactSearch.stories.d.ts} +2 -2
- package/dist/components/ui/{DatePicker.d.ts → MriDatePicker.d.ts} +2 -2
- package/dist/components/ui/{DatePicker.stories.d.ts → MriDatePicker.stories.d.ts} +2 -2
- package/dist/components/ui/{Dialog.d.ts → MriDialog.d.ts} +1 -1
- package/dist/components/ui/MriDialog.stories.d.ts +6 -0
- package/dist/components/ui/{Icons.d.ts → MriIcons.d.ts} +11 -11
- package/dist/components/ui/MriInput.d.ts +2 -0
- package/dist/components/ui/{Input.stories.d.ts → MriInput.stories.d.ts} +2 -2
- package/dist/components/ui/{Modal.d.ts → MriModal.d.ts} +1 -1
- package/dist/components/ui/MriModal.stories.d.ts +6 -0
- package/dist/components/ui/MriPageHeader.d.ts +11 -0
- package/dist/components/ui/{PageHeader.stories.d.ts → MriPageHeader.stories.d.ts} +3 -3
- package/dist/components/ui/MriPopover.d.ts +6 -0
- package/dist/components/ui/{Popover.stories.d.ts → MriPopover.stories.d.ts} +2 -2
- package/dist/components/ui/MriScrollArea.d.ts +5 -0
- package/dist/components/ui/{SelectSearch.d.ts → MriSelectSearch.d.ts} +2 -2
- package/dist/components/ui/MriSelectSearch.stories.d.ts +6 -0
- package/dist/components/ui/{Sidebar.d.ts → MriSidebar.d.ts} +4 -4
- package/dist/components/ui/MriSidebar.stories.d.ts +6 -0
- package/dist/components/ui/MriTable.d.ts +10 -0
- package/dist/components/ui/MriTable.stories.d.ts +6 -0
- package/dist/components/ui/{ThemeToggle.d.ts → MriThemeToggle.d.ts} +1 -1
- package/dist/components/ui/{ThemeToggle.stories.d.ts → MriThemeToggle.stories.d.ts} +2 -2
- package/dist/components/ui/MriTimePicker.d.ts +9 -0
- package/dist/components/ui/{TimePicker.stories.d.ts → MriTimePicker.stories.d.ts} +2 -2
- package/dist/components/ui/index.d.ts +22 -0
- package/dist/components/ui/{badge-variants.d.ts → mri-badge-variants.d.ts} +1 -1
- package/dist/components/ui/{button-variants.d.ts → mri-button-variants.d.ts} +1 -1
- package/dist/index.d.ts +15 -15
- package/dist/index.es.js +256 -256
- package/dist/index.umd.js +14 -14
- package/package.json +9 -2
- package/dist/components/ui/Badge.d.ts +0 -7
- package/dist/components/ui/Button.d.ts +0 -7
- package/dist/components/ui/ButtonGroup.stories.d.ts +0 -8
- package/dist/components/ui/Calendar.d.ts +0 -8
- package/dist/components/ui/Card.d.ts +0 -8
- package/dist/components/ui/Command.stories.d.ts +0 -6
- package/dist/components/ui/Dialog.stories.d.ts +0 -6
- package/dist/components/ui/Input.d.ts +0 -2
- package/dist/components/ui/Modal.stories.d.ts +0 -6
- package/dist/components/ui/PageHeader.d.ts +0 -11
- package/dist/components/ui/Popover.d.ts +0 -6
- package/dist/components/ui/ScrollArea.d.ts +0 -5
- package/dist/components/ui/SelectSearch.stories.d.ts +0 -6
- package/dist/components/ui/Sidebar.stories.d.ts +0 -6
- package/dist/components/ui/Table.d.ts +0 -10
- package/dist/components/ui/Table.stories.d.ts +0 -6
- package/dist/components/ui/TimePicker.d.ts +0 -9
- /package/dist/components/ui/{Card.stories.d.ts → MriCard.stories.d.ts} +0 -0
- /package/dist/components/ui/{Icons.stories.d.ts → MriIcons.stories.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -22,10 +22,10 @@ npm install @mriqbox/ui-kit
|
|
|
22
22
|
|
|
23
23
|
**Uso:**
|
|
24
24
|
```tsx
|
|
25
|
-
import {
|
|
25
|
+
import { MriButton } from '@mriqbox/ui-kit';
|
|
26
26
|
|
|
27
27
|
export default function MyComponent() {
|
|
28
|
-
return <
|
|
28
|
+
return <MriButton>Clique aqui</MriButton>;
|
|
29
29
|
}
|
|
30
30
|
```
|
|
31
31
|
|
|
@@ -34,12 +34,15 @@ Ideal se você quer ter o código dos componentes no seu projeto para customizá
|
|
|
34
34
|
|
|
35
35
|
Este projeto contém um arquivo `components.json` na raiz, permitindo o uso da CLI do shadcn.
|
|
36
36
|
|
|
37
|
-
**Adicionar componente via CLI:**
|
|
38
|
-
|
|
37
|
+
**Adicionar componente via CLI (Novo):**
|
|
38
|
+
Você pode adicionar componentes individualmente (estilo Shadcn) direto do nosso repositório:
|
|
39
|
+
|
|
39
40
|
```bash
|
|
40
|
-
npx
|
|
41
|
+
npx @mriqbox/ui-kit add mri-button
|
|
41
42
|
```
|
|
42
|
-
Isso irá baixar o código do
|
|
43
|
+
Isso irá baixar o código fonte do `MriButton.tsx` para `src/components/ui/MriButton.tsx` (ou diretório configurado, se detectado).
|
|
44
|
+
|
|
45
|
+
**Nota:** A CLI irá baixar apenas o arquivo do componente. Verifique se ele possui dependências de outros componentes `Mri*` e adicione-os também se necessário.
|
|
43
46
|
|
|
44
47
|
## ⚙️ Configuração (Para uso via NPM)
|
|
45
48
|
|
package/bin/cli.js
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Simple CLI to add Mri UI components to a project.
|
|
5
|
+
* Usage: npx @mriqbox/ui-kit add <component-name>
|
|
6
|
+
* Example: npx @mriqbox/ui-kit add mri-button
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { Command } from 'commander';
|
|
10
|
+
import chalk from 'chalk';
|
|
11
|
+
import fs from 'fs';
|
|
12
|
+
import path from 'path';
|
|
13
|
+
import https from 'https';
|
|
14
|
+
|
|
15
|
+
const program = new Command();
|
|
16
|
+
const BASE_URL = 'https://raw.githubusercontent.com/mri-Qbox-Brasil/mri-ui-kit/main/src/components/ui';
|
|
17
|
+
|
|
18
|
+
function toPascalCase(str) {
|
|
19
|
+
return str
|
|
20
|
+
.replace(/(^\w|-\w)/g, (clear) => clear.replace(/-/, "").toUpperCase());
|
|
21
|
+
}
|
|
22
|
+
function ensureDirectory(dir) {
|
|
23
|
+
if (!fs.existsSync(dir)) {
|
|
24
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function downloadFile(url, dest) {
|
|
29
|
+
return new Promise((resolve, reject) => {
|
|
30
|
+
const file = fs.createWriteStream(dest);
|
|
31
|
+
https.get(url, (response) => {
|
|
32
|
+
if (response.statusCode === 200) {
|
|
33
|
+
response.pipe(file);
|
|
34
|
+
file.on('finish', () => {
|
|
35
|
+
file.close(resolve);
|
|
36
|
+
});
|
|
37
|
+
} else {
|
|
38
|
+
fs.unlink(dest, () => { });
|
|
39
|
+
reject(new Error(`Failed to download: ${response.statusCode} ${response.statusMessage}`));
|
|
40
|
+
}
|
|
41
|
+
}).on('error', (err) => {
|
|
42
|
+
fs.unlink(dest, () => { });
|
|
43
|
+
reject(err);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const visited = new Set();
|
|
49
|
+
|
|
50
|
+
async function processComponent(componentName, installDir) {
|
|
51
|
+
let targetName = componentName;
|
|
52
|
+
|
|
53
|
+
let fileName = componentName;
|
|
54
|
+
let isVariant = componentName.includes('variants');
|
|
55
|
+
|
|
56
|
+
if (!isVariant) {
|
|
57
|
+
if (!fileName.startsWith('Mri') && !fileName.match(/^[A-Z]/)) {
|
|
58
|
+
fileName = toPascalCase(fileName);
|
|
59
|
+
}
|
|
60
|
+
if (!fileName.startsWith('Mri')) {
|
|
61
|
+
fileName = `Mri${fileName}`;
|
|
62
|
+
}
|
|
63
|
+
if (!fileName.endsWith('.tsx')) fileName += '.tsx';
|
|
64
|
+
} else {
|
|
65
|
+
if (!fileName.endsWith('.ts')) fileName += '.ts';
|
|
66
|
+
}
|
|
67
|
+
if (visited.has(fileName)) return;
|
|
68
|
+
visited.add(fileName);
|
|
69
|
+
|
|
70
|
+
const destPath = path.join(installDir, fileName);
|
|
71
|
+
const fileUrl = `${BASE_URL}/${fileName}`;
|
|
72
|
+
|
|
73
|
+
if (fs.existsSync(destPath)) {
|
|
74
|
+
console.log(chalk.gray(` ${fileName} already exists.`));
|
|
75
|
+
// Even if exists, we should scan it for dependencies?
|
|
76
|
+
// Maybe the user has an outdated version.
|
|
77
|
+
// For detailed recursion, strictly we should read it.
|
|
78
|
+
// But let's assume if it exists, its deps are likely handled or user manages it.
|
|
79
|
+
// To be safe for "fresh" installs, let's scan it anyway if we can read it.
|
|
80
|
+
// But standard 'add' usually skips or prompts overwrite.
|
|
81
|
+
// Let's just skip download but continues to scan deps if we want to be thorough.
|
|
82
|
+
// For this "Simple CLI", let's stop at existence to avoid overwriting user changes.
|
|
83
|
+
// BUT we must check its imports to ensure children exist.
|
|
84
|
+
checkDependencies(destPath, installDir);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
console.log(chalk.cyan(`⬇️ Downloading ${fileName}...`));
|
|
89
|
+
try {
|
|
90
|
+
await downloadFile(fileUrl, destPath);
|
|
91
|
+
console.log(chalk.green(`✅ ${fileName} added.`));
|
|
92
|
+
|
|
93
|
+
await checkDependencies(destPath, installDir);
|
|
94
|
+
|
|
95
|
+
} catch (err) {
|
|
96
|
+
console.error(chalk.red(`❌ Error downloading ${fileName}: ${err.message}`));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
async function checkDependencies(filePath, installDir) {
|
|
101
|
+
try {
|
|
102
|
+
const content = fs.readFileSync(filePath, 'utf8');
|
|
103
|
+
const importRegex = /from\s+['"](?:@\/components\/ui\/|\.\/)([^'"]+)['"]/g;
|
|
104
|
+
let match;
|
|
105
|
+
|
|
106
|
+
while ((match = importRegex.exec(content)) !== null) {
|
|
107
|
+
const depName = match[1];
|
|
108
|
+
if (depName.startsWith('Mri') || depName.includes('variants')) {
|
|
109
|
+
await processComponent(depName, installDir);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
} catch (e) {
|
|
113
|
+
console.warn(chalk.yellow(`Could not parse dependencies for ${filePath}`));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
program
|
|
118
|
+
.name('mri-ui')
|
|
119
|
+
.description('Add Mri UI components to your project')
|
|
120
|
+
.version('2.0.0');
|
|
121
|
+
|
|
122
|
+
program
|
|
123
|
+
.command('add <component>')
|
|
124
|
+
.description('Add a component to your project')
|
|
125
|
+
.action(async (componentName) => {
|
|
126
|
+
try {
|
|
127
|
+
console.log(chalk.blue(`🔹 Resolving ${componentName}...`));
|
|
128
|
+
|
|
129
|
+
let installDir = './src/components/ui';
|
|
130
|
+
if (fs.existsSync('components.json')) {
|
|
131
|
+
try {
|
|
132
|
+
if (fs.existsSync('./components/ui')) installDir = './components/ui';
|
|
133
|
+
} catch (e) { }
|
|
134
|
+
} else if (fs.existsSync('./components/ui')) {
|
|
135
|
+
installDir = './components/ui';
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
console.log(chalk.gray(` Target directory: ${installDir}`));
|
|
139
|
+
ensureDirectory(installDir);
|
|
140
|
+
|
|
141
|
+
await processComponent(componentName, installDir);
|
|
142
|
+
|
|
143
|
+
console.log(chalk.blue(`\n🎉 Done!`));
|
|
144
|
+
console.log(chalk.gray(` Don't forget to install external libraries if prompted by your linter (lucide-react, etc).`));
|
|
145
|
+
|
|
146
|
+
} catch (error) {
|
|
147
|
+
console.error(chalk.red('An unexpected error occurred:'), error);
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
program.parse();
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { VariantProps } from 'class-variance-authority';
|
|
2
|
+
import { mriBadgeVariants } from './mri-badge-variants';
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
export interface MriBadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof mriBadgeVariants> {
|
|
5
|
+
}
|
|
6
|
+
declare function MriBadge({ className, variant, ...props }: MriBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export { MriBadge };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { VariantProps } from 'class-variance-authority';
|
|
2
|
+
import { mriButtonVariants } from './mri-button-variants';
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
export interface MriButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof mriButtonVariants> {
|
|
5
|
+
asChild?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const MriButton: React.ForwardRefExoticComponent<MriButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import {
|
|
2
|
+
import { MriButton } from './MriButton';
|
|
3
3
|
|
|
4
|
-
declare const meta: Meta<typeof
|
|
4
|
+
declare const meta: Meta<typeof MriButton>;
|
|
5
5
|
export default meta;
|
|
6
6
|
type Story = StoryObj<typeof meta>;
|
|
7
7
|
export declare const Default: Story;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { default as MriButtonGroup } from './MriButtonGroup';
|
|
3
|
+
|
|
4
|
+
declare const meta: Meta<typeof MriButtonGroup>;
|
|
5
|
+
export default meta;
|
|
6
|
+
type Story = StoryObj<typeof MriButtonGroup>;
|
|
7
|
+
export declare const Default: Story;
|
|
8
|
+
export declare const DisabledItem: Story;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DayPicker } from 'react-day-picker';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
export type MriCalendarProps = React.ComponentProps<typeof DayPicker>;
|
|
4
|
+
declare function MriCalendar({ className, classNames, showOutsideDays, ...props }: MriCalendarProps): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare namespace MriCalendar {
|
|
6
|
+
var displayName: string;
|
|
7
|
+
}
|
|
8
|
+
export { MriCalendar };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
declare const MriCard: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
3
|
+
declare const MriCardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
4
|
+
declare const MriCardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
5
|
+
declare const MriCardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
+
declare const MriCardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
declare const MriCardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
8
|
+
export { MriCard, MriCardHeader, MriCardFooter, MriCardTitle, MriCardDescription, MriCardContent };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
declare const
|
|
2
|
+
declare const MriCommand: React.ForwardRefExoticComponent<Omit<{
|
|
3
3
|
children?: React.ReactNode;
|
|
4
4
|
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
5
5
|
ref?: React.Ref<HTMLDivElement>;
|
|
@@ -16,7 +16,7 @@ declare const Command: React.ForwardRefExoticComponent<Omit<{
|
|
|
16
16
|
disablePointerSelection?: boolean;
|
|
17
17
|
vimBindings?: boolean;
|
|
18
18
|
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
19
|
-
declare const
|
|
19
|
+
declare const MriCommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & {
|
|
20
20
|
ref?: React.Ref<HTMLInputElement>;
|
|
21
21
|
} & {
|
|
22
22
|
asChild?: boolean;
|
|
@@ -24,7 +24,7 @@ declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<
|
|
|
24
24
|
value?: string;
|
|
25
25
|
onValueChange?: (search: string) => void;
|
|
26
26
|
} & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
27
|
-
declare const
|
|
27
|
+
declare const MriCommandList: React.ForwardRefExoticComponent<Omit<{
|
|
28
28
|
children?: React.ReactNode;
|
|
29
29
|
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
30
30
|
ref?: React.Ref<HTMLDivElement>;
|
|
@@ -33,14 +33,14 @@ declare const CommandList: React.ForwardRefExoticComponent<Omit<{
|
|
|
33
33
|
}, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
34
34
|
label?: string;
|
|
35
35
|
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
36
|
-
declare const
|
|
36
|
+
declare const MriCommandEmpty: React.ForwardRefExoticComponent<Omit<{
|
|
37
37
|
children?: React.ReactNode;
|
|
38
38
|
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
39
39
|
ref?: React.Ref<HTMLDivElement>;
|
|
40
40
|
} & {
|
|
41
41
|
asChild?: boolean;
|
|
42
42
|
}, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
43
|
-
declare const
|
|
43
|
+
declare const MriCommandGroup: React.ForwardRefExoticComponent<Omit<{
|
|
44
44
|
children?: React.ReactNode;
|
|
45
45
|
} & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
46
46
|
ref?: React.Ref<HTMLDivElement>;
|
|
@@ -51,14 +51,14 @@ declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
|
|
|
51
51
|
value?: string;
|
|
52
52
|
forceMount?: boolean;
|
|
53
53
|
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
54
|
-
declare const
|
|
54
|
+
declare const MriCommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
55
55
|
ref?: React.Ref<HTMLDivElement>;
|
|
56
56
|
} & {
|
|
57
57
|
asChild?: boolean;
|
|
58
58
|
}, "asChild" | "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
59
59
|
alwaysRender?: boolean;
|
|
60
60
|
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
61
|
-
declare const
|
|
61
|
+
declare const MriCommandItem: React.ForwardRefExoticComponent<Omit<{
|
|
62
62
|
children?: React.ReactNode;
|
|
63
63
|
} & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
64
64
|
ref?: React.Ref<HTMLDivElement>;
|
|
@@ -71,8 +71,8 @@ declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
|
|
|
71
71
|
keywords?: string[];
|
|
72
72
|
forceMount?: boolean;
|
|
73
73
|
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
74
|
-
declare const
|
|
74
|
+
declare const MriCommandShortcut: {
|
|
75
75
|
({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
|
|
76
76
|
displayName: string;
|
|
77
77
|
};
|
|
78
|
-
export {
|
|
78
|
+
export { MriCommand, MriCommandInput, MriCommandList, MriCommandEmpty, MriCommandGroup, MriCommandItem, MriCommandShortcut, MriCommandSeparator, };
|
|
@@ -2,7 +2,7 @@ interface Option {
|
|
|
2
2
|
label: string;
|
|
3
3
|
value: string | number;
|
|
4
4
|
}
|
|
5
|
-
interface
|
|
5
|
+
interface MriCompactSearchProps {
|
|
6
6
|
options: Option[];
|
|
7
7
|
value: string | number;
|
|
8
8
|
onChange: (value: string) => void;
|
|
@@ -12,5 +12,5 @@ interface CompactSearchProps {
|
|
|
12
12
|
className?: string;
|
|
13
13
|
disabled?: boolean;
|
|
14
14
|
}
|
|
15
|
-
export declare function
|
|
15
|
+
export declare function MriCompactSearch({ options, value, onChange, searchPlaceholder, emptyMessage, className, disabled }: MriCompactSearchProps): import("react/jsx-runtime").JSX.Element;
|
|
16
16
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import {
|
|
2
|
+
import { MriCompactSearch } from './MriCompactSearch';
|
|
3
3
|
|
|
4
|
-
declare const meta: Meta<typeof
|
|
4
|
+
declare const meta: Meta<typeof MriCompactSearch>;
|
|
5
5
|
export default meta;
|
|
6
6
|
type Story = StoryObj<typeof meta>;
|
|
7
7
|
export declare const Default: Story;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Locale } from 'date-fns';
|
|
2
2
|
|
|
3
|
-
interface
|
|
3
|
+
interface MriDatePickerProps {
|
|
4
4
|
value?: Date | null;
|
|
5
5
|
onChange: (date: Date | undefined) => void;
|
|
6
6
|
placeholder?: string;
|
|
7
7
|
disabled?: boolean;
|
|
8
8
|
locale?: Locale;
|
|
9
9
|
}
|
|
10
|
-
export declare function
|
|
10
|
+
export declare function MriDatePicker({ value, onChange, placeholder, disabled, locale }: MriDatePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import {
|
|
2
|
+
import { MriDatePicker } from './MriDatePicker';
|
|
3
3
|
|
|
4
|
-
declare const meta: Meta<typeof
|
|
4
|
+
declare const meta: Meta<typeof MriDatePicker>;
|
|
5
5
|
export default meta;
|
|
6
6
|
type Story = StoryObj<typeof meta>;
|
|
7
7
|
export declare const Default: Story;
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const MriTeleportIcon: (props?: {
|
|
2
2
|
className?: string;
|
|
3
3
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const MriBringIcon: (props?: {
|
|
5
5
|
className?: string;
|
|
6
6
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export declare const
|
|
7
|
+
export declare const MriSendBackIcon: (props?: {
|
|
8
8
|
className?: string;
|
|
9
9
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
export declare const
|
|
10
|
+
export declare const MriReviveIcon: (props?: {
|
|
11
11
|
className?: string;
|
|
12
12
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
-
export declare const
|
|
13
|
+
export declare const MriVerifyIcon: (props?: {
|
|
14
14
|
className?: string;
|
|
15
15
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
-
export declare const
|
|
16
|
+
export declare const MriMoneyIcon: (props?: {
|
|
17
17
|
className?: string;
|
|
18
18
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
-
export declare const
|
|
19
|
+
export declare const MriClothingIcon: (props?: {
|
|
20
20
|
className?: string;
|
|
21
21
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
-
export declare const
|
|
22
|
+
export declare const MriEyeIcon: (props?: {
|
|
23
23
|
className?: string;
|
|
24
24
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
25
|
-
export declare const
|
|
25
|
+
export declare const MriWarnIcon: (props?: {
|
|
26
26
|
className?: string;
|
|
27
27
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
28
|
-
export declare const
|
|
28
|
+
export declare const MriKickIcon: (props?: {
|
|
29
29
|
className?: string;
|
|
30
30
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
31
|
-
export declare const
|
|
31
|
+
export declare const MriBanIcon: (props?: {
|
|
32
32
|
className?: string;
|
|
33
33
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
34
34
|
declare const _default: {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { LucideIcon } from 'lucide-react';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
interface MriPageHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
title: string;
|
|
5
|
+
icon: LucideIcon;
|
|
6
|
+
count?: number;
|
|
7
|
+
countLabel?: string;
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export declare function MriPageHeader({ title, icon: Icon, count, countLabel, children, className, ...props }: MriPageHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import {
|
|
2
|
+
import { MriPageHeader } from './MriPageHeader';
|
|
3
3
|
|
|
4
|
-
declare const meta: Meta<typeof
|
|
4
|
+
declare const meta: Meta<typeof MriPageHeader>;
|
|
5
5
|
export default meta;
|
|
6
|
-
type Story = StoryObj<typeof
|
|
6
|
+
type Story = StoryObj<typeof MriPageHeader>;
|
|
7
7
|
export declare const Default: Story;
|
|
8
8
|
export declare const WithActions: Story;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
3
|
+
declare const MriPopover: React.FC<PopoverPrimitive.PopoverProps>;
|
|
4
|
+
declare const MriPopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
5
|
+
declare const MriPopoverContent: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
+
export { MriPopover, MriPopoverTrigger, MriPopoverContent };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import {
|
|
2
|
+
import { MriPopover } from './MriPopover';
|
|
3
3
|
|
|
4
|
-
declare const meta: Meta<typeof
|
|
4
|
+
declare const meta: Meta<typeof MriPopover>;
|
|
5
5
|
export default meta;
|
|
6
6
|
export declare const Default: StoryObj;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
3
|
+
declare const MriScrollArea: React.ForwardRefExoticComponent<Omit<ScrollAreaPrimitive.ScrollAreaProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
4
|
+
declare const MriScrollBar: React.ForwardRefExoticComponent<Omit<ScrollAreaPrimitive.ScrollAreaScrollbarProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
5
|
+
export { MriScrollArea, MriScrollBar };
|
|
@@ -2,7 +2,7 @@ interface Option {
|
|
|
2
2
|
label: string;
|
|
3
3
|
value: string | number;
|
|
4
4
|
}
|
|
5
|
-
interface
|
|
5
|
+
interface MriSelectSearchProps {
|
|
6
6
|
options: Option[];
|
|
7
7
|
value: string | number;
|
|
8
8
|
onChange: (value: string) => void;
|
|
@@ -12,5 +12,5 @@ interface SelectSearchProps {
|
|
|
12
12
|
className?: string;
|
|
13
13
|
disabled?: boolean;
|
|
14
14
|
}
|
|
15
|
-
export declare function
|
|
15
|
+
export declare function MriSelectSearch({ options, value, onChange, placeholder, searchPlaceholder, emptyMessage, className, disabled }: MriSelectSearchProps): import("react/jsx-runtime").JSX.Element;
|
|
16
16
|
export {};
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { ElementType, ReactNode } from 'react';
|
|
2
2
|
|
|
3
|
-
export interface
|
|
3
|
+
export interface MriSidebarItem {
|
|
4
4
|
label: string;
|
|
5
5
|
route?: string;
|
|
6
6
|
icon: ElementType;
|
|
7
7
|
onClick?: () => void;
|
|
8
8
|
divider?: boolean;
|
|
9
9
|
}
|
|
10
|
-
export interface
|
|
11
|
-
items:
|
|
10
|
+
export interface MriSidebarProps {
|
|
11
|
+
items: MriSidebarItem[];
|
|
12
12
|
activeRoute?: string;
|
|
13
13
|
onNavigate?: (route: string) => void;
|
|
14
14
|
collapsed?: boolean;
|
|
@@ -17,4 +17,4 @@ export interface SidebarProps {
|
|
|
17
17
|
children?: ReactNode;
|
|
18
18
|
className?: string;
|
|
19
19
|
}
|
|
20
|
-
export declare function
|
|
20
|
+
export declare function MriSidebar({ items, activeRoute, onNavigate, collapsed, onToggleCollapse, footer, children, className }: MriSidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
declare const MriTable: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableElement> & React.RefAttributes<HTMLTableElement>>;
|
|
3
|
+
declare const MriTableHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
|
|
4
|
+
declare const MriTableBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
|
|
5
|
+
declare const MriTableFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
|
|
6
|
+
declare const MriTableRow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableRowElement> & React.RefAttributes<HTMLTableRowElement>>;
|
|
7
|
+
declare const MriTableHead: React.ForwardRefExoticComponent<React.ThHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
|
|
8
|
+
declare const MriTableCell: React.ForwardRefExoticComponent<React.TdHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
|
|
9
|
+
declare const MriTableCaption: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableCaptionElement> & React.RefAttributes<HTMLTableCaptionElement>>;
|
|
10
|
+
export { MriTable, MriTableHeader, MriTableBody, MriTableFooter, MriTableHead, MriTableRow, MriTableCell, MriTableCaption, };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const MriThemeToggle: ({ themeLabel, themeIconLabel, lightLabel, darkLabel, systemLabel }: {
|
|
2
2
|
themeLabel?: string;
|
|
3
3
|
themeIconLabel?: string;
|
|
4
4
|
lightLabel?: string;
|