@equal-experts/kuat-react 0.4.1 → 0.5.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.
Files changed (124) hide show
  1. package/README.md +79 -134
  2. package/dist/accordion-DwQCxX_5.js +43 -0
  3. package/dist/accordion.css +1 -0
  4. package/dist/accordion.js +7 -6
  5. package/dist/alert-dialog-CT9DCCMH.js +96 -0
  6. package/dist/alert-dialog.css +1 -0
  7. package/dist/alert-dialog.js +14 -13
  8. package/dist/badge-Yftb6Tdy.js +22 -0
  9. package/dist/badge.css +1 -0
  10. package/dist/badge.js +5 -4
  11. package/dist/button-DqdoNQqx.js +69 -0
  12. package/dist/button-group-BNfxHMty.js +80 -0
  13. package/dist/button-group.css +1 -0
  14. package/dist/button-group.js +7 -6
  15. package/dist/button.css +1 -0
  16. package/dist/button.js +5 -4
  17. package/dist/checkbox-field-Bslh9sHw.js +65 -0
  18. package/dist/checkbox-field.css +1 -0
  19. package/dist/checkbox.d.ts +3 -0
  20. package/dist/checkbox.js +10 -0
  21. package/dist/components/ui/accordion/index.d.ts +1 -0
  22. package/dist/components/ui/alert-dialog/index.d.ts +1 -0
  23. package/dist/components/ui/badge/badge.d.ts +16 -0
  24. package/dist/components/ui/badge/index.d.ts +2 -0
  25. package/dist/components/ui/breadcrumb/Breadcrumb.d.ts +29 -0
  26. package/dist/components/ui/breadcrumb/breadcrumb-primitives.d.ts +19 -0
  27. package/dist/components/ui/breadcrumb/index.d.ts +4 -0
  28. package/dist/components/ui/button/button.d.ts +27 -0
  29. package/dist/components/ui/button/index.d.ts +2 -0
  30. package/dist/components/ui/button-group/button-group.d.ts +23 -0
  31. package/dist/components/ui/button-group/index.d.ts +2 -0
  32. package/dist/components/ui/checkbox/checkbox-field.d.ts +23 -0
  33. package/dist/components/ui/checkbox/checkbox.d.ts +5 -0
  34. package/dist/components/ui/checkbox/index.d.ts +4 -0
  35. package/dist/components/ui/content-card/content-card.d.ts +25 -0
  36. package/dist/components/ui/content-card/index.d.ts +2 -0
  37. package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +27 -0
  38. package/dist/components/ui/dropdown-menu/index.d.ts +1 -0
  39. package/dist/components/ui/ee-logo-icon/ee-logo-icon.d.ts +11 -0
  40. package/dist/components/ui/ee-logo-icon/index.d.ts +2 -0
  41. package/dist/components/ui/field/field.d.ts +28 -0
  42. package/dist/components/ui/field/index.d.ts +2 -0
  43. package/dist/components/ui/input/index.d.ts +2 -0
  44. package/dist/components/ui/input/input.d.ts +20 -0
  45. package/dist/components/ui/kuat-carousel/index.d.ts +2 -0
  46. package/dist/components/ui/kuat-carousel/kuat-carousel.d.ts +32 -0
  47. package/dist/components/ui/kuat-header/index.d.ts +2 -0
  48. package/dist/components/ui/kuat-header/kuat-header.d.ts +38 -0
  49. package/dist/components/ui/kuat-logo-lockup/index.d.ts +2 -0
  50. package/dist/components/ui/kuat-logo-lockup/kuat-logo-lockup.d.ts +17 -0
  51. package/dist/components/ui/kuat-radial-progress/index.d.ts +2 -0
  52. package/dist/components/ui/kuat-radial-progress/kuat-radial-progress.d.ts +16 -0
  53. package/dist/components/ui/radio/index.d.ts +4 -0
  54. package/dist/components/ui/radio/radio-field.d.ts +25 -0
  55. package/dist/components/ui/radio/radio.d.ts +7 -0
  56. package/dist/components/ui/select/constants.d.ts +19 -0
  57. package/dist/components/ui/select/index.d.ts +3 -0
  58. package/dist/components/ui/select/select.d.ts +53 -0
  59. package/dist/components/ui/separator/index.d.ts +2 -0
  60. package/dist/components/ui/separator/separator.d.ts +9 -0
  61. package/dist/components/ui/switch/index.d.ts +4 -0
  62. package/dist/components/ui/switch/switch-field.d.ts +23 -0
  63. package/dist/components/ui/switch/switch.d.ts +5 -0
  64. package/dist/components/ui/textarea/index.d.ts +2 -0
  65. package/dist/components/ui/textarea/textarea.d.ts +9 -0
  66. package/dist/components/ui/toggle/constants.d.ts +4 -0
  67. package/dist/components/ui/toggle/index.d.ts +6 -0
  68. package/dist/components/ui/toggle/toggle-group.d.ts +11 -0
  69. package/dist/components/ui/toggle/toggle.d.ts +9 -0
  70. package/dist/constants-DHz0LWRt.js +49 -0
  71. package/dist/constants.css +1 -0
  72. package/dist/field-DRLopwY4.js +141 -0
  73. package/dist/field.css +1 -0
  74. package/dist/field.d.ts +3 -0
  75. package/dist/field.js +17 -0
  76. package/dist/index.css +1 -0
  77. package/dist/index.d.ts +48 -23
  78. package/dist/index.js +2054 -30
  79. package/dist/input-2x92vprz.js +43 -0
  80. package/dist/input.css +1 -0
  81. package/dist/input.d.ts +3 -0
  82. package/dist/input.js +8 -0
  83. package/dist/kuat-radial-progress-B3nQqPFW.js +105 -0
  84. package/dist/kuat-radial-progress.css +1 -0
  85. package/dist/kuat-radial-progress.d.ts +7 -0
  86. package/dist/kuat-radial-progress.js +6 -0
  87. package/dist/lib/react-node-compat.d.ts +7 -0
  88. package/dist/radio-field-G8dvdsLE.js +82 -0
  89. package/dist/radio-field.css +1 -0
  90. package/dist/radio.d.ts +3 -0
  91. package/dist/radio.js +11 -0
  92. package/dist/select-Oz2Zj-L0.js +232 -0
  93. package/dist/select.css +1 -0
  94. package/dist/select.d.ts +3 -0
  95. package/dist/select.js +19 -0
  96. package/dist/styles.css +1 -0
  97. package/dist/switch-field-Ce9CiRqk.js +61 -0
  98. package/dist/switch-field.css +1 -0
  99. package/dist/switch.d.ts +1 -0
  100. package/dist/switch.js +7 -0
  101. package/dist/test/setup.d.ts +1 -0
  102. package/dist/textarea-DiU8h_H0.js +19 -0
  103. package/dist/textarea.css +1 -0
  104. package/dist/textarea.d.ts +3 -0
  105. package/dist/textarea.js +8 -0
  106. package/dist/toggle-group.d.ts +3 -0
  107. package/dist/toggle-group.js +10 -0
  108. package/dist/toggle.d.ts +3 -0
  109. package/dist/toggle.js +9 -0
  110. package/dist/{utils-qaFjX9_3.js → utils-DLUjLwnh.js} +0 -1
  111. package/package.json +52 -4
  112. package/dist/accordion-CQDgmmJ5.js +0 -46
  113. package/dist/alert-dialog-CzXLOFRG.js +0 -113
  114. package/dist/badge-DRUd-ban.js +0 -26
  115. package/dist/button-CPn6T5-L.js +0 -44
  116. package/dist/button-group-DUSbG9lE.js +0 -93
  117. package/dist/components/ui/badge.d.ts +0 -9
  118. package/dist/components/ui/button-group.d.ts +0 -12
  119. package/dist/components/ui/button.d.ts +0 -11
  120. package/dist/components/ui/separator.d.ts +0 -4
  121. package/dist/index-DACAHwoB.js +0 -34
  122. package/dist/style.css +0 -1
  123. /package/dist/components/ui/{accordion.d.ts → accordion/accordion.d.ts} +0 -0
  124. /package/dist/components/ui/{alert-dialog.d.ts → alert-dialog/alert-dialog.d.ts} +0 -0
package/README.md CHANGED
@@ -1,24 +1,24 @@
1
1
  # @equal-experts/kuat-react
2
2
 
3
- Custom React components and blocks for the Kuat Design System.
3
+ React components and blocks for the Kuat Design System: **localized primitives** (forms, actions, feedback) and **composed blocks** (header, carousel, logo lockup, etc.). Use **`@equal-experts/kuat-core`** for tokens and the **shadcn CLI** only for UI that Kuat does not ship (for example Dialog, DropdownMenu, Tabs).
4
+
5
+ **When to import from here vs shadcn:** [Choosing components](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/setup/choosing-components.md) · [Public API inventory](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/setup/public-api-inventory.md)
4
6
 
5
7
  ---
6
8
 
7
9
  ## Architecture
8
10
 
9
- This package provides **custom components** and **blocks** that are unique to Kuat. For standard UI components (Button, Dialog, etc.), install them directly via shadcn CLI with kuat-core theming.
10
-
11
11
  ```
12
12
  ┌─────────────────────────────────────────────────────┐
13
13
  │ Your Application │
14
14
  ├─────────────────────────────────────────────────────┤
15
- │ Kuat Blocks (from this package)
15
+ │ Kuat blocks (KuatHeader, KuatCarousel, ) ← This package
16
16
  ├─────────────────────────────────────────────────────┤
17
- │ Kuat Components (from this package)
17
+ │ Kuat primitives (Button, Field, Select, …) ← This package
18
18
  ├─────────────────────────────────────────────────────┤
19
- │ shadcn Components (installed directly)
19
+ │ shadcn-only components (Dialog, DropdownMenu, …) ← Installed in your app
20
20
  ├─────────────────────────────────────────────────────┤
21
- │ @equal-experts/kuat-core (design tokens)
21
+ │ @equal-experts/kuat-core
22
22
  └─────────────────────────────────────────────────────┘
23
23
  ```
24
24
 
@@ -27,65 +27,65 @@ This package provides **custom components** and **blocks** that are unique to Ku
27
27
  ## Installation
28
28
 
29
29
  ```bash
30
- # Using pnpm (recommended)
31
- pnpm add @equal-experts/kuat-react
30
+ pnpm add @equal-experts/kuat-core @equal-experts/kuat-react
31
+ ```
32
32
 
33
- # Using npm
34
- npm install @equal-experts/kuat-react
33
+ You need **both** packages: core supplies CSS variables and the Tailwind preset; this package supplies components.
35
34
 
36
- # Using yarn
37
- yarn add @equal-experts/kuat-react
38
- ```
35
+ ### Peer dependencies
39
36
 
40
- ### Peer Dependencies
37
+ `react` and `react-dom` are required. Radix UI and other peers are listed in this package’s `package.json` under `peerDependencies`—install the primitives that match the components you use.
41
38
 
42
39
  ```bash
43
- pnpm add react react-dom @radix-ui/react-slot
40
+ pnpm add react react-dom
41
+ # Add @radix-ui/* and lucide-react as needed for your components — see peerDependencies
44
42
  ```
45
43
 
46
44
  ---
47
45
 
48
- ## What's Included
46
+ ## Whats included
49
47
 
50
- ### Custom Components
48
+ ### Utilities
51
49
 
52
- Components unique to Kuat, not available in shadcn:
50
+ | Export | Description |
51
+ |--------|-------------|
52
+ | `cn` | `clsx` + `tailwind-merge` helper |
53
53
 
54
- | Component | Description |
55
- |-----------|-------------|
56
- | `ButtonGroup` | Groups buttons together with proper styling |
57
- | `ButtonGroupText` | Text element within a button group |
58
- | `ButtonGroupSeparator` | Separator between button group items |
54
+ ### Blocks and layout
59
55
 
60
- ### Blocks (Coming Soon)
56
+ | Area | Examples |
57
+ |------|----------|
58
+ | Header / brand | `KuatHeader`, `EELogo`, `EELogoIcon` |
59
+ | Carousel | `KuatCarousel`, `KuatCarouselContent`, `KuatCarouselItem`, `KuatCarouselPrevious`, `KuatCarouselNext`, `useKuatCarousel` |
60
+ | Logo lockup | `KuatLogoLockup` |
61
+ | Progress | `KuatRadialProgress` |
62
+ | Cards | `ContentCard` |
61
63
 
62
- Pre-built compositions for common patterns:
64
+ ### Form and actions
63
65
 
64
- | Block | Description |
65
- |-------|-------------|
66
- | `KuatHeader` | Brand header with logo, navigation, actions |
67
- | `KuatFooter` | Brand footer with links and legal |
68
- | `KuatSearchPattern` | Search input with suggestions |
66
+ `Button`, `ButtonGroup`, `ButtonGroupText`, `ButtonGroupSeparator`, `Badge`, `Input`, `Textarea`, `Field` (+ subcomponents), `Select` / `KuatSelect` (+ Select primitives), `Checkbox` / `CheckboxField`, `RadioGroup` / `RadioField`, `Switch` / `SwitchField`, `Toggle`, `ToggleGroup`.
69
67
 
70
- ### Utilities
68
+ ### Content and navigation
71
69
 
72
- | Utility | Description |
73
- |---------|-------------|
74
- | `cn()` | Class name merger using clsx + tailwind-merge |
70
+ `Accordion`, `AlertDialog` (+ primitives), `Breadcrumb`.
75
71
 
76
- ---
72
+ Interactive API details live in **Storybook** in this repo (`apps/storybook-react`).
77
73
 
78
- ## Recommended Setup
74
+ ### Tree-shakable subpath imports
79
75
 
80
- For the best experience, combine this package with kuat-core and shadcn:
76
+ `package.json` exposes subpaths such as `./button`, `./field`, `./switch`, `./kuat-radial-progress`, etc. Example:
81
77
 
82
- ### Step 1: Install Dependencies
83
-
84
- ```bash
85
- pnpm add @equal-experts/kuat-core @equal-experts/kuat-react
78
+ ```tsx
79
+ import { KuatRadialProgress } from '@equal-experts/kuat-react/kuat-radial-progress';
86
80
  ```
87
81
 
88
- ### Step 2: Configure Tailwind
82
+ See [public-api-inventory.md](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/setup/public-api-inventory.md) for the full subpath list.
83
+
84
+ ---
85
+
86
+ ## Recommended setup
87
+
88
+ ### 1. Tailwind
89
89
 
90
90
  ```typescript
91
91
  // tailwind.config.ts
@@ -101,35 +101,33 @@ export default {
101
101
  } satisfies Config;
102
102
  ```
103
103
 
104
- ### Step 3: Import Styles
104
+ ### 2. Design tokens (once per app)
105
105
 
106
106
  ```typescript
107
107
  // main.tsx
108
108
  import '@equal-experts/kuat-core/variables.css';
109
109
  ```
110
110
 
111
- ### Step 4: Install shadcn Components
111
+ ### 3. shadcn for gaps only
112
112
 
113
113
  ```bash
114
114
  npx shadcn@latest init
115
- npx shadcn@latest add button dialog dropdown-menu
115
+ npx shadcn@latest add dialog dropdown-menu # examples — skip `button` if you use Kuat Button
116
116
  ```
117
117
 
118
- ### Step 5: Use Components Together
118
+ ### 4. Use Kuat + shadcn together
119
119
 
120
120
  ```tsx
121
- // Kuat custom components from this package
122
- import { ButtonGroup, ButtonGroupText } from '@equal-experts/kuat-react';
123
-
124
- // shadcn components from your local installation
125
- import { Button } from '@/components/ui/button';
121
+ import { Button, ButtonGroup, Field } from '@equal-experts/kuat-react';
122
+ import { Dialog, DialogContent, DialogTrigger } from '@/components/ui/dialog';
126
123
 
127
- function Example() {
124
+ export function Example() {
128
125
  return (
129
126
  <ButtonGroup>
130
- <Button variant="outline">Edit</Button>
131
- <Button variant="outline">Save</Button>
132
- <Button variant="destructive">Delete</Button>
127
+ <DialogTrigger asChild>
128
+ <Button variant="outline">Open</Button>
129
+ </DialogTrigger>
130
+ <Button>Save</Button>
133
131
  </ButtonGroup>
134
132
  );
135
133
  }
@@ -137,111 +135,61 @@ function Example() {
137
135
 
138
136
  ---
139
137
 
140
- ## Component Examples
138
+ ## Component examples
141
139
 
142
140
  ### ButtonGroup
143
141
 
144
- Groups buttons together with seamless borders:
145
-
146
142
  ```tsx
147
- import { ButtonGroup } from '@equal-experts/kuat-react';
148
- import { Button } from '@/components/ui/button';
143
+ import { ButtonGroup, ButtonGroupText, Button } from '@equal-experts/kuat-react';
149
144
 
150
- // Horizontal (default)
151
145
  <ButtonGroup>
152
146
  <Button variant="outline">Left</Button>
153
- <Button variant="outline">Center</Button>
154
147
  <Button variant="outline">Right</Button>
155
148
  </ButtonGroup>
156
149
 
157
- // Vertical
158
150
  <ButtonGroup orientation="vertical">
159
151
  <Button variant="outline">Top</Button>
160
- <Button variant="outline">Middle</Button>
161
152
  <Button variant="outline">Bottom</Button>
162
153
  </ButtonGroup>
163
154
 
164
- // With text label
165
155
  <ButtonGroup>
166
156
  <ButtonGroupText>Filter:</ButtonGroupText>
167
157
  <Button variant="outline">All</Button>
168
- <Button variant="outline">Active</Button>
169
- <Button variant="outline">Completed</Button>
170
158
  </ButtonGroup>
171
159
  ```
172
160
 
173
- ### cn() Utility
174
-
175
- Merge class names with Tailwind conflict resolution:
161
+ ### `cn()` utility
176
162
 
177
163
  ```tsx
178
164
  import { cn } from '@equal-experts/kuat-react';
179
165
 
180
- function MyComponent({ className, ...props }) {
181
- return (
182
- <div
183
- className={cn(
184
- 'bg-background text-foreground p-4',
185
- className
186
- )}
187
- {...props}
188
- />
189
- );
166
+ export function Box({ className, ...props }: React.ComponentProps<'div'>) {
167
+ return <div className={cn('bg-background p-4', className)} {...props} />;
190
168
  }
191
169
  ```
192
170
 
193
171
  ---
194
172
 
195
- ## Migration Guide
196
-
197
- If you were importing standard components from this package, migrate to direct shadcn installation:
198
-
199
- ### Before (Deprecated)
200
-
201
- ```tsx
202
- import { Button, Dialog, Badge } from '@equal-experts/kuat-react';
203
- ```
204
-
205
- ### After (Recommended)
173
+ ## Migration (legacy projects)
206
174
 
207
- ```tsx
208
- // Standard components from your local shadcn installation
209
- import { Button } from '@/components/ui/button';
210
- import { Dialog } from '@/components/ui/dialog';
211
- import { Badge } from '@/components/ui/badge';
175
+ Older docs suggested installing **all** primitives via shadcn. Kuat now ships many components from this package.
212
176
 
213
- // Kuat-specific components from this package
214
- import { ButtonGroup } from '@equal-experts/kuat-react';
215
- ```
177
+ **Prefer**
216
178
 
217
- ### Migration Steps
179
+ - `import { Button, Badge, Field, … } from '@equal-experts/kuat-react'` for published primitives.
180
+ - `import { … } from '@/components/ui/dialog'` (etc.) only for **shadcn-only** pieces.
218
181
 
219
- 1. Ensure `@equal-experts/kuat-core` is installed
220
- 2. Initialize shadcn: `npx shadcn@latest init`
221
- 3. Install needed components: `npx shadcn@latest add button dialog badge`
222
- 4. Update imports to use local components
223
- 5. Keep imports for Kuat-specific components (ButtonGroup, etc.)
224
-
225
- ---
182
+ **Dialog** is a typical shadcn-only import; **Button** should come from Kuat when you adopt the design system.
226
183
 
227
- ## Deprecated Exports
184
+ Steps:
228
185
 
229
- The following exports are deprecated and will be removed in the next major version. Install them directly via shadcn CLI instead:
230
-
231
- | Component | Replacement |
232
- |-----------|-------------|
233
- | `Button` | `npx shadcn@latest add button` |
234
- | `Accordion` | `npx shadcn@latest add accordion` |
235
- | `AlertDialog` | `npx shadcn@latest add alert-dialog` |
236
- | `Badge` | `npx shadcn@latest add badge` |
237
-
238
- These components are still exported for backward compatibility but will be themed correctly only when using kuat-core.
186
+ 1. Keep `@equal-experts/kuat-core` and add or update `@equal-experts/kuat-react`.
187
+ 2. Replace duplicate shadcn copies of Kuat primitives with imports from this package where possible.
188
+ 3. Reserve `components/ui/` for components Kuat does not publish.
239
189
 
240
190
  ---
241
191
 
242
- ## TypeScript Support
243
-
244
- All components are fully typed:
192
+ ## TypeScript
245
193
 
246
194
  ```tsx
247
195
  import { ButtonGroup } from '@equal-experts/kuat-react';
@@ -252,25 +200,22 @@ type ButtonGroupProps = ComponentProps<typeof ButtonGroup>;
252
200
 
253
201
  ---
254
202
 
255
- ## Dark Mode
203
+ ## Dark mode
256
204
 
257
- Dark mode is supported via the `.dark` class on your root element:
205
+ Use the `.dark` class on the document root (or an ancestor). Tokens come from `kuat-core`.
258
206
 
259
207
  ```tsx
260
208
  <html className="dark">
261
- <body>
262
- <App />
263
- </body>
209
+ <body>{/* … */}</body>
264
210
  </html>
265
211
  ```
266
212
 
267
- Components automatically adapt when using kuat-core design tokens.
268
-
269
213
  ---
270
214
 
271
- ## Related Documentation
215
+ ## Related documentation
272
216
 
273
- - [Consumer Setup Guide](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/setup/consumer-setup.md)
274
- - [kuat-core Integration](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/setup/kuat-core-integration.md)
275
- - [Component Patterns](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/rules/components/patterns.md)
276
- - [shadcn/ui Documentation](https://ui.shadcn.com)
217
+ - [Consumer setup](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/setup/consumer-setup.md)
218
+ - [Choosing components](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/setup/choosing-components.md)
219
+ - [kuat-core integration](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/setup/kuat-core-integration.md)
220
+ - [Component patterns (contributors)](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/rules/components/patterns.md)
221
+ - [shadcn/ui](https://ui.shadcn.com)
@@ -0,0 +1,43 @@
1
+ import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
+ import * as n from "react";
3
+ import * as o from "@radix-ui/react-accordion";
4
+ import { ChevronDown as d } from "lucide-react";
5
+ import { c as s } from "./utils-DLUjLwnh.js";
6
+ const A = o.Root, m = n.forwardRef(({ className: r, ...c }, a) => /* @__PURE__ */ e(
7
+ o.Item,
8
+ {
9
+ ref: a,
10
+ className: s("accordion-item", r),
11
+ ...c
12
+ }
13
+ ));
14
+ m.displayName = "AccordionItem";
15
+ const l = n.forwardRef(({ className: r, children: c, ...a }, i) => /* @__PURE__ */ e(o.Header, { className: "accordion-trigger-wrapper", children: /* @__PURE__ */ t(
16
+ o.Trigger,
17
+ {
18
+ ref: i,
19
+ className: s("accordion-trigger", r),
20
+ ...a,
21
+ children: [
22
+ c,
23
+ /* @__PURE__ */ e(d, { className: "accordion-trigger__icon" })
24
+ ]
25
+ }
26
+ ) }));
27
+ l.displayName = o.Trigger.displayName;
28
+ const p = n.forwardRef(({ className: r, children: c, ...a }, i) => /* @__PURE__ */ e(
29
+ o.Content,
30
+ {
31
+ ref: i,
32
+ className: "accordion-content",
33
+ ...a,
34
+ children: /* @__PURE__ */ e("div", { className: s("accordion-content__body", r), children: c })
35
+ }
36
+ ));
37
+ p.displayName = o.Content.displayName;
38
+ export {
39
+ A,
40
+ m as a,
41
+ l as b,
42
+ p as c
43
+ };
@@ -0,0 +1 @@
1
+ /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-leading:initial}}}.accordion-item{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border)}.accordion-trigger-wrapper{display:flex}.accordion-trigger{padding-block:calc(var(--spacing,.25rem)*4);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));transition-duration:.15s;transition-timing-function:default;flex:1;justify-content:space-between;align-items:center;display:flex}.accordion-trigger:hover{text-decoration-line:underline}.accordion-trigger[data-state=open]>svg,.accordion-trigger[data-state=open] .accordion-trigger__icon{rotate:180deg}.accordion-trigger svg,.accordion-trigger__icon{width:calc(var(--spacing,.25rem)*4);height:calc(var(--spacing,.25rem)*4);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));flex-shrink:0;transition-duration:.2s}.accordion-content{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));--tw-leading:calc(var(--spacing,.25rem)*5);line-height:calc(var(--spacing,.25rem)*5);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));transition-duration:.15s;transition-timing-function:default;overflow:hidden}.accordion-content[data-state=closed]{animation:.2s ease-out accordion-up}.accordion-content[data-state=open]{animation:.2s ease-out accordion-down}.accordion-content__body{padding-top:calc(var(--spacing,.25rem)*0);padding-bottom:calc(var(--spacing,.25rem)*4)}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}
package/dist/accordion.js CHANGED
@@ -1,9 +1,10 @@
1
- import { c as r } from "./utils-qaFjX9_3.js";
2
- import { A as a, c as e, a as i, b as s } from "./accordion-CQDgmmJ5.js";
1
+ import { c as n } from "./utils-DLUjLwnh.js";
2
+ /* empty css */
3
+ import { A as i, c as t, a as e, b as s } from "./accordion-DwQCxX_5.js";
3
4
  export {
4
- a as Accordion,
5
- e as AccordionContent,
6
- i as AccordionItem,
5
+ i as Accordion,
6
+ t as AccordionContent,
7
+ e as AccordionItem,
7
8
  s as AccordionTrigger,
8
- r as cn
9
+ n as cn
9
10
  };
@@ -0,0 +1,96 @@
1
+ import { jsx as t, jsxs as c } from "react/jsx-runtime";
2
+ import * as r from "react";
3
+ import * as l from "@radix-ui/react-alert-dialog";
4
+ import { c as i } from "./utils-DLUjLwnh.js";
5
+ const R = l.Root, v = l.Trigger, d = l.Portal, s = r.forwardRef(({ className: a, ...e }, o) => /* @__PURE__ */ t(
6
+ l.Overlay,
7
+ {
8
+ className: i("alert-dialog-overlay", a),
9
+ ref: o,
10
+ ...e
11
+ }
12
+ ));
13
+ s.displayName = l.Overlay.displayName;
14
+ const n = r.forwardRef(({ className: a, ...e }, o) => /* @__PURE__ */ c(d, { children: [
15
+ /* @__PURE__ */ t(s, {}),
16
+ /* @__PURE__ */ t(
17
+ l.Content,
18
+ {
19
+ ref: o,
20
+ className: i("alert-dialog-content", a),
21
+ ...e
22
+ }
23
+ )
24
+ ] }));
25
+ n.displayName = l.Content.displayName;
26
+ const m = ({
27
+ className: a,
28
+ ...e
29
+ }) => /* @__PURE__ */ t(
30
+ "div",
31
+ {
32
+ className: i("alert-dialog-header", a),
33
+ ...e
34
+ }
35
+ );
36
+ m.displayName = "AlertDialogHeader";
37
+ const g = ({
38
+ className: a,
39
+ ...e
40
+ }) => /* @__PURE__ */ t(
41
+ "div",
42
+ {
43
+ className: i("alert-dialog-footer", a),
44
+ ...e
45
+ }
46
+ );
47
+ g.displayName = "AlertDialogFooter";
48
+ const p = r.forwardRef(({ className: a, ...e }, o) => /* @__PURE__ */ t(
49
+ l.Title,
50
+ {
51
+ ref: o,
52
+ className: i("alert-dialog-title", a),
53
+ ...e
54
+ }
55
+ ));
56
+ p.displayName = l.Title.displayName;
57
+ const N = r.forwardRef(({ className: a, ...e }, o) => /* @__PURE__ */ t(
58
+ l.Description,
59
+ {
60
+ ref: o,
61
+ className: i("alert-dialog-description", a),
62
+ ...e
63
+ }
64
+ ));
65
+ N.displayName = l.Description.displayName;
66
+ const f = r.forwardRef(({ className: a, ...e }, o) => /* @__PURE__ */ t(
67
+ l.Action,
68
+ {
69
+ ref: o,
70
+ className: i("alert-dialog-action", a),
71
+ ...e
72
+ }
73
+ ));
74
+ f.displayName = l.Action.displayName;
75
+ const y = r.forwardRef(({ className: a, ...e }, o) => /* @__PURE__ */ t(
76
+ l.Cancel,
77
+ {
78
+ ref: o,
79
+ className: i("alert-dialog-cancel", a),
80
+ ...e
81
+ }
82
+ ));
83
+ y.displayName = l.Cancel.displayName;
84
+ export {
85
+ R as A,
86
+ d as a,
87
+ s as b,
88
+ v as c,
89
+ n as d,
90
+ m as e,
91
+ g as f,
92
+ p as g,
93
+ N as h,
94
+ f as i,
95
+ y as j
96
+ };
@@ -0,0 +1 @@
1
+ /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.alert-dialog-overlay{inset:calc(var(--spacing,.25rem)*0);z-index:50;background-color:#000c;position:fixed}.alert-dialog-overlay[data-state=open]{animation:.15s ease-out alert-dialog-fade-in}.alert-dialog-overlay[data-state=closed]{animation:.15s ease-out alert-dialog-fade-out}.alert-dialog-content{z-index:50;width:100%;max-width:var(--container-xl,36rem);--tw-translate-x: -50% ;--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y);gap:calc(var(--spacing,.25rem)*4);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--background);padding:calc(var(--spacing,.25rem)*6);transition-property:.2s;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:grid;position:fixed;top:50%;left:50%;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.alert-dialog-content[data-state=open]{animation:.2s ease-out alert-dialog-content-in}.alert-dialog-content[data-state=closed]{animation:.2s ease-out alert-dialog-content-out}@media (min-width:640px){.alert-dialog-content{border-radius:var(--radius)}}.alert-dialog-header{gap:calc(var(--spacing,.25rem)*2);text-align:center;flex-direction:column;display:flex}@media (min-width:640px){.alert-dialog-header{text-align:left}}.alert-dialog-footer{gap:calc(var(--spacing,.25rem)*2);flex-direction:column-reverse;display:flex}@media (min-width:640px){.alert-dialog-footer{flex-direction:row;justify-content:flex-end}}.alert-dialog-title{font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)));--tw-leading:calc(var(--spacing,.25rem)*7);line-height:calc(var(--spacing,.25rem)*7);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.alert-dialog-description{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));--tw-leading:calc(var(--spacing,.25rem)*5);line-height:calc(var(--spacing,.25rem)*5);color:var(--muted-foreground)}.alert-dialog-action{height:calc(var(--spacing,.25rem)*10);cursor:pointer;justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem)*2);border-radius:calc(var(--radius) - 2px);border-style:var(--tw-border-style);background-color:var(--primary);padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));--tw-leading:calc(var(--spacing,.25rem)*5);line-height:calc(var(--spacing,.25rem)*5);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);white-space:nowrap;color:var(--primary-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-outline-style:none;border-width:0;outline-style:none;transition-duration:.15s;display:inline-flex}.alert-dialog-action:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.alert-dialog-action:hover{background-color:color-mix(in srgb,var(--primary)90%,transparent)}}.alert-dialog-action:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--ring);--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}.alert-dialog-cancel{margin-top:calc(var(--spacing,.25rem)*2);height:calc(var(--spacing,.25rem)*10);cursor:pointer;justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem)*2);border-radius:calc(var(--radius) - 2px);border-style:var(--tw-border-style);border-width:1px;border-color:var(--input);background-color:var(--background);padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));--tw-leading:calc(var(--spacing,.25rem)*5);line-height:calc(var(--spacing,.25rem)*5);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);white-space:nowrap;color:var(--foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-outline-style:none;outline-style:none;transition-duration:.15s;display:inline-flex}.alert-dialog-cancel:hover{background-color:var(--accent);color:var(--accent-foreground)}.alert-dialog-cancel:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--ring);--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-offset-color:var(--background);--tw-outline-style:none;outline-style:none}@media (min-width:640px){.alert-dialog-cancel{margin-top:calc(var(--spacing,.25rem)*0)}}@keyframes alert-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes alert-dialog-fade-out{0%{opacity:1}to{opacity:0}}@keyframes alert-dialog-content-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.95)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes alert-dialog-content-out{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.95)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@@ -1,16 +1,17 @@
1
- import { c as e } from "./utils-qaFjX9_3.js";
2
- import { A as o, i as t, j as i, d as g, h as s, f as A, e as D, b as c, a as n, g as f, c as p } from "./alert-dialog-CzXLOFRG.js";
1
+ import { c as r } from "./utils-DLUjLwnh.js";
2
+ /* empty css */
3
+ import { A as t, i, j as g, d as s, h as A, f as D, e as c, b as n, a as p, g as f, c as m } from "./alert-dialog-CT9DCCMH.js";
3
4
  export {
4
- o as AlertDialog,
5
- t as AlertDialogAction,
6
- i as AlertDialogCancel,
7
- g as AlertDialogContent,
8
- s as AlertDialogDescription,
9
- A as AlertDialogFooter,
10
- D as AlertDialogHeader,
11
- c as AlertDialogOverlay,
12
- n as AlertDialogPortal,
5
+ t as AlertDialog,
6
+ i as AlertDialogAction,
7
+ g as AlertDialogCancel,
8
+ s as AlertDialogContent,
9
+ A as AlertDialogDescription,
10
+ D as AlertDialogFooter,
11
+ c as AlertDialogHeader,
12
+ n as AlertDialogOverlay,
13
+ p as AlertDialogPortal,
13
14
  f as AlertDialogTitle,
14
- p as AlertDialogTrigger,
15
- e as cn
15
+ m as AlertDialogTrigger,
16
+ r as cn
16
17
  };
@@ -0,0 +1,22 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { c as r } from "./utils-DLUjLwnh.js";
3
+ const c = ["default", "secondary", "destructive", "outline", "ghost"], f = ["default", "round"];
4
+ function g({ className: a, variant: e = "default", roundness: d = "default", ...u }) {
5
+ return /* @__PURE__ */ t(
6
+ "div",
7
+ {
8
+ className: r("badge", `badge--${e}`, `badge--roundness-${d}`, a),
9
+ ...u
10
+ }
11
+ );
12
+ }
13
+ function b(a) {
14
+ const e = (a == null ? void 0 : a.variant) ?? "default", d = (a == null ? void 0 : a.roundness) ?? "default";
15
+ return r("badge", `badge--${e}`, `badge--roundness-${d}`);
16
+ }
17
+ export {
18
+ g as B,
19
+ c as a,
20
+ b,
21
+ f as c
22
+ };
package/dist/badge.css ADDED
@@ -0,0 +1 @@
1
+ /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial}}}.badge{border-style:var(--tw-border-style);padding-inline:calc(var(--spacing,.25rem)*2.5);padding-block:calc(var(--spacing,.25rem)*.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));--tw-leading:calc(var(--spacing,.25rem)*4);line-height:calc(var(--spacing,.25rem)*4);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));border-width:1px;align-items:center;display:inline-flex}.badge--roundness-default{border-radius:0}.badge--roundness-round{border-radius:3.40282e38px}.badge--default{background-color:var(--primary);color:var(--primary-foreground);border-color:#0000}.badge--secondary{background-color:var(--secondary);color:var(--secondary-foreground);border-color:#0000}.badge--destructive{background-color:var(--destructive);color:var(--destructive-foreground);border-color:#0000}.badge--outline{color:var(--foreground)}.badge--ghost{color:var(--foreground);background-color:#0000;border-color:#0000}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}
package/dist/badge.js CHANGED
@@ -1,7 +1,8 @@
1
- import { c as e } from "./utils-qaFjX9_3.js";
2
- import { B as s, b as t } from "./badge-DRUd-ban.js";
1
+ import { c as e } from "./utils-DLUjLwnh.js";
2
+ /* empty css */
3
+ import { B as t, b as m } from "./badge-Yftb6Tdy.js";
3
4
  export {
4
- s as Badge,
5
- t as badgeVariants,
5
+ t as Badge,
6
+ m as badgeVariants,
6
7
  e as cn
7
8
  };