asterui 0.10.2
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/LICENSE +15 -0
- package/README.md +214 -0
- package/dist/components/Affix.d.ts +14 -0
- package/dist/components/Alert.d.ts +10 -0
- package/dist/components/Autocomplete.d.ts +18 -0
- package/dist/components/Avatar.d.ts +28 -0
- package/dist/components/Badge.d.ts +20 -0
- package/dist/components/Breadcrumb.d.ts +15 -0
- package/dist/components/Browser.d.ts +7 -0
- package/dist/components/Button.d.ts +23 -0
- package/dist/components/Card.d.ts +26 -0
- package/dist/components/Carousel.d.ts +14 -0
- package/dist/components/Cascader.d.ts +19 -0
- package/dist/components/Chart.d.ts +19 -0
- package/dist/components/Chat.d.ts +11 -0
- package/dist/components/Checkbox.d.ts +27 -0
- package/dist/components/Code.d.ts +14 -0
- package/dist/components/Collapse.d.ts +25 -0
- package/dist/components/ColorPicker.d.ts +10 -0
- package/dist/components/Container.d.ts +6 -0
- package/dist/components/ContextMenu.d.ts +23 -0
- package/dist/components/Countdown.d.ts +27 -0
- package/dist/components/DatePicker.d.ts +11 -0
- package/dist/components/Descriptions.d.ts +34 -0
- package/dist/components/Divider.d.ts +8 -0
- package/dist/components/Drawer.d.ts +10 -0
- package/dist/components/Dropdown.d.ts +39 -0
- package/dist/components/Empty.d.ts +8 -0
- package/dist/components/Fieldset.d.ts +15 -0
- package/dist/components/FileInput.d.ts +9 -0
- package/dist/components/Flex.d.ts +14 -0
- package/dist/components/FloatButton.d.ts +34 -0
- package/dist/components/Footer.d.ts +16 -0
- package/dist/components/Form.d.ts +66 -0
- package/dist/components/Grid.d.ts +26 -0
- package/dist/components/Hero.d.ts +9 -0
- package/dist/components/Image.d.ts +14 -0
- package/dist/components/Indicator.d.ts +7 -0
- package/dist/components/Input.d.ts +14 -0
- package/dist/components/InputNumber.d.ts +19 -0
- package/dist/components/Join.d.ts +6 -0
- package/dist/components/Label.d.ts +15 -0
- package/dist/components/Layout.d.ts +59 -0
- package/dist/components/List.d.ts +13 -0
- package/dist/components/Loading.d.ts +9 -0
- package/dist/components/Masonry.d.ts +15 -0
- package/dist/components/Mention.d.ts +30 -0
- package/dist/components/Menu.d.ts +45 -0
- package/dist/components/Modal.d.ts +42 -0
- package/dist/components/Navbar.d.ts +8 -0
- package/dist/components/Notification.d.ts +43 -0
- package/dist/components/OTPInput.d.ts +32 -0
- package/dist/components/PageLayout.d.ts +9 -0
- package/dist/components/Pagination.d.ts +18 -0
- package/dist/components/Phone.d.ts +8 -0
- package/dist/components/Popconfirm.d.ts +17 -0
- package/dist/components/Popover.d.ts +15 -0
- package/dist/components/Progress.d.ts +5 -0
- package/dist/components/QRCode.d.ts +19 -0
- package/dist/components/RadialProgress.d.ts +10 -0
- package/dist/components/Radio.d.ts +20 -0
- package/dist/components/Range.d.ts +16 -0
- package/dist/components/Rating.d.ts +22 -0
- package/dist/components/Responsive.d.ts +18 -0
- package/dist/components/Result.d.ts +12 -0
- package/dist/components/Select.d.ts +10 -0
- package/dist/components/Skeleton.d.ts +9 -0
- package/dist/components/Space.d.ts +10 -0
- package/dist/components/Splitter.d.ts +27 -0
- package/dist/components/Stack.d.ts +10 -0
- package/dist/components/Stat.d.ts +18 -0
- package/dist/components/Steps.d.ts +16 -0
- package/dist/components/Table.d.ts +51 -0
- package/dist/components/Tabs.d.ts +21 -0
- package/dist/components/Tag.d.ts +18 -0
- package/dist/components/Textarea.d.ts +9 -0
- package/dist/components/ThemeController.d.ts +20 -0
- package/dist/components/TimePicker.d.ts +12 -0
- package/dist/components/Timeline.d.ts +24 -0
- package/dist/components/Toggle.d.ts +7 -0
- package/dist/components/Tooltip.d.ts +9 -0
- package/dist/components/Transfer.d.ts +22 -0
- package/dist/components/Tree.d.ts +40 -0
- package/dist/components/TreeSelect.d.ts +20 -0
- package/dist/components/Typography.d.ts +53 -0
- package/dist/components/Upload.d.ts +38 -0
- package/dist/components/Window.d.ts +7 -0
- package/dist/hooks/useBreakpoint.d.ts +10 -0
- package/dist/index.d.ts +172 -0
- package/dist/index.js +182 -0
- package/dist/index.js.map +1 -0
- package/dist/index10.js +33 -0
- package/dist/index10.js.map +1 -0
- package/dist/index100.js +24 -0
- package/dist/index100.js.map +1 -0
- package/dist/index101.js +27 -0
- package/dist/index101.js.map +1 -0
- package/dist/index102.js +23 -0
- package/dist/index102.js.map +1 -0
- package/dist/index103.js +103 -0
- package/dist/index103.js.map +1 -0
- package/dist/index104.js +363 -0
- package/dist/index104.js.map +1 -0
- package/dist/index105.js +28 -0
- package/dist/index105.js.map +1 -0
- package/dist/index106.js +76 -0
- package/dist/index106.js.map +1 -0
- package/dist/index107.js +19 -0
- package/dist/index107.js.map +1 -0
- package/dist/index108.js +69 -0
- package/dist/index108.js.map +1 -0
- package/dist/index109.js +147 -0
- package/dist/index109.js.map +1 -0
- package/dist/index11.js +268 -0
- package/dist/index11.js.map +1 -0
- package/dist/index110.js +5 -0
- package/dist/index110.js.map +1 -0
- package/dist/index111.js +59 -0
- package/dist/index111.js.map +1 -0
- package/dist/index112.js +5 -0
- package/dist/index112.js.map +1 -0
- package/dist/index113.js +5 -0
- package/dist/index113.js.map +1 -0
- package/dist/index114.js +5 -0
- package/dist/index114.js.map +1 -0
- package/dist/index115.js +5 -0
- package/dist/index115.js.map +1 -0
- package/dist/index116.js +5 -0
- package/dist/index116.js.map +1 -0
- package/dist/index117.js +5 -0
- package/dist/index117.js.map +1 -0
- package/dist/index118.js +5 -0
- package/dist/index118.js.map +1 -0
- package/dist/index119.js +5 -0
- package/dist/index119.js.map +1 -0
- package/dist/index12.js +98 -0
- package/dist/index12.js.map +1 -0
- package/dist/index120.js +35 -0
- package/dist/index120.js.map +1 -0
- package/dist/index121.js +5 -0
- package/dist/index121.js.map +1 -0
- package/dist/index122.js +11 -0
- package/dist/index122.js.map +1 -0
- package/dist/index123.js +5 -0
- package/dist/index123.js.map +1 -0
- package/dist/index124.js +5 -0
- package/dist/index124.js.map +1 -0
- package/dist/index125.js +24 -0
- package/dist/index125.js.map +1 -0
- package/dist/index126.js +5 -0
- package/dist/index126.js.map +1 -0
- package/dist/index127.js +27 -0
- package/dist/index127.js.map +1 -0
- package/dist/index128.js +74 -0
- package/dist/index128.js.map +1 -0
- package/dist/index129.js +24 -0
- package/dist/index129.js.map +1 -0
- package/dist/index13.js +161 -0
- package/dist/index13.js.map +1 -0
- package/dist/index130.js +37 -0
- package/dist/index130.js.map +1 -0
- package/dist/index131.js +73 -0
- package/dist/index131.js.map +1 -0
- package/dist/index132.js +5 -0
- package/dist/index132.js.map +1 -0
- package/dist/index133.js +25 -0
- package/dist/index133.js.map +1 -0
- package/dist/index134.js +5 -0
- package/dist/index134.js.map +1 -0
- package/dist/index135.js +5 -0
- package/dist/index135.js.map +1 -0
- package/dist/index136.js +5 -0
- package/dist/index136.js.map +1 -0
- package/dist/index137.js +5 -0
- package/dist/index137.js.map +1 -0
- package/dist/index138.js +7 -0
- package/dist/index138.js.map +1 -0
- package/dist/index14.js +153 -0
- package/dist/index14.js.map +1 -0
- package/dist/index15.js +8 -0
- package/dist/index15.js.map +1 -0
- package/dist/index16.js +74 -0
- package/dist/index16.js.map +1 -0
- package/dist/index17.js +20 -0
- package/dist/index17.js.map +1 -0
- package/dist/index18.js +101 -0
- package/dist/index18.js.map +1 -0
- package/dist/index19.js +117 -0
- package/dist/index19.js.map +1 -0
- package/dist/index2.js +50 -0
- package/dist/index2.js.map +1 -0
- package/dist/index20.js +187 -0
- package/dist/index20.js.map +1 -0
- package/dist/index21.js +113 -0
- package/dist/index21.js.map +1 -0
- package/dist/index22.js +35 -0
- package/dist/index22.js.map +1 -0
- package/dist/index23.js +44 -0
- package/dist/index23.js.map +1 -0
- package/dist/index24.js +15 -0
- package/dist/index24.js.map +1 -0
- package/dist/index25.js +36 -0
- package/dist/index25.js.map +1 -0
- package/dist/index26.js +66 -0
- package/dist/index26.js.map +1 -0
- package/dist/index27.js +83 -0
- package/dist/index27.js.map +1 -0
- package/dist/index28.js +21 -0
- package/dist/index28.js.map +1 -0
- package/dist/index29.js +164 -0
- package/dist/index29.js.map +1 -0
- package/dist/index3.js +31 -0
- package/dist/index3.js.map +1 -0
- package/dist/index30.js +1085 -0
- package/dist/index30.js.map +1 -0
- package/dist/index31.js +21 -0
- package/dist/index31.js.map +1 -0
- package/dist/index32.js +125 -0
- package/dist/index32.js.map +1 -0
- package/dist/index33.js +43 -0
- package/dist/index33.js.map +1 -0
- package/dist/index34.js +194 -0
- package/dist/index34.js.map +1 -0
- package/dist/index35.js +100 -0
- package/dist/index35.js.map +1 -0
- package/dist/index36.js +165 -0
- package/dist/index36.js.map +1 -0
- package/dist/index37.js +149 -0
- package/dist/index37.js.map +1 -0
- package/dist/index38.js +18 -0
- package/dist/index38.js.map +1 -0
- package/dist/index39.js +24 -0
- package/dist/index39.js.map +1 -0
- package/dist/index4.js +104 -0
- package/dist/index4.js.map +1 -0
- package/dist/index40.js +122 -0
- package/dist/index40.js.map +1 -0
- package/dist/index41.js +16 -0
- package/dist/index41.js.map +1 -0
- package/dist/index42.js +38 -0
- package/dist/index42.js.map +1 -0
- package/dist/index43.js +119 -0
- package/dist/index43.js.map +1 -0
- package/dist/index44.js +179 -0
- package/dist/index44.js.map +1 -0
- package/dist/index45.js +150 -0
- package/dist/index45.js.map +1 -0
- package/dist/index46.js +15 -0
- package/dist/index46.js.map +1 -0
- package/dist/index47.js +25 -0
- package/dist/index47.js.map +1 -0
- package/dist/index48.js +17 -0
- package/dist/index48.js.map +1 -0
- package/dist/index49.js +10 -0
- package/dist/index49.js.map +1 -0
- package/dist/index5.js +64 -0
- package/dist/index5.js.map +1 -0
- package/dist/index50.js +269 -0
- package/dist/index50.js.map +1 -0
- package/dist/index51.js +20 -0
- package/dist/index51.js.map +1 -0
- package/dist/index52.js +125 -0
- package/dist/index52.js.map +1 -0
- package/dist/index53.js +113 -0
- package/dist/index53.js.map +1 -0
- package/dist/index54.js +173 -0
- package/dist/index54.js.map +1 -0
- package/dist/index55.js +35 -0
- package/dist/index55.js.map +1 -0
- package/dist/index56.js +125 -0
- package/dist/index56.js.map +1 -0
- package/dist/index57.js +89 -0
- package/dist/index57.js.map +1 -0
- package/dist/index58.js +23 -0
- package/dist/index58.js.map +1 -0
- package/dist/index59.js +77 -0
- package/dist/index59.js.map +1 -0
- package/dist/index6.js +133 -0
- package/dist/index6.js.map +1 -0
- package/dist/index60.js +60 -0
- package/dist/index60.js.map +1 -0
- package/dist/index61.js +48 -0
- package/dist/index61.js.map +1 -0
- package/dist/index62.js +55 -0
- package/dist/index62.js.map +1 -0
- package/dist/index63.js +65 -0
- package/dist/index63.js.map +1 -0
- package/dist/index64.js +110 -0
- package/dist/index64.js.map +1 -0
- package/dist/index65.js +44 -0
- package/dist/index65.js.map +1 -0
- package/dist/index66.js +24 -0
- package/dist/index66.js.map +1 -0
- package/dist/index67.js +49 -0
- package/dist/index67.js.map +1 -0
- package/dist/index68.js +137 -0
- package/dist/index68.js.map +1 -0
- package/dist/index69.js +55 -0
- package/dist/index69.js.map +1 -0
- package/dist/index7.js +14 -0
- package/dist/index7.js.map +1 -0
- package/dist/index70.js +25 -0
- package/dist/index70.js.map +1 -0
- package/dist/index71.js +25 -0
- package/dist/index71.js.map +1 -0
- package/dist/index72.js +332 -0
- package/dist/index72.js.map +1 -0
- package/dist/index73.js +59 -0
- package/dist/index73.js.map +1 -0
- package/dist/index74.js +43 -0
- package/dist/index74.js.map +1 -0
- package/dist/index75.js +98 -0
- package/dist/index75.js.map +1 -0
- package/dist/index76.js +133 -0
- package/dist/index76.js.map +1 -0
- package/dist/index77.js +164 -0
- package/dist/index77.js.map +1 -0
- package/dist/index78.js +68 -0
- package/dist/index78.js.map +1 -0
- package/dist/index79.js +38 -0
- package/dist/index79.js.map +1 -0
- package/dist/index8.js +73 -0
- package/dist/index8.js.map +1 -0
- package/dist/index80.js +37 -0
- package/dist/index80.js.map +1 -0
- package/dist/index81.js +213 -0
- package/dist/index81.js.map +1 -0
- package/dist/index82.js +216 -0
- package/dist/index82.js.map +1 -0
- package/dist/index83.js +298 -0
- package/dist/index83.js.map +1 -0
- package/dist/index84.js +181 -0
- package/dist/index84.js.map +1 -0
- package/dist/index85.js +261 -0
- package/dist/index85.js.map +1 -0
- package/dist/index86.js +17 -0
- package/dist/index86.js.map +1 -0
- package/dist/index87.js +36 -0
- package/dist/index87.js.map +1 -0
- package/dist/index88.js +10796 -0
- package/dist/index88.js.map +1 -0
- package/dist/index89.js +8 -0
- package/dist/index89.js.map +1 -0
- package/dist/index9.js +95 -0
- package/dist/index9.js.map +1 -0
- package/dist/index90.js +45 -0
- package/dist/index90.js.map +1 -0
- package/dist/index91.js +5 -0
- package/dist/index91.js.map +1 -0
- package/dist/index92.js +10 -0
- package/dist/index92.js.map +1 -0
- package/dist/index93.js +155 -0
- package/dist/index93.js.map +1 -0
- package/dist/index94.js +33 -0
- package/dist/index94.js.map +1 -0
- package/dist/index95.js +33 -0
- package/dist/index95.js.map +1 -0
- package/dist/index96.js +5 -0
- package/dist/index96.js.map +1 -0
- package/dist/index97.js +75 -0
- package/dist/index97.js.map +1 -0
- package/dist/index98.js +42 -0
- package/dist/index98.js.map +1 -0
- package/dist/index99.js +29 -0
- package/dist/index99.js.map +1 -0
- package/package.json +71 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
ISC License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025
|
|
4
|
+
|
|
5
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
7
|
+
copyright notice and this permission notice appear in all copies.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
10
|
+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
11
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
12
|
+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
13
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
14
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
15
|
+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
# BloomUI
|
|
2
|
+
|
|
3
|
+
A comprehensive React component library built with [DaisyUI](https://daisyui.com) and [Tailwind CSS](https://tailwindcss.com).
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
BloomUI requires Tailwind CSS v4 and DaisyUI v5 to be configured in your project.
|
|
8
|
+
|
|
9
|
+
Install Tailwind and DaisyUI:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install -D tailwindcss @tailwindcss/vite daisyui
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Add the Tailwind plugin to your `vite.config.ts`:
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import { defineConfig } from 'vite'
|
|
19
|
+
import react from '@vitejs/plugin-react'
|
|
20
|
+
import tailwindcss from '@tailwindcss/vite'
|
|
21
|
+
|
|
22
|
+
export default defineConfig({
|
|
23
|
+
plugins: [react(), tailwindcss()],
|
|
24
|
+
})
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Configure your CSS file (e.g., `src/index.css`):
|
|
28
|
+
|
|
29
|
+
```css
|
|
30
|
+
@import "tailwindcss";
|
|
31
|
+
@plugin "daisyui";
|
|
32
|
+
@source "../node_modules/@edadma/bloomui";
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
The `@source` directive tells Tailwind to scan the BloomUI package for classes to include in your build.
|
|
36
|
+
|
|
37
|
+
## Installation
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm install bloomui
|
|
41
|
+
# or
|
|
42
|
+
pnpm add bloomui
|
|
43
|
+
# or
|
|
44
|
+
yarn add bloomui
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Usage
|
|
48
|
+
|
|
49
|
+
```tsx
|
|
50
|
+
import { Form, Input, Checkbox, Button, Modal, Card, Space, Flex, Typography } from '@edadma/bloomui'
|
|
51
|
+
|
|
52
|
+
const { Link, Paragraph } = Typography
|
|
53
|
+
|
|
54
|
+
export default function App() {
|
|
55
|
+
const handleSubmit = (values: { email: string; password: string; remember: boolean }) => {
|
|
56
|
+
Modal.success({
|
|
57
|
+
title: 'Login Successful',
|
|
58
|
+
content: <pre className="text-left">{JSON.stringify(values, null, 2)}</pre>,
|
|
59
|
+
})
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return (
|
|
63
|
+
<Flex justify="center" align="center" minHeight="screen" className="bg-base-200 p-4">
|
|
64
|
+
<Card title="Sign In" className="w-full max-w-md">
|
|
65
|
+
<Form onFinish={handleSubmit} initialValues={{ remember: false }}>
|
|
66
|
+
<Form.Item name="email" label="Email" rules={[{ required: true }, { type: 'email' }]}>
|
|
67
|
+
<Input placeholder="you@example.com" />
|
|
68
|
+
</Form.Item>
|
|
69
|
+
<Form.Item
|
|
70
|
+
name="password"
|
|
71
|
+
label="Password"
|
|
72
|
+
rules={[
|
|
73
|
+
{ required: true },
|
|
74
|
+
{ min: 8, message: 'Password must be at least 8 characters' },
|
|
75
|
+
{ pattern: /[A-Z]/, message: 'Must contain an uppercase letter' },
|
|
76
|
+
{ pattern: /[a-z]/, message: 'Must contain a lowercase letter' },
|
|
77
|
+
{ pattern: /[0-9]/, message: 'Must contain a number' },
|
|
78
|
+
{ pattern: /[!@#$%^&*.?]/, message: 'Must contain a special character' },
|
|
79
|
+
]}
|
|
80
|
+
>
|
|
81
|
+
<Input type="password" placeholder="Enter your password" />
|
|
82
|
+
</Form.Item>
|
|
83
|
+
<Space justify="between" align="center" className="mb-4">
|
|
84
|
+
<Form.Item name="remember" valuePropName="checked" inline>
|
|
85
|
+
<Checkbox>Remember me</Checkbox>
|
|
86
|
+
</Form.Item>
|
|
87
|
+
<Link size="sm">Forgot password?</Link>
|
|
88
|
+
</Space>
|
|
89
|
+
<Button type="primary" htmlType="submit" shape="block">
|
|
90
|
+
Sign In
|
|
91
|
+
</Button>
|
|
92
|
+
<Divider>or</Divider>
|
|
93
|
+
<Paragraph align="center" size="sm">
|
|
94
|
+
Don't have an account? <Link>Sign up</Link>
|
|
95
|
+
</Paragraph>
|
|
96
|
+
</Form>
|
|
97
|
+
</Card>
|
|
98
|
+
</Flex>
|
|
99
|
+
)
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Components
|
|
104
|
+
|
|
105
|
+
### General
|
|
106
|
+
- **Typography** - Text, Title, Paragraph, and Link components with consistent styling
|
|
107
|
+
|
|
108
|
+
### Actions
|
|
109
|
+
- **Button** - Buttons with multiple types, sizes, and variants
|
|
110
|
+
- **Dropdown** - Composable dropdown menu with trigger, items, and dividers
|
|
111
|
+
- **FloatButton** - Floating action button with BackTop variant
|
|
112
|
+
- **ThemeController** - Theme switcher with swap and dropdown modes
|
|
113
|
+
|
|
114
|
+
### Data Entry
|
|
115
|
+
- **Autocomplete** - Search and select with keyboard navigation and filtering
|
|
116
|
+
- **Cascader** - Cascade selection for hierarchical data
|
|
117
|
+
- **Checkbox** - Checkboxes with sizes, colors, and indeterminate state
|
|
118
|
+
- **ColorPicker** - Color selection with presets and custom colors
|
|
119
|
+
- **DatePicker** - Interactive calendar date picker with custom formatting
|
|
120
|
+
- **Fieldset** - Fieldset container with legend
|
|
121
|
+
- **FileInput** - File input with sizes and colors
|
|
122
|
+
- **Form** - Form component with React Hook Form integration and validation
|
|
123
|
+
- **Input** - Text inputs with types, sizes, colors, and input masking
|
|
124
|
+
- **InputNumber** - Numeric input with increment/decrement controls
|
|
125
|
+
- **Label** - Form labels with required indicator and floating labels
|
|
126
|
+
- **Mention** - Input with @mention support for tagging users
|
|
127
|
+
- **Radio** - Radio buttons with group support
|
|
128
|
+
- **Range** - Range slider with min, max, and step support
|
|
129
|
+
- **Rating** - Star rating component
|
|
130
|
+
- **Select** - Select dropdown with sizes and colors
|
|
131
|
+
- **Textarea** - Multiline text input
|
|
132
|
+
- **TimePicker** - Time input with hour and minute selection
|
|
133
|
+
- **Toggle** - Toggle switches with sizes and colors
|
|
134
|
+
- **Transfer** - Double-column transfer for moving items between lists
|
|
135
|
+
- **TreeSelect** - Tree selection dropdown for hierarchical data
|
|
136
|
+
- **Upload** - File upload with drag and drop support
|
|
137
|
+
|
|
138
|
+
### Data Display
|
|
139
|
+
- **Avatar** - User avatars with sizes, shapes, and group support
|
|
140
|
+
- **Badge** - Notification badges, status indicators, and ribbons
|
|
141
|
+
- **Card** - Composable card component with body, title, actions, and figure
|
|
142
|
+
- **Carousel** - Image carousel with navigation and indicators
|
|
143
|
+
- **Chart** - Data visualization with ApexCharts and theme integration
|
|
144
|
+
- **Chat** - Chat message bubbles with avatars and timestamps
|
|
145
|
+
- **Collapse** - Collapsible content panels
|
|
146
|
+
- **Descriptions** - Display multiple read-only fields in groups
|
|
147
|
+
- **Empty** - Empty state placeholder with custom images and actions
|
|
148
|
+
- **Image** - Image component with fallback and preview support
|
|
149
|
+
- **List** - Vertical list layout with customizable rows
|
|
150
|
+
- **Pagination** - Page navigation with multiple sizes
|
|
151
|
+
- **QRCode** - QR code generator
|
|
152
|
+
- **Stats** - Statistics display with figures and actions
|
|
153
|
+
- **Steps** - Step progress indicator
|
|
154
|
+
- **Table** - Feature-rich data table with sorting and pagination
|
|
155
|
+
- **Tag** - Categorization labels with colors and close button
|
|
156
|
+
- **Timeline** - Timeline component for displaying chronological events
|
|
157
|
+
- **Tree** - Hierarchical tree view with expand/collapse and selection
|
|
158
|
+
|
|
159
|
+
### Layout
|
|
160
|
+
- **Affix** - Make elements stick to viewport when scrolling
|
|
161
|
+
- **Divider** - Horizontal and vertical dividers with optional text
|
|
162
|
+
- **Drawer** - Sidebar drawer with multiple placements
|
|
163
|
+
- **Footer** - Footer component with title sections
|
|
164
|
+
- **Grid** - Flexible grid system with Row and Col components
|
|
165
|
+
- **Hero** - Hero section with overlay and content wrapping
|
|
166
|
+
- **Indicator** - Position indicators on elements
|
|
167
|
+
- **Join** - Join multiple elements together seamlessly
|
|
168
|
+
- **Layout** - Page layout with Header, Sider, Content, and Footer
|
|
169
|
+
- **Masonry** - Responsive masonry grid layout
|
|
170
|
+
- **Space** - Layout component for consistent spacing between elements
|
|
171
|
+
- **Splitter** - Resizable split panes for adjustable layouts
|
|
172
|
+
|
|
173
|
+
### Responsive
|
|
174
|
+
- **Show/Hide** - Conditionally render content based on breakpoint
|
|
175
|
+
- **useBreakpoint** - Hook for detecting current breakpoint and screen width
|
|
176
|
+
|
|
177
|
+
### Navigation
|
|
178
|
+
- **Breadcrumb** - Breadcrumb navigation trail
|
|
179
|
+
- **Menu** - Menu with vertical, horizontal, and inline modes
|
|
180
|
+
- **Navbar** - Navigation bar with start, center, and end sections
|
|
181
|
+
- **Tabs** - Tab navigation with multiple variants
|
|
182
|
+
|
|
183
|
+
### Feedback
|
|
184
|
+
- **Alert** - Alert messages with multiple types and dismissible option
|
|
185
|
+
- **Loading** - Loading spinners with sizes and overlay support
|
|
186
|
+
- **Modal** - Modal dialogs with imperative API
|
|
187
|
+
- **Notification** - Toast notifications with auto-dismiss and stacking
|
|
188
|
+
- **Popconfirm** - Confirmation popover for actions
|
|
189
|
+
- **Popover** - Floating content triggered by hover or click
|
|
190
|
+
- **Progress** - Progress bars with colors and indeterminate state
|
|
191
|
+
- **RadialProgress** - Circular progress indicator
|
|
192
|
+
- **Result** - Result pages for operation outcomes
|
|
193
|
+
- **Skeleton** - Loading placeholder with animated shimmer effect
|
|
194
|
+
- **Tooltip** - Tooltips with multiple placements
|
|
195
|
+
|
|
196
|
+
### Mockup
|
|
197
|
+
- **Browser** - Browser window mockup with URL bar
|
|
198
|
+
- **Code** - Terminal-style code display with line highlighting
|
|
199
|
+
- **Phone** - iPhone-style phone frame mockup
|
|
200
|
+
- **Window** - OS-style window frame mockup
|
|
201
|
+
|
|
202
|
+
## Demo
|
|
203
|
+
|
|
204
|
+
View live examples and documentation at [https://bloomui.io](https://bloomui.io)
|
|
205
|
+
|
|
206
|
+
## Requirements
|
|
207
|
+
|
|
208
|
+
- React 18 or 19
|
|
209
|
+
- Tailwind CSS 4+
|
|
210
|
+
- DaisyUI 5+
|
|
211
|
+
|
|
212
|
+
## License
|
|
213
|
+
|
|
214
|
+
ISC
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface AffixProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
3
|
+
/** Content to make sticky */
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
/** Offset from top when fixed (pixels) */
|
|
6
|
+
offsetTop?: number;
|
|
7
|
+
/** Offset from bottom when fixed (pixels) */
|
|
8
|
+
offsetBottom?: number;
|
|
9
|
+
/** Scroll target (default: window) */
|
|
10
|
+
target?: () => HTMLElement | Window;
|
|
11
|
+
/** Callback when affix state changes */
|
|
12
|
+
onChange?: (affixed: boolean) => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const Affix: React.FC<AffixProps>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
type?: 'info' | 'success' | 'warning' | 'error';
|
|
5
|
+
outline?: boolean;
|
|
6
|
+
dash?: boolean;
|
|
7
|
+
soft?: boolean;
|
|
8
|
+
vertical?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const Alert: React.FC<AlertProps>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface AutocompleteOption {
|
|
3
|
+
value: string;
|
|
4
|
+
label: string;
|
|
5
|
+
}
|
|
6
|
+
export interface AutocompleteProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
7
|
+
value?: string;
|
|
8
|
+
defaultValue?: string;
|
|
9
|
+
onChange?: (value: string) => void;
|
|
10
|
+
options: AutocompleteOption[] | string[];
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
14
|
+
allowCustomValue?: boolean;
|
|
15
|
+
filterOption?: (option: AutocompleteOption, inputValue: string) => boolean;
|
|
16
|
+
notFoundContent?: React.ReactNode;
|
|
17
|
+
}
|
|
18
|
+
export declare const Autocomplete: React.FC<AutocompleteProps>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
3
|
+
export type AvatarShape = 'circle' | 'square';
|
|
4
|
+
export type AvatarStatus = 'online' | 'offline';
|
|
5
|
+
export interface AvatarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
6
|
+
src?: string;
|
|
7
|
+
alt?: string;
|
|
8
|
+
icon?: React.ReactNode;
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
size?: AvatarSize;
|
|
11
|
+
shape?: AvatarShape;
|
|
12
|
+
status?: AvatarStatus;
|
|
13
|
+
online?: boolean;
|
|
14
|
+
offline?: boolean;
|
|
15
|
+
placeholder?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface AvatarGroupProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
18
|
+
children: React.ReactNode;
|
|
19
|
+
max?: number;
|
|
20
|
+
size?: AvatarSize;
|
|
21
|
+
}
|
|
22
|
+
declare function AvatarRoot({ src, alt, icon, children, size, shape, status, className, style, online, offline, placeholder, ...rest }: AvatarProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
declare function AvatarGroup({ children, max, size, className, style, ...rest }: AvatarGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export declare const Avatar: typeof AvatarRoot & {
|
|
25
|
+
Group: typeof AvatarGroup;
|
|
26
|
+
};
|
|
27
|
+
export { AvatarGroup };
|
|
28
|
+
export default Avatar;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export type BadgePosition = 'top-start' | 'top-center' | 'top-end' | 'middle-start' | 'middle-center' | 'middle-end' | 'bottom-start' | 'bottom-center' | 'bottom-end';
|
|
3
|
+
export type BadgeStatus = 'success' | 'processing' | 'error' | 'default' | 'warning';
|
|
4
|
+
export interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
5
|
+
count?: number;
|
|
6
|
+
showZero?: boolean;
|
|
7
|
+
overflowCount?: number;
|
|
8
|
+
position?: BadgePosition;
|
|
9
|
+
offset?: [number, number];
|
|
10
|
+
status?: BadgeStatus;
|
|
11
|
+
text?: string;
|
|
12
|
+
ribbon?: string;
|
|
13
|
+
ribbonPlacement?: 'start' | 'end';
|
|
14
|
+
type?: 'default' | 'primary' | 'secondary' | 'accent' | 'neutral' | 'info' | 'success' | 'warning' | 'error' | 'ghost';
|
|
15
|
+
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
16
|
+
dot?: boolean;
|
|
17
|
+
outline?: boolean;
|
|
18
|
+
children?: React.ReactNode;
|
|
19
|
+
}
|
|
20
|
+
export declare const Badge: React.FC<BadgeProps>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface BreadcrumbProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
}
|
|
5
|
+
export interface BreadcrumbItemProps extends Omit<React.LiHTMLAttributes<HTMLLIElement>, 'onClick'> {
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
href?: string;
|
|
8
|
+
onClick?: () => void;
|
|
9
|
+
}
|
|
10
|
+
declare function BreadcrumbRoot({ children, className, ...rest }: BreadcrumbProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare function BreadcrumbItem({ children, href, onClick, className, ...rest }: BreadcrumbItemProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare const Breadcrumb: typeof BreadcrumbRoot & {
|
|
13
|
+
Item: typeof BreadcrumbItem;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
type BaseButtonProps = {
|
|
3
|
+
type?: 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error' | 'neutral' | 'ghost' | 'link';
|
|
4
|
+
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
5
|
+
outline?: boolean;
|
|
6
|
+
dash?: boolean;
|
|
7
|
+
soft?: boolean;
|
|
8
|
+
active?: boolean;
|
|
9
|
+
loading?: boolean;
|
|
10
|
+
shape?: 'square' | 'circle' | 'wide' | 'block';
|
|
11
|
+
noAnimation?: boolean;
|
|
12
|
+
};
|
|
13
|
+
type ButtonAsButton = BaseButtonProps & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'type'> & {
|
|
14
|
+
href?: undefined;
|
|
15
|
+
htmlType?: 'button' | 'submit' | 'reset';
|
|
16
|
+
};
|
|
17
|
+
type ButtonAsAnchor = BaseButtonProps & Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'type'> & {
|
|
18
|
+
href: string;
|
|
19
|
+
htmlType?: undefined;
|
|
20
|
+
};
|
|
21
|
+
export type ButtonProps = ButtonAsButton | ButtonAsAnchor;
|
|
22
|
+
export declare const Button: React.FC<ButtonProps>;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface CardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
title?: React.ReactNode;
|
|
5
|
+
cover?: React.ReactNode;
|
|
6
|
+
actions?: React.ReactNode;
|
|
7
|
+
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
8
|
+
bordered?: boolean;
|
|
9
|
+
side?: boolean;
|
|
10
|
+
imageFull?: boolean;
|
|
11
|
+
actionsJustify?: 'start' | 'center' | 'end';
|
|
12
|
+
loading?: boolean;
|
|
13
|
+
hoverable?: boolean;
|
|
14
|
+
avatar?: React.ReactNode;
|
|
15
|
+
description?: React.ReactNode;
|
|
16
|
+
}
|
|
17
|
+
export interface CardGridProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
18
|
+
children: React.ReactNode;
|
|
19
|
+
hoverable?: boolean;
|
|
20
|
+
}
|
|
21
|
+
declare function CardGrid({ children, hoverable, className, style, ...rest }: CardGridProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
declare function CardRoot({ children, title, cover, actions, className, style, size, bordered, side, imageFull, actionsJustify, loading, hoverable, avatar, description, ...rest }: CardProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export declare const Card: typeof CardRoot & {
|
|
24
|
+
Grid: typeof CardGrid;
|
|
25
|
+
};
|
|
26
|
+
export default Card;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface CarouselItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
id?: string;
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
}
|
|
6
|
+
export declare const CarouselItem: React.FC<CarouselItemProps>;
|
|
7
|
+
export interface CarouselProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
snap?: 'start' | 'center' | 'end';
|
|
10
|
+
vertical?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare const Carousel: React.FC<CarouselProps> & {
|
|
13
|
+
Item: typeof CarouselItem;
|
|
14
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface CascaderOption {
|
|
3
|
+
value: string | number;
|
|
4
|
+
label: React.ReactNode;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
children?: CascaderOption[];
|
|
7
|
+
}
|
|
8
|
+
export interface CascaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
9
|
+
options: CascaderOption[];
|
|
10
|
+
value?: (string | number)[];
|
|
11
|
+
onChange?: (value: (string | number)[], selectedOptions: CascaderOption[]) => void;
|
|
12
|
+
placeholder?: string;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
allowClear?: boolean;
|
|
15
|
+
expandTrigger?: 'click' | 'hover';
|
|
16
|
+
displayRender?: (labels: React.ReactNode[], selectedOptions: CascaderOption[]) => React.ReactNode;
|
|
17
|
+
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
18
|
+
}
|
|
19
|
+
export declare function Cascader({ options, value, onChange, placeholder, disabled, allowClear, expandTrigger, displayRender, size, className, ...rest }: CascaderProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ApexOptions } from 'apexcharts';
|
|
3
|
+
export interface ChartProps {
|
|
4
|
+
/** Chart type */
|
|
5
|
+
type: 'line' | 'area' | 'bar' | 'pie' | 'donut' | 'radialBar' | 'scatter' | 'bubble' | 'heatmap' | 'candlestick' | 'boxPlot' | 'radar' | 'polarArea' | 'rangeBar' | 'rangeArea' | 'treemap';
|
|
6
|
+
/** Chart series data */
|
|
7
|
+
series: ApexAxisChartSeries | ApexNonAxisChartSeries;
|
|
8
|
+
/** Chart width */
|
|
9
|
+
width?: string | number;
|
|
10
|
+
/** Chart height */
|
|
11
|
+
height?: string | number;
|
|
12
|
+
/** ApexCharts options (merged with theme defaults) */
|
|
13
|
+
options?: ApexOptions;
|
|
14
|
+
/** Use daisyUI theme colors */
|
|
15
|
+
themed?: boolean;
|
|
16
|
+
/** Additional CSS classes */
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare const Chart: React.FC<ChartProps>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface ChatProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
message: React.ReactNode;
|
|
4
|
+
position?: 'start' | 'end';
|
|
5
|
+
avatar?: string;
|
|
6
|
+
avatarAlt?: string;
|
|
7
|
+
header?: React.ReactNode;
|
|
8
|
+
footer?: React.ReactNode;
|
|
9
|
+
color?: 'primary' | 'secondary' | 'accent' | 'neutral' | 'info' | 'success' | 'warning' | 'error';
|
|
10
|
+
}
|
|
11
|
+
export declare const Chat: React.FC<ChatProps>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
5
|
+
color?: 'primary' | 'secondary' | 'accent' | 'neutral' | 'success' | 'warning' | 'info' | 'error';
|
|
6
|
+
indeterminate?: boolean;
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface CheckboxOptionType {
|
|
10
|
+
label: React.ReactNode;
|
|
11
|
+
value: string | number;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface CheckboxGroupProps {
|
|
15
|
+
children?: React.ReactNode;
|
|
16
|
+
value?: (string | number)[];
|
|
17
|
+
defaultValue?: (string | number)[];
|
|
18
|
+
onChange?: (values: (string | number)[]) => void;
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
options?: (string | number | CheckboxOptionType)[];
|
|
21
|
+
className?: string;
|
|
22
|
+
}
|
|
23
|
+
declare function CheckboxGroup({ children, value, defaultValue, onChange, disabled, options, className }: CheckboxGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>> & {
|
|
25
|
+
Group: typeof CheckboxGroup;
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface CodeLineProps extends React.HTMLAttributes<HTMLPreElement> {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
prefix?: string;
|
|
5
|
+
highlight?: boolean;
|
|
6
|
+
}
|
|
7
|
+
declare const Line: React.FC<CodeLineProps>;
|
|
8
|
+
export interface CodeProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
export declare const Code: React.FC<CodeProps> & {
|
|
12
|
+
Line: typeof Line;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface CollapseProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title' | 'onChange'> {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
title?: React.ReactNode;
|
|
5
|
+
open?: boolean;
|
|
6
|
+
defaultOpen?: boolean;
|
|
7
|
+
onChange?: (open: boolean) => void;
|
|
8
|
+
icon?: 'arrow' | 'plus' | 'none';
|
|
9
|
+
}
|
|
10
|
+
export interface CollapseTitleProps {
|
|
11
|
+
children: React.ReactNode;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface CollapseContentProps {
|
|
15
|
+
children: React.ReactNode;
|
|
16
|
+
className?: string;
|
|
17
|
+
}
|
|
18
|
+
declare function CollapseRoot({ children, title, open, defaultOpen, onChange, icon, className, ...rest }: CollapseProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
declare function CollapseTitle({ children, className }: CollapseTitleProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
declare function CollapseContent({ children, className }: CollapseContentProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare const Collapse: typeof CollapseRoot & {
|
|
22
|
+
Title: typeof CollapseTitle;
|
|
23
|
+
Content: typeof CollapseContent;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface ColorPickerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
3
|
+
value?: string;
|
|
4
|
+
onChange?: (color: string) => void;
|
|
5
|
+
mode?: 'swatches' | 'picker' | 'both';
|
|
6
|
+
presets?: string[];
|
|
7
|
+
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function ColorPicker({ value, onChange, mode, presets, size, disabled, className, ...rest }: ColorPickerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface ContextMenuItem {
|
|
3
|
+
key: string;
|
|
4
|
+
label: React.ReactNode;
|
|
5
|
+
icon?: React.ReactNode;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
danger?: boolean;
|
|
8
|
+
divider?: boolean;
|
|
9
|
+
children?: ContextMenuItem[];
|
|
10
|
+
}
|
|
11
|
+
export interface ContextMenuProps {
|
|
12
|
+
/** Element that triggers the context menu on right-click */
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
/** Menu items */
|
|
15
|
+
items: ContextMenuItem[];
|
|
16
|
+
/** Callback when an item is selected */
|
|
17
|
+
onSelect?: (key: string) => void;
|
|
18
|
+
/** Whether the context menu is disabled */
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
/** Additional CSS classes for the menu */
|
|
21
|
+
className?: string;
|
|
22
|
+
}
|
|
23
|
+
export declare const ContextMenu: React.FC<ContextMenuProps>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface CountdownProps {
|
|
3
|
+
/** Target timestamp in milliseconds or Date object */
|
|
4
|
+
value: number | Date;
|
|
5
|
+
/** Format string: 'D' days, 'H' hours, 'M' minutes, 'S' seconds */
|
|
6
|
+
format?: string;
|
|
7
|
+
/** Callback when countdown reaches zero */
|
|
8
|
+
onFinish?: () => void;
|
|
9
|
+
/** Callback on each tick with remaining time */
|
|
10
|
+
onChange?: (value: number) => void;
|
|
11
|
+
/** Additional CSS classes */
|
|
12
|
+
className?: string;
|
|
13
|
+
/** Size variant */
|
|
14
|
+
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
15
|
+
/** Show labels under each unit */
|
|
16
|
+
showLabels?: boolean;
|
|
17
|
+
/** Custom labels */
|
|
18
|
+
labels?: {
|
|
19
|
+
days?: string;
|
|
20
|
+
hours?: string;
|
|
21
|
+
minutes?: string;
|
|
22
|
+
seconds?: string;
|
|
23
|
+
};
|
|
24
|
+
/** Show box style around each unit */
|
|
25
|
+
boxed?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare const Countdown: React.FC<CountdownProps>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface DatePickerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'> {
|
|
3
|
+
value?: Date | null;
|
|
4
|
+
defaultValue?: Date | null;
|
|
5
|
+
onChange?: (date: Date | null) => void;
|
|
6
|
+
format?: string;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
10
|
+
}
|
|
11
|
+
export declare const DatePicker: React.FC<DatePickerProps>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export type DescriptionsSize = 'small' | 'default' | 'large';
|
|
3
|
+
export type DescriptionsLayout = 'horizontal' | 'vertical';
|
|
4
|
+
export interface DescriptionsItemProps {
|
|
5
|
+
label?: React.ReactNode;
|
|
6
|
+
span?: number;
|
|
7
|
+
children?: React.ReactNode;
|
|
8
|
+
labelStyle?: React.CSSProperties;
|
|
9
|
+
contentStyle?: React.CSSProperties;
|
|
10
|
+
}
|
|
11
|
+
export interface DescriptionsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
12
|
+
title?: React.ReactNode;
|
|
13
|
+
bordered?: boolean;
|
|
14
|
+
column?: number | {
|
|
15
|
+
xs?: number;
|
|
16
|
+
sm?: number;
|
|
17
|
+
md?: number;
|
|
18
|
+
lg?: number;
|
|
19
|
+
xl?: number;
|
|
20
|
+
'2xl'?: number;
|
|
21
|
+
};
|
|
22
|
+
size?: DescriptionsSize;
|
|
23
|
+
layout?: DescriptionsLayout;
|
|
24
|
+
colon?: boolean;
|
|
25
|
+
labelStyle?: React.CSSProperties;
|
|
26
|
+
contentStyle?: React.CSSProperties;
|
|
27
|
+
children?: React.ReactNode;
|
|
28
|
+
}
|
|
29
|
+
declare function DescriptionsItem(_props: DescriptionsItemProps): null;
|
|
30
|
+
declare function DescriptionsRoot({ title, bordered, column, size, layout, colon, labelStyle, contentStyle, className, style, children, ...rest }: DescriptionsProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export declare const Descriptions: typeof DescriptionsRoot & {
|
|
32
|
+
Item: typeof DescriptionsItem;
|
|
33
|
+
};
|
|
34
|
+
export default Descriptions;
|