@tamagui/config-base 1.0.1-beta.100

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 (46) hide show
  1. package/dist/cjs/animations.js +58 -0
  2. package/dist/cjs/animations.js.map +7 -0
  3. package/dist/cjs/createGenericFont.js +72 -0
  4. package/dist/cjs/createGenericFont.js.map +7 -0
  5. package/dist/cjs/index.js +21 -0
  6. package/dist/cjs/index.js.map +7 -0
  7. package/dist/cjs/media.js +52 -0
  8. package/dist/cjs/media.js.map +7 -0
  9. package/dist/cjs/tamagui.config.js +113 -0
  10. package/dist/cjs/tamagui.config.js.map +7 -0
  11. package/dist/esm/animations.js +35 -0
  12. package/dist/esm/animations.js.map +7 -0
  13. package/dist/esm/createGenericFont.js +51 -0
  14. package/dist/esm/createGenericFont.js.map +7 -0
  15. package/dist/esm/index.js +5 -0
  16. package/dist/esm/index.js.map +7 -0
  17. package/dist/esm/media.js +27 -0
  18. package/dist/esm/media.js.map +7 -0
  19. package/dist/esm/tamagui.config.js +90 -0
  20. package/dist/esm/tamagui.config.js.map +7 -0
  21. package/dist/jsx/animations.js +35 -0
  22. package/dist/jsx/animations.js.map +7 -0
  23. package/dist/jsx/createGenericFont.js +36 -0
  24. package/dist/jsx/createGenericFont.js.map +7 -0
  25. package/dist/jsx/index.js +5 -0
  26. package/dist/jsx/index.js.map +7 -0
  27. package/dist/jsx/media.js +27 -0
  28. package/dist/jsx/media.js.map +7 -0
  29. package/dist/jsx/tamagui.config.js +90 -0
  30. package/dist/jsx/tamagui.config.js.map +7 -0
  31. package/package.json +34 -0
  32. package/src/animations.ts +32 -0
  33. package/src/createGenericFont.ts +42 -0
  34. package/src/index.tsx +4 -0
  35. package/src/media.ts +25 -0
  36. package/src/tamagui.config.ts +101 -0
  37. package/types/animations.d.ts +31 -0
  38. package/types/animations.d.ts.map +1 -0
  39. package/types/createGenericFont.d.ts +24 -0
  40. package/types/createGenericFont.d.ts.map +1 -0
  41. package/types/index.d.ts +5 -0
  42. package/types/index.d.ts.map +1 -0
  43. package/types/media.d.ts +56 -0
  44. package/types/media.d.ts.map +1 -0
  45. package/types/tamagui.config.d.ts +14215 -0
  46. package/types/tamagui.config.d.ts.map +1 -0
@@ -0,0 +1,35 @@
1
+ import { createAnimations } from "@tamagui/animations-reanimated";
2
+ const animations = createAnimations({
3
+ bouncy: {
4
+ type: "spring",
5
+ damping: 9,
6
+ mass: 0.9,
7
+ stiffness: 150
8
+ },
9
+ lazy: {
10
+ type: "spring",
11
+ damping: 18,
12
+ stiffness: 50
13
+ },
14
+ slow: {
15
+ type: "spring",
16
+ damping: 15,
17
+ stiffness: 40
18
+ },
19
+ quick: {
20
+ type: "spring",
21
+ damping: 20,
22
+ mass: 1.2,
23
+ stiffness: 250
24
+ },
25
+ tooltip: {
26
+ type: "spring",
27
+ damping: 10,
28
+ mass: 0.9,
29
+ stiffness: 100
30
+ }
31
+ });
32
+ export {
33
+ animations
34
+ };
35
+ //# sourceMappingURL=animations.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/animations.ts"],
4
+ "sourcesContent": ["import { createAnimations } from '@tamagui/animations-reanimated'\n\nexport const animations = createAnimations({\n bouncy: {\n type: 'spring',\n damping: 9,\n mass: 0.9,\n stiffness: 150,\n },\n lazy: {\n type: 'spring',\n damping: 18,\n stiffness: 50,\n },\n slow: {\n type: 'spring',\n damping: 15,\n stiffness: 40,\n },\n quick: {\n type: 'spring',\n damping: 20,\n mass: 1.2,\n stiffness: 250,\n },\n tooltip: {\n type: 'spring',\n damping: 10,\n mass: 0.9,\n stiffness: 100,\n },\n})\n"],
5
+ "mappings": "AAAA;AAEO,MAAM,aAAa,iBAAiB;AAAA,EACzC,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAW;AAAA,EACb;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAW;AAAA,EACb;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AACF,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,36 @@
1
+ import { createFont } from "@tamagui/core";
2
+ const genericFontSizes = {
3
+ 1: 10,
4
+ 2: 11,
5
+ 3: 12,
6
+ 4: 14,
7
+ 5: 15,
8
+ 6: 16,
9
+ 7: 20,
10
+ 8: 22,
11
+ 9: 30,
12
+ 10: 42,
13
+ 11: 52,
14
+ 12: 62,
15
+ 13: 72,
16
+ 14: 92,
17
+ 15: 114,
18
+ 16: 124
19
+ };
20
+ function createGenericFont(family, font = {}, {
21
+ sizeLineHeight = (val) => val * 1.35
22
+ } = {}) {
23
+ const size = font.size || genericFontSizes;
24
+ return createFont({
25
+ family,
26
+ size,
27
+ lineHeight: Object.fromEntries(Object.entries(size).map(([k, v]) => [k, sizeLineHeight(+v)])),
28
+ weight: { 0: "300" },
29
+ letterSpacing: { 4: 0 },
30
+ ...font
31
+ });
32
+ }
33
+ export {
34
+ createGenericFont
35
+ };
36
+ //# sourceMappingURL=createGenericFont.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/createGenericFont.ts"],
4
+ "sourcesContent": ["import { GenericFont, createFont } from '@tamagui/core'\n\nconst genericFontSizes = {\n 1: 10,\n 2: 11,\n 3: 12,\n 4: 14,\n 5: 15,\n 6: 16,\n 7: 20,\n 8: 22,\n 9: 30,\n 10: 42,\n 11: 52,\n 12: 62,\n 13: 72,\n 14: 92,\n 15: 114,\n 16: 124,\n} as const\n\nexport function createGenericFont<A extends GenericFont<keyof typeof genericFontSizes>>(\n family: string,\n font: Partial<A> = {},\n {\n sizeLineHeight = (val) => val * 1.35,\n }: {\n sizeLineHeight?: (val: number) => number\n } = {}\n): A {\n const size = font.size || genericFontSizes\n return createFont({\n family,\n size,\n lineHeight: Object.fromEntries(\n Object.entries(size).map(([k, v]) => [k, sizeLineHeight(+v)])\n ) as typeof size,\n weight: { 0: '300' },\n letterSpacing: { 4: 0 },\n ...(font as any),\n })\n}\n"],
5
+ "mappings": "AAAA;AAEA,MAAM,mBAAmB;AAAA,EACvB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEO,2BACL,QACA,OAAmB,CAAC,GACpB;AAAA,EACE,iBAAiB,CAAC,QAAQ,MAAM;AAAA,IAG9B,CAAC,GACF;AACH,QAAM,OAAO,KAAK,QAAQ;AAC1B,SAAO,WAAW;AAAA,IAChB;AAAA,IACA;AAAA,IACA,YAAY,OAAO,YACjB,OAAO,QAAQ,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAC9D;AAAA,IACA,QAAQ,EAAE,GAAG,MAAM;AAAA,IACnB,eAAe,EAAE,GAAG,EAAE;AAAA,IACtB,GAAI;AAAA,EACN,CAAC;AACH;",
6
+ "names": []
7
+ }
@@ -0,0 +1,5 @@
1
+ export * from "./tamagui.config";
2
+ export * from "./animations";
3
+ export * from "./media";
4
+ export * from "./createGenericFont";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.tsx"],
4
+ "sourcesContent": ["export * from './tamagui.config'\nexport * from './animations'\nexport * from './media'\nexport * from './createGenericFont'\n"],
5
+ "mappings": "AAAA;AACA;AACA;AACA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,27 @@
1
+ const demoMedia = [500, 620, 780, 900];
2
+ const widths = [660, 800, 1020, 1280];
3
+ const media = {
4
+ lg: { maxWidth: 1280 },
5
+ md: { maxWidth: 1020 },
6
+ sm: { maxWidth: 800 },
7
+ xs: { maxWidth: 660 },
8
+ xxs: { maxWidth: 390 },
9
+ gtXs: { minWidth: 660 + 1 },
10
+ gtSm: { minWidth: 800 + 1 },
11
+ gtMd: { minWidth: 1020 + 1 },
12
+ gtLg: { minWidth: 1280 + 1 },
13
+ tiny: { maxWidth: 500 },
14
+ gtTiny: { minWidth: 500 + 1 },
15
+ small: { maxWidth: 620 },
16
+ gtSmall: { minWidth: 620 + 1 },
17
+ medium: { maxWidth: 780 },
18
+ gtMedium: { minWidth: 780 + 1 },
19
+ large: { maxWidth: 900 },
20
+ gtLarge: { minWidth: 900 + 1 }
21
+ };
22
+ export {
23
+ demoMedia,
24
+ media,
25
+ widths
26
+ };
27
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/media.ts"],
4
+ "sourcesContent": ["export const demoMedia = [500, 620, 780, 900]\nexport const widths = [660, 800, 1020, 1280]\n\nexport const media = {\n // for site\n lg: { maxWidth: 1280 },\n md: { maxWidth: 1020 },\n sm: { maxWidth: 800 },\n xs: { maxWidth: 660 },\n xxs: { maxWidth: 390 },\n gtXs: { minWidth: 660 + 1 },\n gtSm: { minWidth: 800 + 1 },\n gtMd: { minWidth: 1020 + 1 },\n gtLg: { minWidth: 1280 + 1 },\n\n // for responsive demo only\n tiny: { maxWidth: 500 },\n gtTiny: { minWidth: 500 + 1 },\n small: { maxWidth: 620 },\n gtSmall: { minWidth: 620 + 1 },\n medium: { maxWidth: 780 },\n gtMedium: { minWidth: 780 + 1 },\n large: { maxWidth: 900 },\n gtLarge: { minWidth: 900 + 1 },\n}\n"],
5
+ "mappings": "AAAO,MAAM,YAAY,CAAC,KAAK,KAAK,KAAK,GAAG;AACrC,MAAM,SAAS,CAAC,KAAK,KAAK,MAAM,IAAI;AAEpC,MAAM,QAAQ;AAAA,EAEnB,IAAI,EAAE,UAAU,KAAK;AAAA,EACrB,IAAI,EAAE,UAAU,KAAK;AAAA,EACrB,IAAI,EAAE,UAAU,IAAI;AAAA,EACpB,IAAI,EAAE,UAAU,IAAI;AAAA,EACpB,KAAK,EAAE,UAAU,IAAI;AAAA,EACrB,MAAM,EAAE,UAAU,MAAM,EAAE;AAAA,EAC1B,MAAM,EAAE,UAAU,MAAM,EAAE;AAAA,EAC1B,MAAM,EAAE,UAAU,OAAO,EAAE;AAAA,EAC3B,MAAM,EAAE,UAAU,OAAO,EAAE;AAAA,EAG3B,MAAM,EAAE,UAAU,IAAI;AAAA,EACtB,QAAQ,EAAE,UAAU,MAAM,EAAE;AAAA,EAC5B,OAAO,EAAE,UAAU,IAAI;AAAA,EACvB,SAAS,EAAE,UAAU,MAAM,EAAE;AAAA,EAC7B,QAAQ,EAAE,UAAU,IAAI;AAAA,EACxB,UAAU,EAAE,UAAU,MAAM,EAAE;AAAA,EAC9B,OAAO,EAAE,UAAU,IAAI;AAAA,EACvB,SAAS,EAAE,UAAU,MAAM,EAAE;AAC/B;",
6
+ "names": []
7
+ }
@@ -0,0 +1,90 @@
1
+ import { createInterFont } from "@tamagui/font-inter";
2
+ import { createSilkscreenFont } from "@tamagui/font-silkscreen";
3
+ import { shorthands } from "@tamagui/shorthands";
4
+ import { themes, tokens } from "@tamagui/theme-base";
5
+ import { animations } from "./animations";
6
+ import { createGenericFont } from "./createGenericFont";
7
+ import { media } from "./media";
8
+ const silkscreenFont = createSilkscreenFont();
9
+ const headingFont = createInterFont({
10
+ size: {
11
+ 5: 13,
12
+ 6: 15
13
+ },
14
+ transform: {
15
+ 6: "uppercase",
16
+ 7: "none"
17
+ },
18
+ weight: {
19
+ 6: "400",
20
+ 7: "700"
21
+ },
22
+ color: {
23
+ 6: "$colorFocus",
24
+ 7: "$color"
25
+ },
26
+ letterSpacing: {
27
+ 5: 2,
28
+ 6: 1,
29
+ 7: 0,
30
+ 8: 0,
31
+ 9: -1,
32
+ 10: -1,
33
+ 12: -2,
34
+ 14: -3,
35
+ 15: -4
36
+ }
37
+ }, { sizeLineHeight: (size) => Math.round(size * 1.1 + (size < 30 ? 10 : 0)) });
38
+ const bodyFont = createInterFont({
39
+ size: {
40
+ 4: 15
41
+ }
42
+ }, {
43
+ sizeSize: (size) => Math.round(size),
44
+ sizeLineHeight: (size) => Math.round(size * 1.1 + (size >= 12 ? 12 : 4))
45
+ });
46
+ const monoFont = createGenericFont(`"ui-monospace", "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace`, {
47
+ weight: {
48
+ 1: "500"
49
+ },
50
+ size: {
51
+ 1: 10,
52
+ 2: 11,
53
+ 3: 12,
54
+ 4: 15,
55
+ 5: 16,
56
+ 6: 18,
57
+ 7: 20,
58
+ 8: 22,
59
+ 9: 30,
60
+ 10: 42,
61
+ 11: 52,
62
+ 12: 62,
63
+ 13: 72,
64
+ 14: 92,
65
+ 15: 114,
66
+ 16: 124
67
+ }
68
+ }, {
69
+ sizeLineHeight: (x) => x * 1.5
70
+ });
71
+ const config = {
72
+ defaultTheme: "light",
73
+ shouldAddPrefersColorThemes: true,
74
+ themeClassNameOnRoot: true,
75
+ animations,
76
+ media,
77
+ shorthands,
78
+ themes,
79
+ tokens,
80
+ fonts: {
81
+ heading: headingFont,
82
+ body: bodyFont,
83
+ mono: monoFont,
84
+ silkscreen: silkscreenFont
85
+ }
86
+ };
87
+ export {
88
+ config
89
+ };
90
+ //# sourceMappingURL=tamagui.config.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/tamagui.config.ts"],
4
+ "sourcesContent": ["import { createInterFont } from '@tamagui/font-inter'\nimport { createSilkscreenFont } from '@tamagui/font-silkscreen'\nimport { shorthands } from '@tamagui/shorthands'\nimport { themes, tokens } from '@tamagui/theme-base'\n\nimport { animations } from './animations'\nimport { createGenericFont } from './createGenericFont'\nimport { media } from './media'\n\nconst silkscreenFont = createSilkscreenFont()\nconst headingFont = createInterFont(\n {\n size: {\n 5: 13,\n 6: 15,\n },\n transform: {\n 6: 'uppercase',\n 7: 'none',\n },\n weight: {\n 6: '400',\n 7: '700',\n },\n color: {\n 6: '$colorFocus',\n 7: '$color',\n },\n letterSpacing: {\n 5: 2,\n 6: 1,\n 7: 0,\n 8: 0,\n 9: -1,\n 10: -1,\n 12: -2,\n 14: -3,\n 15: -4,\n },\n },\n { sizeLineHeight: (size) => Math.round(size * 1.1 + (size < 30 ? 10 : 0)) }\n)\nconst bodyFont = createInterFont(\n {\n size: {\n 4: 15,\n },\n },\n {\n sizeSize: (size) => Math.round(size),\n sizeLineHeight: (size) => Math.round(size * 1.1 + (size >= 12 ? 12 : 4)),\n }\n)\n\nconst monoFont = createGenericFont(\n `\"ui-monospace\", \"SFMono-Regular\", \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace`,\n {\n weight: {\n 1: '500',\n },\n size: {\n 1: 10,\n 2: 11,\n 3: 12,\n 4: 15,\n 5: 16,\n 6: 18,\n 7: 20,\n 8: 22,\n 9: 30,\n 10: 42,\n 11: 52,\n 12: 62,\n 13: 72,\n 14: 92,\n 15: 114,\n 16: 124,\n },\n },\n {\n sizeLineHeight: (x) => x * 1.5,\n }\n)\n\nexport const config = {\n defaultTheme: 'light',\n shouldAddPrefersColorThemes: true,\n themeClassNameOnRoot: true,\n animations,\n media,\n shorthands,\n themes,\n tokens,\n fonts: {\n // noto: notoFont as any,\n heading: headingFont,\n body: bodyFont,\n mono: monoFont,\n silkscreen: silkscreenFont,\n },\n}\n"],
5
+ "mappings": "AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA,MAAM,iBAAiB,qBAAqB;AAC5C,MAAM,cAAc,gBAClB;AAAA,EACE,MAAM;AAAA,IACJ,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAAA,EACA,WAAW;AAAA,IACT,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAAA,EACA,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAAA,EACA,OAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAAA,EACA,eAAe;AAAA,IACb,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EACN;AACF,GACA,EAAE,gBAAgB,CAAC,SAAS,KAAK,MAAM,OAAO,MAAO,QAAO,KAAK,KAAK,EAAE,EAAE,CAC5E;AACA,MAAM,WAAW,gBACf;AAAA,EACE,MAAM;AAAA,IACJ,GAAG;AAAA,EACL;AACF,GACA;AAAA,EACE,UAAU,CAAC,SAAS,KAAK,MAAM,IAAI;AAAA,EACnC,gBAAgB,CAAC,SAAS,KAAK,MAAM,OAAO,MAAO,SAAQ,KAAK,KAAK,EAAE;AACzE,CACF;AAEA,MAAM,WAAW,kBACf,8FACA;AAAA,EACE,QAAQ;AAAA,IACN,GAAG;AAAA,EACL;AAAA,EACA,MAAM;AAAA,IACJ,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EACN;AACF,GACA;AAAA,EACE,gBAAgB,CAAC,MAAM,IAAI;AAC7B,CACF;AAEO,MAAM,SAAS;AAAA,EACpB,cAAc;AAAA,EACd,6BAA6B;AAAA,EAC7B,sBAAsB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,IAEL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,MAAM;AAAA,IACN,YAAY;AAAA,EACd;AACF;",
6
+ "names": []
7
+ }
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@tamagui/config-base",
3
+ "version": "1.0.1-beta.100",
4
+ "types": "./types/index.d.ts",
5
+ "main": "dist/cjs",
6
+ "module": "dist/esm",
7
+ "module:jsx": "dist/jsx",
8
+ "files": [
9
+ "src",
10
+ "types",
11
+ "dist"
12
+ ],
13
+ "scripts": {
14
+ "build": "tamagui-build",
15
+ "watch": "tamagui-build --watch",
16
+ "clean": "tamagui-build clean",
17
+ "clean:build": "tamagui-build clean:build"
18
+ },
19
+ "dependencies": {
20
+ "@tamagui/animations-reanimated": "^1.0.1-beta.100",
21
+ "@tamagui/colors": "^1.0.1-beta.100",
22
+ "@tamagui/core": "^1.0.1-beta.100",
23
+ "@tamagui/font-inter": "^1.0.1-beta.100",
24
+ "@tamagui/font-silkscreen": "^1.0.1-beta.100",
25
+ "@tamagui/shorthands": "^1.0.1-beta.100",
26
+ "@tamagui/theme-base": "^1.0.1-beta.100"
27
+ },
28
+ "devDependencies": {
29
+ "@tamagui/build": "^1.0.1-beta.100"
30
+ },
31
+ "publishConfig": {
32
+ "access": "public"
33
+ }
34
+ }
@@ -0,0 +1,32 @@
1
+ import { createAnimations } from '@tamagui/animations-reanimated'
2
+
3
+ export const animations = createAnimations({
4
+ bouncy: {
5
+ type: 'spring',
6
+ damping: 9,
7
+ mass: 0.9,
8
+ stiffness: 150,
9
+ },
10
+ lazy: {
11
+ type: 'spring',
12
+ damping: 18,
13
+ stiffness: 50,
14
+ },
15
+ slow: {
16
+ type: 'spring',
17
+ damping: 15,
18
+ stiffness: 40,
19
+ },
20
+ quick: {
21
+ type: 'spring',
22
+ damping: 20,
23
+ mass: 1.2,
24
+ stiffness: 250,
25
+ },
26
+ tooltip: {
27
+ type: 'spring',
28
+ damping: 10,
29
+ mass: 0.9,
30
+ stiffness: 100,
31
+ },
32
+ })
@@ -0,0 +1,42 @@
1
+ import { GenericFont, createFont } from '@tamagui/core'
2
+
3
+ const genericFontSizes = {
4
+ 1: 10,
5
+ 2: 11,
6
+ 3: 12,
7
+ 4: 14,
8
+ 5: 15,
9
+ 6: 16,
10
+ 7: 20,
11
+ 8: 22,
12
+ 9: 30,
13
+ 10: 42,
14
+ 11: 52,
15
+ 12: 62,
16
+ 13: 72,
17
+ 14: 92,
18
+ 15: 114,
19
+ 16: 124,
20
+ } as const
21
+
22
+ export function createGenericFont<A extends GenericFont<keyof typeof genericFontSizes>>(
23
+ family: string,
24
+ font: Partial<A> = {},
25
+ {
26
+ sizeLineHeight = (val) => val * 1.35,
27
+ }: {
28
+ sizeLineHeight?: (val: number) => number
29
+ } = {}
30
+ ): A {
31
+ const size = font.size || genericFontSizes
32
+ return createFont({
33
+ family,
34
+ size,
35
+ lineHeight: Object.fromEntries(
36
+ Object.entries(size).map(([k, v]) => [k, sizeLineHeight(+v)])
37
+ ) as typeof size,
38
+ weight: { 0: '300' },
39
+ letterSpacing: { 4: 0 },
40
+ ...(font as any),
41
+ })
42
+ }
package/src/index.tsx ADDED
@@ -0,0 +1,4 @@
1
+ export * from './tamagui.config'
2
+ export * from './animations'
3
+ export * from './media'
4
+ export * from './createGenericFont'
package/src/media.ts ADDED
@@ -0,0 +1,25 @@
1
+ export const demoMedia = [500, 620, 780, 900]
2
+ export const widths = [660, 800, 1020, 1280]
3
+
4
+ export const media = {
5
+ // for site
6
+ lg: { maxWidth: 1280 },
7
+ md: { maxWidth: 1020 },
8
+ sm: { maxWidth: 800 },
9
+ xs: { maxWidth: 660 },
10
+ xxs: { maxWidth: 390 },
11
+ gtXs: { minWidth: 660 + 1 },
12
+ gtSm: { minWidth: 800 + 1 },
13
+ gtMd: { minWidth: 1020 + 1 },
14
+ gtLg: { minWidth: 1280 + 1 },
15
+
16
+ // for responsive demo only
17
+ tiny: { maxWidth: 500 },
18
+ gtTiny: { minWidth: 500 + 1 },
19
+ small: { maxWidth: 620 },
20
+ gtSmall: { minWidth: 620 + 1 },
21
+ medium: { maxWidth: 780 },
22
+ gtMedium: { minWidth: 780 + 1 },
23
+ large: { maxWidth: 900 },
24
+ gtLarge: { minWidth: 900 + 1 },
25
+ }
@@ -0,0 +1,101 @@
1
+ import { createInterFont } from '@tamagui/font-inter'
2
+ import { createSilkscreenFont } from '@tamagui/font-silkscreen'
3
+ import { shorthands } from '@tamagui/shorthands'
4
+ import { themes, tokens } from '@tamagui/theme-base'
5
+
6
+ import { animations } from './animations'
7
+ import { createGenericFont } from './createGenericFont'
8
+ import { media } from './media'
9
+
10
+ const silkscreenFont = createSilkscreenFont()
11
+ const headingFont = createInterFont(
12
+ {
13
+ size: {
14
+ 5: 13,
15
+ 6: 15,
16
+ },
17
+ transform: {
18
+ 6: 'uppercase',
19
+ 7: 'none',
20
+ },
21
+ weight: {
22
+ 6: '400',
23
+ 7: '700',
24
+ },
25
+ color: {
26
+ 6: '$colorFocus',
27
+ 7: '$color',
28
+ },
29
+ letterSpacing: {
30
+ 5: 2,
31
+ 6: 1,
32
+ 7: 0,
33
+ 8: 0,
34
+ 9: -1,
35
+ 10: -1,
36
+ 12: -2,
37
+ 14: -3,
38
+ 15: -4,
39
+ },
40
+ },
41
+ { sizeLineHeight: (size) => Math.round(size * 1.1 + (size < 30 ? 10 : 0)) }
42
+ )
43
+ const bodyFont = createInterFont(
44
+ {
45
+ size: {
46
+ 4: 15,
47
+ },
48
+ },
49
+ {
50
+ sizeSize: (size) => Math.round(size),
51
+ sizeLineHeight: (size) => Math.round(size * 1.1 + (size >= 12 ? 12 : 4)),
52
+ }
53
+ )
54
+
55
+ const monoFont = createGenericFont(
56
+ `"ui-monospace", "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace`,
57
+ {
58
+ weight: {
59
+ 1: '500',
60
+ },
61
+ size: {
62
+ 1: 10,
63
+ 2: 11,
64
+ 3: 12,
65
+ 4: 15,
66
+ 5: 16,
67
+ 6: 18,
68
+ 7: 20,
69
+ 8: 22,
70
+ 9: 30,
71
+ 10: 42,
72
+ 11: 52,
73
+ 12: 62,
74
+ 13: 72,
75
+ 14: 92,
76
+ 15: 114,
77
+ 16: 124,
78
+ },
79
+ },
80
+ {
81
+ sizeLineHeight: (x) => x * 1.5,
82
+ }
83
+ )
84
+
85
+ export const config = {
86
+ defaultTheme: 'light',
87
+ shouldAddPrefersColorThemes: true,
88
+ themeClassNameOnRoot: true,
89
+ animations,
90
+ media,
91
+ shorthands,
92
+ themes,
93
+ tokens,
94
+ fonts: {
95
+ // noto: notoFont as any,
96
+ heading: headingFont,
97
+ body: bodyFont,
98
+ mono: monoFont,
99
+ silkscreen: silkscreenFont,
100
+ },
101
+ }
@@ -0,0 +1,31 @@
1
+ export declare const animations: import("@tamagui/core").AnimationDriver<{
2
+ bouncy: {
3
+ type: "spring";
4
+ damping: number;
5
+ mass: number;
6
+ stiffness: number;
7
+ };
8
+ lazy: {
9
+ type: "spring";
10
+ damping: number;
11
+ stiffness: number;
12
+ };
13
+ slow: {
14
+ type: "spring";
15
+ damping: number;
16
+ stiffness: number;
17
+ };
18
+ quick: {
19
+ type: "spring";
20
+ damping: number;
21
+ mass: number;
22
+ stiffness: number;
23
+ };
24
+ tooltip: {
25
+ type: "spring";
26
+ damping: number;
27
+ mass: number;
28
+ stiffness: number;
29
+ };
30
+ }>;
31
+ //# sourceMappingURL=animations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animations.d.ts","sourceRoot":"","sources":["../src/animations.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BrB,CAAA"}
@@ -0,0 +1,24 @@
1
+ import { GenericFont } from '@tamagui/core';
2
+ declare const genericFontSizes: {
3
+ readonly 1: 10;
4
+ readonly 2: 11;
5
+ readonly 3: 12;
6
+ readonly 4: 14;
7
+ readonly 5: 15;
8
+ readonly 6: 16;
9
+ readonly 7: 20;
10
+ readonly 8: 22;
11
+ readonly 9: 30;
12
+ readonly 10: 42;
13
+ readonly 11: 52;
14
+ readonly 12: 62;
15
+ readonly 13: 72;
16
+ readonly 14: 92;
17
+ readonly 15: 114;
18
+ readonly 16: 124;
19
+ };
20
+ export declare function createGenericFont<A extends GenericFont<keyof typeof genericFontSizes>>(family: string, font?: Partial<A>, { sizeLineHeight, }?: {
21
+ sizeLineHeight?: (val: number) => number;
22
+ }): A;
23
+ export {};
24
+ //# sourceMappingURL=createGenericFont.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createGenericFont.d.ts","sourceRoot":"","sources":["../src/createGenericFont.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,eAAe,CAAA;AAEvD,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;CAiBZ,CAAA;AAEV,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,OAAO,gBAAgB,CAAC,EACpF,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,OAAO,CAAC,CAAC,CAAM,EACrB,EACE,cAAoC,GACrC,GAAE;IACD,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;CACpC,GACL,CAAC,CAYH"}
@@ -0,0 +1,5 @@
1
+ export * from './tamagui.config';
2
+ export * from './animations';
3
+ export * from './media';
4
+ export * from './createGenericFont';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,56 @@
1
+ export declare const demoMedia: number[];
2
+ export declare const widths: number[];
3
+ export declare const media: {
4
+ lg: {
5
+ maxWidth: number;
6
+ };
7
+ md: {
8
+ maxWidth: number;
9
+ };
10
+ sm: {
11
+ maxWidth: number;
12
+ };
13
+ xs: {
14
+ maxWidth: number;
15
+ };
16
+ xxs: {
17
+ maxWidth: number;
18
+ };
19
+ gtXs: {
20
+ minWidth: number;
21
+ };
22
+ gtSm: {
23
+ minWidth: number;
24
+ };
25
+ gtMd: {
26
+ minWidth: number;
27
+ };
28
+ gtLg: {
29
+ minWidth: number;
30
+ };
31
+ tiny: {
32
+ maxWidth: number;
33
+ };
34
+ gtTiny: {
35
+ minWidth: number;
36
+ };
37
+ small: {
38
+ maxWidth: number;
39
+ };
40
+ gtSmall: {
41
+ minWidth: number;
42
+ };
43
+ medium: {
44
+ maxWidth: number;
45
+ };
46
+ gtMedium: {
47
+ minWidth: number;
48
+ };
49
+ large: {
50
+ maxWidth: number;
51
+ };
52
+ gtLarge: {
53
+ minWidth: number;
54
+ };
55
+ };
56
+ //# sourceMappingURL=media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,UAAuB,CAAA;AAC7C,eAAO,MAAM,MAAM,UAAyB,CAAA;AAE5C,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqBjB,CAAA"}