@equal-experts/kuat-vue 0.4.2 → 0.6.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 (106) hide show
  1. package/README.md +60 -142
  2. package/dist/FieldSet.vue_vue_type_script_setup_true_lang-D9i4ciy0.js +119 -0
  3. package/dist/FieldTitle.vue_vue_type_script_setup_true_lang-Bu8UIwRT.js +108 -0
  4. package/dist/KuatSelect.vue_vue_type_script_setup_true_lang-DP66U_wg.js +493 -0
  5. package/dist/Toggle.vue_vue_type_script_setup_true_lang-CZM1GrLQ.js +38 -0
  6. package/dist/accordion.js +7 -6
  7. package/dist/alert-dialog.js +13 -12
  8. package/dist/badge.js +4 -3
  9. package/dist/button-group.js +7 -6
  10. package/dist/button.js +4 -3
  11. package/dist/checkbox.d.ts +3 -0
  12. package/dist/checkbox.js +10 -0
  13. package/dist/components/ui/carousel/Carousel.vue.d.ts +52 -0
  14. package/dist/components/ui/carousel/CarouselContent.vue.d.ts +25 -0
  15. package/dist/components/ui/carousel/CarouselItem.vue.d.ts +27 -0
  16. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +16 -0
  17. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +16 -0
  18. package/dist/components/ui/carousel/context.d.ts +18 -0
  19. package/dist/components/ui/carousel/index.d.ts +7 -0
  20. package/dist/components/ui/checkbox/Checkbox.vue.d.ts +13 -0
  21. package/dist/components/ui/checkbox/CheckboxField.vue.d.ts +68 -0
  22. package/dist/components/ui/checkbox/constants.d.ts +4 -0
  23. package/dist/components/ui/checkbox/index.d.ts +4 -0
  24. package/dist/components/ui/field/Field.vue.d.ts +48 -0
  25. package/dist/components/ui/field/FieldContent.vue.d.ts +26 -0
  26. package/dist/components/ui/field/FieldDescription.vue.d.ts +26 -0
  27. package/dist/components/ui/field/FieldError.vue.d.ts +33 -0
  28. package/dist/components/ui/field/FieldGroup.vue.d.ts +26 -0
  29. package/dist/components/ui/field/FieldLabel.vue.d.ts +26 -0
  30. package/dist/components/ui/field/FieldLegend.vue.d.ts +43 -0
  31. package/dist/components/ui/field/FieldSeparator.vue.d.ts +26 -0
  32. package/dist/components/ui/field/FieldSet.vue.d.ts +26 -0
  33. package/dist/components/ui/field/FieldTitle.vue.d.ts +26 -0
  34. package/dist/components/ui/field/constants.d.ts +4 -0
  35. package/dist/components/ui/field/index.d.ts +12 -0
  36. package/dist/components/ui/input/Input.vue.d.ts +34 -0
  37. package/dist/components/ui/input/constants.d.ts +2 -0
  38. package/dist/components/ui/input/index.d.ts +3 -0
  39. package/dist/components/ui/kuat-carousel/KuatCarousel.vue.d.ts +7 -3
  40. package/dist/components/ui/kuat-carousel/KuatCarouselItem.vue.d.ts +2 -0
  41. package/dist/components/ui/radio/RadioField.vue.d.ts +58 -0
  42. package/dist/components/ui/radio/RadioGroup.vue.d.ts +31 -0
  43. package/dist/components/ui/radio/RadioGroupItem.vue.d.ts +22 -0
  44. package/dist/components/ui/radio/constants.d.ts +4 -0
  45. package/dist/components/ui/radio/index.d.ts +5 -0
  46. package/dist/components/ui/select/KuatSelect.vue.d.ts +104 -0
  47. package/dist/components/ui/select/Select.vue.d.ts +28 -0
  48. package/dist/components/ui/select/SelectContent.vue.d.ts +52 -0
  49. package/dist/components/ui/select/SelectGroup.vue.d.ts +22 -0
  50. package/dist/components/ui/select/SelectItem.vue.d.ts +40 -0
  51. package/dist/components/ui/select/SelectLabel.vue.d.ts +27 -0
  52. package/dist/components/ui/select/SelectScrollDownButton.vue.d.ts +18 -0
  53. package/dist/components/ui/select/SelectScrollUpButton.vue.d.ts +18 -0
  54. package/dist/components/ui/select/SelectSeparator.vue.d.ts +18 -0
  55. package/dist/components/ui/select/SelectTrigger.vue.d.ts +72 -0
  56. package/dist/components/ui/select/SelectValue.vue.d.ts +18 -0
  57. package/dist/components/ui/select/constants.d.ts +18 -0
  58. package/dist/components/ui/select/index.d.ts +13 -0
  59. package/dist/components/ui/sonner/KuatSonner.vue.d.ts +54 -0
  60. package/dist/components/ui/sonner/KuatSonnerContent.vue.d.ts +53 -0
  61. package/dist/components/ui/sonner/constants.d.ts +2 -0
  62. package/dist/components/ui/sonner/index.d.ts +7 -0
  63. package/dist/components/ui/sonner/toast.d.ts +17 -0
  64. package/dist/components/ui/switch/Switch.vue.d.ts +13 -0
  65. package/dist/components/ui/switch/SwitchField.vue.d.ts +68 -0
  66. package/dist/components/ui/switch/constants.d.ts +4 -0
  67. package/dist/components/ui/switch/index.d.ts +4 -0
  68. package/dist/components/ui/textarea/Textarea.vue.d.ts +24 -0
  69. package/dist/components/ui/textarea/constants.d.ts +2 -0
  70. package/dist/components/ui/textarea/index.d.ts +3 -0
  71. package/dist/components/ui/toggle/Toggle.vue.d.ts +42 -0
  72. package/dist/components/ui/toggle/constants.d.ts +4 -0
  73. package/dist/components/ui/toggle/index.d.ts +3 -0
  74. package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +45 -0
  75. package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +49 -0
  76. package/dist/components/ui/toggle-group/constants.d.ts +2 -0
  77. package/dist/components/ui/toggle-group/index.d.ts +4 -0
  78. package/dist/constants-4SN0MW4f.js +61 -0
  79. package/dist/constants-BpzIL1jq.js +141 -0
  80. package/dist/constants-CXAkjttx.js +5 -0
  81. package/dist/constants-CpIWAssv.js +32 -0
  82. package/dist/constants-D_fYMnOg.js +154 -0
  83. package/dist/constants-Ils7NSfg.js +131 -0
  84. package/dist/field.d.ts +3 -0
  85. package/dist/field.js +19 -0
  86. package/dist/index.d.ts +22 -0
  87. package/dist/index.js +1291 -1119
  88. package/dist/input.d.ts +3 -0
  89. package/dist/input.js +8 -0
  90. package/dist/radio.d.ts +3 -0
  91. package/dist/radio.js +11 -0
  92. package/dist/select.d.ts +3 -0
  93. package/dist/select.js +19 -0
  94. package/dist/sonner.d.ts +1 -0
  95. package/dist/sonner.js +7 -0
  96. package/dist/style.css +1 -1
  97. package/dist/switch.d.ts +1 -0
  98. package/dist/switch.js +7 -0
  99. package/dist/textarea.d.ts +3 -0
  100. package/dist/textarea.js +8 -0
  101. package/dist/toast-LJYTMaV_.js +113 -0
  102. package/dist/toggle-group.d.ts +5 -0
  103. package/dist/toggle-group.js +71 -0
  104. package/dist/toggle.d.ts +3 -0
  105. package/dist/toggle.js +10 -0
  106. package/package.json +53 -12
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. It also provides a localized **Button** component. For other UI components (e.g. Dialog), install them 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,66 +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
- | `Button` | Primary actions with variant (primary, secondary, outline, ghost, ghost-muted, destructive) and color |
57
- | `ButtonGroup` | Groups buttons together with proper styling |
58
- | `ButtonGroupText` | Text element within a button group |
59
- | `ButtonGroupSeparator` | Separator between button group items |
47
+ ### Blocks
60
48
 
61
- ### 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` |
62
56
 
63
- Pre-built compositions for common patterns:
57
+ ### Form and actions
64
58
 
65
- | Block | Description |
66
- |-------|-------------|
67
- | `KuatHeader` | Brand header with logo, navigation, actions |
68
- | `KuatFooter` | Brand footer with links and legal |
69
- | `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`.
70
60
 
71
- ### Utilities
61
+ ### Content and navigation
72
62
 
73
- | Utility | Description |
74
- |---------|-------------|
75
- | `cn()` | Class name merger using clsx + tailwind-merge |
63
+ `Accordion`, `AlertDialog`, `Breadcrumb` (Vue API may differ slightly from React—see Storybook: `apps/storybook-vue`).
76
64
 
77
- ---
65
+ ### Tree-shakable subpath imports
78
66
 
79
- ## Recommended Setup
67
+ Example:
68
+
69
+ ```vue
70
+ <script setup lang="ts">
71
+ import { Switch } from '@equal-experts/kuat-vue/switch';
72
+ </script>
73
+ ```
80
74
 
81
- For the best experience, combine this package with kuat-core and shadcn-vue:
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).
82
76
 
83
- ### Step 1: Install Dependencies
77
+ ---
84
78
 
85
- ```bash
86
- pnpm add @equal-experts/kuat-core @equal-experts/kuat-vue
87
- ```
79
+ ## Recommended setup
88
80
 
89
- ### Step 2: Configure Tailwind
81
+ ### 1. Tailwind
90
82
 
91
83
  ```typescript
92
84
  // tailwind.config.ts
@@ -102,38 +94,31 @@ export default {
102
94
  } satisfies Config;
103
95
  ```
104
96
 
105
- ### Step 3: Import Styles
97
+ ### 2. Design tokens
106
98
 
107
99
  ```typescript
108
100
  // main.ts
109
- import { createApp } from 'vue';
110
101
  import '@equal-experts/kuat-core/variables.css';
111
- import App from './App.vue';
112
-
113
- createApp(App).mount('#app');
114
102
  ```
115
103
 
116
- ### Step 4: Install shadcn-vue Components
104
+ ### 3. shadcn-vue for gaps
117
105
 
118
106
  ```bash
119
107
  npx shadcn-vue@latest init
120
- npx shadcn-vue@latest add button dialog dropdown-menu
108
+ npx shadcn-vue@latest add dialog dropdown-menu
121
109
  ```
122
110
 
123
- ### Step 5: Use Components Together
111
+ ### 4. Use Kuat + shadcn-vue together
124
112
 
125
113
  ```vue
126
114
  <script setup lang="ts">
127
- // Kuat custom components from this package
128
- import { ButtonGroup, ButtonGroupText, Button } from '@equal-experts/kuat-vue';
129
-
130
- // Other shadcn-vue components from your local installation if needed
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,107 +126,54 @@ import { ButtonGroup, ButtonGroupText, Button } from '@equal-experts/kuat-vue';
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
135
  import { ButtonGroup, ButtonGroupText, Button } from '@equal-experts/kuat-vue';
153
136
  </script>
154
137
 
155
138
  <template>
156
- <!-- Horizontal (default) -->
157
139
  <ButtonGroup>
158
140
  <Button variant="outline">Left</Button>
159
- <Button variant="outline">Center</Button>
160
141
  <Button variant="outline">Right</Button>
161
142
  </ButtonGroup>
162
143
 
163
- <!-- Vertical -->
164
144
  <ButtonGroup orientation="vertical">
165
145
  <Button variant="outline">Top</Button>
166
- <Button variant="outline">Middle</Button>
167
146
  <Button variant="outline">Bottom</Button>
168
147
  </ButtonGroup>
169
148
 
170
- <!-- With text label -->
171
149
  <ButtonGroup>
172
150
  <ButtonGroupText>Filter:</ButtonGroupText>
173
151
  <Button variant="outline">All</Button>
174
- <Button variant="outline">Active</Button>
175
- <Button variant="outline">Completed</Button>
176
152
  </ButtonGroup>
177
153
  </template>
178
154
  ```
179
155
 
180
- ### cn() Utility
181
-
182
- Merge class names with Tailwind conflict resolution:
156
+ ### `cn()` utility
183
157
 
184
158
  ```vue
185
159
  <script setup lang="ts">
186
160
  import { cn } from '@equal-experts/kuat-vue';
187
161
 
188
- const props = defineProps<{
189
- class?: string;
190
- }>();
191
-
192
- const containerClass = cn(
193
- 'bg-background text-foreground p-4',
194
- props.class
195
- );
162
+ const containerClass = cn('bg-background text-foreground p-4', props.class);
196
163
  </script>
197
-
198
- <template>
199
- <div :class="containerClass">
200
- <slot />
201
- </div>
202
- </template>
203
164
  ```
204
165
 
205
166
  ---
206
167
 
207
- ## Migration Guide
208
-
209
- If you were importing standard components from this package, migrate to direct shadcn-vue installation:
210
-
211
- ### Before (Deprecated)
212
-
213
- ```vue
214
- <script setup lang="ts">
215
- import { Button, Dialog } from '@equal-experts/kuat-vue';
216
- </script>
217
- ```
218
-
219
- ### After (Recommended)
220
-
221
- ```vue
222
- <script setup lang="ts">
223
- // Standard components from your local shadcn-vue installation
224
- import { Button } from '@/components/ui/button';
225
- import { Dialog } from '@/components/ui/dialog';
226
-
227
- // Kuat-specific components from this package (including Badge)
228
- import { ButtonGroup, Badge } from '@equal-experts/kuat-vue';
229
- </script>
230
- ```
168
+ ## Migration (legacy projects)
231
169
 
232
- ### Migration Steps
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).
233
171
 
234
- 1. Ensure `@equal-experts/kuat-core` is installed
235
- 2. Initialize shadcn-vue: `npx shadcn-vue@latest init`
236
- 3. Install needed components: `npx shadcn-vue@latest add button dialog`
237
- 4. Update imports to use local components
238
- 5. Keep imports for Kuat-specific components (Button, ButtonGroup, Badge, etc.)
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.
239
173
 
240
174
  ---
241
175
 
242
- ## TypeScript Support
243
-
244
- All components are fully typed:
176
+ ## TypeScript
245
177
 
246
178
  ```vue
247
179
  <script setup lang="ts">
@@ -254,30 +186,16 @@ const orientation: ButtonGroupVariants['orientation'] = 'horizontal';
254
186
 
255
187
  ---
256
188
 
257
- ## Dark Mode
258
-
259
- Dark mode is supported via the `.dark` class on your root element:
260
-
261
- ```vue
262
- <template>
263
- <div :class="{ dark: isDark }">
264
- <App />
265
- </div>
266
- </template>
267
-
268
- <script setup lang="ts">
269
- import { ref } from 'vue';
270
- const isDark = ref(false);
271
- </script>
272
- ```
189
+ ## Dark mode
273
190
 
274
- 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`.
275
192
 
276
193
  ---
277
194
 
278
- ## Related Documentation
195
+ ## Related documentation
279
196
 
280
- - [Consumer Setup Guide](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/setup/consumer-setup.md)
281
- - [kuat-core Integration](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/setup/kuat-core-integration.md)
282
- - [Component Patterns](https://github.com/equalexperts/kuat-mono/blob/master/kuat-docs/rules/components/patterns.md)
283
- - [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,119 @@
1
+ import { defineComponent as i, useAttrs as u, computed as d, createElementBlock as o, createCommentVNode as h, openBlock as n, mergeProps as p, unref as f, renderSlot as _, toDisplayString as A, Fragment as $, renderList as F } from "vue";
2
+ import { c as m } from "./utils-DLUjLwnh.js";
3
+ import "./FieldTitle.vue_vue_type_script_setup_true_lang-Bu8UIwRT.js";
4
+ const L = ["responsive", "vertical", "horizontal"], N = ["legend", "label"], y = { key: 1 }, E = {
5
+ key: 2,
6
+ class: "field-error__list"
7
+ }, D = /* @__PURE__ */ i({
8
+ inheritAttrs: !1,
9
+ __name: "FieldError",
10
+ props: {
11
+ class: {},
12
+ errors: {},
13
+ issues: {}
14
+ },
15
+ setup(r) {
16
+ const t = r, a = u(), l = d(() => {
17
+ const { class: e, ...g } = a;
18
+ return g;
19
+ }), s = d(() => {
20
+ const e = Array.isArray(t.errors) ? t.errors : t.errors ? [t.errors] : [], g = t.issues ?? [];
21
+ return [...e, ...g].map((c) => {
22
+ var v;
23
+ return (v = c == null ? void 0 : c.message) == null ? void 0 : v.trim();
24
+ }).filter((c) => !!c);
25
+ });
26
+ return (e, g) => e.$slots.default || s.value.length ? (n(), o("div", p({
27
+ key: 0,
28
+ "data-slot": "field-error",
29
+ class: f(m)("field-error", t.class)
30
+ }, l.value), [
31
+ e.$slots.default ? _(e.$slots, "default", { key: 0 }) : s.value.length === 1 ? (n(), o("span", y, A(s.value[0]), 1)) : s.value.length > 1 ? (n(), o("ul", E, [
32
+ (n(!0), o($, null, F(s.value, (c) => (n(), o("li", { key: c }, A(c), 1))), 128))
33
+ ])) : h("", !0)
34
+ ], 16)) : h("", !0);
35
+ }
36
+ }), B = /* @__PURE__ */ i({
37
+ inheritAttrs: !1,
38
+ __name: "FieldGroup",
39
+ props: {
40
+ class: {}
41
+ },
42
+ setup(r) {
43
+ const t = r, a = u(), l = d(() => {
44
+ const { class: s, ...e } = a;
45
+ return e;
46
+ });
47
+ return (s, e) => (n(), o("div", p({
48
+ "data-slot": "field-group",
49
+ class: f(m)("field-group", t.class)
50
+ }, l.value), [
51
+ _(s.$slots, "default")
52
+ ], 16));
53
+ }
54
+ }), T = /* @__PURE__ */ i({
55
+ inheritAttrs: !1,
56
+ __name: "FieldLegend",
57
+ props: {
58
+ class: {},
59
+ variant: { default: "legend" }
60
+ },
61
+ setup(r) {
62
+ const t = r, a = u(), l = d(() => {
63
+ const { class: s, ...e } = a;
64
+ return e;
65
+ });
66
+ return (s, e) => (n(), o("legend", p({
67
+ "data-slot": "field-legend",
68
+ class: f(m)("field-legend", `field-legend--${r.variant}`, t.class)
69
+ }, l.value), [
70
+ _(s.$slots, "default")
71
+ ], 16));
72
+ }
73
+ }), b = /* @__PURE__ */ i({
74
+ inheritAttrs: !1,
75
+ __name: "FieldSeparator",
76
+ props: {
77
+ class: {}
78
+ },
79
+ setup(r) {
80
+ const t = r, a = u(), l = d(() => {
81
+ const { class: s, ...e } = a;
82
+ return e;
83
+ });
84
+ return (s, e) => (n(), o("div", p({
85
+ "data-slot": "field-separator",
86
+ role: "separator",
87
+ class: f(m)("field-separator", t.class)
88
+ }, l.value), [
89
+ _(s.$slots, "default")
90
+ ], 16));
91
+ }
92
+ }), C = /* @__PURE__ */ i({
93
+ inheritAttrs: !1,
94
+ __name: "FieldSet",
95
+ props: {
96
+ class: {}
97
+ },
98
+ setup(r) {
99
+ const t = r, a = u(), l = d(() => {
100
+ const { class: s, ...e } = a;
101
+ return e;
102
+ });
103
+ return (s, e) => (n(), o("fieldset", p({
104
+ "data-slot": "field-set",
105
+ class: f(m)("field-set", t.class)
106
+ }, l.value), [
107
+ _(s.$slots, "default")
108
+ ], 16));
109
+ }
110
+ });
111
+ export {
112
+ N as F,
113
+ D as _,
114
+ B as a,
115
+ T as b,
116
+ b as c,
117
+ C as d,
118
+ L as e
119
+ };
@@ -0,0 +1,108 @@
1
+ import { defineComponent as c, useAttrs as o, computed as n, createBlock as v, openBlock as i, resolveDynamicComponent as A, mergeProps as d, unref as u, withCtx as $, renderSlot as p, createElementBlock as _ } from "vue";
2
+ import { c as f } from "./utils-DLUjLwnh.js";
3
+ const F = /* @__PURE__ */ c({
4
+ inheritAttrs: !1,
5
+ __name: "Field",
6
+ props: {
7
+ class: {},
8
+ orientation: { default: "responsive" },
9
+ as: { default: "div" }
10
+ },
11
+ setup(e) {
12
+ const l = e, a = o(), r = n(() => {
13
+ const { class: t, "data-slot": m, ...h } = a;
14
+ return h;
15
+ }), s = n(() => {
16
+ const t = a["data-slot"];
17
+ return typeof t == "string" ? t : "field";
18
+ });
19
+ return (t, m) => (i(), v(A(e.as), d({
20
+ class: u(f)("field", `field--orientation-${e.orientation}`, l.class),
21
+ "data-slot": s.value
22
+ }, r.value), {
23
+ default: $(() => [
24
+ p(t.$slots, "default")
25
+ ]),
26
+ _: 3
27
+ }, 16, ["class", "data-slot"]));
28
+ }
29
+ }), C = /* @__PURE__ */ c({
30
+ inheritAttrs: !1,
31
+ __name: "FieldContent",
32
+ props: {
33
+ class: {}
34
+ },
35
+ setup(e) {
36
+ const l = e, a = o(), r = n(() => {
37
+ const { class: s, ...t } = a;
38
+ return t;
39
+ });
40
+ return (s, t) => (i(), _("div", d({
41
+ "data-slot": "field-content",
42
+ class: u(f)("field-content", l.class)
43
+ }, r.value), [
44
+ p(s.$slots, "default")
45
+ ], 16));
46
+ }
47
+ }), k = /* @__PURE__ */ c({
48
+ inheritAttrs: !1,
49
+ __name: "FieldDescription",
50
+ props: {
51
+ class: {}
52
+ },
53
+ setup(e) {
54
+ const l = e, a = o(), r = n(() => {
55
+ const { class: s, ...t } = a;
56
+ return t;
57
+ });
58
+ return (s, t) => (i(), _("p", d({
59
+ "data-slot": "field-description",
60
+ class: u(f)("field-description", l.class)
61
+ }, r.value), [
62
+ p(s.$slots, "default")
63
+ ], 16));
64
+ }
65
+ }), B = /* @__PURE__ */ c({
66
+ inheritAttrs: !1,
67
+ __name: "FieldLabel",
68
+ props: {
69
+ class: {}
70
+ },
71
+ setup(e) {
72
+ const l = e, a = o(), r = n(() => {
73
+ const { class: s, ...t } = a;
74
+ return t;
75
+ });
76
+ return (s, t) => (i(), _("label", d({
77
+ "data-slot": "field-label",
78
+ class: u(f)("field-label", l.class)
79
+ }, r.value), [
80
+ p(s.$slots, "default")
81
+ ], 16));
82
+ }
83
+ }), x = /* @__PURE__ */ c({
84
+ inheritAttrs: !1,
85
+ __name: "FieldTitle",
86
+ props: {
87
+ class: {}
88
+ },
89
+ setup(e) {
90
+ const l = e, a = o(), r = n(() => {
91
+ const { class: s, ...t } = a;
92
+ return t;
93
+ });
94
+ return (s, t) => (i(), _("div", d({
95
+ "data-slot": "field-title",
96
+ class: u(f)("field-title", l.class)
97
+ }, r.value), [
98
+ p(s.$slots, "default")
99
+ ], 16));
100
+ }
101
+ });
102
+ export {
103
+ F as _,
104
+ C as a,
105
+ k as b,
106
+ B as c,
107
+ x as d
108
+ };