astralkit 0.8.0 → 0.9.0

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.
@@ -165,6 +165,27 @@
165
165
  text-transform: uppercase;
166
166
  color: var(--color-ak-text-secondary);
167
167
  }
168
+
169
+ /* Marketing eyebrow — the wide-tracked section/kicker label. Unlike ak-overline
170
+ it inherits weight and color, so it sits on dark panels, brand fills and
171
+ muted captions alike; callers add font-semibold / a text color as needed. */
172
+ .ak-eyebrow {
173
+ font-size: var(--text-ak-xs);
174
+ letter-spacing: var(--tracking-ak-widest, 0.1em);
175
+ text-transform: uppercase;
176
+ /* weight, color and family inherit — eyebrows sit on dark panels, brand
177
+ fills and muted captions alike; callers add font-semibold etc. */
178
+ }
179
+
180
+ /* Marketing display headline — the heading-font/extrabold/condensed/tight
181
+ bundle every landing hero and section title re-assembles by hand.
182
+ Size stays a utility (text-ak-display-*): one knob, not nine classes. */
183
+ .ak-display-title {
184
+ font-family: var(--font-ak-heading, var(--font-ak-sans, Inter)), system-ui, sans-serif;
185
+ font-weight: 800;
186
+ line-height: var(--leading-ak-condensed, 0.95);
187
+ letter-spacing: var(--tracking-ak-tight, -0.025em);
188
+ }
168
189
  .ak-form-label {
169
190
  font-size: var(--text-ak-base);
170
191
  font-weight: 600;
package/tailwind.cjs CHANGED
@@ -74,6 +74,27 @@ module.exports = plugin(
74
74
  // Config — extends Tailwind's theme with ak-* utilities
75
75
  {
76
76
  theme: {
77
+ /* ── Breakpoints ──
78
+ Core Tailwind names/values untouched (agents' priors just work), plus
79
+ ak- prefixed customs: ak-xs (480) and hyphenated half-steps ak-md-5
80
+ (896) / ak-lg-5 (1152) at the md/lg and lg/xl midpoints.
81
+ Naming law: custom screens = ak- + hyphen — unprefixed screens squat
82
+ on global variant space (customer configs, other plugins), and the
83
+ _5 underscore form stays reserved for type/spacing fraction tokens.
84
+ Declared as a FULL ordered object (not extend) so ak-xs sorts before
85
+ sm — appended screens would break min-width cascade order. Apps that
86
+ define their own `screens` win over this (plugin config is lower
87
+ precedence). Rule: use these names; never write min-[NNNpx]. */
88
+ screens: {
89
+ 'ak-xs': '480px',
90
+ 'sm': '640px',
91
+ 'md': '768px',
92
+ 'ak-md-5': '896px',
93
+ 'lg': '1024px',
94
+ 'ak-lg-5': '1152px',
95
+ 'xl': '1280px',
96
+ '2xl': '1536px',
97
+ },
77
98
  extend: {
78
99
  /* ── Colors ──
79
100
  Every ak-* color token becomes a Tailwind color utility:
@@ -295,33 +316,34 @@ module.exports = plugin(
295
316
  'ak-9xl': 'var(--text-ak-9xl)',
296
317
  'ak-10xl': 'var(--text-ak-10xl)',
297
318
  // Fluid scale
298
- 'ak-fl-xs': 'clamp(0.6875rem, 0.67rem + 0.06vw, 0.75rem)',
299
- 'ak-fl-sm': 'clamp(0.75rem, 0.71rem + 0.12vw, 0.875rem)',
300
- 'ak-fl-base': 'clamp(0.875rem, 0.84rem + 0.12vw, 1rem)',
301
- 'ak-fl-lg': 'clamp(1rem, 0.96rem + 0.12vw, 1.125rem)',
302
- 'ak-fl-xl': 'clamp(1.125rem, 1.09rem + 0.12vw, 1.25rem)',
303
- 'ak-fl-2xl': 'clamp(1.25rem, 1.18rem + 0.23vw, 1.5rem)',
304
- 'ak-fl-3xl': 'clamp(1.5rem, 1.39rem + 0.35vw, 1.875rem)',
305
- 'ak-fl-4xl': 'clamp(1.875rem, 1.76rem + 0.35vw, 2.25rem)',
306
- 'ak-fl-5xl': 'clamp(2.25rem, 2.03rem + 0.69vw, 3rem)',
307
- 'ak-fl-6xl': 'clamp(3rem, 2.78rem + 0.69vw, 3.75rem)',
308
- 'ak-fl-7xl': 'clamp(3.5rem, 3.2rem + 0.93vw, 4.5rem)',
309
- 'ak-fl-8xl': 'clamp(4.5rem, 4.06rem + 1.39vw, 6rem)',
310
- 'ak-fl-9xl': 'clamp(5.25rem, 4.73rem + 1.62vw, 7rem)',
319
+ 'ak-fl-xs': 'var(--text-ak-fl-xs)',
320
+ 'ak-fl-sm': 'var(--text-ak-fl-sm)',
321
+ 'ak-fl-base': 'var(--text-ak-fl-base)',
322
+ 'ak-fl-lg': 'var(--text-ak-fl-lg)',
323
+ 'ak-fl-xl': 'var(--text-ak-fl-xl)',
324
+ 'ak-fl-2xl': 'var(--text-ak-fl-2xl)',
325
+ 'ak-fl-3xl': 'var(--text-ak-fl-3xl)',
326
+ 'ak-fl-4xl': 'var(--text-ak-fl-4xl)',
327
+ 'ak-fl-5xl': 'var(--text-ak-fl-5xl)',
328
+ 'ak-fl-6xl': 'var(--text-ak-fl-6xl)',
329
+ 'ak-fl-7xl': 'var(--text-ak-fl-7xl)',
330
+ 'ak-fl-8xl': 'var(--text-ak-fl-8xl)',
331
+ 'ak-fl-9xl': 'var(--text-ak-fl-9xl)',
311
332
  // Display scale
312
- 'ak-display-xs': 'clamp(0.75rem, 0.7rem + 0.15vw, 0.875rem)',
313
- 'ak-display-sm': 'clamp(0.875rem, 0.83rem + 0.19vw, 1rem)',
314
- 'ak-display-base': 'clamp(1rem, 0.94rem + 0.28vw, 1.1875rem)',
315
- 'ak-display-lg': 'clamp(1.125rem, 1.01rem + 0.52vw, 1.5rem)',
316
- 'ak-display-xl': 'clamp(1.25rem, 1.07rem + 0.83vw, 1.875rem)',
317
- 'ak-display-2xl': 'clamp(1.5rem, 1.2rem + 1.11vw, 2.25rem)',
318
- 'ak-display-3xl': 'clamp(1.875rem, 1.42rem + 1.67vw, 3rem)',
319
- 'ak-display-4xl': 'clamp(2.25rem, 1.58rem + 2.5vw, 3.75rem)',
320
- 'ak-display-5xl': 'clamp(3rem, 2.07rem + 3.47vw, 5.25rem)',
321
- 'ak-display-6xl': 'clamp(3.75rem, 2.5rem + 4.63vw, 7rem)',
322
- 'ak-display-7xl': 'clamp(4.5rem, 3.06rem + 5.56vw, 8rem)',
323
- 'ak-display-8xl': 'clamp(5rem, 3.06rem + 6.94vw, 9rem)',
324
- 'ak-display-9xl': 'clamp(5.5rem, 3.06rem + 7.64vw, 10rem)',
333
+ 'ak-display-xs': 'var(--text-ak-display-xs)',
334
+ 'ak-display-sm': 'var(--text-ak-display-sm)',
335
+ 'ak-display-base': 'var(--text-ak-display-base)',
336
+ 'ak-display-lg': 'var(--text-ak-display-lg)',
337
+ 'ak-display-xl': 'var(--text-ak-display-xl)',
338
+ 'ak-display-2xl': 'var(--text-ak-display-2xl)',
339
+ 'ak-display-3xl': 'var(--text-ak-display-3xl)',
340
+ 'ak-display-4xl': 'var(--text-ak-display-4xl)',
341
+ 'ak-display-5xl': 'var(--text-ak-display-5xl)',
342
+ 'ak-display-5xl_5': 'var(--text-ak-display-5xl_5)',
343
+ 'ak-display-6xl': 'var(--text-ak-display-6xl)',
344
+ 'ak-display-7xl': 'var(--text-ak-display-7xl)',
345
+ 'ak-display-8xl': 'var(--text-ak-display-8xl)',
346
+ 'ak-display-9xl': 'var(--text-ak-display-9xl)',
325
347
 
326
348
  'ak-watermark-2xs': 'clamp(1rem, 13cqi, 13rem)',
327
349
  'ak-watermark-xs': 'clamp(1rem, 16cqi, 16rem)',
@@ -437,6 +459,13 @@ module.exports = plugin(
437
459
  'ak-3xl': 'var(--container-ak-3xl)',
438
460
  'ak-4xl': 'var(--container-ak-4xl)',
439
461
  'ak-prose': 'var(--container-ak-prose)',
462
+ // Measure scale (ch-based line lengths for copy that isn't full prose:
463
+ // stat labels, card blurbs, hero standfirsts). ak-prose (65ch) is the max.
464
+ 'ak-measure-xs': 'var(--container-ak-measure-xs)',
465
+ 'ak-measure-sm': 'var(--container-ak-measure-sm)',
466
+ 'ak-measure-md': 'var(--container-ak-measure-md)',
467
+ 'ak-measure-lg': 'var(--container-ak-measure-lg)',
468
+ 'ak-measure-xl': 'var(--container-ak-measure-xl)',
440
469
  },
441
470
 
442
471
  /* ── Z-Index (Chakra-inspired scale) ── */