@solcre-org/core-ui 2.15.46 → 2.16.2

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.
@@ -13,7 +13,7 @@
13
13
  gap: var(--app-alerts-gap, 1rem);
14
14
  overflow: hidden;
15
15
  overflow-y: auto;
16
- padding-inline: calc(var(--_spacing)*2);
16
+ padding-inline: 2rem;
17
17
  padding-bottom: var(--app-alert-bottom, 4rem);
18
18
  max-height: 100svh;
19
19
  pointer-events: none;
@@ -1,11 +1,15 @@
1
1
  /* ******************************************** */
2
- /** COMPONENTS: CALENDAR
2
+ /** CALENDAR DEMO STYLES (migrated from WTC)
3
+ /* ******************************************** */
4
+
5
+ /* ******************************************** */
6
+ /** COMPONENTS: CALENDAR (date picker)
3
7
  /* ******************************************** */
4
8
 
5
9
  .c-calendar{
6
- --_color-base-hsl: var(--color-neutral-800-hsl);
7
- --_color-main-hsl: var(--color-primary-400-hsl);
8
- --_fz: calc( var(--fz-000) - 1px );
10
+ --_color-base-hsl: var(--color-neutral-800-hsl, 220 9% 46%);
11
+ --_color-main-hsl: var(--color-primary-400-hsl, 217 91% 60%);
12
+ --_fz: calc( var(--fz-000, 14px) - 1px );
9
13
  --_fw: 500;
10
14
  --_margin-x: -0.5em;
11
15
  --_gap-y: 0.75em;
@@ -20,9 +24,20 @@
20
24
  margin-inline: var(--_margin-x);
21
25
  }
22
26
 
27
+ .c-calendar__day-header {
28
+ font-size: var(--_fz);
29
+ font-weight: 600;
30
+ color: hsl( var(--_color-base-hsl) / 0.6 );
31
+ padding-block: 0.5em;
32
+ }
33
+
23
34
  .c-calendar__day:is(a, button){
24
35
  position: relative;
25
36
  isolation: isolate;
37
+ background: transparent;
38
+ border: none;
39
+ cursor: pointer;
40
+ padding: 0.5em;
26
41
  }
27
42
  .c-calendar__day:is(a, button)::before{
28
43
  content: "";
@@ -38,8 +53,8 @@
38
53
  background-color: hsl( var(--_color-base-hsl) );
39
54
  opacity: 0;
40
55
  transition:
41
- background-color var(--trs-duration-400),
42
- opacity var(--trs-duration-400);
56
+ background-color 0.2s,
57
+ opacity 0.2s;
43
58
  }
44
59
  .c-calendar__day.not-current{
45
60
  opacity: 0.2;
@@ -56,27 +71,421 @@
56
71
  cursor: default;
57
72
  }
58
73
  .c-calendar__day.is-active::before{
59
- background-color: hsl( var(--color-primary-300-hsl) / 0.4 );
74
+ background-color: hsl( var(--color-primary-300-hsl, 217 91% 70%) / 0.4 );
60
75
  opacity: 1;
61
76
  }
62
77
 
63
78
  .c-calendar__day.is-current{
64
- color: var(--color-neutral-100);
65
- font-weight: 800;
79
+ color: var(--color-neutral-100, #fff);
66
80
  }
67
81
  .c-calendar__day.is-current::before{
68
82
  background-color: hsl( var(--_color-main-hsl) );
69
83
  opacity: 1;
70
84
  }
71
85
  .c-calendar__day.is-current:hover::before{
72
- background-color: hsl( var(--color-hover-hsl) );
86
+ background-color: hsl( var(--color-hover-hsl, 217 91% 50%) );
73
87
  opacity: 1;
74
88
  }
75
89
 
76
- @media (min-width: 112.5rem) /* 1800px */ {
90
+ .c-calendar__day.is-disabled {
91
+ opacity: 0.3;
92
+ cursor: not-allowed;
93
+ }
94
+
95
+ .c-calendar__day.is-holiday::after {
96
+ content: "";
97
+ display: block;
98
+ width: 4px;
99
+ height: 4px;
100
+ background: hsl(var(--color-warning-hsl, 38 92% 50%));
101
+ border-radius: 50%;
102
+ position: absolute;
103
+ bottom: 2px;
104
+ left: 50%;
105
+ transform: translateX(-50%);
106
+ }
107
+
108
+ /* ******************************************** */
109
+ /** BOOKINGS: CARD
110
+ /* ******************************************** */
111
+
112
+ .c-bookings-card{
113
+ padding-inline: var(--layout-padd-x, 1.5rem);
114
+ padding-block: var(--layout-padd-y, 1.5rem);
115
+ background: var(--layout-bg-default, var(--color-neutral-100, #f5f5f5));
116
+ border-radius: var(--app-br, 8px);
117
+ }
118
+ .c-bookings-card__top{
119
+ display: grid;
120
+ grid-template-columns: 1fr auto;
121
+ align-items: center;
122
+ }
123
+
124
+ .c-bookings-subtitle{
125
+ font-size: var(--fz-200, 1.125rem);
126
+ font-weight: 500;
127
+ }
128
+
129
+ /* ******************************************** */
130
+ /** BOOKINGS: GRID
131
+ /* ******************************************** */
77
132
 
78
- .c-calendar{
79
- --_fz: var(--fz-100);
133
+ .c-bookings-grid{
134
+ --_color-main: #4783E1;
135
+ --_line-color: var(--color-neutral-300, #d1d5db);
136
+ --_bg: var(--color-neutral-100, #f5f5f5);
137
+ --_fz: max( var(--fz-000, 14px) - 1px, 12px );
138
+ --_fz-xl: var(--fz-000, 14px);
139
+ --_padd-x: 1.2rem;
140
+ --_top-padd-y: calc( var(--_padd-x) * 1.25 );
141
+
142
+ --_row-height: 4rem;
143
+ --_col-min-w: 22rem;
144
+ --_col-max-w: max(35vw, 30rem);
145
+ }
146
+ .c-bookings-grid__wrapper{
147
+ display: grid;
148
+ grid-template-columns: auto repeat(var(--cols, 1), 1fr);
149
+ position: relative;
150
+ }
151
+ .c-bookings-grid__col{
152
+ min-width: var(--_col-min-w);
153
+ max-width: var(--_col-max-w);
154
+ border-left: 1px solid var(--_line-color);
155
+ }
156
+ .c-bookings-grid__row{
157
+ height: max( var(--_row-height) * var(--_size-factor, 1), 3.2rem );
158
+ padding: calc( var(--_padd-x) * 0.5 );
159
+ position: relative;
160
+ border-top: 1px solid var(--_line-color);
161
+ }
162
+ .c-bookings-grid__top + .c-bookings-grid__row{
163
+ border-top: none;
164
+ }
165
+ .c-bookings-grid__times + .c-bookings-grid__col{
166
+ border-left: none;
167
+ }
168
+
169
+ .c-bookings-grid__col,
170
+ .c-bookings-grid__times{
171
+ padding-top: calc( var(--layout-padd-y, 1.5rem) - var(--_top-padd-y));
172
+ }
173
+
174
+ /* Times */
175
+
176
+ .c-bookings-grid__times{
177
+ padding-left: var(--layout-padd-x, 1.5rem);
178
+ position: sticky;
179
+ left: 0;
180
+ background-color: var(--_bg);
181
+ z-index: 60;
182
+ border-right: 1px solid var(--_line-color);
183
+ border-top-left-radius: var(--app-br, 8px);
184
+ border-bottom-left-radius: var(--app-br, 8px);
185
+ z-index: 110;
186
+ }
187
+ .c-bookings-grid__times .c-bookings-grid__row{
188
+ border-color: transparent;
189
+ }
190
+ .c-bookings-grid__times .c-bookings-grid__row::before{
191
+ content: "";
192
+ display: block;
193
+ width: 1rem;
194
+ position: absolute;
195
+ right: 0;
196
+ top: -1px;
197
+ border-top: 1px solid var(--_line-color);
198
+ }
199
+
200
+ .c-bookings-grid__row:nth-child(odd),
201
+ .c-bookings-grid__times .c-bookings-grid__row:nth-child(odd)::before{
202
+ border-top-style: dashed;
203
+ }
204
+
205
+ .c-bookings-grid__top{
206
+ display: grid;
207
+ align-items: end;
208
+ padding-inline: var(--_padd-x);
209
+ padding-block: calc( var(--_padd-x) * 1.25 );
210
+ position: sticky;
211
+ top: 0;
212
+ z-index: 50;
213
+ background-color: var(--_bg);
214
+ border-bottom: 1px solid var(--_line-color);
215
+ z-index: 100;
216
+ }
217
+ .c-bookings-grid__times .c-bookings-grid__top{
218
+ visibility: hidden;
219
+ }
220
+
221
+
222
+ /* ******************************************** */
223
+ /** BOOKINGS: ELEMENTS
224
+ /* ******************************************** */
225
+
226
+ .c-bookings-grid__title{
227
+ font-size: var(--_fz-xl);
228
+ font-weight: 500;
229
+ }
230
+ :where(.c-bookings-grid__top) .c-bookings-grid__title{
231
+ font-size: calc( var(--_fz-xl) + 2px);
232
+ }
233
+
234
+ .c-bookings-grid__time{
235
+ display: block;
236
+ padding-right: 16px;
237
+ font-size: var(--_fz);
238
+ font-weight: 500;
239
+ translate: 0 calc( var(--_padd-x) * -0.5 - 50%);
240
+ }
241
+
242
+ .c-bookings-grid__slot{
243
+ width: 100%;
244
+ height: 100%;
245
+ background-color: var(--color-neutral-300, #d1d5db);
246
+ border-radius: 8px;
247
+ opacity: 0;
248
+ font-size: var(--_fz-xl);
249
+ font-weight: 500;
250
+ border: none;
251
+ cursor: pointer;
252
+ }
253
+ @media (hover: hover){
254
+ .c-bookings-grid__slot:hover{
255
+ opacity: 0.7;
80
256
  }
81
257
 
82
- }
258
+ .c-bookings-grid__slot.c-bookings-grid__slot--disabled:hover{
259
+ opacity: 0.3;
260
+ }
261
+ }
262
+
263
+ /* Booking */
264
+
265
+ .c-bookings-grid__booking{
266
+ --link-fz: 1em;
267
+ --link-fw: 600;
268
+ --link-color-main-hsl: var(--color-neutral-100-hsl, 0 0% 100%);
269
+
270
+ display: flex;
271
+ flex-direction: column;
272
+ align-items: flex-start;
273
+ padding-block: calc( var(--_padd-x) * 0.5 );
274
+ padding-inline: var(--_padd-x);
275
+ font-size: var(--_fz);
276
+ line-height: 1.3;
277
+ color: var(--color-neutral-100, #fff);
278
+ background-color: var(--_color-main);
279
+ border-radius: 8px;
280
+ cursor: pointer;
281
+ }
282
+ :where(.c-bookings-grid) .c-bookings-grid__booking{
283
+ height: calc( var(--rows, 1) * 100% - var(--_padd-x) );
284
+ position: absolute;
285
+ top: calc( var(--_padd-x) * 0.5 );
286
+ left: calc( var(--_padd-x) * 0.5 );
287
+ right: calc( var(--_padd-x) * 0.5 );
288
+ z-index: 10;
289
+ }
290
+ .c-bookings-grid__booking:is(
291
+ [style*="--rows: 1;"],
292
+ [style*="--rows:1;"]
293
+ ){
294
+ flex-direction: row;
295
+ gap: 1em;
296
+ align-items: center;
297
+ }
298
+
299
+ .c-bookings-grid__booking:is([style*="--rows: 1;"],[style*="--rows:1;"]) .c-bookings-grid__title{
300
+ max-width: 90%;
301
+ overflow: hidden;
302
+ white-space: nowrap;
303
+ text-overflow: ellipsis;
304
+ }
305
+
306
+ .c-bookings-grid__booking[data-type="cleaning"]{
307
+ background-color: #E2ECFF;
308
+ color: #4783E1;
309
+ }
310
+ .c-bookings-grid__booking[data-type="maintenance"]{
311
+ --link-color-main-hsl: var(--color-neutral-800, 220 9% 46%);
312
+ background-color: var(--color-neutral-300, #d1d5db);
313
+ color: inherit;
314
+ }
315
+ .c-bookings-grid__booking[data-type="unavailable"],
316
+ .c-bookings-grid__booking[data-type="blocked"]{
317
+ --link-color-main-hsl: var(--color-neutral-800, 220 9% 46%);
318
+ background-color: var(--color-neutral-200, #e5e7eb);
319
+ color: var(--color-neutral-600, #4b5563);
320
+ cursor: not-allowed;
321
+ opacity: 0.7;
322
+ }
323
+
324
+ /* Mi reserva */
325
+ .c-bookings-grid__booking:is( [data-type="user-event"], [data-type="pending"], [data-type="confirmed"]){
326
+ background: linear-gradient(
327
+ 145deg,
328
+ #0036C0 0%,
329
+ #1262D2 100%
330
+ );
331
+ }
332
+ .c-bookings-grid__booking:is( [data-type="user-event"], [data-type="pending"], [data-type="confirmed"]) .c-bookings-grid__title{
333
+ font-weight: 600;
334
+ }
335
+
336
+ .c-bookings-grid__booking[data-type="event"]{
337
+ background-color: #4783E1;
338
+ }
339
+
340
+ .c-bookings-grid__text {
341
+ font-size: var(--_fz);
342
+ opacity: 0.85;
343
+ margin-top: 0.25em;
344
+ }
345
+
346
+ .c-bookings-grid__link{
347
+ margin-top: 0.5em;
348
+ text-underline-offset: 4px;
349
+ background: transparent;
350
+ border: none;
351
+ color: inherit;
352
+ cursor: pointer;
353
+ display: flex;
354
+ align-items: center;
355
+ gap: 0.25em;
356
+ font-size: var(--link-fz);
357
+ font-weight: var(--link-fw);
358
+ text-decoration: underline;
359
+ }
360
+ .c-bookings-grid__link [class*="icon-"]{
361
+ font-size: calc(1em - 1px);
362
+ }
363
+
364
+ /* Quick actions */
365
+
366
+ .c-bookings-grid__quick-actions{
367
+ display: flex;
368
+ gap: 0.8rem;
369
+ margin-top: auto;
370
+ margin-bottom: 6px;
371
+ margin-left: auto;
372
+ }
373
+
374
+
375
+ /* ******************************************** */
376
+ /** CURRENT TIME LINE INDICATOR
377
+ /* ******************************************** */
378
+
379
+ .c-bookings-grid__current-time-line {
380
+ --_dot-size: 14px;
381
+ --_line-color: #f59e0b;
382
+ position: absolute;
383
+ left: 0;
384
+ right: 0;
385
+ min-width: calc(8rem + var(--cols, 1) * 22rem);
386
+ top: calc(6rem + var(--time-position-rem, 0) * 1rem);
387
+
388
+ height: 2px;
389
+ background: linear-gradient(90deg,
390
+ transparent 0%,
391
+ transparent 8rem,
392
+ var(--_line-color) 8rem,
393
+ var(--_line-color) 100%
394
+ );
395
+ z-index: 100;
396
+ pointer-events: none;
397
+ }
398
+
399
+ .c-bookings-grid__current-time-line::before{
400
+ content: '';
401
+ position: sticky;
402
+ display: block;
403
+ left: 8.2rem;
404
+ top: 0;
405
+ transform: translateY(-45%);
406
+ width: var(--_dot-size);
407
+ min-width: var(--_dot-size);
408
+ height: var(--_dot-size);
409
+ min-height: var(--_dot-size);
410
+ background-color: var(--_line-color);
411
+ border: 2px solid white;
412
+ border-radius: 50%;
413
+ box-shadow: 0 0 6px var(--_line-color);
414
+ }
415
+
416
+ /* ******************************************** */
417
+ /** BOOKINGS: HEADER
418
+ /* ******************************************** */
419
+
420
+ .c-bookings-header {
421
+ display: flex;
422
+ align-items: center;
423
+ gap: 1.5rem;
424
+ padding-block: 1rem;
425
+ margin-bottom: 1rem;
426
+ }
427
+
428
+ .c-bookings-header__today {
429
+ padding: 0.5em 1em;
430
+ font-size: var(--fz-000, 14px);
431
+ font-weight: 500;
432
+ color: var(--color-primary-500, #3b82f6);
433
+ background: transparent;
434
+ border: 1px solid var(--color-primary-500, #3b82f6);
435
+ border-radius: 6px;
436
+ cursor: pointer;
437
+ transition: background-color 0.2s, color 0.2s;
438
+ }
439
+ .c-bookings-header__today:hover {
440
+ background: var(--color-primary-500, #3b82f6);
441
+ color: var(--color-neutral-100, #fff);
442
+ }
443
+
444
+ .c-bookings-header__date {
445
+ display: flex;
446
+ align-items: center;
447
+ gap: 0.75rem;
448
+ font-size: var(--fz-100, 1rem);
449
+ font-weight: 500;
450
+ }
451
+
452
+ .c-bookings-header__date > span {
453
+ min-width: 200px;
454
+ text-align: center;
455
+ }
456
+ .c-bookings-header__date > span::first-letter {
457
+ text-transform: uppercase;
458
+ }
459
+
460
+ .c-bookings-header__date-arrow {
461
+ display: grid;
462
+ place-items: center;
463
+ width: 2rem;
464
+ height: 2rem;
465
+ font-size: 12px;
466
+ background: transparent;
467
+ border: 1px solid var(--color-neutral-300, #d1d5db);
468
+ border-radius: 6px;
469
+ cursor: pointer;
470
+ transition: background-color 0.2s, border-color 0.2s;
471
+ }
472
+ .c-bookings-header__date-arrow:hover {
473
+ background: var(--color-neutral-200, #e5e7eb);
474
+ border-color: var(--color-neutral-400, #9ca3af);
475
+ }
476
+
477
+ /* ******************************************** */
478
+ /** UTILITY CLASSES
479
+ /* ******************************************** */
480
+
481
+ .u-push-t {
482
+ margin-top: 1rem;
483
+ }
484
+
485
+ .u-flex {
486
+ display: flex;
487
+ }
488
+
489
+ .u-gap-lg {
490
+ gap: 1.5rem;
491
+ }
@@ -107,6 +107,7 @@ app-field-errors:not(:has(*)){
107
107
  :root{
108
108
  --_entry-group-gap: 2rem;
109
109
  --_entry-input-padd-y: 0.79em;
110
+ --_entry-stepper-control-fz: 3rem;
110
111
  }
111
112
 
112
113
  }
@@ -59,7 +59,7 @@
59
59
 
60
60
  .c-header-mobile__subnav--light{
61
61
  background-color: var(--color-neutral-100);
62
- padding-block: 1.4rem;
62
+ padding-block: 2rem;
63
63
  }
64
64
 
65
65
  .c-header-mobile__subnav--light .c-btn--secondary{
@@ -68,15 +68,24 @@
68
68
 
69
69
  /* Calendar */
70
70
 
71
- .c-header-mobile .c-calendar{
72
- --_gap-y: 0.35em;
71
+ .c-header-mobile .c-calendar-holder{
73
72
  color: var(--color-neutral-100);
74
73
  background: var(--_header-mobile-bg);
75
74
  padding-block: 1rem;
76
75
  width: 100%;
76
+ }
77
+
78
+ .c-header-mobile .c-calendar{
79
+ width: 100%;
77
80
  margin: 0;
78
81
  }
79
82
 
83
+ .c-calendar-holder__year{
84
+ font-size: 1.2rem;
85
+ opacity: 0.7;
86
+ padding-inline: var(--layout-padd-x, var(--_layout-padd-x));
87
+ }
88
+
80
89
  .c-header-mobile .c-calendar__day-header{
81
90
  color: var(--color-primary-300);
82
91
  }
@@ -259,7 +259,7 @@ body:has(.c-modal.is-visible) {
259
259
  {
260
260
 
261
261
  .c-modal {
262
- --_holder-px: calc(var(--wrapper-x)*1.2);
262
+ --_holder-px: calc(var(--wrapper-x)*1.8);
263
263
  --_holder-w: calc(100% - var(--_ouside-padding)*2);
264
264
  --_header-py: 1.8rem;
265
265
 
@@ -224,6 +224,11 @@ body:has(.c-popup.is-visible){
224
224
  }
225
225
 
226
226
 
227
+ .c-popup .c-popup__btns button{
228
+ text-align: center;
229
+ }
230
+
231
+
227
232
  /* ********************** MEDIA HOVER ********************** */
228
233
 
229
234
  @media (hover: hover) {
@@ -395,8 +395,8 @@
395
395
  --_gap-x: 0;
396
396
  --_gap-y: calc(var(--space-y)*.5);
397
397
  --_card-padding-y: 2.1rem;
398
- --_card-padding-x: var(--space-x);
399
- --_fz: var(--fz-100);
398
+ --_card-padding-x: calc(var(--space-x)*1.3);
399
+ --_fz: 1.5rem;
400
400
  }
401
401
 
402
402
  .c-table table,
@@ -450,7 +450,8 @@
450
450
  }
451
451
 
452
452
  .c-table td:not(:first-child) {
453
- margin-top: .4em;
453
+ margin-top: .6em;
454
+ text-align: left;
454
455
  }
455
456
 
456
457
  .c-table__mobile-heading {
@@ -461,4 +462,8 @@
461
462
  margin-top: var(--_card-padding-y);
462
463
  }
463
464
 
465
+ .c-table__actions [class*=c-icon-btn] {
466
+ --_size-factor: 1.3;
467
+ }
468
+
464
469
  }
@@ -78,10 +78,9 @@ a, button{
78
78
  /* ********************** MOBILE & TABLET ********************** */
79
79
 
80
80
  @media (max-width: 61.1875rem) /* up to 979px */ {
81
-
82
- body{
83
- /* ! Habría que hacer este cálculo con JS */
81
+ /* ! Habría que hacer este cálculo con JS */
82
+ /* body{
84
83
  padding-bottom: 60px;
85
- }
84
+ } */
86
85
 
87
86
  }
@@ -78,6 +78,7 @@
78
78
  /* ✅ */ @import url(inc/components/fixed-actions.css); /* !(new) */
79
79
  /* ✅ */ @import url(inc/components/header-mobile.css); /* !(new) */
80
80
  /* ✅ */ @import url(inc/components/mobile-nav.css); /* !(new) */
81
+ /* ✅ */ @import url(inc/components/calendar.css); /* !(new) */
81
82
 
82
83
  /* Utilities */
83
84
  @import url(inc/utilities/headings.css);
@@ -19,20 +19,20 @@
19
19
  "SUCCESS": "Success",
20
20
  "ERROR": "Error",
21
21
  "WARNING": "Warning",
22
- "INFO": "Info",
23
- "SUCCESS_CREATE": "Success create",
24
- "SUCCESS_UPDATE": "Success update",
25
- "SUCCESS_DELETE": "Success delete",
26
- "SUCCESS_CLOSE": "Success close",
27
- "SUCCESS_SAVE": "Success save",
28
- "SUCCESS_CANCEL": "Success cancel",
29
- "ERROR_CREATE": "Error create",
30
- "ERROR_UPDATE": "Error update",
31
- "ERROR_DELETE": "Error delete",
32
- "ERROR_CLOSE": "Error close",
33
- "ERROR_SAVE": "Error save",
34
- "ERROR_CANCEL": "Error cancel",
35
- "ERROR_FETCH": "Error fetch"
22
+ "INFO": "Information",
23
+ "SUCCESS_CREATE": "Successfully created",
24
+ "SUCCESS_UPDATE": "Successfully updated",
25
+ "SUCCESS_DELETE": "Successfully deactivated",
26
+ "SUCCESS_CLOSE": "Successfully closed",
27
+ "SUCCESS_SAVE": "Successfully saved",
28
+ "SUCCESS_CANCEL": "Successfully cancelled",
29
+ "ERROR_CREATE": "An error occurred while creating",
30
+ "ERROR_UPDATE": "An error occurred while updating",
31
+ "ERROR_DELETE": "An error occurred while deactivating",
32
+ "ERROR_CLOSE": "An error occurred while closing",
33
+ "ERROR_SAVE": "An error occurred while saving",
34
+ "ERROR_CANCEL": "An error occurred while cancelling",
35
+ "ERROR_FETCH": "An error occurred while fetching the data"
36
36
  },
37
37
  "select": {
38
38
  "placeholder": "Select an option"