@khipu/design-system 0.2.0-alpha.138 → 0.2.0-alpha.139

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-07-27T20:34:20.864Z
16
+ * Generated: 2026-08-03T18:41:00.351Z
17
17
  *
18
18
  * To regenerate:
19
19
  * cd design-system && npm run tokens:generate
@@ -827,6 +827,14 @@ body.dark,
827
827
  --kds-qr-avatar-radius: 10px; /* Avatar border radius */
828
828
  --kds-qr-badge-bg: var(--kds-color-primary-main); /* Badge background */
829
829
  --kds-qr-badge-text: #FFFFFF; /* Badge text color */
830
+
831
+ /* Highlighted Field */
832
+ --kds-field-highlight-bg: var(--kds-color-info-soft); /* Header band surface */
833
+ --kds-field-highlight-border: rgba(2, 136, 209, 0.5); /* Dashed accent border (info @ 50%) */
834
+ --kds-field-highlight-label: var(--kds-color-info-dark); /* Eyebrow label */
835
+ /* Doubles as the band's own padding, so its text lines up with the fields */
836
+ --kds-field-highlight-padding: var(--kds-spacing-2);
837
+ --kds-field-highlight-radius: var(--kds-radius-card);
830
838
  }
831
839
 
832
840
  /* ========================================
@@ -858,6 +866,12 @@ body.dark,
858
866
  --kds-qr-avatar-bg: var(--kds-color-background-elevated);
859
867
  --kds-qr-avatar-border: rgba(227, 181, 255, 0.3);
860
868
  --kds-qr-badge-text: var(--kds-color-primary-contrast); /* dark text on the lavender badge */
869
+
870
+ /* Highlighted field — info-soft still resolves to a near-white band on
871
+ dark, so mirror it as translucent info over the dark background. */
872
+ --kds-field-highlight-bg: rgba(2, 136, 209, 0.12);
873
+ --kds-field-highlight-border: rgba(125, 211, 252, 0.45);
874
+ --kds-field-highlight-label: #7DD3FC; /* light info, readable on dark */
861
875
  }
862
876
 
863
877
  /* ========================================
@@ -6764,6 +6778,66 @@ button.kds-fab:active:not(:disabled) {
6764
6778
  }
6765
6779
 
6766
6780
 
6781
+ /* ========================================
6782
+ 17 - HIGHLIGHTED FIELD (.kds-field-highlight)
6783
+ Calls out an optional or conditional block of
6784
+ fields inside a form. The colour lives in a
6785
+ header band, never behind the fields: BeerCSS
6786
+ floats the label ONTO the field outline (it cuts
6787
+ the input with clip-path and redraws that
6788
+ stretch of border in label::after), so anything
6789
+ painted behind a field shows through the notch,
6790
+ right under the label. Keeping the fields on the
6791
+ page surface means they render exactly as they
6792
+ do anywhere else in the form, with no override.
6793
+ ======================================== */
6794
+
6795
+ .kds-field-highlight {
6796
+ padding-inline: var(--kds-field-highlight-padding);
6797
+ padding-block-end: var(--kds-field-highlight-padding);
6798
+ border: var(--kds-border-width-sm) dashed var(--kds-field-highlight-border);
6799
+ border-radius: var(--kds-field-highlight-radius);
6800
+ }
6801
+
6802
+ /* Optional — omit it and the fields sit alone in the box. Breaks out to the box
6803
+ edges so it reads as a header band, then takes the box's own inset back as
6804
+ padding: the eyebrow ends up flush with the fields below, and the band's
6805
+ horizontal padding matches the fields' own. */
6806
+ .kds-field-highlight-header {
6807
+ display: flex;
6808
+ align-items: center;
6809
+ justify-content: space-between;
6810
+ gap: var(--kds-spacing-1);
6811
+ margin-inline: calc(-1 * var(--kds-field-highlight-padding));
6812
+ margin-block-end: var(--kds-field-highlight-padding);
6813
+ padding-block: var(--kds-spacing-1-25);
6814
+ padding-inline: var(--kds-field-highlight-padding);
6815
+ background: var(--kds-field-highlight-bg);
6816
+ border-start-start-radius: calc(
6817
+ var(--kds-field-highlight-radius) - var(--kds-border-width-sm)
6818
+ );
6819
+ border-start-end-radius: calc(
6820
+ var(--kds-field-highlight-radius) - var(--kds-border-width-sm)
6821
+ );
6822
+ }
6823
+
6824
+ .kds-field-highlight-eyebrow {
6825
+ font-family: var(--kds-font-family-primary);
6826
+ font-size: var(--kds-font-size-xs);
6827
+ font-weight: var(--kds-font-weight-semibold);
6828
+ letter-spacing: var(--kds-letter-spacing-widest);
6829
+ line-height: 1.4;
6830
+ text-transform: uppercase;
6831
+ color: var(--kds-field-highlight-label);
6832
+ }
6833
+
6834
+ /* The header already supplies the gap — the first field must not add its own */
6835
+ .kds-field-highlight > .kds-field-highlight-header + .kds-field-group,
6836
+ .kds-field-highlight > .kds-field-group:first-child {
6837
+ margin-block-start: 0;
6838
+ }
6839
+
6840
+
6767
6841
  /* ========================================
6768
6842
  PAYMENT FLOW — DOMAIN COMPONENTS
6769
6843
  Invoice header, KV grid, dividers,