@tenerife.music/ui 1.0.12 → 1.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
- # 🌴 Tenerife UI
1
+ # 🌴 TUI
2
2
 
3
- **Premium React Component Library**
4
- Elegant. Token-driven. Fully Typed. Built for Luxury Interfaces.
3
+ **Token-driven UI architecture for long-living React products**
4
+ Strict. Predictable. Built for system-level consistency.
5
5
 
6
6
  ![Release](https://img.shields.io/github/v/release/Tureckiy-zart/tenerife-ui?style=for-the-badge)
7
7
  ![React](https://img.shields.io/badge/React-18+-blue?style=for-the-badge)
@@ -10,504 +10,202 @@ Elegant. Token-driven. Fully Typed. Built for Luxury Interfaces.
10
10
  ![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)
11
11
 
12
12
  <p align="center">
13
- <img src="https://raw.githubusercontent.com/Tureckiy-zart/tenerife-ui/main/.github/banner.png" width="100%" alt="Tenerife UI Banner" />
13
+ <img src="https://raw.githubusercontent.com/Tureckiy-zart/tenerife-ui/main/.github/banner.png" width="100%" alt="TUI Banner" />
14
14
  </p>
15
15
 
16
16
  <p align="center">
17
- <strong>A high-quality, fully tokenized design system for modern React applications.<br/>
18
- Built with Tailwind, CVA, TypeScript with a luxury-first aesthetic.</strong>
17
+ <strong>
18
+ A production-grade, token-driven design infrastructure for React applications.<br/>
19
+ Built on a locked Foundation layer, Radix UI behavioral primitives, and strict TypeScript contracts.
20
+ </strong>
19
21
  </p>
20
22
 
21
- > ⚠️ **Important:** The library is under active development. The API may change between versions. Use at your own risk. Thorough testing is recommended before using in production.
22
-
23
23
  ---
24
24
 
25
- ## 🚀 Quick Start
26
-
27
- ### Installation
28
-
29
- ```bash
30
- # npm
31
- npm install @tenerife.music/ui
32
-
33
- # pnpm
34
- pnpm add @tenerife.music/ui
25
+ ## 🧭 Architectural Manifest
35
26
 
36
- # yarn
37
- yarn add @tenerife.music/ui
38
- ```
27
+ TUI is **not a beginner-friendly UI library**.
39
28
 
40
- ### Minimal Example
29
+ This system is intentionally built for developers and teams who value
30
+ **architectural consistency, long-term scalability, and system-level thinking**
31
+ over quick experimentation or visual convenience.
41
32
 
42
- ```tsx
43
- import { ThemeProvider, Button } from "@tenerife.music/ui";
33
+ ### This library is for you if:
44
34
 
45
- export default function App() {
46
- return (
47
- <ThemeProvider defaultMode="night">
48
- <Button variant="default">Click me</Button>
49
- </ThemeProvider>
50
- );
51
- }
52
- ```
35
+ - You build **long-living products**, not throwaway interfaces
36
+ - You want to **prevent design entropy**, not fight it later
37
+ - You prefer **strict rules over flexible chaos**
38
+ - You see constraints as a **feature**, not a limitation
39
+ - You are comfortable trading short-term DX for long-term maintainability
53
40
 
54
- **Done!** 🎉 You can now use Tenerife UI components.
41
+ ### This library is NOT for you if:
55
42
 
56
- > 📖 **Need help?** See the [Complete Guide](./docs/GETTING_STARTED.md) for detailed installation and setup instructions.
43
+ - You want to freely tweak styles with strings, numbers, or ad-hoc classes
44
+ - You expect “easy overrides” or escape hatches
45
+ - You are looking for a quick UI kit or experimentation playground
46
+ - You prefer visual freedom over architectural discipline
57
47
 
58
- ---
48
+ ### Core philosophy
59
49
 
60
- ## Key Features
50
+ - **Tokens are the single source of truth**
51
+ - **The Foundation layer is locked and immutable**
52
+ - **Design decisions must be explicit and centralized**
53
+ - **Constraints exist to protect the system — even from its author**
61
54
 
62
- - 🎨 **Token-driven architecture** all styles through design tokens, no raw values
63
- - 🌓 **Day/Night modes** automatic theme switching with system settings support
64
- - 🎯 **TypeScript-first** — full typing for all components and API
65
- - ♿ **Accessibility** — WCAG AA compliance out of the box, full keyboard and screen reader support
66
- - 📦 **Tree-shakeable** — bundle size optimization through named imports
67
- - 🎭 **CVA variants** — unified Variant API for all components
68
- - 🎨 **Tailwind CSS** — full integration with Tailwind preset
69
- - 🚀 **Production-ready** — tested and ready for production use
55
+ If the system feels strict, uncomfortable, or limiting at first
56
+ that means it is working as intended.
70
57
 
71
58
  ---
72
59
 
73
- ## 📚 Documentation
74
-
75
- | Document | Description |
76
- | --------------------------------------------------------- | ------------------------------------------------------ |
77
- | **[Complete Guide](./docs/GETTING_STARTED.md)** | Comprehensive guide for installation, setup, and usage |
78
- | [Quick Start](./docs/QUICK_START.md) | Get started in 30 seconds |
79
- | [API Reference](./docs/public-api.md) | Complete API documentation for all components |
80
- | [Tokens Guide](./docs/TOKENS_GUIDE.md) | Working with design tokens |
81
- | [Theme Guide](./docs/THEME_GUIDE.md) | Theme setup and customization |
82
- | [Storybook](https://Tureckiy-zart.github.io/tenerife-ui/) | Interactive examples of all components |
60
+ > ⚠️ **Status:** The Foundation layer is locked and stable. Extension components may evolve.
61
+ > This system is actively developed for real production usage.
83
62
 
84
63
  ---
85
64
 
86
- ## 🏗 Installation and Setup
87
-
88
- ### Requirements
65
+ ## 🚀 Initial Setup
89
66
 
90
- - **React**: `^18 || ^19`
91
- - **React DOM**: `^18 || ^19`
92
- - **Node.js**: `>=22` (recommended)
93
- - **TypeScript**: `>=5.0` (optional, but recommended)
67
+ Minimum setup required to evaluate and work with the system.
94
68
 
95
- ### Step 1: Install Package
69
+ ### Installation
96
70
 
97
71
  ```bash
72
+ # npm
98
73
  npm install @tenerife.music/ui
99
- npm install -D tailwindcss postcss autoprefixer
100
- ```
101
-
102
- ### Step 2: Configure Tailwind CSS
103
-
104
- Create `tailwind.config.ts`:
105
-
106
- ```typescript
107
- import type { Config } from "tailwindcss";
108
- import preset from "@tenerife.music/ui/preset";
109
-
110
- const config: Config = {
111
- content: [
112
- "./src/**/*.{js,ts,jsx,tsx}",
113
- "./node_modules/@tenerife.music/ui/dist/**/*.{js,ts,jsx,tsx}",
114
- ],
115
- presets: [preset],
116
- };
117
-
118
- export default config;
119
- ```
120
-
121
- ### Step 3: Import Styles
122
-
123
- In your application's root file:
124
-
125
- ```typescript
126
- import "@tenerife.music/ui/styles";
127
- ```
128
-
129
- ### Step 4: Setup ThemeProvider
130
74
 
131
- ```tsx
132
- import { ThemeProvider } from "@tenerife.music/ui";
75
+ # pnpm
76
+ pnpm add @tenerife.music/ui
133
77
 
134
- export default function App() {
135
- return (
136
- <ThemeProvider defaultMode="night" enableSystem={true}>
137
- <YourApp />
138
- </ThemeProvider>
139
- );
140
- }
78
+ # yarn
79
+ yarn add @tenerife.music/ui
141
80
  ```
142
81
 
143
- > 📖 **Learn more:** See the [Complete Guide](./docs/GETTING_STARTED.md) for setup instructions for Next.js, Vite, Remix, and other frameworks.
144
-
145
- ---
146
-
147
- ## 💡 Usage Examples
148
-
149
- ### Basic Example
82
+ ### Minimal Example
150
83
 
151
84
  ```tsx
152
- import {
153
- ThemeProvider,
154
- Button,
155
- Card,
156
- CardHeader,
157
- CardTitle,
158
- CardContent,
159
- } from "@tenerife.music/ui";
85
+ import { ThemeProvider, Button } from "@tenerife.music/ui";
160
86
 
161
87
  export default function App() {
162
88
  return (
163
89
  <ThemeProvider defaultMode="night">
164
- <Card>
165
- <CardHeader>
166
- <CardTitle>Welcome</CardTitle>
167
- </CardHeader>
168
- <CardContent>
169
- <Button variant="default">Get Started</Button>
170
- </CardContent>
171
- </Card>
172
- </ThemeProvider>
173
- );
174
- }
175
- ```
176
-
177
- ### Theme Toggle
178
-
179
- ```tsx
180
- import { ThemeProvider, useTheme, Button } from "@tenerife.music/ui";
181
-
182
- function ThemeToggle() {
183
- const { mode, toggleMode } = useTheme();
184
-
185
- return (
186
- <Button onClick={toggleMode} variant="outline">
187
- {mode === "night" ? "☀️ Day" : "🌙 Night"}
188
- </Button>
189
- );
190
- }
191
-
192
- export default function App() {
193
- return (
194
- <ThemeProvider defaultMode="night" enableSystem={true}>
195
- <ThemeToggle />
90
+ <Button variant="default">Click me</Button>
196
91
  </ThemeProvider>
197
92
  );
198
93
  }
199
94
  ```
200
95
 
201
- ### Form with Validation
202
-
203
- ```tsx
204
- import {
205
- Field,
206
- FieldLabel,
207
- FieldControl,
208
- FieldError,
209
- Input,
210
- Button,
211
- Card,
212
- CardHeader,
213
- CardTitle,
214
- CardContent,
215
- } from "@tenerife.music/ui";
216
-
217
- function ContactForm() {
218
- return (
219
- <Card>
220
- <CardHeader>
221
- <CardTitle>Contact Us</CardTitle>
222
- </CardHeader>
223
- <CardContent>
224
- <form className="space-y-4">
225
- <Field>
226
- <FieldLabel>Email</FieldLabel>
227
- <FieldControl asChild>
228
- <Input type="email" placeholder="example@email.com" />
229
- </FieldControl>
230
- <FieldError>Email is required</FieldError>
231
- </Field>
232
- <Button type="submit" variant="default">
233
- Submit
234
- </Button>
235
- </form>
236
- </CardContent>
237
- </Card>
238
- );
239
- }
240
- ```
241
-
242
- > 📖 **More examples:** See the [Complete Guide](./docs/GETTING_STARTED.md) for additional usage examples.
96
+ > 📖 **Note:** This example demonstrates API shape only. Understanding the system
97
+ > requires familiarity with tokens, variants, and architectural constraints.
243
98
 
244
99
  ---
245
100
 
246
- ## 🧩 Components
247
-
248
- ### Primitives
249
-
250
- Basic UI components for building interfaces:
251
-
252
- - **Button** — buttons with various variants (default, outline, destructive, ghost, link)
253
- - **Input** — text input fields with state support (success, error, warning)
254
- - **Textarea** — multi-line text input
255
- - **Label** — form field labels
256
- - **Card** — cards with variants (default, elevated, glass, outline)
257
- - **Badge** — badges for labels and statuses
258
- - **Text / Heading** — typography components
259
-
260
- ### Forms
261
-
262
- Components for creating forms:
263
-
264
- - **Checkbox** — checkboxes with state support
265
- - **Radio / RadioGroup** — radio buttons and groups
266
- - **Select** — dropdown lists with search
267
- - **Field** — form field wrapper with validation
268
- - **FormInput / FormSelect / FormTextarea** — specialized form components
269
-
270
- ### Layout
271
-
272
- Components for structuring layouts:
273
-
274
- - **Flex** — flexbox container with direction, alignment, and gap settings
275
- - **Grid** — responsive grid with breakpoint support
276
- - **Stack** — vertical/horizontal element placement
277
- - **Section** — sections with responsive padding
278
- - **Container** — containers with width constraints
279
-
280
- ### Overlays
281
-
282
- Components for modal windows and popup elements:
283
-
284
- - **Modal** — modal windows with variants
285
- - **Dialog** — dialog windows (DialogRoot, DialogTrigger, DialogContent)
286
- - **Toast** — notifications with ToastProvider system
287
- - **Popover** — popup tooltips
288
- - **Tooltip** — tooltips for elements
289
-
290
- ### Navigation
291
-
292
- Components for interface navigation:
293
-
294
- - **Tabs** — tabs with keyboard support
295
- - **Breadcrumbs** — breadcrumb navigation
296
- - **Pagination** — pagination with settings
297
- - **Stepper** — step-by-step forms
298
- - **SegmentedControl** — segmented control
299
-
300
- ### Data
301
-
302
- Components for displaying data:
303
-
304
- - **Table** — tables with sorting and filtering
305
- - **DataList** — data lists (DataListRoot, DataListItem, DataListLabel, DataListValue)
306
- - **Skeleton** — loading state skeletons
307
- - **EmptyState** — empty states with actions
308
-
309
- ### Notifications
101
+ ## Key Characteristics
310
102
 
311
- Notification system:
312
-
313
- - **NotificationCenter** — notification center with grouping
314
- - **Toast** — popup notifications
315
-
316
- ### Domain Components
317
-
318
- Specialized components for specific domains:
319
-
320
- - **EventCard** — event cards with variants and sizes
321
- - **VenueCard** — venue cards
322
- - **ArtistCard** — artist cards
323
- - **TicketCard** — ticket cards
324
- - **PromoCard** — promo cards
325
-
326
- > 📖 **Full list:** See [API Reference](./docs/public-api.md) for a complete list of all components and their props.
103
+ - 🎨 **Token-driven architecture** — no raw values, no ad-hoc styles
104
+ - 🏛️ **Radix UI behavioral foundation** — accessibility and interactions are delegated
105
+ - 🔒 **Locked Foundation layer** — one canonical component per category
106
+ - 🧩 **Extension-based composition** — no Foundation duplication
107
+ - 🌓 **Theme-aware tokens** — day/night modes via semantic tokens
108
+ - 🎯 **TypeScript-first API** — strict, expressive, autocomplete-driven
109
+ - ♿ **Accessibility-first** — WCAG-compliant by design
110
+ - 🚫 **No escape hatches** — consistency over convenience
327
111
 
328
112
  ---
329
113
 
330
- ## 🎨 Design Tokens
331
-
332
- Tenerife UI uses a fully tokenized design system:
333
-
334
- ### Colors
335
-
336
- - 100+ color tokens
337
- - Full color scales (primary, accent, secondary)
338
- - Surface tokens (base, elevated1-3, overlay, glass)
339
- - Semantic colors (success, error, warning, info)
340
- - Text colors (primary, secondary, tertiary, muted)
341
- - Day/night mode support
342
-
343
- ### Typography
344
-
345
- - Fluid clamp scale for responsive sizes
346
- - 13 text styles
347
- - 9 font weights (thin - black)
348
- - 6 line-height variants
349
- - 6 letter-spacing variants
350
-
351
- ### Spacing
352
-
353
- - 8px-based system (scale 0–96)
354
- - Semantic tokens (xs, sm, md, lg, xl, 2xl, 3xl, 4xl, 5xl)
355
- - Layout tokens (section padding, container widths, grid gaps)
356
-
357
- ### Shadows
358
-
359
- - Elevation levels (none, xs, sm, md, lg, xl, 2xl)
360
- - Colored shadows (primary-_, accent-_)
361
- - Glow effects (primary-glow-subtle, primary-glow-medium)
362
- - Focus rings (focus-ring-default, focus-ring-primary)
363
-
364
- ### Radius
365
-
366
- - Radius system (none, xs, sm, md, lg, xl, 2xl, 3xl, full)
367
- - Component standards (button, card, input, badge)
368
-
369
- ### Motion
370
-
371
- - Durations (instant, fast, normal, slow, slower, slowest)
372
- - Easing functions (linear, ease-in, ease-out, ease-in-out, bounce, elastic)
373
- - Pre-configured transitions
374
- - Keyframes (fade, slide, scale, spin, pulse, bounce)
114
+ ## 📚 Documentation
375
115
 
376
- > 📖 **Learn more:** See the [Tokens Guide](./docs/TOKENS_GUIDE.md) for detailed information on working with tokens.
116
+ | Document | Description |
117
+ | ------------------------- | ------------------------------------- |
118
+ | **Complete Guide** | System overview and usage principles |
119
+ | Tokens Guide | Design token structure and philosophy |
120
+ | Theme Guide | Theme configuration and modes |
121
+ | **Architecture Lock** | Canonical architectural constraints |
122
+ | **Final Foundation Lock** | Authoritative source of truth |
123
+ | Storybook | Component examples and contracts |
377
124
 
378
125
  ---
379
126
 
380
- ## ⚙️ How Tenerife UI Works
127
+ ## 🏗 Architecture Overview
381
128
 
382
- ### Token-first Architecture
129
+ ### Foundation Layer (Locked)
383
130
 
384
- No raw styles. Everything through tokens. This ensures consistency and easy customization.
131
+ The Foundation layer defines **canonical behavior** and is **immutable**.
132
+ There is exactly **one Foundation component per category**.
385
133
 
386
- ### Tailwind + CSS Variables
134
+ - Modal (Dialog)
135
+ - Tabs
136
+ - Select
137
+ - ContextMenu
138
+ - Toast
387
139
 
388
- Colors, spacing, shadows, radius — all generated automatically through Tailwind preset and CSS variables.
140
+ All Foundation components:
389
141
 
390
- ### CVA for Variability
142
+ - delegate behavior to Radix UI
143
+ - expose token-driven visual APIs
144
+ - are backward-compatible and locked
391
145
 
392
- All components use Class Variance Authority (CVA) for a unified Variant API:
146
+ ### Extension Layer
393
147
 
394
- ```tsx
395
- <Button variant="default" size="md">Click me</Button>
396
- <Button variant="outline" size="lg">Click me</Button>
397
- ```
398
-
399
- ### Strict TypeScript
148
+ Extensions compose Foundation components or implement primitives
149
+ that rely strictly on tokens and shared semantics.
400
150
 
401
- Full typing for all components, props, and API ensures excellent developer experience with autocomplete and type checking.
151
+ Examples:
402
152
 
403
- ### Theme Engine
404
-
405
- Instant switching between day/night modes with support for user system settings.
153
+ - Button
154
+ - Input / Textarea
155
+ - Card / Badge
156
+ - Layout primitives (Stack, Grid, Container)
157
+ - Data and feedback components
406
158
 
407
159
  ---
408
160
 
409
- ## 🔧 Development
410
-
411
- ### Install Dependencies
412
-
413
- ```bash
414
- pnpm install
415
- ```
416
-
417
- ### Run in Development Mode
418
-
419
- ```bash
420
- pnpm dev
421
- ```
422
-
423
- ### Run Storybook
424
-
425
- ```bash
426
- pnpm storybook
427
- ```
428
-
429
- Storybook is available at `http://localhost:6006`
430
-
431
- ### Testing
432
-
433
- ```bash
434
- # Run tests
435
- pnpm test
436
-
437
- # Run tests with coverage
438
- pnpm test:coverage
161
+ ## 🎨 Design Tokens
439
162
 
440
- # Run accessibility tests
441
- pnpm test:a11y
442
- ```
163
+ TUI uses a fully tokenized design system:
443
164
 
444
- ### Build
165
+ - **Colors** — semantic, theme-aware
166
+ - **Typography** — fluid, scalable
167
+ - **Spacing** — semantic and layout-based
168
+ - **Radius & Shadows** — consistent elevation model
169
+ - **Motion** — durations and easing as tokens
445
170
 
446
- ```bash
447
- pnpm build
448
- ```
171
+ Tokens are **immutable contracts**, not convenience variables.
449
172
 
450
- ### Linting and Formatting
173
+ ---
451
174
 
452
- ```bash
453
- # Check linting
454
- pnpm lint:check
175
+ ## 🧩 Domain-Specific Components
455
176
 
456
- # Fix linting errors
457
- pnpm lint:fix
177
+ The following components are **used internally** in Tenerife Music projects
178
+ and are **not generic UI primitives**:
458
179
 
459
- # Check formatting
460
- pnpm format:check
180
+ - EventCard
181
+ - VenueCard
182
+ - ArtistCard
183
+ - TicketCard
184
+ - PromoCard
461
185
 
462
- # Format code
463
- pnpm format
464
- ```
186
+ > These components are tightly coupled to specific product domains
187
+ > and are documented for reference, not as reusable primitives.
465
188
 
466
189
  ---
467
190
 
468
191
  ## 🛠 Contributing
469
192
 
470
- We welcome contributions to the library! Before starting, please read:
193
+ Contributions are welcome **within the boundaries of the system**.
471
194
 
472
- - [TYPING_STANDARD.md](./docs/structure/TYPING_STANDARD.md) typing standards
473
- - [STRUCTURE_OF_WORK.md](./docs/structure/STRUCTURE_OF_WORK.md) work structure
474
- - [COMPONENT_GUIDELINES.md](./docs/structure/COMPONENT_GUIDELINES.md) component guidelines
195
+ > ⚠️ TUI follows a strict, opinionated architecture.
196
+ > All contributions are expected to respect locked layers,
197
+ > token ownership rules, and canonical constraints.
475
198
 
476
- ### Contribution Process
477
-
478
- 1. Fork the repository
479
- 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
480
- 3. Commit your changes (`git commit -m 'Add amazing feature'`)
481
- 4. Push to the branch (`git push origin feature/amazing-feature`)
482
- 5. Open a Pull Request
199
+ Architectural discussions take precedence over visual changes.
483
200
 
484
201
  ---
485
202
 
486
203
  ## 📜 License
487
204
 
488
- MIT License — Commercial-friendly.
489
-
490
- Use in commercial projects is permitted without restrictions.
491
-
492
- ---
493
-
494
- ## 🔗 Links
495
-
496
- - **Repository**: [https://github.com/Tureckiy-zart/tenerife-ui](https://github.com/Tureckiy-zart/tenerife-ui)
497
- - **Issues**: [https://github.com/Tureckiy-zart/tenerife-ui/issues](https://github.com/Tureckiy-zart/tenerife-ui/issues)
498
- - **Storybook**: [https://Tureckiy-zart.github.io/tenerife-ui/](https://Tureckiy-zart.github.io/tenerife-ui/)
499
- - **npm**: [https://www.npmjs.com/package/@tenerife.music/ui](https://www.npmjs.com/package/@tenerife.music/ui)
500
-
501
- ---
502
-
503
- ## 🎤 From the Author
504
-
505
- Tenerife UI is my personal approach to creating a commercial, beautiful, and premium UI system.
506
-
507
- If you're building interfaces with a "luxury, stylish, and technological" aesthetic — you're home. 🏠
205
+ MIT License — commercial use permitted.
508
206
 
509
207
  ---
510
208
 
511
209
  <p align="center">
512
- <strong>Made with ❤️ for luxury projects</strong>
210
+ <strong>Built for long-term systems, not short-term convenience.</strong>
513
211
  </p>
@@ -286,4 +286,4 @@ declare const tailwindThemeColors: {
286
286
  };
287
287
  };
288
288
 
289
- export { type BaseColorTokens as B, type ColorScale as C, type Mode as M, type SurfaceColors as S, type TextColors as T, type ColorTokens as a, type SemanticColors as b, type ChartColors as c, cssVariableColorTokens as d, accentColors as e, surfaceColors as f, semanticColors as g, chartColors as h, textColors as i, baseColors as j, colorCSSVariables as k, primaryColors as p, secondaryColors as s, tailwindThemeColors as t };
289
+ export { type BaseColorTokens as B, type ChartColors as C, type Mode as M, type SemanticColors as S, type TextColors as T, type ColorScale as a, type ColorTokens as b, type SurfaceColors as c, accentColors as d, baseColors as e, chartColors as f, colorCSSVariables as g, cssVariableColorTokens as h, semanticColors as i, surfaceColors as j, textColors as k, primaryColors as p, secondaryColors as s, tailwindThemeColors as t };
@@ -286,4 +286,4 @@ declare const tailwindThemeColors: {
286
286
  };
287
287
  };
288
288
 
289
- export { type BaseColorTokens as B, type ColorScale as C, type Mode as M, type SurfaceColors as S, type TextColors as T, type ColorTokens as a, type SemanticColors as b, type ChartColors as c, cssVariableColorTokens as d, accentColors as e, surfaceColors as f, semanticColors as g, chartColors as h, textColors as i, baseColors as j, colorCSSVariables as k, primaryColors as p, secondaryColors as s, tailwindThemeColors as t };
289
+ export { type BaseColorTokens as B, type ChartColors as C, type Mode as M, type SemanticColors as S, type TextColors as T, type ColorScale as a, type ColorTokens as b, type SurfaceColors as c, accentColors as d, baseColors as e, chartColors as f, colorCSSVariables as g, cssVariableColorTokens as h, semanticColors as i, surfaceColors as j, textColors as k, primaryColors as p, secondaryColors as s, tailwindThemeColors as t };