@khipu/design-system 0.2.0-alpha.87 → 0.2.0-alpha.89

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-07-01T20:06:40.901Z
14
+ * Generated: 2026-07-02T20:44:15.394Z
15
15
  *
16
16
  * To regenerate:
17
17
  * cd design-system && npm run tokens:generate
@@ -5637,6 +5637,25 @@ button.kds-fab:focus-visible {
5637
5637
  }
5638
5638
  }
5639
5639
 
5640
+ /* Corner-overlap: mount the FAB centered OVER the top-right corner of the content column
5641
+ (`--kds-fab-column-width`), overlapping outward — vs `--top-right` which insets inside the
5642
+ column. Mobile keeps a small inset from the viewport via the `--kds-fab-inset` token. */
5643
+ .kds-fab--corner {
5644
+ --kds-fab-inset: 5px;
5645
+ position: fixed;
5646
+ top: var(--kds-fab-inset);
5647
+ right: var(--kds-fab-inset);
5648
+ }
5649
+
5650
+ @media (min-width: 768px) {
5651
+ .kds-fab--corner {
5652
+ right: max(
5653
+ var(--kds-fab-inset),
5654
+ calc((100% - var(--kds-fab-column-width, 100%)) / 2 - var(--kds-spacing-5) / 2)
5655
+ );
5656
+ }
5657
+ }
5658
+
5640
5659
  /* Hidden (scroll-away) state — fade + slide toward the nearest edge */
5641
5660
  .kds-fab--hidden {
5642
5661
  opacity: 0;
@@ -5738,7 +5757,9 @@ button.kds-fab:focus-visible {
5738
5757
  padding: var(--kds-spacing-1) 0;
5739
5758
  }
5740
5759
 
5741
- /* Desktop: footer inside card hidden; Mobile: footer outside card hidden */
5760
+ /* Footer SIEMPRE fuera del card body (desktop y mobile): el footer interno
5761
+ (variant="inside") queda oculto en todos los breakpoints; se muestra el
5762
+ externo, hermano directo del card bajo `.kds-screen`. */
5742
5763
  .kds-card-elevated > .kds-secure-footer {
5743
5764
  display: none;
5744
5765
  }
@@ -5747,22 +5768,13 @@ button.kds-fab:focus-visible {
5747
5768
  margin-block-start: 0 !important;
5748
5769
  }
5749
5770
 
5750
- /* Footer externo (desktop) adyacente a la card: cancela el gap del .kds-screen
5751
- para que quede pegado debajo de la card y no flotando lejos. Las dos cards
5771
+ /* Footer externo adyacente a la card: cancela el gap del .kds-screen para que
5772
+ quede pegado debajo de la card y no flotando lejos. Las dos cards
5752
5773
  (header/body) sí conservan su separación. */
5753
5774
  .kds-screen > .kds-secure-footer {
5754
5775
  margin-top: calc(-1 * var(--kds-spacing-3));
5755
5776
  }
5756
5777
 
5757
- @media (max-width: 767px) {
5758
- .kds-card-elevated > .kds-secure-footer {
5759
- display: flex;
5760
- }
5761
- .kds-screen > .kds-secure-footer {
5762
- display: none;
5763
- }
5764
- }
5765
-
5766
5778
  .kds-secure-footer-lock {
5767
5779
  width: 12px;
5768
5780
  height: 12px;
@@ -6408,6 +6420,30 @@ button.kds-fab:focus-visible {
6408
6420
  /* No max-height — clip-path on parent handles visual collapse without layout changes */
6409
6421
  .kds-invoice-sticky .kds-invoice-collapsible {
6410
6422
  opacity: calc(1 - var(--collapse-progress) * 1.5);
6423
+
6424
+ /* Scroll interno discreto (mobile): cuando el detalle abierto excede el viewport, el
6425
+ collapsible scrollea internamente (monto/merchant quedan fijos arriba) para poder leer
6426
+ todo el detalle. Al tocar el fondo, `overscroll-behavior: auto` ENCADENA el gesto al
6427
+ scroll del body → dispara useStickyInvoiceCollapse → colapsa el header y aparece el form
6428
+ (flujo natural). Se auto-desactiva con el detalle cerrado (contenido más corto que el
6429
+ max-height → sin scroll ni efecto visual). */
6430
+ max-height: calc(100vh - var(--kds-spacing-12) - var(--kds-spacing-4));
6431
+ max-height: calc(100dvh - var(--kds-spacing-12) - var(--kds-spacing-4));
6432
+ overflow-y: auto;
6433
+ overflow-x: hidden;
6434
+ overscroll-behavior-y: auto;
6435
+ scrollbar-width: thin;
6436
+ scrollbar-color: var(--kds-color-gray-300) transparent;
6437
+ }
6438
+ .kds-invoice-sticky .kds-invoice-collapsible::-webkit-scrollbar {
6439
+ width: 4px;
6440
+ }
6441
+ .kds-invoice-sticky .kds-invoice-collapsible::-webkit-scrollbar-thumb {
6442
+ background: var(--kds-color-gray-300);
6443
+ border-radius: var(--kds-radius-full);
6444
+ }
6445
+ .kds-invoice-sticky .kds-invoice-collapsible::-webkit-scrollbar-track {
6446
+ background: transparent;
6411
6447
  }
6412
6448
 
6413
6449
  /* Amount: 30px → 24px (progressive) */