@khipu/design-system 0.3.1 → 0.3.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.
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * AUTO-GENERATED FILE - DO NOT EDIT MANUALLY
15
15
  * Source: design-system/src/tokens/tokens.json
16
- * Generated: 2026-08-12T18:48:04.023Z
16
+ * Generated: 2026-08-12T20:53:27.253Z
17
17
  *
18
18
  * To regenerate:
19
19
  * cd design-system && npm run tokens:generate
@@ -397,9 +397,13 @@
397
397
  /* ============================================================================
398
398
  DARK MODE COLOR TOKENS
399
399
  Override only color variables; everything else inherits from :root.
400
- Activated via [data-theme="dark"] on <html>, <body>, or a wrapper.
400
+ Activated via [data-theme="dark"] on <html>, <body>, or a wrapper
401
+ or via the BeerCSS-style body.dark class. Both selectors are emitted so
402
+ a body.dark app gets the FULL dark theme (core + extended tokens); a
403
+ single source flipping only partially is how mixed light/dark bugs arise.
401
404
  ============================================================================ */
402
405
 
406
+ body.dark,
403
407
  [data-theme="dark"] {
404
408
 
405
409
  /* Primary palette - Khipu brand */
@@ -878,13 +882,26 @@ body.dark,
878
882
  Color Scheme (explicit opt-in to dark)
879
883
  ======================================== */
880
884
 
881
- /* Default to light regardless of OS preference. Because we use `light` (not
882
- `light dark`), the system dark-mode preference never auto-applies dark is
883
- reached only by an explicit [data-theme="dark"] / body.dark opt-in. */
885
+ /* Default to light regardless of OS preference. The `only` keyword is the
886
+ opt-out for Chrome/WebView "Auto Dark Theme" on Android: without it, an
887
+ OS-dark device heuristically darkens SOME elements of a light page (mixed
888
+ light/dark rendering in production apps). Dark is reached only by an
889
+ explicit [data-theme="dark"] / body.dark opt-in. */
884
890
  :root,
885
891
  html,
886
892
  body {
887
- color-scheme: light;
893
+ color-scheme: light only;
894
+ }
895
+
896
+ /* Defensive: re-assert the opt-out under an OS-dark preference (the auto-dark
897
+ heuristics probe this media query; the explicit dark rule below still wins
898
+ on themed pages because it comes later with matching specificity). */
899
+ @media (prefers-color-scheme: dark) {
900
+ :root,
901
+ html,
902
+ body {
903
+ color-scheme: light only;
904
+ }
888
905
  }
889
906
 
890
907
  /* Explicit dark theme: let native UI (form controls, scrollbars) render dark. */
@@ -7813,13 +7830,16 @@ svg[fill='none'] {
7813
7830
  padding-bottom: 0;
7814
7831
  }
7815
7832
 
7816
- /* Body card: alto mínimo estable para que NO salte entre estados de distinta altura
7817
- (loader/progress ↔ formulario). Solo la body card = hijo directo de `.kds-screen`
7833
+ /* Body card: crece con su contenido. Solo la body card = hijo directo de `.kds-screen`
7818
7834
  (los headers van dentro de `.kds-invoice-sticky-wrap`, no la afecta).
7819
- Flex-column para que el contenido quede arriba y el footer interno (versión / secure
7820
- footer) pueda pinearse al fondo con `margin-top: auto` aunque el contenido sea corto. */
7835
+ NO lleva alto mínimo: un valor fijo deja espacio muerto en las apps cuyo contenido es
7836
+ más bajo, y el DS lo sirve a todas por igual. Cuando el contenido es corto el footer
7837
+ interno (versión / secure footer) queda pegado a él en vez de al fondo: su padding
7838
+ da el respiro. Las apps que embeben el flujo en un iframe reciben la altura real por
7839
+ el mensaje RESIZE (KTUF-239), asi que tampoco dependen de un mínimo aca.
7840
+ Flex-column se mantiene: ordena el contenido y sostiene el `margin-top: auto` del
7841
+ footer cuando la card sí tiene alto de sobra. */
7821
7842
  .kds-screen > .kds-card-elevated {
7822
- min-height: 36rem;
7823
7843
  display: flex;
7824
7844
  flex-direction: column;
7825
7845
  /* mismo radio que el header (invoice-sticky usa radius-card); el base card-elevated