@nextworks/blocks-core 0.1.0-alpha.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 (83) hide show
  1. package/README.md +29 -0
  2. package/dist/components/AppProviders.server.d.ts +4 -0
  3. package/dist/components/AppProviders.server.d.ts.map +1 -0
  4. package/dist/components/AppProviders.server.js +60 -0
  5. package/dist/components/enhanced-theme-provider.d.ts +25 -0
  6. package/dist/components/enhanced-theme-provider.d.ts.map +1 -0
  7. package/dist/components/enhanced-theme-provider.js +105 -0
  8. package/dist/components/theme-provider.d.ts +12 -0
  9. package/dist/components/theme-provider.d.ts.map +1 -0
  10. package/dist/components/theme-provider.js +6 -0
  11. package/dist/index.d.ts +26 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +30 -0
  14. package/dist/lib/themes.d.ts +32 -0
  15. package/dist/lib/themes.d.ts.map +1 -0
  16. package/dist/lib/themes.js +396 -0
  17. package/dist/lib/utils.d.ts +2 -0
  18. package/dist/lib/utils.d.ts.map +1 -0
  19. package/dist/lib/utils.js +5 -0
  20. package/dist/server.d.ts +3 -0
  21. package/dist/server.d.ts.map +1 -0
  22. package/dist/server.js +3 -0
  23. package/dist/ui/alert-dialog.d.ts +15 -0
  24. package/dist/ui/alert-dialog.d.ts.map +1 -0
  25. package/dist/ui/alert-dialog.js +59 -0
  26. package/dist/ui/brand-node.d.ts +43 -0
  27. package/dist/ui/brand-node.d.ts.map +1 -0
  28. package/dist/ui/brand-node.js +37 -0
  29. package/dist/ui/button.d.ts +16 -0
  30. package/dist/ui/button.d.ts.map +1 -0
  31. package/dist/ui/button.js +71 -0
  32. package/dist/ui/card.d.ts +10 -0
  33. package/dist/ui/card.d.ts.map +1 -0
  34. package/dist/ui/card.js +46 -0
  35. package/dist/ui/checkbox.d.ts +5 -0
  36. package/dist/ui/checkbox.d.ts.map +1 -0
  37. package/dist/ui/checkbox.js +24 -0
  38. package/dist/ui/cta-button.d.ts +40 -0
  39. package/dist/ui/cta-button.d.ts.map +1 -0
  40. package/dist/ui/cta-button.js +47 -0
  41. package/dist/ui/dropdown-menu.d.ts +28 -0
  42. package/dist/ui/dropdown-menu.d.ts.map +1 -0
  43. package/dist/ui/dropdown-menu.js +72 -0
  44. package/dist/ui/feature-card.d.ts +32 -0
  45. package/dist/ui/feature-card.d.ts.map +1 -0
  46. package/dist/ui/feature-card.js +14 -0
  47. package/dist/ui/input.d.ts +5 -0
  48. package/dist/ui/input.d.ts.map +1 -0
  49. package/dist/ui/input.js +24 -0
  50. package/dist/ui/label.d.ts +6 -0
  51. package/dist/ui/label.d.ts.map +1 -0
  52. package/dist/ui/label.js +25 -0
  53. package/dist/ui/pricing-card.d.ts +50 -0
  54. package/dist/ui/pricing-card.d.ts.map +1 -0
  55. package/dist/ui/pricing-card.js +22 -0
  56. package/dist/ui/select.d.ts +5 -0
  57. package/dist/ui/select.d.ts.map +1 -0
  58. package/dist/ui/select.js +20 -0
  59. package/dist/ui/skeleton.d.ts +2 -0
  60. package/dist/ui/skeleton.d.ts.map +1 -0
  61. package/dist/ui/skeleton.js +17 -0
  62. package/dist/ui/switch.d.ts +9 -0
  63. package/dist/ui/switch.d.ts.map +1 -0
  64. package/dist/ui/switch.js +24 -0
  65. package/dist/ui/table.d.ts +9 -0
  66. package/dist/ui/table.d.ts.map +1 -0
  67. package/dist/ui/table.js +39 -0
  68. package/dist/ui/testimonial-card.d.ts +35 -0
  69. package/dist/ui/testimonial-card.d.ts.map +1 -0
  70. package/dist/ui/testimonial-card.js +36 -0
  71. package/dist/ui/textarea.d.ts +5 -0
  72. package/dist/ui/textarea.d.ts.map +1 -0
  73. package/dist/ui/textarea.js +24 -0
  74. package/dist/ui/theme-selector.d.ts +9 -0
  75. package/dist/ui/theme-selector.d.ts.map +1 -0
  76. package/dist/ui/theme-selector.js +56 -0
  77. package/dist/ui/theme-toggle.d.ts +15 -0
  78. package/dist/ui/theme-toggle.d.ts.map +1 -0
  79. package/dist/ui/theme-toggle.js +19 -0
  80. package/dist/ui/toaster.d.ts +2 -0
  81. package/dist/ui/toaster.d.ts.map +1 -0
  82. package/dist/ui/toaster.js +6 -0
  83. package/package.json +43 -0
@@ -0,0 +1,396 @@
1
+ export const themes = {
2
+ default: {
3
+ name: "Default",
4
+ colors: {
5
+ primary: "oklch(0.205 0 0)",
6
+ primaryForeground: "oklch(0.985 0 0)",
7
+ secondary: "oklch(0.97 0 0)",
8
+ secondaryForeground: "oklch(0.205 0 0)",
9
+ accent: "oklch(0.97 0 0)",
10
+ accentForeground: "oklch(0.205 0 0)",
11
+ background: "oklch(1 0 0)",
12
+ foreground: "oklch(0.145 0 0)",
13
+ card: "oklch(1 0 0)",
14
+ cardForeground: "oklch(0.145 0 0)",
15
+ popover: "oklch(1 0 0)",
16
+ popoverForeground: "oklch(0.145 0 0)",
17
+ muted: "oklch(0.97 0 0)",
18
+ mutedForeground: "oklch(0.556 0 0)",
19
+ border: "oklch(0.922 0 0)",
20
+ input: "oklch(0.922 0 0)",
21
+ ring: "oklch(0.708 0 0)",
22
+ destructive: "oklch(0.577 0.245 27.325)",
23
+ chart1: "oklch(0.646 0.222 41.116)",
24
+ chart2: "oklch(0.6 0.118 184.704)",
25
+ chart3: "oklch(0.398 0.07 227.392)",
26
+ chart4: "oklch(0.828 0.189 84.429)",
27
+ chart5: "oklch(0.769 0.188 70.08)",
28
+ },
29
+ },
30
+ monochrome: {
31
+ name: "Monochrome",
32
+ colors: {
33
+ primary: "oklch(0.2 0 0)",
34
+ primaryForeground: "oklch(0.98 0 0)",
35
+ secondary: "oklch(0.95 0 0)",
36
+ secondaryForeground: "oklch(0.2 0 0)",
37
+ accent: "oklch(0.9 0 0)",
38
+ accentForeground: "oklch(0.2 0 0)",
39
+ background: "oklch(1 0 0)",
40
+ foreground: "oklch(0.1 0 0)",
41
+ card: "oklch(0.99 0 0)",
42
+ cardForeground: "oklch(0.1 0 0)",
43
+ popover: "oklch(0.99 0 0)",
44
+ popoverForeground: "oklch(0.1 0 0)",
45
+ muted: "oklch(0.95 0 0)",
46
+ mutedForeground: "oklch(0.5 0 0)",
47
+ border: "oklch(0.9 0 0)",
48
+ input: "oklch(0.9 0 0)",
49
+ ring: "oklch(0.7 0 0)",
50
+ destructive: "oklch(0.4 0 0)",
51
+ chart1: "oklch(0.2 0 0)",
52
+ chart2: "oklch(0.4 0 0)",
53
+ chart3: "oklch(0.6 0 0)",
54
+ chart4: "oklch(0.8 0 0)",
55
+ chart5: "oklch(0.3 0 0)",
56
+ },
57
+ },
58
+ blue: {
59
+ name: "Blue",
60
+ colors: {
61
+ primary: "oklch(0.5 0.2 240)",
62
+ primaryForeground: "oklch(0.98 0 0)",
63
+ secondary: "oklch(0.95 0.05 240)",
64
+ secondaryForeground: "oklch(0.2 0.1 240)",
65
+ accent: "oklch(0.9 0.1 240)",
66
+ accentForeground: "oklch(0.2 0.1 240)",
67
+ background: "oklch(1 0 0)",
68
+ foreground: "oklch(0.1 0 0)",
69
+ card: "oklch(0.99 0 0)",
70
+ cardForeground: "oklch(0.1 0 0)",
71
+ popover: "oklch(0.99 0 0)",
72
+ popoverForeground: "oklch(0.1 0 0)",
73
+ muted: "oklch(0.95 0.02 240)",
74
+ mutedForeground: "oklch(0.5 0.05 240)",
75
+ border: "oklch(0.9 0.05 240)",
76
+ input: "oklch(0.9 0.05 240)",
77
+ ring: "oklch(0.5 0.2 240)",
78
+ destructive: "oklch(0.6 0.2 0)",
79
+ chart1: "oklch(0.5 0.2 240)",
80
+ chart2: "oklch(0.6 0.15 200)",
81
+ chart3: "oklch(0.7 0.1 180)",
82
+ chart4: "oklch(0.4 0.2 280)",
83
+ chart5: "oklch(0.8 0.1 220)",
84
+ },
85
+ },
86
+ green: {
87
+ name: "Green",
88
+ colors: {
89
+ primary: "oklch(0.5 0.2 140)",
90
+ primaryForeground: "oklch(0.98 0 0)",
91
+ secondary: "oklch(0.95 0.05 140)",
92
+ secondaryForeground: "oklch(0.2 0.1 140)",
93
+ accent: "oklch(0.9 0.1 140)",
94
+ accentForeground: "oklch(0.2 0.1 140)",
95
+ background: "oklch(1 0 0)",
96
+ foreground: "oklch(0.1 0 0)",
97
+ card: "oklch(0.99 0 0)",
98
+ cardForeground: "oklch(0.1 0 0)",
99
+ popover: "oklch(0.99 0 0)",
100
+ popoverForeground: "oklch(0.1 0 0)",
101
+ muted: "oklch(0.95 0.02 140)",
102
+ mutedForeground: "oklch(0.5 0.05 140)",
103
+ border: "oklch(0.9 0.05 140)",
104
+ input: "oklch(0.9 0.05 140)",
105
+ ring: "oklch(0.5 0.2 140)",
106
+ destructive: "oklch(0.6 0.2 0)",
107
+ chart1: "oklch(0.5 0.2 140)",
108
+ chart2: "oklch(0.6 0.15 120)",
109
+ chart3: "oklch(0.7 0.1 100)",
110
+ chart4: "oklch(0.4 0.2 160)",
111
+ chart5: "oklch(0.8 0.1 130)",
112
+ },
113
+ },
114
+ purple: {
115
+ name: "Purple",
116
+ colors: {
117
+ primary: "oklch(0.5 0.2 300)",
118
+ primaryForeground: "oklch(0.98 0 0)",
119
+ secondary: "oklch(0.95 0.05 300)",
120
+ secondaryForeground: "oklch(0.2 0.1 300)",
121
+ accent: "oklch(0.9 0.1 300)",
122
+ accentForeground: "oklch(0.2 0.1 300)",
123
+ background: "oklch(1 0 0)",
124
+ foreground: "oklch(0.1 0 0)",
125
+ card: "oklch(0.99 0 0)",
126
+ cardForeground: "oklch(0.1 0 0)",
127
+ popover: "oklch(0.99 0 0)",
128
+ popoverForeground: "oklch(0.1 0 0)",
129
+ muted: "oklch(0.95 0.02 300)",
130
+ mutedForeground: "oklch(0.5 0.05 300)",
131
+ border: "oklch(0.9 0.05 300)",
132
+ input: "oklch(0.9 0.05 300)",
133
+ ring: "oklch(0.5 0.2 300)",
134
+ destructive: "oklch(0.6 0.2 0)",
135
+ chart1: "oklch(0.5 0.2 300)",
136
+ chart2: "oklch(0.6 0.15 280)",
137
+ chart3: "oklch(0.7 0.1 260)",
138
+ chart4: "oklch(0.4 0.2 320)",
139
+ chart5: "oklch(0.8 0.1 290)",
140
+ },
141
+ },
142
+ orange: {
143
+ name: "Orange",
144
+ colors: {
145
+ primary: "oklch(0.6 0.2 40)",
146
+ primaryForeground: "oklch(0.98 0 0)",
147
+ secondary: "oklch(0.95 0.05 40)",
148
+ secondaryForeground: "oklch(0.2 0.1 40)",
149
+ accent: "oklch(0.9 0.1 40)",
150
+ accentForeground: "oklch(0.2 0.1 40)",
151
+ background: "oklch(1 0 0)",
152
+ foreground: "oklch(0.1 0 0)",
153
+ card: "oklch(0.99 0 0)",
154
+ cardForeground: "oklch(0.1 0 0)",
155
+ popover: "oklch(0.99 0 0)",
156
+ popoverForeground: "oklch(0.1 0 0)",
157
+ muted: "oklch(0.95 0.02 40)",
158
+ mutedForeground: "oklch(0.5 0.05 40)",
159
+ border: "oklch(0.9 0.05 40)",
160
+ input: "oklch(0.9 0.05 40)",
161
+ ring: "oklch(0.6 0.2 40)",
162
+ destructive: "oklch(0.6 0.2 0)",
163
+ chart1: "oklch(0.6 0.2 40)",
164
+ chart2: "oklch(0.7 0.15 20)",
165
+ chart3: "oklch(0.8 0.1 0)",
166
+ chart4: "oklch(0.5 0.2 60)",
167
+ chart5: "oklch(0.9 0.1 30)",
168
+ },
169
+ },
170
+ custom: {
171
+ name: "Custom",
172
+ colors: {
173
+ primary: "oklch(0.205 0 0)",
174
+ primaryForeground: "oklch(0.985 0 0)",
175
+ secondary: "oklch(0.97 0 0)",
176
+ secondaryForeground: "oklch(0.205 0 0)",
177
+ accent: "oklch(0.97 0 0)",
178
+ accentForeground: "oklch(0.205 0 0)",
179
+ background: "oklch(1 0 0)",
180
+ foreground: "oklch(0.145 0 0)",
181
+ card: "oklch(1 0 0)",
182
+ cardForeground: "oklch(0.145 0 0)",
183
+ popover: "oklch(1 0 0)",
184
+ popoverForeground: "oklch(0.145 0 0)",
185
+ muted: "oklch(0.97 0 0)",
186
+ mutedForeground: "oklch(0.556 0 0)",
187
+ border: "oklch(0.922 0 0)",
188
+ input: "oklch(0.922 0 0)",
189
+ ring: "oklch(0.708 0 0)",
190
+ destructive: "oklch(0.577 0.245 27.325)",
191
+ chart1: "oklch(0.646 0.222 41.116)",
192
+ chart2: "oklch(0.6 0.118 184.704)",
193
+ chart3: "oklch(0.398 0.07 227.392)",
194
+ chart4: "oklch(0.828 0.189 84.429)",
195
+ chart5: "oklch(0.769 0.188 70.08)",
196
+ },
197
+ },
198
+ };
199
+ export const darkThemes = {
200
+ default: {
201
+ name: "Default Dark",
202
+ colors: {
203
+ primary: "oklch(0.922 0 0)",
204
+ primaryForeground: "oklch(0.205 0 0)",
205
+ secondary: "oklch(0.269 0 0)",
206
+ secondaryForeground: "oklch(0.985 0 0)",
207
+ accent: "oklch(0.269 0 0)",
208
+ accentForeground: "oklch(0.985 0 0)",
209
+ background: "oklch(0.145 0 0)",
210
+ foreground: "oklch(0.985 0 0)",
211
+ card: "oklch(0.205 0 0)",
212
+ cardForeground: "oklch(0.985 0 0)",
213
+ popover: "oklch(0.205 0 0)",
214
+ popoverForeground: "oklch(0.985 0 0)",
215
+ muted: "oklch(0.269 0 0)",
216
+ mutedForeground: "oklch(0.708 0 0)",
217
+ border: "oklch(1 0 0 / 10%)",
218
+ input: "oklch(1 0 0 / 15%)",
219
+ ring: "oklch(0.556 0 0)",
220
+ destructive: "oklch(0.704 0.191 22.216)",
221
+ chart1: "oklch(0.488 0.243 264.376)",
222
+ chart2: "oklch(0.696 0.17 162.48)",
223
+ chart3: "oklch(0.769 0.188 70.08)",
224
+ chart4: "oklch(0.627 0.265 303.9)",
225
+ chart5: "oklch(0.645 0.246 16.439)",
226
+ },
227
+ },
228
+ monochrome: {
229
+ name: "Monochrome Dark",
230
+ colors: {
231
+ primary: "oklch(0.8 0 0)",
232
+ primaryForeground: "oklch(0.2 0 0)",
233
+ secondary: "oklch(0.3 0 0)",
234
+ secondaryForeground: "oklch(0.9 0 0)",
235
+ accent: "oklch(0.3 0 0)",
236
+ accentForeground: "oklch(0.9 0 0)",
237
+ background: "oklch(0.1 0 0)",
238
+ foreground: "oklch(0.9 0 0)",
239
+ card: "oklch(0.15 0 0)",
240
+ cardForeground: "oklch(0.9 0 0)",
241
+ popover: "oklch(0.15 0 0)",
242
+ popoverForeground: "oklch(0.9 0 0)",
243
+ muted: "oklch(0.3 0 0)",
244
+ mutedForeground: "oklch(0.6 0 0)",
245
+ border: "oklch(0.2 0 0)",
246
+ input: "oklch(0.2 0 0)",
247
+ ring: "oklch(0.5 0 0)",
248
+ destructive: "oklch(0.6 0 0)",
249
+ chart1: "oklch(0.8 0 0)",
250
+ chart2: "oklch(0.6 0 0)",
251
+ chart3: "oklch(0.4 0 0)",
252
+ chart4: "oklch(0.7 0 0)",
253
+ chart5: "oklch(0.5 0 0)",
254
+ },
255
+ },
256
+ blue: {
257
+ name: "Blue Dark",
258
+ colors: {
259
+ primary: "oklch(0.7 0.2 240)",
260
+ primaryForeground: "oklch(0.1 0 0)",
261
+ secondary: "oklch(0.3 0.1 240)",
262
+ secondaryForeground: "oklch(0.9 0 0)",
263
+ accent: "oklch(0.3 0.1 240)",
264
+ accentForeground: "oklch(0.9 0 0)",
265
+ background: "oklch(0.1 0 0)",
266
+ foreground: "oklch(0.9 0 0)",
267
+ card: "oklch(0.15 0.05 240)",
268
+ cardForeground: "oklch(0.9 0 0)",
269
+ popover: "oklch(0.15 0.05 240)",
270
+ popoverForeground: "oklch(0.9 0 0)",
271
+ muted: "oklch(0.3 0.05 240)",
272
+ mutedForeground: "oklch(0.6 0.05 240)",
273
+ border: "oklch(0.2 0.1 240)",
274
+ input: "oklch(0.2 0.1 240)",
275
+ ring: "oklch(0.7 0.2 240)",
276
+ destructive: "oklch(0.6 0.2 0)",
277
+ chart1: "oklch(0.7 0.2 240)",
278
+ chart2: "oklch(0.6 0.15 200)",
279
+ chart3: "oklch(0.5 0.1 180)",
280
+ chart4: "oklch(0.8 0.2 280)",
281
+ chart5: "oklch(0.4 0.1 220)",
282
+ },
283
+ },
284
+ green: {
285
+ name: "Green Dark",
286
+ colors: {
287
+ primary: "oklch(0.7 0.2 140)",
288
+ primaryForeground: "oklch(0.1 0 0)",
289
+ secondary: "oklch(0.3 0.1 140)",
290
+ secondaryForeground: "oklch(0.9 0 0)",
291
+ accent: "oklch(0.3 0.1 140)",
292
+ accentForeground: "oklch(0.9 0 0)",
293
+ background: "oklch(0.1 0 0)",
294
+ foreground: "oklch(0.9 0 0)",
295
+ card: "oklch(0.15 0.05 140)",
296
+ cardForeground: "oklch(0.9 0 0)",
297
+ popover: "oklch(0.15 0.05 140)",
298
+ popoverForeground: "oklch(0.9 0 0)",
299
+ muted: "oklch(0.3 0.05 140)",
300
+ mutedForeground: "oklch(0.6 0.05 140)",
301
+ border: "oklch(0.2 0.1 140)",
302
+ input: "oklch(0.2 0.1 140)",
303
+ ring: "oklch(0.7 0.2 140)",
304
+ destructive: "oklch(0.6 0.2 0)",
305
+ chart1: "oklch(0.7 0.2 140)",
306
+ chart2: "oklch(0.6 0.15 120)",
307
+ chart3: "oklch(0.5 0.1 100)",
308
+ chart4: "oklch(0.8 0.2 160)",
309
+ chart5: "oklch(0.4 0.1 130)",
310
+ },
311
+ },
312
+ purple: {
313
+ name: "Purple Dark",
314
+ colors: {
315
+ primary: "oklch(0.7 0.2 300)",
316
+ primaryForeground: "oklch(0.1 0 0)",
317
+ secondary: "oklch(0.3 0.1 300)",
318
+ secondaryForeground: "oklch(0.9 0 0)",
319
+ accent: "oklch(0.3 0.1 300)",
320
+ accentForeground: "oklch(0.9 0 0)",
321
+ background: "oklch(0.1 0 0)",
322
+ foreground: "oklch(0.9 0 0)",
323
+ card: "oklch(0.15 0.05 300)",
324
+ cardForeground: "oklch(0.9 0 0)",
325
+ popover: "oklch(0.15 0.05 300)",
326
+ popoverForeground: "oklch(0.9 0 0)",
327
+ muted: "oklch(0.3 0.05 300)",
328
+ mutedForeground: "oklch(0.6 0.05 300)",
329
+ border: "oklch(0.2 0.1 300)",
330
+ input: "oklch(0.2 0.1 300)",
331
+ ring: "oklch(0.7 0.2 300)",
332
+ destructive: "oklch(0.6 0.2 0)",
333
+ chart1: "oklch(0.7 0.2 300)",
334
+ chart2: "oklch(0.6 0.15 280)",
335
+ chart3: "oklch(0.5 0.1 260)",
336
+ chart4: "oklch(0.8 0.2 320)",
337
+ chart5: "oklch(0.4 0.1 290)",
338
+ },
339
+ },
340
+ orange: {
341
+ name: "Orange Dark",
342
+ colors: {
343
+ primary: "oklch(0.8 0.2 40)",
344
+ primaryForeground: "oklch(0.1 0 0)",
345
+ secondary: "oklch(0.3 0.1 40)",
346
+ secondaryForeground: "oklch(0.9 0 0)",
347
+ accent: "oklch(0.3 0.1 40)",
348
+ accentForeground: "oklch(0.9 0 0)",
349
+ background: "oklch(0.1 0 0)",
350
+ foreground: "oklch(0.9 0 0)",
351
+ card: "oklch(0.15 0.05 40)",
352
+ cardForeground: "oklch(0.9 0 0)",
353
+ popover: "oklch(0.15 0.05 40)",
354
+ popoverForeground: "oklch(0.9 0 0)",
355
+ muted: "oklch(0.3 0.05 40)",
356
+ mutedForeground: "oklch(0.6 0.05 40)",
357
+ border: "oklch(0.2 0.1 40)",
358
+ input: "oklch(0.2 0.1 40)",
359
+ ring: "oklch(0.8 0.2 40)",
360
+ destructive: "oklch(0.6 0.2 0)",
361
+ chart1: "oklch(0.8 0.2 40)",
362
+ chart2: "oklch(0.7 0.15 20)",
363
+ chart3: "oklch(0.6 0.1 0)",
364
+ chart4: "oklch(0.9 0.2 60)",
365
+ chart5: "oklch(0.5 0.1 30)",
366
+ },
367
+ },
368
+ custom: {
369
+ name: "Custom Dark",
370
+ colors: {
371
+ primary: "oklch(0.922 0 0)",
372
+ primaryForeground: "oklch(0.205 0 0)",
373
+ secondary: "oklch(0.269 0 0)",
374
+ secondaryForeground: "oklch(0.985 0 0)",
375
+ accent: "oklch(0.269 0 0)",
376
+ accentForeground: "oklch(0.985 0 0)",
377
+ background: "oklch(0.145 0 0)",
378
+ foreground: "oklch(0.985 0 0)",
379
+ card: "oklch(0.205 0 0)",
380
+ cardForeground: "oklch(0.985 0 0)",
381
+ popover: "oklch(0.205 0 0)",
382
+ popoverForeground: "oklch(0.985 0 0)",
383
+ muted: "oklch(0.269 0 0)",
384
+ mutedForeground: "oklch(0.708 0 0)",
385
+ border: "oklch(1 0 0 / 10%)",
386
+ input: "oklch(1 0 0 / 15%)",
387
+ ring: "oklch(0.556 0 0)",
388
+ destructive: "oklch(0.704 0.191 22.216)",
389
+ chart1: "oklch(0.488 0.243 264.376)",
390
+ chart2: "oklch(0.696 0.17 162.48)",
391
+ chart3: "oklch(0.769 0.188 70.08)",
392
+ chart4: "oklch(0.627 0.265 303.9)",
393
+ chart5: "oklch(0.645 0.246 16.439)",
394
+ },
395
+ },
396
+ };
@@ -0,0 +1,2 @@
1
+ export declare function cn(...inputs: any[]): string;
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAGA,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,UAElC"}
@@ -0,0 +1,5 @@
1
+ import { clsx } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+ export function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
@@ -0,0 +1,3 @@
1
+
2
+ // Auto-generated by scripts/postbuild.js
3
+ export * from "./components/AppProviders.server";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kCAAkC,CAAC"}
package/dist/server.js ADDED
@@ -0,0 +1,3 @@
1
+ // Server-only exports for @nextworks/blocks-core
2
+ // Use this entry for components that must only run on the server.
3
+ export { default as AppProviders } from "./components/AppProviders.server";
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
3
+ declare const AlertDialog: React.FC<AlertDialogPrimitive.AlertDialogProps>;
4
+ declare const AlertDialogTrigger: React.ForwardRefExoticComponent<AlertDialogPrimitive.AlertDialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
5
+ declare const AlertDialogPortal: React.FC<AlertDialogPrimitive.AlertDialogPortalProps>;
6
+ declare const AlertDialogOverlay: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
+ declare const AlertDialogContent: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
+ declare function AlertDialogHeader({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
9
+ declare function AlertDialogFooter({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
10
+ declare const AlertDialogTitle: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
11
+ declare const AlertDialogDescription: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
12
+ declare const AlertDialogAction: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogActionProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
13
+ declare const AlertDialogCancel: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogCancelProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
14
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, };
15
+ //# sourceMappingURL=alert-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog.d.ts","sourceRoot":"","sources":["../../src/ui/alert-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAC;AAGrE,QAAA,MAAM,WAAW,iDAA4B,CAAC;AAC9C,QAAA,MAAM,kBAAkB,wHAA+B,CAAC;AACxD,QAAA,MAAM,iBAAiB,uDAA8B,CAAC;AACtD,QAAA,MAAM,kBAAkB,wKAStB,CAAC;AAGH,QAAA,MAAM,kBAAkB,wKAetB,CAAC;AAGH,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,2CAOtC;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,2CAUtC;AAED,QAAA,MAAM,gBAAgB,8KASpB,CAAC;AAGH,QAAA,MAAM,sBAAsB,wLAS1B,CAAC;AAIH,QAAA,MAAM,iBAAiB,6KAYrB,CAAC;AAGH,QAAA,MAAM,iBAAiB,6KAYrB,CAAC;AAGH,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,CAAC"}
@@ -0,0 +1,59 @@
1
+ "use client";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ import * as React from "react";
15
+ import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
16
+ import { cn } from "../lib/utils";
17
+ const AlertDialog = AlertDialogPrimitive.Root;
18
+ const AlertDialogTrigger = AlertDialogPrimitive.Trigger;
19
+ const AlertDialogPortal = AlertDialogPrimitive.Portal;
20
+ const AlertDialogOverlay = React.forwardRef((_a, ref) => {
21
+ var { className } = _a, props = __rest(_a, ["className"]);
22
+ return (_jsx(AlertDialogPrimitive.Overlay, Object.assign({ ref: ref, className: cn("fixed inset-0 z-50 bg-black/50 backdrop-blur-sm", className) }, props)));
23
+ });
24
+ AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
25
+ const AlertDialogContent = React.forwardRef((_a, ref) => {
26
+ var { className } = _a, props = __rest(_a, ["className"]);
27
+ return (_jsxs(AlertDialogPortal, { children: [_jsx(AlertDialogOverlay, {}), _jsx(AlertDialogPrimitive.Content, Object.assign({ ref: ref, className: cn("bg-background fixed top-1/2 left-1/2 z-50 grid w-full max-w-md -translate-x-1/2 -translate-y-1/2 gap-4 rounded-lg border p-6 shadow-lg", className) }, props))] }));
28
+ });
29
+ AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
30
+ function AlertDialogHeader(_a) {
31
+ var { className } = _a, props = __rest(_a, ["className"]);
32
+ return (_jsx("div", Object.assign({ className: cn("flex flex-col space-y-1 text-center", className) }, props)));
33
+ }
34
+ function AlertDialogFooter(_a) {
35
+ var { className } = _a, props = __rest(_a, ["className"]);
36
+ return (_jsx("div", Object.assign({ className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className) }, props)));
37
+ }
38
+ const AlertDialogTitle = React.forwardRef((_a, ref) => {
39
+ var { className } = _a, props = __rest(_a, ["className"]);
40
+ return (_jsx(AlertDialogPrimitive.Title, Object.assign({ ref: ref, className: cn("text-lg font-semibold", className) }, props)));
41
+ });
42
+ AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
43
+ const AlertDialogDescription = React.forwardRef((_a, ref) => {
44
+ var { className } = _a, props = __rest(_a, ["className"]);
45
+ return (_jsx(AlertDialogPrimitive.Description, Object.assign({ ref: ref, className: cn("text-muted-foreground text-sm", className) }, props)));
46
+ });
47
+ AlertDialogDescription.displayName =
48
+ AlertDialogPrimitive.Description.displayName;
49
+ const AlertDialogAction = React.forwardRef((_a, ref) => {
50
+ var { className } = _a, props = __rest(_a, ["className"]);
51
+ return (_jsx(AlertDialogPrimitive.Action, Object.assign({ ref: ref, className: cn("bg-destructive text-destructive-foreground inline-flex h-9 items-center justify-center rounded-md px-4 text-sm font-medium shadow transition-colors hover:opacity-90 focus:outline-none", className) }, props)));
52
+ });
53
+ AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
54
+ const AlertDialogCancel = React.forwardRef((_a, ref) => {
55
+ var { className } = _a, props = __rest(_a, ["className"]);
56
+ return (_jsx(AlertDialogPrimitive.Cancel, Object.assign({ ref: ref, className: cn("bg-background hover:bg-muted inline-flex h-9 items-center justify-center rounded-md border px-4 text-sm font-medium shadow focus:outline-none", className) }, props)));
57
+ });
58
+ AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
59
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, };
@@ -0,0 +1,43 @@
1
+ import type { ComponentType } from "react";
2
+ export interface BrandNodeProps {
3
+ /** Optional wrapper className to override size/colors (merged with defaults) */
4
+ className?: string;
5
+ }
6
+ export interface BrandNodeIconBadgeProps extends BrandNodeProps {
7
+ /** Icon component to render inside the badge */
8
+ icon?: ComponentType<{
9
+ className?: string;
10
+ }>;
11
+ /** Tailwind classes to control icon size; default `h-4 w-4` */
12
+ iconClassName?: string;
13
+ }
14
+ export declare function BrandNodeIconBadge({ className, icon: Icon, iconClassName, }: BrandNodeIconBadgeProps): import("react/jsx-runtime").JSX.Element;
15
+ export interface BrandNodeGradientRingProps extends BrandNodeProps {
16
+ /** CSS conic-gradient string; provide two or more colors */
17
+ gradient?: string;
18
+ /** Inner fill background (center disc) */
19
+ innerBgClassName?: string;
20
+ }
21
+ export declare function BrandNodeGradientRing({ className, gradient, innerBgClassName, }: BrandNodeGradientRingProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare function BrandNodeGeometricMark({ className }: BrandNodeProps): import("react/jsx-runtime").JSX.Element;
23
+ export interface BrandNodeEmojiBadgeProps extends BrandNodeProps {
24
+ emoji?: string;
25
+ }
26
+ export declare function BrandNodeEmojiBadge({ className, emoji, }: BrandNodeEmojiBadgeProps): import("react/jsx-runtime").JSX.Element;
27
+ export interface BrandNodeDiagonalAppIconProps extends BrandNodeProps {
28
+ /** Base and overlay colors */
29
+ baseColorClass?: string;
30
+ overlayColorClass?: string;
31
+ }
32
+ export declare function BrandNodeDiagonalAppIcon({ className, baseColorClass, overlayColorClass, }: BrandNodeDiagonalAppIconProps): import("react/jsx-runtime").JSX.Element;
33
+ export declare function BrandNodeCubeOutline({ className }: BrandNodeProps): import("react/jsx-runtime").JSX.Element;
34
+ /** Registry for quick swapping by name */
35
+ export declare const BrandNodes: {
36
+ IconBadge: typeof BrandNodeIconBadge;
37
+ GradientRing: typeof BrandNodeGradientRing;
38
+ GeometricMark: typeof BrandNodeGeometricMark;
39
+ EmojiBadge: typeof BrandNodeEmojiBadge;
40
+ DiagonalAppIcon: typeof BrandNodeDiagonalAppIcon;
41
+ CubeOutline: typeof BrandNodeCubeOutline;
42
+ };
43
+ //# sourceMappingURL=brand-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-node.d.ts","sourceRoot":"","sources":["../../src/ui/brand-node.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI3C,MAAM,WAAW,cAAc;IAC7B,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC7D,gDAAgD;IAChD,IAAI,CAAC,EAAE,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,IAAI,EAAE,IAAe,EACrB,aAAyB,GAC1B,EAAE,uBAAuB,2CAQzB;AAED,MAAM,WAAW,0BAA2B,SAAQ,cAAc;IAChE,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,QAAyF,EACzF,gBAA6D,GAC9D,EAAE,0BAA0B,2CAY5B;AAED,wBAAgB,sBAAsB,CAAC,EAAE,SAAS,EAAE,EAAE,cAAc,2CAUnE;AAED,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,KAAW,GACZ,EAAE,wBAAwB,2CAU1B;AAED,MAAM,WAAW,6BAA8B,SAAQ,cAAc;IACnE,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,cAA6B,EAC7B,iBAA+B,GAChC,EAAE,6BAA6B,2CAc/B;AAED,wBAAgB,oBAAoB,CAAC,EAAE,SAAS,EAAE,EAAE,cAAc,2CAqBjE;AAED,0CAA0C;AAC1C,eAAO,MAAM,UAAU;;;;;;;CAOtB,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Sparkles } from "lucide-react";
4
+ import { cn } from "../lib/utils";
5
+ export function BrandNodeIconBadge({ className, icon: Icon = Sparkles, iconClassName = "h-4 w-4", }) {
6
+ const base = "grid h-8 w-8 place-items-center rounded-md bg-primary/10 ring-1 ring-primary/30 text-primary";
7
+ return (_jsx("div", { className: cn(base, className), "aria-label": "Brand icon badge", children: _jsx(Icon, { className: iconClassName }) }));
8
+ }
9
+ export function BrandNodeGradientRing({ className, gradient = "conic-gradient(hsl(var(--primary)), hsl(var(--accent)), hsl(var(--primary)))", innerBgClassName = "h-full w-full rounded-full bg-background", }) {
10
+ const base = "relative h-8 w-8";
11
+ return (_jsx("div", { className: cn(base, className), "aria-label": "Brand gradient ring", children: _jsx("div", { className: "absolute inset-0 rounded-full p-[2px]", style: { background: gradient }, children: _jsx("div", { className: innerBgClassName }) }) }));
12
+ }
13
+ export function BrandNodeGeometricMark({ className }) {
14
+ const base = "grid h-8 w-8 place-items-center rounded-md bg-gradient-to-br from-primary/10 to-accent/10 ring-1 ring-border";
15
+ return (_jsx("div", { className: cn(base, className), "aria-label": "Brand geometric mark", children: _jsx("svg", { viewBox: "0 0 24 24", className: "fill-primary h-4 w-4", children: _jsx("path", { d: "M12 4l8 14H4l8-14z" }) }) }));
16
+ }
17
+ export function BrandNodeEmojiBadge({ className, emoji = "⚡", }) {
18
+ const base = "grid h-8 w-8 place-items-center rounded-md bg-card/60 backdrop-blur ring-1 ring-border";
19
+ return (_jsx("div", { className: cn(base, className), "aria-label": "Brand emoji badge", children: _jsx("span", { className: "text-base", "aria-hidden": true, children: emoji }) }));
20
+ }
21
+ export function BrandNodeDiagonalAppIcon({ className, baseColorClass = "bg-primary", overlayColorClass = "bg-accent", }) {
22
+ const base = "relative h-8 w-8 overflow-hidden rounded-md ring-1 ring-black/5 dark:ring-white/10";
23
+ return (_jsxs("div", { className: cn(base, className), "aria-label": "Brand diagonal app icon", children: [_jsx("div", { className: cn("absolute inset-0", baseColorClass) }), _jsx("div", { className: cn("absolute inset-0 translate-y-1/3 -skew-y-12", overlayColorClass) })] }));
24
+ }
25
+ export function BrandNodeCubeOutline({ className }) {
26
+ const base = "grid h-8 w-8 place-items-center rounded-md bg-foreground text-background ring-1 ring-border";
27
+ return (_jsx("div", { className: cn(base, className), "aria-label": "Brand cube outline", children: _jsxs("svg", { viewBox: "0 0 24 24", className: "h-4 w-4", children: [_jsx("path", { d: "M12 2l8 4.5v9L12 20 4 15.5v-9L12 2z", fill: "none", stroke: "currentColor", strokeWidth: "1.6" }), _jsx("path", { d: "M12 20v-9M4 6l8 5 8-5", fill: "none", stroke: "currentColor", strokeWidth: "1.6" })] }) }));
28
+ }
29
+ /** Registry for quick swapping by name */
30
+ export const BrandNodes = {
31
+ IconBadge: BrandNodeIconBadge,
32
+ GradientRing: BrandNodeGradientRing,
33
+ GeometricMark: BrandNodeGeometricMark,
34
+ EmojiBadge: BrandNodeEmojiBadge,
35
+ DiagonalAppIcon: BrandNodeDiagonalAppIcon,
36
+ CubeOutline: BrandNodeCubeOutline,
37
+ };
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const buttonVariants: (props?: ({
4
+ variant?: "default" | "secondary" | "destructive" | "link" | "outline" | "ghost" | null | undefined;
5
+ size?: "default" | "icon" | "sm" | "lg" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ type ButtonProps = React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
8
+ asChild?: boolean;
9
+ /** When true, bypasses tokenized buttonVariants so callers fully control classes */
10
+ unstyled?: boolean;
11
+ /** Opt-in: force inline CSS var styles for color/bg/border/ring */
12
+ forceInlineVars?: boolean;
13
+ };
14
+ declare const Button: React.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
15
+ export { Button, buttonVariants };
16
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,cAAc;;;8EA6BnB,CAAC;AAEF,KAAK,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAC/C,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEJ,QAAA,MAAM,MAAM,oGAuEX,CAAC;AAIF,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}