@zentauri-ui/zentauri-components 0.0.93 → 1.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 +77 -34
- package/dist/chunk-B23TPTVG.mjs +11 -0
- package/dist/chunk-B23TPTVG.mjs.map +1 -0
- package/dist/{chunk-BZSIXBA7.js → chunk-BITDSQMR.js} +8 -6
- package/dist/chunk-BITDSQMR.js.map +1 -0
- package/dist/{chunk-VJHD7QZH.mjs → chunk-BORK3BJO.mjs} +4 -7
- package/dist/chunk-BORK3BJO.mjs.map +1 -0
- package/dist/chunk-WZ2GOU2J.js +13 -0
- package/dist/chunk-WZ2GOU2J.js.map +1 -0
- package/dist/ui/accordion.d.mts +1 -1
- package/dist/ui/accordion.d.ts +1 -1
- package/dist/ui/accordion.js +80 -61
- package/dist/ui/accordion.js.map +1 -1
- package/dist/ui/accordion.mjs +46 -39
- package/dist/ui/accordion.mjs.map +1 -1
- package/dist/ui/alert.d.mts +1 -1
- package/dist/ui/alert.d.ts +1 -1
- package/dist/ui/alert.js +57 -46
- package/dist/ui/alert.js.map +1 -1
- package/dist/ui/alert.mjs +28 -30
- package/dist/ui/alert.mjs.map +1 -1
- package/dist/ui/avatar.d.mts +59 -0
- package/dist/ui/avatar.d.ts +59 -0
- package/dist/ui/avatar.js +221 -0
- package/dist/ui/avatar.js.map +1 -0
- package/dist/ui/avatar.mjs +211 -0
- package/dist/ui/avatar.mjs.map +1 -0
- package/dist/ui/badge.js +20 -25
- package/dist/ui/badge.js.map +1 -1
- package/dist/ui/badge.mjs +8 -20
- package/dist/ui/badge.mjs.map +1 -1
- package/dist/ui/breadcrumb.d.mts +71 -0
- package/dist/ui/breadcrumb.d.ts +71 -0
- package/dist/ui/breadcrumb.js +174 -0
- package/dist/ui/breadcrumb.js.map +1 -0
- package/dist/ui/breadcrumb.mjs +161 -0
- package/dist/ui/breadcrumb.mjs.map +1 -0
- package/dist/ui/buttons.js +19 -21
- package/dist/ui/buttons.js.map +1 -1
- package/dist/ui/buttons.mjs +8 -18
- package/dist/ui/buttons.mjs.map +1 -1
- package/dist/ui/card.js +59 -54
- package/dist/ui/card.js.map +1 -1
- package/dist/ui/card.mjs +29 -39
- package/dist/ui/card.mjs.map +1 -1
- package/dist/ui/divider.js +39 -35
- package/dist/ui/divider.js.map +1 -1
- package/dist/ui/divider.mjs +18 -23
- package/dist/ui/divider.mjs.map +1 -1
- package/dist/ui/drawer.d.mts +1 -1
- package/dist/ui/drawer.d.ts +1 -1
- package/dist/ui/drawer.js +106 -73
- package/dist/ui/drawer.js.map +1 -1
- package/dist/ui/drawer.mjs +64 -45
- package/dist/ui/drawer.mjs.map +1 -1
- package/dist/ui/dropdown.js +42 -48
- package/dist/ui/dropdown.js.map +1 -1
- package/dist/ui/dropdown.mjs +13 -29
- package/dist/ui/dropdown.mjs.map +1 -1
- package/dist/ui/empty-state.d.mts +3 -3
- package/dist/ui/empty-state.d.ts +3 -3
- package/dist/ui/empty-state.js +83 -59
- package/dist/ui/empty-state.js.map +1 -1
- package/dist/ui/empty-state.mjs +64 -52
- package/dist/ui/empty-state.mjs.map +1 -1
- package/dist/ui/file-upload.d.mts +32 -0
- package/dist/ui/file-upload.d.ts +32 -0
- package/dist/ui/file-upload.js +142 -0
- package/dist/ui/file-upload.js.map +1 -0
- package/dist/ui/file-upload.mjs +139 -0
- package/dist/ui/file-upload.mjs.map +1 -0
- package/dist/ui/inputs.js +26 -31
- package/dist/ui/inputs.js.map +1 -1
- package/dist/ui/inputs.mjs +8 -19
- package/dist/ui/inputs.mjs.map +1 -1
- package/dist/ui/modal.d.mts +1 -1
- package/dist/ui/modal.d.ts +1 -1
- package/dist/ui/modal.js +116 -78
- package/dist/ui/modal.js.map +1 -1
- package/dist/ui/modal.mjs +74 -51
- package/dist/ui/modal.mjs.map +1 -1
- package/dist/ui/pagination.js +47 -60
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/pagination.mjs +10 -32
- package/dist/ui/pagination.mjs.map +1 -1
- package/dist/ui/progress.js +70 -58
- package/dist/ui/progress.js.map +1 -1
- package/dist/ui/progress.mjs +44 -43
- package/dist/ui/progress.mjs.map +1 -1
- package/dist/ui/select.js +73 -81
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/select.mjs +38 -59
- package/dist/ui/select.mjs.map +1 -1
- package/dist/ui/skeleton.js +45 -50
- package/dist/ui/skeleton.js.map +1 -1
- package/dist/ui/skeleton.mjs +8 -25
- package/dist/ui/skeleton.mjs.map +1 -1
- package/dist/ui/slider.d.mts +83 -0
- package/dist/ui/slider.d.ts +83 -0
- package/dist/ui/slider.js +521 -0
- package/dist/ui/slider.js.map +1 -0
- package/dist/ui/slider.mjs +511 -0
- package/dist/ui/slider.mjs.map +1 -0
- package/dist/ui/spinner.js +37 -38
- package/dist/ui/spinner.js.map +1 -1
- package/dist/ui/spinner.mjs +11 -18
- package/dist/ui/spinner.mjs.map +1 -1
- package/dist/ui/stepper.d.mts +64 -0
- package/dist/ui/stepper.d.ts +64 -0
- package/dist/ui/stepper.js +207 -0
- package/dist/ui/stepper.js.map +1 -0
- package/dist/ui/stepper.mjs +198 -0
- package/dist/ui/stepper.mjs.map +1 -0
- package/dist/ui/table.js +77 -79
- package/dist/ui/table.js.map +1 -1
- package/dist/ui/table.mjs +43 -60
- package/dist/ui/table.mjs.map +1 -1
- package/dist/ui/tabs.js +75 -75
- package/dist/ui/tabs.js.map +1 -1
- package/dist/ui/tabs.mjs +48 -59
- package/dist/ui/tabs.mjs.map +1 -1
- package/dist/ui/toast.d.mts +2 -2
- package/dist/ui/toast.d.ts +2 -2
- package/dist/ui/toast.js +111 -88
- package/dist/ui/toast.js.map +1 -1
- package/dist/ui/toast.mjs +77 -69
- package/dist/ui/toast.mjs.map +1 -1
- package/dist/ui/toggle.js +26 -28
- package/dist/ui/toggle.js.map +1 -1
- package/dist/ui/toggle.mjs +12 -21
- package/dist/ui/toggle.mjs.map +1 -1
- package/dist/ui/tooltip.js +29 -36
- package/dist/ui/tooltip.js.map +1 -1
- package/dist/ui/tooltip.mjs +8 -23
- package/dist/ui/tooltip.mjs.map +1 -1
- package/package.json +5 -3
- package/dist/chunk-BZSIXBA7.js.map +0 -1
- package/dist/chunk-E5UX537J.js +0 -11
- package/dist/chunk-E5UX537J.js.map +0 -1
- package/dist/chunk-MEWYFWBX.mjs +0 -14
- package/dist/chunk-MEWYFWBX.mjs.map +0 -1
- package/dist/chunk-VJHD7QZH.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -10,9 +10,9 @@ Published artifacts live under `dist/`. You can import either the **UI barrel**
|
|
|
10
10
|
|
|
11
11
|
## Package exports
|
|
12
12
|
|
|
13
|
-
| Subpath
|
|
14
|
-
|
|
|
15
|
-
| `@zentauri-ui/zentauri-components/ui`
|
|
13
|
+
| Subpath | Description |
|
|
14
|
+
| -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
15
|
+
| `@zentauri-ui/zentauri-components/ui` | Full UI barrel: all components, hooks, and types (ESM `.js`, CJS `.cjs`, `.d.ts`) |
|
|
16
16
|
| `@zentauri-ui/zentauri-components/ui/<name>` | Single area entry (same artifacts per file). Use this when you import from one module only to keep the dependency graph smaller. |
|
|
17
17
|
|
|
18
18
|
The `<name>` segment matches the folder under `src/ui/` (for example `accordion`, `select`, `empty-state`, `buttons` for `Button`, `inputs` for `Input`).
|
|
@@ -26,29 +26,34 @@ The `<name>` segment matches the folder under `src/ui/` (for example `accordion`
|
|
|
26
26
|
|
|
27
27
|
Each area is available from the barrel and from its own subpath (`…/ui/<subpath>`):
|
|
28
28
|
|
|
29
|
-
| Area
|
|
30
|
-
|
|
|
31
|
-
| Accordion
|
|
32
|
-
| Alert
|
|
33
|
-
|
|
|
34
|
-
|
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
|
|
|
44
|
-
|
|
|
45
|
-
|
|
|
46
|
-
|
|
|
47
|
-
|
|
|
48
|
-
|
|
|
49
|
-
|
|
|
50
|
-
|
|
|
51
|
-
|
|
|
29
|
+
| Area | Subpath `…/ui/…` |
|
|
30
|
+
| -------------- | ---------------- |
|
|
31
|
+
| Accordion | `accordion` |
|
|
32
|
+
| Alert | `alert` |
|
|
33
|
+
| Avatar | `avatar` |
|
|
34
|
+
| Badge | `badge` |
|
|
35
|
+
| Breadcrumb | `breadcrumb` |
|
|
36
|
+
| Button | `buttons` |
|
|
37
|
+
| Card | `card` |
|
|
38
|
+
| Divider | `divider` |
|
|
39
|
+
| Drawer | `drawer` |
|
|
40
|
+
| Dropdown | `dropdown` |
|
|
41
|
+
| Empty state | `empty-state` |
|
|
42
|
+
| File upload | `file-upload` |
|
|
43
|
+
| Input | `inputs` |
|
|
44
|
+
| Modal | `modal` |
|
|
45
|
+
| Pagination | `pagination` |
|
|
46
|
+
| Progress | `progress` |
|
|
47
|
+
| Select | `select` |
|
|
48
|
+
| Skeleton | `skeleton` |
|
|
49
|
+
| Slider | `slider` |
|
|
50
|
+
| Spinner | `spinner` |
|
|
51
|
+
| Stepper | `stepper` |
|
|
52
|
+
| Table | `table` |
|
|
53
|
+
| Tabs | `tabs` |
|
|
54
|
+
| Toast | `toast` |
|
|
55
|
+
| Toggle | `toggle` |
|
|
56
|
+
| Tooltip | `tooltip` |
|
|
52
57
|
|
|
53
58
|
## Installation
|
|
54
59
|
|
|
@@ -102,6 +107,25 @@ pnpm add framer-motion react-icons
|
|
|
102
107
|
yarn add framer-motion react-icons
|
|
103
108
|
```
|
|
104
109
|
|
|
110
|
+
Published `dist/` files **import** these packages; they are **not** vendored inside `@zentauri-ui/zentauri-components`. Your app installs them via `dependencies` (or optional peers above), and your bundler resolves them from `node_modules`.
|
|
111
|
+
|
|
112
|
+
### Next.js: smaller route chunks
|
|
113
|
+
|
|
114
|
+
In **Next.js 13+**, enable [optimizePackageImports](https://nextjs.org/docs/app/api-reference/config/next-config-js/optimizePackageImports) so `framer-motion` and `react-icons` are resolved in a more tree-shakeable way:
|
|
115
|
+
|
|
116
|
+
```ts
|
|
117
|
+
// next.config.ts (example — API may be stable in your Next version)
|
|
118
|
+
import type { NextConfig } from "next";
|
|
119
|
+
|
|
120
|
+
const nextConfig: NextConfig = {
|
|
121
|
+
experimental: {
|
|
122
|
+
optimizePackageImports: ["framer-motion", "react-icons"],
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
export default nextConfig;
|
|
127
|
+
```
|
|
128
|
+
|
|
105
129
|
### Step 3 — Include library paths in globals.css
|
|
106
130
|
|
|
107
131
|
Add an `@source` entry so Tailwind scans class names inside `@zentauri-ui/zentauri-components`. The path is relative to this CSS file—adjust `../` if your file lives elsewhere.
|
|
@@ -130,26 +154,43 @@ import {
|
|
|
130
154
|
|
|
131
155
|
```tsx
|
|
132
156
|
import { Button } from "@zentauri-ui/zentauri-components/ui/buttons";
|
|
133
|
-
import {
|
|
157
|
+
import {
|
|
158
|
+
Select,
|
|
159
|
+
SelectTrigger,
|
|
160
|
+
SelectValue,
|
|
161
|
+
SelectContent,
|
|
162
|
+
SelectItem,
|
|
163
|
+
} from "@zentauri-ui/zentauri-components/ui/select";
|
|
134
164
|
```
|
|
135
165
|
|
|
136
166
|
#### Imports (barrel — one entry for symbols from several areas)
|
|
137
167
|
|
|
138
168
|
```tsx
|
|
139
|
-
import {
|
|
169
|
+
import {
|
|
170
|
+
Button,
|
|
171
|
+
Select,
|
|
172
|
+
SelectTrigger,
|
|
173
|
+
SelectValue,
|
|
174
|
+
SelectContent,
|
|
175
|
+
SelectItem,
|
|
176
|
+
} from "@zentauri-ui/zentauri-components/ui";
|
|
140
177
|
```
|
|
141
178
|
|
|
142
179
|
#### Usage
|
|
143
180
|
|
|
144
181
|
```tsx
|
|
145
182
|
<div className="rounded-3xl border border-white/10 bg-white/5 p-5 shadow-2xl shadow-slate-950/40 backdrop-blur-xl">
|
|
146
|
-
<Accordion
|
|
183
|
+
<Accordion
|
|
184
|
+
type="single"
|
|
185
|
+
defaultValue="item-1"
|
|
186
|
+
appearance="separated"
|
|
187
|
+
size="md"
|
|
188
|
+
>
|
|
147
189
|
<AccordionItem value="item-1">
|
|
148
190
|
<AccordionTrigger>Shipping</AccordionTrigger>
|
|
149
191
|
<AccordionContent>
|
|
150
192
|
<p className="text-sm text-slate-300">
|
|
151
|
-
Standard delivery in 3-5 business days. Express options at
|
|
152
|
-
checkout.
|
|
193
|
+
Standard delivery in 3-5 business days. Express options at checkout.
|
|
153
194
|
</p>
|
|
154
195
|
</AccordionContent>
|
|
155
196
|
</AccordionItem>
|
|
@@ -166,17 +207,19 @@ import { Button, Select, SelectTrigger, SelectValue, SelectContent, SelectItem }
|
|
|
166
207
|
```
|
|
167
208
|
|
|
168
209
|
## Checkout the components:
|
|
210
|
+
|
|
169
211
|
https://zentauri-ui.vercel.app/
|
|
170
212
|
|
|
171
213
|
## Development
|
|
172
214
|
|
|
173
215
|
From this package directory in the monorepo:
|
|
174
216
|
|
|
175
|
-
- `pnpm build` (or `npm run build`) — production bundle via `tsup`
|
|
176
|
-
- `pnpm dev` — `tsup` watch mode
|
|
217
|
+
- `pnpm build` (or `npm run build`) — production bundle via `tsup` (Rollup treeshake + `scripts/prepend-use-client.mjs` via `onSuccess` so each `dist/ui/*.mjs` / `*.js` entry starts with `"use client"`)
|
|
218
|
+
- `pnpm dev` — `tsup` watch mode (same `onSuccess` hook after each rebuild)
|
|
177
219
|
- `pnpm test` / `pnpm test:watch` — **Vitest** and **Testing Library** unit tests
|
|
178
220
|
|
|
179
|
-
## NOTE:
|
|
221
|
+
## NOTE:
|
|
222
|
+
|
|
180
223
|
This package is in initial phase of development and you might see some minor or major breaking changes in the future. If you want to contribute to this project, email me at @shubhmtiwri00@gmail.com or ping me on linkeded https://www.linkedin.com/in/shubham-tiwari-b7544b193/
|
|
181
224
|
|
|
182
225
|
## License
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { clsx } from 'clsx';
|
|
2
|
+
import { twMerge } from 'tailwind-merge';
|
|
3
|
+
|
|
4
|
+
// src/lib/utils.ts
|
|
5
|
+
function cn(...inputs) {
|
|
6
|
+
return twMerge(clsx(inputs));
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { cn };
|
|
10
|
+
//# sourceMappingURL=chunk-B23TPTVG.mjs.map
|
|
11
|
+
//# sourceMappingURL=chunk-B23TPTVG.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/utils.ts"],"names":[],"mappings":";;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B","file":"chunk-B23TPTVG.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"]}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
4
|
+
|
|
5
|
+
// src/ui/buttons/variants.ts
|
|
6
|
+
var buttonVariants = classVarianceAuthority.cva(
|
|
4
7
|
[
|
|
5
8
|
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xl",
|
|
6
9
|
"text-sm font-medium ring-offset-slate-950 transition-colors",
|
|
@@ -64,7 +67,6 @@ var buttonVariants = _classvarianceauthority.cva.call(void 0,
|
|
|
64
67
|
}
|
|
65
68
|
);
|
|
66
69
|
|
|
67
|
-
|
|
68
|
-
|
|
69
70
|
exports.buttonVariants = buttonVariants;
|
|
70
|
-
//# sourceMappingURL=chunk-
|
|
71
|
+
//# sourceMappingURL=chunk-BITDSQMR.js.map
|
|
72
|
+
//# sourceMappingURL=chunk-BITDSQMR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/buttons/variants.ts"],"names":["cva"],"mappings":";;;;;AAEO,IAAM,cAAA,GAAiBA,0BAAA;AAAA,EAC5B;AAAA,IACE,4EAAA;AAAA,IACA,6DAAA;AAAA,IACA,0GAAA;AAAA,IACA,kDAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,UAAA,EAAY;AAAA,QACV,OAAA,EACE,kFAAA;AAAA,QACF,SAAA,EAAW,+CAAA;AAAA,QACX,WAAA,EAAa,0CAAA;AAAA,QACb,OAAA,EACE,mEAAA;AAAA,QACF,KAAA,EAAO,gDAAA;AAAA,QACP,IAAA,EAAM,iEAAA;AAAA,QACN,KAAA,EACE,kFAAA;AAAA,QACF,OAAA,EAAS,gDAAA;AAAA,QACT,MAAA,EAAQ,8CAAA;AAAA,QACR,MAAA,EAAQ,8CAAA;AAAA,QACR,IAAA,EAAM,0CAAA;AAAA,QACN,IAAA,EAAM,0CAAA;AAAA,QACN,GAAA,EAAK,wCAAA;AAAA,QACL,IAAA,EAAM,0CAAA;AAAA,QACN,MAAA,EAAQ,8CAAA;AAAA,QACR,MAAA,EAAQ,8CAAA;AAAA,QACR,IAAA,EAAM,0CAAA;AAAA,QACN,KAAA,EAAO,4CAAA;AAAA,QACP,MAAA,EAAQ,8CAAA;AAAA,QACR,eAAA,EACE,iGAAA;AAAA,QACF,gBAAA,EACE,+FAAA;AAAA,QACF,cAAA,EACE,2FAAA;AAAA,QACF,iBAAA,EACE,qGAAA;AAAA,QACF,iBAAA,EACE,iGAAA;AAAA,QACF,eAAA,EACE,6FAAA;AAAA,QACF,iBAAA,EACE,qGAAA;AAAA,QACF,eAAA,EACE,6FAAA;AAAA,QACF,iBAAA,EACE;AAAA,OACJ;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,yBAAA;AAAA,QACJ,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI,6BAAA;AAAA,QACJ,EAAA,EAAI,2BAAA;AAAA,QACJ,KAAA,EAAO,mCAAA;AAAA,QACP,KAAA,EAAO,qCAAA;AAAA,QACP,KAAA,EAAO,sCAAA;AAAA,QACP,KAAA,EAAO,sCAAA;AAAA,QACP,KAAA,EAAO,sCAAA;AAAA,QACP,KAAA,EAAO,sCAAA;AAAA,QACP,KAAA,EAAO,6BAAA;AAAA,QACP,KAAA,EAAO,sCAAA;AAAA,QACP,MAAA,EAAQ,sCAAA;AAAA,QACR,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,UAAA,EAAY,SAAA;AAAA,MACZ,IAAA,EAAM;AAAA;AACR;AAEJ","file":"chunk-BITDSQMR.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const buttonVariants = cva(\n [\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xl\",\n \"text-sm font-medium ring-offset-slate-950 transition-colors\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"select-none\",\n ],\n {\n variants: {\n appearance: {\n default:\n \"bg-slate-50 text-slate-950 shadow-[0_1px_2px_rgba(15,23,42,0.12)] hover:bg-white\",\n secondary: \"bg-slate-800 text-slate-50 hover:bg-slate-700\",\n destructive: \"bg-rose-600 text-white hover:bg-rose-600\",\n outline:\n \"border border-white/10 bg-white/5 text-slate-50 hover:bg-white/10\",\n ghost: \"bg-transparent text-slate-200 hover:bg-white/5\",\n link: \"bg-transparent text-cyan-300 underline-offset-4 hover:underline\",\n glass:\n \"border border-white/15 bg-white/10 text-white backdrop-blur-md hover:bg-white/15\",\n emerald: \"bg-emerald-600 text-white hover:bg-emerald-600\",\n indigo: \"bg-indigo-600 text-white hover:bg-indigo-600\",\n purple: \"bg-purple-600 text-white hover:bg-purple-600\",\n pink: \"bg-pink-600 text-white hover:bg-pink-600\",\n rose: \"bg-rose-600 text-white hover:bg-rose-600\",\n sky: \"bg-sky-600 text-white hover:bg-sky-600\",\n teal: \"bg-teal-600 text-white hover:bg-teal-600\",\n yellow: \"bg-yellow-600 text-white hover:bg-yellow-600\",\n orange: \"bg-orange-600 text-white hover:bg-orange-600\",\n gray: \"bg-gray-600 text-white hover:bg-gray-600\",\n amber: \"bg-amber-600 text-white hover:bg-amber-600\",\n violet: \"bg-violet-600 text-white hover:bg-violet-600\",\n \"gradient-blue\":\n \"bg-gradient-to-r from-blue-600 to-purple-600 text-white hover:from-blue-600 hover:to-purple-600\",\n \"gradient-green\":\n \"bg-gradient-to-r from-green-600 to-lime-600 text-white hover:from-green-600 hover:to-lime-600\",\n \"gradient-red\":\n \"bg-gradient-to-r from-red-600 to-pink-600 text-white hover:from-red-600 hover:to-pink-600\",\n \"gradient-yellow\":\n \"bg-gradient-to-r from-yellow-600 to-orange-600 text-white hover:from-yellow-600 hover:to-orange-600\",\n \"gradient-purple\":\n \"bg-gradient-to-r from-purple-600 to-pink-600 text-white hover:from-purple-600 hover:to-pink-600\",\n \"gradient-teal\":\n \"bg-gradient-to-r from-teal-600 to-cyan-600 text-white hover:from-teal-600 hover:to-cyan-600\",\n \"gradient-indigo\":\n \"bg-gradient-to-r from-indigo-600 to-purple-600 text-white hover:from-indigo-600 hover:to-purple-600\",\n \"gradient-pink\":\n \"bg-gradient-to-r from-pink-600 to-rose-600 text-white hover:from-pink-600 hover:to-rose-600\",\n \"gradient-orange\":\n \"bg-gradient-to-r from-orange-600 to-red-600 text-white hover:from-orange-600 hover:to-red-600\",\n },\n size: {\n sm: \"h-7 md:h-9 px-3 text-xs\",\n md: \"h-9 md:h-11 px-4\",\n lg: \"h-10 md:h-12 px-5 text-base\",\n xl: \"h-12 md:h-14 px-6 text-lg\",\n \"2xl\": \"h-14 md:h-16 px-6 md:px-8 text-xl\",\n \"3xl\": \"h-16 md:h-18 px-8 md:px-10 text-2xl\",\n \"4xl\": \"h-18 md:h-20 px-10 md:px-12 text-2xl\",\n \"5xl\": \"h-20 md:h-22 px-12 md:px-14 text-2xl\",\n \"6xl\": \"h-22 md:h-24 px-14 md:px-16 text-2xl\",\n \"7xl\": \"h-24 md:h-26 px-16 md:px-18 text-2xl\",\n \"8xl\": \"h-26 md:h-28 px-20 text-2xl\",\n \"9xl\": \"h-24 md:h-30 px-18 md:px-22 text-2xl\",\n \"10xl\": \"h-26 md:h-32 px-20 md:px-24 text-2xl\",\n icon: \"h-10 w-10\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n },\n },\n);\n"]}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { cva } from 'class-variance-authority';
|
|
3
2
|
|
|
4
3
|
// src/ui/buttons/variants.ts
|
|
5
|
-
import { cva } from "class-variance-authority";
|
|
6
4
|
var buttonVariants = cva(
|
|
7
5
|
[
|
|
8
6
|
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xl",
|
|
@@ -67,7 +65,6 @@ var buttonVariants = cva(
|
|
|
67
65
|
}
|
|
68
66
|
);
|
|
69
67
|
|
|
70
|
-
export {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
//# sourceMappingURL=chunk-VJHD7QZH.mjs.map
|
|
68
|
+
export { buttonVariants };
|
|
69
|
+
//# sourceMappingURL=chunk-BORK3BJO.mjs.map
|
|
70
|
+
//# sourceMappingURL=chunk-BORK3BJO.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/buttons/variants.ts"],"names":[],"mappings":";;;AAEO,IAAM,cAAA,GAAiB,GAAA;AAAA,EAC5B;AAAA,IACE,4EAAA;AAAA,IACA,6DAAA;AAAA,IACA,0GAAA;AAAA,IACA,kDAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,UAAA,EAAY;AAAA,QACV,OAAA,EACE,kFAAA;AAAA,QACF,SAAA,EAAW,+CAAA;AAAA,QACX,WAAA,EAAa,0CAAA;AAAA,QACb,OAAA,EACE,mEAAA;AAAA,QACF,KAAA,EAAO,gDAAA;AAAA,QACP,IAAA,EAAM,iEAAA;AAAA,QACN,KAAA,EACE,kFAAA;AAAA,QACF,OAAA,EAAS,gDAAA;AAAA,QACT,MAAA,EAAQ,8CAAA;AAAA,QACR,MAAA,EAAQ,8CAAA;AAAA,QACR,IAAA,EAAM,0CAAA;AAAA,QACN,IAAA,EAAM,0CAAA;AAAA,QACN,GAAA,EAAK,wCAAA;AAAA,QACL,IAAA,EAAM,0CAAA;AAAA,QACN,MAAA,EAAQ,8CAAA;AAAA,QACR,MAAA,EAAQ,8CAAA;AAAA,QACR,IAAA,EAAM,0CAAA;AAAA,QACN,KAAA,EAAO,4CAAA;AAAA,QACP,MAAA,EAAQ,8CAAA;AAAA,QACR,eAAA,EACE,iGAAA;AAAA,QACF,gBAAA,EACE,+FAAA;AAAA,QACF,cAAA,EACE,2FAAA;AAAA,QACF,iBAAA,EACE,qGAAA;AAAA,QACF,iBAAA,EACE,iGAAA;AAAA,QACF,eAAA,EACE,6FAAA;AAAA,QACF,iBAAA,EACE,qGAAA;AAAA,QACF,eAAA,EACE,6FAAA;AAAA,QACF,iBAAA,EACE;AAAA,OACJ;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,yBAAA;AAAA,QACJ,EAAA,EAAI,kBAAA;AAAA,QACJ,EAAA,EAAI,6BAAA;AAAA,QACJ,EAAA,EAAI,2BAAA;AAAA,QACJ,KAAA,EAAO,mCAAA;AAAA,QACP,KAAA,EAAO,qCAAA;AAAA,QACP,KAAA,EAAO,sCAAA;AAAA,QACP,KAAA,EAAO,sCAAA;AAAA,QACP,KAAA,EAAO,sCAAA;AAAA,QACP,KAAA,EAAO,sCAAA;AAAA,QACP,KAAA,EAAO,6BAAA;AAAA,QACP,KAAA,EAAO,sCAAA;AAAA,QACP,MAAA,EAAQ,sCAAA;AAAA,QACR,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,UAAA,EAAY,SAAA;AAAA,MACZ,IAAA,EAAM;AAAA;AACR;AAEJ","file":"chunk-BORK3BJO.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const buttonVariants = cva(\n [\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xl\",\n \"text-sm font-medium ring-offset-slate-950 transition-colors\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"select-none\",\n ],\n {\n variants: {\n appearance: {\n default:\n \"bg-slate-50 text-slate-950 shadow-[0_1px_2px_rgba(15,23,42,0.12)] hover:bg-white\",\n secondary: \"bg-slate-800 text-slate-50 hover:bg-slate-700\",\n destructive: \"bg-rose-600 text-white hover:bg-rose-600\",\n outline:\n \"border border-white/10 bg-white/5 text-slate-50 hover:bg-white/10\",\n ghost: \"bg-transparent text-slate-200 hover:bg-white/5\",\n link: \"bg-transparent text-cyan-300 underline-offset-4 hover:underline\",\n glass:\n \"border border-white/15 bg-white/10 text-white backdrop-blur-md hover:bg-white/15\",\n emerald: \"bg-emerald-600 text-white hover:bg-emerald-600\",\n indigo: \"bg-indigo-600 text-white hover:bg-indigo-600\",\n purple: \"bg-purple-600 text-white hover:bg-purple-600\",\n pink: \"bg-pink-600 text-white hover:bg-pink-600\",\n rose: \"bg-rose-600 text-white hover:bg-rose-600\",\n sky: \"bg-sky-600 text-white hover:bg-sky-600\",\n teal: \"bg-teal-600 text-white hover:bg-teal-600\",\n yellow: \"bg-yellow-600 text-white hover:bg-yellow-600\",\n orange: \"bg-orange-600 text-white hover:bg-orange-600\",\n gray: \"bg-gray-600 text-white hover:bg-gray-600\",\n amber: \"bg-amber-600 text-white hover:bg-amber-600\",\n violet: \"bg-violet-600 text-white hover:bg-violet-600\",\n \"gradient-blue\":\n \"bg-gradient-to-r from-blue-600 to-purple-600 text-white hover:from-blue-600 hover:to-purple-600\",\n \"gradient-green\":\n \"bg-gradient-to-r from-green-600 to-lime-600 text-white hover:from-green-600 hover:to-lime-600\",\n \"gradient-red\":\n \"bg-gradient-to-r from-red-600 to-pink-600 text-white hover:from-red-600 hover:to-pink-600\",\n \"gradient-yellow\":\n \"bg-gradient-to-r from-yellow-600 to-orange-600 text-white hover:from-yellow-600 hover:to-orange-600\",\n \"gradient-purple\":\n \"bg-gradient-to-r from-purple-600 to-pink-600 text-white hover:from-purple-600 hover:to-pink-600\",\n \"gradient-teal\":\n \"bg-gradient-to-r from-teal-600 to-cyan-600 text-white hover:from-teal-600 hover:to-cyan-600\",\n \"gradient-indigo\":\n \"bg-gradient-to-r from-indigo-600 to-purple-600 text-white hover:from-indigo-600 hover:to-purple-600\",\n \"gradient-pink\":\n \"bg-gradient-to-r from-pink-600 to-rose-600 text-white hover:from-pink-600 hover:to-rose-600\",\n \"gradient-orange\":\n \"bg-gradient-to-r from-orange-600 to-red-600 text-white hover:from-orange-600 hover:to-red-600\",\n },\n size: {\n sm: \"h-7 md:h-9 px-3 text-xs\",\n md: \"h-9 md:h-11 px-4\",\n lg: \"h-10 md:h-12 px-5 text-base\",\n xl: \"h-12 md:h-14 px-6 text-lg\",\n \"2xl\": \"h-14 md:h-16 px-6 md:px-8 text-xl\",\n \"3xl\": \"h-16 md:h-18 px-8 md:px-10 text-2xl\",\n \"4xl\": \"h-18 md:h-20 px-10 md:px-12 text-2xl\",\n \"5xl\": \"h-20 md:h-22 px-12 md:px-14 text-2xl\",\n \"6xl\": \"h-22 md:h-24 px-14 md:px-16 text-2xl\",\n \"7xl\": \"h-24 md:h-26 px-16 md:px-18 text-2xl\",\n \"8xl\": \"h-26 md:h-28 px-20 text-2xl\",\n \"9xl\": \"h-24 md:h-30 px-18 md:px-22 text-2xl\",\n \"10xl\": \"h-26 md:h-32 px-20 md:px-24 text-2xl\",\n icon: \"h-10 w-10\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n },\n },\n);\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var clsx = require('clsx');
|
|
4
|
+
var tailwindMerge = require('tailwind-merge');
|
|
5
|
+
|
|
6
|
+
// src/lib/utils.ts
|
|
7
|
+
function cn(...inputs) {
|
|
8
|
+
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
exports.cn = cn;
|
|
12
|
+
//# sourceMappingURL=chunk-WZ2GOU2J.js.map
|
|
13
|
+
//# sourceMappingURL=chunk-WZ2GOU2J.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/utils.ts"],"names":["twMerge","clsx"],"mappings":";;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAOA,qBAAA,CAAQC,SAAA,CAAK,MAAM,CAAC,CAAA;AAC7B","file":"chunk-WZ2GOU2J.js","sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"]}
|
package/dist/ui/accordion.d.mts
CHANGED
|
@@ -62,7 +62,7 @@ declare function AccordionTrigger({ className, children, ref, ...rest }: Accordi
|
|
|
62
62
|
declare namespace AccordionTrigger {
|
|
63
63
|
var displayName: string;
|
|
64
64
|
}
|
|
65
|
-
declare function AccordionContent({ className, children, ref }: AccordionContentProps): react_jsx_runtime.JSX.Element | null;
|
|
65
|
+
declare function AccordionContent({ className, children, ref, }: AccordionContentProps): react_jsx_runtime.JSX.Element | null;
|
|
66
66
|
declare namespace AccordionContent {
|
|
67
67
|
var displayName: string;
|
|
68
68
|
}
|
package/dist/ui/accordion.d.ts
CHANGED
|
@@ -62,7 +62,7 @@ declare function AccordionTrigger({ className, children, ref, ...rest }: Accordi
|
|
|
62
62
|
declare namespace AccordionTrigger {
|
|
63
63
|
var displayName: string;
|
|
64
64
|
}
|
|
65
|
-
declare function AccordionContent({ className, children, ref }: AccordionContentProps): react_jsx_runtime.JSX.Element | null;
|
|
65
|
+
declare function AccordionContent({ className, children, ref, }: AccordionContentProps): react_jsx_runtime.JSX.Element | null;
|
|
66
66
|
declare namespace AccordionContent {
|
|
67
67
|
var displayName: string;
|
|
68
68
|
}
|
package/dist/ui/accordion.js
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
"use
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
2
3
|
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var _react = require('react');
|
|
4
|
+
var chunkWZ2GOU2J_js = require('../chunk-WZ2GOU2J.js');
|
|
5
|
+
var framerMotion = require('framer-motion');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
8
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
15
9
|
|
|
16
10
|
// src/ui/accordion/animations.ts
|
|
17
11
|
var accordionContentTransitionPresets = {
|
|
@@ -20,10 +14,7 @@ var accordionContentTransitionPresets = {
|
|
|
20
14
|
smooth: { duration: 0.28, ease: [0.22, 1, 0.36, 1] },
|
|
21
15
|
slow: { duration: 0.38, ease: [0.4, 0, 0.2, 1] }
|
|
22
16
|
};
|
|
23
|
-
|
|
24
|
-
// src/ui/accordion/variants.ts
|
|
25
|
-
var _classvarianceauthority = require('class-variance-authority');
|
|
26
|
-
var accordionVariants = _classvarianceauthority.cva.call(void 0, "w-full", {
|
|
17
|
+
var accordionVariants = classVarianceAuthority.cva("w-full", {
|
|
27
18
|
variants: {
|
|
28
19
|
appearance: {
|
|
29
20
|
default: "divide-y divide-white/10 rounded-xl border border-white/10",
|
|
@@ -61,7 +52,7 @@ var accordionVariants = _classvarianceauthority.cva.call(void 0, "w-full", {
|
|
|
61
52
|
size: "md"
|
|
62
53
|
}
|
|
63
54
|
});
|
|
64
|
-
var accordionItemVariants =
|
|
55
|
+
var accordionItemVariants = classVarianceAuthority.cva("", {
|
|
65
56
|
variants: {
|
|
66
57
|
appearance: {
|
|
67
58
|
default: "",
|
|
@@ -91,7 +82,7 @@ var accordionItemVariants = _classvarianceauthority.cva.call(void 0, "", {
|
|
|
91
82
|
},
|
|
92
83
|
defaultVariants: { appearance: "default" }
|
|
93
84
|
});
|
|
94
|
-
var accordionTriggerVariants =
|
|
85
|
+
var accordionTriggerVariants = classVarianceAuthority.cva(
|
|
95
86
|
"flex w-full items-center justify-between gap-3 py-3 text-left font-medium text-slate-50 outline-none transition hover:text-white focus-visible:ring-2 focus-visible:ring-white/30",
|
|
96
87
|
{
|
|
97
88
|
variants: {
|
|
@@ -104,7 +95,7 @@ var accordionTriggerVariants = _classvarianceauthority.cva.call(void 0,
|
|
|
104
95
|
defaultVariants: { size: "md" }
|
|
105
96
|
}
|
|
106
97
|
);
|
|
107
|
-
var accordionContentVariants =
|
|
98
|
+
var accordionContentVariants = classVarianceAuthority.cva("pb-3 text-sm", {
|
|
108
99
|
variants: {
|
|
109
100
|
size: {
|
|
110
101
|
sm: "pb-2 text-xs",
|
|
@@ -114,20 +105,17 @@ var accordionContentVariants = _classvarianceauthority.cva.call(void 0, "pb-3 te
|
|
|
114
105
|
},
|
|
115
106
|
defaultVariants: { size: "md" }
|
|
116
107
|
});
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
var _jsxruntime = require('react/jsx-runtime');
|
|
120
|
-
var AccordionContext = _react.createContext.call(void 0, null);
|
|
121
|
-
var AccordionItemValueContext = _react.createContext.call(void 0, null);
|
|
108
|
+
var AccordionContext = react.createContext(null);
|
|
109
|
+
var AccordionItemValueContext = react.createContext(null);
|
|
122
110
|
function useAccordionContext(component) {
|
|
123
|
-
const ctx =
|
|
111
|
+
const ctx = react.useContext(AccordionContext);
|
|
124
112
|
if (!ctx) {
|
|
125
113
|
throw new Error(`${component} must be used within <Accordion>`);
|
|
126
114
|
}
|
|
127
115
|
return ctx;
|
|
128
116
|
}
|
|
129
117
|
function useAccordionItemValue(component) {
|
|
130
|
-
const value =
|
|
118
|
+
const value = react.useContext(AccordionItemValueContext);
|
|
131
119
|
if (!value) {
|
|
132
120
|
throw new Error(`${component} must be used within <AccordionItem>`);
|
|
133
121
|
}
|
|
@@ -149,11 +137,16 @@ function Accordion({
|
|
|
149
137
|
}) {
|
|
150
138
|
const isSingleControlled = value !== void 0;
|
|
151
139
|
const isMultipleControlled = values !== void 0;
|
|
152
|
-
const [singleUncontrolled, setSingleUncontrolled] =
|
|
153
|
-
const [multipleUncontrolled, setMultipleUncontrolled] =
|
|
140
|
+
const [singleUncontrolled, setSingleUncontrolled] = react.useState(defaultValue);
|
|
141
|
+
const [multipleUncontrolled, setMultipleUncontrolled] = react.useState(
|
|
142
|
+
defaultValues ?? []
|
|
143
|
+
);
|
|
154
144
|
const singleValue = isSingleControlled ? value : singleUncontrolled;
|
|
155
|
-
const multipleValues =
|
|
156
|
-
|
|
145
|
+
const multipleValues = react.useMemo(
|
|
146
|
+
() => isMultipleControlled ? values ?? [] : multipleUncontrolled,
|
|
147
|
+
[isMultipleControlled, values, multipleUncontrolled]
|
|
148
|
+
);
|
|
149
|
+
const isOpen = react.useCallback(
|
|
157
150
|
(itemValue) => {
|
|
158
151
|
if (type === "single") {
|
|
159
152
|
return singleValue === itemValue;
|
|
@@ -162,14 +155,14 @@ function Accordion({
|
|
|
162
155
|
},
|
|
163
156
|
[multipleValues, singleValue, type]
|
|
164
157
|
);
|
|
165
|
-
const toggle =
|
|
158
|
+
const toggle = react.useCallback(
|
|
166
159
|
(itemValue) => {
|
|
167
160
|
if (type === "single") {
|
|
168
161
|
const next2 = singleValue === itemValue ? void 0 : itemValue;
|
|
169
162
|
if (!isSingleControlled) {
|
|
170
163
|
setSingleUncontrolled(next2);
|
|
171
164
|
}
|
|
172
|
-
|
|
165
|
+
onValueChange?.(next2);
|
|
173
166
|
return;
|
|
174
167
|
}
|
|
175
168
|
const exists = multipleValues.includes(itemValue);
|
|
@@ -177,7 +170,7 @@ function Accordion({
|
|
|
177
170
|
if (!isMultipleControlled) {
|
|
178
171
|
setMultipleUncontrolled(next);
|
|
179
172
|
}
|
|
180
|
-
|
|
173
|
+
onValuesChange?.(next);
|
|
181
174
|
},
|
|
182
175
|
[
|
|
183
176
|
isMultipleControlled,
|
|
@@ -189,42 +182,60 @@ function Accordion({
|
|
|
189
182
|
type
|
|
190
183
|
]
|
|
191
184
|
);
|
|
192
|
-
const ctx =
|
|
185
|
+
const ctx = react.useMemo(
|
|
193
186
|
() => ({
|
|
194
187
|
type,
|
|
195
|
-
transition:
|
|
196
|
-
appearance:
|
|
197
|
-
size:
|
|
188
|
+
transition: transition ?? "default",
|
|
189
|
+
appearance: appearance ?? "default",
|
|
190
|
+
size: size ?? "md",
|
|
198
191
|
isOpen,
|
|
199
192
|
toggle
|
|
200
193
|
}),
|
|
201
194
|
[appearance, isOpen, size, toggle, transition, type]
|
|
202
195
|
);
|
|
203
|
-
return /* @__PURE__ */
|
|
196
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AccordionContext.Provider, { value: ctx, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
197
|
+
"div",
|
|
198
|
+
{
|
|
199
|
+
"data-slot": "accordion",
|
|
200
|
+
className: chunkWZ2GOU2J_js.cn(accordionVariants({ appearance, size }), className),
|
|
201
|
+
children
|
|
202
|
+
}
|
|
203
|
+
) });
|
|
204
204
|
}
|
|
205
205
|
Accordion.displayName = "Accordion";
|
|
206
|
-
function AccordionItem({
|
|
206
|
+
function AccordionItem({
|
|
207
|
+
className,
|
|
208
|
+
value,
|
|
209
|
+
children,
|
|
210
|
+
ref,
|
|
211
|
+
...rest
|
|
212
|
+
}) {
|
|
207
213
|
const { appearance } = useAccordionContext("AccordionItem");
|
|
208
|
-
return /* @__PURE__ */
|
|
214
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AccordionItemValueContext.Provider, { value, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
209
215
|
"div",
|
|
210
216
|
{
|
|
211
217
|
ref,
|
|
212
218
|
"data-slot": "accordion-item",
|
|
213
219
|
"data-value": value,
|
|
214
|
-
className:
|
|
220
|
+
className: chunkWZ2GOU2J_js.cn(accordionItemVariants({ appearance }), className),
|
|
215
221
|
...rest,
|
|
216
222
|
children
|
|
217
223
|
}
|
|
218
224
|
) });
|
|
219
225
|
}
|
|
220
226
|
AccordionItem.displayName = "AccordionItem";
|
|
221
|
-
function AccordionTrigger({
|
|
227
|
+
function AccordionTrigger({
|
|
228
|
+
className,
|
|
229
|
+
children,
|
|
230
|
+
ref,
|
|
231
|
+
...rest
|
|
232
|
+
}) {
|
|
222
233
|
const itemValue = useAccordionItemValue("AccordionTrigger");
|
|
223
234
|
const { isOpen, toggle, size } = useAccordionContext("AccordionTrigger");
|
|
224
235
|
const open = isOpen(itemValue);
|
|
225
236
|
const panelId = `${itemValue}-panel`;
|
|
226
|
-
const baseId =
|
|
227
|
-
return /* @__PURE__ */
|
|
237
|
+
const baseId = react.useId();
|
|
238
|
+
return /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "m-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
228
239
|
"button",
|
|
229
240
|
{
|
|
230
241
|
ref,
|
|
@@ -233,7 +244,7 @@ function AccordionTrigger({ className, children, ref, ...rest }) {
|
|
|
233
244
|
id: `${baseId}-trigger-${itemValue}`,
|
|
234
245
|
"aria-expanded": open,
|
|
235
246
|
"aria-controls": panelId,
|
|
236
|
-
className:
|
|
247
|
+
className: chunkWZ2GOU2J_js.cn(accordionTriggerVariants({ size }), className),
|
|
237
248
|
onClick: () => toggle(itemValue),
|
|
238
249
|
...rest,
|
|
239
250
|
children
|
|
@@ -241,21 +252,29 @@ function AccordionTrigger({ className, children, ref, ...rest }) {
|
|
|
241
252
|
) });
|
|
242
253
|
}
|
|
243
254
|
AccordionTrigger.displayName = "AccordionTrigger";
|
|
244
|
-
function AccordionContent({
|
|
255
|
+
function AccordionContent({
|
|
256
|
+
className,
|
|
257
|
+
children,
|
|
258
|
+
ref
|
|
259
|
+
}) {
|
|
245
260
|
const itemValue = useAccordionItemValue("AccordionContent");
|
|
246
|
-
const {
|
|
261
|
+
const {
|
|
262
|
+
isOpen,
|
|
263
|
+
transition: transitionVariant,
|
|
264
|
+
size
|
|
265
|
+
} = useAccordionContext("AccordionContent");
|
|
247
266
|
const open = isOpen(itemValue);
|
|
248
267
|
const panelId = `${itemValue}-panel`;
|
|
249
268
|
const transitionConfig = accordionContentTransitionPresets[transitionVariant];
|
|
250
269
|
const motionless = transitionVariant === "none";
|
|
251
|
-
return open ? /* @__PURE__ */
|
|
252
|
-
|
|
270
|
+
return open ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
271
|
+
framerMotion.motion.div,
|
|
253
272
|
{
|
|
254
273
|
ref,
|
|
255
274
|
id: panelId,
|
|
256
275
|
role: "region",
|
|
257
276
|
"data-slot": "accordion-content",
|
|
258
|
-
className:
|
|
277
|
+
className: chunkWZ2GOU2J_js.cn(accordionContentVariants({ size }), className),
|
|
259
278
|
initial: motionless ? false : { opacity: 0 },
|
|
260
279
|
animate: motionless ? void 0 : { opacity: 1 },
|
|
261
280
|
exit: motionless ? void 0 : { opacity: 0 },
|
|
@@ -267,14 +286,14 @@ function AccordionContent({ className, children, ref }) {
|
|
|
267
286
|
}
|
|
268
287
|
AccordionContent.displayName = "AccordionContent";
|
|
269
288
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
289
|
+
exports.Accordion = Accordion;
|
|
290
|
+
exports.AccordionContent = AccordionContent;
|
|
291
|
+
exports.AccordionItem = AccordionItem;
|
|
292
|
+
exports.AccordionTrigger = AccordionTrigger;
|
|
293
|
+
exports.accordionContentTransitionPresets = accordionContentTransitionPresets;
|
|
294
|
+
exports.accordionContentVariants = accordionContentVariants;
|
|
295
|
+
exports.accordionItemVariants = accordionItemVariants;
|
|
296
|
+
exports.accordionTriggerVariants = accordionTriggerVariants;
|
|
297
|
+
exports.accordionVariants = accordionVariants;
|
|
298
|
+
//# sourceMappingURL=accordion.js.map
|
|
280
299
|
//# sourceMappingURL=accordion.js.map
|
package/dist/ui/accordion.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/shubham/Desktop/Repos/NEXT%20JS/zentauri-ui/packages/components/dist/ui/accordion.js"],"names":[],"mappings":"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,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/Users/shubham/Desktop/Repos/NEXT JS/zentauri-ui/packages/components/dist/ui/accordion.js","sourcesContent":[null]}
|
|
1
|
+
{"version":3,"sources":["../../src/ui/accordion/animations.ts","../../src/ui/accordion/variants.ts","../../src/ui/accordion/accordion.tsx"],"names":["cva","createContext","useContext","useState","useMemo","useCallback","next","jsx","cn","useId","motion"],"mappings":"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","file":"accordion.js","sourcesContent":["import type { Transition } from \"framer-motion\";\n\n/** Easing and duration presets for accordion panel open/close (opacity only). */\nexport type AccordionTransition = \"none\" | \"default\" | \"smooth\" | \"slow\";\n\nexport type AccordionTransitionPresets = Record<\n AccordionTransition,\n Transition\n>;\n\nexport const accordionContentTransitionPresets: AccordionTransitionPresets = {\n none: { duration: 0 },\n default: { duration: 0.2, ease: [0.4, 0, 0.2, 1] },\n smooth: { duration: 0.28, ease: [0.22, 1, 0.36, 1] },\n slow: { duration: 0.38, ease: [0.4, 0, 0.2, 1] },\n};\n","import { cva } from \"class-variance-authority\";\n\nexport const accordionVariants = cva(\"w-full\", {\n variants: {\n appearance: {\n default: \"divide-y divide-white/10 rounded-xl border border-white/10\",\n outline: \"divide-y divide-white/10 rounded-xl border border-white/15\",\n ghost: \"divide-y divide-white/5\",\n card: \"space-y-2\",\n separated: \"space-y-3\",\n sky: \"divide-y divide-sky-600 rounded-xl border border-sky-600\",\n rose: \"divide-y divide-rose-600 rounded-xl border border-rose-600\",\n purple: \"divide-y divide-purple-600 rounded-xl border border-purple-600\",\n pink: \"divide-y divide-pink-600 rounded-xl border border-pink-600\",\n orange: \"divide-y divide-orange-600 rounded-xl border border-orange-600\",\n yellow: \"divide-y divide-yellow-600 rounded-xl border border-yellow-600\",\n teal: \"divide-y divide-teal-600 rounded-xl border border-teal-600\",\n indigo: \"divide-y divide-indigo-600 rounded-xl border border-indigo-600\",\n emerald:\n \"divide-y divide-emerald-600 rounded-xl border border-emerald-600\",\n \"gradient-blue\":\n \"divide-y divide-gradient-to-r from-blue-600 to-purple-600 rounded-xl border border-gradient-to-r from-blue-600 to-purple-600\",\n \"gradient-green\":\n \"divide-y divide-gradient-to-r from-green-600 to-lime-600 rounded-xl border border-gradient-to-r from-green-600 to-lime-600\",\n \"gradient-red\":\n \"divide-y divide-gradient-to-r from-red-600 to-pink-600 rounded-xl border border-gradient-to-r from-red-600 to-pink-600\",\n \"gradient-yellow\":\n \"divide-y divide-gradient-to-r from-yellow-600 to-orange-600 rounded-xl border border-gradient-to-r from-yellow-600 to-orange-600\",\n \"gradient-purple\":\n \"divide-y divide-gradient-to-r from-purple-600 to-pink-600 rounded-xl border border-gradient-to-r from-purple-600 to-pink-600\",\n \"gradient-teal\":\n \"divide-y divide-gradient-to-r from-teal-600 to-cyan-600 rounded-xl border border-gradient-to-r from-teal-600 to-cyan-600\",\n \"gradient-indigo\":\n \"divide-y divide-gradient-to-r from-indigo-600 to-purple-600 rounded-xl border border-gradient-to-r from-indigo-600 to-purple-600\",\n \"gradient-pink\":\n \"divide-y divide-gradient-to-r from-pink-600 to-rose-600 rounded-xl border border-gradient-to-r from-pink-600 to-rose-600\",\n \"gradient-orange\":\n \"divide-y divide-gradient-to-r from-orange-600 to-red-600 rounded-xl border border-gradient-to-r from-orange-600 to-red-600\",\n },\n size: {\n sm: \"px-3 py-2 text-sm\",\n md: \"px-4 py-3 text-sm\",\n lg: \"px-5 py-4 text-base\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n },\n});\n\nexport const accordionItemVariants = cva(\"\", {\n variants: {\n appearance: {\n default: \"\",\n outline: \"\",\n ghost: \"\",\n card: \"rounded-xl border border-white/10 bg-white/[0.03] p-2\",\n separated: \"rounded-xl border border-white/10 bg-slate-950/40 p-2\",\n sky: \"rounded-xl border border-sky-600 bg-sky-600/[0.03] p-2\",\n rose: \"rounded-xl border border-rose-600 bg-rose-600/[0.03] p-2\",\n purple: \"rounded-xl border border-purple-600 bg-purple-600/[0.03] p-2\",\n pink: \"rounded-xl border border-pink-600 bg-pink-600/[0.03] p-2\",\n orange: \"rounded-xl border border-orange-600 bg-orange-600/[0.03] p-2\",\n yellow: \"rounded-xl border border-yellow-600 bg-yellow-600/[0.03] p-2\",\n teal: \"rounded-xl border border-teal-600 bg-teal-600/[0.03] p-2\",\n indigo: \"rounded-xl border border-indigo-600 bg-indigo-600/[0.03] p-2\",\n emerald: \"rounded-xl border border-emerald-600 bg-emerald-600/[0.03] p-2\",\n \"gradient-blue\":\n \"rounded-xl bg-linear-to-r from-blue-600 to-purple-600/[0.03] p-2 text-white\",\n \"gradient-green\":\n \"rounded-xl bg-linear-to-r from-green-600 to-lime-600/[0.03] p-2 text-white\",\n \"gradient-red\":\n \"rounded-xl bg-linear-to-r from-red-600 to-pink-600/[0.03] p-2 text-white\",\n \"gradient-yellow\":\n \"rounded-xl bg-linear-to-r from-yellow-600 to-orange-600/[0.03] p-2 text-white\",\n \"gradient-purple\":\n \"rounded-xl bg-linear-to-r from-purple-600 to-pink-600/[0.03] p-2 text-white\",\n \"gradient-teal\":\n \"rounded-xl bg-linear-to-r from-teal-600 to-cyan-600/[0.03] p-2 text-white\",\n \"gradient-indigo\":\n \"rounded-xl bg-linear-to-r from-indigo-600 to-purple-600/[0.03] p-2 text-white\",\n \"gradient-pink\":\n \"rounded-xl bg-linear-to-r from-pink-600 to-rose-600/[0.03] p-2 text-white\",\n \"gradient-orange\":\n \"rounded-xl bg-linear-to-r from-orange-600 to-red-600/[0.03] p-2 text-white\",\n },\n },\n defaultVariants: { appearance: \"default\" },\n});\n\nexport const accordionTriggerVariants = cva(\n \"flex w-full items-center justify-between gap-3 py-3 text-left font-medium text-slate-50 outline-none transition hover:text-white focus-visible:ring-2 focus-visible:ring-white/30\",\n {\n variants: {\n size: {\n sm: \"py-2 text-sm\",\n md: \"py-3 text-sm\",\n lg: \"py-4 text-base\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const accordionContentVariants = cva(\"pb-3 text-sm\", {\n variants: {\n size: {\n sm: \"pb-2 text-xs\",\n md: \"pb-3 text-sm\",\n lg: \"pb-4 text-base\",\n },\n },\n defaultVariants: { size: \"md\" },\n});\n","\"use client\";\nimport { motion } from \"framer-motion\";\nimport {\n createContext,\n useCallback,\n useContext,\n useId,\n useMemo,\n useState,\n} from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport { accordionContentTransitionPresets } from \"./animations\";\nimport type {\n AccordionContentProps,\n AccordionItemProps,\n AccordionProps,\n AccordionTriggerProps,\n AccordionCtx,\n} from \"./types\";\nimport {\n accordionContentVariants,\n accordionItemVariants,\n accordionTriggerVariants,\n accordionVariants,\n} from \"./variants\";\n\nconst AccordionContext = createContext<AccordionCtx | null>(null);\n\nconst AccordionItemValueContext = createContext<string | null>(null);\n\nfunction useAccordionContext(component: string): AccordionCtx {\n const ctx = useContext(AccordionContext);\n if (!ctx) {\n throw new Error(`${component} must be used within <Accordion>`);\n }\n return ctx;\n}\n\nfunction useAccordionItemValue(component: string): string {\n const value = useContext(AccordionItemValueContext);\n if (!value) {\n throw new Error(`${component} must be used within <AccordionItem>`);\n }\n return value;\n}\n\nexport function Accordion({\n type = \"single\",\n value,\n values,\n defaultValue,\n defaultValues,\n onValueChange,\n onValuesChange,\n transition = \"default\",\n appearance = \"default\",\n size = \"md\",\n className,\n children,\n}: AccordionProps) {\n const isSingleControlled = value !== undefined;\n const isMultipleControlled = values !== undefined;\n const [singleUncontrolled, setSingleUncontrolled] = useState<\n string | undefined\n >(defaultValue);\n const [multipleUncontrolled, setMultipleUncontrolled] = useState<string[]>(\n defaultValues ?? [],\n );\n\n const singleValue = isSingleControlled ? value : singleUncontrolled;\n const multipleValues = useMemo(\n () => (isMultipleControlled ? (values ?? []) : multipleUncontrolled),\n [isMultipleControlled, values, multipleUncontrolled],\n );\n\n const isOpen = useCallback(\n (itemValue: string) => {\n if (type === \"single\") {\n return singleValue === itemValue;\n }\n return multipleValues.includes(itemValue);\n },\n [multipleValues, singleValue, type],\n );\n\n const toggle = useCallback(\n (itemValue: string) => {\n if (type === \"single\") {\n const next = singleValue === itemValue ? undefined : itemValue;\n if (!isSingleControlled) {\n setSingleUncontrolled(next);\n }\n onValueChange?.(next);\n return;\n }\n const exists = multipleValues.includes(itemValue);\n const next = exists\n ? multipleValues.filter((entry) => entry !== itemValue)\n : [...multipleValues, itemValue];\n if (!isMultipleControlled) {\n setMultipleUncontrolled(next);\n }\n onValuesChange?.(next);\n },\n [\n isMultipleControlled,\n isSingleControlled,\n multipleValues,\n onValueChange,\n onValuesChange,\n singleValue,\n type,\n ],\n );\n\n const ctx = useMemo(\n () => ({\n type,\n transition: transition ?? \"default\",\n appearance: appearance ?? \"default\",\n size: size ?? \"md\",\n isOpen,\n toggle,\n }),\n [appearance, isOpen, size, toggle, transition, type],\n );\n\n return (\n <AccordionContext.Provider value={ctx}>\n <div\n data-slot=\"accordion\"\n className={cn(accordionVariants({ appearance, size }), className)}\n >\n {children}\n </div>\n </AccordionContext.Provider>\n );\n}\n\nAccordion.displayName = \"Accordion\";\n\nexport function AccordionItem({\n className,\n value,\n children,\n ref,\n ...rest\n}: AccordionItemProps) {\n const { appearance } = useAccordionContext(\"AccordionItem\");\n return (\n <AccordionItemValueContext.Provider value={value}>\n <div\n ref={ref}\n data-slot=\"accordion-item\"\n data-value={value}\n className={cn(accordionItemVariants({ appearance }), className)}\n {...rest}\n >\n {children}\n </div>\n </AccordionItemValueContext.Provider>\n );\n}\n\nAccordionItem.displayName = \"AccordionItem\";\n\nexport function AccordionTrigger({\n className,\n children,\n ref,\n ...rest\n}: AccordionTriggerProps) {\n const itemValue = useAccordionItemValue(\"AccordionTrigger\");\n const { isOpen, toggle, size } = useAccordionContext(\"AccordionTrigger\");\n const open = isOpen(itemValue);\n const panelId = `${itemValue}-panel`;\n const baseId = useId();\n\n return (\n <h3 className=\"m-0\">\n <button\n ref={ref}\n type=\"button\"\n data-slot=\"accordion-trigger\"\n id={`${baseId}-trigger-${itemValue}`}\n aria-expanded={open}\n aria-controls={panelId}\n className={cn(accordionTriggerVariants({ size }), className)}\n onClick={() => toggle(itemValue)}\n {...rest}\n >\n {children}\n </button>\n </h3>\n );\n}\n\nAccordionTrigger.displayName = \"AccordionTrigger\";\n\nexport function AccordionContent({\n className,\n children,\n ref,\n}: AccordionContentProps) {\n const itemValue = useAccordionItemValue(\"AccordionContent\");\n const {\n isOpen,\n transition: transitionVariant,\n size,\n } = useAccordionContext(\"AccordionContent\");\n const open = isOpen(itemValue);\n const panelId = `${itemValue}-panel`;\n const transitionConfig = accordionContentTransitionPresets[transitionVariant];\n const motionless = transitionVariant === \"none\";\n\n return open ? (\n <motion.div\n key={itemValue}\n ref={ref}\n id={panelId}\n role=\"region\"\n data-slot=\"accordion-content\"\n className={cn(accordionContentVariants({ size }), className)}\n initial={motionless ? false : { opacity: 0 }}\n animate={motionless ? undefined : { opacity: 1 }}\n exit={motionless ? undefined : { opacity: 0 }}\n transition={transitionConfig}\n >\n {children}\n </motion.div>\n ) : null;\n}\n\nAccordionContent.displayName = \"AccordionContent\";\n"]}
|