@equal-experts/kuat-vue 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 (136) hide show
  1. package/README.md +61 -160
  2. package/dist/AccordionTrigger-BRz5PzEd.js +105 -0
  3. package/dist/AlertDialogTrigger.vue_vue_type_script_setup_true_lang-CK1Um8CY.js +173 -0
  4. package/dist/FieldSet.vue_vue_type_script_setup_true_lang-D9i4ciy0.js +119 -0
  5. package/dist/FieldTitle.vue_vue_type_script_setup_true_lang-Bu8UIwRT.js +108 -0
  6. package/dist/KuatSelect.vue_vue_type_script_setup_true_lang-DP66U_wg.js +493 -0
  7. package/dist/Toggle.vue_vue_type_script_setup_true_lang-CZM1GrLQ.js +38 -0
  8. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  9. package/dist/accordion.js +7 -6
  10. package/dist/alert-dialog.js +13 -12
  11. package/dist/badge.js +5 -4
  12. package/dist/button-group.js +7 -6
  13. package/dist/button.js +6 -6
  14. package/dist/checkbox.d.ts +3 -0
  15. package/dist/checkbox.js +10 -0
  16. package/dist/components/ui/badge/Badge.vue.d.ts +9 -2
  17. package/dist/components/ui/badge/constants.d.ts +4 -0
  18. package/dist/components/ui/badge/index.d.ts +12 -5
  19. package/dist/components/ui/breadcrumb/Breadcrumb.vue.d.ts +34 -0
  20. package/dist/components/ui/breadcrumb/index.d.ts +2 -0
  21. package/dist/components/ui/breadcrumb/types.d.ts +8 -0
  22. package/dist/components/ui/button/Button.vue.d.ts +13 -3
  23. package/dist/components/ui/button/constants.d.ts +12 -0
  24. package/dist/components/ui/button/index.d.ts +10 -6
  25. package/dist/components/ui/button-group/ButtonGroup.vue.d.ts +20 -6
  26. package/dist/components/ui/button-group/ButtonGroupText.vue.d.ts +0 -2
  27. package/dist/components/ui/button-group/constants.d.ts +2 -0
  28. package/dist/components/ui/button-group/index.d.ts +10 -5
  29. package/dist/components/ui/checkbox/Checkbox.vue.d.ts +13 -0
  30. package/dist/components/ui/checkbox/CheckboxField.vue.d.ts +68 -0
  31. package/dist/components/ui/checkbox/constants.d.ts +4 -0
  32. package/dist/components/ui/checkbox/index.d.ts +4 -0
  33. package/dist/components/ui/content-card/ContentCard.vue.d.ts +62 -0
  34. package/dist/components/ui/content-card/index.d.ts +1 -0
  35. package/dist/components/ui/field/Field.vue.d.ts +48 -0
  36. package/dist/components/ui/field/FieldContent.vue.d.ts +26 -0
  37. package/dist/components/ui/field/FieldDescription.vue.d.ts +26 -0
  38. package/dist/components/ui/field/FieldError.vue.d.ts +33 -0
  39. package/dist/components/ui/field/FieldGroup.vue.d.ts +26 -0
  40. package/dist/components/ui/field/FieldLabel.vue.d.ts +26 -0
  41. package/dist/components/ui/field/FieldLegend.vue.d.ts +43 -0
  42. package/dist/components/ui/field/FieldSeparator.vue.d.ts +26 -0
  43. package/dist/components/ui/field/FieldSet.vue.d.ts +26 -0
  44. package/dist/components/ui/field/FieldTitle.vue.d.ts +26 -0
  45. package/dist/components/ui/field/constants.d.ts +4 -0
  46. package/dist/components/ui/field/index.d.ts +12 -0
  47. package/dist/components/ui/input/Input.vue.d.ts +34 -0
  48. package/dist/components/ui/input/constants.d.ts +2 -0
  49. package/dist/components/ui/input/index.d.ts +3 -0
  50. package/dist/components/ui/kuat-carousel/KuatCarousel.vue.d.ts +47 -0
  51. package/dist/components/ui/kuat-carousel/KuatCarouselContent.vue.d.ts +25 -0
  52. package/dist/components/ui/kuat-carousel/KuatCarouselItem.vue.d.ts +25 -0
  53. package/dist/components/ui/kuat-carousel/KuatCarouselNext.vue.d.ts +16 -0
  54. package/dist/components/ui/kuat-carousel/KuatCarouselPrevious.vue.d.ts +16 -0
  55. package/dist/components/ui/kuat-carousel/index.d.ts +6 -0
  56. package/dist/components/ui/kuat-header/EELogo.vue.d.ts +32 -0
  57. package/dist/components/ui/kuat-header/KuatHeader.vue.d.ts +55 -0
  58. package/dist/components/ui/kuat-header/constants.d.ts +4 -0
  59. package/dist/components/ui/kuat-header/index.d.ts +15 -0
  60. package/dist/components/ui/kuat-logo-lockup/EELogoIcon.vue.d.ts +18 -0
  61. package/dist/components/ui/kuat-logo-lockup/KuatLogoLockup.vue.d.ts +45 -0
  62. package/dist/components/ui/kuat-logo-lockup/constants.d.ts +4 -0
  63. package/dist/components/ui/kuat-logo-lockup/index.d.ts +4 -0
  64. package/dist/components/ui/kuat-radial-progress/KuatRadialProgress.vue.d.ts +52 -0
  65. package/dist/components/ui/kuat-radial-progress/constants.d.ts +4 -0
  66. package/dist/components/ui/kuat-radial-progress/index.d.ts +3 -0
  67. package/dist/components/ui/radio/RadioField.vue.d.ts +58 -0
  68. package/dist/components/ui/radio/RadioGroup.vue.d.ts +31 -0
  69. package/dist/components/ui/radio/RadioGroupItem.vue.d.ts +22 -0
  70. package/dist/components/ui/radio/constants.d.ts +4 -0
  71. package/dist/components/ui/radio/index.d.ts +5 -0
  72. package/dist/components/ui/select/KuatSelect.vue.d.ts +104 -0
  73. package/dist/components/ui/select/Select.vue.d.ts +28 -0
  74. package/dist/components/ui/select/SelectContent.vue.d.ts +52 -0
  75. package/dist/components/ui/select/SelectGroup.vue.d.ts +22 -0
  76. package/dist/components/ui/select/SelectItem.vue.d.ts +40 -0
  77. package/dist/components/ui/select/SelectLabel.vue.d.ts +27 -0
  78. package/dist/components/ui/select/SelectScrollDownButton.vue.d.ts +18 -0
  79. package/dist/components/ui/select/SelectScrollUpButton.vue.d.ts +18 -0
  80. package/dist/components/ui/select/SelectSeparator.vue.d.ts +18 -0
  81. package/dist/components/ui/select/SelectTrigger.vue.d.ts +72 -0
  82. package/dist/components/ui/select/SelectValue.vue.d.ts +18 -0
  83. package/dist/components/ui/select/constants.d.ts +18 -0
  84. package/dist/components/ui/select/index.d.ts +13 -0
  85. package/dist/components/ui/switch/Switch.vue.d.ts +13 -0
  86. package/dist/components/ui/switch/SwitchField.vue.d.ts +68 -0
  87. package/dist/components/ui/switch/constants.d.ts +4 -0
  88. package/dist/components/ui/switch/index.d.ts +4 -0
  89. package/dist/components/ui/textarea/Textarea.vue.d.ts +24 -0
  90. package/dist/components/ui/textarea/constants.d.ts +2 -0
  91. package/dist/components/ui/textarea/index.d.ts +3 -0
  92. package/dist/components/ui/toggle/Toggle.vue.d.ts +42 -0
  93. package/dist/components/ui/toggle/constants.d.ts +4 -0
  94. package/dist/components/ui/toggle/index.d.ts +3 -0
  95. package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +45 -0
  96. package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +49 -0
  97. package/dist/components/ui/toggle-group/constants.d.ts +2 -0
  98. package/dist/components/ui/toggle-group/index.d.ts +4 -0
  99. package/dist/constants-4SN0MW4f.js +61 -0
  100. package/dist/constants-BpzIL1jq.js +141 -0
  101. package/dist/constants-CXAkjttx.js +5 -0
  102. package/dist/constants-CpIWAssv.js +32 -0
  103. package/dist/constants-D_fYMnOg.js +154 -0
  104. package/dist/constants-Ils7NSfg.js +131 -0
  105. package/dist/field.d.ts +3 -0
  106. package/dist/field.js +19 -0
  107. package/dist/index-C3VyxnTa.js +35 -0
  108. package/dist/index-CBmjn3iX.js +58 -0
  109. package/dist/index-iz_NZI-V.js +85 -0
  110. package/dist/index.d.ts +33 -22
  111. package/dist/index.js +2066 -29
  112. package/dist/input.d.ts +3 -0
  113. package/dist/input.js +8 -0
  114. package/dist/radio.d.ts +3 -0
  115. package/dist/radio.js +11 -0
  116. package/dist/select.d.ts +3 -0
  117. package/dist/select.js +19 -0
  118. package/dist/style.css +1 -1
  119. package/dist/switch.d.ts +1 -0
  120. package/dist/switch.js +7 -0
  121. package/dist/test/setup.d.ts +1 -0
  122. package/dist/textarea.d.ts +3 -0
  123. package/dist/textarea.js +8 -0
  124. package/dist/toggle-group.d.ts +5 -0
  125. package/dist/toggle-group.js +71 -0
  126. package/dist/toggle.d.ts +3 -0
  127. package/dist/toggle.js +10 -0
  128. package/dist/{utils-qaFjX9_3.js → utils-DLUjLwnh.js} +0 -1
  129. package/package.json +47 -3
  130. package/dist/AccordionTrigger.vue_vue_type_script_setup_true_lang-CG4FNPK2.js +0 -107
  131. package/dist/AlertDialogTrigger.vue_vue_type_script_setup_true_lang-chev-oxU.js +0 -185
  132. package/dist/Button.vue_vue_type_script_setup_true_lang-CtAz6Sf_.js +0 -30
  133. package/dist/index-B9dF2hh8.js +0 -103
  134. package/dist/index-CMJyKNIG.js +0 -45
  135. package/dist/index-D3egriua.js +0 -33
  136. package/dist/index-DACAHwoB.js +0 -34
package/README.md CHANGED
@@ -1,24 +1,24 @@
1
1
  # @equal-experts/kuat-vue
2
2
 
3
- Custom Vue components and blocks for the Kuat Design System.
3
+ Vue 3 components and blocks for the Kuat Design System: **localized primitives** and **composed blocks**. Use **`@equal-experts/kuat-core`** for tokens and **shadcn-vue** only for UI that Kuat does not ship (for example Dialog, DropdownMenu).
4
+
5
+ **When to import from here vs shadcn-vue:** [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-vue 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-vue Components (installed directly)
19
+ │ shadcn-vue-only (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,58 @@ 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-vue
32
-
33
- # Using npm
34
- npm install @equal-experts/kuat-vue
35
-
36
- # Using yarn
37
- yarn add @equal-experts/kuat-vue
30
+ pnpm add @equal-experts/kuat-core @equal-experts/kuat-vue
38
31
  ```
39
32
 
40
- ### Peer Dependencies
33
+ ### Peer dependencies
41
34
 
42
- ```bash
43
- pnpm add vue radix-vue reka-ui
44
- ```
35
+ See this package’s `package.json` `peerDependencies` (for example `vue`, `radix-vue` / `reka-ui` as appropriate to your stack).
45
36
 
46
37
  ---
47
38
 
48
- ## What's Included
39
+ ## Whats included
49
40
 
50
- ### Custom Components
41
+ ### Utilities
51
42
 
52
- Components unique to Kuat, not available in shadcn-vue:
43
+ | Export | Description |
44
+ |--------|-------------|
45
+ | `cn` | Class name merger |
53
46
 
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 |
47
+ ### Blocks
59
48
 
60
- ### Blocks (Coming Soon)
49
+ | Area | Examples |
50
+ |------|----------|
51
+ | Header / brand | `KuatHeader`, `EELogo` |
52
+ | Carousel | `KuatCarousel`, `KuatCarouselContent`, `KuatCarouselItem`, `KuatCarouselPrevious`, `KuatCarouselNext` |
53
+ | Logo lockup | `KuatLogoLockup`, `EELogoIcon` |
54
+ | Progress | `KuatRadialProgress` |
55
+ | Cards | `ContentCard` |
61
56
 
62
- Pre-built compositions for common patterns:
57
+ ### Form and actions
63
58
 
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 |
59
+ `Button`, `ButtonGroup`, `ButtonGroupText`, `ButtonGroupSeparator`, `Badge`, `Input`, `Textarea`, `Field` (+ subcomponents), `KuatSelect` / `Select` (+ primitives), `Checkbox` / `CheckboxField`, `RadioGroup` / `RadioField`, `Switch` / `SwitchField`, `Toggle`, `ToggleGroup`.
69
60
 
70
- ### Utilities
61
+ ### Content and navigation
71
62
 
72
- | Utility | Description |
73
- |---------|-------------|
74
- | `cn()` | Class name merger using clsx + tailwind-merge |
63
+ `Accordion`, `AlertDialog`, `Breadcrumb` (Vue API may differ slightly from React—see Storybook: `apps/storybook-vue`).
75
64
 
76
- ---
65
+ ### Tree-shakable subpath imports
77
66
 
78
- ## Recommended Setup
67
+ Example:
79
68
 
80
- For the best experience, combine this package with kuat-core and shadcn-vue:
69
+ ```vue
70
+ <script setup lang="ts">
71
+ import { Switch } from '@equal-experts/kuat-vue/switch';
72
+ </script>
73
+ ```
81
74
 
82
- ### Step 1: Install Dependencies
75
+ See `package.json` `exports` and [public-api-inventory.md](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/setup/public-api-inventory.md).
83
76
 
84
- ```bash
85
- pnpm add @equal-experts/kuat-core @equal-experts/kuat-vue
86
- ```
77
+ ---
78
+
79
+ ## Recommended setup
87
80
 
88
- ### Step 2: Configure Tailwind
81
+ ### 1. Tailwind
89
82
 
90
83
  ```typescript
91
84
  // tailwind.config.ts
@@ -101,39 +94,31 @@ export default {
101
94
  } satisfies Config;
102
95
  ```
103
96
 
104
- ### Step 3: Import Styles
97
+ ### 2. Design tokens
105
98
 
106
99
  ```typescript
107
100
  // main.ts
108
- import { createApp } from 'vue';
109
101
  import '@equal-experts/kuat-core/variables.css';
110
- import App from './App.vue';
111
-
112
- createApp(App).mount('#app');
113
102
  ```
114
103
 
115
- ### Step 4: Install shadcn-vue Components
104
+ ### 3. shadcn-vue for gaps
116
105
 
117
106
  ```bash
118
107
  npx shadcn-vue@latest init
119
- npx shadcn-vue@latest add button dialog dropdown-menu
108
+ npx shadcn-vue@latest add dialog dropdown-menu
120
109
  ```
121
110
 
122
- ### Step 5: Use Components Together
111
+ ### 4. Use Kuat + shadcn-vue together
123
112
 
124
113
  ```vue
125
114
  <script setup lang="ts">
126
- // Kuat custom components from this package
127
- import { ButtonGroup, ButtonGroupText } from '@equal-experts/kuat-vue';
128
-
129
- // shadcn-vue components from your local installation
130
- import { Button } from '@/components/ui/button';
115
+ import { Button, ButtonGroup } from '@equal-experts/kuat-vue';
116
+ import { Dialog, DialogContent } from '@/components/ui/dialog';
131
117
  </script>
132
118
 
133
119
  <template>
134
120
  <ButtonGroup>
135
121
  <Button variant="outline">Edit</Button>
136
- <Button variant="outline">Save</Button>
137
122
  <Button variant="destructive">Delete</Button>
138
123
  </ButtonGroup>
139
124
  </template>
@@ -141,124 +126,54 @@ import { Button } from '@/components/ui/button';
141
126
 
142
127
  ---
143
128
 
144
- ## Component Examples
129
+ ## Component examples
145
130
 
146
131
  ### ButtonGroup
147
132
 
148
- Groups buttons together with seamless borders:
149
-
150
133
  ```vue
151
134
  <script setup lang="ts">
152
- import { ButtonGroup, ButtonGroupText } from '@equal-experts/kuat-vue';
153
- import { Button } from '@/components/ui/button';
135
+ import { ButtonGroup, ButtonGroupText, Button } from '@equal-experts/kuat-vue';
154
136
  </script>
155
137
 
156
138
  <template>
157
- <!-- Horizontal (default) -->
158
139
  <ButtonGroup>
159
140
  <Button variant="outline">Left</Button>
160
- <Button variant="outline">Center</Button>
161
141
  <Button variant="outline">Right</Button>
162
142
  </ButtonGroup>
163
143
 
164
- <!-- Vertical -->
165
144
  <ButtonGroup orientation="vertical">
166
145
  <Button variant="outline">Top</Button>
167
- <Button variant="outline">Middle</Button>
168
146
  <Button variant="outline">Bottom</Button>
169
147
  </ButtonGroup>
170
148
 
171
- <!-- With text label -->
172
149
  <ButtonGroup>
173
150
  <ButtonGroupText>Filter:</ButtonGroupText>
174
151
  <Button variant="outline">All</Button>
175
- <Button variant="outline">Active</Button>
176
- <Button variant="outline">Completed</Button>
177
152
  </ButtonGroup>
178
153
  </template>
179
154
  ```
180
155
 
181
- ### cn() Utility
182
-
183
- Merge class names with Tailwind conflict resolution:
156
+ ### `cn()` utility
184
157
 
185
158
  ```vue
186
159
  <script setup lang="ts">
187
160
  import { cn } from '@equal-experts/kuat-vue';
188
161
 
189
- const props = defineProps<{
190
- class?: string;
191
- }>();
192
-
193
- const containerClass = cn(
194
- 'bg-background text-foreground p-4',
195
- props.class
196
- );
197
- </script>
198
-
199
- <template>
200
- <div :class="containerClass">
201
- <slot />
202
- </div>
203
- </template>
204
- ```
205
-
206
- ---
207
-
208
- ## Migration Guide
209
-
210
- If you were importing standard components from this package, migrate to direct shadcn-vue installation:
211
-
212
- ### Before (Deprecated)
213
-
214
- ```vue
215
- <script setup lang="ts">
216
- import { Button, Dialog, Badge } from '@equal-experts/kuat-vue';
162
+ const containerClass = cn('bg-background text-foreground p-4', props.class);
217
163
  </script>
218
164
  ```
219
165
 
220
- ### After (Recommended)
221
-
222
- ```vue
223
- <script setup lang="ts">
224
- // Standard components from your local shadcn-vue installation
225
- import { Button } from '@/components/ui/button';
226
- import { Dialog } from '@/components/ui/dialog';
227
- import { Badge } from '@/components/ui/badge';
228
-
229
- // Kuat-specific components from this package
230
- import { ButtonGroup } from '@equal-experts/kuat-vue';
231
- </script>
232
- ```
233
-
234
- ### Migration Steps
235
-
236
- 1. Ensure `@equal-experts/kuat-core` is installed
237
- 2. Initialize shadcn-vue: `npx shadcn-vue@latest init`
238
- 3. Install needed components: `npx shadcn-vue@latest add button dialog badge`
239
- 4. Update imports to use local components
240
- 5. Keep imports for Kuat-specific components (ButtonGroup, etc.)
241
-
242
166
  ---
243
167
 
244
- ## Deprecated Exports
245
-
246
- The following exports are deprecated and will be removed in the next major version. Install them directly via shadcn-vue CLI instead:
168
+ ## Migration (legacy projects)
247
169
 
248
- | Component | Replacement |
249
- |-----------|-------------|
250
- | `Button` | `npx shadcn-vue@latest add button` |
251
- | `Accordion` | `npx shadcn-vue@latest add accordion` |
252
- | `AlertDialog` | `npx shadcn-vue@latest add alert-dialog` |
253
- | `Badge` | `npx shadcn-vue@latest add badge` |
170
+ **Prefer** imports from `@equal-experts/kuat-vue` for primitives this package publishes. Use **shadcn-vue** under `@/components/ui` for components **not** in Kuat (for example Dialog).
254
171
 
255
- These components are still exported for backward compatibility but will be themed correctly only when using kuat-core.
172
+ Do **not** move `Button` to a local shadcn-vue copy unless you have a deliberate fork—prefer Kuat’s `Button` for consistency with tokens and variants.
256
173
 
257
174
  ---
258
175
 
259
- ## TypeScript Support
260
-
261
- All components are fully typed:
176
+ ## TypeScript
262
177
 
263
178
  ```vue
264
179
  <script setup lang="ts">
@@ -271,30 +186,16 @@ const orientation: ButtonGroupVariants['orientation'] = 'horizontal';
271
186
 
272
187
  ---
273
188
 
274
- ## Dark Mode
275
-
276
- Dark mode is supported via the `.dark` class on your root element:
277
-
278
- ```vue
279
- <template>
280
- <div :class="{ dark: isDark }">
281
- <App />
282
- </div>
283
- </template>
284
-
285
- <script setup lang="ts">
286
- import { ref } from 'vue';
287
- const isDark = ref(false);
288
- </script>
289
- ```
189
+ ## Dark mode
290
190
 
291
- Components automatically adapt when using kuat-core design tokens.
191
+ Apply `.dark` on the root (or toggle a class on `<html>` / layout). Tokens come from `kuat-core`.
292
192
 
293
193
  ---
294
194
 
295
- ## Related Documentation
195
+ ## Related documentation
296
196
 
297
- - [Consumer Setup Guide](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/setup/consumer-setup.md)
298
- - [kuat-core Integration](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/setup/kuat-core-integration.md)
299
- - [Component Patterns](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/rules/components/patterns.md)
300
- - [shadcn-vue Documentation](https://www.shadcn-vue.com)
197
+ - [Consumer setup](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/setup/consumer-setup.md)
198
+ - [Choosing components](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/setup/choosing-components.md)
199
+ - [kuat-core integration](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/setup/kuat-core-integration.md)
200
+ - [Component patterns (contributors)](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/rules/components/patterns.md)
201
+ - [shadcn-vue](https://www.shadcn-vue.com)
@@ -0,0 +1,105 @@
1
+ import { defineComponent as d, createBlock as i, openBlock as l, unref as o, normalizeProps as A, guardReactiveProps as y, withCtx as c, renderSlot as n, mergeProps as p, createElementVNode as B, normalizeClass as C, createVNode as g } from "vue";
2
+ import { useForwardPropsEmits as v, AccordionRoot as $, AccordionContent as h, useForwardProps as P, AccordionItem as b, AccordionHeader as w, AccordionTrigger as I } from "reka-ui";
3
+ import { c as m } from "./utils-DLUjLwnh.js";
4
+ import { r as u } from "./index-A7umpmtg.js";
5
+ import { _ } from "./_plugin-vue_export-helper-CHgC5LLL.js";
6
+ import { ChevronDown as V } from "lucide-vue-next";
7
+ const D = /* @__PURE__ */ d({
8
+ __name: "Accordion",
9
+ props: {
10
+ collapsible: { type: Boolean },
11
+ disabled: { type: Boolean },
12
+ dir: {},
13
+ orientation: {},
14
+ unmountOnHide: { type: Boolean },
15
+ asChild: { type: Boolean },
16
+ as: {},
17
+ type: {},
18
+ modelValue: {},
19
+ defaultValue: {}
20
+ },
21
+ emits: ["update:modelValue"],
22
+ setup(s, { emit: e }) {
23
+ const a = v(s, e);
24
+ return (f, k) => (l(), i(o($), A(y(o(a))), {
25
+ default: c(() => [
26
+ n(f.$slots, "default")
27
+ ]),
28
+ _: 3
29
+ }, 16));
30
+ }
31
+ }), T = /* @__PURE__ */ d({
32
+ __name: "AccordionContent",
33
+ props: {
34
+ forceMount: { type: Boolean },
35
+ asChild: { type: Boolean },
36
+ as: {},
37
+ class: {}
38
+ },
39
+ setup(s) {
40
+ const e = s, r = u(e, "class");
41
+ return (t, a) => (l(), i(o(h), p(o(r), { class: "accordion-content" }), {
42
+ default: c(() => [
43
+ B("div", {
44
+ class: C(o(m)("accordion-content__body", e.class))
45
+ }, [
46
+ n(t.$slots, "default", {}, void 0, !0)
47
+ ], 2)
48
+ ]),
49
+ _: 3
50
+ }, 16));
51
+ }
52
+ }), M = /* @__PURE__ */ _(T, [["__scopeId", "data-v-323c4af0"]]), H = /* @__PURE__ */ d({
53
+ __name: "AccordionItem",
54
+ props: {
55
+ disabled: { type: Boolean },
56
+ value: {},
57
+ unmountOnHide: { type: Boolean },
58
+ asChild: { type: Boolean },
59
+ as: {},
60
+ class: {}
61
+ },
62
+ setup(s) {
63
+ const e = s, r = u(e, "class"), t = P(r);
64
+ return (a, f) => (l(), i(o(b), p(o(t), {
65
+ class: o(m)("accordion-item", e.class)
66
+ }), {
67
+ default: c(() => [
68
+ n(a.$slots, "default", {}, void 0, !0)
69
+ ]),
70
+ _: 3
71
+ }, 16, ["class"]));
72
+ }
73
+ }), S = /* @__PURE__ */ _(H, [["__scopeId", "data-v-f0319512"]]), O = /* @__PURE__ */ d({
74
+ __name: "AccordionTrigger",
75
+ props: {
76
+ asChild: { type: Boolean },
77
+ as: {},
78
+ class: {}
79
+ },
80
+ setup(s) {
81
+ const e = s, r = u(e, "class");
82
+ return (t, a) => (l(), i(o(w), { class: "accordion-trigger-wrapper" }, {
83
+ default: c(() => [
84
+ g(o(I), p(o(r), {
85
+ class: o(m)("accordion-trigger", e.class)
86
+ }), {
87
+ default: c(() => [
88
+ n(t.$slots, "default", {}, void 0, !0),
89
+ n(t.$slots, "icon", {}, () => [
90
+ g(o(V), { class: "accordion-trigger__icon" })
91
+ ], !0)
92
+ ]),
93
+ _: 3
94
+ }, 16, ["class"])
95
+ ]),
96
+ _: 3
97
+ }));
98
+ }
99
+ }), j = /* @__PURE__ */ _(O, [["__scopeId", "data-v-a03b22b5"]]);
100
+ export {
101
+ S as A,
102
+ D as _,
103
+ j as a,
104
+ M as b
105
+ };
@@ -0,0 +1,173 @@
1
+ import { defineComponent as l, createBlock as p, openBlock as r, unref as e, normalizeProps as D, guardReactiveProps as $, withCtx as n, renderSlot as c, mergeProps as u, createVNode as A, createElementBlock as v, normalizeClass as h } from "vue";
2
+ import { useForwardPropsEmits as C, AlertDialogRoot as y, AlertDialogAction as B, AlertDialogCancel as P, AlertDialogPortal as I, AlertDialogOverlay as O, AlertDialogContent as w, AlertDialogDescription as T, AlertDialogTitle as b, AlertDialogTrigger as F } from "reka-ui";
3
+ import { c as d } from "./utils-DLUjLwnh.js";
4
+ import { r as g } from "./index-A7umpmtg.js";
5
+ import { _ } from "./_plugin-vue_export-helper-CHgC5LLL.js";
6
+ const G = /* @__PURE__ */ l({
7
+ __name: "AlertDialog",
8
+ props: {
9
+ open: { type: Boolean },
10
+ defaultOpen: { type: Boolean }
11
+ },
12
+ emits: ["update:open"],
13
+ setup(s, { emit: t }) {
14
+ const i = C(s, t);
15
+ return (f, m) => (r(), p(e(y), D($(e(i))), {
16
+ default: n(() => [
17
+ c(f.$slots, "default")
18
+ ]),
19
+ _: 3
20
+ }, 16));
21
+ }
22
+ }), k = /* @__PURE__ */ l({
23
+ __name: "AlertDialogAction",
24
+ props: {
25
+ asChild: { type: Boolean },
26
+ as: {},
27
+ class: {}
28
+ },
29
+ setup(s) {
30
+ const t = s, a = g(t, "class");
31
+ return (o, i) => (r(), p(e(B), u(e(a), {
32
+ class: e(d)("alert-dialog-action", t.class)
33
+ }), {
34
+ default: n(() => [
35
+ c(o.$slots, "default", {}, void 0, !0)
36
+ ]),
37
+ _: 3
38
+ }, 16, ["class"]));
39
+ }
40
+ }), J = /* @__PURE__ */ _(k, [["__scopeId", "data-v-a5af5f97"]]), x = /* @__PURE__ */ l({
41
+ __name: "AlertDialogCancel",
42
+ props: {
43
+ asChild: { type: Boolean },
44
+ as: {},
45
+ class: {}
46
+ },
47
+ setup(s) {
48
+ const t = s, a = g(t, "class");
49
+ return (o, i) => (r(), p(e(P), u(e(a), {
50
+ class: e(d)("alert-dialog-cancel", t.class)
51
+ }), {
52
+ default: n(() => [
53
+ c(o.$slots, "default", {}, void 0, !0)
54
+ ]),
55
+ _: 3
56
+ }, 16, ["class"]));
57
+ }
58
+ }), L = /* @__PURE__ */ _(x, [["__scopeId", "data-v-4ab33db4"]]), E = /* @__PURE__ */ l({
59
+ __name: "AlertDialogContent",
60
+ props: {
61
+ forceMount: { type: Boolean },
62
+ disableOutsidePointerEvents: { type: Boolean },
63
+ asChild: { type: Boolean },
64
+ as: {},
65
+ class: {}
66
+ },
67
+ emits: ["escapeKeyDown", "pointerDownOutside", "focusOutside", "interactOutside", "openAutoFocus", "closeAutoFocus"],
68
+ setup(s, { emit: t }) {
69
+ const a = s, o = t, i = g(a, "class"), f = C(i, o);
70
+ return (m, M) => (r(), p(e(I), null, {
71
+ default: n(() => [
72
+ A(e(O), { class: "alert-dialog-overlay" }),
73
+ A(e(w), u(e(f), {
74
+ class: e(d)("alert-dialog-content", a.class)
75
+ }), {
76
+ default: n(() => [
77
+ c(m.$slots, "default", {}, void 0, !0)
78
+ ]),
79
+ _: 3
80
+ }, 16, ["class"])
81
+ ]),
82
+ _: 3
83
+ }));
84
+ }
85
+ }), Q = /* @__PURE__ */ _(E, [["__scopeId", "data-v-630d3e5f"]]), z = /* @__PURE__ */ l({
86
+ __name: "AlertDialogDescription",
87
+ props: {
88
+ asChild: { type: Boolean },
89
+ as: {},
90
+ class: {}
91
+ },
92
+ setup(s) {
93
+ const t = s, a = g(t, "class");
94
+ return (o, i) => (r(), p(e(T), u(e(a), {
95
+ class: e(d)("alert-dialog-description", t.class)
96
+ }), {
97
+ default: n(() => [
98
+ c(o.$slots, "default", {}, void 0, !0)
99
+ ]),
100
+ _: 3
101
+ }, 16, ["class"]));
102
+ }
103
+ }), U = /* @__PURE__ */ _(z, [["__scopeId", "data-v-5a0d8461"]]), H = /* @__PURE__ */ l({
104
+ __name: "AlertDialogFooter",
105
+ props: {
106
+ class: {}
107
+ },
108
+ setup(s) {
109
+ const t = s;
110
+ return (a, o) => (r(), v("div", {
111
+ class: h(e(d)("alert-dialog-footer", t.class))
112
+ }, [
113
+ c(a.$slots, "default", {}, void 0, !0)
114
+ ], 2));
115
+ }
116
+ }), W = /* @__PURE__ */ _(H, [["__scopeId", "data-v-59463818"]]), R = /* @__PURE__ */ l({
117
+ __name: "AlertDialogHeader",
118
+ props: {
119
+ class: {}
120
+ },
121
+ setup(s) {
122
+ const t = s;
123
+ return (a, o) => (r(), v("div", {
124
+ class: h(e(d)("alert-dialog-header", t.class))
125
+ }, [
126
+ c(a.$slots, "default", {}, void 0, !0)
127
+ ], 2));
128
+ }
129
+ }), X = /* @__PURE__ */ _(R, [["__scopeId", "data-v-689b6152"]]), K = /* @__PURE__ */ l({
130
+ __name: "AlertDialogTitle",
131
+ props: {
132
+ asChild: { type: Boolean },
133
+ as: {},
134
+ class: {}
135
+ },
136
+ setup(s) {
137
+ const t = s, a = g(t, "class");
138
+ return (o, i) => (r(), p(e(b), u(e(a), {
139
+ class: e(d)("alert-dialog-title", t.class)
140
+ }), {
141
+ default: n(() => [
142
+ c(o.$slots, "default", {}, void 0, !0)
143
+ ]),
144
+ _: 3
145
+ }, 16, ["class"]));
146
+ }
147
+ }), Y = /* @__PURE__ */ _(K, [["__scopeId", "data-v-f431895c"]]), Z = /* @__PURE__ */ l({
148
+ __name: "AlertDialogTrigger",
149
+ props: {
150
+ asChild: { type: Boolean },
151
+ as: {}
152
+ },
153
+ setup(s) {
154
+ const t = s;
155
+ return (a, o) => (r(), p(e(F), D($(t)), {
156
+ default: n(() => [
157
+ c(a.$slots, "default")
158
+ ]),
159
+ _: 3
160
+ }, 16));
161
+ }
162
+ });
163
+ export {
164
+ J as A,
165
+ G as _,
166
+ L as a,
167
+ Q as b,
168
+ U as c,
169
+ W as d,
170
+ X as e,
171
+ Y as f,
172
+ Z as g
173
+ };