@esportsplus/ui 0.53.0 → 0.55.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.
Files changed (328) hide show
  1. package/README.md +51 -6
  2. package/build/components/accordion/index.d.ts +714 -23
  3. package/build/components/accordion/index.js +22 -11
  4. package/build/components/accordion/scss/index.scss +1 -1
  5. package/build/components/anchor/scss/index.scss +1 -1
  6. package/build/components/button/scss/index.scss +1 -1
  7. package/build/components/card/scss/index.scss +1 -1
  8. package/build/components/checkbox/constants.d.ts +2 -0
  9. package/build/components/checkbox/constants.js +2 -0
  10. package/build/components/checkbox/index.d.ts +16 -10
  11. package/build/components/checkbox/index.js +53 -39
  12. package/build/components/checkbox/scss/index.scss +1 -1
  13. package/build/components/checkbox/svg/check.svg +1 -0
  14. package/build/components/clipboard/copy.d.ts +11 -0
  15. package/build/components/clipboard/copy.js +54 -0
  16. package/build/components/clipboard/index.d.ts +1435 -1229
  17. package/build/components/clipboard/index.js +3 -2
  18. package/build/components/clipboard/onclick.d.ts +4 -38
  19. package/build/components/clipboard/onclick.js +10 -12
  20. package/build/components/counter/index.d.ts +1 -1
  21. package/build/components/counter/index.js +59 -71
  22. package/build/components/counter/scss/index.scss +1 -1
  23. package/build/components/form/action.d.ts +1 -1
  24. package/build/components/form/action.js +9 -12
  25. package/build/components/form/index.d.ts +5 -5
  26. package/build/components/form/input.d.ts +4 -4
  27. package/build/components/grid/scss/index.scss +1 -1
  28. package/build/components/icon/index.d.ts +2 -19
  29. package/build/components/icon/index.js +6 -6
  30. package/build/components/icon/scss/index.scss +1 -1
  31. package/build/components/index.d.ts +0 -7
  32. package/build/components/index.js +0 -7
  33. package/build/components/input/index.d.ts +1 -1
  34. package/build/components/input/index.js +12 -13
  35. package/build/components/input/scss/index.scss +1 -1
  36. package/build/components/link/scss/index.scss +1 -1
  37. package/build/components/loading/index.js +5 -5
  38. package/build/components/modal/scss/index.scss +1 -1
  39. package/build/components/normalize/scss/index.scss +1 -1
  40. package/build/components/overlay/index.d.ts +2 -19
  41. package/build/components/overlay/index.js +7 -7
  42. package/build/components/page/scss/index.scss +1 -1
  43. package/build/components/radio/index.d.ts +3 -10
  44. package/build/components/radio/index.js +2 -2
  45. package/build/components/range/index.d.ts +1 -1
  46. package/build/components/range/index.js +13 -13
  47. package/build/components/range/scss/index.scss +1 -1
  48. package/build/components/root/scss/index.scss +1 -1
  49. package/build/components/select/constants.d.ts +4 -0
  50. package/build/components/select/constants.js +4 -0
  51. package/build/components/select/index.d.ts +15 -52
  52. package/build/components/select/index.js +65 -94
  53. package/build/components/select/scss/index.scss +1 -1
  54. package/build/components/sidebar/index.d.ts +2 -19
  55. package/build/components/sidebar/index.js +7 -7
  56. package/build/components/sidebar/scss/index.scss +1 -1
  57. package/build/components/switch/index.d.ts +3 -10
  58. package/build/components/switch/index.js +2 -2
  59. package/build/components/tabs/scss/index.scss +2 -0
  60. package/build/components/text/scss/index.scss +1 -1
  61. package/build/components/textarea/index.d.ts +719 -6
  62. package/build/components/textarea/index.js +36 -17
  63. package/build/components/textarea/scss/index.scss +1 -1
  64. package/build/components/toast/index.js +43 -43
  65. package/build/components/toast/scss/index.scss +1 -1
  66. package/build/components/tooltip/constants.d.ts +3 -0
  67. package/build/components/tooltip/constants.js +3 -0
  68. package/build/components/tooltip/index.d.ts +8 -2546
  69. package/build/components/tooltip/index.js +2 -1
  70. package/build/components/tooltip/menu.d.ts +9 -21
  71. package/build/components/tooltip/menu.js +26 -29
  72. package/build/components/tooltip/onclick.d.ts +717 -1229
  73. package/build/components/tooltip/onclick.js +18 -60
  74. package/build/components/tooltip/onhover.d.ts +716 -20
  75. package/build/components/tooltip/onhover.js +14 -19
  76. package/build/components/tooltip/scss/index.scss +1 -1
  77. package/build/components/typewriter/index.d.ts +2 -19
  78. package/build/components/typewriter/index.js +8 -8
  79. package/build/css-utilities/background/scss/index.scss +1 -1
  80. package/build/css-utilities/border/scss/index.scss +1 -1
  81. package/build/css-utilities/color/scss/index.scss +1 -1
  82. package/build/css-utilities/font/geist/scss/Geist-Italic-Variable.woff2 +0 -0
  83. package/build/css-utilities/font/geist/scss/Geist-Variable.woff2 +0 -0
  84. package/build/css-utilities/font/geist/scss/GeistMono-Italic-Variable.woff2 +0 -0
  85. package/build/css-utilities/font/geist/scss/GeistMono-Variable.woff2 +0 -0
  86. package/build/css-utilities/font/geist/scss/index.scss +2 -0
  87. package/build/css-utilities/font/montserrat/index.d.ts +1 -0
  88. package/build/css-utilities/font/montserrat/index.js +1 -0
  89. package/build/css-utilities/font/montserrat/scss/index.scss +2 -0
  90. package/build/css-utilities/index.scss +1 -1
  91. package/build/css-utilities/inline/scss/index.scss +1 -1
  92. package/build/css-utilities/scrollbar/scss/index.scss +1 -1
  93. package/build/css-utilities/tabular/scss/index.scss +2 -0
  94. package/build/css-utilities/text/scss/index.scss +1 -1
  95. package/build/themes/dark/index.d.ts +0 -1
  96. package/build/themes/dark/index.js +0 -1
  97. package/build/themes/dark/input.d.ts +709 -115
  98. package/build/themes/dark/select.d.ts +3 -1409
  99. package/build/themes/dark/select.js +12 -9
  100. package/build/themes/dark/textarea.d.ts +716 -119
  101. package/package.json +12 -12
  102. package/pnpm-workspace.yaml +4 -3
  103. package/scripts/css-variables.test.mjs +50 -0
  104. package/scripts/sort-scss.md +57 -0
  105. package/scripts/sort-scss.mjs +233 -0
  106. package/scripts/sort-scss.test.mjs +217 -0
  107. package/src/components/accordion/index.ts +7 -14
  108. package/src/components/accordion/scss/index.scss +3 -1
  109. package/src/components/anchor/scss/index.scss +2 -2
  110. package/src/components/button/scss/index.scss +23 -57
  111. package/src/components/button/scss/variables.scss +1 -19
  112. package/src/components/card/scss/index.scss +11 -46
  113. package/src/components/card/scss/variables.scss +1 -2
  114. package/src/components/checkbox/constants.ts +4 -0
  115. package/src/components/checkbox/index.ts +20 -35
  116. package/src/components/checkbox/scss/index.scss +86 -28
  117. package/src/components/checkbox/scss/variables.scss +71 -30
  118. package/src/components/checkbox/svg/check.svg +1 -0
  119. package/src/components/clipboard/copy.ts +55 -0
  120. package/src/components/clipboard/index.ts +3 -2
  121. package/src/components/clipboard/onclick.ts +4 -9
  122. package/src/components/counter/index.ts +57 -66
  123. package/src/components/counter/scss/index.scss +4 -5
  124. package/src/components/counter/scss/variables.scss +0 -1
  125. package/src/components/form/action.ts +2 -8
  126. package/src/components/form/input.ts +4 -3
  127. package/src/components/grid/scss/index.scss +1 -1
  128. package/src/components/icon/scss/variables.scss +0 -1
  129. package/src/components/index.ts +1 -8
  130. package/src/components/input/index.ts +8 -6
  131. package/src/components/input/scss/index.scss +8 -7
  132. package/src/components/input/scss/variables.scss +0 -1
  133. package/src/components/link/scss/index.scss +9 -34
  134. package/src/components/link/scss/variables.scss +0 -12
  135. package/src/components/modal/scss/index.scss +4 -4
  136. package/src/components/normalize/scss/index.scss +0 -1
  137. package/src/components/page/scss/index.scss +0 -6
  138. package/src/components/page/scss/variables.scss +0 -2
  139. package/src/components/radio/index.ts +5 -3
  140. package/src/components/range/index.ts +1 -1
  141. package/src/components/range/scss/index.scss +5 -5
  142. package/src/components/root/scss/index.scss +37 -63
  143. package/src/components/root/scss/variables.scss +37 -67
  144. package/src/components/select/constants.ts +8 -0
  145. package/src/components/select/index.ts +49 -70
  146. package/src/components/select/scss/index.scss +10 -7
  147. package/src/components/select/scss/variables.scss +0 -1
  148. package/src/components/sidebar/scss/index.scss +3 -3
  149. package/src/components/switch/index.ts +5 -3
  150. package/src/components/tabs/scss/index.scss +62 -0
  151. package/src/components/tabs/scss/variables.scss +4 -0
  152. package/src/components/text/scss/index.scss +8 -1
  153. package/src/components/text/scss/variables.scss +5 -3
  154. package/src/components/textarea/index.ts +45 -13
  155. package/src/components/textarea/scss/index.scss +24 -13
  156. package/src/components/textarea/scss/variables.scss +0 -1
  157. package/src/components/toast/scss/index.scss +1 -1
  158. package/src/components/tooltip/constants.ts +6 -0
  159. package/src/components/tooltip/index.ts +4 -1
  160. package/src/components/tooltip/menu.ts +18 -29
  161. package/src/components/tooltip/onclick.ts +21 -88
  162. package/src/components/tooltip/onhover.ts +18 -29
  163. package/src/components/tooltip/scss/index.scss +2 -3
  164. package/src/css-utilities/background/scss/variables.scss +2 -2
  165. package/src/css-utilities/border/scss/index.scss +1 -27
  166. package/src/css-utilities/border/scss/variables.scss +3 -34
  167. package/src/css-utilities/color/scss/variables.scss +2 -6
  168. package/src/css-utilities/font/geist/scss/Geist-Italic-Variable.woff2 +0 -0
  169. package/src/css-utilities/font/geist/scss/Geist-Variable.woff2 +0 -0
  170. package/src/css-utilities/font/geist/scss/GeistMono-Italic-Variable.woff2 +0 -0
  171. package/src/css-utilities/font/geist/scss/GeistMono-Variable.woff2 +0 -0
  172. package/src/css-utilities/font/geist/scss/index.scss +55 -0
  173. package/src/css-utilities/font/montserrat/index.ts +1 -0
  174. package/src/{fonts → css-utilities/font}/montserrat/scss/index.scss +15 -0
  175. package/src/css-utilities/index.scss +6 -12
  176. package/src/css-utilities/inline/scss/index.scss +0 -1
  177. package/src/css-utilities/scrollbar/scss/index.scss +42 -0
  178. package/src/css-utilities/tabular/scss/index.scss +3 -0
  179. package/src/css-utilities/text/scss/index.scss +30 -71
  180. package/src/lib/scss/css-variables.scss +29 -5
  181. package/src/themes/dark/index.ts +0 -1
  182. package/src/themes/dark/select.ts +14 -9
  183. package/src/tokens/index.scss +1 -3
  184. package/src/tokens/scss/border-radius.scss +1 -6
  185. package/src/tokens/scss/color.scss +3 -3
  186. package/src/tokens/scss/scale.scss +1 -1
  187. package/src/tokens/scss/size.scss +7 -0
  188. package/src/tokens/scss/transition.scss +4 -0
  189. package/storage/svg/arrow-left.svg +1 -0
  190. package/storage/svg/arrow-right.svg +1 -0
  191. package/storage/svg/book.svg +1 -0
  192. package/storage/svg/cube.svg +1 -0
  193. package/storage/svg/github.svg +1 -0
  194. package/storage/svg/info.svg +1 -0
  195. package/storage/svg/palette.svg +1 -0
  196. package/storage/svg/search.svg +2 -0
  197. package/storage/svg/type.svg +1 -0
  198. package/vite.config.ts +8 -3
  199. package/build/components/back/index.d.ts +0 -21
  200. package/build/components/back/index.js +0 -16
  201. package/build/components/back/scss/index.scss +0 -2
  202. package/build/components/back/svg/arrow.svg +0 -15
  203. package/build/components/bubble/scss/index.scss +0 -2
  204. package/build/components/button/index.d.ts +0 -103
  205. package/build/components/button/index.js +0 -60
  206. package/build/components/ellipsis/index.d.ts +0 -4
  207. package/build/components/ellipsis/index.js +0 -8
  208. package/build/components/ellipsis/scss/index.scss +0 -2
  209. package/build/components/frame/index.d.ts +0 -21
  210. package/build/components/frame/index.js +0 -13
  211. package/build/components/frame/scss/index.scss +0 -2
  212. package/build/components/highlight/index.d.ts +0 -22
  213. package/build/components/highlight/index.js +0 -56
  214. package/build/components/highlight/scss/index.scss +0 -2
  215. package/build/components/loader/index.d.ts +0 -22
  216. package/build/components/loader/index.js +0 -78
  217. package/build/components/loader/scss/index.scss +0 -2
  218. package/build/components/radio/scss/index.scss +0 -2
  219. package/build/components/root/index.d.ts +0 -7
  220. package/build/components/root/index.js +0 -4
  221. package/build/components/root/onclick.d.ts +0 -5
  222. package/build/components/root/onclick.js +0 -12
  223. package/build/components/switch/scss/index.scss +0 -2
  224. package/build/css-utilities/[margin,padding]/scss/index.scss +0 -2
  225. package/build/css-utilities/error/scss/index.scss +0 -2
  226. package/build/css-utilities/flicker/scss/index.scss +0 -2
  227. package/build/css-utilities/focus/scss/index.scss +0 -2
  228. package/build/css-utilities/gap/scss/index.scss +0 -2
  229. package/build/css-utilities/line-height/scss/index.scss +0 -2
  230. package/build/css-utilities/pointer/scss/index.scss +0 -2
  231. package/build/css-utilities/scroll-fade/scss/index.scss +0 -2
  232. package/build/css-utilities/size/scss/index.scss +0 -2
  233. package/build/css-utilities/viewport/scss/index.scss +0 -2
  234. package/build/css-utilities/width/scss/index.scss +0 -2
  235. package/build/fonts/index.d.ts +0 -1
  236. package/build/fonts/index.js +0 -1
  237. package/build/fonts/montserrat/scss/index.scss +0 -2
  238. package/build/themes/dark/back.d.ts +0 -19
  239. package/build/themes/dark/back.js +0 -7
  240. package/build/themes/dark/button/scss/index.scss +0 -2
  241. package/build/themes/dark/link/scss/index.scss +0 -2
  242. package/src/components/back/index.ts +0 -20
  243. package/src/components/back/scss/index.scss +0 -17
  244. package/src/components/back/svg/arrow.svg +0 -15
  245. package/src/components/bubble/scss/index.scss +0 -32
  246. package/src/components/bubble/scss/variables.scss +0 -20
  247. package/src/components/button/index.ts +0 -53
  248. package/src/components/ellipsis/index.ts +0 -11
  249. package/src/components/ellipsis/scss/index.scss +0 -30
  250. package/src/components/ellipsis/scss/variables.scss +0 -5
  251. package/src/components/frame/index.ts +0 -13
  252. package/src/components/frame/scss/index.scss +0 -39
  253. package/src/components/frame/scss/variables.scss +0 -4
  254. package/src/components/highlight/index.ts +0 -66
  255. package/src/components/highlight/scss/index.scss +0 -7
  256. package/src/components/highlight/scss/variables.scss +0 -4
  257. package/src/components/loader/index.ts +0 -80
  258. package/src/components/loader/scss/index.scss +0 -71
  259. package/src/components/loader/scss/variables.scss +0 -6
  260. package/src/components/radio/scss/index.scss +0 -50
  261. package/src/components/radio/scss/variables.scss +0 -67
  262. package/src/components/root/index.ts +0 -6
  263. package/src/components/root/onclick.ts +0 -20
  264. package/src/components/switch/scss/index.scss +0 -48
  265. package/src/components/switch/scss/variables.scss +0 -74
  266. package/src/css-utilities/[margin,padding]/scss/index.scss +0 -43
  267. package/src/css-utilities/[margin,padding]/scss/variables.scss +0 -54
  268. package/src/css-utilities/error/scss/index.scss +0 -24
  269. package/src/css-utilities/error/scss/variables.scss +0 -3
  270. package/src/css-utilities/flicker/scss/index.scss +0 -15
  271. package/src/css-utilities/flicker/scss/variables.scss +0 -5
  272. package/src/css-utilities/focus/scss/index.scss +0 -7
  273. package/src/css-utilities/focus/scss/variables.scss +0 -5
  274. package/src/css-utilities/gap/scss/index.scss +0 -13
  275. package/src/css-utilities/gap/scss/variables.scss +0 -39
  276. package/src/css-utilities/line-height/scss/index.scss +0 -1
  277. package/src/css-utilities/line-height/scss/variables.scss +0 -10
  278. package/src/css-utilities/pointer/scss/index.scss +0 -5
  279. package/src/css-utilities/scroll-fade/scss/index.scss +0 -47
  280. package/src/css-utilities/scroll-fade/scss/variables.scss +0 -3
  281. package/src/css-utilities/size/scss/index.scss +0 -1
  282. package/src/css-utilities/size/scss/variables.scss +0 -12
  283. package/src/css-utilities/text/scss/variables.scss +0 -31
  284. package/src/css-utilities/viewport/scss/index.scss +0 -5
  285. package/src/css-utilities/width/scss/index.scss +0 -5
  286. package/src/css-utilities/width/scss/variables.scss +0 -9
  287. package/src/fonts/index.ts +0 -1
  288. package/src/themes/dark/back.ts +0 -9
  289. package/src/themes/dark/button/scss/index.scss +0 -46
  290. package/src/themes/dark/link/scss/index.scss +0 -26
  291. package/src/tokens/scss/font-weight.scss +0 -6
  292. package/src/tokens/scss/line-height.scss +0 -9
  293. package/src/tokens/scss/transition-duration.scss +0 -1
  294. /package/build/{fonts/montserrat → css-utilities/font/geist}/index.d.ts +0 -0
  295. /package/build/{fonts/montserrat → css-utilities/font/geist}/index.js +0 -0
  296. /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Bold.woff +0 -0
  297. /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Bold.woff2 +0 -0
  298. /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-BoldItalic.woff +0 -0
  299. /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-BoldItalic.woff2 +0 -0
  300. /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Italic.woff +0 -0
  301. /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Italic.woff2 +0 -0
  302. /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Medium.woff +0 -0
  303. /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Medium.woff2 +0 -0
  304. /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-MediumItalic.woff +0 -0
  305. /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-MediumItalic.woff2 +0 -0
  306. /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Regular.woff +0 -0
  307. /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Regular.woff2 +0 -0
  308. /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-SemiBold.woff +0 -0
  309. /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-SemiBold.woff2 +0 -0
  310. /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-SemiBoldItalic.woff +0 -0
  311. /package/build/{fonts → css-utilities/font}/montserrat/scss/Montserrat-SemiBoldItalic.woff2 +0 -0
  312. /package/src/{fonts/montserrat → css-utilities/font/geist}/index.ts +0 -0
  313. /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Bold.woff +0 -0
  314. /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Bold.woff2 +0 -0
  315. /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-BoldItalic.woff +0 -0
  316. /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-BoldItalic.woff2 +0 -0
  317. /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Italic.woff +0 -0
  318. /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Italic.woff2 +0 -0
  319. /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Medium.woff +0 -0
  320. /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Medium.woff2 +0 -0
  321. /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-MediumItalic.woff +0 -0
  322. /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-MediumItalic.woff2 +0 -0
  323. /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Regular.woff +0 -0
  324. /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-Regular.woff2 +0 -0
  325. /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-SemiBold.woff +0 -0
  326. /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-SemiBold.woff2 +0 -0
  327. /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-SemiBoldItalic.woff +0 -0
  328. /package/src/{fonts → css-utilities/font}/montserrat/scss/Montserrat-SemiBoldItalic.woff2 +0 -0
package/README.md CHANGED
@@ -14,6 +14,8 @@ pnpm add @esportsplus/ui
14
14
  - `@esportsplus/action` - Response/error handling
15
15
  - `@esportsplus/utilities` - Core utilities
16
16
 
17
+ *https://github.com/Chainlift/liftkit* temporarily trying liftkit rules
18
+
17
19
  ## Quick Start
18
20
 
19
21
  ```typescript
@@ -86,7 +88,7 @@ html`
86
88
  | Component | Description |
87
89
  |-----------|-------------|
88
90
  | `scrollbar` | Native scrollbar styling |
89
- | `frame` | Scrollable frame |
91
+ | `tabs.scss` | Tab panels: instant by default, `tabs--slide` for horizontal motion, `tabs--scroll` for vertical motion |
90
92
  | `sidebar` | Side navigation |
91
93
  | `overlay` | Modal/overlay container |
92
94
 
@@ -99,6 +101,26 @@ html`
99
101
 
100
102
  ## Component Patterns
101
103
 
104
+ ### Tabs
105
+
106
+ Import `@esportsplus/ui/tabs.scss`. Put `.tabs-content` panels inside `.tabs`
107
+ and apply `.--active` to the selected panel. The default switch is instant.
108
+ For motion, add `.tabs--slide` (horizontal) or `.tabs--scroll` (vertical),
109
+ and set `--i` to the negative selected index: `0`, `-1`, `-2`, etc.
110
+
111
+ ```html
112
+ <div style="overflow: hidden; height: 300px;">
113
+ <div class="tabs tabs--scroll" style="--i: -1;">
114
+ <div class="tabs-content" inert aria-hidden="true">First panel</div>
115
+ <div class="tabs-content --active">Second panel</div>
116
+ </div>
117
+ </div>
118
+ ```
119
+
120
+ Animated tracks need a clipping parent; vertical tracks also need a definite
121
+ parent height. Keep inactive panels `inert` and update tab/panel ARIA attributes
122
+ alongside the active class. The docs include reactive switching examples.
123
+
102
124
  ### Factory Pattern
103
125
 
104
126
  Components use `template.factory()` supporting flexible call signatures:
@@ -186,7 +208,7 @@ Located in `tokens.scss`:
186
208
  - **Sizing**: `--size-{300-800}` (12px-80px)
187
209
  - **Spacing**: `--spacing-{0-600}`
188
210
  - **Border**: `--border-radius-{100-900}`, `--border-width-{100-700}`
189
- - **Typography**: `--font-size-*`, `--font-weight-*`, `--line-height-*`
211
+ - **Typography**: `--font-size-*`, `--font-weight-*`; line height adjusts automatically to each element's font size.
190
212
 
191
213
  ### CSS Utilities
192
214
 
@@ -249,12 +271,35 @@ build/
249
271
  │ │ └── scss/index.scss
250
272
  │ └── index.js
251
273
  ├── css-utilities/
252
- ├── themes/
253
- │ ├── dark/
254
- │ └── light/
255
- └── fonts/
274
+ │ └── font/
275
+ └── themes/
276
+ ├── dark/
277
+ └── light/
278
+ ```
279
+
280
+ ## Fonts
281
+
282
+ Import the font stylesheet and apply its family class to `html` or `body`:
283
+
284
+ ```typescript
285
+ import '@esportsplus/ui/css-utilities/font/montserrat.scss';
286
+
287
+ document.documentElement.classList.add('--font-montserrat');
256
288
  ```
257
289
 
290
+ `@esportsplus/ui/css-utilities/font/geist.scss` includes Geist Sans and Geist Mono,
291
+ selected with `--font-geist` and `--font-geist-mono`. The aggregate
292
+ `@esportsplus/ui/css-utilities.scss` includes all three families.
293
+
294
+ Family classes define `--font-family` and their `--font-weight-*` token maps.
295
+ Components consume these variables through their own `font-family` and
296
+ `font-weight` declarations. Nested family classes override the inherited tokens.
297
+ The root component no longer chooses Montserrat automatically.
298
+
299
+ Fonts are bundled as local assets for the consuming app to serve; no runtime CDN
300
+ is required. Geist Sans and Geist Mono include variable weights 100–900 in normal
301
+ and italic styles. The previous `@esportsplus/ui/fonts` entry point has been removed.
302
+
258
303
  ## TypeScript
259
304
 
260
305
  Full type safety with zero `any` types: