@tamagui/themes 2.7.7 → 3.0.0-beta.643.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 (406) hide show
  1. package/dist/cjs/builder.cjs +314 -0
  2. package/dist/cjs/builder.native.cjs +332 -0
  3. package/dist/cjs/builder.native.js +334 -0
  4. package/dist/cjs/builder.native.js.map +1 -0
  5. package/dist/cjs/generated-v5-subtle.cjs +7187 -538
  6. package/dist/cjs/generated-v5-subtle.native.cjs +7221 -0
  7. package/dist/cjs/generated-v5-subtle.native.js +7204 -556
  8. package/dist/cjs/generated-v5-subtle.native.js.map +1 -1
  9. package/dist/cjs/generated-v5.cjs +7205 -538
  10. package/dist/cjs/generated-v5.native.cjs +7239 -0
  11. package/dist/cjs/generated-v5.native.js +7222 -556
  12. package/dist/cjs/generated-v5.native.js.map +1 -1
  13. package/dist/cjs/generated.cjs +1334 -0
  14. package/dist/cjs/generated.native.cjs +1353 -0
  15. package/dist/cjs/generated.native.js +1355 -0
  16. package/dist/cjs/generated.native.js.map +1 -0
  17. package/dist/cjs/index.cjs +23 -19
  18. package/dist/cjs/index.native.cjs +33 -0
  19. package/dist/cjs/index.native.js +24 -19
  20. package/dist/cjs/index.native.js.map +1 -1
  21. package/dist/cjs/tailwind-colors.cjs +314 -0
  22. package/dist/cjs/tailwind-colors.native.cjs +316 -0
  23. package/dist/cjs/tailwind-colors.native.js +318 -0
  24. package/dist/cjs/tailwind-colors.native.js.map +1 -0
  25. package/dist/cjs/themes.generate.cjs +25 -0
  26. package/dist/cjs/themes.generate.native.cjs +27 -0
  27. package/dist/cjs/themes.generate.native.js +29 -0
  28. package/dist/cjs/themes.generate.native.js.map +1 -0
  29. package/dist/cjs/tokens.cjs +39 -152
  30. package/dist/cjs/tokens.native.cjs +53 -0
  31. package/dist/cjs/tokens.native.js +40 -159
  32. package/dist/cjs/tokens.native.js.map +1 -1
  33. package/dist/cjs/utils.cjs +20 -35
  34. package/dist/cjs/utils.native.cjs +34 -0
  35. package/dist/cjs/utils.native.js +21 -38
  36. package/dist/cjs/utils.native.js.map +1 -1
  37. package/dist/cjs/v5-subtle.cjs +16 -26
  38. package/dist/cjs/v5-subtle.native.cjs +31 -0
  39. package/dist/cjs/v5-subtle.native.js +16 -25
  40. package/dist/cjs/v5-subtle.native.js.map +1 -1
  41. package/dist/cjs/v5-tokens.cjs +76 -79
  42. package/dist/cjs/v5-tokens.native.cjs +106 -0
  43. package/dist/cjs/v5-tokens.native.js +80 -82
  44. package/dist/cjs/v5-tokens.native.js.map +1 -1
  45. package/dist/cjs/v5.cjs +16 -23
  46. package/dist/cjs/v5.native.cjs +31 -0
  47. package/dist/cjs/v5.native.js +16 -22
  48. package/dist/cjs/v5.native.js.map +1 -1
  49. package/dist/esm/builder.mjs +277 -0
  50. package/dist/esm/builder.mjs.map +1 -0
  51. package/dist/esm/builder.native.js +293 -0
  52. package/dist/esm/builder.native.js.map +1 -0
  53. package/dist/esm/generated-v5-subtle.mjs +7172 -521
  54. package/dist/esm/generated-v5-subtle.mjs.map +1 -1
  55. package/dist/esm/generated-v5-subtle.native.js +7189 -540
  56. package/dist/esm/generated-v5-subtle.native.js.map +1 -1
  57. package/dist/esm/generated-v5.mjs +7190 -521
  58. package/dist/esm/generated-v5.mjs.map +1 -1
  59. package/dist/esm/generated-v5.native.js +7207 -540
  60. package/dist/esm/generated-v5.native.js.map +1 -1
  61. package/dist/esm/generated.mjs +1310 -0
  62. package/dist/esm/generated.mjs.map +1 -0
  63. package/dist/esm/generated.native.js +1327 -0
  64. package/dist/esm/generated.native.js.map +1 -0
  65. package/dist/esm/index.mjs +4 -9
  66. package/dist/esm/index.native.js +4 -9
  67. package/dist/esm/tailwind-colors.mjs +293 -0
  68. package/dist/esm/tailwind-colors.mjs.map +1 -0
  69. package/dist/esm/tailwind-colors.native.js +293 -0
  70. package/dist/esm/tailwind-colors.native.js.map +1 -0
  71. package/dist/esm/themes.generate.mjs +3 -0
  72. package/dist/esm/themes.generate.native.js +3 -0
  73. package/dist/esm/tokens.mjs +25 -129
  74. package/dist/esm/tokens.mjs.map +1 -1
  75. package/dist/esm/tokens.native.js +25 -136
  76. package/dist/esm/tokens.native.js.map +1 -1
  77. package/dist/esm/utils.mjs +9 -17
  78. package/dist/esm/utils.mjs.map +1 -1
  79. package/dist/esm/utils.native.js +9 -20
  80. package/dist/esm/utils.native.js.map +1 -1
  81. package/dist/esm/v5-subtle.mjs +2 -6
  82. package/dist/esm/v5-subtle.native.js +2 -6
  83. package/dist/esm/v5-tokens.mjs +57 -57
  84. package/dist/esm/v5-tokens.mjs.map +1 -1
  85. package/dist/esm/v5-tokens.native.js +61 -61
  86. package/dist/esm/v5-tokens.native.js.map +1 -1
  87. package/dist/esm/v5.mjs +2 -5
  88. package/dist/esm/v5.native.js +2 -5
  89. package/package.json +42 -43
  90. package/src/builder.ts +344 -0
  91. package/src/generated-v5-subtle.ts +6062 -705
  92. package/src/generated-v5.ts +6062 -705
  93. package/src/generated.ts +1474 -0
  94. package/src/index.ts +3 -0
  95. package/src/tailwind-colors.ts +292 -0
  96. package/src/themes.generate.ts +1 -0
  97. package/src/tokens.ts +29 -0
  98. package/src/utils.ts +0 -42
  99. package/src/v5-subtle.tsx +2 -4
  100. package/src/v5-tokens.ts +32 -38
  101. package/src/v5.tsx +2 -3
  102. package/types/builder.d.ts +398 -0
  103. package/types/builder.d.ts.map +1 -0
  104. package/types/generated-v5-subtle.d.ts.map +1 -1
  105. package/types/generated-v5.d.ts.map +1 -1
  106. package/types/generated.d.ts +35 -0
  107. package/types/generated.d.ts.map +1 -0
  108. package/types/index.d.ts +3 -8
  109. package/types/index.d.ts.map +1 -1
  110. package/types/tailwind-colors.d.ts +291 -0
  111. package/types/tailwind-colors.d.ts.map +1 -0
  112. package/types/themes.generate.d.ts +2 -0
  113. package/types/themes.generate.d.ts.map +1 -0
  114. package/types/tokens.d.ts +617 -1303
  115. package/types/tokens.d.ts.map +1 -1
  116. package/types/utils.d.ts +0 -19
  117. package/types/utils.d.ts.map +1 -1
  118. package/types/v5-subtle.d.ts +0 -4
  119. package/types/v5-subtle.d.ts.map +1 -1
  120. package/types/v5-tokens.d.ts +95 -101
  121. package/types/v5-tokens.d.ts.map +1 -1
  122. package/types/v5.d.ts +0 -3
  123. package/types/v5.d.ts.map +1 -1
  124. package/.turbo/turbo-build.log +0 -2
  125. package/dist/cjs/componentThemeDefinitions.cjs +0 -126
  126. package/dist/cjs/componentThemeDefinitions.native.js +0 -129
  127. package/dist/cjs/componentThemeDefinitions.native.js.map +0 -1
  128. package/dist/cjs/generated-new.cjs +0 -2025
  129. package/dist/cjs/generated-new.native.js +0 -2047
  130. package/dist/cjs/generated-new.native.js.map +0 -1
  131. package/dist/cjs/generated-v3.cjs +0 -1103
  132. package/dist/cjs/generated-v3.native.js +0 -1125
  133. package/dist/cjs/generated-v3.native.js.map +0 -1
  134. package/dist/cjs/generated-v4-tamagui.cjs +0 -937
  135. package/dist/cjs/generated-v4-tamagui.native.js +0 -959
  136. package/dist/cjs/generated-v4-tamagui.native.js.map +0 -1
  137. package/dist/cjs/generated-v4.cjs +0 -395
  138. package/dist/cjs/generated-v4.native.js +0 -417
  139. package/dist/cjs/generated-v4.native.js.map +0 -1
  140. package/dist/cjs/helpers.cjs +0 -36
  141. package/dist/cjs/helpers.native.js +0 -41
  142. package/dist/cjs/helpers.native.js.map +0 -1
  143. package/dist/cjs/opacify.cjs +0 -121
  144. package/dist/cjs/opacify.native.js +0 -129
  145. package/dist/cjs/opacify.native.js.map +0 -1
  146. package/dist/cjs/palettes.cjs +0 -54
  147. package/dist/cjs/palettes.native.js +0 -65
  148. package/dist/cjs/palettes.native.js.map +0 -1
  149. package/dist/cjs/shadows.cjs +0 -45
  150. package/dist/cjs/shadows.native.js +0 -48
  151. package/dist/cjs/shadows.native.js.map +0 -1
  152. package/dist/cjs/subtleChildrenThemes.cjs +0 -68
  153. package/dist/cjs/subtleChildrenThemes.native.js +0 -76
  154. package/dist/cjs/subtleChildrenThemes.native.js.map +0 -1
  155. package/dist/cjs/templates.cjs +0 -120
  156. package/dist/cjs/templates.native.js +0 -123
  157. package/dist/cjs/templates.native.js.map +0 -1
  158. package/dist/cjs/themes-new.cjs +0 -88
  159. package/dist/cjs/themes-new.native.js +0 -90
  160. package/dist/cjs/themes-new.native.js.map +0 -1
  161. package/dist/cjs/themes-old.cjs +0 -292
  162. package/dist/cjs/themes-old.native.js +0 -305
  163. package/dist/cjs/themes-old.native.js.map +0 -1
  164. package/dist/cjs/themes.cjs +0 -28
  165. package/dist/cjs/themes.native.js +0 -31
  166. package/dist/cjs/themes.native.js.map +0 -1
  167. package/dist/cjs/v3-themes.cjs +0 -475
  168. package/dist/cjs/v3-themes.native.js +0 -489
  169. package/dist/cjs/v3-themes.native.js.map +0 -1
  170. package/dist/cjs/v3-tokens.cjs +0 -103
  171. package/dist/cjs/v3-tokens.native.js +0 -110
  172. package/dist/cjs/v3-tokens.native.js.map +0 -1
  173. package/dist/cjs/v3.cjs +0 -54
  174. package/dist/cjs/v3.native.js +0 -57
  175. package/dist/cjs/v3.native.js.map +0 -1
  176. package/dist/cjs/v4-default.cjs +0 -169
  177. package/dist/cjs/v4-default.native.js +0 -172
  178. package/dist/cjs/v4-default.native.js.map +0 -1
  179. package/dist/cjs/v4-tamagui.cjs +0 -239
  180. package/dist/cjs/v4-tamagui.native.js +0 -245
  181. package/dist/cjs/v4-tamagui.native.js.map +0 -1
  182. package/dist/cjs/v4-tokens.cjs +0 -103
  183. package/dist/cjs/v4-tokens.native.js +0 -110
  184. package/dist/cjs/v4-tokens.native.js.map +0 -1
  185. package/dist/cjs/v4.cjs +0 -34
  186. package/dist/cjs/v4.native.js +0 -37
  187. package/dist/cjs/v4.native.js.map +0 -1
  188. package/dist/cjs/v5-templates.cjs +0 -119
  189. package/dist/cjs/v5-templates.native.js +0 -128
  190. package/dist/cjs/v5-templates.native.js.map +0 -1
  191. package/dist/cjs/v5-themes-subtle.cjs +0 -39
  192. package/dist/cjs/v5-themes-subtle.native.js +0 -42
  193. package/dist/cjs/v5-themes-subtle.native.js.map +0 -1
  194. package/dist/cjs/v5-themes.cjs +0 -415
  195. package/dist/cjs/v5-themes.native.js +0 -470
  196. package/dist/cjs/v5-themes.native.js.map +0 -1
  197. package/dist/esm/componentThemeDefinitions.mjs +0 -100
  198. package/dist/esm/componentThemeDefinitions.mjs.map +0 -1
  199. package/dist/esm/componentThemeDefinitions.native.js +0 -100
  200. package/dist/esm/componentThemeDefinitions.native.js.map +0 -1
  201. package/dist/esm/generated-new.mjs +0 -1999
  202. package/dist/esm/generated-new.mjs.map +0 -1
  203. package/dist/esm/generated-new.native.js +0 -2018
  204. package/dist/esm/generated-new.native.js.map +0 -1
  205. package/dist/esm/generated-v3.mjs +0 -1077
  206. package/dist/esm/generated-v3.mjs.map +0 -1
  207. package/dist/esm/generated-v3.native.js +0 -1096
  208. package/dist/esm/generated-v3.native.js.map +0 -1
  209. package/dist/esm/generated-v4-tamagui.mjs +0 -911
  210. package/dist/esm/generated-v4-tamagui.mjs.map +0 -1
  211. package/dist/esm/generated-v4-tamagui.native.js +0 -930
  212. package/dist/esm/generated-v4-tamagui.native.js.map +0 -1
  213. package/dist/esm/generated-v4.mjs +0 -369
  214. package/dist/esm/generated-v4.mjs.map +0 -1
  215. package/dist/esm/generated-v4.native.js +0 -388
  216. package/dist/esm/generated-v4.native.js.map +0 -1
  217. package/dist/esm/helpers.mjs +0 -9
  218. package/dist/esm/helpers.mjs.map +0 -1
  219. package/dist/esm/helpers.native.js +0 -11
  220. package/dist/esm/helpers.native.js.map +0 -1
  221. package/dist/esm/index.js +0 -9
  222. package/dist/esm/index.js.map +0 -1
  223. package/dist/esm/index.mjs.map +0 -1
  224. package/dist/esm/index.native.js.map +0 -1
  225. package/dist/esm/opacify.mjs +0 -95
  226. package/dist/esm/opacify.mjs.map +0 -1
  227. package/dist/esm/opacify.native.js +0 -100
  228. package/dist/esm/opacify.native.js.map +0 -1
  229. package/dist/esm/palettes.mjs +0 -29
  230. package/dist/esm/palettes.mjs.map +0 -1
  231. package/dist/esm/palettes.native.js +0 -37
  232. package/dist/esm/palettes.native.js.map +0 -1
  233. package/dist/esm/shadows.mjs +0 -20
  234. package/dist/esm/shadows.mjs.map +0 -1
  235. package/dist/esm/shadows.native.js +0 -20
  236. package/dist/esm/shadows.native.js.map +0 -1
  237. package/dist/esm/subtleChildrenThemes.mjs +0 -42
  238. package/dist/esm/subtleChildrenThemes.mjs.map +0 -1
  239. package/dist/esm/subtleChildrenThemes.native.js +0 -47
  240. package/dist/esm/subtleChildrenThemes.native.js.map +0 -1
  241. package/dist/esm/templates.mjs +0 -94
  242. package/dist/esm/templates.mjs.map +0 -1
  243. package/dist/esm/templates.native.js +0 -94
  244. package/dist/esm/templates.native.js.map +0 -1
  245. package/dist/esm/themes-new.mjs +0 -63
  246. package/dist/esm/themes-new.mjs.map +0 -1
  247. package/dist/esm/themes-new.native.js +0 -62
  248. package/dist/esm/themes-new.native.js.map +0 -1
  249. package/dist/esm/themes-old.mjs +0 -267
  250. package/dist/esm/themes-old.mjs.map +0 -1
  251. package/dist/esm/themes-old.native.js +0 -277
  252. package/dist/esm/themes-old.native.js.map +0 -1
  253. package/dist/esm/themes.mjs +0 -3
  254. package/dist/esm/themes.mjs.map +0 -1
  255. package/dist/esm/themes.native.js +0 -3
  256. package/dist/esm/themes.native.js.map +0 -1
  257. package/dist/esm/v3-themes.mjs +0 -445
  258. package/dist/esm/v3-themes.mjs.map +0 -1
  259. package/dist/esm/v3-themes.native.js +0 -456
  260. package/dist/esm/v3-themes.native.js.map +0 -1
  261. package/dist/esm/v3-tokens.mjs +0 -72
  262. package/dist/esm/v3-tokens.mjs.map +0 -1
  263. package/dist/esm/v3-tokens.native.js +0 -76
  264. package/dist/esm/v3-tokens.native.js.map +0 -1
  265. package/dist/esm/v3.mjs +0 -12
  266. package/dist/esm/v3.mjs.map +0 -1
  267. package/dist/esm/v3.native.js +0 -12
  268. package/dist/esm/v3.native.js.map +0 -1
  269. package/dist/esm/v4-default.mjs +0 -133
  270. package/dist/esm/v4-default.mjs.map +0 -1
  271. package/dist/esm/v4-default.native.js +0 -133
  272. package/dist/esm/v4-default.native.js.map +0 -1
  273. package/dist/esm/v4-tamagui.mjs +0 -203
  274. package/dist/esm/v4-tamagui.mjs.map +0 -1
  275. package/dist/esm/v4-tamagui.native.js +0 -206
  276. package/dist/esm/v4-tamagui.native.js.map +0 -1
  277. package/dist/esm/v4-tokens.mjs +0 -72
  278. package/dist/esm/v4-tokens.mjs.map +0 -1
  279. package/dist/esm/v4-tokens.native.js +0 -76
  280. package/dist/esm/v4-tokens.native.js.map +0 -1
  281. package/dist/esm/v4.mjs +0 -6
  282. package/dist/esm/v4.mjs.map +0 -1
  283. package/dist/esm/v4.native.js +0 -6
  284. package/dist/esm/v4.native.js.map +0 -1
  285. package/dist/esm/v5-subtle.mjs.map +0 -1
  286. package/dist/esm/v5-subtle.native.js.map +0 -1
  287. package/dist/esm/v5-templates.mjs +0 -94
  288. package/dist/esm/v5-templates.mjs.map +0 -1
  289. package/dist/esm/v5-templates.native.js +0 -100
  290. package/dist/esm/v5-templates.native.js.map +0 -1
  291. package/dist/esm/v5-themes-subtle.mjs +0 -13
  292. package/dist/esm/v5-themes-subtle.mjs.map +0 -1
  293. package/dist/esm/v5-themes-subtle.native.js +0 -13
  294. package/dist/esm/v5-themes-subtle.native.js.map +0 -1
  295. package/dist/esm/v5-themes.mjs +0 -374
  296. package/dist/esm/v5-themes.mjs.map +0 -1
  297. package/dist/esm/v5-themes.native.js +0 -426
  298. package/dist/esm/v5-themes.native.js.map +0 -1
  299. package/dist/esm/v5.mjs.map +0 -1
  300. package/dist/esm/v5.native.js.map +0 -1
  301. package/src/componentThemeDefinitions.tsx +0 -129
  302. package/src/generated-new.ts +0 -2571
  303. package/src/generated-v3.ts +0 -1826
  304. package/src/generated-v4-tamagui.ts +0 -2200
  305. package/src/generated-v4.ts +0 -1004
  306. package/src/helpers.ts +0 -44
  307. package/src/index.tsx +0 -8
  308. package/src/opacify.ts +0 -125
  309. package/src/palettes.tsx +0 -91
  310. package/src/shadows.tsx +0 -19
  311. package/src/subtleChildrenThemes.ts +0 -54
  312. package/src/templates.tsx +0 -104
  313. package/src/themes-new.ts +0 -74
  314. package/src/themes-old.tsx +0 -378
  315. package/src/themes.tsx +0 -1
  316. package/src/tokens.tsx +0 -199
  317. package/src/v3-themes.ts +0 -650
  318. package/src/v3-tokens.ts +0 -103
  319. package/src/v3.tsx +0 -12
  320. package/src/v4-default.ts +0 -191
  321. package/src/v4-tamagui.ts +0 -287
  322. package/src/v4-tokens.ts +0 -105
  323. package/src/v4.tsx +0 -4
  324. package/src/v5-templates.ts +0 -126
  325. package/src/v5-themes-subtle.ts +0 -18
  326. package/src/v5-themes.ts +0 -626
  327. package/tests/v5-themes.test.ts +0 -215
  328. package/tsconfig.json +0 -43
  329. package/types/componentThemeDefinitions.d.ts +0 -771
  330. package/types/componentThemeDefinitions.d.ts.map +0 -1
  331. package/types/generated-new.d.ts +0 -135
  332. package/types/generated-new.d.ts.map +0 -1
  333. package/types/generated-v3.d.ts +0 -144
  334. package/types/generated-v3.d.ts.map +0 -1
  335. package/types/generated-v4-tamagui.d.ts +0 -190
  336. package/types/generated-v4-tamagui.d.ts.map +0 -1
  337. package/types/generated-v4.d.ts +0 -137
  338. package/types/generated-v4.d.ts.map +0 -1
  339. package/types/helpers.d.ts +0 -24
  340. package/types/helpers.d.ts.map +0 -1
  341. package/types/opacify.d.ts +0 -9
  342. package/types/opacify.d.ts.map +0 -1
  343. package/types/palettes.d.ts +0 -21
  344. package/types/palettes.d.ts.map +0 -1
  345. package/types/shadows.d.ts +0 -15
  346. package/types/shadows.d.ts.map +0 -1
  347. package/types/subtleChildrenThemes.d.ts +0 -305
  348. package/types/subtleChildrenThemes.d.ts.map +0 -1
  349. package/types/templates.d.ts +0 -155
  350. package/types/templates.d.ts.map +0 -1
  351. package/types/themes-new.d.ts +0 -42243
  352. package/types/themes-new.d.ts.map +0 -1
  353. package/types/themes-old.d.ts +0 -51411
  354. package/types/themes-old.d.ts.map +0 -1
  355. package/types/themes.d.ts +0 -2
  356. package/types/themes.d.ts.map +0 -1
  357. package/types/v3-themes.d.ts +0 -16304
  358. package/types/v3-themes.d.ts.map +0 -1
  359. package/types/v3-tokens.d.ts +0 -184
  360. package/types/v3-tokens.d.ts.map +0 -1
  361. package/types/v3.d.ts +0 -11
  362. package/types/v3.d.ts.map +0 -1
  363. package/types/v4-default.d.ts +0 -274
  364. package/types/v4-default.d.ts.map +0 -1
  365. package/types/v4-tamagui.d.ts +0 -195
  366. package/types/v4-tamagui.d.ts.map +0 -1
  367. package/types/v4-tokens.d.ts +0 -184
  368. package/types/v4-tokens.d.ts.map +0 -1
  369. package/types/v4.d.ts +0 -5
  370. package/types/v4.d.ts.map +0 -1
  371. package/types/v5-templates.d.ts +0 -42
  372. package/types/v5-templates.d.ts.map +0 -1
  373. package/types/v5-themes-subtle.d.ts +0 -250
  374. package/types/v5-themes-subtle.d.ts.map +0 -1
  375. package/types/v5-themes.d.ts +0 -752
  376. package/types/v5-themes.d.ts.map +0 -1
  377. package/v3/index.cjs +0 -2
  378. package/v3/index.js +0 -2
  379. package/v3/index.native.cjs +0 -2
  380. package/v3/index.native.js +0 -2
  381. package/v3-themes/index.cjs +0 -2
  382. package/v3-themes/index.js +0 -2
  383. package/v3-themes/index.native.cjs +0 -2
  384. package/v3-themes/index.native.js +0 -2
  385. package/v3-themes.cjs +0 -1
  386. package/v3-themes.d.ts +0 -1
  387. package/v3.cjs +0 -1
  388. package/v3.d.ts +0 -1
  389. package/v4/index.cjs +0 -2
  390. package/v4/index.js +0 -2
  391. package/v4/index.native.cjs +0 -2
  392. package/v4/index.native.js +0 -2
  393. package/v4.cjs +0 -1
  394. package/v4.d.ts +0 -1
  395. package/v5/index.cjs +0 -2
  396. package/v5/index.js +0 -2
  397. package/v5/index.native.cjs +0 -2
  398. package/v5/index.native.js +0 -2
  399. package/v5-subtle/index.cjs +0 -2
  400. package/v5-subtle/index.js +0 -2
  401. package/v5-subtle/index.native.cjs +0 -2
  402. package/v5-subtle/index.native.js +0 -2
  403. package/v5-subtle.cjs +0 -1
  404. package/v5-subtle.d.ts +0 -1
  405. package/v5.cjs +0 -1
  406. package/v5.d.ts +0 -1
package/package.json CHANGED
@@ -1,12 +1,28 @@
1
1
  {
2
2
  "name": "@tamagui/themes",
3
- "version": "2.7.7",
3
+ "version": "3.0.0-beta.643.1",
4
4
  "gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
5
5
  "type": "module",
6
6
  "sideEffects": false,
7
- "main": "dist/cjs",
8
- "module": "dist/esm",
7
+ "main": "./dist/cjs/index.cjs",
8
+ "module": "./dist/esm/index.mjs",
9
+ "react-native": "./dist/esm/index.native.js",
9
10
  "types": "./types/index.d.ts",
11
+ "files": [
12
+ "src",
13
+ "types",
14
+ "dist",
15
+ "index.cjs",
16
+ "index.d.ts",
17
+ "builder"
18
+ ],
19
+ "tamagui-build": {
20
+ "outputs": [
21
+ "cjs",
22
+ "esm",
23
+ "types"
24
+ ]
25
+ },
10
26
  "exports": {
11
27
  "./package.json": "./package.json",
12
28
  ".": {
@@ -18,32 +34,14 @@
18
34
  "require": "./dist/cjs/index.cjs",
19
35
  "default": "./dist/esm/index.mjs"
20
36
  },
21
- "./v3": {
22
- "types": "./types/v3.d.ts",
23
- "react-native": "./dist/esm/v3.native.js",
24
- "browser": "./dist/esm/v3.mjs",
25
- "module": "./dist/esm/v3.mjs",
26
- "import": "./dist/esm/v3.mjs",
27
- "require": "./dist/cjs/v3.cjs",
28
- "default": "./dist/esm/v3.mjs"
29
- },
30
- "./v3-themes": {
31
- "types": "./types/v3-themes.d.ts",
32
- "react-native": "./dist/esm/v3-themes.native.js",
33
- "browser": "./dist/esm/v3-themes.mjs",
34
- "module": "./dist/esm/v3-themes.mjs",
35
- "import": "./dist/esm/v3-themes.mjs",
36
- "require": "./dist/cjs/v3-themes.cjs",
37
- "default": "./dist/esm/v3-themes.mjs"
38
- },
39
- "./v4": {
40
- "types": "./types/v4.d.ts",
41
- "react-native": "./dist/esm/v4.native.js",
42
- "browser": "./dist/esm/v4.mjs",
43
- "module": "./dist/esm/v4.mjs",
44
- "import": "./dist/esm/v4.mjs",
45
- "require": "./dist/cjs/v4.cjs",
46
- "default": "./dist/esm/v4.mjs"
37
+ "./builder": {
38
+ "types": "./types/builder.d.ts",
39
+ "react-native": "./dist/esm/builder.native.js",
40
+ "browser": "./dist/esm/builder.mjs",
41
+ "module": "./dist/esm/builder.mjs",
42
+ "import": "./dist/esm/builder.mjs",
43
+ "require": "./dist/cjs/builder.cjs",
44
+ "default": "./dist/esm/builder.mjs"
47
45
  },
48
46
  "./v5": {
49
47
  "types": "./types/v5.d.ts",
@@ -62,34 +60,35 @@
62
60
  "import": "./dist/esm/v5-subtle.mjs",
63
61
  "require": "./dist/cjs/v5-subtle.cjs",
64
62
  "default": "./dist/esm/v5-subtle.mjs"
63
+ },
64
+ "./v5-tokens": {
65
+ "types": "./types/v5-tokens.d.ts",
66
+ "react-native": "./dist/esm/v5-tokens.native.js",
67
+ "browser": "./dist/esm/v5-tokens.mjs",
68
+ "module": "./dist/esm/v5-tokens.mjs",
69
+ "import": "./dist/esm/v5-tokens.mjs",
70
+ "require": "./dist/cjs/v5-tokens.cjs",
71
+ "default": "./dist/esm/v5-tokens.mjs"
65
72
  }
66
73
  },
67
74
  "publishConfig": {
68
75
  "access": "public"
69
76
  },
70
77
  "scripts": {
71
- "generate": "bun run generate:v5 & bun run generate:v5-subtle",
72
- "generate:v5": "tamagui generate-themes ./src/v5-themes.ts ./src/generated-v5.ts",
73
- "generate:v5-subtle": "tamagui generate-themes ./src/v5-themes-subtle.ts ./src/generated-v5-subtle.ts",
74
- "generate:v3": "tamagui generate-themes ./src/v3-themes.ts ./src/generated-v3.ts",
75
- "generate:v4": "tamagui generate-themes ./src/v4-default.ts ./src/generated-v4.ts",
76
- "generate:v4-tamagui": "tamagui generate-themes ./src/v4-tamagui.ts ./src/generated-v4-tamagui.ts",
77
- "test": "bun run generate",
78
+ "generate": "tamagui generate-themes ./src/themes.generate.ts ./src/generated.ts",
79
+ "test": "bun test tests/themes.test.ts",
80
+ "test:types": "vitest --typecheck --run tests/themes.test-d.ts",
78
81
  "build": "tamagui-build",
79
82
  "watch": "tamagui-build --watch",
80
83
  "clean": "tamagui-build clean",
81
84
  "clean:build": "tamagui-build clean:build"
82
85
  },
83
86
  "dependencies": {
84
- "@tamagui/colors": "2.7.7",
85
- "@tamagui/create-theme": "2.7.7",
86
- "@tamagui/theme-builder": "2.7.7",
87
- "@tamagui/web": "2.7.7",
88
- "color2k": "^2.0.2"
87
+ "@tamagui/create-theme": "3.0.0-beta.643.1"
89
88
  },
90
89
  "devDependencies": {
91
- "@tamagui/build": "2.7.7",
92
- "@tamagui/cli": "2.7.7",
90
+ "@tamagui/build": "3.0.0-beta.643.1",
91
+ "@tamagui/cli": "3.0.0-beta.643.1",
93
92
  "vitest": "4.0.4"
94
93
  },
95
94
  "repository": {
package/src/builder.ts ADDED
@@ -0,0 +1,344 @@
1
+ import {
2
+ createThemes,
3
+ type GetThemeContext,
4
+ type ThemeChildren,
5
+ type ThemeDefinitionContext,
6
+ type ThemeDefinitionObject,
7
+ } from '@tamagui/create-theme'
8
+
9
+ import { tokens, type ColorTokenName } from './tokens'
10
+
11
+ export { createThemes } from '@tamagui/create-theme'
12
+ export type { GetThemeContext, ThemeDefinitionContext } from '@tamagui/create-theme'
13
+ export { colorTokens, tailwindColors, tokens } from './tokens'
14
+
15
+ export const shades = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950] as const
16
+
17
+ export type Shade = (typeof shades)[number]
18
+
19
+ type PaletteFromToken<Token> = Token extends `${infer Name}-${Shade}` ? Name : never
20
+ export type Palette = PaletteFromToken<ColorTokenName>
21
+
22
+ export type Scheme = 'light' | 'dark'
23
+ export type Level = 1 | 2 | 3 | 4
24
+
25
+ export const semanticThemeKeys = [
26
+ 'background',
27
+ 'background-hover',
28
+ 'background-press',
29
+ 'background-focus',
30
+ 'border-color',
31
+ 'border-color-hover',
32
+ 'border-color-press',
33
+ 'border-color-focus',
34
+ 'color',
35
+ 'color-hover',
36
+ 'color-press',
37
+ 'color-focus',
38
+ 'placeholder-color',
39
+ 'outline-color',
40
+ 'shadow-color',
41
+ 'accent-background',
42
+ 'accent-color',
43
+ ] as const
44
+
45
+ export type SemanticThemeKey = (typeof semanticThemeKeys)[number]
46
+ export type ThemeScale<TokenName extends string = ColorTokenName> = Record<
47
+ SemanticThemeKey,
48
+ Shade | TokenName
49
+ >
50
+
51
+ const light = {
52
+ background: 'white',
53
+ 'background-hover': 50,
54
+ 'background-press': 'white',
55
+ 'background-focus': 50,
56
+ 'border-color': 200,
57
+ 'border-color-hover': 300,
58
+ 'border-color-press': 200,
59
+ 'border-color-focus': 300,
60
+ color: 950,
61
+ 'color-hover': 950,
62
+ 'color-press': 950,
63
+ 'color-focus': 950,
64
+ 'placeholder-color': 500,
65
+ 'outline-color': 400,
66
+ 'shadow-color': 'shadow-3',
67
+ 'accent-background': 'brand-600',
68
+ 'accent-color': 'brand-50',
69
+ } as const satisfies ThemeScale
70
+
71
+ const dark = {
72
+ ...light,
73
+ background: 950,
74
+ 'background-hover': 900,
75
+ 'background-press': 950,
76
+ 'background-focus': 900,
77
+ 'border-color': 800,
78
+ 'border-color-hover': 700,
79
+ 'border-color-press': 800,
80
+ 'border-color-focus': 700,
81
+ color: 50,
82
+ 'color-hover': 50,
83
+ 'color-press': 50,
84
+ 'color-focus': 50,
85
+ 'shadow-color': 'shadow-6',
86
+ } as const satisfies ThemeScale
87
+
88
+ const boldLight = {
89
+ background: 600,
90
+ 'background-hover': 500,
91
+ 'background-press': 600,
92
+ 'background-focus': 500,
93
+ 'border-color': 700,
94
+ 'border-color-hover': 600,
95
+ 'border-color-press': 700,
96
+ 'border-color-focus': 600,
97
+ color: 50,
98
+ 'color-hover': 50,
99
+ 'color-press': 50,
100
+ 'color-focus': 50,
101
+ 'placeholder-color': 200,
102
+ 'outline-color': 400,
103
+ 'shadow-color': 'shadow-3',
104
+ 'accent-background': 'brand-50',
105
+ 'accent-color': 'brand-700',
106
+ } as const satisfies ThemeScale
107
+
108
+ const boldDark = {
109
+ ...boldLight,
110
+ background: 500,
111
+ 'background-hover': 400,
112
+ 'background-press': 500,
113
+ 'background-focus': 400,
114
+ 'border-color': 600,
115
+ 'border-color-hover': 500,
116
+ 'border-color-press': 600,
117
+ 'border-color-focus': 500,
118
+ 'shadow-color': 'shadow-6',
119
+ } as const satisfies ThemeScale
120
+
121
+ const tintLight = {
122
+ background: 100,
123
+ 'background-hover': 50,
124
+ 'background-press': 100,
125
+ 'background-focus': 50,
126
+ 'border-color': 300,
127
+ 'border-color-hover': 400,
128
+ 'border-color-press': 300,
129
+ 'border-color-focus': 400,
130
+ color: 700,
131
+ 'color-hover': 700,
132
+ 'color-press': 700,
133
+ 'color-focus': 700,
134
+ 'placeholder-color': 400,
135
+ 'outline-color': 400,
136
+ 'shadow-color': 'shadow-3',
137
+ 'accent-background': 'brand-600',
138
+ 'accent-color': 'brand-50',
139
+ } as const satisfies ThemeScale
140
+
141
+ const tintDark = {
142
+ ...tintLight,
143
+ background: 900,
144
+ 'background-hover': 800,
145
+ 'background-press': 900,
146
+ 'background-focus': 800,
147
+ 'border-color': 700,
148
+ 'border-color-hover': 600,
149
+ 'border-color-press': 700,
150
+ 'border-color-focus': 600,
151
+ color: 200,
152
+ 'color-hover': 200,
153
+ 'color-press': 200,
154
+ 'color-focus': 200,
155
+ 'placeholder-color': 500,
156
+ 'outline-color': 600,
157
+ 'shadow-color': 'shadow-6',
158
+ } as const satisfies ThemeScale
159
+
160
+ const ladder = ['white', ...shades, 'black'] as const
161
+
162
+ export function raise<TokenName extends string>(
163
+ scale: ThemeScale<TokenName>,
164
+ steps: number
165
+ ): ThemeScale<TokenName> {
166
+ return Object.fromEntries(
167
+ Object.entries(scale).map(([key, value]) => {
168
+ if (!key.startsWith('background') && !key.startsWith('border-color')) {
169
+ return [key, value]
170
+ }
171
+ const index = ladder.indexOf(value as (typeof ladder)[number])
172
+ if (index === -1) return [key, value]
173
+ return [key, ladder[Math.max(0, Math.min(ladder.length - 1, index + steps))]]
174
+ })
175
+ ) as ThemeScale<TokenName>
176
+ }
177
+
178
+ export const scales = {
179
+ normal: {
180
+ light: {
181
+ 1: light,
182
+ 2: raise(light, 1),
183
+ 3: raise(light, 2),
184
+ 4: raise(light, 3),
185
+ },
186
+ dark: {
187
+ 1: dark,
188
+ 2: raise(dark, -1),
189
+ 3: raise(dark, -2),
190
+ 4: raise(dark, -3),
191
+ },
192
+ },
193
+ bold: {
194
+ light: {
195
+ 1: boldLight,
196
+ 2: raise(boldLight, -1),
197
+ 3: raise(boldLight, -2),
198
+ 4: raise(boldLight, -3),
199
+ },
200
+ dark: {
201
+ 1: boldDark,
202
+ 2: raise(boldDark, 1),
203
+ 3: raise(boldDark, 2),
204
+ 4: raise(boldDark, 3),
205
+ },
206
+ },
207
+ tint: {
208
+ light: {
209
+ 1: tintLight,
210
+ 2: raise(tintLight, -1),
211
+ 3: raise(tintLight, 1),
212
+ 4: raise(tintLight, 2),
213
+ },
214
+ dark: {
215
+ 1: tintDark,
216
+ 2: raise(tintDark, 1),
217
+ 3: raise(tintDark, -1),
218
+ 4: raise(tintDark, -2),
219
+ },
220
+ },
221
+ } as const
222
+
223
+ export type Treatment = keyof typeof scales
224
+
225
+ export type DefaultRecipe = {
226
+ scheme: Scheme
227
+ palette: Palette
228
+ treatment?: Treatment
229
+ level?: Level
230
+ }
231
+
232
+ export type Ramp<PaletteName extends string = Palette> = Record<
233
+ `color${Level | 5 | 6 | 7 | 8 | 9 | 10 | 11}`,
234
+ `${PaletteName}-${Shade}`
235
+ >
236
+
237
+ export function ramp<const PaletteName extends string>(
238
+ palette: PaletteName,
239
+ scheme: Scheme
240
+ ): Ramp<PaletteName> {
241
+ const ordered = scheme === 'light' ? shades : [...shades].reverse()
242
+ return Object.fromEntries(
243
+ ordered.map((shade, index) => [`color${index + 1}`, `${palette}-${shade}`])
244
+ ) as Ramp<PaletteName>
245
+ }
246
+
247
+ export function fromShades<const PaletteName extends string, TokenName extends string>(
248
+ palette: PaletteName,
249
+ scale: ThemeScale<TokenName>
250
+ ): Record<SemanticThemeKey, `${PaletteName}-${Shade}` | TokenName> {
251
+ return Object.fromEntries(
252
+ Object.entries(scale).map(([key, value]) => [
253
+ key,
254
+ typeof value === 'number' ? `${palette}-${value}` : value,
255
+ ])
256
+ ) as Record<SemanticThemeKey, `${PaletteName}-${Shade}` | TokenName>
257
+ }
258
+
259
+ export function getTheme({ recipe }: GetThemeContext<typeof tokens, DefaultRecipe>) {
260
+ const scale = scales[recipe.treatment ?? 'normal'][recipe.scheme][recipe.level ?? 1]
261
+ return {
262
+ ...ramp(recipe.palette, recipe.scheme),
263
+ ...fromShades(recipe.palette, scale),
264
+ }
265
+ }
266
+
267
+ type LevelParent = Record<string, unknown> & { level?: Level }
268
+ type LevelDefinition<Depth extends number> = (
269
+ context: ThemeDefinitionContext<LevelParent>
270
+ ) => { level: Level; children: LevelChildren<Depth> } | null
271
+
272
+ export type LevelChildren<Depth extends number = 4> = Depth extends 4
273
+ ? {
274
+ level2: LevelDefinition<3>
275
+ level3: LevelDefinition<3>
276
+ level4: LevelDefinition<3>
277
+ }
278
+ : Depth extends 3
279
+ ? {
280
+ level2: LevelDefinition<2>
281
+ level3: LevelDefinition<2>
282
+ level4: LevelDefinition<2>
283
+ }
284
+ : Depth extends 2
285
+ ? {
286
+ level2: LevelDefinition<1>
287
+ level3: LevelDefinition<1>
288
+ level4: LevelDefinition<1>
289
+ }
290
+ : Depth extends 1
291
+ ? {
292
+ level2: LevelDefinition<0>
293
+ level3: LevelDefinition<0>
294
+ level4: LevelDefinition<0>
295
+ }
296
+ : {}
297
+
298
+ function createLevels(max: Level, depth: 4): LevelChildren<4>
299
+ function createLevels(max: Level, depth: 3): LevelChildren<3>
300
+ function createLevels(max: Level, depth: 2): LevelChildren<2>
301
+ function createLevels(max: Level, depth: 1): LevelChildren<1>
302
+ function createLevels(max: Level, depth: 0): LevelChildren<0>
303
+ function createLevels(max: Level, depth: number): ThemeChildren
304
+ function createLevels(max: Level, depth: number): ThemeChildren {
305
+ if (depth === 0) return {}
306
+
307
+ const raiseLevel =
308
+ (by: number) =>
309
+ ({ parent }: ThemeDefinitionContext<LevelParent>): ThemeDefinitionObject | null => {
310
+ const current = parent.level ?? 1
311
+ const level = Math.min(current + by, max) as Level
312
+ if (level === current) return null
313
+ return { level, children: createLevels(max, depth - 1) }
314
+ }
315
+
316
+ return {
317
+ level2: raiseLevel(1),
318
+ level3: raiseLevel(2),
319
+ level4: raiseLevel(3),
320
+ }
321
+ }
322
+
323
+ export function levels(max: Level = 4): LevelChildren {
324
+ return createLevels(max, 4)
325
+ }
326
+
327
+ export const tree = {
328
+ light: { scheme: 'light', palette: 'gray' },
329
+ dark: { scheme: 'dark', palette: 'gray' },
330
+ children: {
331
+ ...levels(),
332
+ accent: { palette: 'brand', treatment: 'tint', children: levels() },
333
+ brand: { palette: 'brand', treatment: 'bold', children: levels() },
334
+ inverse: ({ parent }: ThemeDefinitionContext) => ({
335
+ scheme: parent.scheme === 'light' ? 'dark' : 'light',
336
+ children: levels(),
337
+ }),
338
+ red: { palette: 'red', treatment: 'tint', children: levels(2) },
339
+ yellow: { palette: 'yellow', treatment: 'tint', children: levels(2) },
340
+ green: { palette: 'green', treatment: 'tint', children: levels(2) },
341
+ },
342
+ } as const
343
+
344
+ export const themes = createThemes(tokens, tree, { getTheme })