@pattern-stack/frontend-patterns 0.0.1 → 0.0.3

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 (153) hide show
  1. package/README.md +6 -6
  2. package/package.json +3 -5
  3. package/src/App.css +0 -42
  4. package/src/App.tsx +0 -54
  5. package/src/__tests__/README.md +0 -221
  6. package/src/__tests__/atoms/hooks/simple-hooks.test.ts +0 -44
  7. package/src/__tests__/atoms/ui/button.test.tsx +0 -68
  8. package/src/__tests__/atoms/utils/simple.test.ts +0 -18
  9. package/src/__tests__/atoms/utils/utils.test.ts +0 -77
  10. package/src/__tests__/features/auth/simple-auth.test.tsx +0 -40
  11. package/src/__tests__/molecules/layout/simple-layout.test.tsx +0 -81
  12. package/src/__tests__/organisms/showcase/simple-showcase.test.tsx +0 -167
  13. package/src/__tests__/setup.ts +0 -51
  14. package/src/__tests__/utils.tsx +0 -123
  15. package/src/atoms/composed/Accordion/Accordion.tsx +0 -271
  16. package/src/atoms/composed/Accordion/index.ts +0 -1
  17. package/src/atoms/composed/Alert/Alert.tsx +0 -132
  18. package/src/atoms/composed/Alert/index.ts +0 -1
  19. package/src/atoms/composed/Breadcrumb/Breadcrumb.tsx +0 -83
  20. package/src/atoms/composed/Breadcrumb/index.ts +0 -1
  21. package/src/atoms/composed/Chart/Chart.tsx +0 -425
  22. package/src/atoms/composed/Chart/index.ts +0 -2
  23. package/src/atoms/composed/ColorSwatch/ColorSwatch.tsx +0 -72
  24. package/src/atoms/composed/ColorSwatch/index.ts +0 -1
  25. package/src/atoms/composed/DarkModeToggle.tsx +0 -66
  26. package/src/atoms/composed/DataBadge/DataBadge.tsx +0 -81
  27. package/src/atoms/composed/DataBadge/index.ts +0 -1
  28. package/src/atoms/composed/DataTable/DataTable.tsx +0 -394
  29. package/src/atoms/composed/DataTable/TableCellWithTooltip.tsx +0 -41
  30. package/src/atoms/composed/DataTable/index.ts +0 -2
  31. package/src/atoms/composed/DateTimePicker/DateTimePicker.tsx +0 -611
  32. package/src/atoms/composed/DateTimePicker/index.ts +0 -2
  33. package/src/atoms/composed/DetailedCard/DetailedCard.tsx +0 -181
  34. package/src/atoms/composed/DetailedCard/index.ts +0 -2
  35. package/src/atoms/composed/EmptyState/EmptyState.tsx +0 -90
  36. package/src/atoms/composed/EmptyState/index.ts +0 -1
  37. package/src/atoms/composed/FileUpload/FileUpload.tsx +0 -477
  38. package/src/atoms/composed/FileUpload/index.ts +0 -2
  39. package/src/atoms/composed/FormField/FormField.tsx +0 -92
  40. package/src/atoms/composed/FormField/index.ts +0 -1
  41. package/src/atoms/composed/GlobalSearch/GlobalSearch.tsx +0 -37
  42. package/src/atoms/composed/GlobalSearch/index.ts +0 -1
  43. package/src/atoms/composed/IconBadge/IconBadge.tsx +0 -95
  44. package/src/atoms/composed/IconBadge/index.ts +0 -2
  45. package/src/atoms/composed/Modal/Modal.tsx +0 -223
  46. package/src/atoms/composed/Modal/index.ts +0 -2
  47. package/src/atoms/composed/PaletteSwitcher.tsx +0 -386
  48. package/src/atoms/composed/ProgressBar/ProgressBar.tsx +0 -116
  49. package/src/atoms/composed/ProgressBar/index.ts +0 -1
  50. package/src/atoms/composed/StatCard/StatCard.tsx +0 -219
  51. package/src/atoms/composed/StatCard/index.ts +0 -1
  52. package/src/atoms/composed/StyleGuide.tsx +0 -717
  53. package/src/atoms/composed/Toast/Toast.tsx +0 -219
  54. package/src/atoms/composed/Toast/index.ts +0 -1
  55. package/src/atoms/composed/Tooltip/Tooltip.tsx +0 -213
  56. package/src/atoms/composed/Tooltip/index.ts +0 -1
  57. package/src/atoms/composed/UserAvatar/UserAvatar.tsx +0 -139
  58. package/src/atoms/composed/UserAvatar/index.ts +0 -1
  59. package/src/atoms/composed/UserMenu/UserMenu.tsx +0 -16
  60. package/src/atoms/composed/UserMenu/index.ts +0 -1
  61. package/src/atoms/composed/index.ts +0 -29
  62. package/src/atoms/hooks/useApi.ts +0 -80
  63. package/src/atoms/hooks/useHealth.ts +0 -17
  64. package/src/atoms/index.ts +0 -13
  65. package/src/atoms/services/api/client.ts +0 -134
  66. package/src/atoms/services/auth-service.ts +0 -248
  67. package/src/atoms/services/health.ts +0 -15
  68. package/src/atoms/services/index.ts +0 -3
  69. package/src/atoms/shared/config/constants.ts +0 -17
  70. package/src/atoms/shared/config/dashboard-sizes.ts +0 -111
  71. package/src/atoms/shared/config/environment.ts +0 -10
  72. package/src/atoms/shared/index.ts +0 -4
  73. package/src/atoms/shared/styles/color-palettes.css +0 -566
  74. package/src/atoms/types/auth.ts +0 -62
  75. package/src/atoms/types/generated.ts +0 -1469
  76. package/src/atoms/types/index.ts +0 -4
  77. package/src/atoms/types/loading.ts +0 -28
  78. package/src/atoms/ui/Badge.tsx +0 -30
  79. package/src/atoms/ui/ErrorBoundary.tsx +0 -59
  80. package/src/atoms/ui/Select.tsx +0 -53
  81. package/src/atoms/ui/Switch.tsx +0 -42
  82. package/src/atoms/ui/Tabs.tsx +0 -118
  83. package/src/atoms/ui/avatar.tsx +0 -48
  84. package/src/atoms/ui/button.tsx +0 -70
  85. package/src/atoms/ui/card.tsx +0 -76
  86. package/src/atoms/ui/dropdown-menu.tsx +0 -199
  87. package/src/atoms/ui/index.ts +0 -39
  88. package/src/atoms/ui/input.tsx +0 -23
  89. package/src/atoms/ui/label.tsx +0 -23
  90. package/src/atoms/ui/skeleton.tsx +0 -13
  91. package/src/atoms/ui/spinner.tsx +0 -49
  92. package/src/atoms/ui/table.tsx +0 -116
  93. package/src/atoms/utils/animations.ts +0 -135
  94. package/src/atoms/utils/tooltip-helpers.ts +0 -140
  95. package/src/atoms/utils/utils.ts +0 -9
  96. package/src/features/auth/components/LoginForm.tsx +0 -168
  97. package/src/features/auth/components/LogoutButton.tsx +0 -19
  98. package/src/features/auth/components/ProtectedRoute.tsx +0 -60
  99. package/src/features/auth/components/index.ts +0 -4
  100. package/src/features/auth/hooks/index.ts +0 -2
  101. package/src/features/auth/hooks/useAuth.tsx +0 -205
  102. package/src/features/auth/hooks/usePermissions.ts +0 -35
  103. package/src/features/auth/index.ts +0 -2
  104. package/src/features/index.ts +0 -2
  105. package/src/index.css +0 -704
  106. package/src/index.ts +0 -13
  107. package/src/main.tsx +0 -48
  108. package/src/molecules/.gitkeep +0 -0
  109. package/src/molecules/forms/FormGroup.tsx +0 -75
  110. package/src/molecules/forms/SearchInput.tsx +0 -259
  111. package/src/molecules/forms/index.ts +0 -4
  112. package/src/molecules/index.ts +0 -4
  113. package/src/molecules/layout/AppHeader/AppHeader.tsx +0 -42
  114. package/src/molecules/layout/AppHeader/index.ts +0 -1
  115. package/src/molecules/layout/AppLayout.tsx +0 -29
  116. package/src/molecules/layout/PageTemplate.tsx +0 -87
  117. package/src/molecules/layout/SectionHeader/SectionHeader.tsx +0 -87
  118. package/src/molecules/layout/SectionHeader/index.ts +0 -1
  119. package/src/molecules/layout/ShowcaseSection.tsx +0 -57
  120. package/src/molecules/layout/Sidebar.tsx +0 -144
  121. package/src/molecules/layout/SidebarButton/SidebarButton.tsx +0 -99
  122. package/src/molecules/layout/SidebarButton/index.ts +0 -1
  123. package/src/molecules/layout/SidebarContext.tsx +0 -31
  124. package/src/molecules/layout/index.ts +0 -7
  125. package/src/molecules/navigation/NavMenu.tsx +0 -188
  126. package/src/molecules/navigation/Pagination.tsx +0 -172
  127. package/src/molecules/navigation/index.ts +0 -4
  128. package/src/organisms/index.ts +0 -5
  129. package/src/organisms/showcase/ComponentShowcasePage.tsx +0 -2496
  130. package/src/organisms/showcase/index.ts +0 -1
  131. package/src/pages/AdminShowcase/AdminCRUDShowcase.tsx +0 -242
  132. package/src/pages/AdminShowcase/AdminDashboardShowcase.tsx +0 -171
  133. package/src/pages/AdminShowcase/AdminDetailShowcase.tsx +0 -385
  134. package/src/pages/AdminShowcase/index.tsx +0 -3
  135. package/src/pages/ComponentShowcase/BadgesShowcase.tsx +0 -188
  136. package/src/pages/ComponentShowcase/CardsShowcase.tsx +0 -392
  137. package/src/pages/ComponentShowcase/PalettesShowcase.tsx +0 -207
  138. package/src/pages/ComponentShowcase/StatesShowcase.tsx +0 -485
  139. package/src/pages/ComponentShowcase/TablesShowcase.tsx +0 -134
  140. package/src/pages/ComponentShowcase/TypographyShowcase.tsx +0 -255
  141. package/src/pages/ComponentShowcase/index.tsx +0 -188
  142. package/src/pages/index.ts +0 -2
  143. package/src/templates/AuthTemplate.tsx +0 -216
  144. package/src/templates/ComponentShowcaseTemplate.tsx +0 -173
  145. package/src/templates/DashboardTemplate.tsx +0 -232
  146. package/src/templates/DataTemplate.tsx +0 -319
  147. package/src/templates/admin/AdminCRUDTemplate.tsx +0 -630
  148. package/src/templates/admin/AdminDashboardTemplate.tsx +0 -351
  149. package/src/templates/admin/AdminDetailTemplate.tsx +0 -563
  150. package/src/templates/admin/index.ts +0 -29
  151. package/src/templates/factory.tsx +0 -169
  152. package/src/templates/index.ts +0 -37
  153. package/src/vite-env.d.ts +0 -1
package/src/index.css DELETED
@@ -1,704 +0,0 @@
1
- @import "tailwindcss";
2
- @import "./atoms/shared/styles/color-palettes.css";
3
-
4
- @layer base {
5
- :root {
6
- /* Base colors - optimized for modern light mode */
7
- --background: 0 0% 100%;
8
- --foreground: 215 25% 27%;
9
- --card: 0 0% 100%;
10
- --card-foreground: 215 25% 27%;
11
- --popover: 0 0% 100%;
12
- --popover-foreground: 215 25% 27%;
13
- --primary: 220 70% 50%;
14
- --primary-foreground: 0 0% 100%;
15
- --secondary: 214 15% 91%;
16
- --secondary-foreground: 215 25% 27%;
17
- --muted: 214 15% 91%;
18
- --muted-foreground: 215 16% 47%;
19
- --accent: 214 15% 91%;
20
- --accent-foreground: 215 25% 27%;
21
- --destructive: 0 84% 60%;
22
- --destructive-foreground: 0 0% 100%;
23
- --border: 213 27% 84%;
24
- --input: 213 27% 84%;
25
- --ring: 220 70% 50%;
26
-
27
- /* Data categorization colors - distinct, accessible palette */
28
- --category-1: 220 70% 50%; /* Blue */
29
- --category-2: 160 60% 45%; /* Teal */
30
- --category-3: 30 80% 55%; /* Orange */
31
- --category-4: 280 65% 60%; /* Purple */
32
- --category-5: 340 75% 55%; /* Pink */
33
- --category-6: 120 50% 45%; /* Green */
34
- --category-7: 45 85% 60%; /* Yellow */
35
- --category-8: 15 75% 50%; /* Red */
36
-
37
- /* Status colors */
38
- --status-success: 142 76% 36%;
39
- --status-warning: 45 93% 47%;
40
- --status-error: 0 84% 60%;
41
- --status-info: 217 91% 60%;
42
- --status-neutral: 215 16% 47%;
43
-
44
- /* Status colors as single properties for easier use */
45
- --success: var(--status-success);
46
- --warning: var(--status-warning);
47
- --error: var(--status-error);
48
- --info: var(--status-info);
49
- --danger: var(--status-error); /* Alias for error */
50
-
51
- /* Additional semantic colors */
52
- --positive: 142 76% 36%; /* Same as success but semantic */
53
- --negative: 0 84% 60%; /* Same as error but semantic */
54
- --pending: 45 93% 47%; /* Same as warning for pending states */
55
- --disabled: 215 16% 47%; /* Muted gray for disabled states */
56
-
57
- /* Surface and overlay colors */
58
- --surface: 0 0% 100%; /* Elevated backgrounds */
59
- --overlay: 0 0% 0% / 0.5; /* Modal overlays */
60
- --backdrop: 0 0% 0% / 0.3; /* Backdrop dimming */
61
-
62
- /* Standard gray scale (Tailwind compatible) */
63
- --gray-50: 210 20% 98%;
64
- --gray-100: 214 15% 91%;
65
- --gray-200: 213 27% 84%;
66
- --gray-300: 215 25% 77%;
67
- --gray-400: 215 20% 65%;
68
- --gray-500: 215 16% 47%;
69
- --gray-600: 215 19% 35%;
70
- --gray-700: 215 25% 27%;
71
- --gray-800: 217 33% 17%;
72
- --gray-900: 222 47% 11%;
73
- --gray-950: 224 71% 4%;
74
-
75
- /* Extended grays for data interfaces (legacy/custom) */
76
- --gray-25: 210 20% 98%;
77
- --gray-75: 214 15% 91%;
78
- --gray-150: 213 27% 84%;
79
- --gray-250: 215 25% 77%;
80
- --gray-350: 215 20% 65%;
81
- --gray-450: 215 16% 47%;
82
- --gray-550: 215 19% 35%;
83
- --gray-650: 215 25% 27%;
84
- --gray-750: 217 33% 17%;
85
- --gray-850: 222 47% 11%;
86
- --gray-925: 224 71% 4%;
87
-
88
- /* Spacing system */
89
- --card-padding: 1.5rem;
90
- --card-gap: 1rem;
91
- --nested-offset: 0.75rem;
92
- --edge-xs: 0.5rem;
93
- --edge-sm: 0.75rem;
94
- --edge-md: 1rem;
95
- --edge-lg: 1.5rem;
96
- --edge-xl: 2rem;
97
-
98
- /* Enhanced design system spacing */
99
- --section-gap: 3rem;
100
- --component-gap: 1.5rem;
101
- --content-max-width: 80rem;
102
-
103
- /* Border radius */
104
- --radius: 0.5rem;
105
-
106
- /* Interactive state colors */
107
- --primary-hover: 222.2 47.4% 15%;
108
- --primary-active: 222.2 47.4% 8%;
109
- --primary-disabled: 215 16% 47%;
110
- --secondary-hover: 210 40% 92%;
111
- --secondary-active: 210 40% 88%;
112
- --destructive-hover: 0 84.2% 65%;
113
- --destructive-active: 0 84.2% 55%;
114
-
115
- /* Chart colors (legacy compatibility) */
116
- --chart-1: var(--category-1);
117
- --chart-2: var(--category-2);
118
- --chart-3: var(--category-3);
119
- --chart-4: var(--category-4);
120
- --chart-5: var(--category-5);
121
- }
122
-
123
- .dark {
124
- /* Base colors - much better background/card contrast */
125
- --background: 222 47% 2%;
126
- --foreground: 210 40% 98%;
127
- --card: 220 13% 15%;
128
- --card-foreground: 210 40% 98%;
129
- --popover: 220 13% 15%;
130
- --popover-foreground: 210 40% 98%;
131
- --primary: 220 91% 70%;
132
- --primary-foreground: 222 47% 2%;
133
- --secondary: 217 10% 18%;
134
- --secondary-foreground: 210 40% 88%;
135
- --muted: 217 10% 18%;
136
- --muted-foreground: 215 20% 65%;
137
- --accent: 217 10% 18%;
138
- --accent-foreground: 210 40% 88%;
139
- --destructive: 0 63% 65%;
140
- --destructive-foreground: 222 47% 2%;
141
- --border: 217 27% 20%;
142
- --input: 217 27% 18%;
143
- --ring: 220 91% 70%;
144
-
145
- /* Data categorization colors - refined for dark mode elegance */
146
- --category-1: 220 91% 70%; /* Vibrant blue */
147
- --category-2: 168 76% 64%; /* Refined teal */
148
- --category-3: 25 95% 68%; /* Balanced orange */
149
- --category-4: 280 65% 75%; /* Elegant purple */
150
- --category-5: 330 81% 72%; /* Sophisticated pink */
151
- --category-6: 142 69% 58%; /* Natural green */
152
- --category-7: 48 96% 68%; /* Warm yellow */
153
- --category-8: 0 72% 67%; /* Refined red */
154
-
155
- /* Status colors - better contrast and readability */
156
- --status-success: 142 69% 58%;
157
- --status-warning: 48 96% 68%;
158
- --status-error: 0 72% 67%;
159
- --status-info: 220 91% 70%;
160
- --status-neutral: 215 20% 65%;
161
-
162
- /* Additional semantic colors - dark mode */
163
- --positive: 142 69% 58%;
164
- --negative: 0 72% 67%;
165
- --pending: 48 96% 68%;
166
- --disabled: 215 15% 35%;
167
- --danger: var(--status-error);
168
-
169
- /* Surface and overlay colors - refined dark mode */
170
- --surface: 220 13% 15%;
171
- --overlay: 0 0% 0% / 0.75;
172
- --backdrop: 0 0% 0% / 0.6;
173
-
174
- /* Interactive state colors - dark mode */
175
- --primary-hover: 210 40% 94%;
176
- --primary-active: 210 40% 90%;
177
- --primary-disabled: 215 16% 35%;
178
- --secondary-hover: 217.2 32.6% 22%;
179
- --secondary-active: 217.2 32.6% 15%;
180
- --destructive-hover: 0 62.8% 35%;
181
- --destructive-active: 0 62.8% 25%;
182
-
183
- /* Standard gray scale - inverted for dark mode */
184
- --gray-50: 224 71% 4%;
185
- --gray-100: 222 47% 11%;
186
- --gray-200: 217 33% 17%;
187
- --gray-300: 215 25% 27%;
188
- --gray-400: 215 19% 35%;
189
- --gray-500: 215 16% 47%;
190
- --gray-600: 215 20% 65%;
191
- --gray-700: 215 25% 77%;
192
- --gray-800: 213 27% 84%;
193
- --gray-900: 214 15% 91%;
194
- --gray-950: 210 20% 98%;
195
-
196
- /* Extended grays - inverted for dark mode */
197
- --gray-25: 224 71% 4%;
198
- --gray-75: 222 47% 11%;
199
- --gray-150: 217 33% 17%;
200
- --gray-250: 215 25% 27%;
201
- --gray-350: 215 19% 35%;
202
- --gray-450: 215 16% 47%;
203
- --gray-550: 215 20% 65%;
204
- --gray-650: 215 25% 77%;
205
- --gray-750: 213 27% 84%;
206
- --gray-850: 214 15% 91%;
207
- --gray-925: 210 20% 98%;
208
-
209
- /* Chart colors - dark mode */
210
- --chart-1: var(--category-1);
211
- --chart-2: var(--category-2);
212
- --chart-3: var(--category-3);
213
- --chart-4: var(--category-4);
214
- --chart-5: var(--category-5);
215
- }
216
- }
217
-
218
- @layer base {
219
- * {
220
- border-color: hsl(var(--border));
221
- }
222
- body {
223
- background-color: hsl(var(--background));
224
- color: hsl(var(--foreground));
225
- margin: 0;
226
- font-feature-settings: "rlig" 1, "calt" 1;
227
- -webkit-font-smoothing: antialiased;
228
- -moz-osx-font-smoothing: grayscale;
229
- }
230
-
231
- /* Modern typography improvements */
232
- h1, h2, h3, h4, h5, h6 {
233
- letter-spacing: -0.025em;
234
- font-weight: 600;
235
- }
236
-
237
- /* Clean button defaults */
238
- button {
239
- font-weight: 500;
240
- }
241
- }
242
-
243
- @layer components {
244
- /* Enhanced design system layout utilities */
245
- .content-container {
246
- max-width: var(--content-max-width);
247
- margin-left: auto;
248
- margin-right: auto;
249
- padding-left: var(--edge-md);
250
- padding-right: var(--edge-md);
251
- }
252
-
253
- .section-spacing {
254
- margin-bottom: var(--section-gap);
255
- }
256
-
257
- .component-spacing {
258
- margin-bottom: var(--component-gap);
259
- }
260
-
261
- /* Enhanced card system */
262
- .card-container {
263
- background-color: hsl(var(--card));
264
- color: hsl(var(--card-foreground));
265
- border: 1px solid hsl(var(--border));
266
- border-radius: calc(var(--radius) * 1.5);
267
- box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px 0 rgb(0 0 0 / 0.06);
268
- padding: var(--card-padding);
269
- transition: box-shadow 0.2s ease-in-out, border-color 0.2s ease-in-out;
270
- }
271
-
272
- .card-container:hover {
273
- box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -1px rgb(0 0 0 / 0.06);
274
- }
275
-
276
- .card-nested {
277
- background-color: hsl(var(--gray-25));
278
- border: 1px solid hsl(var(--gray-150));
279
- border-radius: calc(var(--radius) * 1.25);
280
- padding: calc(var(--card-padding) - var(--nested-offset));
281
- margin: var(--nested-offset);
282
- }
283
-
284
- .card-flush {
285
- margin: calc(-1 * var(--card-padding));
286
- padding: var(--card-padding);
287
- border-left: 0;
288
- border-right: 0;
289
- border-radius: 0;
290
- }
291
-
292
- .card-flush:first-child {
293
- border-top: 0;
294
- border-top-left-radius: calc(var(--radius) * 1.5);
295
- border-top-right-radius: calc(var(--radius) * 1.5);
296
- }
297
-
298
- .card-flush:last-child {
299
- border-bottom: 0;
300
- border-bottom-left-radius: calc(var(--radius) * 1.5);
301
- border-bottom-right-radius: calc(var(--radius) * 1.5);
302
- }
303
-
304
- /* Category badges */
305
- .badge-category-1 {
306
- background-color: hsl(var(--category-1) / 0.1);
307
- color: hsl(var(--category-1));
308
- border-color: hsl(var(--category-1) / 0.2);
309
- }
310
- .badge-category-2 {
311
- background-color: hsl(var(--category-2) / 0.1);
312
- color: hsl(var(--category-2));
313
- border-color: hsl(var(--category-2) / 0.2);
314
- }
315
- .badge-category-3 {
316
- background-color: hsl(var(--category-3) / 0.1);
317
- color: hsl(var(--category-3));
318
- border-color: hsl(var(--category-3) / 0.2);
319
- }
320
- .badge-category-4 {
321
- background-color: hsl(var(--category-4) / 0.1);
322
- color: hsl(var(--category-4));
323
- border-color: hsl(var(--category-4) / 0.2);
324
- }
325
- .badge-category-5 {
326
- background-color: hsl(var(--category-5) / 0.1);
327
- color: hsl(var(--category-5));
328
- border-color: hsl(var(--category-5) / 0.2);
329
- }
330
- .badge-category-6 {
331
- background-color: hsl(var(--category-6) / 0.1);
332
- color: hsl(var(--category-6));
333
- border-color: hsl(var(--category-6) / 0.2);
334
- }
335
- .badge-category-7 {
336
- background-color: hsl(var(--category-7) / 0.1);
337
- color: hsl(var(--category-7));
338
- border-color: hsl(var(--category-7) / 0.2);
339
- }
340
- .badge-category-8 {
341
- background-color: hsl(var(--category-8) / 0.1);
342
- color: hsl(var(--category-8));
343
- border-color: hsl(var(--category-8) / 0.2);
344
- }
345
-
346
- /* Category cards */
347
- .card-category-1 {
348
- border-left-color: hsl(var(--category-1));
349
- background-color: hsl(var(--category-1) / 0.02);
350
- }
351
- .card-category-1:hover {
352
- background-color: hsl(var(--category-1) / 0.04);
353
- border-left-color: hsl(var(--category-1) / 0.8);
354
- }
355
- .card-category-2 {
356
- border-left-color: hsl(var(--category-2));
357
- background-color: hsl(var(--category-2) / 0.02);
358
- }
359
- .card-category-2:hover {
360
- background-color: hsl(var(--category-2) / 0.04);
361
- border-left-color: hsl(var(--category-2) / 0.8);
362
- }
363
- .card-category-3 {
364
- border-left-color: hsl(var(--category-3));
365
- background-color: hsl(var(--category-3) / 0.02);
366
- }
367
- .card-category-3:hover {
368
- background-color: hsl(var(--category-3) / 0.04);
369
- border-left-color: hsl(var(--category-3) / 0.8);
370
- }
371
- .card-category-4 {
372
- border-left-color: hsl(var(--category-4));
373
- background-color: hsl(var(--category-4) / 0.02);
374
- }
375
- .card-category-4:hover {
376
- background-color: hsl(var(--category-4) / 0.04);
377
- border-left-color: hsl(var(--category-4) / 0.8);
378
- }
379
- .card-category-5 {
380
- border-left-color: hsl(var(--category-5));
381
- background-color: hsl(var(--category-5) / 0.02);
382
- }
383
- .card-category-5:hover {
384
- background-color: hsl(var(--category-5) / 0.04);
385
- border-left-color: hsl(var(--category-5) / 0.8);
386
- }
387
- .card-category-6 {
388
- border-left-color: hsl(var(--category-6));
389
- background-color: hsl(var(--category-6) / 0.02);
390
- }
391
- .card-category-6:hover {
392
- background-color: hsl(var(--category-6) / 0.04);
393
- border-left-color: hsl(var(--category-6) / 0.8);
394
- }
395
- .card-category-7 {
396
- border-left-color: hsl(var(--category-7));
397
- background-color: hsl(var(--category-7) / 0.02);
398
- }
399
- .card-category-7:hover {
400
- background-color: hsl(var(--category-7) / 0.04);
401
- border-left-color: hsl(var(--category-7) / 0.8);
402
- }
403
- .card-category-8 {
404
- border-left-color: hsl(var(--category-8));
405
- background-color: hsl(var(--category-8) / 0.02);
406
- }
407
- .card-category-8:hover {
408
- background-color: hsl(var(--category-8) / 0.04);
409
- border-left-color: hsl(var(--category-8) / 0.8);
410
- }
411
-
412
- /* Category background colors */
413
- .bg-category-1 { background-color: hsl(var(--category-1)); }
414
- .bg-category-2 { background-color: hsl(var(--category-2)); }
415
- .bg-category-3 { background-color: hsl(var(--category-3)); }
416
- .bg-category-4 { background-color: hsl(var(--category-4)); }
417
- .bg-category-5 { background-color: hsl(var(--category-5)); }
418
- .bg-category-6 { background-color: hsl(var(--category-6)); }
419
- .bg-category-7 { background-color: hsl(var(--category-7)); }
420
- .bg-category-8 { background-color: hsl(var(--category-8)); }
421
-
422
- /* Category text colors */
423
- .text-category-1 { color: hsl(var(--category-1)); }
424
- .text-category-2 { color: hsl(var(--category-2)); }
425
- .text-category-3 { color: hsl(var(--category-3)); }
426
- .text-category-4 { color: hsl(var(--category-4)); }
427
- .text-category-5 { color: hsl(var(--category-5)); }
428
- .text-category-6 { color: hsl(var(--category-6)); }
429
- .text-category-7 { color: hsl(var(--category-7)); }
430
- .text-category-8 { color: hsl(var(--category-8)); }
431
-
432
- /* Category shadow colors */
433
- .shadow-category-1 { box-shadow: 0 4px 6px -1px hsl(var(--category-1) / 0.1), 0 2px 4px -1px hsl(var(--category-1) / 0.06); }
434
- .shadow-category-2 { box-shadow: 0 4px 6px -1px hsl(var(--category-2) / 0.1), 0 2px 4px -1px hsl(var(--category-2) / 0.06); }
435
- .shadow-category-3 { box-shadow: 0 4px 6px -1px hsl(var(--category-3) / 0.1), 0 2px 4px -1px hsl(var(--category-3) / 0.06); }
436
- .shadow-category-4 { box-shadow: 0 4px 6px -1px hsl(var(--category-4) / 0.1), 0 2px 4px -1px hsl(var(--category-4) / 0.06); }
437
- .shadow-category-5 { box-shadow: 0 4px 6px -1px hsl(var(--category-5) / 0.1), 0 2px 4px -1px hsl(var(--category-5) / 0.06); }
438
- .shadow-category-6 { box-shadow: 0 4px 6px -1px hsl(var(--category-6) / 0.1), 0 2px 4px -1px hsl(var(--category-6) / 0.06); }
439
- .shadow-category-7 { box-shadow: 0 4px 6px -1px hsl(var(--category-7) / 0.1), 0 2px 4px -1px hsl(var(--category-7) / 0.06); }
440
- .shadow-category-8 { box-shadow: 0 4px 6px -1px hsl(var(--category-8) / 0.1), 0 2px 4px -1px hsl(var(--category-8) / 0.06); }
441
-
442
- /* Status indicators */
443
- .status-success {
444
- background-color: hsl(var(--status-success) / 0.1);
445
- color: hsl(var(--status-success));
446
- border-color: hsl(var(--status-success) / 0.2);
447
- }
448
- .status-warning {
449
- background-color: hsl(var(--status-warning) / 0.1);
450
- color: hsl(var(--status-warning));
451
- border-color: hsl(var(--status-warning) / 0.2);
452
- }
453
- .status-error {
454
- background-color: hsl(var(--status-error) / 0.1);
455
- color: hsl(var(--status-error));
456
- border-color: hsl(var(--status-error) / 0.2);
457
- }
458
- .status-info {
459
- background-color: hsl(var(--status-info) / 0.1);
460
- color: hsl(var(--status-info));
461
- border-color: hsl(var(--status-info) / 0.2);
462
- }
463
- .status-neutral {
464
- background-color: hsl(var(--status-neutral) / 0.1);
465
- color: hsl(var(--status-neutral));
466
- border-color: hsl(var(--status-neutral) / 0.2);
467
- }
468
-
469
- /* Edge alignment helpers */
470
- .edge-align-start { margin-left: calc(-1 * var(--edge-md)); }
471
- .edge-align-end { margin-right: calc(-1 * var(--edge-md)); }
472
- .edge-align-both {
473
- margin-left: calc(-1 * var(--edge-md));
474
- margin-right: calc(-1 * var(--edge-md));
475
- }
476
-
477
- /* Enhanced typography system */
478
- .text-display-lg {
479
- font-size: 4rem;
480
- line-height: 4.5rem;
481
- letter-spacing: -0.05em;
482
- font-weight: 800;
483
- }
484
-
485
- .text-display-md {
486
- font-size: 3rem;
487
- line-height: 3.5rem;
488
- letter-spacing: -0.025em;
489
- font-weight: 700;
490
- }
491
-
492
- .text-display-sm {
493
- font-size: 2.25rem;
494
- line-height: 2.5rem;
495
- letter-spacing: -0.025em;
496
- font-weight: 700;
497
- }
498
-
499
- .text-heading-xl {
500
- font-size: 1.875rem;
501
- line-height: 2.25rem;
502
- letter-spacing: -0.025em;
503
- font-weight: 700;
504
- }
505
-
506
- .text-heading-lg {
507
- font-size: 1.5rem;
508
- line-height: 2rem;
509
- letter-spacing: -0.025em;
510
- font-weight: 600;
511
- }
512
-
513
- .text-heading-md {
514
- font-size: 1.25rem;
515
- line-height: 1.75rem;
516
- letter-spacing: -0.025em;
517
- font-weight: 600;
518
- }
519
-
520
- .text-heading-sm {
521
- font-size: 1.125rem;
522
- line-height: 1.75rem;
523
- letter-spacing: -0.025em;
524
- font-weight: 600;
525
- }
526
-
527
- .text-body-lg {
528
- font-size: 1.125rem;
529
- line-height: 1.75rem;
530
- letter-spacing: -0.025em;
531
- }
532
-
533
- .text-body-md {
534
- font-size: 1rem;
535
- line-height: 1.5rem;
536
- letter-spacing: 0;
537
- }
538
-
539
- .text-body-sm {
540
- font-size: 0.875rem;
541
- line-height: 1.25rem;
542
- letter-spacing: 0;
543
- }
544
-
545
- .text-caption {
546
- font-size: 0.75rem;
547
- line-height: 1rem;
548
- letter-spacing: 0.025em;
549
- color: hsl(var(--muted-foreground));
550
- }
551
-
552
- .text-overline {
553
- font-size: 0.75rem;
554
- line-height: 1rem;
555
- letter-spacing: 0.1em;
556
- font-weight: 500;
557
- text-transform: uppercase;
558
- color: hsl(var(--muted-foreground));
559
- }
560
-
561
- /* Data typography (legacy compatibility) */
562
- .text-data-label {
563
- font-size: 0.875rem;
564
- line-height: 1.25rem;
565
- letter-spacing: 0.025em;
566
- font-weight: 500;
567
- color: hsl(var(--muted-foreground));
568
- text-transform: uppercase;
569
- letter-spacing: 0.05em;
570
- }
571
- .text-data-value {
572
- font-size: 1rem;
573
- line-height: 1.5rem;
574
- font-weight: 600;
575
- }
576
- .text-data-meta {
577
- font-size: 0.75rem;
578
- line-height: 1rem;
579
- letter-spacing: 0.025em;
580
- color: hsl(var(--muted-foreground));
581
- }
582
-
583
- /* Enhanced UI component utilities */
584
- .button-primary {
585
- background-color: hsl(var(--primary));
586
- color: hsl(var(--primary-foreground));
587
- border: 1px solid hsl(var(--primary));
588
- padding: 0.5rem 1rem;
589
- border-radius: var(--radius);
590
- font-weight: 500;
591
- transition: all 0.2s ease-in-out;
592
- cursor: pointer;
593
- display: inline-flex;
594
- align-items: center;
595
- justify-content: center;
596
- gap: 0.5rem;
597
- }
598
-
599
- .button-primary:hover {
600
- background-color: hsl(var(--primary-hover));
601
- border-color: hsl(var(--primary-hover));
602
- transform: translateY(-1px);
603
- box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
604
- }
605
-
606
- .button-secondary {
607
- background-color: hsl(var(--secondary));
608
- color: hsl(var(--secondary-foreground));
609
- border: 1px solid hsl(var(--border));
610
- padding: 0.5rem 1rem;
611
- border-radius: var(--radius);
612
- font-weight: 500;
613
- transition: all 0.2s ease-in-out;
614
- cursor: pointer;
615
- display: inline-flex;
616
- align-items: center;
617
- justify-content: center;
618
- gap: 0.5rem;
619
- }
620
-
621
- .button-secondary:hover {
622
- background-color: hsl(var(--secondary-hover));
623
- transform: translateY(-1px);
624
- box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
625
- }
626
-
627
- .input-field {
628
- border: 1px solid hsl(var(--border));
629
- background-color: hsl(var(--background));
630
- color: hsl(var(--foreground));
631
- padding: 0.75rem;
632
- border-radius: var(--radius);
633
- transition: all 0.2s ease-in-out;
634
- font-size: 0.875rem;
635
- }
636
-
637
- .input-field:focus {
638
- outline: none;
639
- border-color: hsl(var(--ring));
640
- box-shadow: 0 0 0 2px hsl(var(--ring) / 0.2);
641
- }
642
-
643
- .badge-default {
644
- display: inline-flex;
645
- align-items: center;
646
- padding: 0.25rem 0.75rem;
647
- border-radius: calc(var(--radius) * 0.75);
648
- font-size: 0.75rem;
649
- font-weight: 500;
650
- line-height: 1;
651
- background-color: hsl(var(--primary));
652
- color: hsl(var(--primary-foreground));
653
- }
654
-
655
- .badge-secondary {
656
- background-color: hsl(var(--secondary));
657
- color: hsl(var(--secondary-foreground));
658
- }
659
-
660
- .badge-outline {
661
- background-color: transparent;
662
- color: hsl(var(--foreground));
663
- border: 1px solid hsl(var(--border));
664
- }
665
-
666
- /* Grid and layout utilities */
667
- .grid-showcase {
668
- display: grid;
669
- gap: var(--component-gap);
670
- }
671
-
672
- .grid-2-cols {
673
- grid-template-columns: repeat(2, 1fr);
674
- }
675
-
676
- .grid-3-cols {
677
- grid-template-columns: repeat(3, 1fr);
678
- }
679
-
680
- .grid-4-cols {
681
- grid-template-columns: repeat(4, 1fr);
682
- }
683
-
684
- .grid-6-cols {
685
- grid-template-columns: repeat(6, 1fr);
686
- }
687
-
688
- @media (max-width: 768px) {
689
- .grid-2-cols,
690
- .grid-3-cols,
691
- .grid-4-cols,
692
- .grid-6-cols {
693
- grid-template-columns: 1fr;
694
- }
695
- }
696
-
697
- @media (min-width: 768px) and (max-width: 1024px) {
698
- .grid-3-cols,
699
- .grid-4-cols,
700
- .grid-6-cols {
701
- grid-template-columns: repeat(2, 1fr);
702
- }
703
- }
704
- }
package/src/index.ts DELETED
@@ -1,13 +0,0 @@
1
- // Frontend Template - Main entry point for library distribution
2
- import './atoms/shared/styles/color-palettes.css';
3
- import './index.css';
4
-
5
- export * from './atoms';
6
- export * from './molecules';
7
- export * from './features';
8
- export * from './templates';
9
- export * from './organisms';
10
-
11
- // Re-export commonly used utilities
12
- export { cn } from './atoms/utils/utils';
13
- export { apiClient } from './atoms/services/api/client';