@khipu/design-system 0.3.5-alpha.33 → 0.3.5-alpha.34

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.
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * AUTO-GENERATED FILE - DO NOT EDIT MANUALLY
17
17
  * Source: design-system/src/tokens/tokens.json
18
- * Generated: 2026-10-08T13:28:14.131Z
18
+ * Generated: 2026-10-09T13:21:42.374Z
19
19
  *
20
20
  * To regenerate:
21
21
  * cd design-system && npm run tokens:generate
@@ -6473,18 +6473,21 @@
6473
6473
  }
6474
6474
 
6475
6475
  .kds-theme-root .kds-expand-toggle[aria-expanded="true"] i {
6476
- transform: rotate(180deg);
6476
+ /* The `top` nudge is tuned for the closed chevron (expand_more). Rotated, the up-chevron
6477
+ reads low with the same nudge, so the open state takes it back. It lives in the transform
6478
+ (not `top`) so it animates together with the rotation instead of jumping. */
6479
+ transform: translateY(-0.09em) rotate(180deg);
6477
6480
  }
6478
6481
 
6479
6482
  .kds-theme-root .kds-expand-panel {
6480
6483
  overflow: hidden;
6481
- transition: max-height 0.28s ease, margin-top 0.28s ease;
6482
- max-height: 0;
6483
- }
6484
-
6485
- .kds-theme-root .kds-expand-panel[hidden] {
6486
- display: block;
6487
6484
  max-height: 0;
6485
+ /* Collapsed content is out of the accessibility tree and the tab order without the
6486
+ `hidden` attribute: the global `[hidden]` rule (forced, !important) would cut the
6487
+ max-height transition. visibility flips at the end of the close, so the collapse
6488
+ still animates. */
6489
+ visibility: hidden;
6490
+ transition: max-height 0.28s ease, margin-top 0.28s ease, visibility 0s linear 0.28s;
6488
6491
  }
6489
6492
 
6490
6493
  .kds-theme-root .kds-expand-panel.open {
@@ -6493,6 +6496,8 @@
6493
6496
  which overrides this and prevents clipping regardless of content length. */
6494
6497
  max-height: 2000px;
6495
6498
  margin-top: 0;
6499
+ visibility: visible;
6500
+ transition-delay: 0s;
6496
6501
  }
6497
6502
 
6498
6503
  /* ========================================
@@ -8270,11 +8275,52 @@
8270
8275
  - Valor fijo, sin vh/dvh: en un iframe (KTUF-239) el viewport es el propio iframe, cuyo
8271
8276
  alto lo da el RESIZE del contenido; un mínimo relativo al viewport se realimenta.
8272
8277
  - El contenido directo (form) crece para que la acción baje dentro de él y no compita
8273
- con el `margin-top: auto` de .kds-card-version. */
8278
+ con el `margin-top: auto` de .kds-card-version.
8279
+ - En pantallas bajas (iframes chicos de comercios, teléfonos chicos) el mínimo baja por
8280
+ escalones, ver abajo. */
8274
8281
  .kds-theme-root .kds-screen > .kds-card-elevated.kds-card-elevated--action {
8275
8282
  min-height: calc(36rem + 2 * var(--kds-spacing-3));
8276
8283
  }
8277
8284
 
8285
+ /* Mínimo del card en pantallas bajas. Algunos comercios embeben el flujo en iframes de alto
8286
+ fijo y reducido: un mínimo de 624px obligaba a scrollear aunque el contenido del paso
8287
+ cupiera. Regla: un escalón aplica solo si la pantalla completa (header + card con ese
8288
+ mínimo + footer seguro + márgenes del stage) cabe en el alto; si no, baja al siguiente.
8289
+ Medido en khenshin-web con su .kds-secure-footer (80px), el caso más alto:
8290
+ - 624px (36rem + padding): pantalla de ~971px en teléfono y ~999px en desktop.
8291
+ - 400px (22rem + padding): pantalla de ~747px en teléfono y ~775px en desktop.
8292
+ - Debajo de eso, sin mínimo: el card mide lo que su contenido.
8293
+ Los umbrales son exactamente esos altos (como los mide el HeightReporter de khenshin-web:
8294
+ contenido del flow + padding del stage), sin holgura: el mínimo nunca agrega scroll en
8295
+ una pantalla o iframe fijo. Con alto automático (KTUF-239, `autoHeight`) el alto que
8296
+ resulta de un escalón cae justo en su umbral, así que se queda ahí y no oscila. Con un
8297
+ header más bajo (sin fila de detalle), sin footer seguro (`showSecureFooter: false`) o
8298
+ sin header (--flush-top) la pantalla mide menos que su umbral: con alto automático el card
8299
+ termina sin mínimo (vuelve a crecer por paso, sin scroll). */
8300
+ @media (max-width: 767px) and (max-height: 970.98px) {
8301
+ .kds-theme-root .kds-screen > .kds-card-elevated.kds-card-elevated--action {
8302
+ min-height: calc(22rem + 2 * var(--kds-spacing-3));
8303
+ }
8304
+ }
8305
+
8306
+ @media (max-width: 767px) and (max-height: 746.98px) {
8307
+ .kds-theme-root .kds-screen > .kds-card-elevated.kds-card-elevated--action {
8308
+ min-height: 0;
8309
+ }
8310
+ }
8311
+
8312
+ @media (min-width: 768px) and (max-height: 998.98px) {
8313
+ .kds-theme-root .kds-screen > .kds-card-elevated.kds-card-elevated--action {
8314
+ min-height: calc(22rem + 2 * var(--kds-spacing-3));
8315
+ }
8316
+ }
8317
+
8318
+ @media (min-width: 768px) and (max-height: 774.98px) {
8319
+ .kds-theme-root .kds-screen > .kds-card-elevated.kds-card-elevated--action {
8320
+ min-height: 0;
8321
+ }
8322
+ }
8323
+
8278
8324
  .kds-theme-root .kds-card-elevated--action > form {
8279
8325
  flex-grow: 1;
8280
8326
  display: flex;