@aziontech/theme 2.2.1 → 2.3.1

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 (116) hide show
  1. package/dist/v3/globals.css +11 -0
  2. package/dist/v3/globals.scss +11 -0
  3. package/dist/v4/globals.css +11 -0
  4. package/dist/v4/globals.scss +11 -0
  5. package/package.json +11 -6
  6. package/src/scripts/build-tokens.mjs +27 -1
  7. package/src/scripts/css-vars.d.ts +7 -0
  8. package/src/scripts/css-vars.d.ts.map +1 -0
  9. package/src/scripts/refs.d.ts +5 -0
  10. package/src/scripts/refs.d.ts.map +1 -0
  11. package/src/scripts/resolve.d.ts +5 -0
  12. package/src/scripts/resolve.d.ts.map +1 -0
  13. package/src/tests/tokens.html +3 -0
  14. package/src/tokens/README.md +17 -0
  15. package/src/tokens/index.d.ts +6 -0
  16. package/src/tokens/index.d.ts.map +1 -0
  17. package/src/tokens/index.js +1 -0
  18. package/src/tokens/primitives/animations/animate.d.ts +29 -0
  19. package/src/tokens/primitives/animations/animate.d.ts.map +1 -0
  20. package/src/tokens/primitives/animations/ease.d.ts +10 -0
  21. package/src/tokens/primitives/animations/ease.d.ts.map +1 -0
  22. package/src/tokens/primitives/border-widths.d.ts +12 -0
  23. package/src/tokens/primitives/border-widths.d.ts.map +1 -0
  24. package/src/tokens/primitives/breakpoints.d.ts +12 -0
  25. package/src/tokens/primitives/breakpoints.d.ts.map +1 -0
  26. package/src/tokens/primitives/colors/alpha.d.ts +109 -0
  27. package/src/tokens/primitives/colors/alpha.d.ts.map +1 -0
  28. package/src/tokens/primitives/colors/brand.d.ts +46 -0
  29. package/src/tokens/primitives/colors/brand.d.ts.map +1 -0
  30. package/src/tokens/primitives/colors/colors.d.ts +141 -0
  31. package/src/tokens/primitives/colors/colors.d.ts.map +1 -0
  32. package/src/tokens/primitives/effects/blur.d.ts +14 -0
  33. package/src/tokens/primitives/effects/blur.d.ts.map +1 -0
  34. package/src/tokens/primitives/effects/drop-shadow.d.ts +13 -0
  35. package/src/tokens/primitives/effects/drop-shadow.d.ts.map +1 -0
  36. package/src/tokens/primitives/effects/inset-shadow.d.ts +10 -0
  37. package/src/tokens/primitives/effects/inset-shadow.d.ts.map +1 -0
  38. package/src/tokens/primitives/effects/opacity.d.ts +11 -0
  39. package/src/tokens/primitives/effects/opacity.d.ts.map +1 -0
  40. package/src/tokens/primitives/effects/perspective.d.ts +12 -0
  41. package/src/tokens/primitives/effects/perspective.d.ts.map +1 -0
  42. package/src/tokens/primitives/effects/shadow.d.ts +14 -0
  43. package/src/tokens/primitives/effects/shadow.d.ts.map +1 -0
  44. package/src/tokens/primitives/ring-offset.d.ts +8 -0
  45. package/src/tokens/primitives/ring-offset.d.ts.map +1 -0
  46. package/src/tokens/primitives/shape/aspect-video.d.ts +6 -0
  47. package/src/tokens/primitives/shape/aspect-video.d.ts.map +1 -0
  48. package/src/tokens/primitives/shape/container.d.ts +20 -0
  49. package/src/tokens/primitives/shape/container.d.ts.map +1 -0
  50. package/src/tokens/primitives/shape/height.d.ts +35 -0
  51. package/src/tokens/primitives/shape/height.d.ts.map +1 -0
  52. package/src/tokens/primitives/shape/radius.d.ts +16 -0
  53. package/src/tokens/primitives/shape/radius.d.ts.map +1 -0
  54. package/src/tokens/primitives/shape/shape.d.ts +12 -0
  55. package/src/tokens/primitives/shape/shape.d.ts.map +1 -0
  56. package/src/tokens/primitives/shape/size.d.ts +35 -0
  57. package/src/tokens/primitives/shape/size.d.ts.map +1 -0
  58. package/src/tokens/primitives/shape/spacing.d.ts +36 -0
  59. package/src/tokens/primitives/shape/spacing.d.ts.map +1 -0
  60. package/src/tokens/primitives/shape/width.d.ts +46 -0
  61. package/src/tokens/primitives/shape/width.d.ts.map +1 -0
  62. package/src/tokens/primitives/typography/font-family.d.ts +10 -0
  63. package/src/tokens/primitives/typography/font-family.d.ts.map +1 -0
  64. package/src/tokens/primitives/typography/font-size.d.ts +33 -0
  65. package/src/tokens/primitives/typography/font-size.d.ts.map +1 -0
  66. package/src/tokens/primitives/typography/font-weight.d.ts +16 -0
  67. package/src/tokens/primitives/typography/font-weight.d.ts.map +1 -0
  68. package/src/tokens/primitives/typography/leading.d.ts +12 -0
  69. package/src/tokens/primitives/typography/leading.d.ts.map +1 -0
  70. package/src/tokens/primitives/typography/line-height.d.ts +16 -0
  71. package/src/tokens/primitives/typography/line-height.d.ts.map +1 -0
  72. package/src/tokens/primitives/typography/tracking.d.ts +13 -0
  73. package/src/tokens/primitives/typography/tracking.d.ts.map +1 -0
  74. package/src/tokens/semantic/animations.d.ts +3 -0
  75. package/src/tokens/semantic/animations.d.ts.map +1 -0
  76. package/src/tokens/semantic/colors.d.ts +296 -0
  77. package/src/tokens/semantic/colors.d.ts.map +1 -0
  78. package/src/tokens/semantic/containers.d.ts +3 -0
  79. package/src/tokens/semantic/containers.d.ts.map +1 -0
  80. package/src/tokens/semantic/containers.data.d.ts +32 -0
  81. package/src/tokens/semantic/containers.data.d.ts.map +1 -0
  82. package/src/tokens/semantic/spacings.d.ts +3 -0
  83. package/src/tokens/semantic/spacings.d.ts.map +1 -0
  84. package/src/tokens/semantic/spacings.data.d.ts +39 -0
  85. package/src/tokens/semantic/spacings.data.d.ts.map +1 -0
  86. package/src/tokens/semantic/texts.d.ts +3 -0
  87. package/src/tokens/semantic/texts.d.ts.map +1 -0
  88. package/src/tokens/semantic/texts.data.d.ts +176 -0
  89. package/src/tokens/semantic/texts.data.d.ts.map +1 -0
  90. package/src/tokens/semantic/texts.data.js +21 -0
  91. package/src/tokens/theme/accent.d.ts +35 -0
  92. package/src/tokens/theme/accent.d.ts.map +1 -0
  93. package/src/tokens/theme/background.d.ts +77 -0
  94. package/src/tokens/theme/background.d.ts.map +1 -0
  95. package/src/tokens/theme/border.d.ts +35 -0
  96. package/src/tokens/theme/border.d.ts.map +1 -0
  97. package/src/tokens/theme/feedback/danger.d.ts +29 -0
  98. package/src/tokens/theme/feedback/danger.d.ts.map +1 -0
  99. package/src/tokens/theme/feedback/info.d.ts +29 -0
  100. package/src/tokens/theme/feedback/info.d.ts.map +1 -0
  101. package/src/tokens/theme/feedback/success.d.ts +29 -0
  102. package/src/tokens/theme/feedback/success.d.ts.map +1 -0
  103. package/src/tokens/theme/feedback/warning.d.ts +29 -0
  104. package/src/tokens/theme/feedback/warning.d.ts.map +1 -0
  105. package/src/tokens/theme/primary.d.ts +35 -0
  106. package/src/tokens/theme/primary.d.ts.map +1 -0
  107. package/src/tokens/theme/ring.d.ts +17 -0
  108. package/src/tokens/theme/ring.d.ts.map +1 -0
  109. package/src/tokens/theme/secondary.d.ts +35 -0
  110. package/src/tokens/theme/secondary.d.ts.map +1 -0
  111. package/src/tokens/theme/surfaces.d.ts +47 -0
  112. package/src/tokens/theme/surfaces.d.ts.map +1 -0
  113. package/src/tokens/theme/text.d.ts +41 -0
  114. package/src/tokens/theme/text.d.ts.map +1 -0
  115. package/src/tokens/theme.d.ts +171 -0
  116. package/src/tokens/theme.d.ts.map +1 -0
@@ -534,6 +534,11 @@
534
534
  --text-button-md-font-weight: 600;
535
535
  --text-button-md-line-height: 1;
536
536
  --text-button-md-letter-spacing: 0;
537
+ --text-link-font-size: inherit;
538
+ --text-link-line-height: inherit;
539
+ --text-link-color: var(--text-link);
540
+ --text-link-border-radius: var(--shape-elements);
541
+ --text-link-transition: all 110ms cubic-bezier(0.39, 0.57, 0.56, 1);
537
542
 
538
543
  /* ── Semantic colors ── */
539
544
  --text-default: #141414;
@@ -835,4 +840,10 @@
835
840
  .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); }
836
841
  .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); }
837
842
  .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); }
843
+ .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); }
844
+ .text-link:hover { color: var(--text-link-hover); text-decoration: underline; }
845
+ .text-link:focus-visible { outline: 2px solid var(--ring-color); outline-offset: 2px; }
846
+ @media (prefers-reduced-motion: reduce) {
847
+ .text-link { transition: none; }
848
+ }
838
849
  }
@@ -534,6 +534,11 @@
534
534
  --text-button-md-font-weight: 600;
535
535
  --text-button-md-line-height: 1;
536
536
  --text-button-md-letter-spacing: 0;
537
+ --text-link-font-size: inherit;
538
+ --text-link-line-height: inherit;
539
+ --text-link-color: var(--text-link);
540
+ --text-link-border-radius: var(--shape-elements);
541
+ --text-link-transition: all 110ms cubic-bezier(0.39, 0.57, 0.56, 1);
537
542
 
538
543
  /* ── Semantic colors ── */
539
544
  --text-default: #141414;
@@ -835,4 +840,10 @@
835
840
  .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); }
836
841
  .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); }
837
842
  .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); }
843
+ .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); }
844
+ .text-link:hover { color: var(--text-link-hover); text-decoration: underline; }
845
+ .text-link:focus-visible { outline: 2px solid var(--ring-color); outline-offset: 2px; }
846
+ @media (prefers-reduced-motion: reduce) {
847
+ .text-link { transition: none; }
848
+ }
838
849
  }
@@ -529,6 +529,11 @@
529
529
  --text-button-md-font-weight: 600;
530
530
  --text-button-md-line-height: 1;
531
531
  --text-button-md-letter-spacing: 0;
532
+ --text-link-font-size: inherit;
533
+ --text-link-line-height: inherit;
534
+ --text-link-color: var(--text-link);
535
+ --text-link-border-radius: var(--shape-elements);
536
+ --text-link-transition: all 110ms cubic-bezier(0.39, 0.57, 0.56, 1);
532
537
 
533
538
  @media (min-width: 640px) {
534
539
  --container-px: 2.5rem;
@@ -613,4 +618,10 @@
613
618
  .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); }
614
619
  .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); }
615
620
  .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); }
621
+ .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); }
622
+ .text-link:hover { color: var(--text-link-hover); text-decoration: underline; }
623
+ .text-link:focus-visible { outline: 2px solid var(--ring-color); outline-offset: 2px; }
624
+ @media (prefers-reduced-motion: reduce) {
625
+ .text-link { transition: none; }
626
+ }
616
627
  }
@@ -529,6 +529,11 @@
529
529
  --text-button-md-font-weight: 600;
530
530
  --text-button-md-line-height: 1;
531
531
  --text-button-md-letter-spacing: 0;
532
+ --text-link-font-size: inherit;
533
+ --text-link-line-height: inherit;
534
+ --text-link-color: var(--text-link);
535
+ --text-link-border-radius: var(--shape-elements);
536
+ --text-link-transition: all 110ms cubic-bezier(0.39, 0.57, 0.56, 1);
532
537
 
533
538
  @media (min-width: 640px) {
534
539
  --container-px: 2.5rem;
@@ -613,4 +618,10 @@
613
618
  .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); }
614
619
  .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); }
615
620
  .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); }
621
+ .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); }
622
+ .text-link:hover { color: var(--text-link-hover); text-decoration: underline; }
623
+ .text-link:focus-visible { outline: 2px solid var(--ring-color); outline-offset: 2px; }
624
+ @media (prefers-reduced-motion: reduce) {
625
+ .text-link { transition: none; }
626
+ }
616
627
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aziontech/theme",
3
3
  "type": "module",
4
- "version": "2.2.1",
4
+ "version": "2.3.1",
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",
@@ -54,12 +60,11 @@
54
60
  "exports": {
55
61
  ".": "./default.js",
56
62
  "./animations": "./src/tokens/primitives/animations/animate.js",
57
- "./scripts/compile-primitives": "./src/scripts/compile-primitives.js",
58
- "./scripts/compile-theme": "./src/scripts/compile-theme.js",
59
63
  "./tailwind-preset": "./dist/v3/tailwind-preset.js",
60
64
  "./tailwind-preset/v3": "./dist/v3/tailwind-preset.js",
61
65
  "./tailwind/semantic-spacings-plugin": "./src/tokens/semantic/spacings.js",
62
66
  "./tailwind/semantic-texts-plugin": "./src/tokens/semantic/texts.js",
67
+ "./tokens/semantic/texts.data": "./src/tokens/semantic/texts.data.js",
63
68
  "./tailwind/semantic-animations-plugin": "./src/tokens/semantic/animations.js",
64
69
  "./globals.css": "./dist/v3/globals.css",
65
70
  "./globals.scss": "./dist/v3/globals.scss",
@@ -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"}
@@ -0,0 +1,109 @@
1
+ export namespace alpha {
2
+ let violet: {
3
+ '50': string;
4
+ '100': string;
5
+ '200': string;
6
+ '300': string;
7
+ '400': string;
8
+ '500': string;
9
+ '600': string;
10
+ '700': string;
11
+ '800': string;
12
+ '900': string;
13
+ };
14
+ let orange: {
15
+ '50': string;
16
+ '100': string;
17
+ '200': string;
18
+ '300': string;
19
+ '400': string;
20
+ '500': string;
21
+ '600': string;
22
+ '700': string;
23
+ '800': string;
24
+ '900': string;
25
+ };
26
+ let white: {
27
+ '50': string;
28
+ '100': string;
29
+ '200': string;
30
+ '300': string;
31
+ '400': string;
32
+ '500': string;
33
+ '600': string;
34
+ '700': string;
35
+ '800': string;
36
+ '900': string;
37
+ };
38
+ let black: {
39
+ '50': string;
40
+ '100': string;
41
+ '200': string;
42
+ '300': string;
43
+ '400': string;
44
+ '500': string;
45
+ '600': string;
46
+ '700': string;
47
+ '800': string;
48
+ '900': string;
49
+ };
50
+ let green: {
51
+ '50': string;
52
+ '100': string;
53
+ '200': string;
54
+ '300': string;
55
+ '400': string;
56
+ '500': string;
57
+ '600': string;
58
+ '700': string;
59
+ '800': string;
60
+ '900': string;
61
+ };
62
+ let red: {
63
+ '50': string;
64
+ '100': string;
65
+ '200': string;
66
+ '300': string;
67
+ '400': string;
68
+ '500': string;
69
+ '600': string;
70
+ '700': string;
71
+ '800': string;
72
+ '900': string;
73
+ };
74
+ let yellow: {
75
+ '50': string;
76
+ '100': string;
77
+ '200': string;
78
+ '300': string;
79
+ '400': string;
80
+ '500': string;
81
+ '600': string;
82
+ '700': string;
83
+ '800': string;
84
+ '900': string;
85
+ };
86
+ let blue: {
87
+ '50': string;
88
+ '100': string;
89
+ '200': string;
90
+ '300': string;
91
+ '400': string;
92
+ '500': string;
93
+ '600': string;
94
+ '700': string;
95
+ '800': string;
96
+ '900': string;
97
+ };
98
+ namespace absolute {
99
+ let black_1: string;
100
+ export { black_1 as black };
101
+ let white_1: string;
102
+ export { white_1 as white };
103
+ }
104
+ }
105
+ declare namespace _default {
106
+ export { alpha };
107
+ }
108
+ export default _default;
109
+ //# sourceMappingURL=alpha.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alpha.d.ts","sourceRoot":"","sources":["alpha.js"],"names":[],"mappings":""}
@@ -0,0 +1,46 @@
1
+ export namespace brand {
2
+ let primary: {
3
+ '50': string;
4
+ '100': string;
5
+ '200': string;
6
+ '300': string;
7
+ '400': string;
8
+ '500': string;
9
+ '600': string;
10
+ '700': string;
11
+ '800': string;
12
+ '900': string;
13
+ '950': string;
14
+ };
15
+ let accent: {
16
+ '50': string;
17
+ '100': string;
18
+ '200': string;
19
+ '300': string;
20
+ '400': string;
21
+ '500': string;
22
+ '600': string;
23
+ '700': string;
24
+ '800': string;
25
+ '900': string;
26
+ '950': string;
27
+ };
28
+ namespace absolute {
29
+ let black: string;
30
+ let white: string;
31
+ }
32
+ }
33
+ export namespace brandPrimitives {
34
+ import primary_1 = brand.primary;
35
+ export { primary_1 as primary };
36
+ import accent_1 = brand.accent;
37
+ export { accent_1 as accent };
38
+ import absolute_1 = brand.absolute;
39
+ export { absolute_1 as absolute };
40
+ }
41
+ declare namespace _default {
42
+ export { brand };
43
+ export { brandPrimitives };
44
+ }
45
+ export default _default;
46
+ //# sourceMappingURL=brand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["brand.js"],"names":[],"mappings":""}