@aziontech/theme 2.7.1 → 2.7.2

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.
Files changed (130) hide show
  1. package/dist/v3/globals.css +94 -67
  2. package/dist/v3/globals.scss +94 -67
  3. package/dist/v3/tailwind-preset.js +26 -0
  4. package/dist/v3/tailwind.config.js +26 -0
  5. package/dist/v4/globals.css +53 -28
  6. package/dist/v4/globals.scss +53 -28
  7. package/package.json +13 -6
  8. package/src/scripts/build-tokens.mjs +27 -1
  9. package/src/scripts/css-vars.d.ts +7 -0
  10. package/src/scripts/css-vars.d.ts.map +1 -0
  11. package/src/scripts/refs.d.ts +5 -0
  12. package/src/scripts/refs.d.ts.map +1 -0
  13. package/src/scripts/resolve.d.ts +5 -0
  14. package/src/scripts/resolve.d.ts.map +1 -0
  15. package/src/tests/tokens.html +3 -0
  16. package/src/tokens/README.md +17 -0
  17. package/src/tokens/index.d.ts +6 -0
  18. package/src/tokens/index.d.ts.map +1 -0
  19. package/src/tokens/index.js +1 -0
  20. package/src/tokens/primitives/animations/animate.d.ts +29 -0
  21. package/src/tokens/primitives/animations/animate.d.ts.map +1 -0
  22. package/src/tokens/primitives/animations/ease.d.ts +10 -0
  23. package/src/tokens/primitives/animations/ease.d.ts.map +1 -0
  24. package/src/tokens/primitives/border-widths.d.ts +12 -0
  25. package/src/tokens/primitives/border-widths.d.ts.map +1 -0
  26. package/src/tokens/primitives/breakpoints.d.ts +12 -0
  27. package/src/tokens/primitives/breakpoints.d.ts.map +1 -0
  28. package/src/tokens/primitives/colors/alpha.d.ts +109 -0
  29. package/src/tokens/primitives/colors/alpha.d.ts.map +1 -0
  30. package/src/tokens/primitives/colors/alpha.js +10 -10
  31. package/src/tokens/primitives/colors/brand.d.ts +46 -0
  32. package/src/tokens/primitives/colors/brand.d.ts.map +1 -0
  33. package/src/tokens/primitives/colors/colors.d.ts +141 -0
  34. package/src/tokens/primitives/colors/colors.d.ts.map +1 -0
  35. package/src/tokens/primitives/colors/colors.js +11 -11
  36. package/src/tokens/primitives/effects/blur.d.ts +14 -0
  37. package/src/tokens/primitives/effects/blur.d.ts.map +1 -0
  38. package/src/tokens/primitives/effects/drop-shadow.d.ts +13 -0
  39. package/src/tokens/primitives/effects/drop-shadow.d.ts.map +1 -0
  40. package/src/tokens/primitives/effects/inset-shadow.d.ts +10 -0
  41. package/src/tokens/primitives/effects/inset-shadow.d.ts.map +1 -0
  42. package/src/tokens/primitives/effects/opacity.d.ts +11 -0
  43. package/src/tokens/primitives/effects/opacity.d.ts.map +1 -0
  44. package/src/tokens/primitives/effects/perspective.d.ts +12 -0
  45. package/src/tokens/primitives/effects/perspective.d.ts.map +1 -0
  46. package/src/tokens/primitives/effects/shadow.d.ts +14 -0
  47. package/src/tokens/primitives/effects/shadow.d.ts.map +1 -0
  48. package/src/tokens/primitives/ring-offset.d.ts +8 -0
  49. package/src/tokens/primitives/ring-offset.d.ts.map +1 -0
  50. package/src/tokens/primitives/shape/aspect-video.d.ts +6 -0
  51. package/src/tokens/primitives/shape/aspect-video.d.ts.map +1 -0
  52. package/src/tokens/primitives/shape/container.d.ts +20 -0
  53. package/src/tokens/primitives/shape/container.d.ts.map +1 -0
  54. package/src/tokens/primitives/shape/height.d.ts +35 -0
  55. package/src/tokens/primitives/shape/height.d.ts.map +1 -0
  56. package/src/tokens/primitives/shape/radius.d.ts +16 -0
  57. package/src/tokens/primitives/shape/radius.d.ts.map +1 -0
  58. package/src/tokens/primitives/shape/shape.d.ts +12 -0
  59. package/src/tokens/primitives/shape/shape.d.ts.map +1 -0
  60. package/src/tokens/primitives/shape/shape.js +8 -8
  61. package/src/tokens/primitives/shape/size.d.ts +35 -0
  62. package/src/tokens/primitives/shape/size.d.ts.map +1 -0
  63. package/src/tokens/primitives/shape/spacing.d.ts +36 -0
  64. package/src/tokens/primitives/shape/spacing.d.ts.map +1 -0
  65. package/src/tokens/primitives/shape/width.d.ts +46 -0
  66. package/src/tokens/primitives/shape/width.d.ts.map +1 -0
  67. package/src/tokens/primitives/typography/font-family.d.ts +10 -0
  68. package/src/tokens/primitives/typography/font-family.d.ts.map +1 -0
  69. package/src/tokens/primitives/typography/font-size.d.ts +33 -0
  70. package/src/tokens/primitives/typography/font-size.d.ts.map +1 -0
  71. package/src/tokens/primitives/typography/font-weight.d.ts +16 -0
  72. package/src/tokens/primitives/typography/font-weight.d.ts.map +1 -0
  73. package/src/tokens/primitives/typography/leading.d.ts +12 -0
  74. package/src/tokens/primitives/typography/leading.d.ts.map +1 -0
  75. package/src/tokens/primitives/typography/line-height.d.ts +16 -0
  76. package/src/tokens/primitives/typography/line-height.d.ts.map +1 -0
  77. package/src/tokens/primitives/typography/tracking.d.ts +13 -0
  78. package/src/tokens/primitives/typography/tracking.d.ts.map +1 -0
  79. package/src/tokens/semantic/animations.d.ts +3 -0
  80. package/src/tokens/semantic/animations.d.ts.map +1 -0
  81. package/src/tokens/semantic/colors.d.ts +296 -0
  82. package/src/tokens/semantic/colors.d.ts.map +1 -0
  83. package/src/tokens/semantic/containers.d.ts +3 -0
  84. package/src/tokens/semantic/containers.d.ts.map +1 -0
  85. package/src/tokens/semantic/containers.data.d.ts +32 -0
  86. package/src/tokens/semantic/containers.data.d.ts.map +1 -0
  87. package/src/tokens/semantic/spacings.d.ts +3 -0
  88. package/src/tokens/semantic/spacings.d.ts.map +1 -0
  89. package/src/tokens/semantic/spacings.data.d.ts +39 -0
  90. package/src/tokens/semantic/spacings.data.d.ts.map +1 -0
  91. package/src/tokens/semantic/texts.d.ts +3 -0
  92. package/src/tokens/semantic/texts.d.ts.map +1 -0
  93. package/src/tokens/semantic/texts.data.d.ts +184 -0
  94. package/src/tokens/semantic/texts.data.d.ts.map +1 -0
  95. package/src/tokens/semantic/texts.data.js +43 -4
  96. package/src/tokens/theme/accent.d.ts +35 -0
  97. package/src/tokens/theme/accent.d.ts.map +1 -0
  98. package/src/tokens/theme/background.d.ts +77 -0
  99. package/src/tokens/theme/background.d.ts.map +1 -0
  100. package/src/tokens/theme/background.js +1 -1
  101. package/src/tokens/theme/border.d.ts +35 -0
  102. package/src/tokens/theme/border.d.ts.map +1 -0
  103. package/src/tokens/theme/border.js +1 -1
  104. package/src/tokens/theme/feedback/danger.d.ts +29 -0
  105. package/src/tokens/theme/feedback/danger.d.ts.map +1 -0
  106. package/src/tokens/theme/feedback/danger.js +6 -6
  107. package/src/tokens/theme/feedback/info.d.ts +29 -0
  108. package/src/tokens/theme/feedback/info.d.ts.map +1 -0
  109. package/src/tokens/theme/feedback/info.js +2 -2
  110. package/src/tokens/theme/feedback/success.d.ts +29 -0
  111. package/src/tokens/theme/feedback/success.d.ts.map +1 -0
  112. package/src/tokens/theme/feedback/success.js +5 -5
  113. package/src/tokens/theme/feedback/warning.d.ts +29 -0
  114. package/src/tokens/theme/feedback/warning.d.ts.map +1 -0
  115. package/src/tokens/theme/feedback/warning.js +6 -6
  116. package/src/tokens/theme/primary.d.ts +35 -0
  117. package/src/tokens/theme/primary.d.ts.map +1 -0
  118. package/src/tokens/theme/primary.js +4 -4
  119. package/src/tokens/theme/ring.d.ts +17 -0
  120. package/src/tokens/theme/ring.d.ts.map +1 -0
  121. package/src/tokens/theme/ring.js +2 -2
  122. package/src/tokens/theme/secondary.d.ts +35 -0
  123. package/src/tokens/theme/secondary.d.ts.map +1 -0
  124. package/src/tokens/theme/surfaces.d.ts +47 -0
  125. package/src/tokens/theme/surfaces.d.ts.map +1 -0
  126. package/src/tokens/theme/text.d.ts +41 -0
  127. package/src/tokens/theme/text.d.ts.map +1 -0
  128. package/src/tokens/theme/text.js +6 -4
  129. package/src/tokens/theme.d.ts +171 -0
  130. package/src/tokens/theme.d.ts.map +1 -0
@@ -307,6 +307,18 @@ const preset = {
307
307
  "lineHeight": "var(--text-heading-sm-line-height)"
308
308
  }
309
309
  ],
310
+ "heading-xs": [
311
+ "var(--text-heading-xs-font-size)",
312
+ {
313
+ "lineHeight": "var(--text-heading-xs-line-height)"
314
+ }
315
+ ],
316
+ "heading-xxs": [
317
+ "var(--text-heading-xxs-font-size)",
318
+ {
319
+ "lineHeight": "var(--text-heading-xxs-line-height)"
320
+ }
321
+ ],
310
322
  "label-lg": [
311
323
  "var(--text-label-lg-font-size)",
312
324
  {
@@ -352,6 +364,20 @@ const preset = {
352
364
  "lineHeight": "var(--text-body-xs-line-height)"
353
365
  }
354
366
  ],
367
+ "tag-sm": [
368
+ "var(--text-tag-sm-font-size)",
369
+ {
370
+ "lineHeight": "var(--text-tag-sm-line-height)",
371
+ "fontWeight": "var(--text-tag-sm-font-weight)"
372
+ }
373
+ ],
374
+ "tag-md": [
375
+ "var(--text-tag-md-font-size)",
376
+ {
377
+ "lineHeight": "var(--text-tag-md-line-height)",
378
+ "fontWeight": "var(--text-tag-md-font-weight)"
379
+ }
380
+ ],
355
381
  "body-xxs": [
356
382
  "var(--text-body-xxs-font-size)",
357
383
  {
@@ -315,6 +315,18 @@ module.exports = {
315
315
  "lineHeight": "var(--text-heading-sm-line-height)"
316
316
  }
317
317
  ],
318
+ "heading-xs": [
319
+ "var(--text-heading-xs-font-size)",
320
+ {
321
+ "lineHeight": "var(--text-heading-xs-line-height)"
322
+ }
323
+ ],
324
+ "heading-xxs": [
325
+ "var(--text-heading-xxs-font-size)",
326
+ {
327
+ "lineHeight": "var(--text-heading-xxs-line-height)"
328
+ }
329
+ ],
318
330
  "label-lg": [
319
331
  "var(--text-label-lg-font-size)",
320
332
  {
@@ -360,6 +372,20 @@ module.exports = {
360
372
  "lineHeight": "var(--text-body-xs-line-height)"
361
373
  }
362
374
  ],
375
+ "tag-sm": [
376
+ "var(--text-tag-sm-font-size)",
377
+ {
378
+ "lineHeight": "var(--text-tag-sm-line-height)",
379
+ "fontWeight": "var(--text-tag-sm-font-weight)"
380
+ }
381
+ ],
382
+ "tag-md": [
383
+ "var(--text-tag-md-font-size)",
384
+ {
385
+ "lineHeight": "var(--text-tag-md-line-height)",
386
+ "fontWeight": "var(--text-tag-md-font-weight)"
387
+ }
388
+ ],
363
389
  "body-xxs": [
364
390
  "var(--text-body-xxs-font-size)",
365
391
  {
@@ -82,17 +82,17 @@
82
82
  --color-green-800: #12542B;
83
83
  --color-green-900: #0A2916;
84
84
  --color-green-950: #03170B;
85
- --color-red-50: #FFE5E5;
86
- --color-red-100: #FFCCCC;
87
- --color-red-200: #FECACA;
88
- --color-red-300: #FCA5A5;
89
- --color-red-400: #F87171;
90
- --color-red-500: #EF4444;
91
- --color-red-600: #DC2626;
92
- --color-red-700: #B91C1C;
93
- --color-red-800: #991B1B;
94
- --color-red-900: #7F1D1D;
95
- --color-red-950: #430A0A;
85
+ --color-red-50: #FCE8E8;
86
+ --color-red-100: #F9D2D2;
87
+ --color-red-200: #F3A5A5;
88
+ --color-red-300: #ED7878;
89
+ --color-red-400: #E74B4B;
90
+ --color-red-500: #E51A1A;
91
+ --color-red-600: #B71515;
92
+ --color-red-700: #891010;
93
+ --color-red-800: #5B0B0B;
94
+ --color-red-900: #2E0606;
95
+ --color-red-950: #170303;
96
96
  --color-surface-0: #FFFFFF;
97
97
  --color-surface-50: #FAFAFA;
98
98
  --color-surface-100: #F5F5F5;
@@ -155,16 +155,16 @@
155
155
  --color-alpha-green-700: #22C55EB2;
156
156
  --color-alpha-green-800: #22C55ECC;
157
157
  --color-alpha-green-900: #22C55EE5;
158
- --color-alpha-red-50: #EF44440D;
159
- --color-alpha-red-100: #EF44441A;
160
- --color-alpha-red-200: #EF444433;
161
- --color-alpha-red-300: #EF44444D;
162
- --color-alpha-red-400: #EF444466;
163
- --color-alpha-red-500: #EF444480;
164
- --color-alpha-red-600: #EF444499;
165
- --color-alpha-red-700: #EF4444B2;
166
- --color-alpha-red-800: #EF4444CC;
167
- --color-alpha-red-900: #EF4444E5;
158
+ --color-alpha-red-50: #E51A1A0D;
159
+ --color-alpha-red-100: #E51A1A1A;
160
+ --color-alpha-red-200: #E51A1A33;
161
+ --color-alpha-red-300: #E51A1A4D;
162
+ --color-alpha-red-400: #E51A1A66;
163
+ --color-alpha-red-500: #E51A1A80;
164
+ --color-alpha-red-600: #E51A1A99;
165
+ --color-alpha-red-700: #E51A1AB2;
166
+ --color-alpha-red-800: #E51A1ACC;
167
+ --color-alpha-red-900: #E51A1AE5;
168
168
  --color-alpha-yellow-50: #F7BD080D;
169
169
  --color-alpha-yellow-100: #F7BD081A;
170
170
  --color-alpha-yellow-200: #F7BD0833;
@@ -346,9 +346,9 @@
346
346
  --width-7xl: 1280px;
347
347
  --aspect-video: 16 / 9;
348
348
  --shape-flat: 0;
349
- --shape-card: 4px;
350
- --shape-button: 4px;
351
- --shape-elements: 4px;
349
+ --shape-card: 8px;
350
+ --shape-button: 6px;
351
+ --shape-elements: 6px;
352
352
  --border-width-default: 0.8px;
353
353
  --font-sans: Sora;
354
354
  --font-code: Roboto Mono;
@@ -470,15 +470,19 @@
470
470
  --text-big-number-lg-line-height: 1.20;
471
471
  --text-big-number-lg-font-family: Proto Mono;
472
472
  --text-heading-2xl-font-size: 1.875rem;
473
- --text-heading-2xl-line-height: 1.2;
473
+ --text-heading-2xl-line-height: 1.1;
474
474
  --text-heading-xl-font-size: 1.25rem;
475
- --text-heading-xl-line-height: 1.2;
475
+ --text-heading-xl-line-height: 1.1;
476
476
  --text-heading-lg-font-size: 1.125rem;
477
477
  --text-heading-lg-line-height: 1.2;
478
478
  --text-heading-md-font-size: 1rem;
479
- --text-heading-md-line-height: 1.2;
479
+ --text-heading-md-line-height: 1.3;
480
480
  --text-heading-sm-font-size: 0.875rem;
481
- --text-heading-sm-line-height: 1.2;
481
+ --text-heading-sm-line-height: 1.4;
482
+ --text-heading-xs-font-size: 1rem;
483
+ --text-heading-xs-line-height: 1.4;
484
+ --text-heading-xxs-font-size: 0.875rem;
485
+ --text-heading-xxs-line-height: 1.4;
482
486
  --text-label-lg-font-size: 1rem;
483
487
  --text-label-lg-line-height: 1.5;
484
488
  --text-label-lg-font-weight: 500;
@@ -496,6 +500,12 @@
496
500
  --text-body-sm-line-height: 1.5;
497
501
  --text-body-xs-font-size: 0.75rem;
498
502
  --text-body-xs-line-height: 1.5;
503
+ --text-tag-sm-font-size: 0.6875rem;
504
+ --text-tag-sm-line-height: 1;
505
+ --text-tag-sm-font-weight: 600;
506
+ --text-tag-md-font-size: 0.75rem;
507
+ --text-tag-md-line-height: 1;
508
+ --text-tag-md-font-weight: 600;
499
509
  --text-body-xxs-font-size: 0.625rem;
500
510
  --text-body-xxs-line-height: 1.5;
501
511
  --text-overline-md-font-family: Proto Mono;
@@ -523,6 +533,11 @@
523
533
  --text-button-md-font-weight: 600;
524
534
  --text-button-md-line-height: 1;
525
535
  --text-button-md-letter-spacing: 0;
536
+ --text-link-font-size: inherit;
537
+ --text-link-line-height: inherit;
538
+ --text-link-color: var(--text-link);
539
+ --text-link-border-radius: var(--shape-elements);
540
+ --text-link-transition: all 110ms cubic-bezier(0.39, 0.57, 0.56, 1);
526
541
 
527
542
  @media (min-width: 640px) {
528
543
  --container-px: 2.5rem;
@@ -592,6 +607,8 @@
592
607
  .text-heading-lg { font-size: var(--text-heading-lg-font-size); line-height: var(--text-heading-lg-line-height); }
593
608
  .text-heading-md { font-size: var(--text-heading-md-font-size); line-height: var(--text-heading-md-line-height); }
594
609
  .text-heading-sm { font-size: var(--text-heading-sm-font-size); line-height: var(--text-heading-sm-line-height); }
610
+ .text-heading-xs { font-size: var(--text-heading-xs-font-size); line-height: var(--text-heading-xs-line-height); }
611
+ .text-heading-xxs { font-size: var(--text-heading-xxs-font-size); line-height: var(--text-heading-xxs-line-height); }
595
612
  .text-label-lg { font-size: var(--text-label-lg-font-size); line-height: var(--text-label-lg-line-height); font-weight: var(--text-label-lg-font-weight); }
596
613
  .text-label-md { font-size: var(--text-label-md-font-size); line-height: var(--text-label-md-line-height); font-weight: var(--text-label-md-font-weight); }
597
614
  .text-label-sm { font-size: var(--text-label-sm-font-size); line-height: var(--text-label-sm-line-height); font-weight: var(--text-label-sm-font-weight); }
@@ -599,10 +616,18 @@
599
616
  .text-body-md { font-size: var(--text-body-md-font-size); line-height: var(--text-body-md-line-height); }
600
617
  .text-body-sm { font-size: var(--text-body-sm-font-size); line-height: var(--text-body-sm-line-height); }
601
618
  .text-body-xs { font-size: var(--text-body-xs-font-size); line-height: var(--text-body-xs-line-height); }
619
+ .text-tag-sm { font-size: var(--text-tag-sm-font-size); line-height: var(--text-tag-sm-line-height); font-weight: var(--text-tag-sm-font-weight); }
620
+ .text-tag-md { font-size: var(--text-tag-md-font-size); line-height: var(--text-tag-md-line-height); font-weight: var(--text-tag-md-font-weight); }
602
621
  .text-body-xxs { font-size: var(--text-body-xxs-font-size); line-height: var(--text-body-xxs-line-height); }
603
622
  .text-overline-md { font-family: var(--text-overline-md-font-family); font-size: var(--text-overline-md-font-size); line-height: var(--text-overline-md-line-height); letter-spacing: var(--text-overline-md-letter-spacing); text-transform: var(--text-overline-md-text-transform); }
604
623
  .text-overline-sm { font-family: var(--text-overline-sm-font-family); font-size: var(--text-overline-sm-font-size); line-height: var(--text-overline-sm-line-height); letter-spacing: var(--text-overline-sm-letter-spacing); text-transform: var(--text-overline-sm-text-transform); }
605
624
  .text-overline-xs { font-family: var(--text-overline-xs-font-family); font-size: var(--text-overline-xs-font-size); line-height: var(--text-overline-xs-line-height); letter-spacing: var(--text-overline-xs-letter-spacing); text-transform: var(--text-overline-xs-text-transform); }
606
625
  .text-button-lg { font-family: var(--text-button-lg-font-family); font-size: var(--text-button-lg-font-size); font-weight: var(--text-button-lg-font-weight); line-height: var(--text-button-lg-line-height); letter-spacing: var(--text-button-lg-letter-spacing); }
607
626
  .text-button-md { font-family: var(--text-button-md-font-family); font-size: var(--text-button-md-font-size); font-weight: var(--text-button-md-font-weight); line-height: var(--text-button-md-line-height); letter-spacing: var(--text-button-md-letter-spacing); }
627
+ .text-link { font-size: var(--text-link-font-size); line-height: var(--text-link-line-height); color: var(--text-link-color); border-radius: var(--text-link-border-radius); transition: var(--text-link-transition); }
628
+ .text-link:hover { color: var(--text-link-hover); text-decoration: underline; }
629
+ .text-link:focus-visible { outline: 2px solid var(--ring-color); outline-offset: 2px; }
630
+ @media (prefers-reduced-motion: reduce) {
631
+ .text-link { transition: none; }
632
+ }
608
633
  }
@@ -82,17 +82,17 @@
82
82
  --color-green-800: #12542B;
83
83
  --color-green-900: #0A2916;
84
84
  --color-green-950: #03170B;
85
- --color-red-50: #FFE5E5;
86
- --color-red-100: #FFCCCC;
87
- --color-red-200: #FECACA;
88
- --color-red-300: #FCA5A5;
89
- --color-red-400: #F87171;
90
- --color-red-500: #EF4444;
91
- --color-red-600: #DC2626;
92
- --color-red-700: #B91C1C;
93
- --color-red-800: #991B1B;
94
- --color-red-900: #7F1D1D;
95
- --color-red-950: #430A0A;
85
+ --color-red-50: #FCE8E8;
86
+ --color-red-100: #F9D2D2;
87
+ --color-red-200: #F3A5A5;
88
+ --color-red-300: #ED7878;
89
+ --color-red-400: #E74B4B;
90
+ --color-red-500: #E51A1A;
91
+ --color-red-600: #B71515;
92
+ --color-red-700: #891010;
93
+ --color-red-800: #5B0B0B;
94
+ --color-red-900: #2E0606;
95
+ --color-red-950: #170303;
96
96
  --color-surface-0: #FFFFFF;
97
97
  --color-surface-50: #FAFAFA;
98
98
  --color-surface-100: #F5F5F5;
@@ -155,16 +155,16 @@
155
155
  --color-alpha-green-700: #22C55EB2;
156
156
  --color-alpha-green-800: #22C55ECC;
157
157
  --color-alpha-green-900: #22C55EE5;
158
- --color-alpha-red-50: #EF44440D;
159
- --color-alpha-red-100: #EF44441A;
160
- --color-alpha-red-200: #EF444433;
161
- --color-alpha-red-300: #EF44444D;
162
- --color-alpha-red-400: #EF444466;
163
- --color-alpha-red-500: #EF444480;
164
- --color-alpha-red-600: #EF444499;
165
- --color-alpha-red-700: #EF4444B2;
166
- --color-alpha-red-800: #EF4444CC;
167
- --color-alpha-red-900: #EF4444E5;
158
+ --color-alpha-red-50: #E51A1A0D;
159
+ --color-alpha-red-100: #E51A1A1A;
160
+ --color-alpha-red-200: #E51A1A33;
161
+ --color-alpha-red-300: #E51A1A4D;
162
+ --color-alpha-red-400: #E51A1A66;
163
+ --color-alpha-red-500: #E51A1A80;
164
+ --color-alpha-red-600: #E51A1A99;
165
+ --color-alpha-red-700: #E51A1AB2;
166
+ --color-alpha-red-800: #E51A1ACC;
167
+ --color-alpha-red-900: #E51A1AE5;
168
168
  --color-alpha-yellow-50: #F7BD080D;
169
169
  --color-alpha-yellow-100: #F7BD081A;
170
170
  --color-alpha-yellow-200: #F7BD0833;
@@ -346,9 +346,9 @@
346
346
  --width-7xl: 1280px;
347
347
  --aspect-video: 16 / 9;
348
348
  --shape-flat: 0;
349
- --shape-card: 4px;
350
- --shape-button: 4px;
351
- --shape-elements: 4px;
349
+ --shape-card: 8px;
350
+ --shape-button: 6px;
351
+ --shape-elements: 6px;
352
352
  --border-width-default: 0.8px;
353
353
  --font-sans: Sora;
354
354
  --font-code: Roboto Mono;
@@ -470,15 +470,19 @@
470
470
  --text-big-number-lg-line-height: 1.20;
471
471
  --text-big-number-lg-font-family: Proto Mono;
472
472
  --text-heading-2xl-font-size: 1.875rem;
473
- --text-heading-2xl-line-height: 1.2;
473
+ --text-heading-2xl-line-height: 1.1;
474
474
  --text-heading-xl-font-size: 1.25rem;
475
- --text-heading-xl-line-height: 1.2;
475
+ --text-heading-xl-line-height: 1.1;
476
476
  --text-heading-lg-font-size: 1.125rem;
477
477
  --text-heading-lg-line-height: 1.2;
478
478
  --text-heading-md-font-size: 1rem;
479
- --text-heading-md-line-height: 1.2;
479
+ --text-heading-md-line-height: 1.3;
480
480
  --text-heading-sm-font-size: 0.875rem;
481
- --text-heading-sm-line-height: 1.2;
481
+ --text-heading-sm-line-height: 1.4;
482
+ --text-heading-xs-font-size: 1rem;
483
+ --text-heading-xs-line-height: 1.4;
484
+ --text-heading-xxs-font-size: 0.875rem;
485
+ --text-heading-xxs-line-height: 1.4;
482
486
  --text-label-lg-font-size: 1rem;
483
487
  --text-label-lg-line-height: 1.5;
484
488
  --text-label-lg-font-weight: 500;
@@ -496,6 +500,12 @@
496
500
  --text-body-sm-line-height: 1.5;
497
501
  --text-body-xs-font-size: 0.75rem;
498
502
  --text-body-xs-line-height: 1.5;
503
+ --text-tag-sm-font-size: 0.6875rem;
504
+ --text-tag-sm-line-height: 1;
505
+ --text-tag-sm-font-weight: 600;
506
+ --text-tag-md-font-size: 0.75rem;
507
+ --text-tag-md-line-height: 1;
508
+ --text-tag-md-font-weight: 600;
499
509
  --text-body-xxs-font-size: 0.625rem;
500
510
  --text-body-xxs-line-height: 1.5;
501
511
  --text-overline-md-font-family: Proto Mono;
@@ -523,6 +533,11 @@
523
533
  --text-button-md-font-weight: 600;
524
534
  --text-button-md-line-height: 1;
525
535
  --text-button-md-letter-spacing: 0;
536
+ --text-link-font-size: inherit;
537
+ --text-link-line-height: inherit;
538
+ --text-link-color: var(--text-link);
539
+ --text-link-border-radius: var(--shape-elements);
540
+ --text-link-transition: all 110ms cubic-bezier(0.39, 0.57, 0.56, 1);
526
541
 
527
542
  @media (min-width: 640px) {
528
543
  --container-px: 2.5rem;
@@ -592,6 +607,8 @@
592
607
  .text-heading-lg { font-size: var(--text-heading-lg-font-size); line-height: var(--text-heading-lg-line-height); }
593
608
  .text-heading-md { font-size: var(--text-heading-md-font-size); line-height: var(--text-heading-md-line-height); }
594
609
  .text-heading-sm { font-size: var(--text-heading-sm-font-size); line-height: var(--text-heading-sm-line-height); }
610
+ .text-heading-xs { font-size: var(--text-heading-xs-font-size); line-height: var(--text-heading-xs-line-height); }
611
+ .text-heading-xxs { font-size: var(--text-heading-xxs-font-size); line-height: var(--text-heading-xxs-line-height); }
595
612
  .text-label-lg { font-size: var(--text-label-lg-font-size); line-height: var(--text-label-lg-line-height); font-weight: var(--text-label-lg-font-weight); }
596
613
  .text-label-md { font-size: var(--text-label-md-font-size); line-height: var(--text-label-md-line-height); font-weight: var(--text-label-md-font-weight); }
597
614
  .text-label-sm { font-size: var(--text-label-sm-font-size); line-height: var(--text-label-sm-line-height); font-weight: var(--text-label-sm-font-weight); }
@@ -599,10 +616,18 @@
599
616
  .text-body-md { font-size: var(--text-body-md-font-size); line-height: var(--text-body-md-line-height); }
600
617
  .text-body-sm { font-size: var(--text-body-sm-font-size); line-height: var(--text-body-sm-line-height); }
601
618
  .text-body-xs { font-size: var(--text-body-xs-font-size); line-height: var(--text-body-xs-line-height); }
619
+ .text-tag-sm { font-size: var(--text-tag-sm-font-size); line-height: var(--text-tag-sm-line-height); font-weight: var(--text-tag-sm-font-weight); }
620
+ .text-tag-md { font-size: var(--text-tag-md-font-size); line-height: var(--text-tag-md-line-height); font-weight: var(--text-tag-md-font-weight); }
602
621
  .text-body-xxs { font-size: var(--text-body-xxs-font-size); line-height: var(--text-body-xxs-line-height); }
603
622
  .text-overline-md { font-family: var(--text-overline-md-font-family); font-size: var(--text-overline-md-font-size); line-height: var(--text-overline-md-line-height); letter-spacing: var(--text-overline-md-letter-spacing); text-transform: var(--text-overline-md-text-transform); }
604
623
  .text-overline-sm { font-family: var(--text-overline-sm-font-family); font-size: var(--text-overline-sm-font-size); line-height: var(--text-overline-sm-line-height); letter-spacing: var(--text-overline-sm-letter-spacing); text-transform: var(--text-overline-sm-text-transform); }
605
624
  .text-overline-xs { font-family: var(--text-overline-xs-font-family); font-size: var(--text-overline-xs-font-size); line-height: var(--text-overline-xs-line-height); letter-spacing: var(--text-overline-xs-letter-spacing); text-transform: var(--text-overline-xs-text-transform); }
606
625
  .text-button-lg { font-family: var(--text-button-lg-font-family); font-size: var(--text-button-lg-font-size); font-weight: var(--text-button-lg-font-weight); line-height: var(--text-button-lg-line-height); letter-spacing: var(--text-button-lg-letter-spacing); }
607
626
  .text-button-md { font-family: var(--text-button-md-font-family); font-size: var(--text-button-md-font-size); font-weight: var(--text-button-md-font-weight); line-height: var(--text-button-md-line-height); letter-spacing: var(--text-button-md-letter-spacing); }
627
+ .text-link { font-size: var(--text-link-font-size); line-height: var(--text-link-line-height); color: var(--text-link-color); border-radius: var(--text-link-border-radius); transition: var(--text-link-transition); }
628
+ .text-link:hover { color: var(--text-link-hover); text-decoration: underline; }
629
+ .text-link:focus-visible { outline: 2px solid var(--ring-color); outline-offset: 2px; }
630
+ @media (prefers-reduced-motion: reduce) {
631
+ .text-link { transition: none; }
632
+ }
608
633
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aziontech/theme",
3
3
  "type": "module",
4
- "version": "2.7.1",
4
+ "version": "2.7.2",
5
5
  "author": "aziontech",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -15,8 +15,11 @@
15
15
  "build:tokens": "node src/scripts/build-tokens.mjs",
16
16
  "build:tokens:v3": "node src/scripts/build-tokens.mjs --target=v3",
17
17
  "build:tokens:v4": "node src/scripts/build-tokens.mjs --target=v4",
18
- "build:css:v3": "npm run build:tokens:v3 && tailwindcss -c dist/v3/tailwind.config.js -i dist/v3/globals.css -o dist/v3/output.css",
19
- "test:tokens:v3": "npm run build:css:v3 && open src/tests/tokens.html"
18
+ "build:css:v3": "pnpm build:tokens:v3 && tailwindcss -c dist/v3/tailwind.config.js -i dist/v3/globals.css -o dist/v3/output.css",
19
+ "test:tokens:v3": "pnpm build:css:v3 && open src/tests/tokens.html",
20
+ "clean:dts": "find src -name '*.d.ts' -delete && find src -name '*.d.ts.map' -delete",
21
+ "build:dts": "pnpm clean:dts && vue-tsc --declaration --emitDeclarationOnly",
22
+ "prepack": "pnpm build:dts"
20
23
  },
21
24
  "publishConfig": {
22
25
  "access": "public"
@@ -31,8 +34,11 @@
31
34
  "ui-kit",
32
35
  "token-generator"
33
36
  ],
34
- "devDependencies": {
37
+ "dependencies": {
35
38
  "tailwindcss": "^3.4.17",
39
+ "vue-tsc": "^3.2.5"
40
+ },
41
+ "devDependencies": {
36
42
  "@semantic-release/changelog": "^6.0.3",
37
43
  "@semantic-release/commit-analyzer": "^10.0.1",
38
44
  "@semantic-release/exec": "^6.0.3",
@@ -53,8 +59,9 @@
53
59
  ],
54
60
  "exports": {
55
61
  ".": "./default.js",
56
- "./scripts/compile-primitives": "./src/scripts/compile-primitives.js",
57
- "./scripts/compile-theme": "./src/scripts/compile-theme.js",
62
+ "./animations": "./src/tokens/primitives/animations/animate.js",
63
+ "./colors": "./src/tokens/primitives/colors/colors.js",
64
+ "./texts": "./src/tokens/semantic/texts.data.js",
58
65
  "./tailwind-preset": "./dist/v3/tailwind-preset.js",
59
66
  "./tailwind-preset/v3": "./dist/v3/tailwind-preset.js",
60
67
  "./tailwind/semantic-spacings-plugin": "./src/tokens/semantic/spacings.js",
@@ -70,6 +70,7 @@ const flattenBundle = (data) => {
70
70
  const byBp = {};
71
71
  for (const [key, bundle] of Object.entries(data)) {
72
72
  for (const [prop, val] of Object.entries(bundle)) {
73
+ if (prop === 'states') continue;
73
74
  const varName = `--${key}-${kebab(prop)}`;
74
75
  for (const [bp, v] of Object.entries(splitResponsive(val))) {
75
76
  (byBp[bp] ||= {})[varName] = v;
@@ -79,6 +80,16 @@ const flattenBundle = (data) => {
79
80
  return byBp;
80
81
  };
81
82
 
83
+ const pseudoClassName = (key) => {
84
+ if (key === 'focusVisible') return 'focus-visible';
85
+ return key;
86
+ };
87
+
88
+ const formatStateDecls = (rules) =>
89
+ Object.entries(rules)
90
+ .map(([prop, val]) => `${kebab(prop)}: ${val}`)
91
+ .join('; ');
92
+
82
93
  const SEMANTIC_PREFIXES = ['--text-', '--background-', '--border-'];
83
94
  const isSemanticVar = (key) => SEMANTIC_PREFIXES.some((p) => key.startsWith(p));
84
95
  const pickSemantic = (vars) =>
@@ -122,10 +133,24 @@ const emitComponentClasses = (indent = ' ') => {
122
133
  lines.push('');
123
134
  lines.push(`${indent}/* ── Texts ── */`);
124
135
  for (const [key, bundle] of Object.entries(textsData)) {
125
- const decls = Object.keys(bundle)
136
+ const baseProps = Object.keys(bundle).filter((prop) => prop !== 'states');
137
+ const decls = baseProps
126
138
  .map((prop) => `${kebab(prop)}: var(--${key}-${kebab(prop)});`)
127
139
  .join(' ');
128
140
  lines.push(`${indent}.${key} { ${decls} }`);
141
+
142
+ if (bundle.states) {
143
+ for (const [pseudo, rules] of Object.entries(bundle.states)) {
144
+ const pseudoSuffix = pseudoClassName(pseudo);
145
+ lines.push(`${indent}.${key}:${pseudoSuffix} { ${formatStateDecls(rules)}; }`);
146
+ }
147
+ }
148
+
149
+ if (bundle.transition) {
150
+ lines.push(`${indent}@media (prefers-reduced-motion: reduce) {`);
151
+ lines.push(`${indent} .${key} { transition: none; }`);
152
+ lines.push(`${indent}}`);
153
+ }
129
154
  }
130
155
 
131
156
  return lines.join('\n');
@@ -227,6 +252,7 @@ const buildPresetData = () => {
227
252
  const fontSize = {};
228
253
  for (const [key, bundle] of Object.entries(textsData)) {
229
254
  if (!('fontSize' in bundle)) continue;
255
+ if (bundle.fontSize === 'inherit') continue;
230
256
  const meta = {};
231
257
  if ('lineHeight' in bundle) meta.lineHeight = `var(--${key}-line-height)`;
232
258
  if ('letterSpacing' in bundle) meta.letterSpacing = `var(--${key}-letter-spacing)`;
@@ -0,0 +1,7 @@
1
+ export function createCssVars(): {
2
+ light: {};
3
+ dark: {};
4
+ };
5
+ export function cssVarsString(): string;
6
+ export function injectCssVars(): HTMLStyleElement;
7
+ //# sourceMappingURL=css-vars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-vars.d.ts","sourceRoot":"","sources":["css-vars.js"],"names":[],"mappings":"AAYO;;;EAQH;AAEG,wCAWN;AAEM,kDAMN"}
@@ -0,0 +1,5 @@
1
+ export function tokenRef(path: any): {
2
+ __ref: any;
3
+ };
4
+ export function isTokenRef(value: any): boolean;
5
+ //# sourceMappingURL=refs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["refs.js"],"names":[],"mappings":"AAIO;;EAA4C;AAE5C,gDAA6F"}
@@ -0,0 +1,5 @@
1
+ export function resolveRefsToCssVars(tokens: any): {
2
+ light: {};
3
+ dark: {};
4
+ };
5
+ //# sourceMappingURL=resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["resolve.js"],"names":[],"mappings":"AAiCO;;;EAsEN"}
@@ -37,6 +37,9 @@
37
37
  <p class="text-heading-sm">heading-sm — responsive</p>
38
38
  <p class="text-body-lg">body-lg — sm only at md</p>
39
39
  <p class="text-body-md">body-md — static</p>
40
+ <p class="text-body-md">
41
+ body-md with <a href="#" class="text-link">inline text-link</a>
42
+ </p>
40
43
  <p class="text-overline-md">overline-md — sm only at sm</p>
41
44
  </section>
42
45
 
@@ -310,6 +310,23 @@ Only useful if you can't precompile and import `globals.css` — production usag
310
310
 
311
311
  2. Rebuild. `build-tokens.mjs` emits the base var in `:root`, per-breakpoint `@media` overrides, **and** a matching `.gap-2xl { gap: var(--gap-2xl) }` utility.
312
312
 
313
+ For typography bundles that need hover/focus without Tailwind utilities, add an optional `states` object (not flattened to CSS vars). Example — inline prose links in `texts.data.js`:
314
+
315
+ ```js
316
+ 'text-link': {
317
+ fontSize: 'inherit',
318
+ lineHeight: 'inherit',
319
+ color: 'var(--text-link)',
320
+ transition: 'color 150ms ease-out',
321
+ states: {
322
+ hover: { color: 'var(--text-link-hover)', textDecoration: 'underline' },
323
+ 'focus-visible': { outline: '2px solid var(--ring-color)', outlineOffset: '2px' },
324
+ },
325
+ },
326
+ ```
327
+
328
+ Bundles with `fontSize: 'inherit'` are omitted from the Tailwind `fontSize` preset (avoids clashing with `textColor.link` → class `text-link`). Interaction styles are emitted under `@layer components` as `.text-link:hover`, etc.
329
+
313
330
  ---
314
331
 
315
332
  ## 🔗 Token references (`tokenRef`)
@@ -0,0 +1,6 @@
1
+ export * from "./primitives/colors/colors.js";
2
+ export * from "./semantic/colors.js";
3
+ export * from "./theme.js";
4
+ export { textsData } from "./semantic/texts.data.js";
5
+ export { createCssVars, cssVarsString, injectCssVars } from "../scripts/css-vars.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":""}
@@ -5,4 +5,5 @@
5
5
  export { createCssVars, cssVarsString, injectCssVars } from '../scripts/css-vars.js';
6
6
  export * from './primitives/colors/colors.js';
7
7
  export * from './semantic/colors.js';
8
+ export { textsData } from './semantic/texts.data.js';
8
9
  export * from './theme.js';
@@ -0,0 +1,29 @@
1
+ export const curve: {
2
+ 'productive-entrance': string;
3
+ 'productive-exit': string;
4
+ 'expressive-entrance': string;
5
+ 'expressive-exit': string;
6
+ };
7
+ export const duration: {
8
+ 'fast-01': string;
9
+ 'fast-02': string;
10
+ 'moderate-01': string;
11
+ 'moderate-02': string;
12
+ 'slow-01': string;
13
+ 'slow-02': string;
14
+ };
15
+ export const animate: {
16
+ spin: string;
17
+ ping: string;
18
+ pulse: string;
19
+ bounce: string;
20
+ 'popup-scale-in': string;
21
+ 'popup-scale-out': string;
22
+ };
23
+ declare namespace _default {
24
+ export { animate };
25
+ export { curve };
26
+ export { duration };
27
+ }
28
+ export default _default;
29
+ //# sourceMappingURL=animate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animate.d.ts","sourceRoot":"","sources":["animate.js"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF;;;;;;;EAOE;AAEF;;;;;;;EAOE"}
@@ -0,0 +1,10 @@
1
+ export const ease: {
2
+ in: string;
3
+ out: string;
4
+ 'in-out': string;
5
+ };
6
+ declare namespace _default {
7
+ export { ease };
8
+ }
9
+ export default _default;
10
+ //# sourceMappingURL=ease.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ease.d.ts","sourceRoot":"","sources":["ease.js"],"names":[],"mappings":"AAAA;;;;EAIE"}
@@ -0,0 +1,12 @@
1
+ export const borderWidths: {
2
+ 0: string;
3
+ 1: string;
4
+ 2: string;
5
+ 3: string;
6
+ 4: string;
7
+ };
8
+ declare namespace _default {
9
+ export { borderWidths };
10
+ }
11
+ export default _default;
12
+ //# sourceMappingURL=border-widths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"border-widths.d.ts","sourceRoot":"","sources":["border-widths.js"],"names":[],"mappings":"AAAA;;;;;;EAME"}
@@ -0,0 +1,12 @@
1
+ export const breakpoints: {
2
+ sm: string;
3
+ md: string;
4
+ lg: string;
5
+ xl: string;
6
+ '2xl': string;
7
+ };
8
+ declare namespace _default {
9
+ export { breakpoints };
10
+ }
11
+ export default _default;
12
+ //# sourceMappingURL=breakpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breakpoints.d.ts","sourceRoot":"","sources":["breakpoints.js"],"names":[],"mappings":"AAAA;;;;;;EAME"}