@khipu/design-system 0.2.0-alpha.14 → 0.2.0-alpha.16

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.
@@ -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-18T19:35:17.082Z
14
+ * Generated: 2026-05-19T17:37:03.421Z
15
15
  *
16
16
  * To regenerate:
17
17
  * cd design-system && npm run tokens:generate
@@ -5658,6 +5658,13 @@ div.kds-invoice-header,
5658
5658
  align-content: initial;
5659
5659
  }
5660
5660
 
5661
+ /* Mobile collapsed state: center-align so merchant tile aligns with the smaller amount */
5662
+ @media (max-width: 767px) {
5663
+ .kds-invoice-sticky.is-collapsed .kds-invoice-header {
5664
+ align-items: center;
5665
+ }
5666
+ }
5667
+
5661
5668
  /* Reset BeerCSS sibling margin on <p> inside invoice header — specificity (0,4,1) ties BeerCSS, wins by source order */
5662
5669
  .kds-card-elevated.kds-invoice-sticky .kds-invoice-header p.kds-invoice-amount,
5663
5670
  .kds-card-elevated.kds-invoice-sticky .kds-invoice-header p.kds-invoice-code {
@@ -5684,7 +5691,7 @@ div.kds-invoice-header,
5684
5691
  letter-spacing: var(--kds-letter-spacing-wider);
5685
5692
  font-variant-numeric: tabular-nums;
5686
5693
  color: var(--kds-color-gray-400);
5687
- text-transform: none;
5694
+ text-transform: uppercase;
5688
5695
  margin: 0;
5689
5696
  margin-block: unset;
5690
5697
  margin: var(--kds-spacing-1) 0;
@@ -5731,7 +5738,7 @@ div.kds-invoice-header,
5731
5738
 
5732
5739
  /* -- Card Title -- */
5733
5740
  .kds-card-title {
5734
- font-weight: 700;
5741
+ font-weight: var(--kds-font-weight-semibold);
5735
5742
  font-size: var(--kds-font-size-base);
5736
5743
  line-height: 1.5;
5737
5744
  letter-spacing: -0.31px;
@@ -5752,7 +5759,7 @@ div.kds-invoice-header,
5752
5759
  line-height: var(--kds-line-height-relaxed);
5753
5760
  letter-spacing: normal;
5754
5761
  color: var(--kds-color-text-secondary);
5755
- text-transform: none;
5762
+ text-transform: uppercase;
5756
5763
  margin: 0;
5757
5764
  }
5758
5765
 
@@ -5790,7 +5797,13 @@ div.kds-invoice-header,
5790
5797
  flex-direction: column;
5791
5798
  gap: var(--kds-spacing-1-5);
5792
5799
  margin: 0;
5793
- padding: 0 0 var(--kds-spacing-2);
5800
+ padding: 0;
5801
+ }
5802
+
5803
+ @media (max-width: 767px) {
5804
+ .kds-detail-list {
5805
+ padding-bottom: var(--kds-spacing-2);
5806
+ }
5794
5807
  }
5795
5808
 
5796
5809
  .kds-detail-group {
@@ -5805,7 +5818,7 @@ div.kds-invoice-header,
5805
5818
  font-size: var(--kds-font-size-xs);
5806
5819
  letter-spacing: var(--kds-letter-spacing-wide);
5807
5820
  color: var(--kds-color-text-hint);
5808
- text-transform: none;
5821
+ text-transform: uppercase;
5809
5822
  }
5810
5823
 
5811
5824
  .kds-detail-group dd {
@@ -6053,17 +6066,42 @@ button.kds-btn-success::after {
6053
6066
  }
6054
6067
 
6055
6068
  .kds-bill-description-picture {
6056
- width: 120px;
6057
- height: 120px;
6069
+ max-width: 100px;
6058
6070
  object-fit: contain;
6059
6071
  background: var(--kds-color-background-paper);
6060
- padding: var(--kds-spacing-1-25);
6061
- border-radius: var(--kds-radius-md);
6062
- margin-top: var(--kds-spacing-1);
6072
+ margin-top: var(--kds-spacing-1-25);
6063
6073
  display: block;
6064
6074
  box-sizing: content-box;
6065
6075
  }
6066
6076
 
6077
+ /* -- Bill Attachments -- */
6078
+ .kds-bill-attachments {
6079
+ display: flex;
6080
+ flex-direction: column;
6081
+ gap: var(--kds-spacing-0-75);
6082
+ }
6083
+
6084
+ .kds-bill-attachment {
6085
+ display: inline-flex;
6086
+ align-items: center;
6087
+ justify-content: flex-start;
6088
+ width: fit-content;
6089
+ color: var(--kds-color-info-main);
6090
+ font-size: var(--kds-font-size-sm);
6091
+ font-weight: var(--kds-font-weight-medium);
6092
+ text-decoration: none;
6093
+ }
6094
+
6095
+ .kds-bill-attachment:hover span {
6096
+ text-decoration: underline;
6097
+ }
6098
+
6099
+ .kds-bill-attachment i {
6100
+ font-size: var(--kds-font-size-lg);
6101
+ min-width: unset;
6102
+ justify-content: flex-start;
6103
+ }
6104
+
6067
6105
  /* -- Share Card (mustContinue) -- */
6068
6106
  .kds-share-card {
6069
6107
  margin-top: var(--kds-spacing-2);
@@ -7012,7 +7050,7 @@ a.kds-copy-all-btn.copied:hover {
7012
7050
  .kds-monto-row {
7013
7051
  display: flex;
7014
7052
  justify-content: space-between;
7015
- align-items: flex-end;
7053
+ align-items: flex-start;
7016
7054
  padding: var(--kds-spacing-1-75) 0 var(--kds-spacing-1);
7017
7055
  border-top: 1px dashed var(--kds-color-divider);
7018
7056
  margin-top: var(--kds-spacing-1-75);
@@ -1330,9 +1330,9 @@ const ui = _context.ui;
1330
1330
  function initStickyInvoice(root) {
1331
1331
  root = root || document;
1332
1332
 
1333
- // Progressive collapse range: 0px (expanded) to 30px (collapsed)
1333
+ // Progressive collapse range: 0px (expanded) to 20px (collapsed)
1334
1334
  var COLLAPSE_START = 0;
1335
- var COLLAPSE_END = 30;
1335
+ var COLLAPSE_END = 20;
1336
1336
 
1337
1337
  var lastScrollY = 0;
1338
1338
  var ticking = false;
@@ -1380,13 +1380,16 @@ const ui = _context.ui;
1380
1380
  if (!currentScreen.style.getPropertyValue('--collapse-collapsible-h')) {
1381
1381
  var collapsible = currentSticky.querySelector('.kds-invoice-collapsible');
1382
1382
  if (collapsible) {
1383
- currentScreen.style.setProperty('--collapse-collapsible-h', Math.min(collapsible.offsetHeight, 87) + 'px');
1383
+ currentScreen.style.setProperty('--collapse-collapsible-h', collapsible.offsetHeight + 'px');
1384
1384
  }
1385
1385
  }
1386
1386
 
1387
1387
  // Single DOM write per frame — set on screen (parent) so it cascades to sticky + siblings
1388
1388
  currentScreen.style.setProperty('--collapse-progress', progress);
1389
1389
 
1390
+ // Toggle collapsed state class for discrete styling that can't interpolate (e.g. align-items)
1391
+ currentSticky.classList.toggle('is-collapsed', progress >= 1);
1392
+
1390
1393
  // Close expand panels as soon as the sticky header starts collapsing
1391
1394
  if (progress > 0) {
1392
1395
  currentSticky.querySelectorAll('[data-expand-toggle][aria-expanded="true"]').forEach(function(toggle) {
@@ -1410,6 +1413,9 @@ const ui = _context.ui;
1410
1413
  screen.style.removeProperty('--collapse-progress');
1411
1414
  screen.style.removeProperty('--collapse-collapsible-h');
1412
1415
  });
1416
+ root.querySelectorAll('.kds-invoice-sticky.is-collapsed').forEach(function(el) {
1417
+ el.classList.remove('is-collapsed');
1418
+ });
1413
1419
  }
1414
1420
  });
1415
1421