@arquimedes.co/eureka-forms 3.0.59-new-steps → 3.0.59

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 (133) hide show
  1. package/dist/@Types/FormStep.d.ts +2 -7
  2. package/dist/@Types/FormStep.js +1 -2
  3. package/dist/@Types/GenericFormSteps.d.ts +7 -0
  4. package/dist/App/App.cbr.test.js +78 -0
  5. package/dist/App/App.d.ts +6 -1
  6. package/dist/App/AppHooks.js +2 -2
  7. package/dist/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/Incident/Incident.js +2 -1
  8. package/dist/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/Incident/Incident.module.css +1 -2
  9. package/dist/FormSteps/CheckBoxStep/CheckBoxStep.mobileLabel.test.js +123 -0
  10. package/dist/FormSteps/CheckBoxStep/MaterialCheckBoxStep/MaterialCheckBoxStep.js +34 -7
  11. package/dist/FormSteps/CheckBoxStep/MaterialCheckBoxStep/MaterialCheckBoxStep.module.css +30 -0
  12. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/MapperElementComponent.js +1 -1
  13. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/PagedMapperElement/PagedMapperElement.js +2 -1
  14. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/PagedMapperElement/PagedMapperElement.module.css +1 -2
  15. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/PillMapperElement/PillMapperElement.js +2 -0
  16. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/PillMapperElement/PillMapperElement.module.css +1 -2
  17. package/dist/FormSteps/PhoneInputStep/MaterialTextInputStep/MaterialPhoneInputStep.js +5 -4
  18. package/dist/FormSteps/Step.js +4 -19
  19. package/dist/FormSteps/StepFunctions.d.ts +16 -1
  20. package/dist/FormSteps/StepFunctions.js +58 -14
  21. package/dist/FormSteps/StepFunctions.test.js +32 -55
  22. package/dist/FormSteps/TextInputStep/MaterialTextInputStep/MaterialTextInputStep.js +5 -4
  23. package/dist/FormSteps/TitleStep/MaterialTitleStep/MaterialTitleStep.js +4 -4
  24. package/dist/FormSteps/Utils/@StepFiller/StepFiller.js +5 -4
  25. package/dist/FormSteps/Utils/MaterialInputContainer/MaterialInputContainer.js +5 -4
  26. package/dist/Shared/ErkDatePicker/ErkDatePicker.js +10 -8
  27. package/dist/Shared/ErkDateRangePicker/ErkDateRangePicker.d.ts +3 -2
  28. package/dist/Shared/ErkDateRangePicker/ErkDateRangePicker.js +7 -6
  29. package/dist/Shared/ErkTimePicker/ErkTimePicker.js +1 -0
  30. package/dist/Shared/ErkTimePicker/ErkTimePicker.module.css +0 -1
  31. package/dist/Utils/CBRFunctions.js +4 -2
  32. package/dist/Utils/CBRFunctions.test.d.ts +1 -0
  33. package/dist/Utils/CBRFunctions.test.js +123 -0
  34. package/dist/Utils/MaterialProviders.js +6 -0
  35. package/dist/Utils/SurfaceStyle.d.ts +11 -0
  36. package/dist/Utils/SurfaceStyle.js +14 -0
  37. package/dist/constants/FormStepTypes.d.ts +1 -5
  38. package/dist/constants/FormStepTypes.js +0 -4
  39. package/dist/hooks.d.ts +1 -0
  40. package/dist/hooks.js +1 -0
  41. package/dist/index.lib.d.ts +2 -4
  42. package/dist/index.lib.js +1 -3
  43. package/package.json +7 -8
  44. package/dist/@Types/AvailabilityFormStep.d.ts +0 -48
  45. package/dist/@Types/AvailabilityFormStep.js +0 -24
  46. package/dist/@Types/BankAccountFormStep.d.ts +0 -67
  47. package/dist/@Types/BankAccountFormStep.js +0 -14
  48. package/dist/@Types/BookingFormStep.d.ts +0 -166
  49. package/dist/@Types/BookingFormStep.js +0 -44
  50. package/dist/@Types/CalendarFormStep.d.ts +0 -209
  51. package/dist/@Types/CalendarFormStep.js +0 -55
  52. package/dist/@Types/CommunicationChannelFormStep.d.ts +0 -51
  53. package/dist/@Types/CommunicationChannelFormStep.js +0 -15
  54. package/dist/@Types/ConsentFormStep.d.ts +0 -36
  55. package/dist/@Types/ConsentFormStep.js +0 -8
  56. package/dist/@Types/EntityFormFormStep.d.ts +0 -66
  57. package/dist/@Types/EntityFormFormStep.js +0 -20
  58. package/dist/@Types/EventFormStep.d.ts +0 -52
  59. package/dist/@Types/EventFormStep.js +0 -13
  60. package/dist/@Types/ExternalReferenceFormStep.d.ts +0 -74
  61. package/dist/@Types/ExternalReferenceFormStep.js +0 -20
  62. package/dist/@Types/LocationFormStep.d.ts +0 -159
  63. package/dist/@Types/LocationFormStep.js +0 -46
  64. package/dist/@Types/NumericFormSteps.d.ts +0 -108
  65. package/dist/@Types/NumericFormSteps.js +0 -20
  66. package/dist/@Types/PredefinedSelectorFormStep.d.ts +0 -51
  67. package/dist/@Types/PredefinedSelectorFormStep.js +0 -39
  68. package/dist/@Types/StepRef.d.ts +0 -135
  69. package/dist/@Types/StepRef.js +0 -49
  70. package/dist/FormSteps/AvailabilityStep/AvailabilityStep.d.ts +0 -7
  71. package/dist/FormSteps/AvailabilityStep/AvailabilityStep.js +0 -14
  72. package/dist/FormSteps/AvailabilityStep/MaterialAvailabilityStep/MaterialAvailabilityStep.d.ts +0 -8
  73. package/dist/FormSteps/AvailabilityStep/MaterialAvailabilityStep/MaterialAvailabilityStep.js +0 -32
  74. package/dist/FormSteps/BookingStep/BookingStep.d.ts +0 -17
  75. package/dist/FormSteps/BookingStep/BookingStep.js +0 -14
  76. package/dist/FormSteps/BookingStep/MaterialBookingStep/MaterialBookingStep.d.ts +0 -7
  77. package/dist/FormSteps/BookingStep/MaterialBookingStep/MaterialBookingStep.js +0 -32
  78. package/dist/FormSteps/LocationStep/LocationStep.d.ts +0 -10
  79. package/dist/FormSteps/LocationStep/LocationStep.js +0 -14
  80. package/dist/FormSteps/LocationStep/MaterialLocationStep/MaterialLocationStep.d.ts +0 -3
  81. package/dist/FormSteps/LocationStep/MaterialLocationStep/MaterialLocationStep.js +0 -54
  82. package/dist/FormSteps/LocationStep/MaterialLocationStep/MaterialLocationStep.module.css +0 -18
  83. package/dist/FormSteps/NumberStep/MaterialNumberStep/MaterialNumberStep.d.ts +0 -3
  84. package/dist/FormSteps/NumberStep/MaterialNumberStep/MaterialNumberStep.js +0 -168
  85. package/dist/FormSteps/NumberStep/MaterialNumberStep/MaterialNumberStep.module.css +0 -94
  86. package/dist/FormSteps/NumberStep/NumberStep.d.ts +0 -10
  87. package/dist/FormSteps/NumberStep/NumberStep.js +0 -14
  88. package/dist/Icons/AddIcon.d.ts +0 -3
  89. package/dist/Icons/AddIcon.js +0 -7
  90. package/dist/Icons/EditIcon.d.ts +0 -3
  91. package/dist/Icons/EditIcon.js +0 -7
  92. package/dist/Icons/RemoveIcon.d.ts +0 -3
  93. package/dist/Icons/RemoveIcon.js +0 -7
  94. package/dist/Icons/ViewDayIcon.d.ts +0 -3
  95. package/dist/Icons/ViewDayIcon.js +0 -7
  96. package/dist/Icons/ViewWeekIcon.d.ts +0 -3
  97. package/dist/Icons/ViewWeekIcon.js +0 -7
  98. package/dist/Shared/ErkAddressAutocomplete/ErkAddressAutocomplete.d.ts +0 -19
  99. package/dist/Shared/ErkAddressAutocomplete/ErkAddressAutocomplete.js +0 -80
  100. package/dist/Shared/ErkAddressAutocomplete/ErkAddressAutocomplete.module.css +0 -88
  101. package/dist/Shared/ErkAddressAutocomplete/googlePlaces.d.ts +0 -29
  102. package/dist/Shared/ErkAddressAutocomplete/googlePlaces.js +0 -139
  103. package/dist/Shared/ErkAvailabilityPicker/ErkAvailabilityPicker.d.ts +0 -25
  104. package/dist/Shared/ErkAvailabilityPicker/ErkAvailabilityPicker.js +0 -112
  105. package/dist/Shared/ErkAvailabilityPicker/ErkAvailabilityPicker.module.css +0 -88
  106. package/dist/Shared/ErkAvailabilityPicker/ErkAvailabilityPicker.test.js +0 -75
  107. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.d.ts +0 -31
  108. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.js +0 -223
  109. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.module.css +0 -608
  110. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.stories.d.ts +0 -28
  111. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.stories.js +0 -117
  112. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.stories.test.js +0 -49
  113. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.test.d.ts +0 -1
  114. package/dist/Shared/ErkBookingPicker/ErkBookingPicker.test.js +0 -107
  115. package/dist/Shared/ErkIconButton/ErkIconButton.d.ts +0 -17
  116. package/dist/Shared/ErkIconButton/ErkIconButton.js +0 -11
  117. package/dist/Shared/ErkIconButton/ErkIconButton.module.css +0 -41
  118. package/dist/Shared/ErkLocationField/ErkLocationField.d.ts +0 -24
  119. package/dist/Shared/ErkLocationField/ErkLocationField.js +0 -128
  120. package/dist/Shared/ErkLocationField/ErkLocationField.module.css +0 -164
  121. package/dist/Shared/ErkLocationField/ErkLocationField.test.d.ts +0 -1
  122. package/dist/Shared/ErkLocationField/ErkLocationField.test.js +0 -82
  123. package/dist/Shared/ErkLocationField/addressFields.d.ts +0 -12
  124. package/dist/Shared/ErkLocationField/addressFields.js +0 -34
  125. package/dist/Shared/ErkLocationField/locationRestrictions.d.ts +0 -6
  126. package/dist/Shared/ErkLocationField/locationRestrictions.js +0 -51
  127. package/dist/Shared/ErkLocationInput/ErkLocationInput.d.ts +0 -15
  128. package/dist/Shared/ErkLocationInput/ErkLocationInput.js +0 -502
  129. package/dist/Shared/ErkLocationInput/ErkLocationInput.module.css +0 -115
  130. package/dist/Shared/ErkNumberField/ErkNumberField.d.ts +0 -42
  131. package/dist/Shared/ErkNumberField/ErkNumberField.js +0 -170
  132. /package/dist/{Shared/ErkAvailabilityPicker/ErkAvailabilityPicker.test.d.ts → App/App.cbr.test.d.ts} +0 -0
  133. /package/dist/{Shared/ErkBookingPicker/ErkBookingPicker.stories.test.d.ts → FormSteps/CheckBoxStep/CheckBoxStep.mobileLabel.test.d.ts} +0 -0
@@ -1,608 +0,0 @@
1
- .container {
2
- max-width: 100%;
3
- box-sizing: border-box;
4
- }
5
-
6
- .card {
7
- border: 1px solid var(--eureka-outline, #d9dee6);
8
- border-radius: 16px;
9
- overflow: hidden;
10
- background: var(--eureka-bg, #fff);
11
- box-shadow: 0 12px 34px rgba(43, 65, 93, 0.08);
12
- transition: opacity 0.15s ease;
13
- /* La columna derecha queda a la medida de su contenido (calendario ~360px, personas ~420px) */
14
- max-width: 700px;
15
- margin: 0 auto;
16
- }
17
- /* En el paso final el contenido es una sola columna: la tarjeta se angosta aún más */
18
- .cardFinal {
19
- max-width: 560px;
20
- }
21
- .xfade {
22
- opacity: 0;
23
- }
24
- .book {
25
- display: grid;
26
- grid-template-columns: 280px 1fr;
27
- min-height: 400px;
28
- }
29
-
30
- /* ---------- Left: who + details + progress ---------- */
31
- .who {
32
- padding: 22px 20px;
33
- border-right: 1px solid var(--eureka-outline, #eceff3);
34
- display: flex;
35
- flex-direction: column;
36
- gap: 16px;
37
- background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 4%, #fff);
38
- }
39
- .brand {
40
- display: flex;
41
- align-items: center;
42
- gap: 11px;
43
- }
44
- .avatar {
45
- width: 46px;
46
- height: 46px;
47
- border-radius: 50%;
48
- background: var(--eureka-primary, #3d5a7f);
49
- color: #fff;
50
- display: grid;
51
- place-items: center;
52
- font-weight: 800;
53
- font-size: 17px;
54
- flex: none;
55
- }
56
- .brandName {
57
- margin: 0;
58
- font-size: 16px;
59
- font-weight: 800;
60
- color: var(--eureka-text, #293241);
61
- }
62
- .brandRole {
63
- margin: 2px 0 0;
64
- font-size: 12.5px;
65
- color: #787878;
66
- }
67
- .meta {
68
- display: flex;
69
- flex-direction: column;
70
- gap: 11px;
71
- }
72
- .row {
73
- display: flex;
74
- align-items: center;
75
- gap: 10px;
76
- font-size: 13px;
77
- color: var(--eureka-text, #293241);
78
- }
79
- .ic {
80
- color: var(--eureka-primary, #3d5a7f);
81
- width: 16px;
82
- text-align: center;
83
- flex: none;
84
- }
85
- .pill {
86
- display: inline-flex;
87
- align-items: center;
88
- gap: 6px;
89
- font-size: 12px;
90
- font-weight: 700;
91
- padding: 3px 10px;
92
- border-radius: 20px;
93
- background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 10%, #fff);
94
- color: var(--eureka-primary, #3d5a7f);
95
- }
96
-
97
- .sum {
98
- display: flex;
99
- flex-direction: column;
100
- gap: 8px;
101
- border-top: 1px solid var(--eureka-outline, #eceff3);
102
- padding-top: 14px;
103
- }
104
- .srow {
105
- display: flex;
106
- align-items: center;
107
- gap: 9px;
108
- font-size: 13px;
109
- color: #787878;
110
- }
111
- .dot {
112
- width: 18px;
113
- height: 18px;
114
- border-radius: 50%;
115
- border: 1.5px dashed var(--eureka-outline, #d9dee6);
116
- flex: none;
117
- display: grid;
118
- place-items: center;
119
- font-size: 10px;
120
- color: transparent;
121
- }
122
- .srowOn {
123
- color: var(--eureka-text, #293241);
124
- font-weight: 600;
125
- }
126
- .srowOn .dot {
127
- border: none;
128
- background: #2e9367;
129
- color: #fff;
130
- }
131
-
132
- .lock {
133
- margin-top: auto;
134
- font-size: 12px;
135
- color: #787878;
136
- background: #fff7ed;
137
- border: 1px solid #f4d9b0;
138
- border-radius: 9px;
139
- padding: 8px 10px;
140
- }
141
- .lock b {
142
- color: #b7791f;
143
- }
144
-
145
- /* ---------- Right: breadcrumb + one pane at a time ---------- */
146
- .right {
147
- padding: 18px 22px 22px;
148
- min-width: 0;
149
- display: flex;
150
- flex-direction: column;
151
- }
152
-
153
- .stepper {
154
- display: flex;
155
- align-items: center;
156
- gap: 8px;
157
- font-size: 12.5px;
158
- color: #787878;
159
- margin-bottom: 20px;
160
- flex-wrap: wrap;
161
- }
162
- .stepGroup {
163
- display: inline-flex;
164
- align-items: center;
165
- gap: 8px;
166
- }
167
- .stepItem {
168
- display: inline-flex;
169
- align-items: center;
170
- gap: 7px;
171
- border: none;
172
- background: none;
173
- padding: 0;
174
- font: inherit;
175
- color: inherit;
176
- cursor: default;
177
- }
178
- .stepNum {
179
- width: 20px;
180
- height: 20px;
181
- border-radius: 50%;
182
- display: grid;
183
- place-items: center;
184
- font-size: 11px;
185
- font-weight: 800;
186
- background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 8%, #fff);
187
- color: #9aa3b0;
188
- flex: none;
189
- }
190
- .stepDone {
191
- color: var(--eureka-text, #293241);
192
- cursor: pointer;
193
- }
194
- .stepDone .stepNum {
195
- background: #2e9367;
196
- color: #fff;
197
- }
198
- .stepOn {
199
- color: var(--eureka-text, #293241);
200
- font-weight: 700;
201
- }
202
- .stepOn .stepNum {
203
- background: var(--eureka-primary, #3d5a7f);
204
- color: #fff;
205
- }
206
- .stepSep {
207
- width: 22px;
208
- height: 1px;
209
- background: var(--eureka-outline, #d9dee6);
210
- }
211
-
212
- .pane {
213
- flex: 1;
214
- animation: erk-booking-fadein 0.22s ease;
215
- }
216
- @keyframes erk-booking-fadein {
217
- from {
218
- opacity: 0;
219
- transform: translateY(4px);
220
- }
221
- to {
222
- opacity: 1;
223
- transform: none;
224
- }
225
- }
226
-
227
- .q {
228
- margin: 0 0 4px;
229
- font-size: 17px;
230
- font-weight: 800;
231
- color: var(--eureka-text, #293241);
232
- text-wrap: balance;
233
- }
234
- .qsub {
235
- margin: 0 0 18px;
236
- font-size: 13px;
237
- color: #787878;
238
- }
239
-
240
- /* step: person */
241
- .persons {
242
- display: flex;
243
- flex-direction: column;
244
- gap: 10px;
245
- max-width: 420px;
246
- }
247
- .pcard {
248
- display: flex;
249
- align-items: center;
250
- gap: 12px;
251
- border: 1px solid var(--eureka-outline, #d9dee6);
252
- border-radius: 12px;
253
- padding: 11px 14px 11px 11px;
254
- background: #fff;
255
- cursor: pointer;
256
- text-align: left;
257
- width: 100%;
258
- font: inherit;
259
- }
260
- .pcard:hover {
261
- border-color: var(--eureka-primary, #3d5a7f);
262
- }
263
- .pcardOn {
264
- border-color: var(--eureka-primary, #3d5a7f);
265
- background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 8%, #fff);
266
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--eureka-primary, #3d5a7f) 12%, transparent);
267
- }
268
- .pav {
269
- width: 38px;
270
- height: 38px;
271
- border-radius: 50%;
272
- background: #c9d4e2;
273
- color: #2b415d;
274
- display: grid;
275
- place-items: center;
276
- font-weight: 800;
277
- font-size: 13px;
278
- flex: none;
279
- }
280
- .pcardAny .pav {
281
- background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 8%, #fff);
282
- color: var(--eureka-primary, #3d5a7f);
283
- }
284
- .pinfo {
285
- display: flex;
286
- flex-direction: column;
287
- }
288
- .pn {
289
- font-size: 14px;
290
- font-weight: 700;
291
- color: var(--eureka-text, #293241);
292
- }
293
- .pr {
294
- font-size: 12px;
295
- color: #787878;
296
- }
297
- .chk {
298
- margin-left: auto;
299
- color: #2e9367;
300
- font-weight: 800;
301
- visibility: hidden;
302
- }
303
- .pcardOn .chk {
304
- visibility: visible;
305
- }
306
-
307
- /* step: day (month grid) */
308
- .monthWrap {
309
- max-width: 360px;
310
- }
311
- .monthHead {
312
- display: flex;
313
- align-items: center;
314
- justify-content: space-between;
315
- margin-bottom: 8px;
316
- }
317
- .monthTitle {
318
- font-size: 13.5px;
319
- font-weight: 700;
320
- color: var(--eureka-text, #293241);
321
- }
322
- .monthNav button {
323
- border: none;
324
- background: none;
325
- color: #787878;
326
- cursor: pointer;
327
- font-size: 15px;
328
- padding: 2px 8px;
329
- border-radius: 6px;
330
- }
331
- .monthNav button:hover {
332
- background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 8%, #fff);
333
- }
334
- .mgrid {
335
- display: grid;
336
- grid-template-columns: repeat(7, 1fr);
337
- gap: 4px;
338
- font-variant-numeric: tabular-nums;
339
- }
340
- .mdow {
341
- text-align: center;
342
- font-size: 10px;
343
- font-weight: 700;
344
- color: #9aa3b0;
345
- padding-bottom: 2px;
346
- }
347
- .mday {
348
- position: relative;
349
- aspect-ratio: 1;
350
- display: grid;
351
- place-items: center;
352
- font-size: 13px;
353
- border: none;
354
- background: none;
355
- border-radius: 9px;
356
- cursor: pointer;
357
- font: inherit;
358
- }
359
- .mdayFree {
360
- color: var(--eureka-text, #293241);
361
- font-weight: 600;
362
- }
363
- .mdayFree::after {
364
- content: '';
365
- position: absolute;
366
- bottom: 5px;
367
- width: 4px;
368
- height: 4px;
369
- border-radius: 50%;
370
- background: #2e9367;
371
- }
372
- .mdayFree:hover {
373
- background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 8%, #fff);
374
- }
375
- .mdayNone {
376
- color: #c8ced7;
377
- cursor: default;
378
- }
379
- .mdaySel {
380
- background: var(--eureka-primary, #3d5a7f);
381
- color: #fff;
382
- font-weight: 700;
383
- }
384
- .mdaySel::after {
385
- content: '';
386
- position: absolute;
387
- bottom: 5px;
388
- width: 4px;
389
- height: 4px;
390
- border-radius: 50%;
391
- background: #fff;
392
- }
393
-
394
- /* step: hour */
395
- .slots {
396
- display: grid;
397
- grid-template-columns: repeat(3, 1fr);
398
- gap: 9px;
399
- max-width: 380px;
400
- }
401
- .slot {
402
- border: 1px solid var(--eureka-outline, #d9dee6);
403
- background: #fff;
404
- border-radius: 10px;
405
- padding: 11px 0;
406
- font-size: 13.5px;
407
- font-weight: 600;
408
- color: var(--eureka-primary, #3d5a7f);
409
- cursor: pointer;
410
- font-variant-numeric: tabular-nums;
411
- font-family: inherit;
412
- }
413
- .slot:hover {
414
- border-color: var(--eureka-primary, #3d5a7f);
415
- background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 7%, #fff);
416
- }
417
- .slotSel {
418
- background: var(--eureka-primary, #3d5a7f);
419
- color: #fff;
420
- border-color: var(--eureka-primary, #3d5a7f);
421
- }
422
- .slotTaken {
423
- color: #c3c9d2;
424
- border-style: dashed;
425
- cursor: not-allowed;
426
- text-decoration: line-through;
427
- }
428
- .takenNote {
429
- margin: 10px 0 0;
430
- font-size: 11.5px;
431
- color: #787878;
432
- }
433
- .empty {
434
- font-size: 13px;
435
- color: #787878;
436
- padding: 12px 0;
437
- }
438
-
439
- /* step: confirm — the left summary expands into a centered stacked column */
440
- .bookFinal {
441
- display: flex;
442
- flex-direction: column;
443
- }
444
- .bookFinal .right {
445
- order: 1;
446
- flex: none;
447
- }
448
- .bookFinal .who {
449
- order: 2;
450
- flex: 1;
451
- border-right: none;
452
- border-top: 1px solid var(--eureka-outline, #eceff3);
453
- padding: 24px 20px;
454
- gap: 18px;
455
- align-items: center;
456
- }
457
- .bookFinal .who > * {
458
- width: 100%;
459
- max-width: 440px;
460
- }
461
- .bookFinal .lock {
462
- margin-top: 4px;
463
- }
464
- .bookFinal .right {
465
- padding-bottom: 10px;
466
- }
467
- .paneFinal {
468
- flex: none;
469
- }
470
- .paneFinal .qsub {
471
- margin-bottom: 0;
472
- }
473
-
474
- /* ---------- Bottom bar: navigation ---------- */
475
- .navbar {
476
- display: flex;
477
- align-items: center;
478
- gap: 14px;
479
- padding: 14px 22px;
480
- border-top: 1px solid var(--eureka-outline, #eceff3);
481
- background: color-mix(in srgb, var(--eureka-primary, #3d5a7f) 3%, #fff);
482
- }
483
- .navSummary {
484
- flex: 1;
485
- min-width: 0;
486
- font-size: 13px;
487
- color: #787878;
488
- overflow: hidden;
489
- text-overflow: ellipsis;
490
- white-space: nowrap;
491
- }
492
- .navSummary b {
493
- color: var(--eureka-text, #293241);
494
- }
495
- .navHl {
496
- color: var(--booking-accent, #ee6c4d);
497
- font-weight: 800;
498
- }
499
- /* Contacto: vive en la columna del paso final, apilado como el resto del resumen */
500
- .cfields {
501
- display: flex;
502
- flex-direction: column;
503
- gap: 10px;
504
- }
505
- .err {
506
- font-size: 12px;
507
- color: #d0473f;
508
- margin-top: 6px;
509
- }
510
-
511
- /* entry card — trigger and booked summary share the wizard card aesthetic */
512
- .entry {
513
- display: flex;
514
- align-items: center;
515
- gap: 13px;
516
- border: 1px solid var(--eureka-outline, #d9dee6);
517
- border-radius: 16px;
518
- padding: 14px 18px;
519
- background: var(--eureka-bg, #fff);
520
- box-shadow: 0 12px 34px rgba(43, 65, 93, 0.08);
521
- max-width: 560px;
522
- }
523
- .entryInfo {
524
- flex: 1;
525
- display: flex;
526
- flex-direction: column;
527
- gap: 2px;
528
- min-width: 0;
529
- }
530
- .entryLabel {
531
- font-size: 14.5px;
532
- font-weight: 700;
533
- color: var(--eureka-text, #293241);
534
- }
535
- .entrySub {
536
- font-size: 12.5px;
537
- color: #787878;
538
- }
539
- .bookedIcon {
540
- width: 46px;
541
- height: 46px;
542
- border-radius: 50%;
543
- background: #2e9367;
544
- color: #fff;
545
- display: grid;
546
- place-items: center;
547
- font-weight: 800;
548
- font-size: 17px;
549
- flex: none;
550
- }
551
- .bookedMain {
552
- font-size: 13.5px;
553
- font-weight: 600;
554
- color: var(--eureka-text, #293241);
555
- }
556
-
557
- @media (prefers-reduced-motion: reduce) {
558
- .pane {
559
- animation: none;
560
- }
561
- .card {
562
- transition: none;
563
- }
564
- }
565
-
566
- /* responsive */
567
- @media (max-width: 760px) {
568
- .book {
569
- grid-template-columns: 1fr;
570
- min-height: 0;
571
- }
572
- .who {
573
- border-right: none;
574
- border-bottom: 1px solid var(--eureka-outline, #eceff3);
575
- }
576
- .lock {
577
- margin-top: 4px;
578
- }
579
- .right {
580
- padding: 16px 16px 20px;
581
- }
582
- .persons,
583
- .monthWrap {
584
- max-width: none;
585
- }
586
- .slots {
587
- max-width: none;
588
- }
589
- .navbar {
590
- flex-wrap: wrap;
591
- }
592
- .navSummary {
593
- flex-basis: 100%;
594
- white-space: normal;
595
- }
596
- }
597
- @media (max-width: 400px) {
598
- .slots {
599
- grid-template-columns: repeat(2, 1fr);
600
- }
601
- .stepper {
602
- font-size: 11.5px;
603
- gap: 5px;
604
- }
605
- .stepSep {
606
- width: 12px;
607
- }
608
- }
@@ -1,28 +0,0 @@
1
- import type { StoryObj } from '@storybook/react-vite';
2
- import ErkBookingPicker, { ErkBookingPickerProps } from './ErkBookingPicker';
3
- import { withFormStepProviders } from '../../FormSteps/@StoryDecorators/FormStepDecorator';
4
- /** Controlled wrapper so the picker's value is interactive in Storybook. */
5
- declare function Interactive(args: ErkBookingPickerProps): JSX.Element;
6
- declare const meta: {
7
- component: typeof ErkBookingPicker;
8
- tags: string[];
9
- decorators: (typeof withFormStepProviders)[];
10
- render: typeof Interactive;
11
- args: {
12
- onChange: () => void;
13
- };
14
- };
15
- export default meta;
16
- type Story = StoryObj<typeof meta>;
17
- /** Full flow: person → date → time. */
18
- export declare const WithPersonSelection: Story;
19
- /** Optional person — adds a "Cualquiera" option. */
20
- export declare const PersonOptional: Story;
21
- /** No person selection → straight to date + time. */
22
- export declare const NoPerson: Story;
23
- /** Extra contact step (collectContact). */
24
- export declare const WithContact: Story;
25
- /** Full config: contact data, buffer, lock notice and in-person mode. */
26
- export declare const Complete: Story;
27
- /** Already booked / read-only summary. */
28
- export declare const ReadOnly: Story;