@khipu/design-system 0.1.0-alpha.56 → 0.2.0-alpha.3
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 +422 -71
- package/dist/beercss/khipu-beercss.min.css +1 -1
- package/dist/beercss/metadata.json +4 -4
- package/dist/index.d.mts +549 -607
- package/dist/index.d.ts +549 -607
- package/dist/index.js +980 -1959
- package/dist/index.mjs +888 -1862
- package/package.json +6 -5
|
@@ -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-05-
|
|
14
|
+
* Generated: 2026-05-13T19:14:37.483Z
|
|
15
15
|
*
|
|
16
16
|
* To regenerate:
|
|
17
17
|
* cd design-system && npm run tokens:generate
|
|
@@ -133,16 +133,7 @@
|
|
|
133
133
|
--kds-font-weight-semibold: 600;
|
|
134
134
|
--kds-font-weight-bold: 700;
|
|
135
135
|
|
|
136
|
-
/* Font sizes */
|
|
137
|
-
--kds-font-size-xs: 0.75rem;
|
|
138
|
-
--kds-font-size-sm: 0.875rem;
|
|
139
|
-
--kds-font-size-base: 1rem;
|
|
140
|
-
--kds-font-size-lg: 1.125rem;
|
|
141
|
-
--kds-font-size-xl: 1.25rem;
|
|
142
|
-
--kds-font-size-2xl: 1.5rem;
|
|
143
|
-
--kds-font-size-3xl: 1.875rem;
|
|
144
|
-
--kds-font-size-4xl: 2.25rem;
|
|
145
|
-
|
|
136
|
+
/* Font sizes (base scale xs–4xl: see responsive section below) */
|
|
146
137
|
/* Line heights */
|
|
147
138
|
--kds-line-height-tight: 1.2;
|
|
148
139
|
--kds-line-height-snug: 1.375;
|
|
@@ -365,6 +356,16 @@
|
|
|
365
356
|
========================================================================== */
|
|
366
357
|
|
|
367
358
|
|
|
359
|
+
/* Base font-size scale */
|
|
360
|
+
--kds-font-size-xs: 0.6875rem;
|
|
361
|
+
--kds-font-size-sm: 0.8125rem;
|
|
362
|
+
--kds-font-size-base: 0.875rem;
|
|
363
|
+
--kds-font-size-lg: 1rem;
|
|
364
|
+
--kds-font-size-xl: 1.125rem;
|
|
365
|
+
--kds-font-size-2xl: 1.25rem;
|
|
366
|
+
--kds-font-size-3xl: 1.5rem;
|
|
367
|
+
--kds-font-size-4xl: 1.875rem;
|
|
368
|
+
|
|
368
369
|
/* Headings */
|
|
369
370
|
--kds-font-size-h1: 1.75rem;
|
|
370
371
|
--kds-font-size-h2: 1.5rem;
|
|
@@ -401,6 +402,16 @@
|
|
|
401
402
|
/* Tablet (600px+) - Typography */
|
|
402
403
|
@media (min-width: 600px) {
|
|
403
404
|
:root {
|
|
405
|
+
|
|
406
|
+
/* Base font-size scale */
|
|
407
|
+
--kds-font-size-xs: 0.75rem;
|
|
408
|
+
--kds-font-size-sm: 0.875rem;
|
|
409
|
+
--kds-font-size-base: 1rem;
|
|
410
|
+
--kds-font-size-lg: 1.125rem;
|
|
411
|
+
--kds-font-size-xl: 1.25rem;
|
|
412
|
+
--kds-font-size-2xl: 1.5rem;
|
|
413
|
+
--kds-font-size-3xl: 1.875rem;
|
|
414
|
+
--kds-font-size-4xl: 2.25rem;
|
|
404
415
|
--kds-font-size-h1: 2rem;
|
|
405
416
|
--kds-font-size-h2: 1.75rem;
|
|
406
417
|
--kds-font-size-h3: 1.5rem;
|
|
@@ -428,6 +439,16 @@
|
|
|
428
439
|
/* Desktop (840px+) - Typography */
|
|
429
440
|
@media (min-width: 840px) {
|
|
430
441
|
:root {
|
|
442
|
+
|
|
443
|
+
/* Base font-size scale */
|
|
444
|
+
--kds-font-size-xs: 0.75rem;
|
|
445
|
+
--kds-font-size-sm: 0.875rem;
|
|
446
|
+
--kds-font-size-base: 1rem;
|
|
447
|
+
--kds-font-size-lg: 1.125rem;
|
|
448
|
+
--kds-font-size-xl: 1.25rem;
|
|
449
|
+
--kds-font-size-2xl: 1.5rem;
|
|
450
|
+
--kds-font-size-3xl: 1.875rem;
|
|
451
|
+
--kds-font-size-4xl: 2.25rem;
|
|
431
452
|
--kds-font-size-h1: 2.5rem;
|
|
432
453
|
--kds-font-size-h2: 2rem;
|
|
433
454
|
--kds-font-size-h3: 1.75rem;
|
|
@@ -799,6 +820,7 @@ a.kds-btn {
|
|
|
799
820
|
align-items: center;
|
|
800
821
|
justify-content: center;
|
|
801
822
|
gap: 8px;
|
|
823
|
+
text-align: center;
|
|
802
824
|
|
|
803
825
|
/* Typography - Using design tokens */
|
|
804
826
|
font-family: var(--kds-font-family-secondary);
|
|
@@ -984,7 +1006,12 @@ a.kds-btn > .kds-icon > i {
|
|
|
984
1006
|
min-width: var(--kds-spacing-button-icon-size);
|
|
985
1007
|
min-height: var(--kds-spacing-button-icon-size);
|
|
986
1008
|
line-height: 1;
|
|
987
|
-
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
/* Full-width button */
|
|
1012
|
+
button.kds-btn.kds-btn-block,
|
|
1013
|
+
a.kds-btn.kds-btn-block {
|
|
1014
|
+
width: 100%;
|
|
988
1015
|
}
|
|
989
1016
|
|
|
990
1017
|
/* ========================================
|
|
@@ -1008,12 +1035,6 @@ a.kds-btn.kds-btn-md {
|
|
|
1008
1035
|
|
|
1009
1036
|
/* Default .kds-btn uses --kds-spacing-button-min-height (50px) from base styles */
|
|
1010
1037
|
|
|
1011
|
-
/* Full-width button */
|
|
1012
|
-
button.kds-btn.kds-btn-block,
|
|
1013
|
-
a.kds-btn.kds-btn-block {
|
|
1014
|
-
width: 100%;
|
|
1015
|
-
}
|
|
1016
|
-
|
|
1017
1038
|
/* ========================================
|
|
1018
1039
|
Card Components (Material Design 3)
|
|
1019
1040
|
======================================== */
|
|
@@ -4032,6 +4053,96 @@ dialog#surveyModal button.circle {
|
|
|
4032
4053
|
font-size: var(--kds-font-size-sm);
|
|
4033
4054
|
}
|
|
4034
4055
|
|
|
4056
|
+
/* ── Typography variants ── */
|
|
4057
|
+
.kds-text-display1 {
|
|
4058
|
+
font-family: var(--kds-font-family-primary, 'Public Sans', sans-serif);
|
|
4059
|
+
font-size: var(--kds-font-size-4xl, 36px);
|
|
4060
|
+
font-weight: var(--kds-font-weight-bold, 700);
|
|
4061
|
+
line-height: var(--kds-line-height-tight, 1.2);
|
|
4062
|
+
letter-spacing: var(--kds-letter-spacing-tight, -0.025em);
|
|
4063
|
+
}
|
|
4064
|
+
|
|
4065
|
+
.kds-text-display2 {
|
|
4066
|
+
font-family: var(--kds-font-family-primary, 'Public Sans', sans-serif);
|
|
4067
|
+
font-size: var(--kds-font-size-3xl, 30px);
|
|
4068
|
+
font-weight: var(--kds-font-weight-bold, 700);
|
|
4069
|
+
line-height: var(--kds-line-height-tight, 1.2);
|
|
4070
|
+
letter-spacing: var(--kds-letter-spacing-tight, -0.025em);
|
|
4071
|
+
}
|
|
4072
|
+
|
|
4073
|
+
.kds-text-heading1 {
|
|
4074
|
+
font-family: var(--kds-font-family-primary, 'Public Sans', sans-serif);
|
|
4075
|
+
font-size: var(--kds-font-size-2xl, 24px);
|
|
4076
|
+
font-weight: var(--kds-font-weight-semibold, 600);
|
|
4077
|
+
line-height: var(--kds-line-height-snug, 1.375);
|
|
4078
|
+
}
|
|
4079
|
+
|
|
4080
|
+
.kds-text-heading2 {
|
|
4081
|
+
font-family: var(--kds-font-family-primary, 'Public Sans', sans-serif);
|
|
4082
|
+
font-size: var(--kds-font-size-xl, 20px);
|
|
4083
|
+
font-weight: var(--kds-font-weight-semibold, 600);
|
|
4084
|
+
line-height: var(--kds-line-height-snug, 1.375);
|
|
4085
|
+
}
|
|
4086
|
+
|
|
4087
|
+
.kds-text-heading3 {
|
|
4088
|
+
font-family: var(--kds-font-family-primary, 'Public Sans', sans-serif);
|
|
4089
|
+
font-size: var(--kds-font-size-lg, 18px);
|
|
4090
|
+
font-weight: var(--kds-font-weight-semibold, 600);
|
|
4091
|
+
line-height: var(--kds-line-height-normal, 1.5);
|
|
4092
|
+
}
|
|
4093
|
+
|
|
4094
|
+
.kds-text-body-large {
|
|
4095
|
+
font-family: var(--kds-font-family-primary, 'Public Sans', sans-serif);
|
|
4096
|
+
font-size: var(--kds-font-size-base, 16px);
|
|
4097
|
+
font-weight: var(--kds-font-weight-regular, 400);
|
|
4098
|
+
line-height: var(--kds-line-height-relaxed, 1.66);
|
|
4099
|
+
}
|
|
4100
|
+
|
|
4101
|
+
.kds-text-body {
|
|
4102
|
+
font-family: var(--kds-font-family-primary, 'Public Sans', sans-serif);
|
|
4103
|
+
font-size: var(--kds-font-size-sm, 14px);
|
|
4104
|
+
font-weight: var(--kds-font-weight-regular, 400);
|
|
4105
|
+
line-height: var(--kds-line-height-normal, 1.5);
|
|
4106
|
+
}
|
|
4107
|
+
|
|
4108
|
+
.kds-text-body-small {
|
|
4109
|
+
font-family: var(--kds-font-family-primary, 'Public Sans', sans-serif);
|
|
4110
|
+
font-size: var(--kds-font-size-sm, 12px);
|
|
4111
|
+
font-weight: var(--kds-font-weight-regular, 400);
|
|
4112
|
+
line-height: var(--kds-line-height-normal, 1.5);
|
|
4113
|
+
}
|
|
4114
|
+
|
|
4115
|
+
.kds-text-label {
|
|
4116
|
+
font-family: var(--kds-font-family-primary, 'Public Sans', sans-serif);
|
|
4117
|
+
font-size: var(--kds-font-size-sm, 12px);
|
|
4118
|
+
font-weight: var(--kds-font-weight-semibold, 600);
|
|
4119
|
+
line-height: var(--kds-line-height-normal, 1.5);
|
|
4120
|
+
letter-spacing: var(--kds-letter-spacing-widest, 1px);
|
|
4121
|
+
text-transform: uppercase;
|
|
4122
|
+
}
|
|
4123
|
+
|
|
4124
|
+
.kds-text-label-small {
|
|
4125
|
+
font-family: var(--kds-font-family-primary, 'Public Sans', sans-serif);
|
|
4126
|
+
font-size: var(--kds-font-size-xs, 10px);
|
|
4127
|
+
font-weight: var(--kds-font-weight-semibold, 600);
|
|
4128
|
+
line-height: var(--kds-line-height-normal, 1.5);
|
|
4129
|
+
letter-spacing: var(--kds-letter-spacing-widest, 1px);
|
|
4130
|
+
text-transform: uppercase;
|
|
4131
|
+
}
|
|
4132
|
+
|
|
4133
|
+
.kds-text-link {
|
|
4134
|
+
font-family: var(--kds-font-family-primary, 'Public Sans', sans-serif);
|
|
4135
|
+
font-size: inherit;
|
|
4136
|
+
font-weight: var(--kds-font-weight-medium, 500);
|
|
4137
|
+
color: var(--kds-color-primary-main, #8347AD);
|
|
4138
|
+
text-decoration: underline;
|
|
4139
|
+
cursor: pointer;
|
|
4140
|
+
}
|
|
4141
|
+
|
|
4142
|
+
.kds-text-link:hover {
|
|
4143
|
+
color: var(--kds-color-primary-dark, #5B3179);
|
|
4144
|
+
}
|
|
4145
|
+
|
|
4035
4146
|
/* Display utilities */
|
|
4036
4147
|
.kds-hidden {
|
|
4037
4148
|
display: none;
|
|
@@ -4535,14 +4646,26 @@ dialog#surveyModal button.circle {
|
|
|
4535
4646
|
|
|
4536
4647
|
.field.locked > input,
|
|
4537
4648
|
.field.locked > textarea {
|
|
4538
|
-
|
|
4539
|
-
color: var(--kds-color-text-secondary);
|
|
4649
|
+
color: var(--kds-color-text-disabled);
|
|
4540
4650
|
cursor: default;
|
|
4541
|
-
|
|
4651
|
+
pointer-events: none;
|
|
4542
4652
|
}
|
|
4543
4653
|
|
|
4544
4654
|
.field.locked > label {
|
|
4545
|
-
color: var(--kds-color-text-
|
|
4655
|
+
color: var(--kds-color-text-disabled);
|
|
4656
|
+
}
|
|
4657
|
+
|
|
4658
|
+
/* Locked: suppress all hover/focus visual changes */
|
|
4659
|
+
.field.label.border:not(.fill).locked:hover:not(:focus-within) > label::after,
|
|
4660
|
+
.field.label.border:not(.fill).locked:focus-within > label::after {
|
|
4661
|
+
border-block-start-color: var(--outline);
|
|
4662
|
+
}
|
|
4663
|
+
.field.label.border:not(.fill).locked:hover:not(:focus-within) > :is(input, textarea, select),
|
|
4664
|
+
.field.label.border:not(.fill).locked:focus-within > :is(input, textarea, select) {
|
|
4665
|
+
border-color: var(--outline);
|
|
4666
|
+
}
|
|
4667
|
+
.field.label.locked:hover:not(:focus-within) > label {
|
|
4668
|
+
color: var(--kds-color-text-disabled);
|
|
4546
4669
|
}
|
|
4547
4670
|
|
|
4548
4671
|
.field.locked > i {
|
|
@@ -4784,19 +4907,45 @@ dialog#surveyModal button.circle {
|
|
|
4784
4907
|
align-items: center;
|
|
4785
4908
|
justify-content: center;
|
|
4786
4909
|
gap: var(--kds-spacing-1);
|
|
4787
|
-
color: var(--kds-color-
|
|
4910
|
+
color: var(--kds-color-gray-400);
|
|
4788
4911
|
font-size: var(--kds-font-size-xs);
|
|
4912
|
+
letter-spacing: var(--kds-letter-spacing-wide);
|
|
4789
4913
|
padding: var(--kds-spacing-1) 0;
|
|
4790
4914
|
}
|
|
4791
4915
|
|
|
4792
|
-
|
|
4793
|
-
|
|
4916
|
+
/* Desktop: footer inside card hidden; Mobile: footer outside card hidden */
|
|
4917
|
+
.kds-card-elevated > .kds-secure-footer {
|
|
4918
|
+
display: none;
|
|
4794
4919
|
}
|
|
4795
4920
|
|
|
4796
|
-
|
|
4797
|
-
.kds-secure-footer
|
|
4798
|
-
|
|
4799
|
-
|
|
4921
|
+
@media (max-width: 767px) {
|
|
4922
|
+
.kds-card-elevated > .kds-secure-footer {
|
|
4923
|
+
display: flex;
|
|
4924
|
+
}
|
|
4925
|
+
.kds-screen > .kds-secure-footer {
|
|
4926
|
+
display: none;
|
|
4927
|
+
}
|
|
4928
|
+
}
|
|
4929
|
+
|
|
4930
|
+
.kds-secure-footer-lock {
|
|
4931
|
+
width: 12px;
|
|
4932
|
+
height: 12px;
|
|
4933
|
+
flex: 0 0 auto;
|
|
4934
|
+
display: block;
|
|
4935
|
+
fill: none;
|
|
4936
|
+
stroke: currentColor;
|
|
4937
|
+
stroke-width: 1.75;
|
|
4938
|
+
stroke-linecap: round;
|
|
4939
|
+
stroke-linejoin: round;
|
|
4940
|
+
}
|
|
4941
|
+
|
|
4942
|
+
.kds-secure-footer .khipu-mark {
|
|
4943
|
+
height: 11px;
|
|
4944
|
+
width: auto;
|
|
4945
|
+
flex: 0 0 auto;
|
|
4946
|
+
display: block;
|
|
4947
|
+
object-fit: contain;
|
|
4948
|
+
overflow: visible;
|
|
4800
4949
|
}
|
|
4801
4950
|
|
|
4802
4951
|
.kds-secure-footer-code {
|
|
@@ -4811,7 +4960,7 @@ dialog#surveyModal button.circle {
|
|
|
4811
4960
|
.kds-expand-toggle {
|
|
4812
4961
|
background: none;
|
|
4813
4962
|
border: 0;
|
|
4814
|
-
padding:
|
|
4963
|
+
padding: 0;
|
|
4815
4964
|
color: var(--kds-color-primary-main);
|
|
4816
4965
|
font-weight: var(--kds-font-weight-medium);
|
|
4817
4966
|
font-size: var(--kds-font-size-sm);
|
|
@@ -4851,7 +5000,7 @@ dialog#surveyModal button.circle {
|
|
|
4851
5000
|
|
|
4852
5001
|
.kds-expand-panel.open {
|
|
4853
5002
|
max-height: 800px;
|
|
4854
|
-
margin-top:
|
|
5003
|
+
margin-top: 0;
|
|
4855
5004
|
}
|
|
4856
5005
|
|
|
4857
5006
|
/* ========================================
|
|
@@ -5284,8 +5433,8 @@ dialog#surveyModal button.circle {
|
|
|
5284
5433
|
/* Symmetric padding */
|
|
5285
5434
|
padding: var(--kds-spacing-2);
|
|
5286
5435
|
|
|
5287
|
-
/*
|
|
5288
|
-
border-radius: var(--kds-radius-card);
|
|
5436
|
+
/* Bottom-only border-radius — top is flush so the brand-inner logo isn't clipped */
|
|
5437
|
+
border-radius: 0 0 var(--kds-radius-card) var(--kds-radius-card);
|
|
5289
5438
|
|
|
5290
5439
|
/* Override .kds-card-elevated transition — scroll drives the animation, not CSS transitions */
|
|
5291
5440
|
transition: none;
|
|
@@ -5297,10 +5446,8 @@ dialog#surveyModal button.circle {
|
|
|
5297
5446
|
/* clip-path clips the card from the bottom to hide the collapsible space.
|
|
5298
5447
|
This is VISUAL ONLY — no layout change — prevents scroll feedback loop.
|
|
5299
5448
|
Safari 13.1+ compatible (inset + round)
|
|
5300
|
-
|
|
5301
|
-
|
|
5302
|
-
/* Bottom inset = collapsible height + half the card padding to tighten
|
|
5303
|
-
the gap between "Código" and the visible bottom edge when collapsed. */
|
|
5449
|
+
round uses bottom-only radii (0 top, card-radius bottom) to match
|
|
5450
|
+
border-radius and avoid clipping the brand logo at the top corners. */
|
|
5304
5451
|
clip-path: inset(
|
|
5305
5452
|
0 0
|
|
5306
5453
|
calc(
|
|
@@ -5308,7 +5455,7 @@ dialog#surveyModal button.circle {
|
|
|
5308
5455
|
+ var(--kds-spacing-1) * var(--collapse-progress)
|
|
5309
5456
|
)
|
|
5310
5457
|
0
|
|
5311
|
-
round var(--kds-radius-card)
|
|
5458
|
+
round 0 0 var(--kds-radius-card) var(--kds-radius-card)
|
|
5312
5459
|
);
|
|
5313
5460
|
|
|
5314
5461
|
/* Suppress card's own shadow — wrapper handles it */
|
|
@@ -5319,7 +5466,8 @@ dialog#surveyModal button.circle {
|
|
|
5319
5466
|
.kds-invoice-sticky .kds-brand-inner {
|
|
5320
5467
|
margin-bottom: calc(var(--kds-spacing-1) * (1 - var(--collapse-progress)) + var(--kds-spacing-0-5) * var(--collapse-progress));
|
|
5321
5468
|
}
|
|
5322
|
-
.kds-invoice-sticky .kds-brand-inner svg
|
|
5469
|
+
.kds-invoice-sticky .kds-brand-inner svg,
|
|
5470
|
+
.kds-invoice-sticky .kds-brand-inner img {
|
|
5323
5471
|
height: calc(22px - 5px * var(--collapse-progress));
|
|
5324
5472
|
}
|
|
5325
5473
|
|
|
@@ -5329,7 +5477,13 @@ dialog#surveyModal button.circle {
|
|
|
5329
5477
|
opacity: calc(1 - var(--collapse-progress) * 1.5);
|
|
5330
5478
|
}
|
|
5331
5479
|
|
|
5332
|
-
/* Amount:
|
|
5480
|
+
/* Amount: 30px → 24px (progressive) */
|
|
5481
|
+
.kds-invoice-sticky .kds-invoice-amount {
|
|
5482
|
+
font-size: calc(
|
|
5483
|
+
var(--kds-font-size-3xl) -
|
|
5484
|
+
(var(--kds-font-size-3xl) - var(--kds-font-size-2xl)) * var(--collapse-progress)
|
|
5485
|
+
);
|
|
5486
|
+
}
|
|
5333
5487
|
|
|
5334
5488
|
/* Merchant tile: 64×64px → 50×50px, radius 8px → 6px (progressive) */
|
|
5335
5489
|
.kds-invoice-sticky .kds-invoice-merchant {
|
|
@@ -5355,10 +5509,11 @@ dialog#surveyModal button.circle {
|
|
|
5355
5509
|
);
|
|
5356
5510
|
}
|
|
5357
5511
|
|
|
5358
|
-
/* Code: margin-top
|
|
5512
|
+
/* Code: margin-top 8px → 0, font-size 12px → 11px (progressive) */
|
|
5359
5513
|
.kds-invoice-sticky .kds-invoice-code {
|
|
5360
5514
|
margin-top: calc(var(--kds-spacing-1) * (1 - var(--collapse-progress)));
|
|
5361
5515
|
margin-bottom: 0;
|
|
5516
|
+
font-size: calc(var(--kds-font-size-xs) - 1px * var(--collapse-progress));
|
|
5362
5517
|
}
|
|
5363
5518
|
|
|
5364
5519
|
/* Pull all siblings after sticky wrapper up to fill clipped gap.
|
|
@@ -5380,32 +5535,40 @@ dialog#surveyModal button.circle {
|
|
|
5380
5535
|
}
|
|
5381
5536
|
}
|
|
5382
5537
|
|
|
5538
|
+
/* Invoice sticky: mobile-first — bottom-only border-radius to prevent clipping the brand logo.
|
|
5539
|
+
Desktop restores full border-radius (see min-width:768px block below). */
|
|
5540
|
+
.kds-card-elevated.kds-invoice-sticky {
|
|
5541
|
+
border-radius: 0 0 var(--kds-radius-card) var(--kds-radius-card);
|
|
5542
|
+
}
|
|
5543
|
+
|
|
5383
5544
|
/* -- Invoice Collapsible (kv rows below header) -- */
|
|
5384
5545
|
.kds-invoice-collapsible {
|
|
5385
|
-
margin-top: var(--kds-spacing-1
|
|
5546
|
+
margin-top: var(--kds-spacing-1);
|
|
5386
5547
|
}
|
|
5387
5548
|
|
|
5388
|
-
/* -- Invoice Summary
|
|
5549
|
+
/* -- Invoice Summary -- */
|
|
5389
5550
|
.kds-invoice-summary {
|
|
5390
5551
|
display: flex;
|
|
5391
5552
|
align-items: flex-end;
|
|
5392
|
-
gap: var(--kds-spacing-
|
|
5553
|
+
gap: var(--kds-spacing-1);
|
|
5393
5554
|
}
|
|
5394
5555
|
.kds-invoice-summary .kds-kv {
|
|
5395
5556
|
flex: 1;
|
|
5396
5557
|
min-width: 0;
|
|
5397
5558
|
}
|
|
5398
|
-
.kds-invoice-summary .kds-expand-toggle {
|
|
5399
|
-
flex-shrink: 0;
|
|
5400
|
-
white-space: nowrap;
|
|
5401
|
-
}
|
|
5402
5559
|
|
|
5403
5560
|
/* -- Invoice Header (amount + merchant tile) -- */
|
|
5561
|
+
/* Compound selector overrides BeerCSS `header { padding:0 1rem; display:grid; align-content:center }` */
|
|
5562
|
+
header.kds-invoice-header,
|
|
5563
|
+
div.kds-invoice-header,
|
|
5404
5564
|
.kds-invoice-header {
|
|
5405
5565
|
display: flex;
|
|
5406
5566
|
align-items: flex-start;
|
|
5407
5567
|
justify-content: space-between;
|
|
5408
5568
|
gap: var(--kds-spacing-2);
|
|
5569
|
+
padding: 0;
|
|
5570
|
+
border-radius: 0;
|
|
5571
|
+
align-content: initial;
|
|
5409
5572
|
}
|
|
5410
5573
|
|
|
5411
5574
|
/* Reset BeerCSS sibling margin on <p> inside invoice header — specificity (0,4,1) ties BeerCSS, wins by source order */
|
|
@@ -5415,11 +5578,11 @@ dialog#surveyModal button.circle {
|
|
|
5415
5578
|
}
|
|
5416
5579
|
|
|
5417
5580
|
.kds-invoice-amount {
|
|
5418
|
-
font-weight:
|
|
5419
|
-
font-size:
|
|
5420
|
-
line-height:
|
|
5421
|
-
letter-spacing:
|
|
5422
|
-
color: var(--kds-color-
|
|
5581
|
+
font-weight: var(--kds-font-weight-bold);
|
|
5582
|
+
font-size: var(--kds-font-size-3xl);
|
|
5583
|
+
line-height: var(--kds-line-height-tight);
|
|
5584
|
+
letter-spacing: var(--kds-letter-spacing-wide);
|
|
5585
|
+
color: var(--kds-color-gray-900);
|
|
5423
5586
|
margin: 0;
|
|
5424
5587
|
}
|
|
5425
5588
|
|
|
@@ -5428,12 +5591,21 @@ dialog#surveyModal button.circle {
|
|
|
5428
5591
|
}
|
|
5429
5592
|
|
|
5430
5593
|
.kds-invoice-code {
|
|
5594
|
+
font-family: var(--kds-font-family-mono);
|
|
5431
5595
|
font-size: var(--kds-font-size-xs);
|
|
5432
|
-
|
|
5596
|
+
font-weight: var(--kds-font-weight-regular);
|
|
5597
|
+
letter-spacing: var(--kds-letter-spacing-wider);
|
|
5598
|
+
font-variant-numeric: tabular-nums;
|
|
5599
|
+
color: var(--kds-color-gray-400);
|
|
5600
|
+
text-transform: uppercase;
|
|
5433
5601
|
margin: 0;
|
|
5434
5602
|
margin-top: var(--kds-spacing-1);
|
|
5435
5603
|
}
|
|
5436
5604
|
|
|
5605
|
+
.kds-invoice-code::first-letter {
|
|
5606
|
+
text-transform: uppercase;
|
|
5607
|
+
}
|
|
5608
|
+
|
|
5437
5609
|
.kds-invoice-merchant {
|
|
5438
5610
|
width: 64px;
|
|
5439
5611
|
height: 64px;
|
|
@@ -5461,6 +5633,13 @@ dialog#surveyModal button.circle {
|
|
|
5461
5633
|
line-height: 1;
|
|
5462
5634
|
}
|
|
5463
5635
|
|
|
5636
|
+
.kds-invoice-merchant img {
|
|
5637
|
+
width: 100%;
|
|
5638
|
+
height: 100%;
|
|
5639
|
+
object-fit: cover;
|
|
5640
|
+
border-radius: var(--kds-radius-md);
|
|
5641
|
+
}
|
|
5642
|
+
|
|
5464
5643
|
/* -- Card Title -- */
|
|
5465
5644
|
.kds-card-title {
|
|
5466
5645
|
font-weight: 700;
|
|
@@ -5482,17 +5661,21 @@ dialog#surveyModal button.circle {
|
|
|
5482
5661
|
|
|
5483
5662
|
.kds-kv dt {
|
|
5484
5663
|
font-size: var(--kds-font-size-xs);
|
|
5485
|
-
|
|
5486
|
-
|
|
5664
|
+
line-height: var(--kds-line-height-relaxed);
|
|
5665
|
+
letter-spacing: normal;
|
|
5666
|
+
color: var(--kds-color-text-secondary);
|
|
5487
5667
|
text-transform: uppercase;
|
|
5488
5668
|
margin: 0;
|
|
5489
5669
|
}
|
|
5490
5670
|
|
|
5491
5671
|
.kds-kv dd {
|
|
5492
5672
|
margin: 0;
|
|
5493
|
-
font-size: var(--kds-font-size-
|
|
5494
|
-
|
|
5495
|
-
|
|
5673
|
+
font-size: var(--kds-font-size-xs);
|
|
5674
|
+
line-height: var(--kds-line-height-relaxed);
|
|
5675
|
+
font-weight: var(--kds-font-weight-bold);
|
|
5676
|
+
letter-spacing: normal;
|
|
5677
|
+
color: var(--kds-color-gray-800);
|
|
5678
|
+
min-width: 0;
|
|
5496
5679
|
}
|
|
5497
5680
|
|
|
5498
5681
|
/* -- Dividers -- */
|
|
@@ -5514,13 +5697,13 @@ dialog#surveyModal button.circle {
|
|
|
5514
5697
|
.kds-detail-list {
|
|
5515
5698
|
display: flex;
|
|
5516
5699
|
flex-direction: column;
|
|
5517
|
-
gap: var(--kds-spacing-1-
|
|
5518
|
-
margin:
|
|
5519
|
-
padding: 0;
|
|
5700
|
+
gap: var(--kds-spacing-1-5);
|
|
5701
|
+
margin: 0;
|
|
5702
|
+
padding: 0 0 var(--kds-spacing-1);
|
|
5520
5703
|
}
|
|
5521
5704
|
|
|
5522
5705
|
.kds-detail-group {
|
|
5523
|
-
margin-bottom: var(--kds-spacing-1-
|
|
5706
|
+
margin-bottom: var(--kds-spacing-1-5);
|
|
5524
5707
|
}
|
|
5525
5708
|
|
|
5526
5709
|
.kds-detail-group:last-child {
|
|
@@ -5529,7 +5712,7 @@ dialog#surveyModal button.circle {
|
|
|
5529
5712
|
|
|
5530
5713
|
.kds-detail-group dt {
|
|
5531
5714
|
font-size: var(--kds-font-size-xs);
|
|
5532
|
-
letter-spacing:
|
|
5715
|
+
letter-spacing: var(--kds-letter-spacing-wide);
|
|
5533
5716
|
color: var(--kds-color-text-hint);
|
|
5534
5717
|
text-transform: uppercase;
|
|
5535
5718
|
margin: 0 0 var(--kds-spacing-0-5);
|
|
@@ -5538,7 +5721,7 @@ dialog#surveyModal button.circle {
|
|
|
5538
5721
|
.kds-detail-group dd {
|
|
5539
5722
|
margin: 0;
|
|
5540
5723
|
font-size: var(--kds-font-size-sm);
|
|
5541
|
-
line-height:
|
|
5724
|
+
line-height: var(--kds-line-height-normal);
|
|
5542
5725
|
color: var(--kds-color-text-primary);
|
|
5543
5726
|
}
|
|
5544
5727
|
|
|
@@ -5703,7 +5886,6 @@ button.kds-btn-success::after {
|
|
|
5703
5886
|
margin-top: var(--kds-spacing-1);
|
|
5704
5887
|
}
|
|
5705
5888
|
|
|
5706
|
-
|
|
5707
5889
|
/* -- Field group spacing -- */
|
|
5708
5890
|
.kds-field-group {
|
|
5709
5891
|
margin-top: var(--kds-spacing-1-75);
|
|
@@ -5755,6 +5937,134 @@ button.kds-btn-success::after {
|
|
|
5755
5937
|
margin-top: var(--kds-spacing-2-5);
|
|
5756
5938
|
}
|
|
5757
5939
|
|
|
5940
|
+
/* -- PSP Banner -- */
|
|
5941
|
+
.kds-psp-banner {
|
|
5942
|
+
padding: var(--kds-spacing-0-5) var(--kds-spacing-1-25);
|
|
5943
|
+
font-size: var(--kds-font-size-sm);
|
|
5944
|
+
border-radius: var(--kds-radius-sm);
|
|
5945
|
+
margin-top: var(--kds-spacing-1-5);
|
|
5946
|
+
}
|
|
5947
|
+
|
|
5948
|
+
/* -- Bill Description -- */
|
|
5949
|
+
.kds-bill-description-body {
|
|
5950
|
+
font-family: inherit;
|
|
5951
|
+
white-space: pre-wrap;
|
|
5952
|
+
overflow-wrap: anywhere;
|
|
5953
|
+
margin: 0;
|
|
5954
|
+
padding: 0;
|
|
5955
|
+
background: transparent;
|
|
5956
|
+
color: var(--kds-color-text-secondary);
|
|
5957
|
+
font-size: var(--kds-font-size-sm);
|
|
5958
|
+
line-height: var(--kds-line-height-normal);
|
|
5959
|
+
}
|
|
5960
|
+
|
|
5961
|
+
.kds-bill-description-picture {
|
|
5962
|
+
width: 120px;
|
|
5963
|
+
height: 120px;
|
|
5964
|
+
object-fit: contain;
|
|
5965
|
+
background: var(--kds-color-background-paper);
|
|
5966
|
+
padding: var(--kds-spacing-1-25);
|
|
5967
|
+
border-radius: var(--kds-radius-md);
|
|
5968
|
+
margin-top: var(--kds-spacing-1);
|
|
5969
|
+
display: block;
|
|
5970
|
+
box-sizing: content-box;
|
|
5971
|
+
}
|
|
5972
|
+
|
|
5973
|
+
/* -- Share Card (mustContinue) -- */
|
|
5974
|
+
.kds-share-card {
|
|
5975
|
+
margin-top: var(--kds-spacing-2);
|
|
5976
|
+
padding: var(--kds-spacing-2);
|
|
5977
|
+
border: var(--kds-border-width-sm) solid var(--kds-color-gray-200);
|
|
5978
|
+
border-radius: var(--kds-radius-lg);
|
|
5979
|
+
background: var(--kds-color-background-paper);
|
|
5980
|
+
}
|
|
5981
|
+
|
|
5982
|
+
.kds-share-eyebrow {
|
|
5983
|
+
font-size: var(--kds-font-size-caption);
|
|
5984
|
+
letter-spacing: var(--kds-letter-spacing-wide);
|
|
5985
|
+
color: var(--kds-color-gray-500);
|
|
5986
|
+
text-transform: uppercase;
|
|
5987
|
+
font-weight: var(--kds-font-weight-bold);
|
|
5988
|
+
margin: 0 0 var(--kds-spacing-0-75);
|
|
5989
|
+
}
|
|
5990
|
+
|
|
5991
|
+
.kds-share-copy {
|
|
5992
|
+
font-size: var(--kds-font-size-body1);
|
|
5993
|
+
line-height: var(--kds-line-height-normal);
|
|
5994
|
+
color: var(--kds-color-gray-800);
|
|
5995
|
+
margin: 0 0 var(--kds-spacing-1-5);
|
|
5996
|
+
}
|
|
5997
|
+
|
|
5998
|
+
.kds-share-divider {
|
|
5999
|
+
height: 0;
|
|
6000
|
+
border: 0;
|
|
6001
|
+
border-top: var(--kds-border-width-sm) dashed var(--kds-color-gray-200);
|
|
6002
|
+
margin: var(--kds-spacing-1-5) 0;
|
|
6003
|
+
}
|
|
6004
|
+
|
|
6005
|
+
.kds-share-link {
|
|
6006
|
+
display: block;
|
|
6007
|
+
font-size: var(--kds-font-size-sm);
|
|
6008
|
+
color: var(--kds-color-primary-main);
|
|
6009
|
+
text-decoration: none;
|
|
6010
|
+
word-break: break-all;
|
|
6011
|
+
margin: 0 0 var(--kds-spacing-1-5);
|
|
6012
|
+
}
|
|
6013
|
+
|
|
6014
|
+
.kds-share-link:hover {
|
|
6015
|
+
text-decoration: underline;
|
|
6016
|
+
}
|
|
6017
|
+
|
|
6018
|
+
.kds-share-action {
|
|
6019
|
+
display: flex;
|
|
6020
|
+
align-items: center;
|
|
6021
|
+
justify-content: center;
|
|
6022
|
+
gap: var(--kds-spacing-0-75);
|
|
6023
|
+
background: none;
|
|
6024
|
+
border: 0;
|
|
6025
|
+
padding: var(--kds-spacing-0-75) var(--kds-spacing-1-25);
|
|
6026
|
+
cursor: pointer;
|
|
6027
|
+
color: var(--kds-color-text-primary);
|
|
6028
|
+
font-size: var(--kds-font-size-sm);
|
|
6029
|
+
font-family: inherit;
|
|
6030
|
+
border-radius: var(--kds-radius-sm);
|
|
6031
|
+
margin: 0 auto;
|
|
6032
|
+
}
|
|
6033
|
+
|
|
6034
|
+
.kds-share-action:hover {
|
|
6035
|
+
background: var(--kds-color-primary-hover);
|
|
6036
|
+
color: var(--kds-color-primary-main);
|
|
6037
|
+
}
|
|
6038
|
+
|
|
6039
|
+
.kds-share-action .material-symbols-outlined {
|
|
6040
|
+
font-size: var(--kds-font-size-2xl);
|
|
6041
|
+
}
|
|
6042
|
+
|
|
6043
|
+
/* -- Participants List (mustContinue) -- */
|
|
6044
|
+
.kds-participants {
|
|
6045
|
+
margin: 0 0 var(--kds-spacing-2);
|
|
6046
|
+
padding: var(--kds-spacing-1-5) var(--kds-spacing-1-75);
|
|
6047
|
+
background: var(--kds-alert-success-bg);
|
|
6048
|
+
border-radius: var(--kds-radius-md);
|
|
6049
|
+
}
|
|
6050
|
+
|
|
6051
|
+
.kds-participants-label {
|
|
6052
|
+
font-size: var(--kds-font-size-xs);
|
|
6053
|
+
font-weight: var(--kds-font-weight-bold);
|
|
6054
|
+
color: var(--kds-alert-success-text);
|
|
6055
|
+
margin: 0 0 var(--kds-spacing-0-75);
|
|
6056
|
+
text-transform: uppercase;
|
|
6057
|
+
letter-spacing: var(--kds-letter-spacing-wide);
|
|
6058
|
+
}
|
|
6059
|
+
|
|
6060
|
+
.kds-participants-list {
|
|
6061
|
+
margin: 0;
|
|
6062
|
+
padding-left: var(--kds-spacing-2);
|
|
6063
|
+
color: var(--kds-alert-success-text);
|
|
6064
|
+
font-size: var(--kds-font-size-sm);
|
|
6065
|
+
line-height: var(--kds-line-height-relaxed);
|
|
6066
|
+
}
|
|
6067
|
+
|
|
5758
6068
|
/* ================================================================
|
|
5759
6069
|
PAYMENT FLOW LAYOUT
|
|
5760
6070
|
Stage, flow container, brand row, screen transitions
|
|
@@ -5765,6 +6075,18 @@ button.kds-btn-success::after {
|
|
|
5765
6075
|
box-shadow: var(--kds-shadow-card);
|
|
5766
6076
|
}
|
|
5767
6077
|
|
|
6078
|
+
/* Payment flow cards — mobile-first: no vertical padding.
|
|
6079
|
+
Desktop (min-width: 768px) restores padding + full border-radius. */
|
|
6080
|
+
.kds-payment-flow .kds-card-elevated {
|
|
6081
|
+
margin-top: 0;
|
|
6082
|
+
padding-top: 0;
|
|
6083
|
+
padding-bottom: 0;
|
|
6084
|
+
}
|
|
6085
|
+
.kds-payment-flow .kds-card-elevated.kds-invoice-sticky {
|
|
6086
|
+
padding-top: var(--kds-spacing-1);
|
|
6087
|
+
padding-bottom: 0;
|
|
6088
|
+
}
|
|
6089
|
+
|
|
5768
6090
|
/* Payment stage — full-viewport centered wrapper */
|
|
5769
6091
|
.kds-payment-stage {
|
|
5770
6092
|
min-height: 100vh;
|
|
@@ -5785,6 +6107,7 @@ button.kds-btn-success::after {
|
|
|
5785
6107
|
/* Mobile: Cards full-width with rounded corners */
|
|
5786
6108
|
@media (max-width: 767px) {
|
|
5787
6109
|
.kds-payment-stage {
|
|
6110
|
+
padding-top: 0;
|
|
5788
6111
|
padding-left: 0;
|
|
5789
6112
|
padding-right: 0;
|
|
5790
6113
|
}
|
|
@@ -5794,7 +6117,7 @@ button.kds-btn-success::after {
|
|
|
5794
6117
|
padding: 0;
|
|
5795
6118
|
}
|
|
5796
6119
|
|
|
5797
|
-
/* Cards: rounded corners, full width
|
|
6120
|
+
/* Cards: rounded corners, full width, explicit vertical padding */
|
|
5798
6121
|
.kds-card-elevated,
|
|
5799
6122
|
.khipu-card-elevated {
|
|
5800
6123
|
margin-left: 0;
|
|
@@ -5803,6 +6126,30 @@ button.kds-btn-success::after {
|
|
|
5803
6126
|
width: 100%;
|
|
5804
6127
|
}
|
|
5805
6128
|
|
|
6129
|
+
.kds-payment-flow .kds-card-elevated {
|
|
6130
|
+
padding-top: var(--kds-spacing-2);
|
|
6131
|
+
padding-bottom: var(--kds-spacing-2);
|
|
6132
|
+
}
|
|
6133
|
+
|
|
6134
|
+
/* Invoice sticky card: progressive padding-top (expanded 20px → collapsed 8px).
|
|
6135
|
+
Overrides base rule at same specificity; source order wins here. */
|
|
6136
|
+
.kds-payment-flow .kds-card-elevated.kds-invoice-sticky {
|
|
6137
|
+
padding-top: var(--kds-spacing-1-5);
|
|
6138
|
+
}
|
|
6139
|
+
|
|
6140
|
+
|
|
6141
|
+
}
|
|
6142
|
+
|
|
6143
|
+
/* Desktop: restore card padding and full border-radius on invoice sticky */
|
|
6144
|
+
@media (min-width: 768px) {
|
|
6145
|
+
.kds-payment-flow .kds-card-elevated,
|
|
6146
|
+
.kds-payment-flow .kds-card-elevated.kds-invoice-sticky {
|
|
6147
|
+
padding-top: var(--kds-spacing-2);
|
|
6148
|
+
padding-bottom: var(--kds-spacing-2);
|
|
6149
|
+
}
|
|
6150
|
+
.kds-card-elevated.kds-invoice-sticky {
|
|
6151
|
+
border-radius: var(--kds-radius-card);
|
|
6152
|
+
}
|
|
5806
6153
|
}
|
|
5807
6154
|
|
|
5808
6155
|
/* Brand logo row (external, outside cards) */
|
|
@@ -5811,7 +6158,8 @@ button.kds-btn-success::after {
|
|
|
5811
6158
|
display: flex;
|
|
5812
6159
|
align-items: center;
|
|
5813
6160
|
}
|
|
5814
|
-
.kds-brand-row svg
|
|
6161
|
+
.kds-brand-row svg,
|
|
6162
|
+
.kds-brand-row img {
|
|
5815
6163
|
height: 22px;
|
|
5816
6164
|
display: block;
|
|
5817
6165
|
}
|
|
@@ -5821,8 +6169,10 @@ button.kds-btn-success::after {
|
|
|
5821
6169
|
display: none;
|
|
5822
6170
|
align-items: center;
|
|
5823
6171
|
margin-bottom: var(--kds-spacing-1);
|
|
6172
|
+
border-radius: 0;
|
|
5824
6173
|
}
|
|
5825
|
-
.kds-brand-inner svg
|
|
6174
|
+
.kds-brand-inner svg,
|
|
6175
|
+
.kds-brand-inner img {
|
|
5826
6176
|
height: 22px;
|
|
5827
6177
|
display: block;
|
|
5828
6178
|
}
|
|
@@ -5835,6 +6185,7 @@ button.kds-btn-success::after {
|
|
|
5835
6185
|
.kds-brand-inner {
|
|
5836
6186
|
display: flex;
|
|
5837
6187
|
}
|
|
6188
|
+
|
|
5838
6189
|
}
|
|
5839
6190
|
|
|
5840
6191
|
/* Screen transitions (multi-step flows) */
|
|
@@ -5848,8 +6199,8 @@ button.kds-btn-success::after {
|
|
|
5848
6199
|
gap: var(--kds-spacing-3);
|
|
5849
6200
|
}
|
|
5850
6201
|
@keyframes kds-fadein {
|
|
5851
|
-
from { opacity: 0;
|
|
5852
|
-
to { opacity: 1;
|
|
6202
|
+
from { opacity: 0; }
|
|
6203
|
+
to { opacity: 1; }
|
|
5853
6204
|
}
|
|
5854
6205
|
|
|
5855
6206
|
/* ================================================================
|