@arquimedes.co/eureka-forms 3.0.52-test → 3.0.54-new-steps

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 (102) hide show
  1. package/dist/@Types/AvailabilityFormStep.d.ts +48 -0
  2. package/dist/@Types/AvailabilityFormStep.js +24 -0
  3. package/dist/@Types/BankAccountFormStep.d.ts +67 -0
  4. package/dist/@Types/BankAccountFormStep.js +14 -0
  5. package/dist/@Types/BookingFormStep.d.ts +166 -0
  6. package/dist/@Types/BookingFormStep.js +44 -0
  7. package/dist/@Types/CalendarFormStep.d.ts +192 -0
  8. package/dist/@Types/CalendarFormStep.js +48 -0
  9. package/dist/@Types/CommunicationChannelFormStep.d.ts +51 -0
  10. package/dist/@Types/CommunicationChannelFormStep.js +15 -0
  11. package/dist/@Types/ConsentFormStep.d.ts +36 -0
  12. package/dist/@Types/ConsentFormStep.js +8 -0
  13. package/dist/@Types/EntityFormFormStep.d.ts +66 -0
  14. package/dist/@Types/EntityFormFormStep.js +20 -0
  15. package/dist/@Types/EventFormStep.d.ts +52 -0
  16. package/dist/@Types/EventFormStep.js +13 -0
  17. package/dist/@Types/ExternalReferenceFormStep.d.ts +74 -0
  18. package/dist/@Types/ExternalReferenceFormStep.js +20 -0
  19. package/dist/@Types/FormStep.d.ts +7 -2
  20. package/dist/@Types/FormStep.js +2 -1
  21. package/dist/@Types/LocationFormStep.d.ts +159 -0
  22. package/dist/@Types/LocationFormStep.js +46 -0
  23. package/dist/@Types/NumericFormSteps.d.ts +108 -0
  24. package/dist/@Types/NumericFormSteps.js +20 -0
  25. package/dist/@Types/PredefinedSelectorFormStep.d.ts +51 -0
  26. package/dist/@Types/PredefinedSelectorFormStep.js +39 -0
  27. package/dist/@Types/StepRef.d.ts +135 -0
  28. package/dist/@Types/StepRef.js +49 -0
  29. package/dist/FormSteps/BookingStep/BookingStep.d.ts +17 -0
  30. package/dist/FormSteps/BookingStep/BookingStep.js +14 -0
  31. package/dist/FormSteps/BookingStep/MaterialBookingStep/MaterialBookingStep.d.ts +7 -0
  32. package/dist/FormSteps/BookingStep/MaterialBookingStep/MaterialBookingStep.js +32 -0
  33. package/dist/FormSteps/CalendarStep/CalendarStep.d.ts +7 -0
  34. package/dist/FormSteps/CalendarStep/CalendarStep.js +14 -0
  35. package/dist/FormSteps/CalendarStep/MaterialCalendarStep/MaterialCalendarStep.d.ts +7 -0
  36. package/dist/FormSteps/CalendarStep/MaterialCalendarStep/MaterialCalendarStep.js +31 -0
  37. package/dist/FormSteps/LocationStep/LocationStep.d.ts +10 -0
  38. package/dist/FormSteps/LocationStep/LocationStep.js +14 -0
  39. package/dist/FormSteps/LocationStep/MaterialLocationStep/MaterialLocationStep.d.ts +3 -0
  40. package/dist/FormSteps/LocationStep/MaterialLocationStep/MaterialLocationStep.js +47 -0
  41. package/dist/FormSteps/LocationStep/MaterialLocationStep/MaterialLocationStep.module.css +18 -0
  42. package/dist/FormSteps/NumberStep/MaterialNumberStep/MaterialNumberStep.d.ts +3 -0
  43. package/dist/FormSteps/NumberStep/MaterialNumberStep/MaterialNumberStep.js +168 -0
  44. package/dist/FormSteps/NumberStep/MaterialNumberStep/MaterialNumberStep.module.css +94 -0
  45. package/dist/FormSteps/NumberStep/NumberStep.d.ts +10 -0
  46. package/dist/FormSteps/NumberStep/NumberStep.js +14 -0
  47. package/dist/FormSteps/Step.js +16 -0
  48. package/dist/FormSteps/StepFunctions.js +14 -0
  49. package/dist/FormSteps/StepFunctions.test.js +54 -0
  50. package/dist/Icons/AddIcon.d.ts +3 -0
  51. package/dist/Icons/AddIcon.js +7 -0
  52. package/dist/Icons/EditIcon.d.ts +3 -0
  53. package/dist/Icons/EditIcon.js +7 -0
  54. package/dist/Icons/RemoveIcon.d.ts +3 -0
  55. package/dist/Icons/RemoveIcon.js +7 -0
  56. package/dist/Icons/ViewDayIcon.d.ts +3 -0
  57. package/dist/Icons/ViewDayIcon.js +7 -0
  58. package/dist/Icons/ViewWeekIcon.d.ts +3 -0
  59. package/dist/Icons/ViewWeekIcon.js +7 -0
  60. package/dist/Shared/ErkAddressAutocomplete/ErkAddressAutocomplete.d.ts +19 -0
  61. package/dist/Shared/ErkAddressAutocomplete/ErkAddressAutocomplete.js +80 -0
  62. package/dist/Shared/ErkAddressAutocomplete/ErkAddressAutocomplete.module.css +82 -0
  63. package/dist/Shared/ErkAddressAutocomplete/googlePlaces.d.ts +29 -0
  64. package/dist/Shared/ErkAddressAutocomplete/googlePlaces.js +139 -0
  65. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.d.ts +31 -0
  66. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.js +223 -0
  67. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.module.css +608 -0
  68. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.stories.d.ts +28 -0
  69. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.stories.js +117 -0
  70. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.stories.test.d.ts +1 -0
  71. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.stories.test.js +49 -0
  72. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.test.d.ts +1 -0
  73. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.test.js +107 -0
  74. package/dist/Shared/ErkCalendar/CalendarFunctions.d.ts +28 -0
  75. package/dist/Shared/ErkCalendar/CalendarFunctions.js +121 -0
  76. package/dist/Shared/ErkCalendar/CalendarPopovers.d.ts +45 -0
  77. package/dist/Shared/ErkCalendar/CalendarPopovers.js +110 -0
  78. package/dist/Shared/ErkCalendar/ErkCalendar.d.ts +73 -0
  79. package/dist/Shared/ErkCalendar/ErkCalendar.js +281 -0
  80. package/dist/Shared/ErkCalendar/ErkCalendar.module.css +785 -0
  81. package/dist/Shared/ErkCalendar/ErkCalendar.test.d.ts +1 -0
  82. package/dist/Shared/ErkCalendar/ErkCalendar.test.js +171 -0
  83. package/dist/Shared/ErkDatePicker/ErkDatePicker.js +1 -3
  84. package/dist/Shared/ErkDateRangePicker/ErkDateRangePicker.d.ts +2 -3
  85. package/dist/Shared/ErkDateRangePicker/ErkDateRangePicker.js +1 -2
  86. package/dist/Shared/ErkLocationField/ErkLocationField.d.ts +23 -0
  87. package/dist/Shared/ErkLocationField/ErkLocationField.js +73 -0
  88. package/dist/Shared/ErkLocationField/ErkLocationField.module.css +29 -0
  89. package/dist/Shared/ErkLocationField/addressFields.d.ts +12 -0
  90. package/dist/Shared/ErkLocationField/addressFields.js +34 -0
  91. package/dist/Shared/ErkLocationField/locationRestrictions.d.ts +6 -0
  92. package/dist/Shared/ErkLocationField/locationRestrictions.js +51 -0
  93. package/dist/Shared/ErkLocationInput/ErkLocationInput.d.ts +15 -0
  94. package/dist/Shared/ErkLocationInput/ErkLocationInput.js +502 -0
  95. package/dist/Shared/ErkLocationInput/ErkLocationInput.module.css +115 -0
  96. package/dist/Shared/ErkNumberField/ErkNumberField.d.ts +42 -0
  97. package/dist/Shared/ErkNumberField/ErkNumberField.js +170 -0
  98. package/dist/constants/FormStepTypes.d.ts +5 -1
  99. package/dist/constants/FormStepTypes.js +4 -0
  100. package/dist/index.lib.d.ts +4 -2
  101. package/dist/index.lib.js +3 -1
  102. package/package.json +2 -1
@@ -0,0 +1,785 @@
1
+ .container {
2
+ max-width: 100%;
3
+ box-sizing: border-box;
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: 12px;
7
+ }
8
+
9
+ /* ---------- App shell: sidebar + main ---------- */
10
+ .app {
11
+ display: grid;
12
+ grid-template-columns: 258px 1fr;
13
+ background: var(--eureka-bg, #fff);
14
+ border: 1px solid var(--eureka-outline, #d9dee6);
15
+ border-radius: 16px;
16
+ overflow: hidden;
17
+ box-shadow: 0 12px 34px rgba(43, 65, 93, 0.08);
18
+ }
19
+ .side {
20
+ border-right: 1px solid var(--eureka-outline, #eceff3);
21
+ padding: 18px 16px;
22
+ display: flex;
23
+ flex-direction: column;
24
+ gap: 20px;
25
+ min-width: 0;
26
+ }
27
+ .main {
28
+ padding: 16px 18px 22px;
29
+ min-width: 0;
30
+ display: flex;
31
+ flex-direction: column;
32
+ gap: 14px;
33
+ }
34
+
35
+ /* Mini calendario del sidebar */
36
+ .miniHead {
37
+ display: flex;
38
+ align-items: center;
39
+ justify-content: space-between;
40
+ margin-bottom: 8px;
41
+ }
42
+ .miniTitle {
43
+ font-size: 13.5px;
44
+ font-weight: 700;
45
+ color: var(--eureka-text, #293241);
46
+ }
47
+ .miniNav {
48
+ display: flex;
49
+ gap: 2px;
50
+ }
51
+ .miniNav button {
52
+ border: none;
53
+ background: none;
54
+ color: #787878;
55
+ cursor: pointer;
56
+ font-size: 15px;
57
+ padding: 2px 6px;
58
+ border-radius: 6px;
59
+ font-family: inherit;
60
+ }
61
+ .miniNav button:hover {
62
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 7%, #fff);
63
+ }
64
+ .miniGrid {
65
+ display: grid;
66
+ grid-template-columns: repeat(7, 1fr);
67
+ gap: 1px;
68
+ font-variant-numeric: tabular-nums;
69
+ }
70
+ .miniDow {
71
+ text-align: center;
72
+ color: #787878;
73
+ font-weight: 700;
74
+ font-size: 10px;
75
+ padding: 4px 0;
76
+ }
77
+ .miniDay {
78
+ text-align: center;
79
+ font-size: 11.5px;
80
+ padding: 5px 0;
81
+ color: var(--eureka-text, #293241);
82
+ border-radius: 50%;
83
+ border: none;
84
+ background: none;
85
+ cursor: pointer;
86
+ font-family: inherit;
87
+ }
88
+ .miniDay:hover {
89
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 7%, #fff);
90
+ }
91
+ .miniDayMut {
92
+ color: #c3c9d2;
93
+ }
94
+ .miniDayToday {
95
+ background: var(--eureka-primary, #3d5a7f);
96
+ color: #fff;
97
+ font-weight: 700;
98
+ }
99
+ .miniDaySel {
100
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 10%, #fff);
101
+ color: var(--eureka-primary, #3d5a7f);
102
+ font-weight: 700;
103
+ }
104
+
105
+ /* Listas del sidebar (disponibilidad / eventos) con toggle de visibilidad */
106
+ .sideList {
107
+ display: flex;
108
+ flex-direction: column;
109
+ gap: 2px;
110
+ }
111
+ .sideLbl {
112
+ font-size: 11px;
113
+ letter-spacing: 0.06em;
114
+ text-transform: uppercase;
115
+ color: #787878;
116
+ font-weight: 700;
117
+ margin-bottom: 6px;
118
+ }
119
+ .sideItem {
120
+ display: flex;
121
+ align-items: center;
122
+ gap: 9px;
123
+ padding: 6px;
124
+ border-radius: 8px;
125
+ font-size: 13px;
126
+ cursor: pointer;
127
+ border: none;
128
+ background: none;
129
+ font-family: inherit;
130
+ color: var(--eureka-text, #293241);
131
+ text-align: left;
132
+ }
133
+ .sideItem:hover {
134
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 5%, #fff);
135
+ }
136
+ .sideItemOff {
137
+ opacity: 0.4;
138
+ }
139
+
140
+ /* ---------- Toolbar ---------- */
141
+ .toolbar {
142
+ display: flex;
143
+ align-items: center;
144
+ gap: 12px;
145
+ flex-wrap: wrap;
146
+ }
147
+ .navBtns {
148
+ display: flex;
149
+ gap: 2px;
150
+ }
151
+ .navBtns button {
152
+ border: 1px solid var(--eureka-outline, #d9dee6);
153
+ background: var(--eureka-bg, #fff);
154
+ width: 32px;
155
+ height: 32px;
156
+ border-radius: 8px;
157
+ cursor: pointer;
158
+ color: var(--eureka-primary, #3d5a7f);
159
+ display: grid;
160
+ place-items: center;
161
+ }
162
+ .navBtns button:hover {
163
+ border-color: var(--eureka-primary, #3d5a7f);
164
+ }
165
+ .range {
166
+ font-size: 17px;
167
+ font-weight: 700;
168
+ letter-spacing: -0.01em;
169
+ color: var(--eureka-text, #293241);
170
+ }
171
+ .spacer {
172
+ flex: 1;
173
+ }
174
+ .views {
175
+ display: inline-flex;
176
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 7%, #fff);
177
+ border-radius: 10px;
178
+ padding: 3px;
179
+ }
180
+ .views button {
181
+ border: none;
182
+ background: none;
183
+ padding: 6px 14px;
184
+ border-radius: 8px;
185
+ font-size: 13px;
186
+ font-weight: 600;
187
+ color: #787878;
188
+ cursor: pointer;
189
+ font-family: inherit;
190
+ }
191
+ .views button.viewOn {
192
+ background: #fff;
193
+ color: var(--eureka-primary, #3d5a7f);
194
+ box-shadow: 0 1px 3px rgba(43, 65, 93, 0.14);
195
+ }
196
+
197
+ /* ---------- Time grid (day / week) ---------- */
198
+ .cal {
199
+ border: 1px solid var(--eureka-outline, #d9dee6);
200
+ border-radius: 12px;
201
+ overflow: hidden;
202
+ background: var(--eureka-bg, #fff);
203
+ }
204
+ /* Un solo contenedor con scroll para encabezado + fila de día + grid: las tres
205
+ filas comparten ancho (y scrollbar), así las columnas nunca se descuadran. */
206
+ .calScroll {
207
+ max-height: 520px;
208
+ overflow-y: auto;
209
+ }
210
+ .calSticky {
211
+ position: sticky;
212
+ top: 0;
213
+ z-index: 3;
214
+ background: var(--eureka-bg, #fff);
215
+ }
216
+ .calHead {
217
+ display: grid;
218
+ border-bottom: 1px solid var(--eureka-outline, #eceff3);
219
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 2%, #fff);
220
+ }
221
+ .gutter {
222
+ border-right: 1px solid var(--eureka-outline, #eceff3);
223
+ }
224
+ .dayHead {
225
+ text-align: center;
226
+ padding: 8px 0 9px;
227
+ border: none;
228
+ border-right: 1px solid var(--eureka-outline, #eceff3);
229
+ background: none;
230
+ cursor: pointer;
231
+ font-family: inherit;
232
+ display: flex;
233
+ flex-direction: column;
234
+ align-items: center;
235
+ gap: 2px;
236
+ }
237
+ .dayHead:last-child {
238
+ border-right: none;
239
+ }
240
+ .dayHeadDow {
241
+ font-size: 11px;
242
+ letter-spacing: 0.05em;
243
+ text-transform: uppercase;
244
+ color: #787878;
245
+ font-weight: 700;
246
+ }
247
+ .dayHeadNum {
248
+ font-size: 18px;
249
+ font-weight: 800;
250
+ color: var(--eureka-text, #293241);
251
+ font-variant-numeric: tabular-nums;
252
+ width: 30px;
253
+ height: 30px;
254
+ line-height: 30px;
255
+ border-radius: 50%;
256
+ }
257
+ .dayHeadToday {
258
+ background: var(--eureka-primary, #3d5a7f);
259
+ color: #fff;
260
+ }
261
+
262
+ .grid {
263
+ display: grid;
264
+ }
265
+ .timeCol {
266
+ border-right: 1px solid var(--eureka-outline, #eceff3);
267
+ }
268
+ .hourLabel {
269
+ text-align: right;
270
+ padding-right: 8px;
271
+ font-size: 11px;
272
+ color: #787878;
273
+ font-variant-numeric: tabular-nums;
274
+ position: relative;
275
+ top: -7px;
276
+ }
277
+ .dayCol {
278
+ border-right: 1px solid var(--eureka-outline, #eceff3);
279
+ position: relative;
280
+ cursor: pointer;
281
+ }
282
+ .dayCol:last-child {
283
+ border-right: none;
284
+ }
285
+ .hourCell {
286
+ border-bottom: 1px solid var(--eureka-outline, #eceff3);
287
+ }
288
+ .dayCol:hover .hourCell {
289
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 2%, #fff);
290
+ }
291
+
292
+ /* Ventana de disponibilidad: franja rayada de fondo, se puede agendar encima */
293
+ .avail {
294
+ position: absolute;
295
+ left: 0;
296
+ right: 0;
297
+ border-left: 3px solid;
298
+ z-index: 1;
299
+ cursor: pointer;
300
+ }
301
+ .availTag {
302
+ position: absolute;
303
+ top: 3px;
304
+ left: 8px;
305
+ font-size: 10px;
306
+ font-weight: 700;
307
+ letter-spacing: 0.03em;
308
+ text-transform: uppercase;
309
+ }
310
+
311
+ /* Disponibilidad por defecto (días hábiles): más tenue que una ventana explícita */
312
+ .availFallback {
313
+ border-left: 3px dashed #98a2b3;
314
+ background-image: repeating-linear-gradient(
315
+ -45deg,
316
+ rgba(152, 162, 179, 0.1),
317
+ rgba(152, 162, 179, 0.1) 6px,
318
+ rgba(152, 162, 179, 0.04) 6px,
319
+ rgba(152, 162, 179, 0.04) 12px
320
+ );
321
+ pointer-events: none;
322
+ }
323
+ .availFallback .availTag {
324
+ color: #98a2b3;
325
+ }
326
+
327
+ /* Fila de eventos de todo el día */
328
+ .allDayRow {
329
+ display: grid;
330
+ border-bottom: 1px solid var(--eureka-outline, #eceff3);
331
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 2%, #fff);
332
+ }
333
+ .allDayLbl {
334
+ font-size: 10px;
335
+ color: #787878;
336
+ font-weight: 700;
337
+ text-transform: uppercase;
338
+ letter-spacing: 0.04em;
339
+ text-align: right;
340
+ padding: 6px 8px 6px 0;
341
+ border-right: 1px solid var(--eureka-outline, #eceff3);
342
+ }
343
+ .allDayCell {
344
+ display: flex;
345
+ flex-direction: column;
346
+ gap: 3px;
347
+ padding: 4px 5px;
348
+ border-right: 1px solid var(--eureka-outline, #eceff3);
349
+ min-width: 0;
350
+ }
351
+ .allDayCell:last-child {
352
+ border-right: none;
353
+ }
354
+ .allDayChip {
355
+ border: none;
356
+ border-radius: 6px;
357
+ padding: 2px 8px;
358
+ font-size: 11px;
359
+ font-weight: 700;
360
+ color: #fff;
361
+ cursor: pointer;
362
+ font-family: inherit;
363
+ text-align: left;
364
+ white-space: nowrap;
365
+ overflow: hidden;
366
+ text-overflow: ellipsis;
367
+ }
368
+
369
+ /* Evento sólido */
370
+ .event {
371
+ position: absolute;
372
+ left: 5px;
373
+ right: 5px;
374
+ border-radius: 8px;
375
+ padding: 5px 8px;
376
+ overflow: hidden;
377
+ z-index: 2;
378
+ font-size: 12px;
379
+ color: #fff;
380
+ cursor: pointer;
381
+ border-left: 3px solid rgba(255, 255, 255, 0.5);
382
+ display: flex;
383
+ flex-direction: column;
384
+ }
385
+ .eventTitle {
386
+ font-weight: 700;
387
+ line-height: 1.15;
388
+ white-space: nowrap;
389
+ overflow: hidden;
390
+ text-overflow: ellipsis;
391
+ }
392
+ .eventTime {
393
+ font-size: 11px;
394
+ opacity: 0.9;
395
+ font-variant-numeric: tabular-nums;
396
+ }
397
+ .eventBusy {
398
+ background: repeating-linear-gradient(45deg, #eef0f3, #eef0f3 7px, #e4e7ec 7px, #e4e7ec 14px);
399
+ color: #787878;
400
+ border-left-color: #98a2b3;
401
+ }
402
+
403
+ /* ---------- Month view ---------- */
404
+ .monthGrid {
405
+ display: grid;
406
+ grid-template-columns: repeat(7, 1fr);
407
+ border: 1px solid var(--eureka-outline, #d9dee6);
408
+ border-radius: 12px;
409
+ overflow: hidden;
410
+ background: var(--eureka-bg, #fff);
411
+ }
412
+ .monthDow {
413
+ text-align: center;
414
+ font-size: 11px;
415
+ font-weight: 700;
416
+ text-transform: uppercase;
417
+ letter-spacing: 0.05em;
418
+ color: #787878;
419
+ padding: 8px 0;
420
+ border-bottom: 1px solid var(--eureka-outline, #eceff3);
421
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 2%, #fff);
422
+ }
423
+ .monthCell {
424
+ min-height: 86px;
425
+ border: none;
426
+ border-bottom: 1px solid var(--eureka-outline, #eceff3);
427
+ border-right: 1px solid var(--eureka-outline, #eceff3);
428
+ background: none;
429
+ cursor: pointer;
430
+ font-family: inherit;
431
+ text-align: left;
432
+ padding: 6px;
433
+ display: flex;
434
+ flex-direction: column;
435
+ align-items: flex-start;
436
+ gap: 3px;
437
+ min-width: 0;
438
+ }
439
+ .monthCell:nth-child(7n) {
440
+ border-right: none;
441
+ }
442
+ .monthCell:hover {
443
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 3%, #fff);
444
+ }
445
+ .monthCellOut {
446
+ background: #fbfcfd;
447
+ }
448
+ .monthCellOut .monthNum {
449
+ color: #c3c9d2;
450
+ }
451
+ .monthNum {
452
+ font-size: 12.5px;
453
+ font-weight: 700;
454
+ color: var(--eureka-text, #293241);
455
+ font-variant-numeric: tabular-nums;
456
+ width: 24px;
457
+ height: 24px;
458
+ line-height: 24px;
459
+ text-align: center;
460
+ border-radius: 50%;
461
+ }
462
+ .monthEvent {
463
+ font-size: 10.5px;
464
+ font-weight: 600;
465
+ color: #fff;
466
+ border-radius: 5px;
467
+ padding: 1px 6px;
468
+ max-width: 100%;
469
+ white-space: nowrap;
470
+ overflow: hidden;
471
+ text-overflow: ellipsis;
472
+ }
473
+ .monthMore {
474
+ font-size: 10.5px;
475
+ color: #787878;
476
+ font-weight: 600;
477
+ }
478
+
479
+ /* ---------- Agenda view ---------- */
480
+ .agenda {
481
+ border: 1px solid var(--eureka-outline, #d9dee6);
482
+ border-radius: 12px;
483
+ background: var(--eureka-bg, #fff);
484
+ padding: 8px 0;
485
+ max-height: 520px;
486
+ overflow-y: auto;
487
+ }
488
+ .agendaDay {
489
+ padding: 8px 16px;
490
+ }
491
+ .agendaDayLabel {
492
+ font-size: 12px;
493
+ font-weight: 700;
494
+ text-transform: uppercase;
495
+ letter-spacing: 0.05em;
496
+ color: var(--eureka-primary, #3d5a7f);
497
+ margin-bottom: 4px;
498
+ }
499
+ .agendaRow {
500
+ display: flex;
501
+ align-items: center;
502
+ gap: 10px;
503
+ width: 100%;
504
+ border: none;
505
+ background: none;
506
+ padding: 7px 8px;
507
+ border-radius: 8px;
508
+ cursor: pointer;
509
+ font-family: inherit;
510
+ text-align: left;
511
+ }
512
+ .agendaRow:hover {
513
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 4%, #fff);
514
+ }
515
+ .agendaTitle {
516
+ flex: 1;
517
+ font-size: 13.5px;
518
+ font-weight: 600;
519
+ color: var(--eureka-text, #293241);
520
+ min-width: 0;
521
+ overflow: hidden;
522
+ text-overflow: ellipsis;
523
+ white-space: nowrap;
524
+ }
525
+ .agendaTime {
526
+ font-size: 12.5px;
527
+ color: #787878;
528
+ font-variant-numeric: tabular-nums;
529
+ }
530
+ .agendaEmpty {
531
+ border: 1px solid var(--eureka-outline, #d9dee6);
532
+ border-radius: 12px;
533
+ background: var(--eureka-bg, #fff);
534
+ padding: 32px;
535
+ text-align: center;
536
+ font-size: 13.5px;
537
+ color: #787878;
538
+ }
539
+
540
+ .catDot {
541
+ width: 11px;
542
+ height: 11px;
543
+ border-radius: 4px;
544
+ flex: none;
545
+ display: inline-block;
546
+ }
547
+
548
+ /* ---------- Popovers ---------- */
549
+ .pop {
550
+ width: 320px;
551
+ border: 1px solid var(--eureka-outline, #d9dee6);
552
+ border-radius: 14px;
553
+ box-shadow: 0 18px 44px rgba(43, 65, 93, 0.22);
554
+ overflow: hidden;
555
+ }
556
+ .popHead {
557
+ padding: 13px 15px;
558
+ display: flex;
559
+ align-items: center;
560
+ gap: 9px;
561
+ border-bottom: 1px solid var(--eureka-outline, #eceff3);
562
+ }
563
+ .popBar {
564
+ width: 5px;
565
+ height: 34px;
566
+ border-radius: 4px;
567
+ flex: none;
568
+ }
569
+ .popTitle {
570
+ margin: 0;
571
+ font-size: 15px;
572
+ font-weight: 800;
573
+ color: var(--eureka-text, #293241);
574
+ }
575
+ .popWhen {
576
+ font-size: 12px;
577
+ color: #787878;
578
+ font-variant-numeric: tabular-nums;
579
+ }
580
+ .popBody {
581
+ padding: 13px 15px;
582
+ display: flex;
583
+ flex-direction: column;
584
+ gap: 12px;
585
+ }
586
+ .popHint {
587
+ margin: 0;
588
+ font-size: 12px;
589
+ color: #787878;
590
+ line-height: 1.45;
591
+ }
592
+
593
+ /* Tabs Disponibilidad / Evento del popover de creación */
594
+ .tabs {
595
+ display: flex;
596
+ gap: 4px;
597
+ padding: 8px 15px 0;
598
+ }
599
+ .tab {
600
+ border: none;
601
+ background: none;
602
+ padding: 6px 12px;
603
+ border-radius: 8px;
604
+ font-size: 12.5px;
605
+ font-weight: 600;
606
+ color: #787878;
607
+ cursor: pointer;
608
+ font-family: inherit;
609
+ }
610
+ .tabOn {
611
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 9%, #fff);
612
+ color: var(--eureka-primary, #3d5a7f);
613
+ }
614
+ .checkRow {
615
+ display: flex;
616
+ align-items: center;
617
+ gap: 8px;
618
+ font-size: 13px;
619
+ color: var(--eureka-text, #293241);
620
+ cursor: pointer;
621
+ }
622
+ .popActions {
623
+ display: flex;
624
+ flex-wrap: wrap;
625
+ gap: 8px;
626
+ padding: 12px 15px;
627
+ border-top: 1px solid var(--eureka-outline, #eceff3);
628
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 2%, #fff);
629
+ }
630
+
631
+ .field {
632
+ display: flex;
633
+ flex-direction: column;
634
+ gap: 4px;
635
+ min-width: 0;
636
+ }
637
+ .fieldLabel {
638
+ font-size: 11px;
639
+ font-weight: 700;
640
+ color: #787878;
641
+ text-transform: uppercase;
642
+ letter-spacing: 0.04em;
643
+ }
644
+ .catRow {
645
+ display: flex;
646
+ gap: 6px;
647
+ flex-wrap: wrap;
648
+ }
649
+ .catChip {
650
+ display: inline-flex;
651
+ align-items: center;
652
+ gap: 6px;
653
+ border: 1px solid var(--eureka-outline, #d9dee6);
654
+ border-radius: 20px;
655
+ padding: 4px 10px;
656
+ font-size: 12px;
657
+ cursor: pointer;
658
+ background: none;
659
+ font-family: inherit;
660
+ color: var(--eureka-text, #293241);
661
+ }
662
+ .catChipOn {
663
+ border-color: var(--eureka-primary, #3d5a7f);
664
+ background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 8%, #fff);
665
+ font-weight: 700;
666
+ }
667
+ .timeRow {
668
+ display: flex;
669
+ align-items: flex-end;
670
+ gap: 8px;
671
+ }
672
+ .timeRow .field {
673
+ flex: 1;
674
+ }
675
+ .timeDash {
676
+ color: #787878;
677
+ padding-bottom: 9px;
678
+ }
679
+ .timeInput,
680
+ .selectInput {
681
+ border: 1px solid var(--eureka-outline, #d9dee6);
682
+ border-radius: 9px;
683
+ padding: 8px 10px;
684
+ font-size: 13px;
685
+ font-family: inherit;
686
+ color: var(--eureka-text, #293241);
687
+ background: #fff;
688
+ width: 100%;
689
+ }
690
+ .timeInput:focus,
691
+ .selectInput:focus {
692
+ outline: none;
693
+ border-color: var(--eureka-primary, #3d5a7f);
694
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--eureka-primary, #3d5a7f) 14%, transparent);
695
+ }
696
+ .detailChip {
697
+ align-self: flex-start;
698
+ font-size: 11px;
699
+ font-weight: 700;
700
+ padding: 2px 9px;
701
+ border-radius: 20px;
702
+ background: color-mix(in srgb, currentcolor 10%, #fff);
703
+ }
704
+ .detailNotes {
705
+ margin: 0;
706
+ font-size: 13px;
707
+ color: var(--eureka-text, #293241);
708
+ line-height: 1.5;
709
+ }
710
+
711
+ .err {
712
+ font-size: 12px;
713
+ color: #d0473f;
714
+ }
715
+
716
+ /* ---------- Responsive ---------- */
717
+ @media (max-width: 880px) {
718
+ .app {
719
+ grid-template-columns: 1fr;
720
+ }
721
+ /* Sidebar compacto: botón + listas como chips horizontales, sin mini-calendario
722
+ (el calendario principal ya cubre la navegación de fechas) */
723
+ .side {
724
+ border-right: none;
725
+ border-bottom: 1px solid var(--eureka-outline, #eceff3);
726
+ flex-direction: row;
727
+ flex-wrap: wrap;
728
+ align-items: flex-start;
729
+ gap: 14px;
730
+ padding: 14px 16px;
731
+ }
732
+ .miniWrap {
733
+ display: none;
734
+ }
735
+ .sideList {
736
+ flex-direction: row;
737
+ flex-wrap: wrap;
738
+ align-items: center;
739
+ gap: 5px;
740
+ }
741
+ .sideLbl {
742
+ flex-basis: 100%;
743
+ margin-bottom: 2px;
744
+ }
745
+ .sideItem {
746
+ padding: 4px 10px;
747
+ border: 1px solid var(--eureka-outline, #d9dee6);
748
+ border-radius: 16px;
749
+ font-size: 12px;
750
+ }
751
+ }
752
+ @media (max-width: 720px) {
753
+ .cal {
754
+ overflow-x: auto;
755
+ }
756
+ /* La semana necesita ancho real: scroll horizontal con columnas usables */
757
+ .calSticky,
758
+ .grid {
759
+ min-width: 640px;
760
+ }
761
+ .range {
762
+ font-size: 15px;
763
+ }
764
+ .toolbar {
765
+ row-gap: 10px;
766
+ }
767
+ .main {
768
+ padding: 12px 12px 16px;
769
+ }
770
+ /* Mes: celdas más altas y eventos como puntos de color (no se ocultan) */
771
+ .monthCell {
772
+ min-height: 68px;
773
+ padding: 5px;
774
+ }
775
+ .monthEvent {
776
+ width: 9px;
777
+ height: 9px;
778
+ padding: 0;
779
+ border-radius: 50%;
780
+ font-size: 0;
781
+ }
782
+ .monthMore {
783
+ font-size: 10px;
784
+ }
785
+ }