@tenerife.music/ui 0.0.6 → 1.0.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 (177) hide show
  1. package/README.md +168 -136
  2. package/dist/applyMode-Bh7sEqT6.js +144 -0
  3. package/dist/applyMode-DCenL-Bg.cjs +2 -0
  4. package/dist/brand-C5R2semX.js +45 -0
  5. package/dist/brand-DQb18Frh.cjs +2 -0
  6. package/dist/colors-BGRiFoSZ.cjs +2 -0
  7. package/dist/colors-ClemXPPi.js +377 -0
  8. package/dist/components/admin/Dashboard.d.ts.map +1 -1
  9. package/dist/components/admin/UserManagement.d.ts.map +1 -1
  10. package/dist/components/auth/LoginForm.d.ts.map +1 -1
  11. package/dist/components/auth/ProfileCard.d.ts.map +1 -1
  12. package/dist/components/auth/RegisterForm.d.ts.map +1 -1
  13. package/dist/components/cards/EventCard.d.ts.map +1 -1
  14. package/dist/components/cards/VenueCard.d.ts.map +1 -1
  15. package/dist/components/controls/LanguageSelector.d.ts.map +1 -1
  16. package/dist/components/data/List.d.ts.map +1 -1
  17. package/dist/components/data/Table.d.ts +2 -2
  18. package/dist/components/data/Table.d.ts.map +1 -1
  19. package/dist/components/data/Timeline.d.ts.map +1 -1
  20. package/dist/components/feedback/Alert.d.ts +1 -1
  21. package/dist/components/feedback/Alert.d.ts.map +1 -1
  22. package/dist/components/feedback/ConsentBanner.d.ts.map +1 -1
  23. package/dist/components/feedback/Progress.d.ts.map +1 -1
  24. package/dist/components/feedback/Skeleton.d.ts.map +1 -1
  25. package/dist/components/filters/DateRangePicker.d.ts.map +1 -1
  26. package/dist/components/filters/FilterBar.d.ts +14 -1
  27. package/dist/components/filters/FilterBar.d.ts.map +1 -1
  28. package/dist/components/filters/FilterSelect.d.ts +2 -2
  29. package/dist/components/filters/FilterSelect.d.ts.map +1 -1
  30. package/dist/components/filters/PriceRangeSlider.d.ts.map +1 -1
  31. package/dist/components/filters/SearchFilters.d.ts.map +1 -1
  32. package/dist/components/filters/SearchInput.d.ts +1 -1
  33. package/dist/components/filters/SearchInput.d.ts.map +1 -1
  34. package/dist/components/filters/types.d.ts +9 -9
  35. package/dist/components/filters/types.d.ts.map +1 -1
  36. package/dist/components/forms/FormInput.d.ts +3 -7
  37. package/dist/components/forms/FormInput.d.ts.map +1 -1
  38. package/dist/components/forms/FormSelect.d.ts.map +1 -1
  39. package/dist/components/forms/FormTextarea.d.ts +2 -6
  40. package/dist/components/forms/FormTextarea.d.ts.map +1 -1
  41. package/dist/components/icons/TrendingIcon.d.ts.map +1 -1
  42. package/dist/components/image/Image.d.ts +49 -0
  43. package/dist/components/image/Image.d.ts.map +1 -0
  44. package/dist/components/layout/Container.d.ts +2 -2
  45. package/dist/components/layout/Container.d.ts.map +1 -1
  46. package/dist/components/layout/Flex.d.ts +1 -1
  47. package/dist/components/layout/Flex.d.ts.map +1 -1
  48. package/dist/components/layout/Footer.d.ts.map +1 -1
  49. package/dist/components/layout/Grid.d.ts +3 -3
  50. package/dist/components/layout/Grid.d.ts.map +1 -1
  51. package/dist/components/layout/ModeHero.d.ts.map +1 -1
  52. package/dist/components/layout/Navbar.d.ts.map +1 -1
  53. package/dist/components/layout/Section.d.ts +2 -2
  54. package/dist/components/layout/Section.d.ts.map +1 -1
  55. package/dist/components/layout/Stack.d.ts +1 -1
  56. package/dist/components/layout/Stack.d.ts.map +1 -1
  57. package/dist/components/menus/DropdownMenu.d.ts +2 -2
  58. package/dist/components/menus/DropdownMenu.d.ts.map +1 -1
  59. package/dist/components/menus/NavigationMenu.d.ts +2 -2
  60. package/dist/components/menus/NavigationMenu.d.ts.map +1 -1
  61. package/dist/components/menus/Tabs.d.ts +2 -2
  62. package/dist/components/menus/Tabs.d.ts.map +1 -1
  63. package/dist/components/modals/ConfirmDialog.d.ts.map +1 -1
  64. package/dist/components/modals/CustomDialog.d.ts +1 -2
  65. package/dist/components/modals/CustomDialog.d.ts.map +1 -1
  66. package/dist/components/modals/Modal.d.ts +2 -2
  67. package/dist/components/modals/Modal.d.ts.map +1 -1
  68. package/dist/components/modals/ModalProvider.d.ts +2 -2
  69. package/dist/components/modals/ModalProvider.d.ts.map +1 -1
  70. package/dist/components/modals/SimpleModal.d.ts +1 -2
  71. package/dist/components/modals/SimpleModal.d.ts.map +1 -1
  72. package/dist/components/navigation/Breadcrumbs.d.ts.map +1 -1
  73. package/dist/components/navigation/Pagination.d.ts.map +1 -1
  74. package/dist/components/overlays/OverlayPortal.d.ts +3 -3
  75. package/dist/components/overlays/OverlayPortal.d.ts.map +1 -1
  76. package/dist/components/overlays/Popover.d.ts +11 -11
  77. package/dist/components/overlays/Popover.d.ts.map +1 -1
  78. package/dist/components/overlays/Tooltip.d.ts +9 -9
  79. package/dist/components/overlays/Tooltip.d.ts.map +1 -1
  80. package/dist/components/primitives/Badge.d.ts +1 -1
  81. package/dist/components/primitives/Badge.d.ts.map +1 -1
  82. package/dist/components/primitives/Button.d.ts +1 -1
  83. package/dist/components/primitives/Button.d.ts.map +1 -1
  84. package/dist/components/primitives/Card.d.ts +1 -1
  85. package/dist/components/primitives/Card.d.ts.map +1 -1
  86. package/dist/components/primitives/Divider.d.ts.map +1 -1
  87. package/dist/components/primitives/Link.d.ts +2 -2
  88. package/dist/components/primitives/Link.d.ts.map +1 -1
  89. package/dist/components/primitives/ThemeSwitch.d.ts.map +1 -1
  90. package/dist/components/primitives/Typography.d.ts +4 -4
  91. package/dist/components/primitives/Typography.d.ts.map +1 -1
  92. package/dist/components/search/SearchBar.d.ts.map +1 -1
  93. package/dist/components/sections/ArticlesSection.d.ts.map +1 -1
  94. package/dist/components/sections/TrendingSection.d.ts +7 -3
  95. package/dist/components/sections/TrendingSection.d.ts.map +1 -1
  96. package/dist/components/skeletons/EventCardSkeleton.d.ts.map +1 -1
  97. package/dist/components/skeletons/VenueCardSkeleton.d.ts.map +1 -1
  98. package/dist/components/toasts/Toast.d.ts +2 -2
  99. package/dist/components/toasts/Toast.d.ts.map +1 -1
  100. package/dist/components/toasts/ToastProvider.d.ts +3 -3
  101. package/dist/components/toasts/ToastProvider.d.ts.map +1 -1
  102. package/dist/components/ui/button.d.ts +2 -2
  103. package/dist/components/ui/button.d.ts.map +1 -1
  104. package/dist/components/ui/card.d.ts +1 -1
  105. package/dist/components/ui/card.d.ts.map +1 -1
  106. package/dist/components/ui/dialog.d.ts +2 -2
  107. package/dist/components/ui/dialog.d.ts.map +1 -1
  108. package/dist/components/ui/input.d.ts.map +1 -1
  109. package/dist/components/ui/label.d.ts +1 -1
  110. package/dist/components/ui/label.d.ts.map +1 -1
  111. package/dist/components/ui/toast.d.ts +3 -3
  112. package/dist/components/ui/toast.d.ts.map +1 -1
  113. package/dist/components/ui/toaster.d.ts.map +1 -1
  114. package/dist/components/ui/tooltip.d.ts +2 -2
  115. package/dist/components/ui/tooltip.d.ts.map +1 -1
  116. package/dist/dark-Cvoy1uFT.js +30 -0
  117. package/dist/dark-OOhiqt1q.cjs +2 -0
  118. package/dist/default-BKgH1D9-.js +8 -0
  119. package/dist/default-Ddg7Haf2.cjs +2 -0
  120. package/dist/hooks/use-toast.d.ts +3 -3
  121. package/dist/hooks/use-toast.d.ts.map +1 -1
  122. package/dist/hooks/useDebounce.d.ts +20 -0
  123. package/dist/hooks/useDebounce.d.ts.map +1 -0
  124. package/dist/hooks/useModal.d.ts +5 -5
  125. package/dist/hooks/useModal.d.ts.map +1 -1
  126. package/dist/hooks/useToast.d.ts +2 -2
  127. package/dist/hooks/useToast.d.ts.map +1 -1
  128. package/dist/index.cjs +1 -1
  129. package/dist/index.d.ts +18 -17
  130. package/dist/index.d.ts.map +1 -1
  131. package/dist/index.mjs +2378 -2267
  132. package/dist/preset.cjs +1 -1
  133. package/dist/preset.d.ts.map +1 -1
  134. package/dist/preset.mjs +1 -1
  135. package/dist/radius-CAu4qr9R.js +185 -0
  136. package/dist/radius-Cz6tayZG.cjs +2 -0
  137. package/dist/theme/ThemeProvider.d.ts +45 -0
  138. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  139. package/dist/theme/applyMode.d.ts +31 -0
  140. package/dist/theme/applyMode.d.ts.map +1 -1
  141. package/dist/theme/index.cjs +1 -1
  142. package/dist/theme/index.d.ts +2 -1
  143. package/dist/theme/index.d.ts.map +1 -1
  144. package/dist/theme/index.mjs +102 -97
  145. package/dist/theme/motion.d.ts.map +1 -1
  146. package/dist/theme/typography.d.ts.map +1 -1
  147. package/dist/themes/brand.d.ts +7 -0
  148. package/dist/themes/brand.d.ts.map +1 -0
  149. package/dist/themes/dark.d.ts +7 -0
  150. package/dist/themes/dark.d.ts.map +1 -0
  151. package/dist/themes/default.d.ts +7 -0
  152. package/dist/themes/default.d.ts.map +1 -0
  153. package/dist/themes/index.d.ts +22 -0
  154. package/dist/themes/index.d.ts.map +1 -0
  155. package/dist/themes/types.d.ts +64 -0
  156. package/dist/themes/types.d.ts.map +1 -0
  157. package/dist/tokens/colors.d.ts +260 -38
  158. package/dist/tokens/colors.d.ts.map +1 -1
  159. package/dist/tokens/css-variables.d.ts +250 -0
  160. package/dist/tokens/css-variables.d.ts.map +1 -0
  161. package/dist/tokens/index.cjs +4 -1
  162. package/dist/tokens/index.d.ts +4 -1
  163. package/dist/tokens/index.d.ts.map +1 -1
  164. package/dist/tokens/index.mjs +1025 -167
  165. package/dist/tokens/motion.d.ts +358 -0
  166. package/dist/tokens/motion.d.ts.map +1 -0
  167. package/dist/tokens/radius.d.ts +130 -2
  168. package/dist/tokens/radius.d.ts.map +1 -1
  169. package/dist/tokens/shadows.d.ts +172 -0
  170. package/dist/tokens/shadows.d.ts.map +1 -0
  171. package/dist/tokens/spacing.d.ts +155 -1
  172. package/dist/tokens/spacing.d.ts.map +1 -1
  173. package/dist/tokens/typography.d.ts +285 -21
  174. package/dist/tokens/typography.d.ts.map +1 -1
  175. package/package.json +53 -18
  176. package/dist/radius-CuOZD6Mk.cjs +0 -2
  177. package/dist/radius-NOytgRst.js +0 -22
package/README.md CHANGED
@@ -1,197 +1,229 @@
1
- # @tenerife.music/ui
1
+ 🌴 Tenerife UI — Premium React Component Library
2
+ Elegant. Token-driven. Fully Typed. Built for Luxury Interfaces.
2
3
 
3
- **Tenerife.Music UI Component Library** - A hybrid design system built on shadcn/ui primitives with Tenerife branding.
4
+ ![Release](https://img.shields.io/github/v/release/Tureckiy-zart/tenerife-ui?style=for-the-badge)
4
5
 
5
- [![npm version](https://img.shields.io/npm/v/@tenerife.music/ui)](https://www.npmjs.com/package/@tenerife.music/ui)
6
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
-
8
- ## 📦 Installation
9
-
10
- ```bash
6
+ <p align="center"> <img src="https://raw.githubusercontent.com/Tureckiy-zart/tenerife-ui/main/.github/banner.png" width="100%" /> </p> <p align="center"> <strong> A high-end, fully tokenized design system crafted for modern React apps.<br/> Built with Tailwind, CVA, TypeScript and a luxury-first aesthetic. </strong> </p> <p align="center"> <img src="https://img.shields.io/badge/React-18+-blue?style=for-the-badge"/> <img src="https://img.shields.io/badge/TailwindCSS-3.4-38b2ac?style=for-the-badge"/> <img src="https://img.shields.io/badge/TypeScript-Strict-blue?style=for-the-badge"/> <img src="https://img.shields.io/badge/Design%20Tokens-Complete-purple?style=for-the-badge"/> <img src="https://img.shields.io/badge/CVA-Variants-success?style=for-the-badge"/> </p>
7
+ 🚀 Quick Start
11
8
  npm install @tenerife.music/ui
12
9
  # or
13
10
  pnpm add @tenerife.music/ui
14
- # or
15
- yarn add @tenerife.music/ui
16
- ```
17
-
18
- ## 🚀 Quick Start
19
-
20
- ```tsx
21
- import { Button, Card, EventCard } from '@tenerife.music/ui';
22
- import '@tenerife.music/ui/styles'; // Import styles
23
-
24
- function App() {
25
- return (
26
- <div>
27
- <Button variant="default">Click me</Button>
28
- <Card>
29
- <CardHeader>Title</CardHeader>
30
- <CardContent>Content</CardContent>
31
- </Card>
32
- </div>
33
- );
11
+
12
+ Use a component:
13
+
14
+ import { Button } from "@tenerife.music/ui";
15
+
16
+ export function Demo() {
17
+ return <Button variant="primary">Book Now</Button>;
34
18
  }
35
- ```
36
19
 
37
- ## 📚 Documentation
20
+ 🎨 Tenerife UI Design Philosophy
38
21
 
39
- Full documentation available at: [Tenerife UI Documentation](https://github.com/tenerife-music/tenerife-ui)
22
+ Tenerife UI создана для:
40
23
 
41
- ## 🎨 Features
24
+ luxury проектов
42
25
 
43
- - **74+ Components**: Primitives, Layout, Forms, Feedback, Navigation, and more
44
- - **Day/Night Themes**: Automatic theme switching support
45
- - **TypeScript**: Full type safety with TypeScript
46
- - **Tailwind CSS**: Built with Tailwind CSS for styling
47
- - **shadcn/ui Based**: Built on top of shadcn/ui primitives
48
- - **Accessible**: ARIA-compliant components via Radix UI
49
- - **Tree-shakeable**: Import only what you need
26
+ продвинутых приложений
50
27
 
51
- ## 🏗️ Architecture
28
+ маркетплейсов
52
29
 
53
- ### Hybrid Design Approach
30
+ платформ с глубокой эстетикой
54
31
 
55
- 1. **Base Primitives**: shadcn/ui components (Button, Input, Card, etc.)
56
- 2. **Tenerife Primitives**: Re-exported with Tenerife branding
57
- 3. **Complex Components**: Higher-level components (EventCard, VenueCard, etc.)
32
+ темных и светлых тем
58
33
 
59
- ### Component Categories
34
+ брендированных интерфейсов
60
35
 
61
- - **Primitives**: Button, Input, Card, Badge, Label, etc.
62
- - **Layout**: Navbar, Footer, Container, Section, Grid, Flex
63
- - **Forms**: FormInput, FormSelect, FormTextarea
64
- - **Feedback**: Alert, Progress, Skeleton, Toast
65
- - **Navigation**: Breadcrumbs, Pagination, Tabs
66
- - **Data**: Table, List, Timeline
67
- - **Cards**: EventCard, VenueCard
68
- - **Modals**: Modal, Dialog, ConfirmDialog
36
+ Это библиотека не «ещё одна коллекция кнопок».
37
+ Это архитектурно правильная, премиальная, коммерческая дизайн-система.
69
38
 
70
- ## 🎨 Theming
39
+ 🧩 Component Overview
40
+ UI Primitives
71
41
 
72
- The library supports day/night themes:
42
+ Button
73
43
 
74
- ```tsx
75
- // Set theme
76
- document.documentElement.setAttribute('data-mode', 'day'); // or 'night'
77
- ```
44
+ Input / Textarea / Select
78
45
 
79
- ## 📖 Usage Examples
46
+ Label
80
47
 
81
- ### Basic Components
48
+ Card
82
49
 
83
- ```tsx
84
- import { Button, Input, Card } from '@tenerife.music/ui';
50
+ Badge
85
51
 
86
- <Button variant="default">Click me</Button>
87
- <Input placeholder="Enter text..." />
88
- <Card>Card content</Card>
89
- ```
52
+ Overlays
90
53
 
91
- ### Complex Components
54
+ Modal
92
55
 
93
- ```tsx
94
- import { EventCard, VenueCard, SearchBar } from '@tenerife.music/ui';
56
+ Tooltip
95
57
 
96
- <EventCard event={eventData} />
97
- <VenueCard venue={venueData} />
98
- <SearchBar onSearch={handleSearch} />
99
- ```
58
+ Popover
100
59
 
101
- ### Forms
60
+ Toast
102
61
 
103
- ```tsx
104
- import { FormInput, FormSelect } from '@tenerife.music/ui';
105
- import { useForm } from 'react-hook-form';
62
+ Search & Filters
106
63
 
107
- const { register } = useForm();
64
+ SearchBar
108
65
 
109
- <FormInput {...register('name')} label="Name" />
110
- <FormSelect {...register('category')} options={options} />
111
- ```
66
+ FilterBar
112
67
 
113
- ## 🧪 Development
68
+ FilterSelect
114
69
 
115
- ### Prerequisites
70
+ Layout
116
71
 
117
- - Node.js 18+
118
- - pnpm (recommended) or npm
72
+ Grid
119
73
 
120
- ### Setup
74
+ Section
121
75
 
122
- ```bash
123
- # Clone repository
124
- git clone https://github.com/tenerife-music/tenerife-ui.git
125
- cd tenerife-ui
76
+ Navbar
126
77
 
127
- # Install dependencies
128
- pnpm install
78
+ Hero / ModeHero
129
79
 
130
- # Start Storybook
131
- pnpm storybook
80
+ Data
81
+
82
+ Table
83
+
84
+ List
85
+
86
+ Complex
87
+
88
+ VenueCard
89
+
90
+ EventCard
91
+
92
+ CTA Blocks
93
+
94
+ 📦 Core System Overview (DO NOT REMOVE)
95
+
96
+ Ключевой системный блок.
97
+ Не удалять, не переносить, не изменять структуру.
98
+
99
+ 🏗 Installation
100
+ npm install @tenerife.music/ui
101
+
102
+ import { ThemeProvider } from "@tenerife.music/ui";
103
+
104
+ export default function App() {
105
+ return (
106
+ <ThemeProvider>
107
+ <YourApp />
108
+ </ThemeProvider>
109
+ );
110
+ }
111
+
112
+ 🎨 Design Tokens System
113
+ Цвета
114
+
115
+ 100+ токенов
116
+
117
+ Полные оттеночные шкалы
118
+
119
+ surface tokens
132
120
 
133
- # Build
134
- pnpm build
121
+ semantic + text tokens
135
122
 
136
- # Test
137
- pnpm test
138
- ```
123
+ day/night mode
139
124
 
140
- ### Scripts
125
+ Типографика
141
126
 
142
- - `pnpm build` - Build the library
143
- - `pnpm dev` - Watch mode for development
144
- - `pnpm test` - Run tests
145
- - `pnpm test:coverage` - Run tests with coverage
146
- - `pnpm storybook` - Start Storybook
147
- - `pnpm lint` - Lint code
148
- - `pnpm typecheck` - Type check
127
+ fluid clamp scale
149
128
 
150
- ## 📦 Publishing
129
+ 13 стилей
151
130
 
152
- This package is published to npm. To publish a new version:
131
+ 9 весов
153
132
 
154
- ```bash
155
- # Update version
156
- npm version patch|minor|major
133
+ 6 line-heights
157
134
 
158
- # Publish
159
- npm publish
160
- ```
135
+ 6 tracking options
161
136
 
162
- ## 🤝 Contributing
137
+ Spacing
163
138
 
164
- Contributions are welcome! Please read our contributing guidelines first.
139
+ scale 0–96
165
140
 
166
- 1. Fork the repository
167
- 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
168
- 3. Commit your changes (`git commit -m 'feat: add amazing feature'`)
169
- 4. Push to the branch (`git push origin feature/amazing-feature`)
170
- 5. Open a Pull Request
141
+ semantic tokens
171
142
 
172
- ## 📄 License
143
+ layout tokens
173
144
 
174
- This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
145
+ Shadows
175
146
 
176
- ## 🔗 Links
147
+ elevation 1–5
177
148
 
178
- - [Documentation](https://github.com/tenerife-music/tenerife-ui)
179
- - [Issues](https://github.com/tenerife-music/tenerife-ui/issues)
180
- - [Changelog](CHANGELOG.md)
149
+ colored shadows
181
150
 
182
- ## 🙏 Acknowledgments
151
+ glow
152
+
153
+ focus rings
154
+
155
+ Radius
156
+
157
+ none → 3xl
158
+
159
+ full-radius
160
+
161
+ Motion
162
+
163
+ easing
164
+
165
+ durations
166
+
167
+ transitions
168
+
169
+ ⚙️ How Tenerife UI Works
170
+ ★ Token-first architecture
171
+
172
+ Никаких raw стилей.
173
+ Всё — через токены.
174
+
175
+ ★ Tailwind + CSS Variables
176
+
177
+ Цвета, spacing, shadows, radius — генерируются автоматически.
178
+
179
+ ★ CVA для вариативности
180
+
181
+ Компоненты имеют единый Variant API.
182
+
183
+ ★ Strict TypeScript
184
+
185
+ Идеальный DX и подсказки.
186
+
187
+ ★ Theme Engine
188
+
189
+ Instant day/night mode.
190
+
191
+ 🧱 Folder Structure
192
+ src/
193
+ components/
194
+ tokens/
195
+ theme/
196
+ layouts/
197
+ overlays/
198
+ search/
199
+ data/
200
+
201
+ 📸 Component Preview
202
+
203
+ [![Storybook](https://img.shields.io/badge/Storybook-Open-success?style=for-the-badge)](https://Tureckiy-zart.github.io/tenerife-ui/)
204
+
205
+ (Добавить скриншоты/видео позже)
206
+
207
+ 🔧 Development
208
+ pnpm install
209
+ pnpm dev
210
+ pnpm storybook
183
211
 
184
- - [shadcn/ui](https://ui.shadcn.com/) - Base component primitives
185
- - [Radix UI](https://www.radix-ui.com/) - Accessible component primitives
186
- - [Tailwind CSS](https://tailwindcss.com/) - Utility-first CSS framework
212
+ 🛠 Contributing
187
213
 
188
- ---
214
+ Before contributing, please read:
189
215
 
190
- **Version:** 0.0.1
191
- **Last Updated:** 2025-01-29
216
+ TYPING_STANDARD.md
192
217
 
218
+ STRUCTURE_OF_WORK.md
193
219
 
220
+ COMPONENT_GUIDELINES.md
194
221
 
222
+ 📜 License
195
223
 
224
+ MIT — Commercial-friendly.
196
225
 
226
+ 🎤 Author’s Note
197
227
 
228
+ Tenerife UI — это мой личный подход к созданию коммерческой, красивой и премиальной UI-системы.
229
+ Если ты строишь интерфейсы с эстетикой “дорого, стильно и технологично” — ты дома
@@ -0,0 +1,144 @@
1
+ "use client";
2
+ import { p as D, a as I, s as S, b as P, c as h, d as C, t as b } from "./colors-ClemXPPi.js";
3
+ const $ = {
4
+ default: () => import("./default-BKgH1D9-.js").then((e) => e.defaultTheme),
5
+ dark: () => import("./dark-Cvoy1uFT.js").then((e) => e.darkTheme),
6
+ brand: () => import("./brand-C5R2semX.js").then((e) => e.brandTheme)
7
+ };
8
+ async function F(e) {
9
+ const t = $[e];
10
+ if (!t)
11
+ throw new Error(`Theme "${e}" not found`);
12
+ return await t();
13
+ }
14
+ const k = "data-mode", g = "data-theme-name", E = "data-theme", T = "dark";
15
+ function L(e = "day", t = "tm_mode", n = !0) {
16
+ if (typeof window > "u") return e;
17
+ const r = document.documentElement, o = r.getAttribute(k);
18
+ if (o === "day" || o === "night")
19
+ return o;
20
+ const s = r.getAttribute(E);
21
+ if (s === "day" || s === "night")
22
+ return s;
23
+ try {
24
+ const a = localStorage.getItem(t);
25
+ if (a === "day" || a === "night")
26
+ return a;
27
+ const u = localStorage.getItem("theme");
28
+ if (u === "dark") return "night";
29
+ if (u === "light") return "day";
30
+ } catch {
31
+ }
32
+ return n && typeof window < "u" ? window.matchMedia("(prefers-color-scheme: dark)").matches ? "night" : "day" : e;
33
+ }
34
+ let i = null;
35
+ async function _(e) {
36
+ if (e === "default")
37
+ return i = null, null;
38
+ try {
39
+ const t = await F(e);
40
+ return i = t, t;
41
+ } catch (t) {
42
+ return console.warn(`Failed to load theme "${e}":`, t), i = null, null;
43
+ }
44
+ }
45
+ function f(e, t) {
46
+ return t ? { ...e, ...t } : e;
47
+ }
48
+ function l(e, t) {
49
+ return t ? { ...e, ...t } : e;
50
+ }
51
+ function x(e) {
52
+ const t = i, n = f(D, t == null ? void 0 : t.primaryColors), r = f(I, t == null ? void 0 : t.accentColors), o = f(S, t == null ? void 0 : t.secondaryColors), s = {
53
+ day: l(P.day, t == null ? void 0 : t.baseColorsDay),
54
+ night: l(P.night, t == null ? void 0 : t.baseColorsNight)
55
+ }, a = {
56
+ day: l(h.day, t == null ? void 0 : t.surfaceColorsDay),
57
+ night: l(h.night, t == null ? void 0 : t.surfaceColorsNight)
58
+ }, u = {
59
+ day: l(C.day, t == null ? void 0 : t.semanticColorsDay),
60
+ night: l(C.night, t == null ? void 0 : t.semanticColorsNight)
61
+ }, m = {
62
+ day: l(b.day, t == null ? void 0 : t.textColorsDay),
63
+ night: l(b.night, t == null ? void 0 : t.textColorsNight)
64
+ };
65
+ return {
66
+ primaryColors: n,
67
+ accentColors: r,
68
+ secondaryColors: o,
69
+ baseColors: s,
70
+ surfaceColors: a,
71
+ semanticColors: u,
72
+ textColors: m
73
+ };
74
+ }
75
+ function M(e) {
76
+ if (typeof document > "u") return;
77
+ const t = document.documentElement, n = x(), {
78
+ primaryColors: r,
79
+ accentColors: o,
80
+ secondaryColors: s,
81
+ baseColors: a,
82
+ surfaceColors: u,
83
+ semanticColors: m,
84
+ textColors: A
85
+ } = n, y = a[e];
86
+ t.style.setProperty("--background", y.background), t.style.setProperty("--foreground", y.foreground), t.style.setProperty("--card", y.card), t.style.setProperty("--card-foreground", y.cardForeground), t.style.setProperty("--popover", y.popover), t.style.setProperty("--popover-foreground", y.popoverForeground), t.style.setProperty("--border", y.border), t.style.setProperty("--input", y.input), t.style.setProperty("--ring", y.ring);
87
+ const d = u[e];
88
+ t.style.setProperty("--surface-base", d.base), t.style.setProperty("--surface-elevated1", d.elevated1), t.style.setProperty("--surface-elevated2", d.elevated2), t.style.setProperty("--surface-elevated3", d.elevated3), t.style.setProperty("--surface-overlay", d.overlay), t.style.setProperty("--surface-glass", d.glass);
89
+ const c = m[e];
90
+ t.style.setProperty("--semantic-success", c.success), t.style.setProperty("--semantic-success-foreground", c.successForeground), t.style.setProperty("--semantic-error", c.error), t.style.setProperty("--semantic-error-foreground", c.errorForeground), t.style.setProperty("--semantic-warning", c.warning), t.style.setProperty("--semantic-warning-foreground", c.warningForeground), t.style.setProperty("--semantic-info", c.info), t.style.setProperty("--semantic-info-foreground", c.infoForeground);
91
+ const p = A[e];
92
+ t.style.setProperty("--text-primary", p.primary), t.style.setProperty("--text-secondary", p.secondary), t.style.setProperty("--text-tertiary", p.tertiary), t.style.setProperty("--text-muted", p.muted), t.style.setProperty("--text-inverse", p.inverse), t.style.setProperty("--primary-50", r[50]), t.style.setProperty("--primary-100", r[100]), t.style.setProperty("--primary-200", r[200]), t.style.setProperty("--primary-300", r[300]), t.style.setProperty("--primary-400", r[400]), t.style.setProperty("--primary-500", r[500]), t.style.setProperty("--primary-600", r[600]), t.style.setProperty("--primary-700", r[700]), t.style.setProperty("--primary-800", r[800]), t.style.setProperty("--primary-900", r[900]), t.style.setProperty("--primary-950", r[950]), t.style.setProperty("--accent-50", o[50]), t.style.setProperty("--accent-100", o[100]), t.style.setProperty("--accent-200", o[200]), t.style.setProperty("--accent-300", o[300]), t.style.setProperty("--accent-400", o[400]), t.style.setProperty("--accent-500", o[500]), t.style.setProperty("--accent-600", o[600]), t.style.setProperty("--accent-700", o[700]), t.style.setProperty("--accent-800", o[800]), t.style.setProperty("--accent-900", o[900]), t.style.setProperty("--accent-950", o[950]), t.style.setProperty("--secondary-50", s[50]), t.style.setProperty("--secondary-100", s[100]), t.style.setProperty("--secondary-200", s[200]), t.style.setProperty("--secondary-300", s[300]), t.style.setProperty("--secondary-400", s[400]), t.style.setProperty("--secondary-500", s[500]), t.style.setProperty("--secondary-600", s[600]), t.style.setProperty("--secondary-700", s[700]), t.style.setProperty("--secondary-800", s[800]), t.style.setProperty("--secondary-900", s[900]), t.style.setProperty("--secondary-950", s[950]), e === "day" ? (t.style.setProperty("--tm-primary", s[500]), t.style.setProperty("--tm-primary-foreground", "0 0% 100%"), t.style.setProperty("--tm-secondary", "0 0% 95.7%"), t.style.setProperty("--tm-secondary-foreground", "0 0% 6.7%"), t.style.setProperty("--tm-accent", "0 0% 89.8%"), t.style.setProperty("--tm-accent-foreground", "0 0% 6.7%")) : (t.style.setProperty("--tm-primary", o[500]), t.style.setProperty("--tm-primary-foreground", "0 0% 100%"), t.style.setProperty("--tm-secondary", "240 10% 7%"), t.style.setProperty("--tm-secondary-foreground", "0 0% 89.8%"), t.style.setProperty("--tm-accent", "240 10% 10%"), t.style.setProperty("--tm-accent-foreground", "0 0% 89.8%")), t.style.setProperty("--muted", y.card), t.style.setProperty("--muted-foreground", y.cardForeground), t.style.setProperty("--destructive", c.error), t.style.setProperty("--destructive-foreground", c.errorForeground);
93
+ }
94
+ async function w(e, t = "default") {
95
+ if (typeof document > "u") return;
96
+ await _(t);
97
+ const { documentElement: n, body: r } = document;
98
+ n.setAttribute(k, e), n.setAttribute(E, e), n.setAttribute(g, t), e === "night" ? n.classList.add(T) : n.classList.remove(T), M(e);
99
+ const o = x(), { background: s, foreground: a } = o.baseColors[e];
100
+ r && (r.dataset.mode = e, r.dataset.theme = t, r.style.backgroundColor = `hsl(${s})`, r.style.color = `hsl(${a})`);
101
+ }
102
+ function R(e) {
103
+ if (typeof document < "u") {
104
+ const n = document.documentElement.getAttribute(g) || "default";
105
+ w(e, n);
106
+ } else
107
+ w(e, "default");
108
+ }
109
+ function B(e = "default", t = "tm_theme") {
110
+ if (typeof window > "u") return e;
111
+ const r = document.documentElement.getAttribute(g);
112
+ if (r === "default" || r === "dark" || r === "brand")
113
+ return r;
114
+ try {
115
+ const o = localStorage.getItem(t);
116
+ if (o === "default" || o === "dark" || o === "brand")
117
+ return o;
118
+ } catch {
119
+ }
120
+ return e;
121
+ }
122
+ function U(e, t = "tm_mode") {
123
+ if (!(typeof window > "u"))
124
+ try {
125
+ localStorage.setItem(t, e), localStorage.setItem("theme", e === "night" ? "dark" : "light");
126
+ } catch {
127
+ }
128
+ }
129
+ function H(e, t = "tm_theme") {
130
+ if (!(typeof window > "u"))
131
+ try {
132
+ localStorage.setItem(t, e);
133
+ } catch {
134
+ }
135
+ }
136
+ export {
137
+ w as a,
138
+ H as b,
139
+ L as c,
140
+ R as d,
141
+ B as g,
142
+ _ as l,
143
+ U as p
144
+ };
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ "use strict";const a=require("./colors-BGRiFoSZ.cjs"),A={default:()=>Promise.resolve().then(()=>require("./default-Ddg7Haf2.cjs")).then(t=>t.defaultTheme),dark:()=>Promise.resolve().then(()=>require("./dark-OOhiqt1q.cjs")).then(t=>t.darkTheme),brand:()=>Promise.resolve().then(()=>require("./brand-DQb18Frh.cjs")).then(t=>t.brandTheme)};async function D(t){const e=A[t];if(!e)throw new Error(`Theme "${t}" not found`);return await e()}const b="data-mode",h="data-theme-name",T="data-theme",C="dark";function I(t="day",e="tm_mode",n=!0){if(typeof window>"u")return t;const r=document.documentElement,o=r.getAttribute(b);if(o==="day"||o==="night")return o;const s=r.getAttribute(T);if(s==="day"||s==="night")return s;try{const c=localStorage.getItem(e);if(c==="day"||c==="night")return c;const i=localStorage.getItem("theme");if(i==="dark")return"night";if(i==="light")return"day"}catch{}return n&&typeof window<"u"?window.matchMedia("(prefers-color-scheme: dark)").matches?"night":"day":t}let m=null;async function w(t){if(t==="default")return m=null,null;try{const e=await D(t);return m=e,e}catch(e){return console.warn(`Failed to load theme "${t}":`,e),m=null,null}}function g(t,e){return e?{...t,...e}:t}function u(t,e){return e?{...t,...e}:t}function k(t){const e=m,n=g(a.primaryColors,e==null?void 0:e.primaryColors),r=g(a.accentColors,e==null?void 0:e.accentColors),o=g(a.secondaryColors,e==null?void 0:e.secondaryColors),s={day:u(a.baseColors.day,e==null?void 0:e.baseColorsDay),night:u(a.baseColors.night,e==null?void 0:e.baseColorsNight)},c={day:u(a.surfaceColors.day,e==null?void 0:e.surfaceColorsDay),night:u(a.surfaceColors.night,e==null?void 0:e.surfaceColorsNight)},i={day:u(a.semanticColors.day,e==null?void 0:e.semanticColorsDay),night:u(a.semanticColors.night,e==null?void 0:e.semanticColorsNight)},f={day:u(a.textColors.day,e==null?void 0:e.textColorsDay),night:u(a.textColors.night,e==null?void 0:e.textColorsNight)};return{primaryColors:n,accentColors:r,secondaryColors:o,baseColors:s,surfaceColors:c,semanticColors:i,textColors:f}}function x(t){if(typeof document>"u")return;const e=document.documentElement,n=k(),{primaryColors:r,accentColors:o,secondaryColors:s,baseColors:c,surfaceColors:i,semanticColors:f,textColors:E}=n,y=c[t];e.style.setProperty("--background",y.background),e.style.setProperty("--foreground",y.foreground),e.style.setProperty("--card",y.card),e.style.setProperty("--card-foreground",y.cardForeground),e.style.setProperty("--popover",y.popover),e.style.setProperty("--popover-foreground",y.popoverForeground),e.style.setProperty("--border",y.border),e.style.setProperty("--input",y.input),e.style.setProperty("--ring",y.ring);const d=i[t];e.style.setProperty("--surface-base",d.base),e.style.setProperty("--surface-elevated1",d.elevated1),e.style.setProperty("--surface-elevated2",d.elevated2),e.style.setProperty("--surface-elevated3",d.elevated3),e.style.setProperty("--surface-overlay",d.overlay),e.style.setProperty("--surface-glass",d.glass);const l=f[t];e.style.setProperty("--semantic-success",l.success),e.style.setProperty("--semantic-success-foreground",l.successForeground),e.style.setProperty("--semantic-error",l.error),e.style.setProperty("--semantic-error-foreground",l.errorForeground),e.style.setProperty("--semantic-warning",l.warning),e.style.setProperty("--semantic-warning-foreground",l.warningForeground),e.style.setProperty("--semantic-info",l.info),e.style.setProperty("--semantic-info-foreground",l.infoForeground);const p=E[t];e.style.setProperty("--text-primary",p.primary),e.style.setProperty("--text-secondary",p.secondary),e.style.setProperty("--text-tertiary",p.tertiary),e.style.setProperty("--text-muted",p.muted),e.style.setProperty("--text-inverse",p.inverse),e.style.setProperty("--primary-50",r[50]),e.style.setProperty("--primary-100",r[100]),e.style.setProperty("--primary-200",r[200]),e.style.setProperty("--primary-300",r[300]),e.style.setProperty("--primary-400",r[400]),e.style.setProperty("--primary-500",r[500]),e.style.setProperty("--primary-600",r[600]),e.style.setProperty("--primary-700",r[700]),e.style.setProperty("--primary-800",r[800]),e.style.setProperty("--primary-900",r[900]),e.style.setProperty("--primary-950",r[950]),e.style.setProperty("--accent-50",o[50]),e.style.setProperty("--accent-100",o[100]),e.style.setProperty("--accent-200",o[200]),e.style.setProperty("--accent-300",o[300]),e.style.setProperty("--accent-400",o[400]),e.style.setProperty("--accent-500",o[500]),e.style.setProperty("--accent-600",o[600]),e.style.setProperty("--accent-700",o[700]),e.style.setProperty("--accent-800",o[800]),e.style.setProperty("--accent-900",o[900]),e.style.setProperty("--accent-950",o[950]),e.style.setProperty("--secondary-50",s[50]),e.style.setProperty("--secondary-100",s[100]),e.style.setProperty("--secondary-200",s[200]),e.style.setProperty("--secondary-300",s[300]),e.style.setProperty("--secondary-400",s[400]),e.style.setProperty("--secondary-500",s[500]),e.style.setProperty("--secondary-600",s[600]),e.style.setProperty("--secondary-700",s[700]),e.style.setProperty("--secondary-800",s[800]),e.style.setProperty("--secondary-900",s[900]),e.style.setProperty("--secondary-950",s[950]),t==="day"?(e.style.setProperty("--tm-primary",s[500]),e.style.setProperty("--tm-primary-foreground","0 0% 100%"),e.style.setProperty("--tm-secondary","0 0% 95.7%"),e.style.setProperty("--tm-secondary-foreground","0 0% 6.7%"),e.style.setProperty("--tm-accent","0 0% 89.8%"),e.style.setProperty("--tm-accent-foreground","0 0% 6.7%")):(e.style.setProperty("--tm-primary",o[500]),e.style.setProperty("--tm-primary-foreground","0 0% 100%"),e.style.setProperty("--tm-secondary","240 10% 7%"),e.style.setProperty("--tm-secondary-foreground","0 0% 89.8%"),e.style.setProperty("--tm-accent","240 10% 10%"),e.style.setProperty("--tm-accent-foreground","0 0% 89.8%")),e.style.setProperty("--muted",y.card),e.style.setProperty("--muted-foreground",y.cardForeground),e.style.setProperty("--destructive",l.error),e.style.setProperty("--destructive-foreground",l.errorForeground)}async function P(t,e="default"){if(typeof document>"u")return;await w(e);const{documentElement:n,body:r}=document;n.setAttribute(b,t),n.setAttribute(T,t),n.setAttribute(h,e),t==="night"?n.classList.add(C):n.classList.remove(C),x(t);const o=k(),{background:s,foreground:c}=o.baseColors[t];r&&(r.dataset.mode=t,r.dataset.theme=e,r.style.backgroundColor=`hsl(${s})`,r.style.color=`hsl(${c})`)}function M(t){if(typeof document<"u"){const n=document.documentElement.getAttribute(h)||"default";P(t,n)}else P(t,"default")}function S(t="default",e="tm_theme"){if(typeof window>"u")return t;const r=document.documentElement.getAttribute(h);if(r==="default"||r==="dark"||r==="brand")return r;try{const o=localStorage.getItem(e);if(o==="default"||o==="dark"||o==="brand")return o}catch{}return t}function F(t,e="tm_mode"){if(!(typeof window>"u"))try{localStorage.setItem(e,t),localStorage.setItem("theme",t==="night"?"dark":"light")}catch{}}function _(t,e="tm_theme"){if(!(typeof window>"u"))try{localStorage.setItem(e,t)}catch{}}exports.applyDocumentMode=M;exports.applyDocumentTheme=P;exports.getInitialMode=I;exports.getInitialTheme=S;exports.loadThemeOverride=w;exports.persistMode=F;exports.persistTheme=_;
@@ -0,0 +1,45 @@
1
+ "use client";
2
+ const o = {
3
+ name: "brand",
4
+ description: "Brand-specific theme with custom color palette",
5
+ // Override primary colors - warmer blue tones for brand
6
+ primaryColors: {
7
+ 500: "210 75% 45%",
8
+ // Brighter, warmer blue
9
+ 600: "210 70% 40%",
10
+ 700: "210 65% 35%"
11
+ },
12
+ // Override accent colors - vibrant purple-pink gradient
13
+ accentColors: {
14
+ 400: "285 75% 65%",
15
+ // Softer purple
16
+ 500: "285 80% 60%",
17
+ // Vibrant purple-pink
18
+ 600: "285 75% 55%"
19
+ },
20
+ // Override secondary colors - teal accent for brand
21
+ secondaryColors: {
22
+ 400: "170 85% 50%",
23
+ // Brighter teal
24
+ 500: "170 90% 45%",
25
+ // Vibrant teal (#00d9b8)
26
+ 600: "170 85% 40%"
27
+ },
28
+ // Override semantic colors for day mode - brand-aligned colors
29
+ semanticColorsDay: {
30
+ success: "145 75% 40%",
31
+ // Brand-aligned green
32
+ info: "210 75% 50%"
33
+ // Brand primary blue
34
+ },
35
+ // Override semantic colors for night mode
36
+ semanticColorsNight: {
37
+ success: "145 70% 48%",
38
+ // Brighter brand green
39
+ info: "210 75% 55%"
40
+ // Brighter brand blue
41
+ }
42
+ };
43
+ export {
44
+ o as brandTheme
45
+ };
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"brand",description:"Brand-specific theme with custom color palette",primaryColors:{500:"210 75% 45%",600:"210 70% 40%",700:"210 65% 35%"},accentColors:{400:"285 75% 65%",500:"285 80% 60%",600:"285 75% 55%"},secondaryColors:{400:"170 85% 50%",500:"170 90% 45%",600:"170 85% 40%"},semanticColorsDay:{success:"145 75% 40%",info:"210 75% 50%"},semanticColorsNight:{success:"145 70% 48%",info:"210 75% 55%"}};exports.brandTheme=e;
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ "use strict";const a={50:"210 40% 98%",100:"210 40% 96%",200:"217 32.6% 17.5%",300:"216 28% 26%",400:"215 25% 27%",500:"215 20% 35%",600:"215 16% 47%",700:"216 12% 54%",800:"217 10% 62%",900:"222 47.4% 11.2%",950:"222 84% 4.9%"},e={50:"280 100% 98%",100:"280 65% 96%",200:"280 60% 85%",300:"280 55% 75%",400:"280 50% 65%",500:"280 70% 67%",600:"259 65% 58%",700:"259 60% 50%",800:"259 55% 45%",900:"259 50% 40%",950:"259 45% 30%"},s={50:"173 100% 98%",100:"173 100% 95%",200:"173 100% 85%",300:"173 100% 70%",400:"173 100% 55%",500:"173 100% 37%",600:"173 100% 32%",700:"173 95% 27%",800:"173 90% 22%",900:"173 85% 17%",950:"173 80% 12%"},o={day:{base:"0 0% 100%",elevated1:"0 0% 98%",elevated2:"0 0% 96%",elevated3:"0 0% 94%",overlay:"0 0% 0% / 0.5",glass:"0 0% 100% / 0.8"},night:{base:"240 10% 3.9%",elevated1:"240 10% 5.1%",elevated2:"240 10% 6.3%",elevated3:"240 10% 7.5%",overlay:"0 0% 0% / 0.7",glass:"240 10% 10% / 0.9"}},r={day:{success:"142 76% 36%",successForeground:"0 0% 100%",error:"0 84.2% 60.2%",errorForeground:"0 0% 98%",warning:"38 92% 50%",warningForeground:"0 0% 9%",info:"199 89% 48%",infoForeground:"0 0% 100%"},night:{success:"142 70% 45%",successForeground:"0 0% 100%",error:"0 62.8% 30.6%",errorForeground:"0 0% 98%",warning:"38 92% 60%",warningForeground:"0 0% 9%",info:"199 89% 55%",infoForeground:"0 0% 100%"}},n={day:{primary:"0 0% 9%",secondary:"0 0% 45%",tertiary:"0 0% 65%",muted:"0 0% 45.1%",inverse:"0 0% 100%"},night:{primary:"0 0% 89.8%",secondary:"240 5% 64.9%",tertiary:"240 5% 50%",muted:"240 5% 64.9%",inverse:"0 0% 9%"}},c={day:{background:"0 0% 100%",foreground:"0 0% 9%",card:"0 0% 100%",cardForeground:"0 0% 9%",popover:"0 0% 100%",popoverForeground:"0 0% 9%",border:"0 0% 89.8%",input:"0 0% 89.8%",ring:"0 0% 3.9%"},night:{background:"240 10% 3.9%",foreground:"0 0% 89.8%",card:"240 10% 3.9%",cardForeground:"0 0% 89.8%",popover:"240 10% 5.1%",popoverForeground:"0 0% 89.8%",border:"240 3.7% 15.9%",input:"240 3.7% 15.9%",ring:"240 4.9% 83.9%"}},t={day:{...c.day,primary:"hsl(var(--tm-primary))",primaryForeground:"hsl(var(--tm-primary-foreground))",secondary:"hsl(var(--tm-secondary))",secondaryForeground:"hsl(var(--tm-secondary-foreground))",muted:"hsl(var(--muted))",mutedForeground:"hsl(var(--muted-foreground))",accent:"hsl(var(--tm-accent))",accentForeground:"hsl(var(--tm-accent-foreground))",destructive:`hsl(${r.day.error})`,destructiveForeground:r.day.errorForeground,chart1:"hsl(12, 76%, 61%)",chart2:"hsl(173, 58%, 39%)",chart3:"hsl(197, 37%, 24%)",chart4:"hsl(43, 74%, 66%)",chart5:"hsl(27, 87%, 67%)"},night:{...c.night,primary:"hsl(var(--tm-primary))",primaryForeground:"hsl(var(--tm-primary-foreground))",secondary:"hsl(var(--tm-secondary))",secondaryForeground:"hsl(var(--tm-secondary-foreground))",muted:"hsl(var(--muted))",mutedForeground:"hsl(var(--muted-foreground))",accent:"hsl(var(--tm-accent))",accentForeground:"hsl(var(--tm-accent-foreground))",destructive:`hsl(${r.night.error})`,destructiveForeground:r.night.errorForeground,chart1:"hsl(220, 70%, 50%)",chart2:"hsl(160, 60%, 45%)",chart3:"hsl(30, 80%, 55%)",chart4:"hsl(280, 65%, 60%)",chart5:"hsl(340, 75%, 55%)"}},d={"--primary-50":a[50],"--primary-100":a[100],"--primary-200":a[200],"--primary-300":a[300],"--primary-400":a[400],"--primary-500":a[500],"--primary-600":a[600],"--primary-700":a[700],"--primary-800":a[800],"--primary-900":a[900],"--primary-950":a[950],"--accent-50":e[50],"--accent-100":e[100],"--accent-200":e[200],"--accent-300":e[300],"--accent-400":e[400],"--accent-500":e[500],"--accent-600":e[600],"--accent-700":e[700],"--accent-800":e[800],"--accent-900":e[900],"--accent-950":e[950],"--secondary-50":s[50],"--secondary-100":s[100],"--secondary-200":s[200],"--secondary-300":s[300],"--secondary-400":s[400],"--secondary-500":s[500],"--secondary-600":s[600],"--secondary-700":s[700],"--secondary-800":s[800],"--secondary-900":s[900],"--secondary-950":s[950],"--surface-base":o.day.base,"--surface-elevated1":o.day.elevated1,"--surface-elevated2":o.day.elevated2,"--surface-elevated3":o.day.elevated3,"--surface-overlay":o.day.overlay,"--surface-glass":o.day.glass,"--semantic-success":r.day.success,"--semantic-success-foreground":r.day.successForeground,"--semantic-error":r.day.error,"--semantic-error-foreground":r.day.errorForeground,"--semantic-warning":r.day.warning,"--semantic-warning-foreground":r.day.warningForeground,"--semantic-info":r.day.info,"--semantic-info-foreground":r.day.infoForeground,"--text-primary":n.day.primary,"--text-secondary":n.day.secondary,"--text-tertiary":n.day.tertiary,"--text-muted":n.day.muted,"--text-inverse":n.day.inverse},l={background:"hsl(var(--background))",foreground:"hsl(var(--foreground))",card:{DEFAULT:"hsl(var(--card))",foreground:"hsl(var(--card-foreground))"},popover:{DEFAULT:"hsl(var(--popover))",foreground:"hsl(var(--popover-foreground))"},primary:{DEFAULT:"hsl(var(--tm-primary))",foreground:"hsl(var(--tm-primary-foreground))",50:"hsl(var(--primary-50))",100:"hsl(var(--primary-100))",200:"hsl(var(--primary-200))",300:"hsl(var(--primary-300))",400:"hsl(var(--primary-400))",500:"hsl(var(--primary-500))",600:"hsl(var(--primary-600))",700:"hsl(var(--primary-700))",800:"hsl(var(--primary-800))",900:"hsl(var(--primary-900))",950:"hsl(var(--primary-950))"},secondary:{DEFAULT:"hsl(var(--tm-secondary))",foreground:"hsl(var(--tm-secondary-foreground))",50:"hsl(var(--secondary-50))",100:"hsl(var(--secondary-100))",200:"hsl(var(--secondary-200))",300:"hsl(var(--secondary-300))",400:"hsl(var(--secondary-400))",500:"hsl(var(--secondary-500))",600:"hsl(var(--secondary-600))",700:"hsl(var(--secondary-700))",800:"hsl(var(--secondary-800))",900:"hsl(var(--secondary-900))",950:"hsl(var(--secondary-950))"},accent:{DEFAULT:"hsl(var(--tm-accent))",foreground:"hsl(var(--tm-accent-foreground))",50:"hsl(var(--accent-50))",100:"hsl(var(--accent-100))",200:"hsl(var(--accent-200))",300:"hsl(var(--accent-300))",400:"hsl(var(--accent-400))",500:"hsl(var(--accent-500))",600:"hsl(var(--accent-600))",700:"hsl(var(--accent-700))",800:"hsl(var(--accent-800))",900:"hsl(var(--accent-900))",950:"hsl(var(--accent-950))"},muted:{DEFAULT:"hsl(var(--muted))",foreground:"hsl(var(--muted-foreground))"},destructive:{DEFAULT:"hsl(var(--destructive))",foreground:"hsl(var(--destructive-foreground))"},success:{DEFAULT:"hsl(var(--semantic-success))",foreground:"hsl(var(--semantic-success-foreground))"},error:{DEFAULT:"hsl(var(--semantic-error))",foreground:"hsl(var(--semantic-error-foreground))"},warning:{DEFAULT:"hsl(var(--semantic-warning))",foreground:"hsl(var(--semantic-warning-foreground))"},info:{DEFAULT:"hsl(var(--semantic-info))",foreground:"hsl(var(--semantic-info-foreground))"},surface:{base:"hsl(var(--surface-base))",elevated1:"hsl(var(--surface-elevated1))",elevated2:"hsl(var(--surface-elevated2))",elevated3:"hsl(var(--surface-elevated3))",overlay:"hsl(var(--surface-overlay))",glass:"hsl(var(--surface-glass))"},text:{primary:"hsl(var(--text-primary))",secondary:"hsl(var(--text-secondary))",tertiary:"hsl(var(--text-tertiary))",muted:"hsl(var(--text-muted))",inverse:"hsl(var(--text-inverse))"},border:"hsl(var(--border))",input:"hsl(var(--input))",ring:"hsl(var(--ring))",chart:{1:"hsl(var(--chart-1))",2:"hsl(var(--chart-2))",3:"hsl(var(--chart-3))",4:"hsl(var(--chart-4))",5:"hsl(var(--chart-5))"}};exports.accentColors=e;exports.baseColors=c;exports.colorCSSVariables=d;exports.cssVariableColorTokens=t;exports.primaryColors=a;exports.secondaryColors=s;exports.semanticColors=r;exports.surfaceColors=o;exports.tailwindThemeColors=l;exports.textColors=n;