@khipu/design-system 0.1.0-alpha.28 → 0.1.0-alpha.29
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 +423 -135
- package/dist/beercss/khipu-beercss.js +180 -0
- 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 +65 -12
- package/dist/index.d.ts +65 -12
- package/dist/index.js +67 -8
- package/dist/index.mjs +67 -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-26T19:18:15.487Z
|
|
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,10 +265,11 @@
|
|
|
230
265
|
BREAKPOINTS
|
|
231
266
|
========================================================================== */
|
|
232
267
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
--kds-breakpoint-
|
|
236
|
-
--kds-breakpoint-
|
|
268
|
+
|
|
269
|
+
/* Breakpoints */
|
|
270
|
+
--kds-breakpoint-mobile: 768px;
|
|
271
|
+
--kds-breakpoint-tablet: 1024px;
|
|
272
|
+
--kds-breakpoint-desktop: 1025px;
|
|
237
273
|
|
|
238
274
|
}
|
|
239
275
|
|
|
@@ -246,25 +282,17 @@
|
|
|
246
282
|
*/
|
|
247
283
|
|
|
248
284
|
/* Import core design tokens (auto-generated) */
|
|
249
|
-
:root
|
|
285
|
+
:root,
|
|
286
|
+
body.light,
|
|
287
|
+
body.dark {
|
|
250
288
|
/* ========================================
|
|
251
289
|
Map core tokens to BeerCSS-specific names
|
|
252
290
|
(BeerCSS may use different naming conventions)
|
|
291
|
+
Same selector specificity as BeerCSS to ensure override
|
|
253
292
|
======================================== */
|
|
254
293
|
|
|
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
294
|
/* Input border states */
|
|
267
|
-
--kds-input-border-hover:
|
|
295
|
+
--kds-input-border-hover: var(--kds-color-input-hover-border);
|
|
268
296
|
|
|
269
297
|
/* Override BeerCSS native font variable */
|
|
270
298
|
--font: var(--kds-font-family-primary);
|
|
@@ -292,13 +320,19 @@
|
|
|
292
320
|
--warning: var(--kds-color-warning-main);
|
|
293
321
|
--info: var(--kds-color-info-main);
|
|
294
322
|
|
|
295
|
-
/* Background and surface colors */
|
|
323
|
+
/* Background and surface colors - Override BeerCSS purple defaults */
|
|
296
324
|
--background: var(--kds-color-background-default);
|
|
297
325
|
--surface: var(--kds-color-background-paper);
|
|
298
|
-
--
|
|
299
|
-
--
|
|
326
|
+
--surface-dim: var(--kds-color-background-elevated);
|
|
327
|
+
--surface-bright: var(--kds-color-background-paper);
|
|
300
328
|
--surface-variant: var(--kds-color-background-elevated);
|
|
329
|
+
--surface-container-lowest: var(--kds-color-background-default);
|
|
330
|
+
--surface-container-low: var(--kds-color-background-paper);
|
|
301
331
|
--surface-container: var(--kds-color-background-default);
|
|
332
|
+
--surface-container-high: var(--kds-color-background-elevated);
|
|
333
|
+
--surface-container-highest: var(--kds-color-background-elevated);
|
|
334
|
+
--on-surface: var(--kds-color-text-primary);
|
|
335
|
+
--on-surface-variant: var(--kds-color-action-active);
|
|
302
336
|
--outline: var(--kds-color-input-border);
|
|
303
337
|
--outline-variant: var(--kds-border-light);
|
|
304
338
|
|
|
@@ -307,36 +341,36 @@
|
|
|
307
341
|
======================================== */
|
|
308
342
|
|
|
309
343
|
/* 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:
|
|
344
|
+
--kds-upload-zone-bg: var(--kds-color-background-elevated);
|
|
345
|
+
--kds-upload-zone-border: var(--kds-border-light);
|
|
346
|
+
--kds-upload-zone-border-hover: var(--kds-color-info-main);
|
|
347
|
+
--kds-upload-zone-border-drag: var(--kds-color-primary-main);
|
|
314
348
|
--kds-upload-zone-border-error: var(--kds-color-error-main);
|
|
315
349
|
--kds-upload-zone-border-success: var(--kds-color-success-main);
|
|
316
|
-
--kds-upload-item-bg:
|
|
317
|
-
--kds-upload-item-border:
|
|
350
|
+
--kds-upload-item-bg: var(--kds-color-background-paper);
|
|
351
|
+
--kds-upload-item-border: var(--kds-border-light);
|
|
318
352
|
|
|
319
353
|
/* OTP Input */
|
|
320
354
|
--kds-otp-digit-size: 56px;
|
|
321
355
|
--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:
|
|
356
|
+
--kds-otp-digit-border: var(--kds-border-light);
|
|
357
|
+
--kds-otp-digit-border-focus: var(--kds-color-info-main);
|
|
358
|
+
--kds-otp-digit-bg: var(--kds-color-background-paper);
|
|
359
|
+
--kds-otp-digit-bg-filled: var(--kds-color-background-elevated);
|
|
326
360
|
|
|
327
361
|
/* Modal Base */
|
|
328
|
-
--kds-modal-bg:
|
|
362
|
+
--kds-modal-bg: var(--kds-color-background-paper);
|
|
329
363
|
--kds-modal-padding: var(--kds-spacing-6);
|
|
330
364
|
--kds-modal-padding-mobile: var(--kds-spacing-4);
|
|
331
365
|
--kds-modal-border-radius: var(--kds-radius-lg);
|
|
332
|
-
--kds-modal-shadow: var(--kds-shadow-
|
|
366
|
+
--kds-modal-shadow: var(--kds-shadow-4);
|
|
333
367
|
--kds-modal-backdrop: rgba(0, 0, 0, 0.5);
|
|
334
368
|
--kds-modal-max-width: 600px;
|
|
335
369
|
--kds-modal-max-width-mobile: 95vw;
|
|
336
370
|
|
|
337
371
|
/* Modal Content Colors */
|
|
338
|
-
--kds-modal-title-color:
|
|
339
|
-
--kds-modal-text-color:
|
|
372
|
+
--kds-modal-title-color: var(--kds-color-text-primary);
|
|
373
|
+
--kds-modal-text-color: var(--kds-color-text-secondary);
|
|
340
374
|
--kds-modal-icon-warning: var(--kds-color-warning-main);
|
|
341
375
|
--kds-modal-icon-error: var(--kds-color-error-main);
|
|
342
376
|
--kds-modal-icon-success: var(--kds-color-success-main);
|
|
@@ -347,22 +381,22 @@
|
|
|
347
381
|
--kds-welcome-gradient-end: var(--kds-color-primary-dark); /* Khipu purple dark */
|
|
348
382
|
|
|
349
383
|
/* 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:
|
|
384
|
+
--kds-bank-item-border: var(--kds-border-light);
|
|
385
|
+
--kds-bank-item-border-hover: var(--kds-border-light);
|
|
386
|
+
--kds-bank-item-border-selected: var(--kds-color-info-main);
|
|
387
|
+
--kds-bank-item-bg-selected: var(--kds-alert-info-bg);
|
|
388
|
+
--kds-bank-item-bg-hover: var(--kds-color-background-elevated);
|
|
355
389
|
|
|
356
390
|
/* Signature Pad */
|
|
357
|
-
--kds-signature-border:
|
|
358
|
-
--kds-signature-bg:
|
|
391
|
+
--kds-signature-border: var(--kds-border-light);
|
|
392
|
+
--kds-signature-bg: var(--kds-color-background-paper);
|
|
359
393
|
--kds-signature-line-color: #000000;
|
|
360
394
|
|
|
361
395
|
/* Contract Accordion */
|
|
362
|
-
--kds-accordion-border:
|
|
363
|
-
--kds-accordion-bg:
|
|
364
|
-
--kds-accordion-bg-open:
|
|
365
|
-
--kds-accordion-header-bg:
|
|
396
|
+
--kds-accordion-border: var(--kds-border-light);
|
|
397
|
+
--kds-accordion-bg: var(--kds-color-background-elevated);
|
|
398
|
+
--kds-accordion-bg-open: var(--kds-color-background-paper);
|
|
399
|
+
--kds-accordion-header-bg: var(--kds-color-background-elevated);
|
|
366
400
|
|
|
367
401
|
/* Onboarding Container */
|
|
368
402
|
--kds-onboarding-max-width: 800px;
|
|
@@ -420,9 +454,10 @@ footer {
|
|
|
420
454
|
* Source: design.khipu.com and Material Design 3 specifications
|
|
421
455
|
*/
|
|
422
456
|
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
457
|
+
|
|
458
|
+
:has(>main) {
|
|
459
|
+
background-color: transparent !important;
|
|
460
|
+
}
|
|
426
461
|
|
|
427
462
|
/* ========================================
|
|
428
463
|
KHIPU BUTTON SYSTEM
|
|
@@ -1335,100 +1370,24 @@ nav.primary button {
|
|
|
1335
1370
|
}
|
|
1336
1371
|
|
|
1337
1372
|
/* ========================================
|
|
1338
|
-
|
|
1373
|
+
Flex Layout System (Body + Container + Sidebar)
|
|
1339
1374
|
======================================== */
|
|
1340
1375
|
|
|
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;
|
|
1376
|
+
/* Body flex-column layout */
|
|
1377
|
+
body.kds-layout {
|
|
1355
1378
|
display: flex;
|
|
1356
1379
|
flex-direction: column;
|
|
1380
|
+
min-height: 100vh;
|
|
1381
|
+
margin: 0;
|
|
1357
1382
|
}
|
|
1358
1383
|
|
|
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 {
|
|
1384
|
+
/* Layout container (flex-row) - below header */
|
|
1385
|
+
.kds-layout-container {
|
|
1397
1386
|
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
|
-
}
|
|
1387
|
+
flex-direction: row;
|
|
1388
|
+
flex: 1;
|
|
1389
|
+
overflow: hidden;
|
|
1430
1390
|
}
|
|
1431
|
-
|
|
1432
1391
|
/* ========================================
|
|
1433
1392
|
Footer Customization
|
|
1434
1393
|
======================================== */
|
|
@@ -3284,4 +3243,333 @@ dialog.modal::backdrop {
|
|
|
3284
3243
|
margin-top: var(--kds-spacing-6);
|
|
3285
3244
|
}
|
|
3286
3245
|
|
|
3246
|
+
/* ===========================================================================
|
|
3247
|
+
|
|
3248
|
+
/* ============================================
|
|
3249
|
+
SIDEBAR NAVIGATION (Simple & Sticky)
|
|
3250
|
+
============================================ */
|
|
3251
|
+
|
|
3252
|
+
/* Page layout - Flexbox horizontal */
|
|
3253
|
+
.kds-page-layout {
|
|
3254
|
+
display: flex;
|
|
3255
|
+
min-height: 100vh;
|
|
3256
|
+
}
|
|
3257
|
+
|
|
3258
|
+
/* Sidebar - Sticky flotante a la izquierda */
|
|
3259
|
+
.kds-sidebar {
|
|
3260
|
+
width: var(--kds-spacing-sidebar-width);
|
|
3261
|
+
background: var(--kds-color-background-paper);
|
|
3262
|
+
border: 1px solid var(--kds-color-divider);
|
|
3263
|
+
border-radius: var(--kds-radius-lg);
|
|
3264
|
+
flex-shrink: 0;
|
|
3265
|
+
position: sticky;
|
|
3266
|
+
top: var(--kds-spacing-4);
|
|
3267
|
+
margin: var(--kds-spacing-4);
|
|
3268
|
+
height: fit-content;
|
|
3269
|
+
overflow-y: auto;
|
|
3270
|
+
box-shadow: var(--kds-shadow-2);
|
|
3271
|
+
}
|
|
3272
|
+
|
|
3273
|
+
/* Sidebar Header */
|
|
3274
|
+
.kds-sidebar-header {
|
|
3275
|
+
display: flex;
|
|
3276
|
+
align-items: center;
|
|
3277
|
+
gap: var(--kds-spacing-3);
|
|
3278
|
+
padding: var(--kds-spacing-1) var(--kds-spacing-2);
|
|
3279
|
+
border-bottom: 1px solid var(--kds-color-divider);
|
|
3280
|
+
border-radius: var(--kds-radius-lg) var(--kds-radius-lg) 0 0;
|
|
3281
|
+
cursor: pointer;
|
|
3282
|
+
position: relative; /* ← Para anclar dropdown */
|
|
3283
|
+
transition: background var(--kds-transition-shorter) var(--kds-easing-standard);
|
|
3284
|
+
}
|
|
3285
|
+
|
|
3286
|
+
.kds-sidebar-header:hover {
|
|
3287
|
+
background: var(--kds-color-action-hover);
|
|
3288
|
+
}
|
|
3289
|
+
|
|
3290
|
+
/* Avatar circular */
|
|
3291
|
+
.kds-sidebar-avatar {
|
|
3292
|
+
width: var(--kds-spacing-sidebar-icon-container-size);
|
|
3293
|
+
height: var(--kds-spacing-sidebar-icon-container-size);
|
|
3294
|
+
border-radius: var(--kds-radius-full);
|
|
3295
|
+
background: var(--kds-color-error-main);
|
|
3296
|
+
color: var(--kds-color-background-paper);
|
|
3297
|
+
display: flex;
|
|
3298
|
+
align-items: center;
|
|
3299
|
+
justify-content: center;
|
|
3300
|
+
font-size: var(--kds-font-size-lg);
|
|
3301
|
+
font-weight: var(--kds-font-weight-bold);
|
|
3302
|
+
flex-shrink: 0;
|
|
3303
|
+
}
|
|
3304
|
+
|
|
3305
|
+
/* Header text */
|
|
3306
|
+
.kds-sidebar-header-text {
|
|
3307
|
+
flex: 1;
|
|
3308
|
+
overflow: hidden;
|
|
3309
|
+
}
|
|
3310
|
+
|
|
3311
|
+
.kds-sidebar-title {
|
|
3312
|
+
font-size: var(--kds-font-size-base);
|
|
3313
|
+
font-weight: var(--kds-font-weight-semibold);
|
|
3314
|
+
color: var(--kds-color-text-primary);
|
|
3315
|
+
white-space: nowrap;
|
|
3316
|
+
overflow: hidden;
|
|
3317
|
+
text-overflow: ellipsis;
|
|
3318
|
+
}
|
|
3319
|
+
|
|
3320
|
+
.kds-sidebar-subtitle {
|
|
3321
|
+
font-size: var(--kds-font-size-sm);
|
|
3322
|
+
color: var(--kds-color-text-secondary);
|
|
3323
|
+
white-space: nowrap;
|
|
3324
|
+
overflow: hidden;
|
|
3325
|
+
text-overflow: ellipsis;
|
|
3326
|
+
}
|
|
3327
|
+
|
|
3328
|
+
/* Dropdown icon */
|
|
3329
|
+
.kds-sidebar-dropdown-icon {
|
|
3330
|
+
font-size: var(--kds-spacing-sidebar-icon-size);
|
|
3331
|
+
color: var(--kds-color-text-secondary);
|
|
3332
|
+
flex-shrink: 0;
|
|
3333
|
+
transition: transform var(--kds-transition-shorter) var(--kds-easing-standard);
|
|
3334
|
+
}
|
|
3335
|
+
|
|
3336
|
+
/* Header Dropdown - Flotante */
|
|
3337
|
+
.kds-sidebar-header-dropdown {
|
|
3338
|
+
position: absolute;
|
|
3339
|
+
top: 100%;
|
|
3340
|
+
left: 0;
|
|
3341
|
+
right: 0;
|
|
3342
|
+
z-index: var(--kds-z-index-drawer);
|
|
3343
|
+
opacity: 0;
|
|
3344
|
+
visibility: hidden;
|
|
3345
|
+
pointer-events: none;
|
|
3346
|
+
transform: translateY(calc(var(--kds-spacing-1) * -1));
|
|
3347
|
+
transition: all var(--kds-transition-shorter) var(--kds-easing-standard);
|
|
3348
|
+
}
|
|
3349
|
+
|
|
3350
|
+
.kds-sidebar-header-dropdown.kds-dropdown-open {
|
|
3351
|
+
opacity: 1;
|
|
3352
|
+
visibility: visible;
|
|
3353
|
+
pointer-events: auto;
|
|
3354
|
+
transform: translateY(0);
|
|
3355
|
+
}
|
|
3356
|
+
|
|
3357
|
+
/* Navigation */
|
|
3358
|
+
.kds-sidebar-nav {
|
|
3359
|
+
padding: var(--kds-spacing-2) 0;
|
|
3360
|
+
flex-direction: column;
|
|
3361
|
+
align-items: flex-start;
|
|
3362
|
+
}
|
|
3363
|
+
|
|
3364
|
+
/* Nav item */
|
|
3365
|
+
.kds-sidebar-nav-item {
|
|
3366
|
+
display: flex;
|
|
3367
|
+
align-items: center;
|
|
3368
|
+
gap: var(--kds-spacing-1);
|
|
3369
|
+
padding: var(--kds-spacing-1) var(--kds-spacing-2);
|
|
3370
|
+
color: var(--kds-color-text-primary);
|
|
3371
|
+
text-decoration: none;
|
|
3372
|
+
position: relative;
|
|
3373
|
+
transition: background var(--kds-transition-shorter) var(--kds-easing-standard);
|
|
3374
|
+
width: 100%;
|
|
3375
|
+
justify-content: flex-start;
|
|
3376
|
+
}
|
|
3377
|
+
|
|
3378
|
+
.kds-sidebar-nav-item:hover {
|
|
3379
|
+
background: var(--kds-color-action-hover);
|
|
3380
|
+
}
|
|
3381
|
+
|
|
3382
|
+
/* Nav item icon */
|
|
3383
|
+
.kds-sidebar-nav-item i {
|
|
3384
|
+
font-size: var(--kds-spacing-sidebar-icon-size);
|
|
3385
|
+
color: var(--kds-color-text-secondary);
|
|
3386
|
+
}
|
|
3387
|
+
|
|
3388
|
+
/* Nav item text */
|
|
3389
|
+
.kds-sidebar-nav-item span {
|
|
3390
|
+
font-size: var(--kds-font-size-base);
|
|
3391
|
+
font-weight: var(--kds-font-weight-medium);
|
|
3392
|
+
}
|
|
3393
|
+
|
|
3394
|
+
/* Active state - barra morada a la izquierda */
|
|
3395
|
+
.kds-sidebar-nav-item.active {
|
|
3396
|
+
background: var(--kds-color-primary-hover);
|
|
3397
|
+
}
|
|
3398
|
+
|
|
3399
|
+
.kds-sidebar-nav-item.active::before {
|
|
3400
|
+
content: '';
|
|
3401
|
+
position: absolute;
|
|
3402
|
+
left: 0;
|
|
3403
|
+
top: 0;
|
|
3404
|
+
bottom: 0;
|
|
3405
|
+
width: calc(var(--kds-spacing-1) / 2);
|
|
3406
|
+
background: var(--kds-color-primary-main);
|
|
3407
|
+
}
|
|
3408
|
+
|
|
3409
|
+
.kds-sidebar-nav-item.active i,
|
|
3410
|
+
.kds-sidebar-nav-item.active span {
|
|
3411
|
+
color: var(--kds-color-primary-main);
|
|
3412
|
+
}
|
|
3413
|
+
|
|
3414
|
+
/* Main content */
|
|
3415
|
+
.kds-main-content {
|
|
3416
|
+
flex: 1;
|
|
3417
|
+
padding: var(--kds-spacing-8);
|
|
3418
|
+
overflow-y: auto;
|
|
3419
|
+
}
|
|
3420
|
+
|
|
3421
|
+
/* ============================================
|
|
3422
|
+
MOBILE RESPONSIVE SIDEBAR
|
|
3423
|
+
============================================ */
|
|
3424
|
+
|
|
3425
|
+
/* Mobile Topbar - oculto en desktop */
|
|
3426
|
+
.kds-mobile-topbar {
|
|
3427
|
+
display: none;
|
|
3428
|
+
}
|
|
3429
|
+
|
|
3430
|
+
/* Barra superior mobile del sidebar - oculta en desktop */
|
|
3431
|
+
.kds-sidebar-mobile-header {
|
|
3432
|
+
display: none;
|
|
3433
|
+
}
|
|
3434
|
+
|
|
3435
|
+
/* Botón cerrar sidebar */
|
|
3436
|
+
.kds-sidebar-close-btn {
|
|
3437
|
+
border: none;
|
|
3438
|
+
background: transparent;
|
|
3439
|
+
border-radius: var(--kds-radius-sm);
|
|
3440
|
+
cursor: pointer;
|
|
3441
|
+
padding: 0;
|
|
3442
|
+
}
|
|
3443
|
+
|
|
3444
|
+
.kds-sidebar-close-btn:hover {
|
|
3445
|
+
background: var(--kds-color-action-hover);
|
|
3446
|
+
}
|
|
3447
|
+
|
|
3448
|
+
.kds-sidebar-close-btn i {
|
|
3449
|
+
font-size: var(--kds-spacing-sidebar-icon-size);
|
|
3450
|
+
color: var(--kds-color-text-primary);
|
|
3451
|
+
}
|
|
3452
|
+
|
|
3453
|
+
/* Botón hamburger */
|
|
3454
|
+
.kds-hamburger-btn {
|
|
3455
|
+
width: var(--kds-spacing-sidebar-icon-container-size);
|
|
3456
|
+
height: var(--kds-spacing-sidebar-icon-container-size);
|
|
3457
|
+
border: none;
|
|
3458
|
+
background: transparent;
|
|
3459
|
+
border-radius: var(--kds-radius-sm);
|
|
3460
|
+
cursor: pointer;
|
|
3461
|
+
transition: background-color var(--kds-transition-shorter) var(--kds-easing-standard);
|
|
3462
|
+
}
|
|
3463
|
+
|
|
3464
|
+
.kds-hamburger-btn:hover {
|
|
3465
|
+
background: var(--kds-color-action-hover);
|
|
3466
|
+
}
|
|
3467
|
+
|
|
3468
|
+
.kds-hamburger-btn i {
|
|
3469
|
+
font-size: var(--kds-spacing-sidebar-icon-size);
|
|
3470
|
+
color: var(--kds-color-text-primary);
|
|
3471
|
+
}
|
|
3472
|
+
|
|
3473
|
+
/* Mobile (≤ 768px) */
|
|
3474
|
+
@media (max-width: 768px) {
|
|
3475
|
+
/* Mostrar topbar */
|
|
3476
|
+
.kds-mobile-topbar {
|
|
3477
|
+
display: flex;
|
|
3478
|
+
align-items: center;
|
|
3479
|
+
gap: var(--kds-spacing-2);
|
|
3480
|
+
position: fixed;
|
|
3481
|
+
top: 0;
|
|
3482
|
+
left: 0;
|
|
3483
|
+
right: 0;
|
|
3484
|
+
height: var(--kds-spacing-7);
|
|
3485
|
+
padding: 0 var(--kds-spacing-2);
|
|
3486
|
+
background: var(--kds-color-background-paper);
|
|
3487
|
+
border-bottom: 1px solid var(--kds-color-divider);
|
|
3488
|
+
z-index: var(--kds-z-index-appbar);
|
|
3489
|
+
font-size: var(--kds-font-size-lg);
|
|
3490
|
+
font-weight: var(--kds-font-weight-semibold);
|
|
3491
|
+
}
|
|
3492
|
+
|
|
3493
|
+
/* Layout con espacio para topbar */
|
|
3494
|
+
.kds-page-layout {
|
|
3495
|
+
padding-top: var(--kds-spacing-7);
|
|
3496
|
+
}
|
|
3497
|
+
|
|
3498
|
+
/* Sidebar = drawer full-width */
|
|
3499
|
+
.kds-sidebar {
|
|
3500
|
+
position: fixed;
|
|
3501
|
+
top: 0;
|
|
3502
|
+
left: 0;
|
|
3503
|
+
bottom: 0;
|
|
3504
|
+
width: 100vw;
|
|
3505
|
+
margin: 0;
|
|
3506
|
+
height: 100%;
|
|
3507
|
+
transform: translateX(-100%);
|
|
3508
|
+
transition: transform var(--kds-transition-standard) var(--kds-easing-ease-out);
|
|
3509
|
+
z-index: var(--kds-z-index-drawer);
|
|
3510
|
+
border-radius: 0;
|
|
3511
|
+
}
|
|
3512
|
+
|
|
3513
|
+
/* Barra superior mobile visible */
|
|
3514
|
+
.kds-sidebar-mobile-header {
|
|
3515
|
+
display: flex;
|
|
3516
|
+
align-items: center;
|
|
3517
|
+
justify-content: space-between;
|
|
3518
|
+
height: var(--kds-spacing-7);
|
|
3519
|
+
padding: 0 var(--kds-spacing-2);
|
|
3520
|
+
background: var(--kds-color-background-paper);
|
|
3521
|
+
border-bottom: 1px solid var(--kds-color-divider);
|
|
3522
|
+
font-size: var(--kds-font-size-lg);
|
|
3523
|
+
font-weight: var(--kds-font-weight-semibold);
|
|
3524
|
+
color: var(--kds-color-text-primary);
|
|
3525
|
+
}
|
|
3526
|
+
|
|
3527
|
+
/* Sidebar abierto */
|
|
3528
|
+
.kds-sidebar-open {
|
|
3529
|
+
transform: translateX(0);
|
|
3530
|
+
}
|
|
3531
|
+
|
|
3532
|
+
/* Main content full-width */
|
|
3533
|
+
.kds-main-content {
|
|
3534
|
+
margin-left: 0;
|
|
3535
|
+
}
|
|
3536
|
+
}
|
|
3537
|
+
|
|
3538
|
+
/* ============================================
|
|
3539
|
+
DEMO PAGE STYLES
|
|
3540
|
+
============================================ */
|
|
3541
|
+
|
|
3542
|
+
.demo-card {
|
|
3543
|
+
background: var(--kds-color-background-paper);
|
|
3544
|
+
border: 1px solid var(--kds-color-divider);
|
|
3545
|
+
border-radius: var(--kds-radius-lg);
|
|
3546
|
+
padding: var(--kds-spacing-6);
|
|
3547
|
+
margin-bottom: var(--kds-spacing-6);
|
|
3548
|
+
}
|
|
3549
|
+
|
|
3550
|
+
.code-block {
|
|
3551
|
+
background: var(--kds-color-background-elevated);
|
|
3552
|
+
border: 1px solid var(--kds-color-divider);
|
|
3553
|
+
border-radius: var(--kds-radius-md);
|
|
3554
|
+
padding: var(--kds-spacing-4);
|
|
3555
|
+
font-family: var(--kds-font-family-mono);
|
|
3556
|
+
font-size: var(--kds-font-size-sm);
|
|
3557
|
+
line-height: var(--kds-line-height-relaxed);
|
|
3558
|
+
white-space: pre-wrap;
|
|
3559
|
+
word-wrap: break-word;
|
|
3560
|
+
overflow-x: auto;
|
|
3561
|
+
color: var(--kds-color-text-primary);
|
|
3562
|
+
}
|
|
3563
|
+
|
|
3564
|
+
.kds-text-secondary-color {
|
|
3565
|
+
color: var(--kds-color-text-secondary);
|
|
3566
|
+
}
|
|
3567
|
+
|
|
3568
|
+
.kds-main-content > .kds-body-large {
|
|
3569
|
+
margin-bottom: var(--kds-spacing-6);
|
|
3570
|
+
}
|
|
3571
|
+
|
|
3572
|
+
.kds-main-content > .demo-card ul {
|
|
3573
|
+
line-height: var(--kds-line-height-relaxed);
|
|
3574
|
+
}
|
|
3287
3575
|
|