@waveso/ui 0.0.2 → 0.0.4
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 +21 -0
- package/README.md +72 -52
- package/dist/accordion.d.ts +14 -0
- package/dist/accordion.js +81 -0
- package/dist/accordion.js.map +1 -0
- package/dist/alert.d.ts +8 -4
- package/dist/alert.js.map +1 -1
- package/dist/aspect-ratio.d.ts +10 -0
- package/dist/aspect-ratio.js +18 -0
- package/dist/aspect-ratio.js.map +1 -0
- package/dist/autocomplete.d.ts +48 -0
- package/dist/autocomplete.js +222 -0
- package/dist/autocomplete.js.map +1 -0
- package/dist/avatar.d.ts +13 -7
- package/dist/avatar.js.map +1 -1
- package/dist/badge.d.ts +3 -2
- package/dist/badge.js +1 -1
- package/dist/badge.js.map +1 -1
- package/dist/breadcrumb.d.ts +20 -0
- package/dist/breadcrumb.js +123 -0
- package/dist/breadcrumb.js.map +1 -0
- package/dist/button-group.d.ts +19 -0
- package/dist/button-group.js +81 -0
- package/dist/button-group.js.map +1 -0
- package/dist/card.d.ts +15 -8
- package/dist/card.js.map +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/chunk-45VQAWIM.js +228 -0
- package/dist/chunk-45VQAWIM.js.map +1 -0
- package/dist/chunk-6Y7LPQMO.js +11 -0
- package/dist/chunk-6Y7LPQMO.js.map +1 -0
- package/dist/chunk-7F4MPMLJ.js +17 -0
- package/dist/chunk-7F4MPMLJ.js.map +1 -0
- package/dist/chunk-7OIQ6YBK.js +66 -0
- package/dist/chunk-7OIQ6YBK.js.map +1 -0
- package/dist/chunk-D5XPEJ6T.js +36 -0
- package/dist/chunk-D5XPEJ6T.js.map +1 -0
- package/dist/chunk-DIGOLJIR.js +105 -0
- package/dist/chunk-DIGOLJIR.js.map +1 -0
- package/dist/chunk-IQ7YQ5XA.js +141 -0
- package/dist/chunk-IQ7YQ5XA.js.map +1 -0
- package/dist/chunk-NCHHHWTB.js +85 -0
- package/dist/chunk-NCHHHWTB.js.map +1 -0
- package/dist/chunk-PVX4VQFJ.js +143 -0
- package/dist/chunk-PVX4VQFJ.js.map +1 -0
- package/dist/chunk-QFSEK4M6.js +22 -0
- package/dist/chunk-QFSEK4M6.js.map +1 -0
- package/dist/chunk-QRW37LRP.js +25 -0
- package/dist/chunk-QRW37LRP.js.map +1 -0
- package/dist/chunk-RPQHL6C5.js +26 -0
- package/dist/chunk-RPQHL6C5.js.map +1 -0
- package/dist/chunk-YTSQQTSF.js +44 -0
- package/dist/chunk-YTSQQTSF.js.map +1 -0
- package/dist/chunk-ZZZH3JGW.js +23 -0
- package/dist/chunk-ZZZH3JGW.js.map +1 -0
- package/dist/collapsible.d.ts +12 -0
- package/dist/collapsible.js +16 -0
- package/dist/collapsible.js.map +1 -0
- package/dist/combobox.d.ts +48 -0
- package/dist/combobox.js +281 -0
- package/dist/combobox.js.map +1 -0
- package/dist/context-menu.d.ts +47 -0
- package/dist/context-menu.js +193 -0
- package/dist/context-menu.js.map +1 -0
- package/dist/dialog.js +1 -1
- package/dist/direction.d.ts +1 -0
- package/dist/direction.js +3 -0
- package/dist/direction.js.map +1 -0
- package/dist/drawer.d.ts +29 -0
- package/dist/drawer.js +6 -0
- package/dist/drawer.js.map +1 -0
- package/dist/encrypted-text.d.ts +16 -0
- package/dist/encrypted-text.js +141 -0
- package/dist/encrypted-text.js.map +1 -0
- package/dist/field.d.ts +22 -0
- package/dist/field.js +4 -0
- package/dist/field.js.map +1 -0
- package/dist/form.d.ts +80 -0
- package/dist/form.js +108 -0
- package/dist/form.js.map +1 -0
- package/dist/hooks/use-mobile.d.ts +6 -1
- package/dist/hooks/use-mobile.js +1 -18
- package/dist/hooks/use-mobile.js.map +1 -1
- package/dist/infinite-scroll.d.ts +19 -0
- package/dist/infinite-scroll.js +102 -0
- package/dist/infinite-scroll.js.map +1 -0
- package/dist/input-group.d.ts +29 -0
- package/dist/input-group.js +7 -0
- package/dist/input-group.js.map +1 -0
- package/dist/input-otp.d.ts +18 -0
- package/dist/input-otp.js +79 -0
- package/dist/input-otp.js.map +1 -0
- package/dist/input.d.ts +2 -1
- package/dist/input.js +2 -20
- package/dist/input.js.map +1 -1
- package/dist/item.d.ts +37 -0
- package/dist/item.js +181 -0
- package/dist/item.js.map +1 -0
- package/dist/kbd.d.ts +8 -0
- package/dist/kbd.js +30 -0
- package/dist/kbd.js.map +1 -0
- package/dist/label.d.ts +2 -1
- package/dist/label.js.map +1 -1
- package/dist/masonry.d.ts +17 -0
- package/dist/masonry.js +235 -0
- package/dist/masonry.js.map +1 -0
- package/dist/menu.d.ts +47 -0
- package/dist/menu.js +5 -0
- package/dist/menu.js.map +1 -0
- package/dist/menubar.d.ts +40 -0
- package/dist/menubar.js +84 -0
- package/dist/menubar.js.map +1 -0
- package/dist/pagination.d.ts +29 -0
- package/dist/pagination.js +120 -0
- package/dist/pagination.js.map +1 -0
- package/dist/popover.d.ts +24 -0
- package/dist/popover.js +105 -0
- package/dist/popover.js.map +1 -0
- package/dist/preview-card.d.ts +17 -0
- package/dist/preview-card.js +70 -0
- package/dist/preview-card.js.map +1 -0
- package/dist/radio-group.d.ts +12 -0
- package/dist/radio-group.js +28 -0
- package/dist/radio-group.js.map +1 -0
- package/dist/radio.d.ts +10 -0
- package/dist/radio.js +4 -0
- package/dist/radio.js.map +1 -0
- package/dist/scroll-area.d.ts +10 -0
- package/dist/scroll-area.js +59 -0
- package/dist/scroll-area.js.map +1 -0
- package/dist/select.d.ts +36 -0
- package/dist/select.js +208 -0
- package/dist/select.js.map +1 -0
- package/dist/separator.js +2 -24
- package/dist/separator.js.map +1 -1
- package/dist/sidebar.d.ts +112 -0
- package/dist/sidebar.js +619 -0
- package/dist/sidebar.js.map +1 -0
- package/dist/skeleton.d.ts +2 -1
- package/dist/skeleton.js +2 -15
- package/dist/skeleton.js.map +1 -1
- package/dist/slider.d.ts +10 -0
- package/dist/slider.js +70 -0
- package/dist/slider.js.map +1 -0
- package/dist/spinner.d.ts +2 -1
- package/dist/spinner.js +3 -9
- package/dist/spinner.js.map +1 -1
- package/dist/styles.css +196 -0
- package/dist/table.d.ts +21 -0
- package/dist/table.js +106 -0
- package/dist/table.js.map +1 -0
- package/dist/tabs.d.ts +20 -0
- package/dist/tabs.js +82 -0
- package/dist/tabs.js.map +1 -0
- package/dist/textarea.js +2 -23
- package/dist/textarea.js.map +1 -1
- package/dist/toast.d.ts +57 -0
- package/dist/toast.js +239 -0
- package/dist/toast.js.map +1 -0
- package/dist/toggle-group.d.ts +17 -0
- package/dist/toggle-group.js +78 -0
- package/dist/toggle-group.js.map +1 -0
- package/dist/toggle.d.ts +14 -0
- package/dist/toggle.js +4 -0
- package/dist/toggle.js.map +1 -0
- package/dist/tooltip.d.ts +21 -0
- package/dist/tooltip.js +4 -0
- package/dist/tooltip.js.map +1 -0
- package/package.json +10 -3
- package/dist/chunk-L3UIJEIQ.js +0 -41
- package/dist/chunk-L3UIJEIQ.js.map +0 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Wave
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @waveso/ui
|
|
2
2
|
|
|
3
|
-
A
|
|
3
|
+
A component library built on [Base UI](https://base-ui.com) primitives and [Tailwind CSS v4](https://tailwindcss.com).
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
@@ -8,48 +8,70 @@ A React component library built on [Base UI](https://base-ui.com) primitives and
|
|
|
8
8
|
npm install @waveso/ui @base-ui/react class-variance-authority clsx tailwind-merge
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
+
## Setup
|
|
12
|
+
|
|
13
|
+
Add the theme preset and source directive to your CSS entry point:
|
|
14
|
+
|
|
15
|
+
```css
|
|
16
|
+
@import "@waveso/ui/styles.css";
|
|
17
|
+
@import "tailwindcss";
|
|
18
|
+
@source "../../node_modules/@waveso/ui/dist";
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
The preset provides all CSS variables (colors, radii, sidebar tokens) with light and dark mode support. Override any variable in your own `:root` / `.dark` blocks to customize the theme.
|
|
22
|
+
|
|
11
23
|
## Usage
|
|
12
24
|
|
|
13
25
|
Import components by name — each is a separate entry point for optimal tree-shaking:
|
|
14
26
|
|
|
15
27
|
```tsx
|
|
16
28
|
import { Button } from '@waveso/ui/button';
|
|
29
|
+
import { Masonry, MasonryItem, MasonrySpannedItem } from '@waveso/ui/masonry';
|
|
17
30
|
import { Card, CardHeader, CardTitle, CardContent } from '@waveso/ui/card';
|
|
18
|
-
import { Input } from '@waveso/ui/input';
|
|
19
31
|
```
|
|
20
32
|
|
|
21
|
-
###
|
|
33
|
+
### Button
|
|
22
34
|
|
|
23
|
-
|
|
35
|
+
8 variants, 8 sizes, built on Base UI's `Button` primitive with full keyboard and ARIA support.
|
|
24
36
|
|
|
25
|
-
```
|
|
26
|
-
|
|
37
|
+
```tsx
|
|
38
|
+
import { Button } from '@waveso/ui/button';
|
|
27
39
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
--input: oklch(0.922 0 0);
|
|
37
|
-
--ring: oklch(0.708 0 0);
|
|
38
|
-
--destructive: oklch(0.58 0.22 27);
|
|
39
|
-
--radius: 0.875rem;
|
|
40
|
-
/* ... see full token list below */
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
@theme inline {
|
|
44
|
-
--color-background: var(--background);
|
|
45
|
-
--color-foreground: var(--foreground);
|
|
46
|
-
--color-primary: var(--primary);
|
|
47
|
-
--color-primary-foreground: var(--primary-foreground);
|
|
48
|
-
/* ... map all tokens to Tailwind v4 */
|
|
49
|
-
}
|
|
40
|
+
<Button>Default</Button>
|
|
41
|
+
<Button variant="solid">Solid</Button>
|
|
42
|
+
<Button variant="outline">Outline</Button>
|
|
43
|
+
<Button variant="ghost">Ghost</Button>
|
|
44
|
+
<Button variant="destructive">Delete</Button>
|
|
45
|
+
<Button variant="success">Confirm</Button>
|
|
46
|
+
<Button size="xs">Tiny</Button>
|
|
47
|
+
<Button size="icon"><SearchIcon /></Button>
|
|
50
48
|
```
|
|
51
49
|
|
|
52
|
-
|
|
50
|
+
### Masonry
|
|
51
|
+
|
|
52
|
+
Responsive masonry grid with staggered animations, spanning items, and automatic reflow.
|
|
53
|
+
|
|
54
|
+
```tsx
|
|
55
|
+
import { Masonry, MasonryItem, MasonrySpannedItem } from '@waveso/ui/masonry';
|
|
56
|
+
|
|
57
|
+
<Masonry columns={3} gap={16}>
|
|
58
|
+
<MasonryItem>
|
|
59
|
+
<Card>
|
|
60
|
+
<CardContent>Standard item</CardContent>
|
|
61
|
+
</Card>
|
|
62
|
+
</MasonryItem>
|
|
63
|
+
<MasonrySpannedItem>
|
|
64
|
+
<Card>
|
|
65
|
+
<CardContent>This spans two columns</CardContent>
|
|
66
|
+
</Card>
|
|
67
|
+
</MasonrySpannedItem>
|
|
68
|
+
<MasonryItem>
|
|
69
|
+
<Card>
|
|
70
|
+
<CardContent>Another item</CardContent>
|
|
71
|
+
</Card>
|
|
72
|
+
</MasonryItem>
|
|
73
|
+
</Masonry>
|
|
74
|
+
```
|
|
53
75
|
|
|
54
76
|
## Components
|
|
55
77
|
|
|
@@ -59,7 +81,7 @@ See [`.storybook/storybook.css`](.storybook/storybook.css) for the complete toke
|
|
|
59
81
|
|---|---|
|
|
60
82
|
| **Actions** | Button, Button Group, Toggle, Toggle Group |
|
|
61
83
|
| **Forms** | Input, Textarea, Checkbox, Switch, Radio, Radio Group, Select, Combobox, Autocomplete, Slider, Calendar, Input OTP, Field, Form, Label, Input Group |
|
|
62
|
-
| **Layout** | Card, Separator, Aspect Ratio, Scroll Area, Collapsible, Accordion, Tabs, Sidebar |
|
|
84
|
+
| **Layout** | Card, Masonry, Separator, Aspect Ratio, Scroll Area, Collapsible, Accordion, Tabs, Sidebar |
|
|
63
85
|
| **Navigation** | Breadcrumb, Navigation Menu, Pagination, Menubar |
|
|
64
86
|
| **Overlays** | Dialog, Alert Dialog, Sheet, Popover, Tooltip, Preview Card, Context Menu, Menu |
|
|
65
87
|
| **Feedback** | Alert, Badge, Progress, Skeleton, Spinner, Toaster, Empty |
|
|
@@ -92,20 +114,11 @@ Install only what you use.
|
|
|
92
114
|
## Development
|
|
93
115
|
|
|
94
116
|
```bash
|
|
95
|
-
# Install dependencies
|
|
96
117
|
npm install
|
|
97
|
-
|
|
98
|
-
#
|
|
99
|
-
npm run
|
|
100
|
-
|
|
101
|
-
# Build the library
|
|
102
|
-
npm run build
|
|
103
|
-
|
|
104
|
-
# Type-check
|
|
105
|
-
npm run typecheck
|
|
106
|
-
|
|
107
|
-
# Watch mode (rebuild on changes)
|
|
108
|
-
npm run dev
|
|
118
|
+
npm run storybook # Start Storybook
|
|
119
|
+
npm run build # Build the library
|
|
120
|
+
npm run typecheck # Type-check
|
|
121
|
+
npm run dev # Watch mode
|
|
109
122
|
```
|
|
110
123
|
|
|
111
124
|
### Project structure
|
|
@@ -116,26 +129,33 @@ npm run dev
|
|
|
116
129
|
src/
|
|
117
130
|
*.tsx # Component source files
|
|
118
131
|
*.stories.tsx # Storybook stories
|
|
132
|
+
styles.css # Theme preset (CSS variables + Tailwind mapping)
|
|
119
133
|
hooks/ # Custom hooks
|
|
120
134
|
lib/ # Utilities (cn, internal icons)
|
|
121
135
|
```
|
|
122
136
|
|
|
123
137
|
## Releasing
|
|
124
138
|
|
|
125
|
-
This project uses [Changesets](https://github.com/changesets/changesets)
|
|
139
|
+
This project uses [Changesets](https://github.com/changesets/changesets) with GitHub Actions.
|
|
126
140
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
141
|
+
1. Run `npx changeset` to describe your changes (patch, minor, or major)
|
|
142
|
+
2. Commit the generated changeset file with your PR
|
|
143
|
+
3. When merged to `main`, CI automatically versions and publishes to npm
|
|
130
144
|
|
|
131
|
-
|
|
132
|
-
|
|
145
|
+
<details>
|
|
146
|
+
<summary>Manual release (without CI)</summary>
|
|
133
147
|
|
|
134
|
-
|
|
135
|
-
npm
|
|
148
|
+
If you're not using the GitHub Actions workflow, you can publish manually.
|
|
149
|
+
Changesets will skip versions already published to npm, so this won't
|
|
150
|
+
conflict if CI has already run.
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
npx changeset # Create a changeset
|
|
154
|
+
npx changeset version # Apply version bump
|
|
155
|
+
npm run release # Build and publish to npm
|
|
136
156
|
```
|
|
137
157
|
|
|
138
|
-
|
|
158
|
+
</details>
|
|
139
159
|
|
|
140
160
|
## License
|
|
141
161
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Accordion as Accordion$1 } from '@base-ui/react/accordion';
|
|
4
|
+
|
|
5
|
+
type AccordionProps = React.ComponentProps<typeof Accordion$1.Root>;
|
|
6
|
+
type AccordionItemProps = React.ComponentProps<typeof Accordion$1.Item>;
|
|
7
|
+
type AccordionTriggerProps = React.ComponentProps<typeof Accordion$1.Trigger>;
|
|
8
|
+
type AccordionContentProps = React.ComponentProps<typeof Accordion$1.Panel>;
|
|
9
|
+
declare function Accordion({ className, ...props }: AccordionProps): react_jsx_runtime.JSX.Element;
|
|
10
|
+
declare function AccordionItem({ className, ...props }: AccordionItemProps): react_jsx_runtime.JSX.Element;
|
|
11
|
+
declare function AccordionTrigger({ className, children, ...props }: AccordionTriggerProps): react_jsx_runtime.JSX.Element;
|
|
12
|
+
declare function AccordionContent({ className, children, ...props }: AccordionContentProps): react_jsx_runtime.JSX.Element;
|
|
13
|
+
|
|
14
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { ChevronDownIcon, ChevronUpIcon } from './chunk-DIGOLJIR.js';
|
|
2
|
+
import { cn } from './chunk-76UQO56T.js';
|
|
3
|
+
import { Accordion as Accordion$1 } from '@base-ui/react/accordion';
|
|
4
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
function Accordion({ className, ...props }) {
|
|
7
|
+
return /* @__PURE__ */ jsx(
|
|
8
|
+
Accordion$1.Root,
|
|
9
|
+
{
|
|
10
|
+
"data-slot": "accordion",
|
|
11
|
+
className: cn(
|
|
12
|
+
"overflow-hidden flex w-full flex-col",
|
|
13
|
+
className
|
|
14
|
+
),
|
|
15
|
+
...props
|
|
16
|
+
}
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
function AccordionItem({ className, ...props }) {
|
|
20
|
+
return /* @__PURE__ */ jsx(
|
|
21
|
+
Accordion$1.Item,
|
|
22
|
+
{
|
|
23
|
+
"data-slot": "accordion-item",
|
|
24
|
+
className: cn(
|
|
25
|
+
"not-last:border-b",
|
|
26
|
+
className
|
|
27
|
+
),
|
|
28
|
+
...props
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
function AccordionTrigger({
|
|
33
|
+
className,
|
|
34
|
+
children,
|
|
35
|
+
...props
|
|
36
|
+
}) {
|
|
37
|
+
return /* @__PURE__ */ jsx(Accordion$1.Header, { "data-slot": "accordion-header", className: "flex", children: /* @__PURE__ */ jsxs(
|
|
38
|
+
Accordion$1.Trigger,
|
|
39
|
+
{
|
|
40
|
+
"data-slot": "accordion-trigger",
|
|
41
|
+
className: cn(
|
|
42
|
+
"focus-visible:ring-ring/50 focus-visible:border-ring focus-visible:after:border-ring **:data-[slot=accordion-trigger-icon]:text-muted-foreground group/accordion-trigger relative flex flex-1 items-start justify-between rounded-lg border border-transparent py-2.5 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-3 aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4",
|
|
43
|
+
className
|
|
44
|
+
),
|
|
45
|
+
...props,
|
|
46
|
+
children: [
|
|
47
|
+
children,
|
|
48
|
+
/* @__PURE__ */ jsx(ChevronDownIcon, { "data-slot": "accordion-trigger-icon", className: "pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden" }),
|
|
49
|
+
/* @__PURE__ */ jsx(ChevronUpIcon, { "data-slot": "accordion-trigger-icon", className: "pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline" })
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
) });
|
|
53
|
+
}
|
|
54
|
+
function AccordionContent({
|
|
55
|
+
className,
|
|
56
|
+
children,
|
|
57
|
+
...props
|
|
58
|
+
}) {
|
|
59
|
+
return /* @__PURE__ */ jsx(
|
|
60
|
+
Accordion$1.Panel,
|
|
61
|
+
{
|
|
62
|
+
"data-slot": "accordion-content",
|
|
63
|
+
className: "data-open:animate-accordion-down data-closed:animate-accordion-up overflow-hidden text-sm",
|
|
64
|
+
...props,
|
|
65
|
+
children: /* @__PURE__ */ jsx(
|
|
66
|
+
"div",
|
|
67
|
+
{
|
|
68
|
+
className: cn(
|
|
69
|
+
"[&_a]:hover:text-foreground h-(--accordion-panel-height) pt-0 pb-2.5 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_p:not(:last-child)]:mb-4",
|
|
70
|
+
className
|
|
71
|
+
),
|
|
72
|
+
children
|
|
73
|
+
}
|
|
74
|
+
)
|
|
75
|
+
}
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
|
|
80
|
+
//# sourceMappingURL=accordion.js.map
|
|
81
|
+
//# sourceMappingURL=accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/accordion.tsx"],"names":["AccordionPrimitive"],"mappings":";;;;;AAeA,SAAS,SAAA,CAAU,EAAE,SAAA,EAAW,GAAG,OAAM,EAAmB;AAC1D,EAAA,uBACE,GAAA;AAAA,IAACA,WAAA,CAAmB,IAAA;AAAA,IAAnB;AAAA,MACC,WAAA,EAAU,WAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,sCAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,aAAA,CAAc,EAAE,SAAA,EAAW,GAAG,OAAM,EAAuB;AAClE,EAAA,uBACE,GAAA;AAAA,IAACA,WAAA,CAAmB,IAAA;AAAA,IAAnB;AAAA,MACC,WAAA,EAAU,gBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,mBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,gBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0B;AACxB,EAAA,2BACGA,WAAA,CAAmB,MAAA,EAAnB,EAA0B,WAAA,EAAU,kBAAA,EAAmB,WAAU,MAAA,EAChE,QAAA,kBAAA,IAAA;AAAA,IAACA,WAAA,CAAmB,OAAA;AAAA,IAAnB;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,4fAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACD,GAAA,CAAC,eAAA,EAAA,EAAgB,WAAA,EAAU,wBAAA,EAAyB,WAAU,2EAAA,EAA4E,CAAA;AAAA,wBAC1I,GAAA,CAAC,aAAA,EAAA,EAAc,WAAA,EAAU,wBAAA,EAAyB,WAAU,kFAAA,EAAmF;AAAA;AAAA;AAAA,GACjJ,EACF,CAAA;AAEJ;AAEA,SAAS,gBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0B;AACxB,EAAA,uBACE,GAAA;AAAA,IAACA,WAAA,CAAmB,KAAA;AAAA,IAAnB;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAU,2FAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAW,EAAA;AAAA,YACT,yLAAA;AAAA,YACA;AAAA,WACF;AAAA,UAEC;AAAA;AAAA;AACH;AAAA,GACF;AAEJ","file":"accordion.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { Accordion as AccordionPrimitive } from \"@base-ui/react/accordion\"\n\nimport { cn } from \"./lib/utils\"\n\nimport { ChevronDownIcon, ChevronUpIcon } from \"./lib/internal-icons\"\n\ntype AccordionProps = React.ComponentProps<typeof AccordionPrimitive.Root>\ntype AccordionItemProps = React.ComponentProps<typeof AccordionPrimitive.Item>\ntype AccordionTriggerProps = React.ComponentProps<typeof AccordionPrimitive.Trigger>\ntype AccordionContentProps = React.ComponentProps<typeof AccordionPrimitive.Panel>\n\nfunction Accordion({ className, ...props }: AccordionProps) {\n return (\n <AccordionPrimitive.Root\n data-slot=\"accordion\"\n className={cn(\n \"overflow-hidden flex w-full flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AccordionItem({ className, ...props }: AccordionItemProps) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\n \"not-last:border-b\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: AccordionTriggerProps) {\n return (\n <AccordionPrimitive.Header data-slot=\"accordion-header\" className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"focus-visible:ring-ring/50 focus-visible:border-ring focus-visible:after:border-ring **:data-[slot=accordion-trigger-icon]:text-muted-foreground group/accordion-trigger relative flex flex-1 items-start justify-between rounded-lg border border-transparent py-2.5 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-3 aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon data-slot=\"accordion-trigger-icon\" className=\"pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden\" />\n <ChevronUpIcon data-slot=\"accordion-trigger-icon\" className=\"pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n )\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: AccordionContentProps) {\n return (\n <AccordionPrimitive.Panel\n data-slot=\"accordion-content\"\n className=\"data-open:animate-accordion-down data-closed:animate-accordion-up overflow-hidden text-sm\"\n {...props}\n >\n <div\n className={cn(\n \"[&_a]:hover:text-foreground h-(--accordion-panel-height) pt-0 pb-2.5 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_p:not(:last-child)]:mb-4\",\n className\n )}\n >\n {children}\n </div>\n </AccordionPrimitive.Panel>\n )\n}\n\nexport {\n Accordion,\n AccordionItem,\n AccordionTrigger,\n AccordionContent,\n}\n"]}
|
package/dist/alert.d.ts
CHANGED
|
@@ -6,9 +6,13 @@ import { VariantProps } from 'class-variance-authority';
|
|
|
6
6
|
declare const alertVariants: (props?: ({
|
|
7
7
|
variant?: "default" | "destructive" | null | undefined;
|
|
8
8
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
type AlertProps = React.ComponentProps<"div"> & VariantProps<typeof alertVariants>;
|
|
10
|
+
type AlertTitleProps = React.ComponentProps<"div">;
|
|
11
|
+
type AlertDescriptionProps = React.ComponentProps<"div">;
|
|
12
|
+
type AlertActionProps = React.ComponentProps<"div">;
|
|
13
|
+
declare function Alert({ className, variant, ...props }: AlertProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
declare function AlertTitle({ className, ...props }: AlertTitleProps): react_jsx_runtime.JSX.Element;
|
|
15
|
+
declare function AlertDescription({ className, ...props }: AlertDescriptionProps): react_jsx_runtime.JSX.Element;
|
|
16
|
+
declare function AlertAction({ className, ...props }: AlertActionProps): react_jsx_runtime.JSX.Element;
|
|
13
17
|
|
|
14
18
|
export { Alert, AlertAction, AlertDescription, AlertTitle };
|
package/dist/alert.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/alert.tsx"],"names":[],"mappings":";;;;AAKA,IAAM,aAAA,GAAgB,GAAA;AAAA,EACpB,2TAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,8BAAA;AAAA,QACT,WAAA,EACE;AAAA;AACJ,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ,CAAA;
|
|
1
|
+
{"version":3,"sources":["../src/alert.tsx"],"names":[],"mappings":";;;;AAKA,IAAM,aAAA,GAAgB,GAAA;AAAA,EACpB,2TAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,8BAAA;AAAA,QACT,WAAA,EACE;AAAA;AACJ,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ,CAAA;AAOA,SAAS,KAAA,CAAM;AAAA,EACb,SAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAe;AACb,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,OAAA;AAAA,MACV,IAAA,EAAK,OAAA;AAAA,MACL,WAAW,EAAA,CAAG,aAAA,CAAc,EAAE,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,MAClD,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,UAAA,CAAW,EAAE,SAAA,EAAW,GAAG,OAAM,EAAoB;AAC5D,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,aAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,qHAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,gBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0B;AACxB,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,4JAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,WAAA,CAAY,EAAE,SAAA,EAAW,GAAG,OAAM,EAAqB;AAC9D,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,wBAAA,EAA0B,SAAS,CAAA;AAAA,MAChD,GAAG;AAAA;AAAA,GACN;AAEJ","file":"alert.js","sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"./lib/utils\"\n\nconst alertVariants = cva(\n \"grid gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 w-full relative group/alert\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"text-destructive bg-card *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\ntype AlertProps = React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>\ntype AlertTitleProps = React.ComponentProps<\"div\">\ntype AlertDescriptionProps = React.ComponentProps<\"div\">\ntype AlertActionProps = React.ComponentProps<\"div\">\n\nfunction Alert({\n className,\n variant,\n ...props\n}: AlertProps) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction AlertTitle({ className, ...props }: AlertTitleProps) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"[&_a]:hover:text-foreground font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: AlertDescriptionProps) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-muted-foreground [&_a]:hover:text-foreground text-sm text-balance md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_p:not(:last-child)]:mb-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertAction({ className, ...props }: AlertActionProps) {\n return (\n <div\n data-slot=\"alert-action\"\n className={cn(\"absolute top-2 right-2\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Alert,\n AlertTitle,\n AlertDescription,\n AlertAction\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
|
|
4
|
+
type AspectRatioProps = React.ComponentProps<"div"> & {
|
|
5
|
+
/** The width-to-height ratio (e.g. 16/9, 4/3, 1) */
|
|
6
|
+
ratio: number;
|
|
7
|
+
};
|
|
8
|
+
declare function AspectRatio({ ratio, className, ...props }: AspectRatioProps): react_jsx_runtime.JSX.Element;
|
|
9
|
+
|
|
10
|
+
export { AspectRatio, type AspectRatioProps };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { cn } from './chunk-76UQO56T.js';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
function AspectRatio({ ratio, className, ...props }) {
|
|
5
|
+
return /* @__PURE__ */ jsx(
|
|
6
|
+
"div",
|
|
7
|
+
{
|
|
8
|
+
"data-slot": "aspect-ratio",
|
|
9
|
+
style: { "--ratio": ratio },
|
|
10
|
+
className: cn("relative aspect-(--ratio)", className),
|
|
11
|
+
...props
|
|
12
|
+
}
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { AspectRatio };
|
|
17
|
+
//# sourceMappingURL=aspect-ratio.js.map
|
|
18
|
+
//# sourceMappingURL=aspect-ratio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/aspect-ratio.tsx"],"names":[],"mappings":";;;AAaA,SAAS,YAAY,EAAE,KAAA,EAAO,SAAA,EAAW,GAAG,OAAM,EAAqB;AACrE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,KAAA,EAAO,EAAE,SAAA,EAAW,KAAA,EAAM;AAAA,MAC1B,SAAA,EAAW,EAAA,CAAG,2BAAA,EAA6B,SAAS,CAAA;AAAA,MACnD,GAAG;AAAA;AAAA,GACN;AAEJ","file":"aspect-ratio.js","sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"./lib/utils\"\n\n// --- Types ---\n\ntype AspectRatioProps = React.ComponentProps<\"div\"> & {\n /** The width-to-height ratio (e.g. 16/9, 4/3, 1) */\n ratio: number\n}\n\n// --- Components ---\n\nfunction AspectRatio({ ratio, className, ...props }: AspectRatioProps) {\n return (\n <div\n data-slot=\"aspect-ratio\"\n style={{ \"--ratio\": ratio } as React.CSSProperties}\n className={cn(\"relative aspect-(--ratio)\", className)}\n {...props}\n />\n )\n}\n\n// --- Exports ---\n\nexport { AspectRatio }\nexport type { AspectRatioProps }\n"]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Autocomplete as Autocomplete$1 } from '@base-ui/react/autocomplete';
|
|
4
|
+
|
|
5
|
+
type AutocompleteProps = React.ComponentProps<typeof Autocomplete$1.Root>;
|
|
6
|
+
type AutocompleteInputProps = React.ComponentProps<typeof Autocomplete$1.Input>;
|
|
7
|
+
type AutocompleteTriggerProps = React.ComponentProps<typeof Autocomplete$1.Trigger>;
|
|
8
|
+
type AutocompleteIconProps = React.ComponentProps<typeof Autocomplete$1.Icon>;
|
|
9
|
+
type AutocompleteClearProps = React.ComponentProps<typeof Autocomplete$1.Clear>;
|
|
10
|
+
type AutocompleteValueProps = React.ComponentProps<typeof Autocomplete$1.Value>;
|
|
11
|
+
type AutocompletePortalProps = React.ComponentProps<typeof Autocomplete$1.Portal>;
|
|
12
|
+
type AutocompleteBackdropProps = React.ComponentProps<typeof Autocomplete$1.Backdrop>;
|
|
13
|
+
type AutocompletePositionerProps = React.ComponentProps<typeof Autocomplete$1.Positioner>;
|
|
14
|
+
type AutocompletePopupProps = React.ComponentProps<typeof Autocomplete$1.Popup>;
|
|
15
|
+
type AutocompleteArrowProps = React.ComponentProps<typeof Autocomplete$1.Arrow>;
|
|
16
|
+
type AutocompleteStatusProps = React.ComponentProps<typeof Autocomplete$1.Status>;
|
|
17
|
+
type AutocompleteEmptyProps = React.ComponentProps<typeof Autocomplete$1.Empty>;
|
|
18
|
+
type AutocompleteListProps = React.ComponentProps<typeof Autocomplete$1.List>;
|
|
19
|
+
type AutocompleteRowProps = React.ComponentProps<typeof Autocomplete$1.Row>;
|
|
20
|
+
type AutocompleteItemProps = React.ComponentProps<typeof Autocomplete$1.Item>;
|
|
21
|
+
type AutocompleteSeparatorProps = React.ComponentProps<typeof Autocomplete$1.Separator>;
|
|
22
|
+
type AutocompleteGroupProps = React.ComponentProps<typeof Autocomplete$1.Group>;
|
|
23
|
+
type AutocompleteGroupLabelProps = React.ComponentProps<typeof Autocomplete$1.GroupLabel>;
|
|
24
|
+
type AutocompleteCollectionProps = React.ComponentProps<typeof Autocomplete$1.Collection>;
|
|
25
|
+
type AutocompleteContentProps = AutocompletePopupProps & Pick<AutocompletePositionerProps, "align" | "alignOffset" | "side" | "sideOffset">;
|
|
26
|
+
declare function Autocomplete({ ...props }: AutocompleteProps): react_jsx_runtime.JSX.Element;
|
|
27
|
+
declare function AutocompleteInput({ className, ...props }: AutocompleteInputProps): react_jsx_runtime.JSX.Element;
|
|
28
|
+
declare function AutocompleteTrigger({ className, ...props }: AutocompleteTriggerProps): react_jsx_runtime.JSX.Element;
|
|
29
|
+
declare function AutocompleteIcon({ className, ...props }: AutocompleteIconProps): react_jsx_runtime.JSX.Element;
|
|
30
|
+
declare function AutocompleteClear({ className, ...props }: AutocompleteClearProps): react_jsx_runtime.JSX.Element;
|
|
31
|
+
declare function AutocompleteValue({ ...props }: AutocompleteValueProps): react_jsx_runtime.JSX.Element;
|
|
32
|
+
declare function AutocompletePortal({ className, ...props }: AutocompletePortalProps): react_jsx_runtime.JSX.Element;
|
|
33
|
+
declare function AutocompleteBackdrop({ className, ...props }: AutocompleteBackdropProps): react_jsx_runtime.JSX.Element;
|
|
34
|
+
declare function AutocompletePositioner({ className, ...props }: AutocompletePositionerProps): react_jsx_runtime.JSX.Element;
|
|
35
|
+
declare function AutocompletePopup({ className, ...props }: AutocompletePopupProps): react_jsx_runtime.JSX.Element;
|
|
36
|
+
declare function AutocompleteArrow({ className, ...props }: AutocompleteArrowProps): react_jsx_runtime.JSX.Element;
|
|
37
|
+
declare function AutocompleteStatus({ className, ...props }: AutocompleteStatusProps): react_jsx_runtime.JSX.Element;
|
|
38
|
+
declare function AutocompleteEmpty({ className, ...props }: AutocompleteEmptyProps): react_jsx_runtime.JSX.Element;
|
|
39
|
+
declare function AutocompleteList({ className, ...props }: AutocompleteListProps): react_jsx_runtime.JSX.Element;
|
|
40
|
+
declare function AutocompleteRow({ className, ...props }: AutocompleteRowProps): react_jsx_runtime.JSX.Element;
|
|
41
|
+
declare function AutocompleteItem({ className, ...props }: AutocompleteItemProps): react_jsx_runtime.JSX.Element;
|
|
42
|
+
declare function AutocompleteSeparator({ className, ...props }: AutocompleteSeparatorProps): react_jsx_runtime.JSX.Element;
|
|
43
|
+
declare function AutocompleteGroup({ className, ...props }: AutocompleteGroupProps): react_jsx_runtime.JSX.Element;
|
|
44
|
+
declare function AutocompleteGroupLabel({ className, ...props }: AutocompleteGroupLabelProps): react_jsx_runtime.JSX.Element;
|
|
45
|
+
declare function AutocompleteCollection({ ...props }: AutocompleteCollectionProps): react_jsx_runtime.JSX.Element;
|
|
46
|
+
declare function AutocompleteContent({ className, align, alignOffset, side, sideOffset, ...props }: AutocompleteContentProps): react_jsx_runtime.JSX.Element;
|
|
47
|
+
|
|
48
|
+
export { Autocomplete, AutocompleteArrow, AutocompleteBackdrop, AutocompleteClear, AutocompleteCollection, AutocompleteContent, AutocompleteEmpty, AutocompleteGroup, AutocompleteGroupLabel, AutocompleteIcon, AutocompleteInput, AutocompleteItem, AutocompleteList, AutocompletePopup, AutocompletePortal, AutocompletePositioner, AutocompleteRow, AutocompleteSeparator, AutocompleteStatus, AutocompleteTrigger, AutocompleteValue };
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { cn } from './chunk-76UQO56T.js';
|
|
2
|
+
import { Autocomplete as Autocomplete$1 } from '@base-ui/react/autocomplete';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
function Autocomplete({ ...props }) {
|
|
6
|
+
return /* @__PURE__ */ jsx(Autocomplete$1.Root, { "data-slot": "autocomplete", ...props });
|
|
7
|
+
}
|
|
8
|
+
function AutocompleteInput({ className, ...props }) {
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
Autocomplete$1.Input,
|
|
11
|
+
{
|
|
12
|
+
"data-slot": "autocomplete-input",
|
|
13
|
+
className: cn(
|
|
14
|
+
"dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 disabled:bg-input/50 dark:disabled:bg-input/80 placeholder:text-muted-foreground h-8 w-full min-w-0 rounded-lg border bg-transparent px-2.5 py-1 text-base transition-colors outline-none focus-visible:ring-3 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-3 md:text-sm",
|
|
15
|
+
className
|
|
16
|
+
),
|
|
17
|
+
...props
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
function AutocompleteTrigger({ className, ...props }) {
|
|
22
|
+
return /* @__PURE__ */ jsx(
|
|
23
|
+
Autocomplete$1.Trigger,
|
|
24
|
+
{
|
|
25
|
+
"data-slot": "autocomplete-trigger",
|
|
26
|
+
className: cn("shrink-0", className),
|
|
27
|
+
...props
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
function AutocompleteIcon({ className, ...props }) {
|
|
32
|
+
return /* @__PURE__ */ jsx(
|
|
33
|
+
Autocomplete$1.Icon,
|
|
34
|
+
{
|
|
35
|
+
"data-slot": "autocomplete-icon",
|
|
36
|
+
className: cn("shrink-0", className),
|
|
37
|
+
...props
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
function AutocompleteClear({ className, ...props }) {
|
|
42
|
+
return /* @__PURE__ */ jsx(
|
|
43
|
+
Autocomplete$1.Clear,
|
|
44
|
+
{
|
|
45
|
+
"data-slot": "autocomplete-clear",
|
|
46
|
+
className: cn("shrink-0", className),
|
|
47
|
+
...props
|
|
48
|
+
}
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
function AutocompleteValue({ ...props }) {
|
|
52
|
+
return /* @__PURE__ */ jsx(Autocomplete$1.Value, { "data-slot": "autocomplete-value", ...props });
|
|
53
|
+
}
|
|
54
|
+
function AutocompletePortal({ className, ...props }) {
|
|
55
|
+
return /* @__PURE__ */ jsx(
|
|
56
|
+
Autocomplete$1.Portal,
|
|
57
|
+
{
|
|
58
|
+
"data-slot": "autocomplete-portal",
|
|
59
|
+
className: cn(className),
|
|
60
|
+
...props
|
|
61
|
+
}
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
function AutocompleteBackdrop({ className, ...props }) {
|
|
65
|
+
return /* @__PURE__ */ jsx(
|
|
66
|
+
Autocomplete$1.Backdrop,
|
|
67
|
+
{
|
|
68
|
+
"data-slot": "autocomplete-backdrop",
|
|
69
|
+
className: cn("fixed inset-0", className),
|
|
70
|
+
...props
|
|
71
|
+
}
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
function AutocompletePositioner({ className, ...props }) {
|
|
75
|
+
return /* @__PURE__ */ jsx(
|
|
76
|
+
Autocomplete$1.Positioner,
|
|
77
|
+
{
|
|
78
|
+
"data-slot": "autocomplete-positioner",
|
|
79
|
+
className: cn(className),
|
|
80
|
+
...props
|
|
81
|
+
}
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
function AutocompletePopup({ className, ...props }) {
|
|
85
|
+
return /* @__PURE__ */ jsx(
|
|
86
|
+
Autocomplete$1.Popup,
|
|
87
|
+
{
|
|
88
|
+
"data-slot": "autocomplete-popup",
|
|
89
|
+
className: cn(
|
|
90
|
+
"bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 group/autocomplete-content relative max-h-(--available-height) min-w-(--anchor-width) origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg shadow-md ring-1 duration-100",
|
|
91
|
+
className
|
|
92
|
+
),
|
|
93
|
+
...props
|
|
94
|
+
}
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
function AutocompleteArrow({ className, ...props }) {
|
|
98
|
+
return /* @__PURE__ */ jsx(
|
|
99
|
+
Autocomplete$1.Arrow,
|
|
100
|
+
{
|
|
101
|
+
"data-slot": "autocomplete-arrow",
|
|
102
|
+
className: cn("fill-popover", className),
|
|
103
|
+
...props
|
|
104
|
+
}
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
function AutocompleteStatus({ className, ...props }) {
|
|
108
|
+
return /* @__PURE__ */ jsx(
|
|
109
|
+
Autocomplete$1.Status,
|
|
110
|
+
{
|
|
111
|
+
"data-slot": "autocomplete-status",
|
|
112
|
+
className: cn("text-muted-foreground flex w-full justify-center py-2 text-center text-sm", className),
|
|
113
|
+
...props
|
|
114
|
+
}
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
function AutocompleteEmpty({ className, ...props }) {
|
|
118
|
+
return /* @__PURE__ */ jsx(
|
|
119
|
+
Autocomplete$1.Empty,
|
|
120
|
+
{
|
|
121
|
+
"data-slot": "autocomplete-empty",
|
|
122
|
+
className: cn("text-muted-foreground hidden w-full justify-center py-2 text-center text-sm group-data-empty/autocomplete-content:flex", className),
|
|
123
|
+
...props
|
|
124
|
+
}
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
function AutocompleteList({ className, ...props }) {
|
|
128
|
+
return /* @__PURE__ */ jsx(
|
|
129
|
+
Autocomplete$1.List,
|
|
130
|
+
{
|
|
131
|
+
"data-slot": "autocomplete-list",
|
|
132
|
+
className: cn("scroll-py-1 overflow-y-auto overscroll-contain p-1 data-empty:p-0", className),
|
|
133
|
+
...props
|
|
134
|
+
}
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
function AutocompleteRow({ className, ...props }) {
|
|
138
|
+
return /* @__PURE__ */ jsx(
|
|
139
|
+
Autocomplete$1.Row,
|
|
140
|
+
{
|
|
141
|
+
"data-slot": "autocomplete-row",
|
|
142
|
+
className: cn(className),
|
|
143
|
+
...props
|
|
144
|
+
}
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
function AutocompleteItem({ className, ...props }) {
|
|
148
|
+
return /* @__PURE__ */ jsx(
|
|
149
|
+
Autocomplete$1.Item,
|
|
150
|
+
{
|
|
151
|
+
"data-slot": "autocomplete-item",
|
|
152
|
+
className: cn(
|
|
153
|
+
"data-highlighted:bg-accent data-highlighted:text-accent-foreground relative flex w-full cursor-default items-center gap-2 rounded-md py-1 pl-1.5 pr-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
154
|
+
className
|
|
155
|
+
),
|
|
156
|
+
...props
|
|
157
|
+
}
|
|
158
|
+
);
|
|
159
|
+
}
|
|
160
|
+
function AutocompleteSeparator({ className, ...props }) {
|
|
161
|
+
return /* @__PURE__ */ jsx(
|
|
162
|
+
Autocomplete$1.Separator,
|
|
163
|
+
{
|
|
164
|
+
"data-slot": "autocomplete-separator",
|
|
165
|
+
className: cn("bg-border -mx-1 my-1 h-px", className),
|
|
166
|
+
...props
|
|
167
|
+
}
|
|
168
|
+
);
|
|
169
|
+
}
|
|
170
|
+
function AutocompleteGroup({ className, ...props }) {
|
|
171
|
+
return /* @__PURE__ */ jsx(
|
|
172
|
+
Autocomplete$1.Group,
|
|
173
|
+
{
|
|
174
|
+
"data-slot": "autocomplete-group",
|
|
175
|
+
className: cn("pt-1", className),
|
|
176
|
+
...props
|
|
177
|
+
}
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
function AutocompleteGroupLabel({ className, ...props }) {
|
|
181
|
+
return /* @__PURE__ */ jsx(
|
|
182
|
+
Autocomplete$1.GroupLabel,
|
|
183
|
+
{
|
|
184
|
+
"data-slot": "autocomplete-group-label",
|
|
185
|
+
className: cn("text-muted-foreground px-2 py-1.5 text-xs", className),
|
|
186
|
+
...props
|
|
187
|
+
}
|
|
188
|
+
);
|
|
189
|
+
}
|
|
190
|
+
function AutocompleteCollection({ ...props }) {
|
|
191
|
+
return /* @__PURE__ */ jsx(
|
|
192
|
+
Autocomplete$1.Collection,
|
|
193
|
+
{
|
|
194
|
+
"data-slot": "autocomplete-collection",
|
|
195
|
+
...props
|
|
196
|
+
}
|
|
197
|
+
);
|
|
198
|
+
}
|
|
199
|
+
function AutocompleteContent({
|
|
200
|
+
className,
|
|
201
|
+
align = "start",
|
|
202
|
+
alignOffset = 0,
|
|
203
|
+
side = "bottom",
|
|
204
|
+
sideOffset = 6,
|
|
205
|
+
...props
|
|
206
|
+
}) {
|
|
207
|
+
return /* @__PURE__ */ jsx(AutocompletePortal, { children: /* @__PURE__ */ jsx(
|
|
208
|
+
AutocompletePositioner,
|
|
209
|
+
{
|
|
210
|
+
align,
|
|
211
|
+
alignOffset,
|
|
212
|
+
side,
|
|
213
|
+
sideOffset,
|
|
214
|
+
className: "isolate z-50",
|
|
215
|
+
children: /* @__PURE__ */ jsx(AutocompletePopup, { className, ...props })
|
|
216
|
+
}
|
|
217
|
+
) });
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
export { Autocomplete, AutocompleteArrow, AutocompleteBackdrop, AutocompleteClear, AutocompleteCollection, AutocompleteContent, AutocompleteEmpty, AutocompleteGroup, AutocompleteGroupLabel, AutocompleteIcon, AutocompleteInput, AutocompleteItem, AutocompleteList, AutocompletePopup, AutocompletePortal, AutocompletePositioner, AutocompleteRow, AutocompleteSeparator, AutocompleteStatus, AutocompleteTrigger, AutocompleteValue };
|
|
221
|
+
//# sourceMappingURL=autocomplete.js.map
|
|
222
|
+
//# sourceMappingURL=autocomplete.js.map
|