astralkit 0.3.2 → 0.3.4
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.
- package/CHANGELOG.md +5 -0
- package/ai-rules.md +163 -9
- package/astralkit-theme-v4.css +29 -9
- package/astralkit-theme.css +45 -9
- package/package.json +10 -4
- package/palettes.css +29 -0
- package/primitives/typography.css +20 -0
- package/tailwind.cjs +55 -15
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,11 @@ All notable changes to the `astralkit` SDK package.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.3.3] — 2026-04-22
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- Widened `tailwind-merge` dependency range from `^2.2.0` to `^2.2.0 || ^3.0.0`. Tailwind CSS v4 projects use `tailwind-merge@v3` (which adds v4 class-name recognition), so accepting either major version lets npm dedupe to the host project's copy instead of nesting a second `node_modules/astralkit/node_modules/tailwind-merge`. Same `twMerge` API in both; no SDK code change required.
|
|
12
|
+
|
|
8
13
|
## [0.3.2] — 2026-04-19
|
|
9
14
|
|
|
10
15
|
### Fixed (revert of accidental change in 0.3.0 / 0.3.1)
|
package/ai-rules.md
CHANGED
|
@@ -17,6 +17,8 @@ These constraints prevent generic "AI slop" output. Follow them strictly.
|
|
|
17
17
|
|
|
18
18
|
**Never use raw Tailwind colors.** No `bg-white`, `text-gray-900`, `border-slate-200`. Always use `bg-ak-bg`, `text-ak-text`, `border-ak-border`. Raw colors break theming, dark mode, and palette switching.
|
|
19
19
|
|
|
20
|
+
**Never use `text-white` or `text-black`.** Use `text-ak-on-primary` for text on primary-colored backgrounds, `text-ak-text-inverse` for text on dark/ink surfaces, and `text-ak-text` for standard text. Raw black/white breaks when palettes change — a theme with a dark primary and white on-primary text would get white-on-white if you hardcode `text-white`.
|
|
21
|
+
|
|
20
22
|
**Never use Framer Motion.** CSS animations only. Use `ak-*` animation tokens (`duration-ak-base`, `ease-ak-default`) or effect primitives (`.ak-press`, `.ak-card-glow`).
|
|
21
23
|
|
|
22
24
|
**Never use shadows on containment surfaces.** No `shadow-md` on cards, panels, or dropdowns. Use `border border-ak-border` instead. Shadows are reserved for modals and floating elements only.
|
|
@@ -74,6 +76,36 @@ Prefer: class="text-ak-fl-5xl"
|
|
|
74
76
|
|
|
75
77
|
Static tokens: `text-ak-2xs` · `text-ak-xs` · `text-ak-sm` · `text-ak-base` · `text-ak-lg` · `text-ak-xl` · `text-ak-2xl`
|
|
76
78
|
|
|
79
|
+
### Watermark / Giant Decorative Type — `text-ak-watermark-*`
|
|
80
|
+
|
|
81
|
+
For container-spanning decorative text (brand watermarks behind content). These use `cqi` (container query inline) units with `clamp()` to scale relative to their container width.
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
Instead of: class="text-[25vw] leading-[0.85] font-black tracking-ak-tighter uppercase whitespace-nowrap select-none pointer-events-none"
|
|
85
|
+
Prefer:
|
|
86
|
+
<div class="ak-watermark-area" aria-hidden="true">
|
|
87
|
+
<span class="ak-watermark text-ak-watermark-lg">Brand</span>
|
|
88
|
+
</div>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
The `.ak-watermark-area` primitive sets: container-type inline-size, select-none, pointer-events-none.
|
|
92
|
+
The `.ak-watermark` primitive sets: font-weight 900, tracking-tighter, leading-display, uppercase, nowrap.
|
|
93
|
+
|
|
94
|
+
Pick size by character count:
|
|
95
|
+
| Token | Scale | Best for |
|
|
96
|
+
|---|---|---|
|
|
97
|
+
| `text-ak-watermark-2xs` | 13cqi | 9+ chars (Structura, Celebrate Life) |
|
|
98
|
+
| `text-ak-watermark-xs` | 16cqi | 7-8 chars (Framecut, Routeflow) |
|
|
99
|
+
| `text-ak-watermark-sm` | 19cqi | 5-7 chars (Caliper, Olympus, Terra) |
|
|
100
|
+
| `text-ak-watermark-base` | 21cqi | 5-6 chars (intermediate) |
|
|
101
|
+
| `text-ak-watermark-md` | 24cqi | 4-6 chars (Roast, Maison) |
|
|
102
|
+
| `text-ak-watermark-lg` | 26cqi | 4-5 chars (Relay, Swift, Vinyl) |
|
|
103
|
+
| `text-ak-watermark-xl` | 28cqi | 4-5 chars (Nimble) |
|
|
104
|
+
| `text-ak-watermark-2xl` | 30cqi | 3-5 chars (Void, Orbit, Nexus) |
|
|
105
|
+
| `text-ak-watermark-3xl` | 33cqi | 3-4 chars (Cove) |
|
|
106
|
+
| `text-ak-watermark-4xl` | 36cqi | 2-3 chars (very large) |
|
|
107
|
+
| `text-ak-watermark-5xl` | 40cqi | 2-3 chars (massive) |
|
|
108
|
+
|
|
77
109
|
---
|
|
78
110
|
|
|
79
111
|
## Fluid Spacing — Use `*-ak-fl-*` for Section-Level Spacing
|
|
@@ -97,7 +129,7 @@ Space pairs are ideal for section padding (e.g., `py-ak-fl-xl-3xl`), hero spacin
|
|
|
97
129
|
- Small internal component spacing (button padding, icon gaps, card chrome)
|
|
98
130
|
- Spacing that should remain constant regardless of viewport
|
|
99
131
|
|
|
100
|
-
Static spacing: `*-ak-0` · `*-ak-px` · `*-ak-0_5` · `*-ak-1` · `*-ak-1_5` · `*-ak-2` · `*-ak-2_5` · `*-ak-3` · `*-ak-3_5` · `*-ak-4` · `*-ak-4_5` · `*-ak-5` · `*-ak-5_5` · `*-ak-6` · `*-ak-7` · `*-ak-8` · `*-ak-10` · `*-ak-12` · `*-ak-16` · `*-ak-20` · `*-ak-24`
|
|
132
|
+
Static spacing: `*-ak-0` · `*-ak-px` · `*-ak-0_5` · `*-ak-0_75` · `*-ak-1` · `*-ak-1_25` · `*-ak-1_5` · `*-ak-2` · `*-ak-2_5` · `*-ak-3` · `*-ak-3_5` · `*-ak-4` · `*-ak-4_5` · `*-ak-5` · `*-ak-5_5` · `*-ak-6` · `*-ak-7` · `*-ak-8` · `*-ak-10` · `*-ak-12` · `*-ak-16` · `*-ak-20` · `*-ak-24`
|
|
101
133
|
|
|
102
134
|
---
|
|
103
135
|
|
|
@@ -185,12 +217,31 @@ Prefer: class="bg-ak-bg text-ak-text border-ak-border"
|
|
|
185
217
|
### Decorative highlights / loading:
|
|
186
218
|
`ak-highlight-soft` · `ak-highlight-strong` · `ak-skeleton-base` · `ak-skeleton-shine`
|
|
187
219
|
|
|
220
|
+
### Primary color family:
|
|
221
|
+
`bg-ak-primary` · `bg-ak-primary-hover` · `bg-ak-primary-active` — action backgrounds (button, link hover, active press)
|
|
222
|
+
`text-ak-on-primary` — text ON a primary-colored background (white in light mode, dark in dark mode)
|
|
223
|
+
`bg-ak-primary-subtle` · `bg-ak-primary-subtle-hover` — soft/pastel primary tint for gentle emphasis (badges, pastel buttons, tag backgrounds)
|
|
224
|
+
`ak-primary-50` through `ak-primary-950` — full primary color ramp for fine-grained shading
|
|
225
|
+
|
|
188
226
|
### Text:
|
|
189
|
-
`text-ak-text` · `text-ak-text-secondary` · `text-ak-text-muted` · `text-ak-text-disabled` · `text-ak-text-inverse`
|
|
227
|
+
`text-ak-text` · `text-ak-text-emphasis` · `text-ak-text-secondary` · `text-ak-text-muted` · `text-ak-text-disabled` · `text-ak-text-inverse` · `text-ak-text-link` · `text-ak-text-placeholder`
|
|
228
|
+
|
|
229
|
+
**Text scale usage:**
|
|
230
|
+
- `ak-text` — primary body text, headings
|
|
231
|
+
- `ak-text-emphasis` — high-emphasis secondary text, slightly softened ink (between text and text-secondary)
|
|
232
|
+
- `ak-text-secondary` — descriptions, supporting copy
|
|
233
|
+
- `ak-text-muted` — timestamps, captions, tertiary info
|
|
234
|
+
- `ak-text-disabled` — disabled controls
|
|
235
|
+
- `ak-text-inverse` — text on dark/ink backgrounds (NOT on primary — use `ak-on-primary` for that)
|
|
236
|
+
- `ak-text-link` — inline hyperlinks
|
|
237
|
+
- `ak-text-placeholder` — input placeholders
|
|
190
238
|
|
|
191
239
|
### Border:
|
|
192
240
|
`border-ak-border` · `border-ak-border-subtle` · `border-ak-border-strong` · `border-ak-border-focus`
|
|
193
241
|
|
|
242
|
+
### Overlay:
|
|
243
|
+
`bg-ak-overlay` — semi-transparent backdrop for modals and drawers
|
|
244
|
+
|
|
194
245
|
### Neutral scale (for decorative/data elements only):
|
|
195
246
|
`ak-neutral-0` through `ak-neutral-950` (11 shades)
|
|
196
247
|
|
|
@@ -223,6 +274,11 @@ Prefer: class="max-w-ak-page mx-auto px-ak-3"
|
|
|
223
274
|
|
|
224
275
|
### Max-widths: `max-w-ak-xs` · `sm` · `md` · `lg` · `xl` · `2xl` · `3xl` · `4xl` · `prose` · `page` (80rem)
|
|
225
276
|
### Heights: `h-ak-nav` (nav bar) · `h-ak-touch` / `w-ak-touch` (touch target)
|
|
277
|
+
### Control heights (buttons, inputs, selects):
|
|
278
|
+
`min-h-ak-control-sm` (32px) · `min-h-ak-control-md` (40px) · `min-h-ak-control-lg` (48px) · `min-h-ak-control-xl` (56px) · `min-h-ak-control-2xl` (64px)
|
|
279
|
+
|
|
280
|
+
Also available as `h-ak-control-*` for exact height. Use `min-h-` for buttons (allows text wrap), `h-` for inputs (fixed height).
|
|
281
|
+
|
|
226
282
|
### Table rows: `h-ak-row-compact` (40px) · `h-ak-row-default` (48px) · `h-ak-row-comfortable` (52px)
|
|
227
283
|
### Page margin: `px-ak-fl-page-margin` — fluid side padding (16px mobile → 80px desktop)
|
|
228
284
|
|
|
@@ -545,6 +601,56 @@ Use `ak-focus-ring-inset` for elements inside panels where outward rings would c
|
|
|
545
601
|
|
|
546
602
|
---
|
|
547
603
|
|
|
604
|
+
## Button & Control Variant Patterns
|
|
605
|
+
|
|
606
|
+
Buttons are composed from three layers: **base** (structure) + **size** (dimensions) + **variant** (colors). Never freestyle button classes — compose from these layers.
|
|
607
|
+
|
|
608
|
+
### Base (always present):
|
|
609
|
+
```
|
|
610
|
+
inline-flex items-center justify-center font-semibold rounded-ak-lg cursor-pointer transition-colors duration-ak-base
|
|
611
|
+
```
|
|
612
|
+
|
|
613
|
+
### Size scale:
|
|
614
|
+
| Size | Padding | Text | Min Height | Gap |
|
|
615
|
+
|---|---|---|---|---|
|
|
616
|
+
| xs | `py-ak-0_75 px-ak-1_5` | `text-ak-xs` | `min-h-ak-control-sm` | `gap-ak-0_75` |
|
|
617
|
+
| sm | `py-ak-1 px-ak-2` | `text-ak-sm` | `min-h-ak-control-md` | `gap-ak-0_75` |
|
|
618
|
+
| md | `py-ak-1_25 px-ak-2_5` | `text-ak-base` | `min-h-ak-control-lg` | `gap-ak-1` |
|
|
619
|
+
| lg | `py-ak-1_5 px-ak-3` | `text-ak-lg` | `min-h-ak-control-xl` | `gap-ak-1` |
|
|
620
|
+
| xl | `py-ak-2 px-ak-4` | `text-ak-xl` | `min-h-ak-control-2xl` | `gap-ak-1_5` |
|
|
621
|
+
|
|
622
|
+
### Variant colors (pick ONE per button):
|
|
623
|
+
```
|
|
624
|
+
Primary: bg-ak-primary text-ak-on-primary hover:bg-ak-primary-hover
|
|
625
|
+
Secondary: bg-ak-surface-2 text-ak-text hover:bg-ak-border
|
|
626
|
+
Ghost: bg-ak-surface text-ak-text border border-ak-border hover:bg-ak-surface-2
|
|
627
|
+
Soft: bg-ak-primary-subtle text-ak-text hover:bg-ak-primary-subtle-hover
|
|
628
|
+
Link: bg-transparent text-ak-primary hover:bg-ak-primary-subtle hover:underline
|
|
629
|
+
Destructive: bg-ak-danger text-ak-text-inverse hover:bg-ak-danger/90
|
|
630
|
+
```
|
|
631
|
+
|
|
632
|
+
### Hover state patterns:
|
|
633
|
+
- **Color shift** (secondary, ghost, soft): Change background one step darker via semantic tokens
|
|
634
|
+
- **Invert** (primary, ink): Swap fill/text and add an inset ring — `hover:bg-ak-surface hover:text-ak-primary hover:shadow-[inset_0_0_0_1.5px_var(--color-ak-primary)]`
|
|
635
|
+
- **Never use opacity as hover** — it's not accessible. Use a visible color change.
|
|
636
|
+
|
|
637
|
+
### Disabled state:
|
|
638
|
+
Add `opacity-50 cursor-not-allowed` and the `disabled` attribute. Never change colors for disabled — the opacity communicates the state.
|
|
639
|
+
|
|
640
|
+
### Icon-only buttons:
|
|
641
|
+
Use explicit `w-ak-*` and `h-ak-*` instead of padding. Example: `w-ak-5 h-ak-5 p-0` for a sm icon button. Always add `aria-label`.
|
|
642
|
+
|
|
643
|
+
### Complete example:
|
|
644
|
+
```html
|
|
645
|
+
<!-- Primary md button with leading icon -->
|
|
646
|
+
<button class="inline-flex items-center justify-center font-semibold rounded-ak-lg cursor-pointer transition-colors duration-ak-base py-ak-1_25 px-ak-2_5 text-ak-base min-h-ak-control-lg gap-ak-1 bg-ak-primary text-ak-on-primary hover:bg-ak-primary-hover ak-focus-ring">
|
|
647
|
+
<i class="ph ph-plus shrink-0" aria-hidden="true" />
|
|
648
|
+
Add item
|
|
649
|
+
</button>
|
|
650
|
+
```
|
|
651
|
+
|
|
652
|
+
---
|
|
653
|
+
|
|
548
654
|
## Chart Colors
|
|
549
655
|
|
|
550
656
|
Six colorblind-safe chart colors (Tableau 10 derived). Use for data visualization series:
|
|
@@ -585,8 +691,8 @@ Use `ak-tabular-nums` on any element displaying numbers in columns (stat cards,
|
|
|
585
691
|
<div class="ak-grid" style="--ak-grid-min: 280px">
|
|
586
692
|
<div class="p-ak-fl-md rounded-ak-md bg-ak-surface border border-ak-border-subtle">
|
|
587
693
|
|
|
588
|
-
<!-- Button -->
|
|
589
|
-
<button class="bg-ak-
|
|
694
|
+
<!-- Button (primary) -->
|
|
695
|
+
<button class="inline-flex items-center justify-center bg-ak-primary text-ak-on-primary px-ak-2_5 py-ak-1_25 min-h-ak-control-lg rounded-ak-lg text-ak-base font-semibold hover:bg-ak-primary-hover transition-colors duration-ak-base ak-focus-ring">
|
|
590
696
|
|
|
591
697
|
<!-- Icon -->
|
|
592
698
|
<svg class="size-ak-icon-lg">
|
|
@@ -662,14 +768,62 @@ Import the palettes file and add a `data-ak-theme` attribute:
|
|
|
662
768
|
```
|
|
663
769
|
Available: `ocean-blue` · `forest-gold` · `minimal-violet` · `warm-earth` · `tangerine` · `slate-pro` · `emerald-saas` · `astral-violet` · `midnight` · `ember-dark` · `obsidian` · `deep-teal`
|
|
664
770
|
|
|
665
|
-
### Method 2: Custom
|
|
666
|
-
|
|
771
|
+
### Method 2: Custom Theme Palette
|
|
772
|
+
Create a `[data-ak-theme="your-brand"]` block and override the semantic tokens. Apply it to any container — `<html>`, a `<div>`, or a layout wrapper. Palettes cascade to all children.
|
|
773
|
+
|
|
667
774
|
```css
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
--color-ak-
|
|
775
|
+
[data-ak-theme="your-brand"] {
|
|
776
|
+
/* ── Required: core surfaces ── */
|
|
777
|
+
--color-ak-bg: #your-page-bg;
|
|
778
|
+
--color-ak-surface: #your-card-bg;
|
|
779
|
+
--color-ak-surface-2: #your-secondary-surface;
|
|
780
|
+
--color-ak-hover: #your-hover-surface;
|
|
781
|
+
|
|
782
|
+
/* ── Required: text scale ── */
|
|
783
|
+
--color-ak-text: #your-ink;
|
|
784
|
+
--color-ak-text-emphasis: #your-high-emphasis; /* between text and text-secondary */
|
|
785
|
+
--color-ak-text-secondary: #your-secondary-text;
|
|
786
|
+
--color-ak-text-muted: #your-muted-text;
|
|
787
|
+
--color-ak-text-inverse: #your-inverse-text; /* text on dark/ink backgrounds */
|
|
788
|
+
|
|
789
|
+
/* ── Required: primary action color ── */
|
|
790
|
+
--color-ak-primary: #your-brand-color;
|
|
791
|
+
--color-ak-primary-hover: #your-brand-darker;
|
|
792
|
+
--color-ak-primary-active: #your-brand-darkest;
|
|
793
|
+
--color-ak-on-primary: #ffffff; /* text ON primary bg */
|
|
794
|
+
--color-ak-primary-subtle: #your-brand-pastel; /* soft tint for badges, soft buttons */
|
|
795
|
+
--color-ak-primary-subtle-hover: #your-brand-pastel-darker;
|
|
796
|
+
|
|
797
|
+
/* ── Required: borders ── */
|
|
798
|
+
--color-ak-border: #your-border;
|
|
799
|
+
--color-ak-border-subtle: #your-light-border;
|
|
800
|
+
--color-ak-border-strong: #your-strong-border;
|
|
801
|
+
|
|
802
|
+
/* ── Recommended: full primary ramp (enables fine-grained shading) ── */
|
|
803
|
+
--color-ak-primary-50: #lightest;
|
|
804
|
+
--color-ak-primary-100: ...;
|
|
805
|
+
--color-ak-primary-200: ...;
|
|
806
|
+
/* ... through --color-ak-primary-950 */
|
|
807
|
+
|
|
808
|
+
/* ── Optional: status colors (defaults work for most brands) ── */
|
|
809
|
+
--color-ak-success: ...; --color-ak-warning: ...; --color-ak-danger: ...; --color-ak-info: ...;
|
|
810
|
+
}
|
|
671
811
|
```
|
|
672
812
|
|
|
813
|
+
```html
|
|
814
|
+
<div data-ak-theme="your-brand">
|
|
815
|
+
<!-- All ak-* classes inside here use your palette -->
|
|
816
|
+
</div>
|
|
817
|
+
```
|
|
818
|
+
|
|
819
|
+
**Key rules for palette authors:**
|
|
820
|
+
1. Every button, card, and text element uses `ak-*` semantic tokens — if you set the palette correctly, the entire UI re-themes automatically
|
|
821
|
+
2. `--color-ak-on-primary` MUST contrast with `--color-ak-primary` — this is the text color on primary buttons
|
|
822
|
+
3. `--color-ak-text-inverse` MUST contrast with `--color-ak-text` — this is for text on ink/dark surfaces
|
|
823
|
+
4. `--color-ak-primary-subtle` should be a very light tint of your primary (10-15% opacity equivalent)
|
|
824
|
+
5. Populate the full primary ramp (50-950) if you need fine-grained variants beyond the semantic tokens
|
|
825
|
+
6. Brand-specific extras that don't map to any ak-* semantic (custom pastel chips, brand shadows, display fonts) go in a separate scoped CSS file — not in the palette block
|
|
826
|
+
|
|
673
827
|
### Light Palettes
|
|
674
828
|
|
|
675
829
|
**AstralKit Default (Violet)**
|
package/astralkit-theme-v4.css
CHANGED
|
@@ -61,9 +61,11 @@
|
|
|
61
61
|
--color-ak-overlay: rgba(0, 0, 0, 0.5);
|
|
62
62
|
--color-ak-on-primary: #ffffff;
|
|
63
63
|
--color-ak-primary-subtle: #f5f5f5;
|
|
64
|
+
--color-ak-primary-subtle-hover: #e5e5e5;
|
|
64
65
|
|
|
65
66
|
/* ── Semantic text ── */
|
|
66
67
|
--color-ak-text: #171717;
|
|
68
|
+
--color-ak-text-emphasis: #2b2b2b;
|
|
67
69
|
--color-ak-text-secondary: #525252;
|
|
68
70
|
--color-ak-text-muted: #a3a3a3;
|
|
69
71
|
--color-ak-text-disabled: #d4d4d4;
|
|
@@ -101,18 +103,26 @@
|
|
|
101
103
|
/* ── Type scale (static) ── */
|
|
102
104
|
--text-ak-2xs: 0.6875rem;
|
|
103
105
|
--text-ak-xs: 0.75rem;
|
|
106
|
+
--text-ak-xs_5: 0.8125rem;
|
|
104
107
|
--text-ak-sm: 0.875rem;
|
|
108
|
+
--text-ak-sm_5: 0.9375rem;
|
|
105
109
|
--text-ak-base: 1rem;
|
|
106
110
|
--text-ak-lg: 1.125rem;
|
|
107
111
|
--text-ak-xl: 1.25rem;
|
|
112
|
+
--text-ak-xl_5: 1.375rem;
|
|
108
113
|
--text-ak-2xl: 1.5rem;
|
|
114
|
+
--text-ak-2xl_5: 1.625rem;
|
|
109
115
|
--text-ak-3xl: 2rem;
|
|
110
116
|
--text-ak-4xl: 2.5rem;
|
|
117
|
+
--text-ak-4xl_5: 2.75rem;
|
|
111
118
|
--text-ak-5xl: 3rem;
|
|
112
119
|
--text-ak-6xl: 3.75rem;
|
|
120
|
+
--text-ak-6xl_5: 4rem;
|
|
113
121
|
--text-ak-7xl: 4.5rem;
|
|
122
|
+
--text-ak-7xl_5: 5.25rem;
|
|
114
123
|
--text-ak-8xl: 6rem;
|
|
115
124
|
--text-ak-9xl: 7rem;
|
|
125
|
+
--text-ak-10xl: 8rem;
|
|
116
126
|
|
|
117
127
|
/* ── Fluid type scale (viewport: 320px → 1400px) ──
|
|
118
128
|
One class, zero breakpoints. Use text-ak-fl-* instead of text-ak-*.
|
|
@@ -152,15 +162,20 @@
|
|
|
152
162
|
--text-ak-display-9xl: clamp(5.5rem, 3.06rem + 7.64vw, 10rem);
|
|
153
163
|
|
|
154
164
|
/* ── Line Height ── */
|
|
155
|
-
--leading-ak-display:
|
|
156
|
-
--leading-ak-
|
|
157
|
-
--leading-ak-
|
|
158
|
-
--leading-ak-
|
|
159
|
-
--leading-ak-
|
|
160
|
-
--leading-ak-
|
|
161
|
-
--leading-ak-
|
|
162
|
-
--leading-ak-
|
|
163
|
-
--leading-ak-
|
|
165
|
+
--leading-ak-display: 0.85;
|
|
166
|
+
--leading-ak-squeezed: 0.92;
|
|
167
|
+
--leading-ak-condensed: 0.95;
|
|
168
|
+
--leading-ak-none: 1;
|
|
169
|
+
--leading-ak-fitted: 1.02;
|
|
170
|
+
--leading-ak-compact: 1.05;
|
|
171
|
+
--leading-ak-tighter: 1.1;
|
|
172
|
+
--leading-ak-snugger: 1.2;
|
|
173
|
+
--leading-ak-tight: 1.25;
|
|
174
|
+
--leading-ak-snug: 1.375;
|
|
175
|
+
--leading-ak-normal: 1.5;
|
|
176
|
+
--leading-ak-relaxed: 1.625;
|
|
177
|
+
--leading-ak-prose: 1.75;
|
|
178
|
+
--leading-ak-loose: 2;
|
|
164
179
|
|
|
165
180
|
/* ── Letter Spacing ── */
|
|
166
181
|
--tracking-ak-tighter: -0.05em;
|
|
@@ -176,7 +191,9 @@
|
|
|
176
191
|
--spacing-ak-0: 0rem;
|
|
177
192
|
--spacing-ak-px: 0.0625rem;
|
|
178
193
|
--spacing-ak-0_5: 0.25rem;
|
|
194
|
+
--spacing-ak-0_75: 0.375rem;
|
|
179
195
|
--spacing-ak-1: 0.5rem;
|
|
196
|
+
--spacing-ak-1_25: 0.625rem;
|
|
180
197
|
--spacing-ak-1_5: 0.75rem;
|
|
181
198
|
--spacing-ak-2: 1rem;
|
|
182
199
|
--spacing-ak-2_5: 1.25rem;
|
|
@@ -219,6 +236,7 @@
|
|
|
219
236
|
--height-ak-control-md: 2.5rem; /* 40px — STANDARD */
|
|
220
237
|
--height-ak-control-lg: 3rem; /* 48px — prominent CTAs */
|
|
221
238
|
--height-ak-control-xl: 3.5rem; /* 56px — hero CTAs */
|
|
239
|
+
--height-ak-control-2xl: 4rem; /* 64px — oversized CTAs */
|
|
222
240
|
|
|
223
241
|
/* ── Table row heights ── */
|
|
224
242
|
--height-ak-row-compact: 2.5rem; /* 40px */
|
|
@@ -544,9 +562,11 @@
|
|
|
544
562
|
--color-ak-overlay: rgba(0,0,0,0.7);
|
|
545
563
|
--color-ak-on-primary: #111113;
|
|
546
564
|
--color-ak-primary-subtle: rgba(129, 140, 248, 0.15);
|
|
565
|
+
--color-ak-primary-subtle-hover: rgba(129, 140, 248, 0.24);
|
|
547
566
|
|
|
548
567
|
/* ── Text ── */
|
|
549
568
|
--color-ak-text: #f4f4f5;
|
|
569
|
+
--color-ak-text-emphasis: #d4d4d8;
|
|
550
570
|
--color-ak-text-secondary: #a1a1aa;
|
|
551
571
|
--color-ak-text-muted: #71717a;
|
|
552
572
|
--color-ak-text-disabled: #52525b;
|
package/astralkit-theme.css
CHANGED
|
@@ -63,9 +63,11 @@
|
|
|
63
63
|
--color-ak-overlay: rgba(0, 0, 0, 0.5);
|
|
64
64
|
--color-ak-on-primary: #ffffff;
|
|
65
65
|
--color-ak-primary-subtle: #f5f5f5;
|
|
66
|
+
--color-ak-primary-subtle-hover: #e5e5e5;
|
|
66
67
|
|
|
67
68
|
/* ── Semantic text ── */
|
|
68
69
|
--color-ak-text: #171717;
|
|
70
|
+
--color-ak-text-emphasis: #2b2b2b;
|
|
69
71
|
--color-ak-text-secondary: #525252;
|
|
70
72
|
--color-ak-text-muted: #a3a3a3;
|
|
71
73
|
--color-ak-text-disabled: #d4d4d4;
|
|
@@ -103,18 +105,26 @@
|
|
|
103
105
|
/* ── Type scale (static) ── */
|
|
104
106
|
--text-ak-2xs: 0.6875rem;
|
|
105
107
|
--text-ak-xs: 0.75rem;
|
|
108
|
+
--text-ak-xs_5: 0.8125rem;
|
|
106
109
|
--text-ak-sm: 0.875rem;
|
|
110
|
+
--text-ak-sm_5: 0.9375rem;
|
|
107
111
|
--text-ak-base: 1rem;
|
|
108
112
|
--text-ak-lg: 1.125rem;
|
|
109
113
|
--text-ak-xl: 1.25rem;
|
|
114
|
+
--text-ak-xl_5: 1.375rem;
|
|
110
115
|
--text-ak-2xl: 1.5rem;
|
|
116
|
+
--text-ak-2xl_5: 1.625rem;
|
|
111
117
|
--text-ak-3xl: 2rem;
|
|
112
118
|
--text-ak-4xl: 2.5rem;
|
|
119
|
+
--text-ak-4xl_5: 2.75rem;
|
|
113
120
|
--text-ak-5xl: 3rem;
|
|
114
121
|
--text-ak-6xl: 3.75rem;
|
|
122
|
+
--text-ak-6xl_5: 4rem;
|
|
115
123
|
--text-ak-7xl: 4.5rem;
|
|
124
|
+
--text-ak-7xl_5: 5.25rem;
|
|
116
125
|
--text-ak-8xl: 6rem;
|
|
117
126
|
--text-ak-9xl: 7rem;
|
|
127
|
+
--text-ak-10xl: 8rem;
|
|
118
128
|
|
|
119
129
|
/* ── Fluid type scale (viewport: 320px → 1400px) ──
|
|
120
130
|
One class, zero breakpoints. Use text-ak-fl-* instead of text-ak-*.
|
|
@@ -153,16 +163,37 @@
|
|
|
153
163
|
--text-ak-display-8xl: clamp(5rem, 3.06rem + 6.94vw, 9rem);
|
|
154
164
|
--text-ak-display-9xl: clamp(5.5rem, 3.06rem + 7.64vw, 10rem);
|
|
155
165
|
|
|
166
|
+
/* ── Watermark / Giant Decorative Type ──
|
|
167
|
+
Container-scaled sizes for decorative watermarks. Uses cqi
|
|
168
|
+
(container query inline) so text fits its container, not the viewport.
|
|
169
|
+
Parent must be a container (ak-watermark primitive handles this). ── */
|
|
170
|
+
--text-ak-watermark-2xs: clamp(1rem, 13cqi, 13rem);
|
|
171
|
+
--text-ak-watermark-xs: clamp(1rem, 16cqi, 16rem);
|
|
172
|
+
--text-ak-watermark-sm: clamp(1rem, 19cqi, 20rem);
|
|
173
|
+
--text-ak-watermark-base: clamp(1rem, 21cqi, 22rem);
|
|
174
|
+
--text-ak-watermark-md: clamp(1rem, 24cqi, 26rem);
|
|
175
|
+
--text-ak-watermark-lg: clamp(1rem, 26cqi, 28rem);
|
|
176
|
+
--text-ak-watermark-xl: clamp(1rem, 28cqi, 30rem);
|
|
177
|
+
--text-ak-watermark-2xl: clamp(1rem, 30cqi, 34rem);
|
|
178
|
+
--text-ak-watermark-3xl: clamp(1rem, 33cqi, 38rem);
|
|
179
|
+
--text-ak-watermark-4xl: clamp(1rem, 36cqi, 42rem);
|
|
180
|
+
--text-ak-watermark-5xl: clamp(1rem, 40cqi, 48rem);
|
|
181
|
+
|
|
156
182
|
/* ── Line Height ── */
|
|
157
|
-
--leading-ak-display:
|
|
158
|
-
--leading-ak-
|
|
159
|
-
--leading-ak-
|
|
160
|
-
--leading-ak-
|
|
161
|
-
--leading-ak-
|
|
162
|
-
--leading-ak-
|
|
163
|
-
--leading-ak-
|
|
164
|
-
--leading-ak-
|
|
165
|
-
--leading-ak-
|
|
183
|
+
--leading-ak-display: 0.85;
|
|
184
|
+
--leading-ak-squeezed: 0.92;
|
|
185
|
+
--leading-ak-condensed: 0.95;
|
|
186
|
+
--leading-ak-none: 1;
|
|
187
|
+
--leading-ak-fitted: 1.02;
|
|
188
|
+
--leading-ak-compact: 1.05;
|
|
189
|
+
--leading-ak-tighter: 1.1;
|
|
190
|
+
--leading-ak-snugger: 1.2;
|
|
191
|
+
--leading-ak-tight: 1.25;
|
|
192
|
+
--leading-ak-snug: 1.375;
|
|
193
|
+
--leading-ak-normal: 1.5;
|
|
194
|
+
--leading-ak-relaxed: 1.625;
|
|
195
|
+
--leading-ak-prose: 1.75;
|
|
196
|
+
--leading-ak-loose: 2;
|
|
166
197
|
|
|
167
198
|
/* ── Letter Spacing ── */
|
|
168
199
|
--tracking-ak-tighter: -0.05em;
|
|
@@ -178,7 +209,9 @@
|
|
|
178
209
|
--spacing-ak-0: 0rem;
|
|
179
210
|
--spacing-ak-px: 0.0625rem;
|
|
180
211
|
--spacing-ak-0_5: 0.25rem;
|
|
212
|
+
--spacing-ak-0_75: 0.375rem;
|
|
181
213
|
--spacing-ak-1: 0.5rem;
|
|
214
|
+
--spacing-ak-1_25: 0.625rem;
|
|
182
215
|
--spacing-ak-1_5: 0.75rem;
|
|
183
216
|
--spacing-ak-2: 1rem;
|
|
184
217
|
--spacing-ak-2_5: 1.25rem;
|
|
@@ -221,6 +254,7 @@
|
|
|
221
254
|
--height-ak-control-md: 2.5rem; /* 40px — STANDARD */
|
|
222
255
|
--height-ak-control-lg: 3rem; /* 48px — prominent CTAs */
|
|
223
256
|
--height-ak-control-xl: 3.5rem; /* 56px — hero CTAs */
|
|
257
|
+
--height-ak-control-2xl: 4rem; /* 64px — oversized CTAs */
|
|
224
258
|
|
|
225
259
|
/* ── Table row heights ── */
|
|
226
260
|
--height-ak-row-compact: 2.5rem; /* 40px */
|
|
@@ -544,9 +578,11 @@
|
|
|
544
578
|
--color-ak-overlay: rgba(0,0,0,0.7);
|
|
545
579
|
--color-ak-on-primary: #111113;
|
|
546
580
|
--color-ak-primary-subtle: rgba(129, 140, 248, 0.15);
|
|
581
|
+
--color-ak-primary-subtle-hover: rgba(129, 140, 248, 0.24);
|
|
547
582
|
|
|
548
583
|
/* ── Text ── */
|
|
549
584
|
--color-ak-text: #f4f4f5;
|
|
585
|
+
--color-ak-text-emphasis: #d4d4d8;
|
|
550
586
|
--color-ak-text-secondary: #a1a1aa;
|
|
551
587
|
--color-ak-text-muted: #71717a;
|
|
552
588
|
--color-ak-text-disabled: #52525b;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "astralkit",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"description": "Design tokens and component primitives for accessible UI — Tailwind CSS v3 & v4",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
],
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"clsx": "^2.1.0",
|
|
32
|
-
"tailwind-merge": "^2.2.0"
|
|
32
|
+
"tailwind-merge": "^2.2.0 || ^3.0.0"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
35
|
"tailwindcss": ">=3.0.0"
|
|
@@ -39,11 +39,17 @@
|
|
|
39
39
|
"optional": false
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
|
-
"keywords": [
|
|
42
|
+
"keywords": [
|
|
43
|
+
"astralkit",
|
|
44
|
+
"design-tokens",
|
|
45
|
+
"tailwind",
|
|
46
|
+
"css",
|
|
47
|
+
"ui"
|
|
48
|
+
],
|
|
43
49
|
"homepage": "https://astralkit.com",
|
|
44
50
|
"repository": {
|
|
45
51
|
"type": "git",
|
|
46
|
-
"url": "https://github.com/astral-kit/astralkit"
|
|
52
|
+
"url": "git+https://github.com/astral-kit/astralkit.git"
|
|
47
53
|
},
|
|
48
54
|
"license": "SEE LICENSE IN LICENSE",
|
|
49
55
|
"author": "Blue Beacon Creative LLC",
|
package/palettes.css
CHANGED
|
@@ -297,3 +297,32 @@
|
|
|
297
297
|
--shadow-ak-xs: none;
|
|
298
298
|
--shadow-ak-sm: none;
|
|
299
299
|
}
|
|
300
|
+
|
|
301
|
+
/* ─── Brand Design System Palettes ─── */
|
|
302
|
+
|
|
303
|
+
[data-ak-theme="logozap"] {
|
|
304
|
+
--color-ak-bg: #FAFAF7;
|
|
305
|
+
--color-ak-surface: #FFFFFF;
|
|
306
|
+
--color-ak-surface-2: #F0EFEA;
|
|
307
|
+
--color-ak-text: #0A0A0A;
|
|
308
|
+
--color-ak-text-secondary: #5A5A5A;
|
|
309
|
+
--color-ak-text-muted: #8C8C8C;
|
|
310
|
+
--color-ak-text-disabled: #C4C2BA;
|
|
311
|
+
--color-ak-text-placeholder: #8C8C8C;
|
|
312
|
+
--color-ak-primary: #1E7BFF;
|
|
313
|
+
--color-ak-primary-hover: #0B4FD9;
|
|
314
|
+
--color-ak-primary-active: #0942B0;
|
|
315
|
+
--color-ak-on-primary: #FFFFFF;
|
|
316
|
+
--color-ak-primary-subtle: #CFE3FF;
|
|
317
|
+
--color-ak-border: #E4E2DA;
|
|
318
|
+
--color-ak-border-subtle: #EEEDE8;
|
|
319
|
+
--color-ak-border-strong: #5A5A5A;
|
|
320
|
+
--color-ak-border-focus: #1E7BFF;
|
|
321
|
+
--color-ak-text-link: #1E7BFF;
|
|
322
|
+
--color-ak-hover: #F0EFEA;
|
|
323
|
+
--color-ak-active: #E4E2DA;
|
|
324
|
+
--color-ak-danger: #EF4444;
|
|
325
|
+
--color-ak-success: #22C55E;
|
|
326
|
+
--color-ak-warning: #F59E0B;
|
|
327
|
+
--color-ak-info: #3B82F6;
|
|
328
|
+
}
|
|
@@ -298,6 +298,26 @@
|
|
|
298
298
|
color: var(--color-ak-text);
|
|
299
299
|
}
|
|
300
300
|
|
|
301
|
+
/* -- Watermark Primitive --
|
|
302
|
+
Decorative container-spanning text. Pair with text-ak-watermark-* size token.
|
|
303
|
+
Wrap in .ak-watermark-area so cqi units size relative to the container.
|
|
304
|
+
Usage:
|
|
305
|
+
<div class="ak-watermark-area" aria-hidden="true">
|
|
306
|
+
<span class="ak-watermark text-ak-watermark-lg">Brand</span>
|
|
307
|
+
</div> */
|
|
308
|
+
.ak-watermark-area {
|
|
309
|
+
container-type: inline-size;
|
|
310
|
+
user-select: none;
|
|
311
|
+
pointer-events: none;
|
|
312
|
+
}
|
|
313
|
+
.ak-watermark {
|
|
314
|
+
font-weight: 900;
|
|
315
|
+
letter-spacing: var(--tracking-ak-tighter);
|
|
316
|
+
line-height: var(--leading-ak-display);
|
|
317
|
+
text-transform: uppercase;
|
|
318
|
+
white-space: nowrap;
|
|
319
|
+
}
|
|
320
|
+
|
|
301
321
|
/* Panel section headings — add letter-spacing, keep original font-size */
|
|
302
322
|
[data-ak-panel] h3.text-ak-base.font-bold {
|
|
303
323
|
letter-spacing: var(--tracking-ak-section);
|
package/tailwind.cjs
CHANGED
|
@@ -22,7 +22,11 @@ const AK_SPACING = {
|
|
|
22
22
|
'ak-px': 'var(--spacing-ak-px)',
|
|
23
23
|
'ak-0_5': 'var(--spacing-ak-0_5)',
|
|
24
24
|
'ak-0.5': 'var(--spacing-ak-0_5)',
|
|
25
|
+
'ak-0_75': 'var(--spacing-ak-0_75)',
|
|
26
|
+
'ak-0.75': 'var(--spacing-ak-0_75)',
|
|
25
27
|
'ak-1': 'var(--spacing-ak-1)',
|
|
28
|
+
'ak-1_25': 'var(--spacing-ak-1_25)',
|
|
29
|
+
'ak-1.25': 'var(--spacing-ak-1_25)',
|
|
26
30
|
'ak-1_5': 'var(--spacing-ak-1_5)',
|
|
27
31
|
'ak-1.5': 'var(--spacing-ak-1_5)',
|
|
28
32
|
'ak-2': 'var(--spacing-ak-2)',
|
|
@@ -105,10 +109,12 @@ module.exports = plugin(
|
|
|
105
109
|
'ak-elevated': 'var(--color-ak-elevated)',
|
|
106
110
|
'ak-on-primary': 'var(--color-ak-on-primary)',
|
|
107
111
|
'ak-primary-subtle': 'var(--color-ak-primary-subtle)',
|
|
112
|
+
'ak-primary-subtle-hover': 'var(--color-ak-primary-subtle-hover)',
|
|
108
113
|
'ak-overlay': 'var(--color-ak-overlay)',
|
|
109
114
|
|
|
110
115
|
// Semantic text
|
|
111
116
|
'ak-text': 'var(--color-ak-text)',
|
|
117
|
+
'ak-text-emphasis': 'var(--color-ak-text-emphasis)',
|
|
112
118
|
'ak-text-secondary': 'var(--color-ak-text-secondary)',
|
|
113
119
|
'ak-text-muted': 'var(--color-ak-text-muted)',
|
|
114
120
|
'ak-text-disabled': 'var(--color-ak-text-disabled)',
|
|
@@ -190,19 +196,34 @@ module.exports = plugin(
|
|
|
190
196
|
fontSize: {
|
|
191
197
|
// Static scale
|
|
192
198
|
'ak-2xs': 'var(--text-ak-2xs)',
|
|
193
|
-
'ak-xs':
|
|
194
|
-
'ak-
|
|
195
|
-
'ak-
|
|
199
|
+
'ak-xs': 'var(--text-ak-xs)',
|
|
200
|
+
'ak-xs_5': 'var(--text-ak-xs_5)',
|
|
201
|
+
'ak-xs.5': 'var(--text-ak-xs_5)',
|
|
202
|
+
'ak-sm': 'var(--text-ak-sm)',
|
|
203
|
+
'ak-sm_5': 'var(--text-ak-sm_5)',
|
|
204
|
+
'ak-sm.5': 'var(--text-ak-sm_5)',
|
|
205
|
+
'ak-base': 'var(--text-ak-base)',
|
|
196
206
|
'ak-lg': 'var(--text-ak-lg)',
|
|
197
|
-
'ak-xl':
|
|
198
|
-
'ak-
|
|
199
|
-
'ak-
|
|
200
|
-
'ak-
|
|
201
|
-
'ak-
|
|
202
|
-
'ak-
|
|
203
|
-
'ak-
|
|
204
|
-
'ak-
|
|
205
|
-
'ak-
|
|
207
|
+
'ak-xl': 'var(--text-ak-xl)',
|
|
208
|
+
'ak-xl_5': 'var(--text-ak-xl_5)',
|
|
209
|
+
'ak-xl.5': 'var(--text-ak-xl_5)',
|
|
210
|
+
'ak-2xl': 'var(--text-ak-2xl)',
|
|
211
|
+
'ak-2xl_5': 'var(--text-ak-2xl_5)',
|
|
212
|
+
'ak-2xl.5': 'var(--text-ak-2xl_5)',
|
|
213
|
+
'ak-3xl': 'var(--text-ak-3xl)',
|
|
214
|
+
'ak-4xl': 'var(--text-ak-4xl)',
|
|
215
|
+
'ak-4xl_5': 'var(--text-ak-4xl_5)',
|
|
216
|
+
'ak-4xl.5': 'var(--text-ak-4xl_5)',
|
|
217
|
+
'ak-5xl': 'var(--text-ak-5xl)',
|
|
218
|
+
'ak-6xl': 'var(--text-ak-6xl)',
|
|
219
|
+
'ak-6xl_5': 'var(--text-ak-6xl_5)',
|
|
220
|
+
'ak-6xl.5': 'var(--text-ak-6xl_5)',
|
|
221
|
+
'ak-7xl': 'var(--text-ak-7xl)',
|
|
222
|
+
'ak-7xl_5': 'var(--text-ak-7xl_5)',
|
|
223
|
+
'ak-7xl.5': 'var(--text-ak-7xl_5)',
|
|
224
|
+
'ak-8xl': 'var(--text-ak-8xl)',
|
|
225
|
+
'ak-9xl': 'var(--text-ak-9xl)',
|
|
226
|
+
'ak-10xl': 'var(--text-ak-10xl)',
|
|
206
227
|
// Fluid scale
|
|
207
228
|
'ak-fl-xs': 'clamp(0.6875rem, 0.67rem + 0.06vw, 0.75rem)',
|
|
208
229
|
'ak-fl-sm': 'clamp(0.75rem, 0.71rem + 0.12vw, 0.875rem)',
|
|
@@ -231,13 +252,30 @@ module.exports = plugin(
|
|
|
231
252
|
'ak-display-7xl': 'clamp(4.5rem, 3.06rem + 5.56vw, 8rem)',
|
|
232
253
|
'ak-display-8xl': 'clamp(5rem, 3.06rem + 6.94vw, 9rem)',
|
|
233
254
|
'ak-display-9xl': 'clamp(5.5rem, 3.06rem + 7.64vw, 10rem)',
|
|
255
|
+
|
|
256
|
+
'ak-watermark-2xs': 'clamp(1rem, 13cqi, 13rem)',
|
|
257
|
+
'ak-watermark-xs': 'clamp(1rem, 16cqi, 16rem)',
|
|
258
|
+
'ak-watermark-sm': 'clamp(1rem, 19cqi, 20rem)',
|
|
259
|
+
'ak-watermark-base': 'clamp(1rem, 21cqi, 22rem)',
|
|
260
|
+
'ak-watermark-md': 'clamp(1rem, 24cqi, 26rem)',
|
|
261
|
+
'ak-watermark-lg': 'clamp(1rem, 26cqi, 28rem)',
|
|
262
|
+
'ak-watermark-xl': 'clamp(1rem, 28cqi, 30rem)',
|
|
263
|
+
'ak-watermark-2xl': 'clamp(1rem, 30cqi, 34rem)',
|
|
264
|
+
'ak-watermark-3xl': 'clamp(1rem, 33cqi, 38rem)',
|
|
265
|
+
'ak-watermark-4xl': 'clamp(1rem, 36cqi, 42rem)',
|
|
266
|
+
'ak-watermark-5xl': 'clamp(1rem, 40cqi, 48rem)',
|
|
234
267
|
},
|
|
235
268
|
|
|
236
269
|
/* ── Line Height ── */
|
|
237
270
|
lineHeight: {
|
|
238
|
-
'ak-display':
|
|
271
|
+
'ak-display': 'var(--leading-ak-display)',
|
|
272
|
+
'ak-squeezed': 'var(--leading-ak-squeezed)',
|
|
273
|
+
'ak-condensed': 'var(--leading-ak-condensed)',
|
|
274
|
+
'ak-none': 'var(--leading-ak-none)',
|
|
275
|
+
'ak-fitted': 'var(--leading-ak-fitted)',
|
|
276
|
+
'ak-compact': 'var(--leading-ak-compact)',
|
|
239
277
|
'ak-tighter': 'var(--leading-ak-tighter)',
|
|
240
|
-
'ak-
|
|
278
|
+
'ak-snugger': 'var(--leading-ak-snugger)',
|
|
241
279
|
'ak-tight': 'var(--leading-ak-tight)',
|
|
242
280
|
'ak-snug': 'var(--leading-ak-snug)',
|
|
243
281
|
'ak-normal': 'var(--leading-ak-normal)',
|
|
@@ -337,7 +375,8 @@ module.exports = plugin(
|
|
|
337
375
|
'ak-control-sm': 'var(--height-ak-control-sm)',
|
|
338
376
|
'ak-control-md': 'var(--height-ak-control-md)',
|
|
339
377
|
'ak-control-lg': 'var(--height-ak-control-lg)',
|
|
340
|
-
'ak-control-xl':
|
|
378
|
+
'ak-control-xl': 'var(--height-ak-control-xl)',
|
|
379
|
+
'ak-control-2xl': 'var(--height-ak-control-2xl)',
|
|
341
380
|
'ak-row-compact': 'var(--height-ak-row-compact)',
|
|
342
381
|
'ak-row-default': 'var(--height-ak-row-default)',
|
|
343
382
|
'ak-row-comfortable': 'var(--height-ak-row-comfortable)',
|
|
@@ -353,6 +392,7 @@ module.exports = plugin(
|
|
|
353
392
|
'ak-control-md': 'var(--height-ak-control-md)',
|
|
354
393
|
'ak-control-lg': 'var(--height-ak-control-lg)',
|
|
355
394
|
'ak-control-xl': 'var(--height-ak-control-xl)',
|
|
395
|
+
'ak-control-2xl': 'var(--height-ak-control-2xl)',
|
|
356
396
|
'ak-row-compact': 'var(--height-ak-row-compact)',
|
|
357
397
|
'ak-row-default': 'var(--height-ak-row-default)',
|
|
358
398
|
'ak-row-comfortable': 'var(--height-ak-row-comfortable)',
|