@reservi/calendar 1.4.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.
@@ -0,0 +1,314 @@
1
+ /**
2
+ * ARCHIVO GENERADO — no editar a mano.
3
+ * Fuente: packages/theme/src · Generador: packages/bundle/scripts/build-css.mjs
4
+ */
5
+ /** Theme "amber" — claro, acento ámbar cálido. */
6
+ [data-rsv-theme="amber"] {
7
+ --color-rsv-bg: oklch(0.99 0.01 80);
8
+ --color-rsv-surface: oklch(0.97 0.02 80);
9
+ --color-rsv-border: oklch(0.9 0.03 80);
10
+ --color-rsv-text: oklch(0.28 0.04 70);
11
+ --color-rsv-muted: oklch(0.55 0.04 70);
12
+ --color-rsv-primary: oklch(0.7 0.15 75);
13
+ --color-rsv-primary-fg: oklch(0.2 0.04 70);
14
+ --color-rsv-today: oklch(0.95 0.06 80);
15
+ --color-rsv-event-1: oklch(0.72 0.15 75);
16
+ --color-rsv-event-2: oklch(0.7 0.15 50);
17
+ --color-rsv-event-3: oklch(0.74 0.14 100);
18
+ --color-rsv-event-4: oklch(0.68 0.16 30);
19
+ --color-rsv-event-5: oklch(0.72 0.13 130);
20
+ }
21
+
22
+ /** Theme "contrast" — alto contraste (accesibilidad). */
23
+ [data-rsv-theme="contrast"] {
24
+ --color-rsv-bg: oklch(1 0 0);
25
+ --color-rsv-surface: oklch(1 0 0);
26
+ --color-rsv-border: oklch(0.4 0 0);
27
+ --color-rsv-text: oklch(0.12 0 0);
28
+ --color-rsv-muted: oklch(0.3 0 0);
29
+ --color-rsv-primary: oklch(0.4 0.25 264);
30
+ --color-rsv-primary-fg: oklch(1 0 0);
31
+ --color-rsv-today: oklch(0.9 0.1 264);
32
+ --color-rsv-nonbusiness: oklch(0.92 0 0);
33
+ --color-rsv-event-1: oklch(0.4 0.25 264);
34
+ --color-rsv-event-2: oklch(0.42 0.2 150);
35
+ --color-rsv-event-3: oklch(0.4 0.2 30);
36
+ --color-rsv-event-4: oklch(0.38 0.25 10);
37
+ --color-rsv-event-5: oklch(0.4 0.22 320);
38
+ --radius-rsv-event: 0.25rem;
39
+ }
40
+
41
+ /** Theme "dracula" — oscuro, paleta vibrante. */
42
+ [data-rsv-theme="dracula"] {
43
+ --color-rsv-bg: oklch(0.24 0.03 290);
44
+ --color-rsv-surface: oklch(0.28 0.03 290);
45
+ --color-rsv-border: oklch(0.38 0.03 290);
46
+ --color-rsv-text: oklch(0.95 0.02 300);
47
+ --color-rsv-muted: oklch(0.65 0.03 290);
48
+ --color-rsv-primary: oklch(0.75 0.16 330);
49
+ --color-rsv-primary-fg: oklch(0.2 0.03 290);
50
+ --color-rsv-today: oklch(0.34 0.06 320);
51
+ --color-rsv-nonbusiness: oklch(0.26 0.03 290);
52
+ --color-rsv-event-1: oklch(0.75 0.16 330);
53
+ --color-rsv-event-2: oklch(0.78 0.16 180);
54
+ --color-rsv-event-3: oklch(0.85 0.15 110);
55
+ --color-rsv-event-4: oklch(0.72 0.16 25);
56
+ --color-rsv-event-5: oklch(0.78 0.15 280);
57
+ }
58
+
59
+ /** Theme "forest" — claro, acento verde bosque. */
60
+ [data-rsv-theme="forest"] {
61
+ --color-rsv-bg: oklch(0.99 0.01 150);
62
+ --color-rsv-surface: oklch(0.97 0.02 150);
63
+ --color-rsv-border: oklch(0.9 0.03 150);
64
+ --color-rsv-text: oklch(0.25 0.04 150);
65
+ --color-rsv-muted: oklch(0.5 0.04 150);
66
+ --color-rsv-primary: oklch(0.55 0.15 150);
67
+ --color-rsv-primary-fg: oklch(0.99 0 0);
68
+ --color-rsv-today: oklch(0.95 0.05 150);
69
+ --color-rsv-event-1: oklch(0.58 0.15 150);
70
+ --color-rsv-event-2: oklch(0.6 0.13 180);
71
+ --color-rsv-event-3: oklch(0.62 0.15 120);
72
+ --color-rsv-event-4: oklch(0.6 0.14 90);
73
+ --color-rsv-event-5: oklch(0.55 0.13 200);
74
+ }
75
+
76
+ /** Theme "graphite" — oscuro neutro (gris). */
77
+ [data-rsv-theme="graphite"] {
78
+ --color-rsv-bg: oklch(0.2 0 0);
79
+ --color-rsv-surface: oklch(0.24 0 0);
80
+ --color-rsv-border: oklch(0.34 0 0);
81
+ --color-rsv-text: oklch(0.95 0 0);
82
+ --color-rsv-muted: oklch(0.62 0 0);
83
+ --color-rsv-primary: oklch(0.7 0.02 250);
84
+ --color-rsv-primary-fg: oklch(0.18 0 0);
85
+ --color-rsv-today: oklch(0.3 0.01 250);
86
+ --color-rsv-nonbusiness: oklch(0.22 0 0);
87
+ --color-rsv-event-1: oklch(0.65 0.14 264);
88
+ --color-rsv-event-2: oklch(0.68 0.13 160);
89
+ --color-rsv-event-3: oklch(0.75 0.13 90);
90
+ --color-rsv-event-4: oklch(0.65 0.16 25);
91
+ --color-rsv-event-5: oklch(0.68 0.13 320);
92
+ }
93
+
94
+ /** Theme "lavender" — claro, acento lavanda. */
95
+ [data-rsv-theme="lavender"] {
96
+ --color-rsv-bg: oklch(0.99 0.01 300);
97
+ --color-rsv-surface: oklch(0.97 0.02 300);
98
+ --color-rsv-border: oklch(0.9 0.03 300);
99
+ --color-rsv-text: oklch(0.27 0.04 300);
100
+ --color-rsv-muted: oklch(0.55 0.04 300);
101
+ --color-rsv-primary: oklch(0.58 0.15 300);
102
+ --color-rsv-primary-fg: oklch(0.99 0 0);
103
+ --color-rsv-today: oklch(0.95 0.05 300);
104
+ --color-rsv-event-1: oklch(0.6 0.15 300);
105
+ --color-rsv-event-2: oklch(0.62 0.14 270);
106
+ --color-rsv-event-3: oklch(0.64 0.14 330);
107
+ --color-rsv-event-4: oklch(0.6 0.14 240);
108
+ --color-rsv-event-5: oklch(0.66 0.12 350);
109
+ }
110
+
111
+ /**
112
+ * Theme "midnight" — oscuro azulado. Se activa con data-rsv-theme="midnight"
113
+ * en el root (o la opción `theme: "midnight"`).
114
+ */
115
+ [data-rsv-theme="midnight"] {
116
+ --color-rsv-bg: oklch(0.16 0.03 264);
117
+ --color-rsv-surface: oklch(0.2 0.03 264);
118
+ --color-rsv-border: oklch(0.3 0.03 264);
119
+ --color-rsv-muted: oklch(0.6 0.02 264);
120
+ --color-rsv-text: oklch(0.95 0.01 264);
121
+ --color-rsv-primary: oklch(0.7 0.16 280);
122
+ --color-rsv-primary-fg: oklch(0.15 0.03 264);
123
+ --color-rsv-today: oklch(0.28 0.06 280);
124
+ --color-rsv-nonbusiness: oklch(0.18 0.03 264);
125
+ --color-rsv-event-1: oklch(0.7 0.15 280);
126
+ --color-rsv-event-2: oklch(0.72 0.15 190);
127
+ --color-rsv-event-3: oklch(0.78 0.15 90);
128
+ --color-rsv-event-4: oklch(0.7 0.17 20);
129
+ --color-rsv-event-5: oklch(0.72 0.15 330);
130
+ }
131
+
132
+ /** Theme "mint" — claro, acento menta/teal. */
133
+ [data-rsv-theme="mint"] {
134
+ --color-rsv-bg: oklch(0.99 0.01 170);
135
+ --color-rsv-surface: oklch(0.97 0.02 170);
136
+ --color-rsv-border: oklch(0.9 0.03 170);
137
+ --color-rsv-text: oklch(0.26 0.04 180);
138
+ --color-rsv-muted: oklch(0.52 0.04 180);
139
+ --color-rsv-primary: oklch(0.6 0.12 175);
140
+ --color-rsv-primary-fg: oklch(0.99 0 0);
141
+ --color-rsv-today: oklch(0.95 0.05 170);
142
+ --color-rsv-event-1: oklch(0.62 0.13 175);
143
+ --color-rsv-event-2: oklch(0.64 0.12 200);
144
+ --color-rsv-event-3: oklch(0.66 0.13 150);
145
+ --color-rsv-event-4: oklch(0.62 0.12 220);
146
+ --color-rsv-event-5: oklch(0.64 0.11 130);
147
+ }
148
+
149
+ /** Theme "nord" — oscuro, azul ártico. */
150
+ [data-rsv-theme="nord"] {
151
+ --color-rsv-bg: oklch(0.3 0.02 250);
152
+ --color-rsv-surface: oklch(0.34 0.02 250);
153
+ --color-rsv-border: oklch(0.42 0.02 250);
154
+ --color-rsv-text: oklch(0.92 0.01 230);
155
+ --color-rsv-muted: oklch(0.68 0.02 240);
156
+ --color-rsv-primary: oklch(0.72 0.08 230);
157
+ --color-rsv-primary-fg: oklch(0.22 0.02 250);
158
+ --color-rsv-today: oklch(0.4 0.04 230);
159
+ --color-rsv-nonbusiness: oklch(0.32 0.02 250);
160
+ --color-rsv-event-1: oklch(0.72 0.08 230);
161
+ --color-rsv-event-2: oklch(0.74 0.08 190);
162
+ --color-rsv-event-3: oklch(0.78 0.1 150);
163
+ --color-rsv-event-4: oklch(0.7 0.12 25);
164
+ --color-rsv-event-5: oklch(0.72 0.1 320);
165
+ }
166
+
167
+ /** Theme "ocean" — claro, acento cian/azul. data-rsv-theme="ocean". */
168
+ [data-rsv-theme="ocean"] {
169
+ --color-rsv-bg: oklch(0.99 0.01 220);
170
+ --color-rsv-surface: oklch(0.97 0.02 220);
171
+ --color-rsv-border: oklch(0.9 0.03 220);
172
+ --color-rsv-text: oklch(0.25 0.03 240);
173
+ --color-rsv-muted: oklch(0.55 0.04 230);
174
+ --color-rsv-primary: oklch(0.6 0.13 220);
175
+ --color-rsv-primary-fg: oklch(0.99 0 0);
176
+ --color-rsv-today: oklch(0.95 0.05 220);
177
+ --color-rsv-event-1: oklch(0.62 0.14 220);
178
+ --color-rsv-event-2: oklch(0.66 0.13 190);
179
+ --color-rsv-event-3: oklch(0.68 0.13 160);
180
+ --color-rsv-event-4: oklch(0.64 0.15 260);
181
+ --color-rsv-event-5: oklch(0.66 0.12 300);
182
+ }
183
+
184
+ /**
185
+ * Theme "reservi" — claro, paleta de marca de Reservi.
186
+ *
187
+ * Los valores son los mismos hex de `tailwind.config.js` de reservi-frontend-v2.
188
+ * Se usa hex y no `oklch()` como el resto de themes a propósito: son colores de
189
+ * marca y la conversión introduce desviación; aquí pesa más la fidelidad.
190
+ *
191
+ * `--font-rsv-sans` NO se declara aquí: la fuente de la app (Urbanist) llega
192
+ * como variable de Next, así que la aporta el frontend vía `themeTokens`.
193
+ */
194
+ [data-rsv-theme="reservi"] {
195
+ /* Superficies */
196
+ --color-rsv-bg: #fefefe;
197
+ --color-rsv-surface: #faf5fc;
198
+ --color-rsv-border: #efefef;
199
+ --color-rsv-muted: #5e636b;
200
+ --color-rsv-text: #1a1a1a;
201
+
202
+ /* Marca / acento */
203
+ --color-rsv-primary: #865e9b;
204
+ --color-rsv-primary-fg: #fefefe;
205
+ /* Translúcido a propósito: tiñe la columna del día actual sin tapar las
206
+ líneas de franja que se pintan debajo. */
207
+ --color-rsv-today: rgba(155, 135, 245, 0.1);
208
+
209
+ /* Eventos — mapeados a los estados de cita (`border-status-*`). */
210
+ --color-rsv-event-1: #865e9b; /* pendiente */
211
+ --color-rsv-event-2: #78b157; /* confirmada */
212
+ --color-rsv-event-3: #e1d25e; /* no-show */
213
+ --color-rsv-event-4: #d85353; /* cancelada */
214
+ --color-rsv-event-5: #bbbec2; /* completada */
215
+ /* Texto oscuro: la paleta de estados va de claro (#e1d25e, #bbbec2) a medio,
216
+ y un fg blanco sería ilegible sobre los dos claros. */
217
+ --color-rsv-event-fg: #141517;
218
+
219
+ /* Estados */
220
+ --color-rsv-now: #d85353;
221
+ --color-rsv-selection: #f6f0fa;
222
+ --color-rsv-nonbusiness: rgba(250, 250, 255, 0.5);
223
+
224
+ /* Geometría */
225
+ --radius-rsv: 8px;
226
+ --radius-rsv-event: 4px;
227
+ }
228
+
229
+ /** Theme "rose" — claro, acento rosa/rojo. */
230
+ [data-rsv-theme="rose"] {
231
+ --color-rsv-bg: oklch(0.99 0.01 10);
232
+ --color-rsv-surface: oklch(0.97 0.02 10);
233
+ --color-rsv-border: oklch(0.9 0.03 10);
234
+ --color-rsv-text: oklch(0.27 0.04 10);
235
+ --color-rsv-muted: oklch(0.55 0.04 10);
236
+ --color-rsv-primary: oklch(0.6 0.18 10);
237
+ --color-rsv-primary-fg: oklch(0.99 0 0);
238
+ --color-rsv-today: oklch(0.95 0.05 10);
239
+ --color-rsv-event-1: oklch(0.62 0.18 10);
240
+ --color-rsv-event-2: oklch(0.64 0.16 350);
241
+ --color-rsv-event-3: oklch(0.66 0.16 30);
242
+ --color-rsv-event-4: oklch(0.6 0.17 330);
243
+ --color-rsv-event-5: oklch(0.64 0.15 50);
244
+ }
245
+
246
+ /** Theme "slate" — claro, neutro azul-gris sobrio. */
247
+ [data-rsv-theme="slate"] {
248
+ --color-rsv-bg: oklch(0.99 0.005 250);
249
+ --color-rsv-surface: oklch(0.96 0.008 250);
250
+ --color-rsv-border: oklch(0.89 0.01 250);
251
+ --color-rsv-text: oklch(0.3 0.02 250);
252
+ --color-rsv-muted: oklch(0.55 0.02 250);
253
+ --color-rsv-primary: oklch(0.5 0.06 250);
254
+ --color-rsv-primary-fg: oklch(0.99 0 0);
255
+ --color-rsv-today: oklch(0.94 0.02 250);
256
+ --color-rsv-event-1: oklch(0.55 0.08 250);
257
+ --color-rsv-event-2: oklch(0.58 0.1 210);
258
+ --color-rsv-event-3: oklch(0.6 0.1 160);
259
+ --color-rsv-event-4: oklch(0.58 0.12 30);
260
+ --color-rsv-event-5: oklch(0.56 0.1 300);
261
+ }
262
+
263
+ /** Theme "solarized-dark" — base oscura teal, acentos solarized. */
264
+ [data-rsv-theme="solarized-dark"] {
265
+ --color-rsv-bg: oklch(0.27 0.04 200);
266
+ --color-rsv-surface: oklch(0.31 0.04 200);
267
+ --color-rsv-border: oklch(0.4 0.04 200);
268
+ --color-rsv-text: oklch(0.88 0.02 90);
269
+ --color-rsv-muted: oklch(0.66 0.03 190);
270
+ --color-rsv-primary: oklch(0.68 0.13 230);
271
+ --color-rsv-primary-fg: oklch(0.22 0.04 200);
272
+ --color-rsv-today: oklch(0.36 0.05 210);
273
+ --color-rsv-nonbusiness: oklch(0.29 0.04 200);
274
+ --color-rsv-event-1: oklch(0.68 0.13 230);
275
+ --color-rsv-event-2: oklch(0.72 0.13 180);
276
+ --color-rsv-event-3: oklch(0.78 0.14 100);
277
+ --color-rsv-event-4: oklch(0.68 0.16 30);
278
+ --color-rsv-event-5: oklch(0.66 0.15 330);
279
+ }
280
+
281
+ /** Theme "solarized-light" — beige cálido, acentos solarized. */
282
+ [data-rsv-theme="solarized-light"] {
283
+ --color-rsv-bg: oklch(0.97 0.02 90);
284
+ --color-rsv-surface: oklch(0.94 0.025 90);
285
+ --color-rsv-border: oklch(0.86 0.03 90);
286
+ --color-rsv-text: oklch(0.42 0.03 200);
287
+ --color-rsv-muted: oklch(0.58 0.03 200);
288
+ --color-rsv-primary: oklch(0.6 0.13 230);
289
+ --color-rsv-primary-fg: oklch(0.97 0.02 90);
290
+ --color-rsv-today: oklch(0.92 0.04 90);
291
+ --color-rsv-nonbusiness: oklch(0.93 0.025 90);
292
+ --color-rsv-event-1: oklch(0.6 0.13 230);
293
+ --color-rsv-event-2: oklch(0.65 0.13 180);
294
+ --color-rsv-event-3: oklch(0.7 0.14 100);
295
+ --color-rsv-event-4: oklch(0.6 0.16 30);
296
+ --color-rsv-event-5: oklch(0.58 0.15 330);
297
+ }
298
+
299
+ /** Theme "sunset" — cálido, acento naranja/rosa. data-rsv-theme="sunset". */
300
+ [data-rsv-theme="sunset"] {
301
+ --color-rsv-bg: oklch(0.99 0.01 60);
302
+ --color-rsv-surface: oklch(0.97 0.02 50);
303
+ --color-rsv-border: oklch(0.9 0.03 50);
304
+ --color-rsv-text: oklch(0.25 0.03 40);
305
+ --color-rsv-muted: oklch(0.55 0.04 40);
306
+ --color-rsv-primary: oklch(0.65 0.18 35);
307
+ --color-rsv-primary-fg: oklch(0.99 0 0);
308
+ --color-rsv-today: oklch(0.95 0.05 50);
309
+ --color-rsv-event-1: oklch(0.68 0.17 35);
310
+ --color-rsv-event-2: oklch(0.7 0.16 70);
311
+ --color-rsv-event-3: oklch(0.66 0.17 10);
312
+ --color-rsv-event-4: oklch(0.64 0.16 340);
313
+ --color-rsv-event-5: oklch(0.7 0.15 100);
314
+ }
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "@reservi/calendar",
3
+ "version": "1.4.0",
4
+ "description": "Build autocontenido de Reservi Calendar para React: núcleo + UI + tema en un solo paquete sin dependencias.",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/Reservi-develop/reservi-calendar.git"
9
+ },
10
+ "homepage": "https://github.com/Reservi-develop/reservi-calendar#readme",
11
+ "bugs": {
12
+ "url": "https://github.com/Reservi-develop/reservi-calendar/issues"
13
+ },
14
+ "keywords": [
15
+ "calendar",
16
+ "scheduler",
17
+ "fullcalendar",
18
+ "react",
19
+ "bundle"
20
+ ],
21
+ "publishConfig": {
22
+ "access": "public"
23
+ },
24
+ "type": "module",
25
+ "sideEffects": [
26
+ "*.css"
27
+ ],
28
+ "files": [
29
+ "dist"
30
+ ],
31
+ "main": "./dist/index.cjs",
32
+ "module": "./dist/index.js",
33
+ "types": "./dist/index.d.ts",
34
+ "exports": {
35
+ ".": {
36
+ "types": "./dist/index.d.ts",
37
+ "import": "./dist/index.js",
38
+ "require": "./dist/index.cjs"
39
+ },
40
+ "./styles.css": "./dist/styles.css",
41
+ "./themes.css": "./dist/themes.css"
42
+ },
43
+ "peerDependencies": {
44
+ "react": "^18.0.0 || ^19.0.0",
45
+ "react-dom": "^18.0.0 || ^19.0.0"
46
+ },
47
+ "devDependencies": {
48
+ "@types/react": "^19.0.2",
49
+ "@types/react-dom": "^19.0.2",
50
+ "preact": "^10.25.4",
51
+ "@preact/signals": "^2.0.1",
52
+ "react": "^19.0.0",
53
+ "react-dom": "^19.0.0",
54
+ "typescript": "^5.7.2",
55
+ "vite": "^6.0.0",
56
+ "vite-plugin-dts": "^4.3.0",
57
+ "@reservi/preact": "1.4.0",
58
+ "@reservi/react": "1.4.0",
59
+ "@reservi/theme": "1.4.0",
60
+ "@reservi/tsconfig": "2.0.0-beta.0",
61
+ "@reservi/core": "1.4.0"
62
+ },
63
+ "scripts": {
64
+ "build": "vite build && node scripts/build-css.mjs",
65
+ "dev": "vite build --watch",
66
+ "lint": "node -e \"process.exit(0)\"",
67
+ "typecheck": "tsc --noEmit"
68
+ }
69
+ }