@khipu/design-system 0.1.0-alpha.28 → 0.1.0-alpha.30
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.
- package/dist/beercss/khipu-beercss.css +565 -137
- package/dist/beercss/khipu-beercss.js +291 -106
- package/dist/beercss/khipu-beercss.min.css +1 -1
- package/dist/beercss/khipu-beercss.min.js +1 -1
- package/dist/beercss/metadata.json +4 -4
- package/dist/index.d.mts +148 -12
- package/dist/index.d.ts +148 -12
- package/dist/index.js +192 -8
- package/dist/index.mjs +192 -8
- package/package.json +1 -1
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*
|
|
12
12
|
* AUTO-GENERATED FILE - DO NOT EDIT MANUALLY
|
|
13
13
|
* Source: design-system/src/tokens/tokens.json
|
|
14
|
-
* Generated: 2026-03-
|
|
14
|
+
* Generated: 2026-03-27T13:16:02.917Z
|
|
15
15
|
*
|
|
16
16
|
* To regenerate:
|
|
17
17
|
* cd design-system && npm run tokens:generate
|
|
@@ -88,6 +88,12 @@
|
|
|
88
88
|
--kds-snackbar-error-bg: rgba(211, 47, 47, 0.08);
|
|
89
89
|
--kds-snackbar-info-bg: rgba(2, 136, 209, 0.08);
|
|
90
90
|
|
|
91
|
+
/* Alert backgrounds */
|
|
92
|
+
--kds-alert-info-bg: #EFF6FF;
|
|
93
|
+
--kds-alert-warning-bg: #FFFBEB;
|
|
94
|
+
--kds-alert-success-bg: #ECFDF5;
|
|
95
|
+
--kds-alert-error-bg: #FEF2F2;
|
|
96
|
+
|
|
91
97
|
/* ==========================================================================
|
|
92
98
|
TYPOGRAPHY TOKENS
|
|
93
99
|
========================================================================== */
|
|
@@ -159,6 +165,25 @@
|
|
|
159
165
|
--kds-spacing-button-padding: 8px 22px;
|
|
160
166
|
--kds-spacing-button-min-height: 50px;
|
|
161
167
|
--kds-spacing-button-icon-size: 20px;
|
|
168
|
+
--kds-spacing-sidebar-width: 280px;
|
|
169
|
+
--kds-spacing-sidebar-width-collapsed: 72px;
|
|
170
|
+
--kds-spacing-sidebar-width-mobile: 100%;
|
|
171
|
+
--kds-spacing-sidebar-header-padding: 16px;
|
|
172
|
+
--kds-spacing-sidebar-nav-item-padding-y: 8px;
|
|
173
|
+
--kds-spacing-sidebar-nav-item-padding-x: 12px;
|
|
174
|
+
--kds-spacing-sidebar-nav-item-margin-x: 12px;
|
|
175
|
+
--kds-spacing-sidebar-nav-item-gap: 12px;
|
|
176
|
+
--kds-spacing-sidebar-submenu-indent: 64px;
|
|
177
|
+
--kds-spacing-sidebar-icon-size: 24px;
|
|
178
|
+
--kds-spacing-sidebar-icon-container-size: 40px;
|
|
179
|
+
--kds-spacing-sidebar-label-padding-x: 24px;
|
|
180
|
+
--kds-spacing-sidebar-label-padding-y: 8px;
|
|
181
|
+
--kds-spacing-sidebar-label-margin-top: 16px;
|
|
182
|
+
--kds-spacing-sidebar-label-font-size: 11px;
|
|
183
|
+
--kds-spacing-sidebar-z-index: 100;
|
|
184
|
+
--kds-spacing-sidebar-z-index-mobile: 1000;
|
|
185
|
+
--kds-spacing-sidebar-transition: 0.2s;
|
|
186
|
+
--kds-spacing-sidebar-collapsable-max-height: 500px;
|
|
162
187
|
--kds-spacing-section: 32px;
|
|
163
188
|
--kds-spacing-form-gap: 20px;
|
|
164
189
|
--kds-spacing-inline-gap: 8px;
|
|
@@ -183,6 +208,16 @@
|
|
|
183
208
|
--kds-radius-chip: 16px;
|
|
184
209
|
--kds-radius-iconContainer: 10px;
|
|
185
210
|
|
|
211
|
+
/* ==========================================================================
|
|
212
|
+
BORDER TOKENS
|
|
213
|
+
========================================================================== */
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
/* Border colors */
|
|
217
|
+
--kds-border-light: #DDDDDD;
|
|
218
|
+
--kds-border-medium: #999999;
|
|
219
|
+
--kds-border-dark: #666666;
|
|
220
|
+
|
|
186
221
|
/* ==========================================================================
|
|
187
222
|
SHADOW TOKENS
|
|
188
223
|
========================================================================== */
|
|
@@ -230,14 +265,117 @@
|
|
|
230
265
|
BREAKPOINTS
|
|
231
266
|
========================================================================== */
|
|
232
267
|
|
|
233
|
-
--kds-breakpoint-sm: 600px;
|
|
234
|
-
--kds-breakpoint-md: 900px;
|
|
235
|
-
--kds-breakpoint-lg: 1200px;
|
|
236
|
-
--kds-breakpoint-xl: 1536px;
|
|
237
268
|
|
|
269
|
+
/* Breakpoints */
|
|
270
|
+
--kds-breakpoint-mobile: 600px;
|
|
271
|
+
--kds-breakpoint-tablet: 840px;
|
|
272
|
+
--kds-breakpoint-desktop: 1280px;
|
|
273
|
+
--kds-breakpoint-legacyMobile: 768px;
|
|
274
|
+
--kds-breakpoint-legacyTablet: 1024px;
|
|
275
|
+
|
|
276
|
+
/* ==========================================================================
|
|
277
|
+
RESPONSIVE SPACING (MOBILE BASE)
|
|
278
|
+
========================================================================== */
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
/* Container */
|
|
282
|
+
--kds-container-padding: 16px;
|
|
283
|
+
|
|
284
|
+
/* Cards */
|
|
285
|
+
--kds-card-padding: 16px;
|
|
286
|
+
|
|
287
|
+
/* Sections */
|
|
288
|
+
--kds-section-gap: 24px;
|
|
289
|
+
|
|
290
|
+
/* Elements */
|
|
291
|
+
--kds-element-gap: 12px;
|
|
292
|
+
|
|
293
|
+
/* Margins */
|
|
294
|
+
--kds-section-margin: 16px;
|
|
295
|
+
|
|
296
|
+
/* ==========================================================================
|
|
297
|
+
RESPONSIVE TYPOGRAPHY (MOBILE BASE)
|
|
298
|
+
========================================================================== */
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
/* Headings */
|
|
302
|
+
--kds-font-size-h1: 1.75rem;
|
|
303
|
+
--kds-font-size-h2: 1.5rem;
|
|
304
|
+
--kds-font-size-h3: 1.25rem;
|
|
305
|
+
--kds-font-size-h4: 1.125rem;
|
|
306
|
+
--kds-font-size-h5: 1rem;
|
|
307
|
+
--kds-font-size-h6: 1rem;
|
|
308
|
+
|
|
309
|
+
/* Body */
|
|
310
|
+
--kds-font-size-body1: 0.875rem;
|
|
311
|
+
--kds-font-size-body2: 0.8125rem;
|
|
312
|
+
|
|
313
|
+
/* Components */
|
|
314
|
+
--kds-font-size-button: 0.875rem;
|
|
315
|
+
--kds-font-size-caption: 0.6875rem;
|
|
316
|
+
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/* ============================================================================
|
|
320
|
+
RESPONSIVE TOKENS (Mobile-First)
|
|
321
|
+
============================================================================ */
|
|
322
|
+
|
|
323
|
+
/* Tablet (600px+) - Spacing */
|
|
324
|
+
@media (min-width: 600px) {
|
|
325
|
+
:root {
|
|
326
|
+
--kds-container-padding: 24px;
|
|
327
|
+
--kds-card-padding: 20px;
|
|
328
|
+
--kds-section-gap: 32px;
|
|
329
|
+
--kds-element-gap: 16px;
|
|
330
|
+
--kds-section-margin: 24px;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/* Tablet (600px+) - Typography */
|
|
335
|
+
@media (min-width: 600px) {
|
|
336
|
+
:root {
|
|
337
|
+
--kds-font-size-h1: 2rem;
|
|
338
|
+
--kds-font-size-h2: 1.75rem;
|
|
339
|
+
--kds-font-size-h3: 1.5rem;
|
|
340
|
+
--kds-font-size-h4: 1.25rem;
|
|
341
|
+
--kds-font-size-h5: 1.125rem;
|
|
342
|
+
--kds-font-size-h6: 1rem;
|
|
343
|
+
--kds-font-size-body1: 0.9375rem;
|
|
344
|
+
--kds-font-size-body2: 0.875rem;
|
|
345
|
+
--kds-font-size-button: 0.9375rem;
|
|
346
|
+
--kds-font-size-caption: 0.75rem;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
/* Desktop (840px+) - Spacing */
|
|
351
|
+
@media (min-width: 840px) {
|
|
352
|
+
:root {
|
|
353
|
+
--kds-container-padding: 32px;
|
|
354
|
+
--kds-card-padding: 24px;
|
|
355
|
+
--kds-section-gap: 48px;
|
|
356
|
+
--kds-element-gap: 24px;
|
|
357
|
+
--kds-section-margin: 32px;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
/* Desktop (840px+) - Typography */
|
|
362
|
+
@media (min-width: 840px) {
|
|
363
|
+
:root {
|
|
364
|
+
--kds-font-size-h1: 2.5rem;
|
|
365
|
+
--kds-font-size-h2: 2rem;
|
|
366
|
+
--kds-font-size-h3: 1.75rem;
|
|
367
|
+
--kds-font-size-h4: 1.5rem;
|
|
368
|
+
--kds-font-size-h5: 1.25rem;
|
|
369
|
+
--kds-font-size-h6: 1.25rem;
|
|
370
|
+
--kds-font-size-body1: 1rem;
|
|
371
|
+
--kds-font-size-body2: 0.875rem;
|
|
372
|
+
--kds-font-size-button: 0.9375rem;
|
|
373
|
+
--kds-font-size-caption: 0.75rem;
|
|
374
|
+
}
|
|
238
375
|
}
|
|
239
376
|
|
|
240
377
|
|
|
378
|
+
|
|
241
379
|
/* Khipu BeerCSS Variable Mappings */
|
|
242
380
|
/* Khipu Material Design 3 Brand Tokens for BeerCSS
|
|
243
381
|
* Imports core tokens from css-variables.css (auto-generated from src/tokens/index.ts)
|
|
@@ -246,25 +384,17 @@
|
|
|
246
384
|
*/
|
|
247
385
|
|
|
248
386
|
/* Import core design tokens (auto-generated) */
|
|
249
|
-
:root
|
|
387
|
+
:root,
|
|
388
|
+
body.light,
|
|
389
|
+
body.dark {
|
|
250
390
|
/* ========================================
|
|
251
391
|
Map core tokens to BeerCSS-specific names
|
|
252
392
|
(BeerCSS may use different naming conventions)
|
|
393
|
+
Same selector specificity as BeerCSS to ensure override
|
|
253
394
|
======================================== */
|
|
254
395
|
|
|
255
|
-
/* Alert backgrounds (using info color with transparency) */
|
|
256
|
-
--kds-alert-info-bg: #EFF6FF;
|
|
257
|
-
--kds-alert-warning-bg: #FFFBEB;
|
|
258
|
-
--kds-alert-success-bg: #ECFDF5;
|
|
259
|
-
--kds-alert-error-bg: #FEF2F2;
|
|
260
|
-
|
|
261
|
-
/* Border colors (not in core tokens) */
|
|
262
|
-
--kds-border-light: #DDD;
|
|
263
|
-
--kds-border-medium: #999;
|
|
264
|
-
--kds-border-dark: #666;
|
|
265
|
-
|
|
266
396
|
/* Input border states */
|
|
267
|
-
--kds-input-border-hover:
|
|
397
|
+
--kds-input-border-hover: var(--kds-color-input-hover-border);
|
|
268
398
|
|
|
269
399
|
/* Override BeerCSS native font variable */
|
|
270
400
|
--font: var(--kds-font-family-primary);
|
|
@@ -292,13 +422,19 @@
|
|
|
292
422
|
--warning: var(--kds-color-warning-main);
|
|
293
423
|
--info: var(--kds-color-info-main);
|
|
294
424
|
|
|
295
|
-
/* Background and surface colors */
|
|
425
|
+
/* Background and surface colors - Override BeerCSS purple defaults */
|
|
296
426
|
--background: var(--kds-color-background-default);
|
|
297
427
|
--surface: var(--kds-color-background-paper);
|
|
298
|
-
--
|
|
299
|
-
--
|
|
428
|
+
--surface-dim: var(--kds-color-background-elevated);
|
|
429
|
+
--surface-bright: var(--kds-color-background-paper);
|
|
300
430
|
--surface-variant: var(--kds-color-background-elevated);
|
|
431
|
+
--surface-container-lowest: var(--kds-color-background-default);
|
|
432
|
+
--surface-container-low: var(--kds-color-background-paper);
|
|
301
433
|
--surface-container: var(--kds-color-background-default);
|
|
434
|
+
--surface-container-high: var(--kds-color-background-elevated);
|
|
435
|
+
--surface-container-highest: var(--kds-color-background-elevated);
|
|
436
|
+
--on-surface: var(--kds-color-text-primary);
|
|
437
|
+
--on-surface-variant: var(--kds-color-action-active);
|
|
302
438
|
--outline: var(--kds-color-input-border);
|
|
303
439
|
--outline-variant: var(--kds-border-light);
|
|
304
440
|
|
|
@@ -307,36 +443,36 @@
|
|
|
307
443
|
======================================== */
|
|
308
444
|
|
|
309
445
|
/* File Upload States */
|
|
310
|
-
--kds-upload-zone-bg:
|
|
311
|
-
--kds-upload-zone-border:
|
|
312
|
-
--kds-upload-zone-border-hover:
|
|
313
|
-
--kds-upload-zone-border-drag:
|
|
446
|
+
--kds-upload-zone-bg: var(--kds-color-background-elevated);
|
|
447
|
+
--kds-upload-zone-border: var(--kds-border-light);
|
|
448
|
+
--kds-upload-zone-border-hover: var(--kds-color-info-main);
|
|
449
|
+
--kds-upload-zone-border-drag: var(--kds-color-primary-main);
|
|
314
450
|
--kds-upload-zone-border-error: var(--kds-color-error-main);
|
|
315
451
|
--kds-upload-zone-border-success: var(--kds-color-success-main);
|
|
316
|
-
--kds-upload-item-bg:
|
|
317
|
-
--kds-upload-item-border:
|
|
452
|
+
--kds-upload-item-bg: var(--kds-color-background-paper);
|
|
453
|
+
--kds-upload-item-border: var(--kds-border-light);
|
|
318
454
|
|
|
319
455
|
/* OTP Input */
|
|
320
456
|
--kds-otp-digit-size: 56px;
|
|
321
457
|
--kds-otp-digit-height: 64px;
|
|
322
|
-
--kds-otp-digit-border:
|
|
323
|
-
--kds-otp-digit-border-focus:
|
|
324
|
-
--kds-otp-digit-bg:
|
|
325
|
-
--kds-otp-digit-bg-filled:
|
|
458
|
+
--kds-otp-digit-border: var(--kds-border-light);
|
|
459
|
+
--kds-otp-digit-border-focus: var(--kds-color-info-main);
|
|
460
|
+
--kds-otp-digit-bg: var(--kds-color-background-paper);
|
|
461
|
+
--kds-otp-digit-bg-filled: var(--kds-color-background-elevated);
|
|
326
462
|
|
|
327
463
|
/* Modal Base */
|
|
328
|
-
--kds-modal-bg:
|
|
464
|
+
--kds-modal-bg: var(--kds-color-background-paper);
|
|
329
465
|
--kds-modal-padding: var(--kds-spacing-6);
|
|
330
466
|
--kds-modal-padding-mobile: var(--kds-spacing-4);
|
|
331
467
|
--kds-modal-border-radius: var(--kds-radius-lg);
|
|
332
|
-
--kds-modal-shadow: var(--kds-shadow-
|
|
468
|
+
--kds-modal-shadow: var(--kds-shadow-4);
|
|
333
469
|
--kds-modal-backdrop: rgba(0, 0, 0, 0.5);
|
|
334
470
|
--kds-modal-max-width: 600px;
|
|
335
471
|
--kds-modal-max-width-mobile: 95vw;
|
|
336
472
|
|
|
337
473
|
/* Modal Content Colors */
|
|
338
|
-
--kds-modal-title-color:
|
|
339
|
-
--kds-modal-text-color:
|
|
474
|
+
--kds-modal-title-color: var(--kds-color-text-primary);
|
|
475
|
+
--kds-modal-text-color: var(--kds-color-text-secondary);
|
|
340
476
|
--kds-modal-icon-warning: var(--kds-color-warning-main);
|
|
341
477
|
--kds-modal-icon-error: var(--kds-color-error-main);
|
|
342
478
|
--kds-modal-icon-success: var(--kds-color-success-main);
|
|
@@ -347,22 +483,22 @@
|
|
|
347
483
|
--kds-welcome-gradient-end: var(--kds-color-primary-dark); /* Khipu purple dark */
|
|
348
484
|
|
|
349
485
|
/* Bank Selector */
|
|
350
|
-
--kds-bank-item-border:
|
|
351
|
-
--kds-bank-item-border-hover:
|
|
352
|
-
--kds-bank-item-border-selected:
|
|
353
|
-
--kds-bank-item-bg-selected:
|
|
354
|
-
--kds-bank-item-bg-hover:
|
|
486
|
+
--kds-bank-item-border: var(--kds-border-light);
|
|
487
|
+
--kds-bank-item-border-hover: var(--kds-border-light);
|
|
488
|
+
--kds-bank-item-border-selected: var(--kds-color-info-main);
|
|
489
|
+
--kds-bank-item-bg-selected: var(--kds-alert-info-bg);
|
|
490
|
+
--kds-bank-item-bg-hover: var(--kds-color-background-elevated);
|
|
355
491
|
|
|
356
492
|
/* Signature Pad */
|
|
357
|
-
--kds-signature-border:
|
|
358
|
-
--kds-signature-bg:
|
|
493
|
+
--kds-signature-border: var(--kds-border-light);
|
|
494
|
+
--kds-signature-bg: var(--kds-color-background-paper);
|
|
359
495
|
--kds-signature-line-color: #000000;
|
|
360
496
|
|
|
361
497
|
/* Contract Accordion */
|
|
362
|
-
--kds-accordion-border:
|
|
363
|
-
--kds-accordion-bg:
|
|
364
|
-
--kds-accordion-bg-open:
|
|
365
|
-
--kds-accordion-header-bg:
|
|
498
|
+
--kds-accordion-border: var(--kds-border-light);
|
|
499
|
+
--kds-accordion-bg: var(--kds-color-background-elevated);
|
|
500
|
+
--kds-accordion-bg-open: var(--kds-color-background-paper);
|
|
501
|
+
--kds-accordion-header-bg: var(--kds-color-background-elevated);
|
|
366
502
|
|
|
367
503
|
/* Onboarding Container */
|
|
368
504
|
--kds-onboarding-max-width: 800px;
|
|
@@ -420,9 +556,10 @@ footer {
|
|
|
420
556
|
* Source: design.khipu.com and Material Design 3 specifications
|
|
421
557
|
*/
|
|
422
558
|
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
559
|
+
|
|
560
|
+
:has(>main) {
|
|
561
|
+
background-color: transparent !important;
|
|
562
|
+
}
|
|
426
563
|
|
|
427
564
|
/* ========================================
|
|
428
565
|
KHIPU BUTTON SYSTEM
|
|
@@ -665,8 +802,7 @@ a.kds-btn > .kds-icon > i {
|
|
|
665
802
|
.kds-card-elevated,
|
|
666
803
|
.khipu-card-elevated,
|
|
667
804
|
.kds-card-main {
|
|
668
|
-
padding:
|
|
669
|
-
margin: 16px;
|
|
805
|
+
padding: 12px;
|
|
670
806
|
}
|
|
671
807
|
}
|
|
672
808
|
|
|
@@ -1335,100 +1471,24 @@ nav.primary button {
|
|
|
1335
1471
|
}
|
|
1336
1472
|
|
|
1337
1473
|
/* ========================================
|
|
1338
|
-
|
|
1474
|
+
Flex Layout System (Body + Container + Sidebar)
|
|
1339
1475
|
======================================== */
|
|
1340
1476
|
|
|
1341
|
-
/*
|
|
1342
|
-
|
|
1343
|
-
position: fixed;
|
|
1344
|
-
top: 0;
|
|
1345
|
-
left: 0;
|
|
1346
|
-
bottom: 0;
|
|
1347
|
-
width: 280px;
|
|
1348
|
-
max-width: 80vw;
|
|
1349
|
-
background: var(--surface-container, #FFFFFF);
|
|
1350
|
-
box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15);
|
|
1351
|
-
transform: translateX(-100%);
|
|
1352
|
-
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1353
|
-
z-index: 1100;
|
|
1354
|
-
overflow-y: auto;
|
|
1477
|
+
/* Body flex-column layout */
|
|
1478
|
+
body.kds-layout {
|
|
1355
1479
|
display: flex;
|
|
1356
1480
|
flex-direction: column;
|
|
1481
|
+
min-height: 100vh;
|
|
1482
|
+
margin: 0;
|
|
1357
1483
|
}
|
|
1358
1484
|
|
|
1359
|
-
/*
|
|
1360
|
-
|
|
1361
|
-
transform: translateX(0);
|
|
1362
|
-
}
|
|
1363
|
-
|
|
1364
|
-
/* Drawer overlay */
|
|
1365
|
-
nav.drawer.left::before {
|
|
1366
|
-
content: '';
|
|
1367
|
-
position: fixed;
|
|
1368
|
-
top: 0;
|
|
1369
|
-
left: 0;
|
|
1370
|
-
right: 0;
|
|
1371
|
-
bottom: 0;
|
|
1372
|
-
background: rgba(0, 0, 0, 0.5);
|
|
1373
|
-
opacity: 0;
|
|
1374
|
-
visibility: hidden;
|
|
1375
|
-
transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
|
|
1376
|
-
visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1377
|
-
z-index: -1;
|
|
1378
|
-
pointer-events: none;
|
|
1379
|
-
}
|
|
1380
|
-
|
|
1381
|
-
/* Show overlay when drawer is active */
|
|
1382
|
-
nav.drawer.left.active::before {
|
|
1383
|
-
opacity: 1;
|
|
1384
|
-
visibility: visible;
|
|
1385
|
-
pointer-events: auto;
|
|
1386
|
-
}
|
|
1387
|
-
|
|
1388
|
-
/* Drawer header styling */
|
|
1389
|
-
nav.drawer header {
|
|
1390
|
-
padding: 16px;
|
|
1391
|
-
background: var(--primary-container, rgba(131, 71, 173, 0.1));
|
|
1392
|
-
border-bottom: 1px solid var(--outline-variant, rgba(0, 0, 0, 0.12));
|
|
1393
|
-
}
|
|
1394
|
-
|
|
1395
|
-
/* Drawer links */
|
|
1396
|
-
nav.drawer a {
|
|
1485
|
+
/* Layout container (flex-row) - below header */
|
|
1486
|
+
.kds-layout-container {
|
|
1397
1487
|
display: flex;
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
text-decoration: none;
|
|
1402
|
-
transition: background 0.2s ease;
|
|
1403
|
-
gap: 16px;
|
|
1404
|
-
}
|
|
1405
|
-
|
|
1406
|
-
nav.drawer a:hover {
|
|
1407
|
-
background: var(--surface-variant, rgba(0, 0, 0, 0.04));
|
|
1408
|
-
}
|
|
1409
|
-
|
|
1410
|
-
nav.drawer a i {
|
|
1411
|
-
font-size: 24px;
|
|
1412
|
-
color: var(--on-surface-variant, rgba(0, 0, 0, 0.60));
|
|
1413
|
-
}
|
|
1414
|
-
|
|
1415
|
-
nav.drawer .divider {
|
|
1416
|
-
height: 1px;
|
|
1417
|
-
background: var(--outline-variant, rgba(0, 0, 0, 0.12));
|
|
1418
|
-
margin: 8px 0;
|
|
1419
|
-
}
|
|
1420
|
-
|
|
1421
|
-
/* Hide menu toggle button on desktop */
|
|
1422
|
-
@media (min-width: 769px) {
|
|
1423
|
-
#menu-toggle {
|
|
1424
|
-
display: none;
|
|
1425
|
-
}
|
|
1426
|
-
|
|
1427
|
-
nav.drawer.left {
|
|
1428
|
-
display: none;
|
|
1429
|
-
}
|
|
1488
|
+
flex-direction: row;
|
|
1489
|
+
flex: 1;
|
|
1490
|
+
overflow: hidden;
|
|
1430
1491
|
}
|
|
1431
|
-
|
|
1432
1492
|
/* ========================================
|
|
1433
1493
|
Footer Customization
|
|
1434
1494
|
======================================== */
|
|
@@ -3284,4 +3344,372 @@ dialog.modal::backdrop {
|
|
|
3284
3344
|
margin-top: var(--kds-spacing-6);
|
|
3285
3345
|
}
|
|
3286
3346
|
|
|
3347
|
+
/* ===========================================================================
|
|
3348
|
+
|
|
3349
|
+
/* ============================================
|
|
3350
|
+
SIDEBAR NAVIGATION (Simple & Sticky)
|
|
3351
|
+
============================================ */
|
|
3352
|
+
|
|
3353
|
+
/* Page layout - Flexbox horizontal */
|
|
3354
|
+
.kds-page-layout {
|
|
3355
|
+
display: flex;
|
|
3356
|
+
min-height: 100vh;
|
|
3357
|
+
}
|
|
3358
|
+
|
|
3359
|
+
/* Sidebar - Sticky flotante a la izquierda */
|
|
3360
|
+
.kds-sidebar {
|
|
3361
|
+
width: var(--kds-spacing-sidebar-width);
|
|
3362
|
+
background: var(--kds-color-background-paper);
|
|
3363
|
+
border: 1px solid var(--kds-color-divider);
|
|
3364
|
+
border-radius: var(--kds-radius-lg);
|
|
3365
|
+
flex-shrink: 0;
|
|
3366
|
+
position: sticky;
|
|
3367
|
+
top: var(--kds-spacing-4);
|
|
3368
|
+
margin: var(--kds-spacing-4);
|
|
3369
|
+
height: fit-content;
|
|
3370
|
+
overflow-y: auto;
|
|
3371
|
+
box-shadow: var(--kds-shadow-2);
|
|
3372
|
+
}
|
|
3373
|
+
|
|
3374
|
+
/* Sidebar Header */
|
|
3375
|
+
.kds-sidebar-header {
|
|
3376
|
+
display: flex;
|
|
3377
|
+
align-items: center;
|
|
3378
|
+
gap: var(--kds-spacing-3);
|
|
3379
|
+
padding: var(--kds-spacing-1) var(--kds-spacing-2);
|
|
3380
|
+
border-bottom: 1px solid var(--kds-color-divider);
|
|
3381
|
+
border-radius: var(--kds-radius-lg) var(--kds-radius-lg) 0 0;
|
|
3382
|
+
cursor: pointer;
|
|
3383
|
+
position: relative; /* ← Para anclar dropdown */
|
|
3384
|
+
transition: background var(--kds-transition-shorter) var(--kds-easing-standard);
|
|
3385
|
+
}
|
|
3386
|
+
|
|
3387
|
+
.kds-sidebar-header:hover {
|
|
3388
|
+
background: var(--kds-color-action-hover);
|
|
3389
|
+
}
|
|
3390
|
+
|
|
3391
|
+
/* Avatar circular */
|
|
3392
|
+
.kds-sidebar-avatar {
|
|
3393
|
+
width: var(--kds-spacing-sidebar-icon-container-size);
|
|
3394
|
+
height: var(--kds-spacing-sidebar-icon-container-size);
|
|
3395
|
+
border-radius: var(--kds-radius-full);
|
|
3396
|
+
background: var(--kds-color-error-main);
|
|
3397
|
+
color: var(--kds-color-background-paper);
|
|
3398
|
+
display: flex;
|
|
3399
|
+
align-items: center;
|
|
3400
|
+
justify-content: center;
|
|
3401
|
+
font-size: var(--kds-font-size-lg);
|
|
3402
|
+
font-weight: var(--kds-font-weight-bold);
|
|
3403
|
+
flex-shrink: 0;
|
|
3404
|
+
}
|
|
3405
|
+
|
|
3406
|
+
/* Header text */
|
|
3407
|
+
.kds-sidebar-header-text {
|
|
3408
|
+
flex: 1;
|
|
3409
|
+
overflow: hidden;
|
|
3410
|
+
}
|
|
3411
|
+
|
|
3412
|
+
.kds-sidebar-title {
|
|
3413
|
+
font-size: var(--kds-font-size-base);
|
|
3414
|
+
font-weight: var(--kds-font-weight-semibold);
|
|
3415
|
+
color: var(--kds-color-text-primary);
|
|
3416
|
+
white-space: nowrap;
|
|
3417
|
+
overflow: hidden;
|
|
3418
|
+
text-overflow: ellipsis;
|
|
3419
|
+
}
|
|
3420
|
+
|
|
3421
|
+
.kds-sidebar-subtitle {
|
|
3422
|
+
font-size: var(--kds-font-size-sm);
|
|
3423
|
+
color: var(--kds-color-text-secondary);
|
|
3424
|
+
white-space: nowrap;
|
|
3425
|
+
overflow: hidden;
|
|
3426
|
+
text-overflow: ellipsis;
|
|
3427
|
+
}
|
|
3428
|
+
|
|
3429
|
+
/* Dropdown icon */
|
|
3430
|
+
.kds-sidebar-dropdown-icon {
|
|
3431
|
+
font-size: var(--kds-spacing-sidebar-icon-size);
|
|
3432
|
+
color: var(--kds-color-text-secondary);
|
|
3433
|
+
flex-shrink: 0;
|
|
3434
|
+
transition: transform var(--kds-transition-shorter) var(--kds-easing-standard);
|
|
3435
|
+
}
|
|
3436
|
+
|
|
3437
|
+
/* Header Dropdown - Flotante */
|
|
3438
|
+
.kds-sidebar-header-dropdown {
|
|
3439
|
+
position: absolute;
|
|
3440
|
+
top: 100%;
|
|
3441
|
+
left: 0;
|
|
3442
|
+
right: 0;
|
|
3443
|
+
z-index: var(--kds-z-index-drawer);
|
|
3444
|
+
opacity: 0;
|
|
3445
|
+
visibility: hidden;
|
|
3446
|
+
pointer-events: none;
|
|
3447
|
+
transform: translateY(calc(var(--kds-spacing-1) * -1));
|
|
3448
|
+
transition: all var(--kds-transition-shorter) var(--kds-easing-standard);
|
|
3449
|
+
}
|
|
3450
|
+
|
|
3451
|
+
.kds-sidebar-header-dropdown.kds-dropdown-open {
|
|
3452
|
+
opacity: 1;
|
|
3453
|
+
visibility: visible;
|
|
3454
|
+
pointer-events: auto;
|
|
3455
|
+
transform: translateY(0);
|
|
3456
|
+
}
|
|
3457
|
+
|
|
3458
|
+
/* Navigation */
|
|
3459
|
+
.kds-sidebar-nav {
|
|
3460
|
+
padding: var(--kds-spacing-2) 0;
|
|
3461
|
+
flex-direction: column;
|
|
3462
|
+
align-items: flex-start;
|
|
3463
|
+
}
|
|
3464
|
+
|
|
3465
|
+
/* Nav item */
|
|
3466
|
+
.kds-sidebar-nav-item {
|
|
3467
|
+
display: flex;
|
|
3468
|
+
align-items: center;
|
|
3469
|
+
gap: var(--kds-spacing-1);
|
|
3470
|
+
padding: var(--kds-spacing-1) var(--kds-spacing-2);
|
|
3471
|
+
color: var(--kds-color-text-primary);
|
|
3472
|
+
text-decoration: none;
|
|
3473
|
+
position: relative;
|
|
3474
|
+
transition: background var(--kds-transition-shorter) var(--kds-easing-standard);
|
|
3475
|
+
width: 100%;
|
|
3476
|
+
justify-content: flex-start;
|
|
3477
|
+
}
|
|
3478
|
+
|
|
3479
|
+
.kds-sidebar-nav-item:hover {
|
|
3480
|
+
background: var(--kds-color-action-hover);
|
|
3481
|
+
}
|
|
3482
|
+
|
|
3483
|
+
/* Nav item icon */
|
|
3484
|
+
.kds-sidebar-nav-item i {
|
|
3485
|
+
font-size: var(--kds-spacing-sidebar-icon-size);
|
|
3486
|
+
color: var(--kds-color-text-secondary);
|
|
3487
|
+
}
|
|
3488
|
+
|
|
3489
|
+
/* Nav item text */
|
|
3490
|
+
.kds-sidebar-nav-item span {
|
|
3491
|
+
font-size: var(--kds-font-size-base);
|
|
3492
|
+
font-weight: var(--kds-font-weight-medium);
|
|
3493
|
+
}
|
|
3494
|
+
|
|
3495
|
+
/* Active state - barra morada a la izquierda */
|
|
3496
|
+
.kds-sidebar-nav-item.active {
|
|
3497
|
+
background: var(--kds-color-primary-hover);
|
|
3498
|
+
}
|
|
3499
|
+
|
|
3500
|
+
.kds-sidebar-nav-item.active::before {
|
|
3501
|
+
content: '';
|
|
3502
|
+
position: absolute;
|
|
3503
|
+
left: 0;
|
|
3504
|
+
top: 0;
|
|
3505
|
+
bottom: 0;
|
|
3506
|
+
width: calc(var(--kds-spacing-1) / 2);
|
|
3507
|
+
background: var(--kds-color-primary-main);
|
|
3508
|
+
}
|
|
3509
|
+
|
|
3510
|
+
.kds-sidebar-nav-item.active i,
|
|
3511
|
+
.kds-sidebar-nav-item.active span {
|
|
3512
|
+
color: var(--kds-color-primary-main);
|
|
3513
|
+
}
|
|
3514
|
+
|
|
3515
|
+
/* Main content */
|
|
3516
|
+
.kds-main-content {
|
|
3517
|
+
flex: 1;
|
|
3518
|
+
padding: var(--kds-spacing-8);
|
|
3519
|
+
overflow-y: auto;
|
|
3520
|
+
}
|
|
3521
|
+
|
|
3522
|
+
@media (max-width: 768px) {
|
|
3523
|
+
|
|
3524
|
+
.kds-main-content {
|
|
3525
|
+
padding: var(--kds-spacing-4)
|
|
3526
|
+
}
|
|
3527
|
+
}
|
|
3528
|
+
|
|
3529
|
+
/* ============================================
|
|
3530
|
+
MOBILE RESPONSIVE SIDEBAR
|
|
3531
|
+
============================================ */
|
|
3532
|
+
|
|
3533
|
+
/* Mobile Topbar - oculto en desktop */
|
|
3534
|
+
.kds-mobile-topbar {
|
|
3535
|
+
display: none;
|
|
3536
|
+
}
|
|
3537
|
+
|
|
3538
|
+
/* Barra superior mobile del sidebar - oculta en desktop */
|
|
3539
|
+
.kds-sidebar-mobile-header {
|
|
3540
|
+
display: none;
|
|
3541
|
+
}
|
|
3542
|
+
|
|
3543
|
+
/* Botón cerrar sidebar */
|
|
3544
|
+
.kds-sidebar-close-btn {
|
|
3545
|
+
border: none;
|
|
3546
|
+
background: transparent;
|
|
3547
|
+
border-radius: var(--kds-radius-sm);
|
|
3548
|
+
cursor: pointer;
|
|
3549
|
+
padding: 0;
|
|
3550
|
+
}
|
|
3551
|
+
|
|
3552
|
+
.kds-sidebar-close-btn:hover {
|
|
3553
|
+
background: var(--kds-color-action-hover);
|
|
3554
|
+
}
|
|
3555
|
+
|
|
3556
|
+
.kds-sidebar-close-btn i {
|
|
3557
|
+
font-size: var(--kds-spacing-sidebar-icon-size);
|
|
3558
|
+
color: var(--kds-color-text-primary);
|
|
3559
|
+
}
|
|
3560
|
+
|
|
3561
|
+
/* Botón hamburger */
|
|
3562
|
+
.kds-hamburger-btn {
|
|
3563
|
+
width: var(--kds-spacing-sidebar-icon-container-size);
|
|
3564
|
+
height: var(--kds-spacing-sidebar-icon-container-size);
|
|
3565
|
+
border: none;
|
|
3566
|
+
background: transparent;
|
|
3567
|
+
border-radius: var(--kds-radius-sm);
|
|
3568
|
+
cursor: pointer;
|
|
3569
|
+
transition: background-color var(--kds-transition-shorter) var(--kds-easing-standard);
|
|
3570
|
+
}
|
|
3571
|
+
|
|
3572
|
+
.kds-hamburger-btn:hover {
|
|
3573
|
+
background: var(--kds-color-action-hover);
|
|
3574
|
+
}
|
|
3575
|
+
|
|
3576
|
+
.kds-hamburger-btn i {
|
|
3577
|
+
font-size: var(--kds-spacing-sidebar-icon-size);
|
|
3578
|
+
color: var(--kds-color-text-primary);
|
|
3579
|
+
}
|
|
3580
|
+
|
|
3581
|
+
/* Mobile (≤ 768px) */
|
|
3582
|
+
@media (max-width: 768px) {
|
|
3583
|
+
/* Mostrar topbar */
|
|
3584
|
+
.kds-mobile-topbar {
|
|
3585
|
+
display: flex;
|
|
3586
|
+
align-items: center;
|
|
3587
|
+
gap: var(--kds-spacing-2);
|
|
3588
|
+
position: fixed;
|
|
3589
|
+
top: 0;
|
|
3590
|
+
left: 0;
|
|
3591
|
+
right: 0;
|
|
3592
|
+
height: var(--kds-spacing-7);
|
|
3593
|
+
padding: 0 var(--kds-spacing-2);
|
|
3594
|
+
background: var(--kds-color-background-paper);
|
|
3595
|
+
border-bottom: 1px solid var(--kds-color-divider);
|
|
3596
|
+
z-index: var(--kds-z-index-appbar);
|
|
3597
|
+
font-size: var(--kds-font-size-lg);
|
|
3598
|
+
font-weight: var(--kds-font-weight-semibold);
|
|
3599
|
+
}
|
|
3600
|
+
|
|
3601
|
+
/* Layout con espacio para topbar */
|
|
3602
|
+
.kds-page-layout {
|
|
3603
|
+
padding-top: var(--kds-spacing-7);
|
|
3604
|
+
}
|
|
3605
|
+
|
|
3606
|
+
/* Sidebar = drawer full-width */
|
|
3607
|
+
.kds-sidebar {
|
|
3608
|
+
position: fixed;
|
|
3609
|
+
top: 0;
|
|
3610
|
+
left: 0;
|
|
3611
|
+
bottom: 0;
|
|
3612
|
+
width: 100vw;
|
|
3613
|
+
margin: 0;
|
|
3614
|
+
height: 100%;
|
|
3615
|
+
transform: translateX(-100%);
|
|
3616
|
+
transition: transform var(--kds-transition-standard) var(--kds-easing-ease-out);
|
|
3617
|
+
z-index: var(--kds-z-index-drawer);
|
|
3618
|
+
border-radius: 0;
|
|
3619
|
+
}
|
|
3620
|
+
|
|
3621
|
+
/* Barra superior mobile visible */
|
|
3622
|
+
.kds-sidebar-mobile-header {
|
|
3623
|
+
display: flex;
|
|
3624
|
+
align-items: center;
|
|
3625
|
+
justify-content: space-between;
|
|
3626
|
+
height: var(--kds-spacing-7);
|
|
3627
|
+
padding: 0 var(--kds-spacing-2);
|
|
3628
|
+
background: var(--kds-color-background-paper);
|
|
3629
|
+
border-bottom: 1px solid var(--kds-color-divider);
|
|
3630
|
+
font-size: var(--kds-font-size-lg);
|
|
3631
|
+
font-weight: var(--kds-font-weight-semibold);
|
|
3632
|
+
color: var(--kds-color-text-primary);
|
|
3633
|
+
}
|
|
3634
|
+
|
|
3635
|
+
/* Sidebar abierto */
|
|
3636
|
+
.kds-sidebar-open {
|
|
3637
|
+
transform: translateX(0);
|
|
3638
|
+
}
|
|
3639
|
+
|
|
3640
|
+
/* Main content full-width */
|
|
3641
|
+
.kds-main-content {
|
|
3642
|
+
margin-left: 0;
|
|
3643
|
+
}
|
|
3644
|
+
}
|
|
3645
|
+
|
|
3646
|
+
/* ============================================
|
|
3647
|
+
LIST UTILITIES
|
|
3648
|
+
============================================ */
|
|
3649
|
+
|
|
3650
|
+
/* Standard list with compact spacing */
|
|
3651
|
+
.kds-list {
|
|
3652
|
+
margin: 0;
|
|
3653
|
+
padding-left: var(--kds-spacing-2);
|
|
3654
|
+
list-style-position: outside;
|
|
3655
|
+
line-height: var(--kds-line-height-relaxed);
|
|
3656
|
+
}
|
|
3657
|
+
|
|
3658
|
+
.kds-list > li {
|
|
3659
|
+
margin-bottom: var(--kds-spacing-2);
|
|
3660
|
+
}
|
|
3661
|
+
|
|
3662
|
+
.kds-list > li:last-child {
|
|
3663
|
+
margin-bottom: 0;
|
|
3664
|
+
}
|
|
3665
|
+
|
|
3666
|
+
/* Code block for displaying code snippets */
|
|
3667
|
+
.kds-code-block {
|
|
3668
|
+
background: var(--kds-color-background-elevated);
|
|
3669
|
+
padding: var(--kds-spacing-4);
|
|
3670
|
+
border-radius: var(--kds-radius-md);
|
|
3671
|
+
overflow-x: auto;
|
|
3672
|
+
font-family: 'Courier New', monospace;
|
|
3673
|
+
font-size: var(--kds-font-size-sm);
|
|
3674
|
+
line-height: var(--kds-line-height-relaxed);
|
|
3675
|
+
color: var(--kds-color-text-primary);
|
|
3676
|
+
}
|
|
3677
|
+
|
|
3678
|
+
/* ============================================
|
|
3679
|
+
DEMO PAGE STYLES (DEPRECATED - Use kds-card-* instead)
|
|
3680
|
+
============================================ */
|
|
3681
|
+
|
|
3682
|
+
.demo-card {
|
|
3683
|
+
background: var(--kds-color-background-paper);
|
|
3684
|
+
border: 1px solid var(--kds-color-divider);
|
|
3685
|
+
border-radius: var(--kds-radius-lg);
|
|
3686
|
+
padding: var(--kds-spacing-6);
|
|
3687
|
+
margin-bottom: var(--kds-spacing-6);
|
|
3688
|
+
}
|
|
3689
|
+
|
|
3690
|
+
.code-block {
|
|
3691
|
+
background: var(--kds-color-background-elevated);
|
|
3692
|
+
border: 1px solid var(--kds-color-divider);
|
|
3693
|
+
border-radius: var(--kds-radius-md);
|
|
3694
|
+
padding: var(--kds-spacing-4);
|
|
3695
|
+
font-family: var(--kds-font-family-mono);
|
|
3696
|
+
font-size: var(--kds-font-size-sm);
|
|
3697
|
+
line-height: var(--kds-line-height-relaxed);
|
|
3698
|
+
white-space: pre-wrap;
|
|
3699
|
+
word-wrap: break-word;
|
|
3700
|
+
overflow-x: auto;
|
|
3701
|
+
color: var(--kds-color-text-primary);
|
|
3702
|
+
}
|
|
3703
|
+
|
|
3704
|
+
.kds-text-secondary-color {
|
|
3705
|
+
color: var(--kds-color-text-secondary);
|
|
3706
|
+
}
|
|
3707
|
+
|
|
3708
|
+
.kds-main-content > .kds-body-large {
|
|
3709
|
+
margin-bottom: var(--kds-spacing-6);
|
|
3710
|
+
}
|
|
3711
|
+
|
|
3712
|
+
.kds-main-content > .demo-card ul {
|
|
3713
|
+
line-height: var(--kds-line-height-relaxed);
|
|
3714
|
+
}
|
|
3287
3715
|
|