geoiq-frontend-ui-kit-v4 0.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 +155 -0
- package/dist/components/ui/accordion/accordion.d.ts +7 -0
- package/dist/components/ui/accordion/accordion.d.ts.map +1 -0
- package/dist/components/ui/accordion/accordion.js +55 -0
- package/dist/components/ui/accordion/accordion.js.map +1 -0
- package/dist/components/ui/accordion/index.d.ts +2 -0
- package/dist/components/ui/accordion/index.d.ts.map +1 -0
- package/dist/components/ui/alert/alert.d.ts +9 -0
- package/dist/components/ui/alert/alert.d.ts.map +1 -0
- package/dist/components/ui/alert/alert.js +39 -0
- package/dist/components/ui/alert/alert.js.map +1 -0
- package/dist/components/ui/alert/alert.styles.d.ts +4 -0
- package/dist/components/ui/alert/alert.styles.d.ts.map +1 -0
- package/dist/components/ui/alert/alert.styles.js +13 -0
- package/dist/components/ui/alert/alert.styles.js.map +1 -0
- package/dist/components/ui/alert/index.d.ts +2 -0
- package/dist/components/ui/alert/index.d.ts.map +1 -0
- package/dist/components/ui/alert-dialog/alert-dialog.d.ts +19 -0
- package/dist/components/ui/alert-dialog/alert-dialog.d.ts.map +1 -0
- package/dist/components/ui/alert-dialog/alert-dialog.js +96 -0
- package/dist/components/ui/alert-dialog/alert-dialog.js.map +1 -0
- package/dist/components/ui/alert-dialog/index.d.ts +2 -0
- package/dist/components/ui/alert-dialog/index.d.ts.map +1 -0
- package/dist/components/ui/avatar/avatar.d.ts +12 -0
- package/dist/components/ui/avatar/avatar.d.ts.map +1 -0
- package/dist/components/ui/avatar/avatar.js +52 -0
- package/dist/components/ui/avatar/avatar.js.map +1 -0
- package/dist/components/ui/avatar/index.d.ts +2 -0
- package/dist/components/ui/avatar/index.d.ts.map +1 -0
- package/dist/components/ui/badge/badge.d.ts +6 -0
- package/dist/components/ui/badge/badge.d.ts.map +1 -0
- package/dist/components/ui/badge/badge.js +21 -0
- package/dist/components/ui/badge/badge.js.map +1 -0
- package/dist/components/ui/badge/badge.styles.d.ts +4 -0
- package/dist/components/ui/badge/badge.styles.d.ts.map +1 -0
- package/dist/components/ui/badge/badge.styles.js +17 -0
- package/dist/components/ui/badge/badge.styles.js.map +1 -0
- package/dist/components/ui/badge/index.d.ts +2 -0
- package/dist/components/ui/badge/index.d.ts.map +1 -0
- package/dist/components/ui/breadcrumb/breadcrumb.d.ts +11 -0
- package/dist/components/ui/breadcrumb/breadcrumb.d.ts.map +1 -0
- package/dist/components/ui/breadcrumb/breadcrumb.js +74 -0
- package/dist/components/ui/breadcrumb/breadcrumb.js.map +1 -0
- package/dist/components/ui/breadcrumb/index.d.ts +2 -0
- package/dist/components/ui/breadcrumb/index.d.ts.map +1 -0
- package/dist/components/ui/button/button.d.ts +6 -0
- package/dist/components/ui/button/button.d.ts.map +1 -0
- package/dist/components/ui/button/button.js +21 -0
- package/dist/components/ui/button/button.js.map +1 -0
- package/dist/components/ui/button/button.styles.d.ts +5 -0
- package/dist/components/ui/button/button.styles.d.ts.map +1 -0
- package/dist/components/ui/button/button.styles.js +32 -0
- package/dist/components/ui/button/button.styles.js.map +1 -0
- package/dist/components/ui/button/index.d.ts +2 -0
- package/dist/components/ui/button/index.d.ts.map +1 -0
- package/dist/components/ui/calendar/calendar.d.ts +11 -0
- package/dist/components/ui/calendar/calendar.d.ts.map +1 -0
- package/dist/components/ui/calendar/calendar.js +96 -0
- package/dist/components/ui/calendar/calendar.js.map +1 -0
- package/dist/components/ui/calendar/index.d.ts +2 -0
- package/dist/components/ui/calendar/index.d.ts.map +1 -0
- package/dist/components/ui/carousel/carousel.d.ts +29 -0
- package/dist/components/ui/carousel/carousel.d.ts.map +1 -0
- package/dist/components/ui/carousel/carousel.js +112 -0
- package/dist/components/ui/carousel/carousel.js.map +1 -0
- package/dist/components/ui/carousel/index.d.ts +2 -0
- package/dist/components/ui/carousel/index.d.ts.map +1 -0
- package/dist/components/ui/checkbox/checkbox.d.ts +4 -0
- package/dist/components/ui/checkbox/checkbox.d.ts.map +1 -0
- package/dist/components/ui/checkbox/checkbox.js +23 -0
- package/dist/components/ui/checkbox/checkbox.js.map +1 -0
- package/dist/components/ui/checkbox/index.d.ts +2 -0
- package/dist/components/ui/checkbox/index.d.ts.map +1 -0
- package/dist/components/ui/combobox/combobox.d.ts +25 -0
- package/dist/components/ui/combobox/combobox.d.ts.map +1 -0
- package/dist/components/ui/combobox/combobox.js +165 -0
- package/dist/components/ui/combobox/combobox.js.map +1 -0
- package/dist/components/ui/combobox/index.d.ts +2 -0
- package/dist/components/ui/combobox/index.d.ts.map +1 -0
- package/dist/components/ui/command/command.d.ts +20 -0
- package/dist/components/ui/command/command.d.ts.map +1 -0
- package/dist/components/ui/command/command.js +91 -0
- package/dist/components/ui/command/command.js.map +1 -0
- package/dist/components/ui/command/index.d.ts +2 -0
- package/dist/components/ui/command/index.d.ts.map +1 -0
- package/dist/components/ui/dialog/dialog.d.ts +18 -0
- package/dist/components/ui/dialog/dialog.d.ts.map +1 -0
- package/dist/components/ui/dialog/dialog.js +95 -0
- package/dist/components/ui/dialog/dialog.js.map +1 -0
- package/dist/components/ui/dialog/index.d.ts +2 -0
- package/dist/components/ui/dialog/index.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +30 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu.js +138 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu.js.map +1 -0
- package/dist/components/ui/dropdown-menu/index.d.ts +2 -0
- package/dist/components/ui/dropdown-menu/index.d.ts.map +1 -0
- package/dist/components/ui/hover-card/hover-card.d.ts +6 -0
- package/dist/components/ui/hover-card/hover-card.d.ts.map +1 -0
- package/dist/components/ui/hover-card/hover-card.js +37 -0
- package/dist/components/ui/hover-card/hover-card.js.map +1 -0
- package/dist/components/ui/hover-card/index.d.ts +2 -0
- package/dist/components/ui/hover-card/index.d.ts.map +1 -0
- package/dist/components/ui/input/index.d.ts +2 -0
- package/dist/components/ui/input/index.d.ts.map +1 -0
- package/dist/components/ui/input/input.d.ts +4 -0
- package/dist/components/ui/input/input.d.ts.map +1 -0
- package/dist/components/ui/input/input.js +17 -0
- package/dist/components/ui/input/input.js.map +1 -0
- package/dist/components/ui/input-group/index.d.ts +2 -0
- package/dist/components/ui/input-group/index.d.ts.map +1 -0
- package/dist/components/ui/input-group/input-group.d.ts +14 -0
- package/dist/components/ui/input-group/input-group.d.ts.map +1 -0
- package/dist/components/ui/input-group/input-group.js +62 -0
- package/dist/components/ui/input-group/input-group.js.map +1 -0
- package/dist/components/ui/input-group/input-group.styles.d.ts +7 -0
- package/dist/components/ui/input-group/input-group.styles.d.ts.map +1 -0
- package/dist/components/ui/input-group/input-group.styles.js +23 -0
- package/dist/components/ui/input-group/input-group.styles.js.map +1 -0
- package/dist/components/ui/input-otp/index.d.ts +2 -0
- package/dist/components/ui/input-otp/index.d.ts.map +1 -0
- package/dist/components/ui/input-otp/input-otp.d.ts +12 -0
- package/dist/components/ui/input-otp/input-otp.d.ts.map +1 -0
- package/dist/components/ui/input-otp/input-otp.js +50 -0
- package/dist/components/ui/input-otp/input-otp.js.map +1 -0
- package/dist/components/ui/pagination/index.d.ts +2 -0
- package/dist/components/ui/pagination/index.d.ts.map +1 -0
- package/dist/components/ui/pagination/pagination.d.ts +18 -0
- package/dist/components/ui/pagination/pagination.d.ts.map +1 -0
- package/dist/components/ui/pagination/pagination.js +82 -0
- package/dist/components/ui/pagination/pagination.js.map +1 -0
- package/dist/components/ui/popover/index.d.ts +2 -0
- package/dist/components/ui/popover/index.d.ts.map +1 -0
- package/dist/components/ui/popover/popover.d.ts +10 -0
- package/dist/components/ui/popover/popover.d.ts.map +1 -0
- package/dist/components/ui/popover/popover.js +56 -0
- package/dist/components/ui/popover/popover.js.map +1 -0
- package/dist/components/ui/progress/index.d.ts +2 -0
- package/dist/components/ui/progress/index.d.ts.map +1 -0
- package/dist/components/ui/progress/progress.d.ts +8 -0
- package/dist/components/ui/progress/progress.d.ts.map +1 -0
- package/dist/components/ui/progress/progress.js +45 -0
- package/dist/components/ui/progress/progress.js.map +1 -0
- package/dist/components/ui/radio-group/index.d.ts +2 -0
- package/dist/components/ui/radio-group/index.d.ts.map +1 -0
- package/dist/components/ui/radio-group/radio-group.d.ts +6 -0
- package/dist/components/ui/radio-group/radio-group.d.ts.map +1 -0
- package/dist/components/ui/radio-group/radio-group.js +30 -0
- package/dist/components/ui/radio-group/radio-group.js.map +1 -0
- package/dist/components/ui/select/index.d.ts +2 -0
- package/dist/components/ui/select/index.d.ts.map +1 -0
- package/dist/components/ui/select/select.d.ts +16 -0
- package/dist/components/ui/select/select.d.ts.map +1 -0
- package/dist/components/ui/select/select.js +99 -0
- package/dist/components/ui/select/select.js.map +1 -0
- package/dist/components/ui/separator/index.d.ts +2 -0
- package/dist/components/ui/separator/index.d.ts.map +1 -0
- package/dist/components/ui/separator/separator.d.ts +4 -0
- package/dist/components/ui/separator/separator.d.ts.map +1 -0
- package/dist/components/ui/separator/separator.js +16 -0
- package/dist/components/ui/separator/separator.js.map +1 -0
- package/dist/components/ui/sheet/index.d.ts +2 -0
- package/dist/components/ui/sheet/index.d.ts.map +1 -0
- package/dist/components/ui/sheet/sheet.d.ts +15 -0
- package/dist/components/ui/sheet/sheet.d.ts.map +1 -0
- package/dist/components/ui/sheet/sheet.js +90 -0
- package/dist/components/ui/sheet/sheet.js.map +1 -0
- package/dist/components/ui/sidebar/index.d.ts +2 -0
- package/dist/components/ui/sidebar/index.d.ts.map +1 -0
- package/dist/components/ui/sidebar/sidebar.d.ts +61 -0
- package/dist/components/ui/sidebar/sidebar.d.ts.map +1 -0
- package/dist/components/ui/sidebar/sidebar.js +343 -0
- package/dist/components/ui/sidebar/sidebar.js.map +1 -0
- package/dist/components/ui/sidebar/sidebar.styles.d.ts +5 -0
- package/dist/components/ui/sidebar/sidebar.styles.d.ts.map +1 -0
- package/dist/components/ui/sidebar/sidebar.styles.js +23 -0
- package/dist/components/ui/sidebar/sidebar.styles.js.map +1 -0
- package/dist/components/ui/skeleton/index.d.ts +2 -0
- package/dist/components/ui/skeleton/index.d.ts.map +1 -0
- package/dist/components/ui/skeleton/skeleton.d.ts +3 -0
- package/dist/components/ui/skeleton/skeleton.d.ts.map +1 -0
- package/dist/components/ui/skeleton/skeleton.js +14 -0
- package/dist/components/ui/skeleton/skeleton.js.map +1 -0
- package/dist/components/ui/slider/index.d.ts +2 -0
- package/dist/components/ui/slider/index.d.ts.map +1 -0
- package/dist/components/ui/slider/slider.d.ts +4 -0
- package/dist/components/ui/slider/slider.d.ts.map +1 -0
- package/dist/components/ui/slider/slider.js +35 -0
- package/dist/components/ui/slider/slider.js.map +1 -0
- package/dist/components/ui/sonner/index.d.ts +2 -0
- package/dist/components/ui/sonner/index.d.ts.map +1 -0
- package/dist/components/ui/sonner/sonner.d.ts +4 -0
- package/dist/components/ui/sonner/sonner.d.ts.map +1 -0
- package/dist/components/ui/sonner/sonner.js +31 -0
- package/dist/components/ui/sonner/sonner.js.map +1 -0
- package/dist/components/ui/spinner/index.d.ts +2 -0
- package/dist/components/ui/spinner/index.d.ts.map +1 -0
- package/dist/components/ui/spinner/spinner.d.ts +3 -0
- package/dist/components/ui/spinner/spinner.d.ts.map +1 -0
- package/dist/components/ui/spinner/spinner.js +17 -0
- package/dist/components/ui/spinner/spinner.js.map +1 -0
- package/dist/components/ui/switch/index.d.ts +2 -0
- package/dist/components/ui/switch/index.d.ts.map +1 -0
- package/dist/components/ui/switch/switch.d.ts +6 -0
- package/dist/components/ui/switch/switch.d.ts.map +1 -0
- package/dist/components/ui/switch/switch.js +20 -0
- package/dist/components/ui/switch/switch.js.map +1 -0
- package/dist/components/ui/table/index.d.ts +2 -0
- package/dist/components/ui/table/index.d.ts.map +1 -0
- package/dist/components/ui/table/table.d.ts +11 -0
- package/dist/components/ui/table/table.d.ts.map +1 -0
- package/dist/components/ui/table/table.js +70 -0
- package/dist/components/ui/table/table.js.map +1 -0
- package/dist/components/ui/tabs/index.d.ts +2 -0
- package/dist/components/ui/tabs/index.d.ts.map +1 -0
- package/dist/components/ui/tabs/tabs.d.ts +9 -0
- package/dist/components/ui/tabs/tabs.d.ts.map +1 -0
- package/dist/components/ui/tabs/tabs.js +42 -0
- package/dist/components/ui/tabs/tabs.js.map +1 -0
- package/dist/components/ui/tabs/tabs.styles.d.ts +4 -0
- package/dist/components/ui/tabs/tabs.styles.d.ts.map +1 -0
- package/dist/components/ui/tabs/tabs.styles.js +13 -0
- package/dist/components/ui/tabs/tabs.styles.js.map +1 -0
- package/dist/components/ui/textarea/index.d.ts +2 -0
- package/dist/components/ui/textarea/index.d.ts.map +1 -0
- package/dist/components/ui/textarea/textarea.d.ts +4 -0
- package/dist/components/ui/textarea/textarea.d.ts.map +1 -0
- package/dist/components/ui/textarea/textarea.js +15 -0
- package/dist/components/ui/textarea/textarea.js.map +1 -0
- package/dist/components/ui/tooltip/index.d.ts +2 -0
- package/dist/components/ui/tooltip/index.d.ts.map +1 -0
- package/dist/components/ui/tooltip/tooltip.d.ts +7 -0
- package/dist/components/ui/tooltip/tooltip.d.ts.map +1 -0
- package/dist/components/ui/tooltip/tooltip.js +44 -0
- package/dist/components/ui/tooltip/tooltip.js.map +1 -0
- package/dist/hooks/use-mobile.d.ts +2 -0
- package/dist/hooks/use-mobile.d.ts.map +1 -0
- package/dist/hooks/use-mobile.js +16 -0
- package/dist/hooks/use-mobile.js.map +1 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +41 -0
- package/dist/styles.css +2 -0
- package/package.json +92 -0
package/README.md
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# geoiq-frontend-ui-kit-v4
|
|
2
|
+
|
|
3
|
+
A small, real npm package: shadcn's own registry components — pulled
|
|
4
|
+
verbatim via `npx shadcn add`, no adaptation, no renamed props, no altered
|
|
5
|
+
class strings — re-exported as-is, themed through one CSS file a consumer
|
|
6
|
+
can use as shipped or override completely with their own theme.
|
|
7
|
+
|
|
8
|
+
Built on `@base-ui/react` (not Radix), React 19, Tailwind v4.
|
|
9
|
+
|
|
10
|
+
## Components
|
|
11
|
+
|
|
12
|
+
33 so far, all real shadcn registry source (style `base-nova`):
|
|
13
|
+
|
|
14
|
+
Button, Input, Textarea, InputGroup, Select, Accordion, Avatar, Badge,
|
|
15
|
+
Checkbox, Progress, RadioGroup, Skeleton, Switch, Tooltip, Alert,
|
|
16
|
+
Breadcrumb, DropdownMenu, Pagination, Slider, Tabs, Toaster (sonner),
|
|
17
|
+
Combobox, AlertDialog, Dialog, Sheet, Sidebar, Calendar, Carousel, Command,
|
|
18
|
+
HoverCard, InputOTP, Popover, Spinner, Table — plus each one's real
|
|
19
|
+
sub-component exports (see `src/index.ts` for the full list).
|
|
20
|
+
|
|
21
|
+
## Install
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install geoiq-frontend-ui-kit-v4
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Import the theme once, at your app's entry point:
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
import 'geoiq-frontend-ui-kit-v4/styles.css'
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Then use components anywhere:
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
import {
|
|
37
|
+
Button,
|
|
38
|
+
Select,
|
|
39
|
+
SelectTrigger,
|
|
40
|
+
SelectValue,
|
|
41
|
+
SelectContent,
|
|
42
|
+
SelectItem,
|
|
43
|
+
} from 'geoiq-frontend-ui-kit-v4'
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Skip the `styles.css` import and components render as plain unstyled HTML
|
|
47
|
+
(the classes reference CSS variables that simply won't exist) — there's no
|
|
48
|
+
separate "default" theme baked in beyond GeoIQ's own.
|
|
49
|
+
|
|
50
|
+
## Layout
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
src/
|
|
54
|
+
index.ts the package barrel — every public export
|
|
55
|
+
index.css Tailwind v4 entry point (imports styles/theme.css)
|
|
56
|
+
styles/theme.css the one theme: primitive ramps → the shadcn semantic contract → the @theme bridge
|
|
57
|
+
hooks/ shared hooks a component needs (currently just use-mobile, for Sidebar)
|
|
58
|
+
components/ui/<name>/ one folder per component:
|
|
59
|
+
<name>.tsx the component itself
|
|
60
|
+
<name>.styles.ts only if the component has a cva(...) variant definition — see below
|
|
61
|
+
index.ts re-exports the above; lets `@/components/ui/<name>` resolve unchanged
|
|
62
|
+
.storybook/, stories/ visual verification — npm run storybook, :6006
|
|
63
|
+
components.json shadcn CLI config — pulls the *next* component (see below)
|
|
64
|
+
scripts/sync-component.mjs checks one already-installed component against shadcn's current source
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Why folders, and why only 6 have a `.styles.ts`**: shadcn ships each
|
|
68
|
+
component as one flat file. Splitting the `cva(...)` variant definitions
|
|
69
|
+
out into their own file (when a component has one — currently Button,
|
|
70
|
+
Badge, Alert, InputGroup, Sidebar, Tabs) keeps a large component's actual
|
|
71
|
+
JSX logic separate from its class-string table, which is most of what
|
|
72
|
+
makes a file like `sidebar.tsx` (700+ lines) hard to scan. A component
|
|
73
|
+
with no variants (Input, Skeleton, Separator, ...) just gets a plain
|
|
74
|
+
`<name>/<name>.tsx` — nothing to split. Every import path
|
|
75
|
+
(`@/components/ui/button`, `./components/ui/select`, ...) keeps working
|
|
76
|
+
exactly as before the restructure, because a directory import resolves to
|
|
77
|
+
its `index.ts` automatically — nothing outside these folders had to change.
|
|
78
|
+
|
|
79
|
+
## Working on this repo
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
npm install
|
|
83
|
+
npm run typecheck
|
|
84
|
+
npm run lint
|
|
85
|
+
npm run build # dist/ — what actually gets published
|
|
86
|
+
npm run storybook # :6006 — visual check
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Adding a new component
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
npx shadcn add <name>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
That drops the real file at `src/components/ui/<name>.tsx` (flat — the CLI
|
|
96
|
+
always targets this path; it doesn't know about our folder convention).
|
|
97
|
+
From there:
|
|
98
|
+
|
|
99
|
+
1. `mkdir src/components/ui/<name>` and move the file in.
|
|
100
|
+
2. If it defines a `cva(...)` variant (check with
|
|
101
|
+
`grep -l "= cva(" src/components/ui/<name>/<name>.tsx`), extract that
|
|
102
|
+
block into `<name>.styles.ts`, export it, and import it back into
|
|
103
|
+
`<name>.tsx` — nothing else in the file changes.
|
|
104
|
+
3. Add `export * from './<name>'` as that folder's `index.ts`.
|
|
105
|
+
4. Re-export whatever the component exports from `src/index.ts`.
|
|
106
|
+
5. Run `npm run typecheck && npm run lint && npm run build` — verify,
|
|
107
|
+
don't assume it's wired correctly.
|
|
108
|
+
6. Add a story in `stories/` if it's worth a visual check.
|
|
109
|
+
|
|
110
|
+
No adaptation of props/variants/class strings — if shadcn's real API is
|
|
111
|
+
missing something an old design wanted, that's a known, accepted gap, not
|
|
112
|
+
something to quietly patch back in.
|
|
113
|
+
|
|
114
|
+
## Updating a component when shadcn/Base UI changes it
|
|
115
|
+
|
|
116
|
+
There's no single command for this — the CLI's `add --overwrite` always
|
|
117
|
+
targets the flat path, so re-running it against an already-foldered
|
|
118
|
+
component lands a fresh copy _alongside_ the folder, not inside it. Use
|
|
119
|
+
the helper script, which does the mechanical parts and leaves the actual
|
|
120
|
+
merge to you:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
node scripts/sync-component.mjs <name>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
This pulls the current real source, formats it with our own Prettier
|
|
127
|
+
config (raw CLI output is unformatted — diffing it against our formatted
|
|
128
|
+
folder version otherwise shows a "change" on every single line purely from
|
|
129
|
+
quote-style, confirmed directly by re-pulling a component right after
|
|
130
|
+
installing it and seeing a ~90-line diff that was 100% formatting, zero
|
|
131
|
+
real content), then prints a real diff against your folder's `<name>.tsx`.
|
|
132
|
+
|
|
133
|
+
- **No diff** → already current; the script deletes the stray pulled file
|
|
134
|
+
for you.
|
|
135
|
+
- **Real diff** → review it, manually re-apply the actual change into
|
|
136
|
+
`<name>.tsx` / `<name>.styles.ts`, then delete the pulled flat file
|
|
137
|
+
(the script tells you the exact path) and re-run
|
|
138
|
+
`typecheck && lint && build`. For one of the 6 split components, expect
|
|
139
|
+
the diff to show the whole `cva(...)` block as changed even when it
|
|
140
|
+
isn't — that's the inline-vs-imported structural difference, not a real
|
|
141
|
+
edit; the script's output calls this out explicitly.
|
|
142
|
+
|
|
143
|
+
Deliberately no auto-merge — a UI component's logic isn't something to
|
|
144
|
+
blindly patch from a diff.
|
|
145
|
+
|
|
146
|
+
## Publishing
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
npm run build
|
|
150
|
+
npm publish
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
`prepublishOnly` runs lint + build automatically first. `npm publish` needs
|
|
154
|
+
a one-time browser OTP approval (standard npm 2FA-on-publish) — run it in
|
|
155
|
+
an interactive terminal, not a background process.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Accordion as AccordionPrimitive } from '@base-ui/react/accordion';
|
|
2
|
+
declare function Accordion({ className, ...props }: AccordionPrimitive.Root.Props): import("react").JSX.Element;
|
|
3
|
+
declare function AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props): import("react").JSX.Element;
|
|
4
|
+
declare function AccordionTrigger({ className, children, ...props }: AccordionPrimitive.Trigger.Props): import("react").JSX.Element;
|
|
5
|
+
declare function AccordionContent({ className, children, ...props }: AccordionPrimitive.Panel.Props): import("react").JSX.Element;
|
|
6
|
+
export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
|
|
7
|
+
//# sourceMappingURL=accordion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/accordion/accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAI1E,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,+BAQxE;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,+BAQ5E;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,+BAuBlC;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,+BAiBhC;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { cn as e } from "cn";
|
|
2
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
|
+
import { ChevronDownIcon as r, ChevronUpIcon as i } from "lucide-react";
|
|
4
|
+
import { Accordion as a } from "@base-ui/react/accordion";
|
|
5
|
+
//#region src/components/ui/accordion/accordion.tsx
|
|
6
|
+
function o({ className: n, ...r }) {
|
|
7
|
+
return /* @__PURE__ */ t(a.Root, {
|
|
8
|
+
"data-slot": "accordion",
|
|
9
|
+
className: e("flex w-full flex-col", n),
|
|
10
|
+
...r
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
function s({ className: n, ...r }) {
|
|
14
|
+
return /* @__PURE__ */ t(a.Item, {
|
|
15
|
+
"data-slot": "accordion-item",
|
|
16
|
+
className: e("not-last:border-b", n),
|
|
17
|
+
...r
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function c({ className: o, children: s, ...c }) {
|
|
21
|
+
return /* @__PURE__ */ t(a.Header, {
|
|
22
|
+
className: "flex",
|
|
23
|
+
children: /* @__PURE__ */ n(a.Trigger, {
|
|
24
|
+
"data-slot": "accordion-trigger",
|
|
25
|
+
className: e("group/accordion-trigger focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:after:border-ring **:data-[slot=accordion-trigger-icon]:text-muted-foreground 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", o),
|
|
26
|
+
...c,
|
|
27
|
+
children: [
|
|
28
|
+
s,
|
|
29
|
+
/* @__PURE__ */ t(r, {
|
|
30
|
+
"data-slot": "accordion-trigger-icon",
|
|
31
|
+
className: "pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden"
|
|
32
|
+
}),
|
|
33
|
+
/* @__PURE__ */ t(i, {
|
|
34
|
+
"data-slot": "accordion-trigger-icon",
|
|
35
|
+
className: "pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline"
|
|
36
|
+
})
|
|
37
|
+
]
|
|
38
|
+
})
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function l({ className: n, children: r, ...i }) {
|
|
42
|
+
return /* @__PURE__ */ t(a.Panel, {
|
|
43
|
+
"data-slot": "accordion-content",
|
|
44
|
+
className: "data-open:animate-accordion-down data-closed:animate-accordion-up overflow-hidden text-sm",
|
|
45
|
+
...i,
|
|
46
|
+
children: /* @__PURE__ */ t("div", {
|
|
47
|
+
className: e("[&_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),
|
|
48
|
+
children: r
|
|
49
|
+
})
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
export { o as Accordion, l as AccordionContent, s as AccordionItem, c as AccordionTrigger };
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion.js","names":[],"sources":["../../../../src/components/ui/accordion/accordion.tsx"],"sourcesContent":["import { Accordion as AccordionPrimitive } from '@base-ui/react/accordion'\nimport { cn } from 'cn'\nimport { ChevronDownIcon, ChevronUpIcon } from 'lucide-react'\n\nfunction Accordion({ className, ...props }: AccordionPrimitive.Root.Props) {\n return (\n <AccordionPrimitive.Root\n data-slot=\"accordion\"\n className={cn('flex w-full flex-col', className)}\n {...props}\n />\n )\n}\n\nfunction AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn('not-last:border-b', className)}\n {...props}\n />\n )\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: AccordionPrimitive.Trigger.Props) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n 'group/accordion-trigger focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:after:border-ring **:data-[slot=accordion-trigger-icon]:text-muted-foreground 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\n data-slot=\"accordion-trigger-icon\"\n className=\"pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden\"\n />\n <ChevronUpIcon\n data-slot=\"accordion-trigger-icon\"\n className=\"pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline\"\n />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n )\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: AccordionPrimitive.Panel.Props) {\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 { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n"],"mappings":";;;;;AAIA,SAAS,EAAU,EAAE,cAAW,GAAG,KAAwC;CACzE,OACE,kBAAC,EAAmB,MAApB;EACE,aAAU;EACV,WAAW,EAAG,wBAAwB,CAAS;EAC/C,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAc,EAAE,cAAW,GAAG,KAAwC;CAC7E,OACE,kBAAC,EAAmB,MAApB;EACE,aAAU;EACV,WAAW,EAAG,qBAAqB,CAAS;EAC5C,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAiB,EACxB,cACA,aACA,GAAG,KACgC;CACnC,OACE,kBAAC,EAAmB,QAApB;EAA2B,WAAU;EACnC,UAAA,kBAAC,EAAmB,SAApB;GACE,aAAU;GACV,WAAW,EACT,8fACA,CACF;GACA,GAAI;GANN,UAAA;IAQG;IACD,kBAAC,GAAD;KACE,aAAU;KACV,WAAU;IACX,CAAA;IACD,kBAAC,GAAD;KACE,aAAU;KACV,WAAU;IACX,CAAA;GACyB;;CACH,CAAA;AAE/B;AAEA,SAAS,EAAiB,EACxB,cACA,aACA,GAAG,KAC8B;CACjC,OACE,kBAAC,EAAmB,OAApB;EACE,aAAU;EACV,WAAU;EACV,GAAI;EAEJ,UAAA,kBAAC,OAAD;GACE,WAAW,EACT,2LACA,CACF;GAEC;EACE,CAAA;CACmB,CAAA;AAE9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/accordion/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { VariantProps } from 'class-variance-authority';
|
|
2
|
+
import { alertVariants } from './alert.styles';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
declare function Alert({ className, variant, ...props }: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>): React.JSX.Element;
|
|
5
|
+
declare function AlertTitle({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
6
|
+
declare function AlertDescription({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
7
|
+
declare function AlertAction({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
8
|
+
export { Alert, AlertTitle, AlertDescription, AlertAction };
|
|
9
|
+
//# sourceMappingURL=alert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/alert/alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,qBASlE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAWvE;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAW7E;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQxE;AAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { alertVariants as e } from "./alert.styles.js";
|
|
2
|
+
import "class-variance-authority";
|
|
3
|
+
import { cn as t } from "cn";
|
|
4
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
5
|
+
import "react";
|
|
6
|
+
//#region src/components/ui/alert/alert.tsx
|
|
7
|
+
function r({ className: r, variant: i, ...a }) {
|
|
8
|
+
return /* @__PURE__ */ n("div", {
|
|
9
|
+
"data-slot": "alert",
|
|
10
|
+
role: "alert",
|
|
11
|
+
className: t(e({ variant: i }), r),
|
|
12
|
+
...a
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
function i({ className: e, ...r }) {
|
|
16
|
+
return /* @__PURE__ */ n("div", {
|
|
17
|
+
"data-slot": "alert-title",
|
|
18
|
+
className: t("[&_a]:hover:text-foreground font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3", e),
|
|
19
|
+
...r
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function a({ className: e, ...r }) {
|
|
23
|
+
return /* @__PURE__ */ n("div", {
|
|
24
|
+
"data-slot": "alert-description",
|
|
25
|
+
className: t("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", e),
|
|
26
|
+
...r
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
function o({ className: e, ...r }) {
|
|
30
|
+
return /* @__PURE__ */ n("div", {
|
|
31
|
+
"data-slot": "alert-action",
|
|
32
|
+
className: t("absolute top-2 right-2", e),
|
|
33
|
+
...r
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { r as Alert, o as AlertAction, a as AlertDescription, i as AlertTitle };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=alert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.js","names":[],"sources":["../../../../src/components/ui/alert/alert.tsx"],"sourcesContent":["import * as React from 'react'\nimport { type VariantProps } from 'class-variance-authority'\nimport { cn } from 'cn'\nimport { alertVariants } from './alert.styles'\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>) {\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 }: React.ComponentProps<'div'>) {\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({ className, ...props }: React.ComponentProps<'div'>) {\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 }: React.ComponentProps<'div'>) {\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 { Alert, AlertTitle, AlertDescription, AlertAction }\n"],"mappings":";;;;;;AAKA,SAAS,EAAM,EACb,cACA,YACA,GAAG,KACgE;CACnE,OACE,kBAAC,OAAD;EACE,aAAU;EACV,MAAK;EACL,WAAW,EAAG,EAAc,EAAE,WAAQ,CAAC,GAAG,CAAS;EACnD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAW,EAAE,cAAW,GAAG,KAAsC;CACxE,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,uHACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAiB,EAAE,cAAW,GAAG,KAAsC;CAC9E,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,8JACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAY,EAAE,cAAW,GAAG,KAAsC;CACzE,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EAAG,0BAA0B,CAAS;EACjD,GAAI;CACL,CAAA;AAEL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/alert/alert.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa;;8EAczB,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { cva as e } from "class-variance-authority";
|
|
2
|
+
//#region src/components/ui/alert/alert.styles.ts
|
|
3
|
+
var t = e("group/alert relative grid w-full 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", {
|
|
4
|
+
variants: { variant: {
|
|
5
|
+
default: "bg-card text-card-foreground",
|
|
6
|
+
destructive: "bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"
|
|
7
|
+
} },
|
|
8
|
+
defaultVariants: { variant: "default" }
|
|
9
|
+
});
|
|
10
|
+
//#endregion
|
|
11
|
+
export { t as alertVariants };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=alert.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.styles.js","names":[],"sources":["../../../../src/components/ui/alert/alert.styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const alertVariants = cva(\n \"group/alert relative grid w-full 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\",\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n destructive:\n 'bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n)\n"],"mappings":";;AAEA,IAAa,IAAgB,EAC3B,6TACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aACE;CACJ,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/alert/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AlertDialog as AlertDialogPrimitive } from '@base-ui/react/alert-dialog';
|
|
2
|
+
import { Button } from '../button';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
declare function AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props): React.JSX.Element;
|
|
5
|
+
declare function AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props): React.JSX.Element;
|
|
6
|
+
declare function AlertDialogPortal({ ...props }: AlertDialogPrimitive.Portal.Props): React.JSX.Element;
|
|
7
|
+
declare function AlertDialogOverlay({ className, ...props }: AlertDialogPrimitive.Backdrop.Props): React.JSX.Element;
|
|
8
|
+
declare function AlertDialogContent({ className, size, ...props }: AlertDialogPrimitive.Popup.Props & {
|
|
9
|
+
size?: 'default' | 'sm';
|
|
10
|
+
}): React.JSX.Element;
|
|
11
|
+
declare function AlertDialogHeader({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
12
|
+
declare function AlertDialogFooter({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
13
|
+
declare function AlertDialogMedia({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
14
|
+
declare function AlertDialogTitle({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Title>): React.JSX.Element;
|
|
15
|
+
declare function AlertDialogDescription({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Description>): React.JSX.Element;
|
|
16
|
+
declare function AlertDialogAction({ className, ...props }: React.ComponentProps<typeof Button>): React.JSX.Element;
|
|
17
|
+
declare function AlertDialogCancel({ className, variant, size, ...props }: AlertDialogPrimitive.Close.Props & Pick<React.ComponentProps<typeof Button>, 'variant' | 'size'>): React.JSX.Element;
|
|
18
|
+
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, };
|
|
19
|
+
//# sourceMappingURL=alert-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-dialog.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/alert-dialog/alert-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAGjF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,qBAEjE;AAED,iBAAS,kBAAkB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,CAAC,OAAO,CAAC,KAAK,qBAE3E;AAED,iBAAS,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,qBAEzE;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,oBAAoB,CAAC,QAAQ,CAAC,KAAK,qBAWrC;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,oBAAoB,CAAC,KAAK,CAAC,KAAK,GAAG;IACpC,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;CACxB,qBAeA;AAED,iBAAS,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAW9E;AAED,iBAAS,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAW9E;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAW7E;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,KAAK,CAAC,qBAWzD;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,WAAW,CAAC,qBAW/D;AAED,iBAAS,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,qBAEtF;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,OAAmB,EACnB,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,oBAAoB,CAAC,KAAK,CAAC,KAAK,GACjC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,qBAS9D;AAED,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,CAAA"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { Button as e } from "../button/button.js";
|
|
2
|
+
import { cn as t } from "cn";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
+
import "react";
|
|
5
|
+
import { AlertDialog as i } from "@base-ui/react/alert-dialog";
|
|
6
|
+
//#region src/components/ui/alert-dialog/alert-dialog.tsx
|
|
7
|
+
function a({ ...e }) {
|
|
8
|
+
return /* @__PURE__ */ n(i.Root, {
|
|
9
|
+
"data-slot": "alert-dialog",
|
|
10
|
+
...e
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
function o({ ...e }) {
|
|
14
|
+
return /* @__PURE__ */ n(i.Trigger, {
|
|
15
|
+
"data-slot": "alert-dialog-trigger",
|
|
16
|
+
...e
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function s({ ...e }) {
|
|
20
|
+
return /* @__PURE__ */ n(i.Portal, {
|
|
21
|
+
"data-slot": "alert-dialog-portal",
|
|
22
|
+
...e
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function c({ className: e, ...r }) {
|
|
26
|
+
return /* @__PURE__ */ n(i.Backdrop, {
|
|
27
|
+
"data-slot": "alert-dialog-overlay",
|
|
28
|
+
className: t("data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0 fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs", e),
|
|
29
|
+
...r
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function l({ className: e, size: a = "default", ...o }) {
|
|
33
|
+
return /* @__PURE__ */ r(s, { children: [/* @__PURE__ */ n(c, {}), /* @__PURE__ */ n(i.Popup, {
|
|
34
|
+
"data-slot": "alert-dialog-content",
|
|
35
|
+
"data-size": a,
|
|
36
|
+
className: t("group/alert-dialog-content bg-popover text-popover-foreground ring-foreground/10 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl p-4 ring-1 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm", e),
|
|
37
|
+
...o
|
|
38
|
+
})] });
|
|
39
|
+
}
|
|
40
|
+
function u({ className: e, ...r }) {
|
|
41
|
+
return /* @__PURE__ */ n("div", {
|
|
42
|
+
"data-slot": "alert-dialog-header",
|
|
43
|
+
className: t("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]", e),
|
|
44
|
+
...r
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function d({ className: e, ...r }) {
|
|
48
|
+
return /* @__PURE__ */ n("div", {
|
|
49
|
+
"data-slot": "alert-dialog-footer",
|
|
50
|
+
className: t("bg-muted/50 -mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end", e),
|
|
51
|
+
...r
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function f({ className: e, ...r }) {
|
|
55
|
+
return /* @__PURE__ */ n("div", {
|
|
56
|
+
"data-slot": "alert-dialog-media",
|
|
57
|
+
className: t("bg-muted mb-2 inline-flex size-10 items-center justify-center rounded-md sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-6", e),
|
|
58
|
+
...r
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function p({ className: e, ...r }) {
|
|
62
|
+
return /* @__PURE__ */ n(i.Title, {
|
|
63
|
+
"data-slot": "alert-dialog-title",
|
|
64
|
+
className: t("text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2", e),
|
|
65
|
+
...r
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function m({ className: e, ...r }) {
|
|
69
|
+
return /* @__PURE__ */ n(i.Description, {
|
|
70
|
+
"data-slot": "alert-dialog-description",
|
|
71
|
+
className: t("text-muted-foreground *:[a]:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3", e),
|
|
72
|
+
...r
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
function h({ className: r, ...i }) {
|
|
76
|
+
return /* @__PURE__ */ n(e, {
|
|
77
|
+
"data-slot": "alert-dialog-action",
|
|
78
|
+
className: t(r),
|
|
79
|
+
...i
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
function g({ className: r, variant: a = "outline", size: o = "default", ...s }) {
|
|
83
|
+
return /* @__PURE__ */ n(i.Close, {
|
|
84
|
+
"data-slot": "alert-dialog-cancel",
|
|
85
|
+
className: t(r),
|
|
86
|
+
render: /* @__PURE__ */ n(e, {
|
|
87
|
+
variant: a,
|
|
88
|
+
size: o
|
|
89
|
+
}),
|
|
90
|
+
...s
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
//#endregion
|
|
94
|
+
export { a as AlertDialog, h as AlertDialogAction, g as AlertDialogCancel, l as AlertDialogContent, m as AlertDialogDescription, d as AlertDialogFooter, u as AlertDialogHeader, f as AlertDialogMedia, c as AlertDialogOverlay, s as AlertDialogPortal, p as AlertDialogTitle, o as AlertDialogTrigger };
|
|
95
|
+
|
|
96
|
+
//# sourceMappingURL=alert-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert-dialog.js","names":[],"sources":["../../../../src/components/ui/alert-dialog/alert-dialog.tsx"],"sourcesContent":["import * as React from 'react'\nimport { AlertDialog as AlertDialogPrimitive } from '@base-ui/react/alert-dialog'\nimport { cn } from 'cn'\n\nimport { Button } from '@/components/ui/button'\n\nfunction AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props) {\n return <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n}\n\nfunction AlertDialogPortal({ ...props }: AlertDialogPrimitive.Portal.Props) {\n return <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: AlertDialogPrimitive.Backdrop.Props) {\n return (\n <AlertDialogPrimitive.Backdrop\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n 'data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0 fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogContent({\n className,\n size = 'default',\n ...props\n}: AlertDialogPrimitive.Popup.Props & {\n size?: 'default' | 'sm'\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Popup\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n 'group/alert-dialog-content bg-popover text-popover-foreground ring-foreground/10 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl p-4 ring-1 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm',\n className,\n )}\n {...props}\n />\n </AlertDialogPortal>\n )\n}\n\nfunction AlertDialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n 'grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n 'bg-muted/50 -mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogMedia({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"bg-muted mb-2 inline-flex size-10 items-center justify-center rounded-md sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-6\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\n 'text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-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',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogAction({ className, ...props }: React.ComponentProps<typeof Button>) {\n return <Button data-slot=\"alert-dialog-action\" className={cn(className)} {...props} />\n}\n\nfunction AlertDialogCancel({\n className,\n variant = 'outline',\n size = 'default',\n ...props\n}: AlertDialogPrimitive.Close.Props &\n Pick<React.ComponentProps<typeof Button>, 'variant' | 'size'>) {\n return (\n <AlertDialogPrimitive.Close\n data-slot=\"alert-dialog-cancel\"\n className={cn(className)}\n render={<Button variant={variant} size={size} />}\n {...props}\n />\n )\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n}\n"],"mappings":";;;;;;AAMA,SAAS,EAAY,EAAE,GAAG,KAA0C;CAClE,OAAO,kBAAC,EAAqB,MAAtB;EAA2B,aAAU;EAAe,GAAI;CAAQ,CAAA;AACzE;AAEA,SAAS,EAAmB,EAAE,GAAG,KAA6C;CAC5E,OAAO,kBAAC,EAAqB,SAAtB;EAA8B,aAAU;EAAuB,GAAI;CAAQ,CAAA;AACpF;AAEA,SAAS,EAAkB,EAAE,GAAG,KAA4C;CAC1E,OAAO,kBAAC,EAAqB,QAAtB;EAA6B,aAAU;EAAsB,GAAI;CAAQ,CAAA;AAClF;AAEA,SAAS,EAAmB,EAC1B,cACA,GAAG,KACmC;CACtC,OACE,kBAAC,EAAqB,UAAtB;EACE,aAAU;EACV,WAAW,EACT,yLACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAmB,EAC1B,cACA,UAAO,WACP,GAAG,KAGF;CACD,OACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,CAAqB,CAAA,GACrB,kBAAC,EAAqB,OAAtB;EACE,aAAU;EACV,aAAW;EACX,WAAW,EACT,8aACA,CACF;EACA,GAAI;CACL,CAAA,CACgB,EAAA,CAAA;AAEvB;AAEA,SAAS,EAAkB,EAAE,cAAW,GAAG,KAAsC;CAC/E,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,sZACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAkB,EAAE,cAAW,GAAG,KAAsC;CAC/E,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,iNACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAiB,EAAE,cAAW,GAAG,KAAsC;CAC9E,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,8KACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAiB,EACxB,cACA,GAAG,KACuD;CAC1D,OACE,kBAAC,EAAqB,OAAtB;EACE,aAAU;EACV,WAAW,EACT,qJACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAuB,EAC9B,cACA,GAAG,KAC6D;CAChE,OACE,kBAAC,EAAqB,aAAtB;EACE,aAAU;EACV,WAAW,EACT,kIACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAkB,EAAE,cAAW,GAAG,KAA8C;CACvF,OAAO,kBAAC,GAAD;EAAQ,aAAU;EAAsB,WAAW,EAAG,CAAS;EAAG,GAAI;CAAQ,CAAA;AACvF;AAEA,SAAS,EAAkB,EACzB,cACA,aAAU,WACV,UAAO,WACP,GAAG,KAE4D;CAC/D,OACE,kBAAC,EAAqB,OAAtB;EACE,aAAU;EACV,WAAW,EAAG,CAAS;EACvB,QAAQ,kBAAC,GAAD;GAAiB;GAAe;EAAO,CAAA;EAC/C,GAAI;CACL,CAAA;AAEL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/alert-dialog/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Avatar as AvatarPrimitive } from '@base-ui/react/avatar';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
declare function Avatar({ className, size, ...props }: AvatarPrimitive.Root.Props & {
|
|
4
|
+
size?: 'default' | 'sm' | 'lg';
|
|
5
|
+
}): React.JSX.Element;
|
|
6
|
+
declare function AvatarImage({ className, ...props }: AvatarPrimitive.Image.Props): React.JSX.Element;
|
|
7
|
+
declare function AvatarFallback({ className, ...props }: AvatarPrimitive.Fallback.Props): React.JSX.Element;
|
|
8
|
+
declare function AvatarBadge({ className, ...props }: React.ComponentProps<'span'>): React.JSX.Element;
|
|
9
|
+
declare function AvatarGroup({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
10
|
+
declare function AvatarGroupCount({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
11
|
+
export { Avatar, AvatarImage, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarBadge };
|
|
12
|
+
//# sourceMappingURL=avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/avatar/avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAGjE,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,GAAG;IAC9B,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAAA;CAC/B,qBAYA;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,qBAQxE;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,KAAK,qBAW9E;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,qBAczE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAWxE;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAW7E;AAED,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { cn as e } from "cn";
|
|
2
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
+
import "react";
|
|
4
|
+
import { Avatar as n } from "@base-ui/react/avatar";
|
|
5
|
+
//#region src/components/ui/avatar/avatar.tsx
|
|
6
|
+
function r({ className: r, size: i = "default", ...a }) {
|
|
7
|
+
return /* @__PURE__ */ t(n.Root, {
|
|
8
|
+
"data-slot": "avatar",
|
|
9
|
+
"data-size": i,
|
|
10
|
+
className: e("group/avatar after:border-border relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten", r),
|
|
11
|
+
...a
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function i({ className: r, ...i }) {
|
|
15
|
+
return /* @__PURE__ */ t(n.Image, {
|
|
16
|
+
"data-slot": "avatar-image",
|
|
17
|
+
className: e("aspect-square size-full rounded-full object-cover", r),
|
|
18
|
+
...i
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function a({ className: r, ...i }) {
|
|
22
|
+
return /* @__PURE__ */ t(n.Fallback, {
|
|
23
|
+
"data-slot": "avatar-fallback",
|
|
24
|
+
className: e("bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs", r),
|
|
25
|
+
...i
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function o({ className: n, ...r }) {
|
|
29
|
+
return /* @__PURE__ */ t("span", {
|
|
30
|
+
"data-slot": "avatar-badge",
|
|
31
|
+
className: e("bg-primary text-primary-foreground ring-background absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-blend-color ring-2 select-none", "group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden", "group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2", "group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2", n),
|
|
32
|
+
...r
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function s({ className: n, ...r }) {
|
|
36
|
+
return /* @__PURE__ */ t("div", {
|
|
37
|
+
"data-slot": "avatar-group",
|
|
38
|
+
className: e("group/avatar-group *:data-[slot=avatar]:ring-background flex -space-x-2 *:data-[slot=avatar]:ring-2", n),
|
|
39
|
+
...r
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function c({ className: n, ...r }) {
|
|
43
|
+
return /* @__PURE__ */ t("div", {
|
|
44
|
+
"data-slot": "avatar-group-count",
|
|
45
|
+
className: e("bg-muted text-muted-foreground ring-background relative flex size-8 shrink-0 items-center justify-center rounded-full text-sm ring-2 group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3", n),
|
|
46
|
+
...r
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
//#endregion
|
|
50
|
+
export { r as Avatar, o as AvatarBadge, a as AvatarFallback, s as AvatarGroup, c as AvatarGroupCount, i as AvatarImage };
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.js","names":[],"sources":["../../../../src/components/ui/avatar/avatar.tsx"],"sourcesContent":["import * as React from 'react'\nimport { Avatar as AvatarPrimitive } from '@base-ui/react/avatar'\nimport { cn } from 'cn'\n\nfunction Avatar({\n className,\n size = 'default',\n ...props\n}: AvatarPrimitive.Root.Props & {\n size?: 'default' | 'sm' | 'lg'\n}) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n className={cn(\n 'group/avatar after:border-border relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({ className, ...props }: AvatarPrimitive.Image.Props) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn('aspect-square size-full rounded-full object-cover', className)}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({ className, ...props }: AvatarPrimitive.Fallback.Props) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n 'bg-muted text-muted-foreground flex size-full items-center justify-center rounded-full text-sm group-data-[size=sm]/avatar:text-xs',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n 'bg-primary text-primary-foreground ring-background absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-blend-color ring-2 select-none',\n 'group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden',\n 'group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2',\n 'group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n 'group/avatar-group *:data-[slot=avatar]:ring-background flex -space-x-2 *:data-[slot=avatar]:ring-2',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarGroupCount({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\n 'bg-muted text-muted-foreground ring-background relative flex size-8 shrink-0 items-center justify-center rounded-full text-sm ring-2 group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Avatar, AvatarImage, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarBadge }\n"],"mappings":";;;;;AAIA,SAAS,EAAO,EACd,cACA,UAAO,WACP,GAAG,KAGF;CACD,OACE,kBAAC,EAAgB,MAAjB;EACE,aAAU;EACV,aAAW;EACX,WAAW,EACT,yPACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAY,EAAE,cAAW,GAAG,KAAsC;CACzE,OACE,kBAAC,EAAgB,OAAjB;EACE,aAAU;EACV,WAAW,EAAG,qDAAqD,CAAS;EAC5E,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAe,EAAE,cAAW,GAAG,KAAyC;CAC/E,OACE,kBAAC,EAAgB,UAAjB;EACE,aAAU;EACV,WAAW,EACT,sIACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAY,EAAE,cAAW,GAAG,KAAuC;CAC1E,OACE,kBAAC,QAAD;EACE,aAAU;EACV,WAAW,EACT,4KACA,iFACA,6FACA,iFACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAY,EAAE,cAAW,GAAG,KAAsC;CACzE,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,uGACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAiB,EAAE,cAAW,GAAG,KAAsC;CAC9E,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,4VACA,CACF;EACA,GAAI;CACL,CAAA;AAEL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/avatar/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { useRender } from '@base-ui/react/use-render';
|
|
2
|
+
import { VariantProps } from 'class-variance-authority';
|
|
3
|
+
import { badgeVariants } from './badge.styles';
|
|
4
|
+
declare function Badge({ className, variant, render, ...props }: useRender.ComponentProps<'span'> & VariantProps<typeof badgeVariants>): import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>;
|
|
5
|
+
export { Badge, badgeVariants };
|
|
6
|
+
//# sourceMappingURL=badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/badge/badge.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,OAAmB,EACnB,MAAM,EACN,GAAG,KAAK,EACT,EAAE,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,8FAevE;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { badgeVariants as e } from "./badge.styles.js";
|
|
2
|
+
import "class-variance-authority";
|
|
3
|
+
import { cn as t } from "cn";
|
|
4
|
+
import { mergeProps as n } from "@base-ui/react/merge-props";
|
|
5
|
+
import { useRender as r } from "@base-ui/react/use-render";
|
|
6
|
+
//#region src/components/ui/badge/badge.tsx
|
|
7
|
+
function i({ className: i, variant: a = "default", render: o, ...s }) {
|
|
8
|
+
return r({
|
|
9
|
+
defaultTagName: "span",
|
|
10
|
+
props: n({ className: t(e({ variant: a }), i) }, s),
|
|
11
|
+
render: o,
|
|
12
|
+
state: {
|
|
13
|
+
slot: "badge",
|
|
14
|
+
variant: a
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { i as Badge, e as badgeVariants };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.js","names":[],"sources":["../../../../src/components/ui/badge/badge.tsx"],"sourcesContent":["import { mergeProps } from '@base-ui/react/merge-props'\nimport { useRender } from '@base-ui/react/use-render'\nimport { type VariantProps } from 'class-variance-authority'\nimport { cn } from 'cn'\nimport { badgeVariants } from './badge.styles'\n\nfunction Badge({\n className,\n variant = 'default',\n render,\n ...props\n}: useRender.ComponentProps<'span'> & VariantProps<typeof badgeVariants>) {\n return useRender({\n defaultTagName: 'span',\n props: mergeProps<'span'>(\n {\n className: cn(badgeVariants({ variant }), className),\n },\n props,\n ),\n render,\n state: {\n slot: 'badge',\n variant,\n },\n })\n}\n\nexport { Badge, badgeVariants }\n"],"mappings":";;;;;;AAMA,SAAS,EAAM,EACb,cACA,aAAU,WACV,WACA,GAAG,KACqE;CACxE,OAAO,EAAU;EACf,gBAAgB;EAChB,OAAO,EACL,EACE,WAAW,EAAG,EAAc,EAAE,WAAQ,CAAC,GAAG,CAAS,EACrD,GACA,CACF;EACA;EACA,OAAO;GACL,MAAM;GACN;EACF;CACF,CAAC;AACH"}
|