@equal-experts/kuat-react 0.13.0 → 0.14.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agent-docs/AGENTS.md +10 -0
- package/agent-docs/README.md +17 -0
- package/agent-docs/bundle-manifest.json +55 -0
- package/agent-docs/components/_template.md +21 -0
- package/agent-docs/components/button-group.md +27 -0
- package/agent-docs/components/button.md +50 -0
- package/agent-docs/components/components.manifest.json +23 -0
- package/agent-docs/components/kuat-header.md +27 -0
- package/agent-docs/external/kuat-agent-rules/reference/accessibility/README.md +7 -0
- package/agent-docs/external/kuat-agent-rules/reference/accessibility/accessibility.md +446 -0
- package/agent-docs/external/kuat-agent-rules/reference/brand/README.md +9 -0
- package/agent-docs/external/kuat-agent-rules/reference/brand/brand.md +109 -0
- package/agent-docs/external/kuat-agent-rules/reference/brand/logo.md +152 -0
- package/agent-docs/external/kuat-agent-rules/reference/brand/voice-and-tone.md +166 -0
- package/agent-docs/external/kuat-agent-rules/reference/content/README.md +12 -0
- package/agent-docs/external/kuat-agent-rules/reference/content/formatting.md +120 -0
- package/agent-docs/external/kuat-agent-rules/reference/content/numbers.md +87 -0
- package/agent-docs/external/kuat-agent-rules/reference/content/punctuation.md +94 -0
- package/agent-docs/external/kuat-agent-rules/reference/content/writing-style.md +96 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/README.md +11 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/borders.md +160 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/colours.md +201 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/design-language.md +117 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/spacing.md +131 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/tokens/README.md +29 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/tokens/colors.tokens.json +84 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/typography.md +156 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/README.md +10 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/README.md +26 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/blog-posts.md +29 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/marketing-content.md +61 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/seo.md +40 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/emails.md +68 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/patterns/README.md +7 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/patterns/marketing-pages.md +368 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/website.md +154 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/README.md +16 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/accessibility.md +392 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/component-decision-tree.md +248 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/component-registry.md +49 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/README.md +29 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/actions.md +45 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/confirmations.md +51 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/empty-states.md +37 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/errors.md +48 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/forms.md +68 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/product-content.md +128 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/design.md +177 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/emails.md +65 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/README.md +10 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/authentication.md +303 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/dashboards.md +313 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/documentation.md +333 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/forms.md +361 -0
- package/agent-docs/kuat-docs/rules/README.md +155 -0
- package/agent-docs/kuat-docs/rules/design/layouts.md +394 -0
- package/agent-docs/kuat-docs/rules/scenarios/README.md +83 -0
- package/agent-docs/kuat-docs/rules/scenarios/authentication.md +301 -0
- package/agent-docs/kuat-docs/rules/scenarios/dashboards.md +314 -0
- package/agent-docs/kuat-docs/rules/scenarios/documentation.md +333 -0
- package/agent-docs/kuat-docs/rules/scenarios/forms.md +359 -0
- package/agent-docs/kuat-docs/rules/scenarios/marketing-pages.md +367 -0
- package/agent-docs/manifest.json +9 -0
- package/agent-docs/rules/LOADING-consumer.md +27 -0
- package/dist/accordion.d.ts +2 -0
- package/dist/alert-dialog.d.ts +2 -0
- package/dist/badge.d.ts +3 -0
- package/dist/button-group.d.ts +2 -0
- package/dist/button.d.ts +3 -0
- package/dist/carousel.d.ts +2 -0
- package/dist/checkbox.d.ts +3 -0
- package/dist/components/ui/accordion/accordion.d.ts +7 -0
- package/dist/components/ui/accordion/index.d.ts +1 -0
- package/dist/components/ui/alert-dialog/alert-dialog.d.ts +20 -0
- package/dist/components/ui/alert-dialog/index.d.ts +1 -0
- package/dist/components/ui/badge/badge.d.ts +16 -0
- package/dist/components/ui/badge/index.d.ts +2 -0
- package/dist/components/ui/breadcrumb/Breadcrumb.d.ts +29 -0
- package/dist/components/ui/breadcrumb/breadcrumb-primitives.d.ts +19 -0
- package/dist/components/ui/breadcrumb/index.d.ts +4 -0
- package/dist/components/ui/button/button.d.ts +27 -0
- package/dist/components/ui/button/index.d.ts +2 -0
- package/dist/components/ui/button-group/button-group.d.ts +23 -0
- package/dist/components/ui/button-group/index.d.ts +2 -0
- package/dist/components/ui/carousel/carousel.d.ts +50 -0
- package/dist/components/ui/carousel/index.d.ts +2 -0
- package/dist/components/ui/checkbox/checkbox-field.d.ts +23 -0
- package/dist/components/ui/checkbox/checkbox.d.ts +5 -0
- package/dist/components/ui/checkbox/index.d.ts +4 -0
- package/dist/components/ui/content-card/content-card.d.ts +29 -0
- package/dist/components/ui/content-card/index.d.ts +2 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +27 -0
- package/dist/components/ui/dropdown-menu/index.d.ts +1 -0
- package/dist/components/ui/ee-logo-icon/ee-logo-icon.d.ts +11 -0
- package/dist/components/ui/ee-logo-icon/index.d.ts +2 -0
- package/dist/components/ui/field/field.d.ts +28 -0
- package/dist/components/ui/field/index.d.ts +2 -0
- package/dist/components/ui/icon-button/icon-button.d.ts +27 -0
- package/dist/components/ui/icon-button/index.d.ts +2 -0
- package/dist/components/ui/input/index.d.ts +2 -0
- package/dist/components/ui/input/input.d.ts +20 -0
- package/dist/components/ui/kuat-carousel/index.d.ts +2 -0
- package/dist/components/ui/kuat-carousel/kuat-carousel.d.ts +16 -0
- package/dist/components/ui/kuat-header/index.d.ts +4 -0
- package/dist/components/ui/kuat-header/kuat-header.d.ts +16 -0
- package/dist/components/ui/kuat-header/kuat-header.logic.d.ts +32 -0
- package/dist/components/ui/kuat-header/kuat-header.types.d.ts +91 -0
- package/dist/components/ui/kuat-logo-lockup/index.d.ts +2 -0
- package/dist/components/ui/kuat-logo-lockup/kuat-logo-lockup.d.ts +17 -0
- package/dist/components/ui/kuat-radial-progress/index.d.ts +2 -0
- package/dist/components/ui/kuat-radial-progress/kuat-radial-progress.d.ts +16 -0
- package/dist/components/ui/radio/index.d.ts +4 -0
- package/dist/components/ui/radio/radio-field.d.ts +25 -0
- package/dist/components/ui/radio/radio.d.ts +7 -0
- package/dist/components/ui/select/constants.d.ts +19 -0
- package/dist/components/ui/select/index.d.ts +3 -0
- package/dist/components/ui/select/select.d.ts +53 -0
- package/dist/components/ui/separator/index.d.ts +2 -0
- package/dist/components/ui/separator/separator.d.ts +9 -0
- package/dist/components/ui/sonner/index.d.ts +4 -0
- package/dist/components/ui/sonner/sonner-content.d.ts +15 -0
- package/dist/components/ui/sonner/sonner.d.ts +21 -0
- package/dist/components/ui/switch/index.d.ts +4 -0
- package/dist/components/ui/switch/switch-field.d.ts +23 -0
- package/dist/components/ui/switch/switch.d.ts +5 -0
- package/dist/components/ui/textarea/index.d.ts +2 -0
- package/dist/components/ui/textarea/textarea.d.ts +9 -0
- package/dist/components/ui/toggle/constants.d.ts +4 -0
- package/dist/components/ui/toggle/index.d.ts +6 -0
- package/dist/components/ui/toggle/toggle-group.d.ts +11 -0
- package/dist/components/ui/toggle/toggle.d.ts +9 -0
- package/dist/field.d.ts +3 -0
- package/dist/icon-button.d.ts +3 -0
- package/dist/index.d.ts +47 -0
- package/dist/input.d.ts +3 -0
- package/dist/kuat-carousel.d.ts +2 -0
- package/dist/kuat-radial-progress.d.ts +7 -0
- package/dist/lib/react-node-compat.d.ts +7 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/radio.d.ts +3 -0
- package/dist/select.d.ts +3 -0
- package/dist/sonner.d.ts +1 -0
- package/dist/style.css +1 -1
- package/dist/style.css.d.ts +2 -0
- package/dist/switch.d.ts +1 -0
- package/dist/test/setup.d.ts +1 -0
- package/dist/textarea.d.ts +3 -0
- package/dist/toggle-group.d.ts +3 -0
- package/dist/toggle.d.ts +3 -0
- package/package.json +4 -2
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
# Marketing Page Scenarios
|
|
2
|
+
|
|
3
|
+
Patterns for landing pages, feature pages, pricing, testimonials, and promotional content.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Principles
|
|
8
|
+
|
|
9
|
+
### User Goals
|
|
10
|
+
|
|
11
|
+
- **Understand the value** - What's in it for me?
|
|
12
|
+
- **Build trust** - Is this credible?
|
|
13
|
+
- **Make decisions** - Which option is right for me?
|
|
14
|
+
- **Take action** - Easy path to next step
|
|
15
|
+
|
|
16
|
+
### UX Principles
|
|
17
|
+
|
|
18
|
+
| Principle | Implementation |
|
|
19
|
+
|-----------|----------------|
|
|
20
|
+
| Clear value proposition | Hero communicates benefit immediately |
|
|
21
|
+
| Social proof | Testimonials, logos, metrics build trust |
|
|
22
|
+
| Scannable content | Users skim before they read |
|
|
23
|
+
| Clear CTAs | Obvious next steps at every section |
|
|
24
|
+
|
|
25
|
+
### Success Metrics
|
|
26
|
+
|
|
27
|
+
- Time on page
|
|
28
|
+
- Scroll depth
|
|
29
|
+
- CTA click-through rate
|
|
30
|
+
- Conversion rate
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Layout
|
|
35
|
+
|
|
36
|
+
**Base Layout:** [Horizontal Navigation](../design/layouts.md#1-horizontal-navigation-layout)
|
|
37
|
+
|
|
38
|
+
Marketing pages use full-width sections with contained content.
|
|
39
|
+
|
|
40
|
+
### Landing Page Structure
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
┌─────────────────────────────────────┐
|
|
44
|
+
│ Header │
|
|
45
|
+
├─────────────────────────────────────┤
|
|
46
|
+
│ Hero Section (full width) │
|
|
47
|
+
├─────────────────────────────────────┤
|
|
48
|
+
│ Social Proof / Logos │
|
|
49
|
+
├─────────────────────────────────────┤
|
|
50
|
+
│ Features Section │
|
|
51
|
+
├─────────────────────────────────────┤
|
|
52
|
+
│ Benefits / How It Works │
|
|
53
|
+
├─────────────────────────────────────┤
|
|
54
|
+
│ Testimonials │
|
|
55
|
+
├─────────────────────────────────────┤
|
|
56
|
+
│ CTA Section │
|
|
57
|
+
├─────────────────────────────────────┤
|
|
58
|
+
│ Footer │
|
|
59
|
+
└─────────────────────────────────────┘
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Pricing Page Structure
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
┌─────────────────────────────────────┐
|
|
66
|
+
│ Header │
|
|
67
|
+
├─────────────────────────────────────┤
|
|
68
|
+
│ Heading: "Pricing" or "Choose Plan" │
|
|
69
|
+
│ [Monthly] [Annual] toggle │
|
|
70
|
+
├─────────────────────────────────────┤
|
|
71
|
+
│ ┌─────┐ ┌─────┐ ┌─────┐ │
|
|
72
|
+
│ │Free │ │ Pro │ │Enter│ │
|
|
73
|
+
│ │ │ │ ★ │ │prise│ │
|
|
74
|
+
│ └─────┘ └─────┘ └─────┘ │
|
|
75
|
+
├─────────────────────────────────────┤
|
|
76
|
+
│ Feature Comparison Table │
|
|
77
|
+
├─────────────────────────────────────┤
|
|
78
|
+
│ FAQ Section │
|
|
79
|
+
├─────────────────────────────────────┤
|
|
80
|
+
│ Footer │
|
|
81
|
+
└─────────────────────────────────────┘
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Specifications
|
|
85
|
+
|
|
86
|
+
| Element | Value |
|
|
87
|
+
|---------|-------|
|
|
88
|
+
| Header height | 64-80px |
|
|
89
|
+
| Content container | max-width 1200-1400px, centered |
|
|
90
|
+
| Section padding | 64-96px vertical |
|
|
91
|
+
| Footer padding | 48-64px vertical |
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Design
|
|
96
|
+
|
|
97
|
+
### Color Tokens
|
|
98
|
+
|
|
99
|
+
| Element | Token |
|
|
100
|
+
|---------|-------|
|
|
101
|
+
| Page background | `bg-background` |
|
|
102
|
+
| Header | `bg-background` (light) |
|
|
103
|
+
| Alternating sections | `bg-muted` or `bg-background` |
|
|
104
|
+
| CTA sections | `bg-primary` or dark |
|
|
105
|
+
| Footer | `bg-muted` |
|
|
106
|
+
|
|
107
|
+
### Typography
|
|
108
|
+
|
|
109
|
+
| Element | Style |
|
|
110
|
+
|---------|-------|
|
|
111
|
+
| Hero heading | `text-4xl md:text-5xl lg:text-6xl font-bold` |
|
|
112
|
+
| Hero subheading | `text-xl text-muted-foreground` |
|
|
113
|
+
| Section heading | `text-3xl font-bold` |
|
|
114
|
+
| Section subheading | `text-lg text-muted-foreground` |
|
|
115
|
+
| Body text | `text-base` or `text-lg` |
|
|
116
|
+
| Feature title | `text-lg font-semibold` |
|
|
117
|
+
|
|
118
|
+
### Spacing Between Sections
|
|
119
|
+
|
|
120
|
+
| Section Type | Vertical Padding |
|
|
121
|
+
|--------------|-----------------|
|
|
122
|
+
| Hero | 64-96px |
|
|
123
|
+
| Standard content | 64px |
|
|
124
|
+
| CTA sections | 64-80px |
|
|
125
|
+
| Compact (logos) | 32-48px |
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Content
|
|
130
|
+
|
|
131
|
+
### Hero Section
|
|
132
|
+
|
|
133
|
+
**Required Elements:**
|
|
134
|
+
|
|
135
|
+
1. Headline - Clear value proposition
|
|
136
|
+
2. Subheadline - Supporting detail
|
|
137
|
+
3. Primary CTA button
|
|
138
|
+
4. Secondary CTA (optional)
|
|
139
|
+
5. Hero image/illustration (optional)
|
|
140
|
+
|
|
141
|
+
**Hero Variants:**
|
|
142
|
+
|
|
143
|
+
| Variant | Structure |
|
|
144
|
+
|---------|-----------|
|
|
145
|
+
| Centered | Text centered, buttons centered below |
|
|
146
|
+
| Split | Text left (50%), image right (50%) |
|
|
147
|
+
| With background | Dark/image background, light text |
|
|
148
|
+
|
|
149
|
+
**Specifications:**
|
|
150
|
+
|
|
151
|
+
| Element | Value |
|
|
152
|
+
|---------|-------|
|
|
153
|
+
| Heading | Max 10-12 words |
|
|
154
|
+
| Subheading | 1-2 sentences |
|
|
155
|
+
| CTA spacing | 16px between buttons |
|
|
156
|
+
|
|
157
|
+
### Feature Sections
|
|
158
|
+
|
|
159
|
+
**Feature Grid:**
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
┌─────────┐ ┌─────────┐ ┌─────────┐
|
|
163
|
+
│ Icon │ │ Icon │ │ Icon │
|
|
164
|
+
│ Heading │ │ Heading │ │ Heading │
|
|
165
|
+
│ Text │ │ Text │ │ Text │
|
|
166
|
+
└─────────┘ └─────────┘ └─────────┘
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
| Element | Specification |
|
|
170
|
+
|---------|---------------|
|
|
171
|
+
| Grid | 3 columns desktop, 2 tablet, 1 mobile |
|
|
172
|
+
| Gap | 32px |
|
|
173
|
+
| Icon size | 48px, brand color |
|
|
174
|
+
| Alignment | Center or left |
|
|
175
|
+
|
|
176
|
+
**Feature Alternating:**
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
┌─────────────────────────────────────┐
|
|
180
|
+
│ [Image] Text content │
|
|
181
|
+
├─────────────────────────────────────┤
|
|
182
|
+
│ Text content [Image] │
|
|
183
|
+
├─────────────────────────────────────┤
|
|
184
|
+
│ [Image] Text content │
|
|
185
|
+
└─────────────────────────────────────┘
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
- Alternate image position left/right
|
|
189
|
+
- 50/50 or 60/40 split
|
|
190
|
+
- Stack on mobile (image above text)
|
|
191
|
+
|
|
192
|
+
### Pricing Cards
|
|
193
|
+
|
|
194
|
+
| Element | Specification |
|
|
195
|
+
|---------|---------------|
|
|
196
|
+
| Card padding | 32px (`p-8`) |
|
|
197
|
+
| Highlighted tier | `border-primary`, "Popular" badge |
|
|
198
|
+
| Price display | `text-4xl font-bold` |
|
|
199
|
+
| Period | `text-sm text-muted-foreground` |
|
|
200
|
+
| Feature list | 8-10 items max, checkmarks |
|
|
201
|
+
| CTA button | Full width at bottom |
|
|
202
|
+
|
|
203
|
+
### Testimonials
|
|
204
|
+
|
|
205
|
+
**Card Pattern:**
|
|
206
|
+
|
|
207
|
+
| Element | Specification |
|
|
208
|
+
|---------|---------------|
|
|
209
|
+
| Quote | `text-lg`, optional quotation marks |
|
|
210
|
+
| Avatar | 48-64px, rounded full |
|
|
211
|
+
| Name | `font-semibold` |
|
|
212
|
+
| Title/Company | `text-muted-foreground` |
|
|
213
|
+
| Logo | 80-120px wide |
|
|
214
|
+
|
|
215
|
+
**Layout Options:**
|
|
216
|
+
|
|
217
|
+
| Layout | Use Case |
|
|
218
|
+
|--------|----------|
|
|
219
|
+
| Grid (3 col) | Multiple equal testimonials |
|
|
220
|
+
| Carousel | Many testimonials, limited space |
|
|
221
|
+
| Featured | Single prominent quote |
|
|
222
|
+
|
|
223
|
+
### CTA Sections
|
|
224
|
+
|
|
225
|
+
**Mid-page CTA:**
|
|
226
|
+
|
|
227
|
+
| Element | Specification |
|
|
228
|
+
|---------|---------------|
|
|
229
|
+
| Background | `bg-muted` |
|
|
230
|
+
| Padding | 64px vertical |
|
|
231
|
+
| Content | Centered heading + button |
|
|
232
|
+
|
|
233
|
+
**Final CTA (above footer):**
|
|
234
|
+
|
|
235
|
+
| Element | Specification |
|
|
236
|
+
|---------|---------------|
|
|
237
|
+
| Background | `bg-primary` or dark |
|
|
238
|
+
| Text | White/light |
|
|
239
|
+
| Padding | 80-96px vertical |
|
|
240
|
+
| Content | Strong headline + single button |
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Accessibility
|
|
245
|
+
|
|
246
|
+
**Base requirements:** See [accessibility/design.md](../accessibility/design.md), [accessibility/content.md](../accessibility/content.md), and [accessibility/technical.md](../accessibility/technical.md)
|
|
247
|
+
|
|
248
|
+
**Scenario-specific:**
|
|
249
|
+
|
|
250
|
+
| Requirement | Implementation |
|
|
251
|
+
|-------------|----------------|
|
|
252
|
+
| Image alt text | Describe meaningful images, decorative get empty alt |
|
|
253
|
+
| Heading structure | H1 (hero) → H2 (sections) → H3 (sub-sections) |
|
|
254
|
+
| Link purpose | CTAs describe destination/action |
|
|
255
|
+
| Contrast on dark sections | Ensure text meets 4.5:1 on dark backgrounds |
|
|
256
|
+
| Video captions | All promotional videos have captions |
|
|
257
|
+
|
|
258
|
+
### Pricing Table Accessibility
|
|
259
|
+
|
|
260
|
+
- Use semantic `<table>` for comparison tables
|
|
261
|
+
- Clear header row with `<th>` elements
|
|
262
|
+
- Don't rely on color alone for highlighting
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Implementation
|
|
267
|
+
|
|
268
|
+
### Header Pattern
|
|
269
|
+
|
|
270
|
+
| Element | Specification |
|
|
271
|
+
|---------|---------------|
|
|
272
|
+
| Background | `bg-background` (light) |
|
|
273
|
+
| Logo | Full-color, left-aligned, 120-150px |
|
|
274
|
+
| Navigation | Right-aligned, horizontal |
|
|
275
|
+
| CTA button | Primary action in header |
|
|
276
|
+
| Height | 64-80px |
|
|
277
|
+
|
|
278
|
+
### Footer Pattern
|
|
279
|
+
|
|
280
|
+
| Element | Specification |
|
|
281
|
+
|---------|---------------|
|
|
282
|
+
| Background | `bg-muted` |
|
|
283
|
+
| Logo | Full-color, 100-120px |
|
|
284
|
+
| Link columns | Company, Resources, Legal |
|
|
285
|
+
| Social links | Icons, 24px |
|
|
286
|
+
| Copyright | Bottom, `text-sm text-muted-foreground` |
|
|
287
|
+
|
|
288
|
+
### Case Study Structure
|
|
289
|
+
|
|
290
|
+
1. Hero with client logo and headline
|
|
291
|
+
2. Challenge section - What problem?
|
|
292
|
+
3. Solution section - How did we help?
|
|
293
|
+
4. Results section - Metrics and outcomes
|
|
294
|
+
5. Client quote
|
|
295
|
+
6. Related case studies CTA
|
|
296
|
+
|
|
297
|
+
**Results Display:**
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
┌──────┐ ┌──────┐ ┌──────┐
|
|
301
|
+
│ 50% │ │ 3x │ │ 24h │
|
|
302
|
+
│ cost │ │faster│ │deploy│
|
|
303
|
+
│ saved│ │ time │ │ time │
|
|
304
|
+
└──────┘ └──────┘ └──────┘
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
- Use KPI card pattern
|
|
308
|
+
- Include context (e.g., "50% reduction in...")
|
|
309
|
+
|
|
310
|
+
### Responsive Behavior
|
|
311
|
+
|
|
312
|
+
| Element | Desktop | Tablet | Mobile |
|
|
313
|
+
|---------|---------|--------|--------|
|
|
314
|
+
| Hero heading | `text-6xl` | `text-5xl` | `text-4xl` |
|
|
315
|
+
| Feature grid | 3 columns | 2 columns | 1 column |
|
|
316
|
+
| Pricing cards | 3 horizontal | 3 horizontal | Stacked |
|
|
317
|
+
| Split sections | 50/50 | 50/50 | Stacked |
|
|
318
|
+
| Testimonials | 3 columns | 2 columns | 1 column |
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## Best Practices
|
|
323
|
+
|
|
324
|
+
### Do's
|
|
325
|
+
|
|
326
|
+
1. **Lead with value** - Hero should answer "what's in it for me?"
|
|
327
|
+
2. **Use social proof** - Logos, testimonials, metrics
|
|
328
|
+
3. **Clear CTAs** - One primary action per section
|
|
329
|
+
4. **Scannable content** - Users skim before reading
|
|
330
|
+
5. **Mobile-first** - Many visitors are on mobile
|
|
331
|
+
6. **Fast loading** - Optimize images, lazy load below fold
|
|
332
|
+
|
|
333
|
+
### Don'ts
|
|
334
|
+
|
|
335
|
+
1. **Don't overwhelm** - One message per section
|
|
336
|
+
2. **Don't hide CTAs** - Make them prominent
|
|
337
|
+
3. **Don't use jargon** - Plain language for broad audience
|
|
338
|
+
4. **Don't auto-play video with sound** - Respect user preferences
|
|
339
|
+
5. **Don't neglect footer** - Important for trust and navigation
|
|
340
|
+
|
|
341
|
+
### Common Mistakes
|
|
342
|
+
|
|
343
|
+
| Mistake | Solution |
|
|
344
|
+
|---------|----------|
|
|
345
|
+
| Unclear value prop | Test headline with users |
|
|
346
|
+
| Too many CTAs | One primary per section |
|
|
347
|
+
| Walls of text | Break into scannable sections |
|
|
348
|
+
| Generic testimonials | Specific, credible quotes |
|
|
349
|
+
| Missing social proof | Add logos, numbers, quotes |
|
|
350
|
+
| Slow loading | Optimize images, lazy load |
|
|
351
|
+
|
|
352
|
+
### Edge Cases
|
|
353
|
+
|
|
354
|
+
| Case | Handling |
|
|
355
|
+
|------|----------|
|
|
356
|
+
| No testimonials yet | Use partner logos, team credentials |
|
|
357
|
+
| Complex pricing | Summary cards + detailed table |
|
|
358
|
+
| Many features | Categorize, show top 3-6, link to full list |
|
|
359
|
+
| Video content | Thumbnail + play button, don't auto-play |
|
|
360
|
+
| International | Consider localization, currency display |
|
|
361
|
+
|
|
362
|
+
---
|
|
363
|
+
|
|
364
|
+
## Related Documentation
|
|
365
|
+
|
|
366
|
+
- [Layout Primitives](../design/layouts.md) - Horizontal Navigation layout
|
|
367
|
+
- [Rules index](../README.md) - Marketing content and logo (paths under *Types — web — marketing* and *Foundations — logo*)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"packageVersion": "0.14.0-beta.0",
|
|
3
|
+
"rules": {
|
|
4
|
+
"snapshotRef": "538afc80d4372a6c6cdcd75c4d35782b5988a664",
|
|
5
|
+
"snapshotDate": "2026-06-24T13:14:07.261Z",
|
|
6
|
+
"sourceRepo": "equalexperts/kuat-agent-docs",
|
|
7
|
+
"loadingPath": "agent-docs/rules/LOADING-consumer.md"
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Kuat consumer rules (bundled)
|
|
2
|
+
|
|
3
|
+
**Package:** @equal-experts/kuat-core (and mirrored in kuat-react / kuat-vue agent-docs)
|
|
4
|
+
|
|
5
|
+
**Snapshot:** 538afc80d437
|
|
6
|
+
|
|
7
|
+
## Default load (web product / marketing UI)
|
|
8
|
+
|
|
9
|
+
1. `external/kuat-agent-rules/reference/` foundations — `brand/`, `design-language/`, `content/`, `accessibility/`
|
|
10
|
+
2. `external/kuat-agent-rules/reference/media-types/web-product/` — core files + patterns + content (examples excluded)
|
|
11
|
+
3. `external/kuat-agent-rules/reference/media-types/web-marketing/`
|
|
12
|
+
4. `kuat-docs/rules/design/layouts.md` — Kuat layout primitives
|
|
13
|
+
5. `kuat-docs/rules/scenarios/` — Kuat scenario overlays
|
|
14
|
+
6. Component guides on demand: `components/{slug}.md` via `components.manifest.json`
|
|
15
|
+
|
|
16
|
+
## Component IDs
|
|
17
|
+
|
|
18
|
+
Resolve `shadcn:button`, `kuat:button-group`, etc. using `components/components.manifest.json`.
|
|
19
|
+
|
|
20
|
+
## Full org taxonomy
|
|
21
|
+
|
|
22
|
+
Set `KUAT_RULES_PATH` to a `kuat-agent-docs` git clone for slides, graphics, and latest upstream.
|
|
23
|
+
|
|
24
|
+
## Related
|
|
25
|
+
|
|
26
|
+
- [README.md](../README.md)
|
|
27
|
+
- Upstream reference index [reference/README.md](../external/kuat-agent-rules/reference/README.md)
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { cn } from './lib/utils';
|
|
2
|
+
export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel, } from './components/ui/alert-dialog';
|
package/dist/badge.d.ts
ADDED
package/dist/button.d.ts
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, useCarousel, } from './components/ui/carousel';
|
|
2
|
+
export type { CarouselItemBasis, CarouselResponsiveBasis, CarouselEventHandler, CarouselEventHandlers, CarouselProps, CarouselContentProps, CarouselItemProps, } from './components/ui/carousel';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { cn } from './lib/utils';
|
|
2
|
+
export { Checkbox, CheckboxField, CHECKBOX_FIELD_APPEARANCES, CHECKBOX_FIELD_LAYOUTS, } from './components/ui/checkbox';
|
|
3
|
+
export type { CheckboxProps, CheckboxFieldAppearance, CheckboxFieldLayout, CheckboxFieldProps, } from './components/ui/checkbox';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import * as AccordionPrimitive from "@radix-ui/react-accordion";
|
|
3
|
+
declare const Accordion: React.ForwardRefExoticComponent<(AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & React.RefAttributes<HTMLDivElement>>;
|
|
4
|
+
declare const AccordionItem: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
5
|
+
declare const AccordionTrigger: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
6
|
+
declare const AccordionContent: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Accordion, AccordionItem, AccordionTrigger, AccordionContent, } from './accordion';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
3
|
+
declare const AlertDialog: React.FC<AlertDialogPrimitive.AlertDialogProps>;
|
|
4
|
+
declare const AlertDialogTrigger: React.ForwardRefExoticComponent<AlertDialogPrimitive.AlertDialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
5
|
+
declare const AlertDialogPortal: React.FC<AlertDialogPrimitive.AlertDialogPortalProps>;
|
|
6
|
+
declare const AlertDialogOverlay: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
declare const AlertDialogContent: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
8
|
+
declare const AlertDialogHeader: {
|
|
9
|
+
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
displayName: string;
|
|
11
|
+
};
|
|
12
|
+
declare const AlertDialogFooter: {
|
|
13
|
+
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
displayName: string;
|
|
15
|
+
};
|
|
16
|
+
declare const AlertDialogTitle: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
17
|
+
declare const AlertDialogDescription: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
18
|
+
declare const AlertDialogAction: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogActionProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
19
|
+
declare const AlertDialogCancel: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogCancelProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
20
|
+
export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel, };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { AlertDialog, AlertDialogPortal, AlertDialogOverlay, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel, } from './alert-dialog';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export declare const BADGE_VARIANTS: readonly ["default", "secondary", "destructive", "outline", "ghost"];
|
|
3
|
+
export type BadgeVariant = (typeof BADGE_VARIANTS)[number];
|
|
4
|
+
export declare const BADGE_ROUNDNESS: readonly ["default", "round"];
|
|
5
|
+
export type BadgeRoundness = (typeof BADGE_ROUNDNESS)[number];
|
|
6
|
+
export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
7
|
+
variant?: BadgeVariant;
|
|
8
|
+
roundness?: BadgeRoundness;
|
|
9
|
+
}
|
|
10
|
+
declare function Badge({ className, variant, roundness, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
/** Returns class string for badge variant (backward compatibility). */
|
|
12
|
+
export declare function badgeVariants(options: {
|
|
13
|
+
variant?: BadgeVariant;
|
|
14
|
+
roundness?: BadgeRoundness;
|
|
15
|
+
}): string;
|
|
16
|
+
export { Badge };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
/** Single breadcrumb entry for the trail. */
|
|
3
|
+
export interface BreadcrumbItemEntry {
|
|
4
|
+
/** Visible label. */
|
|
5
|
+
label: string;
|
|
6
|
+
/** Link URL. Omit for current page when no children. */
|
|
7
|
+
href?: string;
|
|
8
|
+
/** Sub-items; when set, this item is rendered as a dropdown. */
|
|
9
|
+
children?: Array<{
|
|
10
|
+
label: string;
|
|
11
|
+
href: string;
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
14
|
+
export interface BreadcrumbProps extends Omit<React.ComponentPropsWithoutRef<"nav">, "children"> {
|
|
15
|
+
/** Breadcrumb trail: ordered list of items. Last item is current page if it has no href. */
|
|
16
|
+
items: BreadcrumbItemEntry[];
|
|
17
|
+
/** Custom link component (e.g. Next.js Link). Receives { href, children } and should render a link. */
|
|
18
|
+
linkComponent?: React.ComponentType<{
|
|
19
|
+
href: string;
|
|
20
|
+
children: React.ReactNode;
|
|
21
|
+
className?: string;
|
|
22
|
+
}>;
|
|
23
|
+
/** Custom separator node (e.g. icon). Default is chevron. */
|
|
24
|
+
separator?: React.ReactNode;
|
|
25
|
+
/** aria-label for the nav. Default "Breadcrumb". */
|
|
26
|
+
"aria-label"?: string;
|
|
27
|
+
}
|
|
28
|
+
declare const Breadcrumb: React.ForwardRefExoticComponent<BreadcrumbProps & React.RefAttributes<HTMLElement>>;
|
|
29
|
+
export { Breadcrumb };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
declare const BreadcrumbRoot: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & {
|
|
3
|
+
"aria-label"?: string;
|
|
4
|
+
} & React.RefAttributes<HTMLElement>>;
|
|
5
|
+
declare const BreadcrumbList: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.OlHTMLAttributes<HTMLOListElement>, HTMLOListElement>, "ref"> & React.RefAttributes<HTMLOListElement>>;
|
|
6
|
+
declare const BreadcrumbItem: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React.RefAttributes<HTMLLIElement>>;
|
|
7
|
+
interface BreadcrumbLinkProps extends React.ComponentPropsWithoutRef<"a"> {
|
|
8
|
+
/** When provided, render this element instead of <a> (e.g. Next.js Link). */
|
|
9
|
+
render?: React.ReactElement;
|
|
10
|
+
asChild?: boolean;
|
|
11
|
+
}
|
|
12
|
+
declare const BreadcrumbLink: React.ForwardRefExoticComponent<BreadcrumbLinkProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
13
|
+
declare const BreadcrumbPage: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
14
|
+
declare const BreadcrumbSeparator: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
|
|
15
|
+
children?: React.ReactNode;
|
|
16
|
+
} & React.RefAttributes<HTMLSpanElement>>;
|
|
17
|
+
declare const BreadcrumbEllipsis: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
18
|
+
export { BreadcrumbRoot, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis, };
|
|
19
|
+
export type { BreadcrumbLinkProps };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { Breadcrumb } from './Breadcrumb';
|
|
2
|
+
export type { BreadcrumbProps, BreadcrumbItemEntry } from './Breadcrumb';
|
|
3
|
+
export { BreadcrumbRoot, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis, } from './breadcrumb-primitives';
|
|
4
|
+
export type { BreadcrumbLinkProps } from './breadcrumb-primitives';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export declare const BUTTON_VARIANTS: readonly ["primary", "secondary", "outline", "ghost", "ghost-muted", "destructive"];
|
|
3
|
+
/** @deprecated Use "primary" instead. */
|
|
4
|
+
export declare const BUTTON_VARIANT_DEFAULT_ALIAS = "default";
|
|
5
|
+
export declare const BUTTON_SIZES: readonly ["mini", "small", "default", "large", "icon"];
|
|
6
|
+
/** @deprecated Use "small" instead. */
|
|
7
|
+
export declare const BUTTON_SIZE_SM_ALIAS = "sm";
|
|
8
|
+
/** @deprecated Use "large" instead. */
|
|
9
|
+
export declare const BUTTON_SIZE_LG_ALIAS = "lg";
|
|
10
|
+
export declare const BUTTON_COLORS: readonly ["ee-blue", "tech-blue", "byte-white", "the-cloud", "dark-data", "transform-teal", "equal-ember"];
|
|
11
|
+
export type ButtonVariant = (typeof BUTTON_VARIANTS)[number];
|
|
12
|
+
export type ButtonSize = (typeof BUTTON_SIZES)[number];
|
|
13
|
+
export type ButtonColor = (typeof BUTTON_COLORS)[number];
|
|
14
|
+
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
15
|
+
variant?: ButtonVariant | typeof BUTTON_VARIANT_DEFAULT_ALIAS;
|
|
16
|
+
size?: ButtonSize | typeof BUTTON_SIZE_SM_ALIAS | typeof BUTTON_SIZE_LG_ALIAS;
|
|
17
|
+
color?: ButtonColor;
|
|
18
|
+
asChild?: boolean;
|
|
19
|
+
}
|
|
20
|
+
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
21
|
+
/** Returns class string for button variant/size/color (backward compatibility). */
|
|
22
|
+
export declare function buttonVariants(options?: {
|
|
23
|
+
variant?: ButtonVariant | "default";
|
|
24
|
+
size?: ButtonSize | "sm" | "lg";
|
|
25
|
+
color?: ButtonColor;
|
|
26
|
+
}): string;
|
|
27
|
+
export { Button };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { KuatSlotContent } from '../../../lib/react-node-compat';
|
|
2
|
+
import { Separator } from '../separator';
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
export declare const BUTTON_GROUP_ORIENTATIONS: readonly ["horizontal", "vertical"];
|
|
5
|
+
export type ButtonGroupOrientation = (typeof BUTTON_GROUP_ORIENTATIONS)[number];
|
|
6
|
+
export interface ButtonGroupProps extends Omit<React.ComponentProps<"div">, "children"> {
|
|
7
|
+
orientation?: ButtonGroupOrientation;
|
|
8
|
+
children?: KuatSlotContent;
|
|
9
|
+
}
|
|
10
|
+
declare const ButtonGroup: React.ForwardRefExoticComponent<Omit<ButtonGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
export interface ButtonGroupTextProps extends Omit<React.ComponentProps<"div">, "children"> {
|
|
12
|
+
asChild?: boolean;
|
|
13
|
+
children?: KuatSlotContent;
|
|
14
|
+
}
|
|
15
|
+
declare const ButtonGroupText: React.ForwardRefExoticComponent<Omit<ButtonGroupTextProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
16
|
+
export interface ButtonGroupSeparatorProps extends React.ComponentProps<typeof Separator> {
|
|
17
|
+
}
|
|
18
|
+
declare const ButtonGroupSeparator: React.ForwardRefExoticComponent<Omit<ButtonGroupSeparatorProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
19
|
+
/** Returns class string for button group (backward compatibility). */
|
|
20
|
+
export declare function buttonGroupVariants(options?: {
|
|
21
|
+
orientation?: ButtonGroupOrientation;
|
|
22
|
+
}): string;
|
|
23
|
+
export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, };
|