@tamagui/create-system-font 3.0.0-beta.924.1 → 3.0.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.
@@ -25,6 +25,10 @@ __export(index_exports, {
25
25
  defaultSystemFontSizes: () => defaultSystemFontSizes,
26
26
  nativeSystemFontSizes: () => nativeSystemFontSizes,
27
27
  systemFontFamily: () => systemFontFamily,
28
+ v5NativeSystemFontSizes: () => v5NativeSystemFontSizes,
29
+ v5SystemFontLineHeight: () => v5SystemFontLineHeight,
30
+ v5SystemFontSizes: () => v5SystemFontSizes,
31
+ v5WebSystemFontSizes: () => v5WebSystemFontSizes,
28
32
  webSystemFontSizes: () => webSystemFontSizes
29
33
  });
30
34
  module.exports = __toCommonJS(index_exports);
@@ -33,7 +37,20 @@ const systemFontFamily = {
33
37
  web: "-apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif",
34
38
  native: "System"
35
39
  };
36
- const webSystemFontSizes = {
40
+ const ramp = (start) => {
41
+ const out = {};
42
+ let px = start;
43
+ for (let i = 1; i <= 16; i++) {
44
+ out[i] = Math.round(px);
45
+ px *= Math.min(1.19, 1.05 + i * .019);
46
+ }
47
+ return out;
48
+ };
49
+ const webSystemFontSizes = ramp(11);
50
+ const nativeSystemFontSizes = ramp(13);
51
+ const defaultSystemFontSizes = webSystemFontSizes;
52
+ const defaultSystemFontLineHeight = (size) => Math.round(size * 1.35 + 3);
53
+ const v5WebSystemFontSizes = {
37
54
  1: 12,
38
55
  2: 13,
39
56
  3: 14,
@@ -51,7 +68,7 @@ const webSystemFontSizes = {
51
68
  15: 85,
52
69
  16: 100
53
70
  };
54
- const nativeSystemFontSizes = {
71
+ const v5NativeSystemFontSizes = {
55
72
  1: 11,
56
73
  2: 12,
57
74
  3: 15,
@@ -69,8 +86,8 @@ const nativeSystemFontSizes = {
69
86
  15: 85,
70
87
  16: 100
71
88
  };
72
- const defaultSystemFontSizes = webSystemFontSizes;
73
- const defaultSystemFontLineHeight = (size) => {
89
+ const v5SystemFontSizes = v5WebSystemFontSizes;
90
+ const v5SystemFontLineHeight = (size) => {
74
91
  const ratio = 1.5 - Math.max(0, (size - 20) * .004);
75
92
  return Math.round(size * ratio);
76
93
  };
@@ -27,6 +27,10 @@ __export(index_exports, {
27
27
  defaultSystemFontSizes: () => defaultSystemFontSizes,
28
28
  nativeSystemFontSizes: () => nativeSystemFontSizes,
29
29
  systemFontFamily: () => systemFontFamily,
30
+ v5NativeSystemFontSizes: () => v5NativeSystemFontSizes,
31
+ v5SystemFontLineHeight: () => v5SystemFontLineHeight,
32
+ v5SystemFontSizes: () => v5SystemFontSizes,
33
+ v5WebSystemFontSizes: () => v5WebSystemFontSizes,
30
34
  webSystemFontSizes: () => webSystemFontSizes
31
35
  });
32
36
  module.exports = __toCommonJS(index_exports);
@@ -37,7 +41,22 @@ var systemFontFamily = {
37
41
  web: "-apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif",
38
42
  native: "System"
39
43
  };
40
- var webSystemFontSizes = {
44
+ var ramp = function(start) {
45
+ var out = {};
46
+ var px = start;
47
+ for (var i = 1; i <= 16; i++) {
48
+ out[i] = Math.round(px);
49
+ px *= Math.min(1.19, 1.05 + i * .019);
50
+ }
51
+ return out;
52
+ };
53
+ var webSystemFontSizes = ramp(11);
54
+ var nativeSystemFontSizes = ramp(13);
55
+ var defaultSystemFontSizes = isNative ? nativeSystemFontSizes : webSystemFontSizes;
56
+ var defaultSystemFontLineHeight = function(size) {
57
+ return isNative ? Math.round(size * 1.2 + 4) : Math.round(size * 1.35 + 3);
58
+ };
59
+ var v5WebSystemFontSizes = {
41
60
  1: 12,
42
61
  2: 13,
43
62
  3: 14,
@@ -55,7 +74,7 @@ var webSystemFontSizes = {
55
74
  15: 85,
56
75
  16: 100
57
76
  };
58
- var nativeSystemFontSizes = {
77
+ var v5NativeSystemFontSizes = {
59
78
  1: 11,
60
79
  2: 12,
61
80
  3: 15,
@@ -73,8 +92,8 @@ var nativeSystemFontSizes = {
73
92
  15: 85,
74
93
  16: 100
75
94
  };
76
- var defaultSystemFontSizes = isNative ? nativeSystemFontSizes : webSystemFontSizes;
77
- var defaultSystemFontLineHeight = function(size) {
95
+ var v5SystemFontSizes = isNative ? v5NativeSystemFontSizes : v5WebSystemFontSizes;
96
+ var v5SystemFontLineHeight = function(size) {
78
97
  if (isNative) return Math.round(size + 5);
79
98
  var ratio = 1.5 - Math.max(0, (size - 20) * .004);
80
99
  return Math.round(size * ratio);
@@ -27,6 +27,10 @@ __export(index_exports, {
27
27
  defaultSystemFontSizes: () => defaultSystemFontSizes,
28
28
  nativeSystemFontSizes: () => nativeSystemFontSizes,
29
29
  systemFontFamily: () => systemFontFamily,
30
+ v5NativeSystemFontSizes: () => v5NativeSystemFontSizes,
31
+ v5SystemFontLineHeight: () => v5SystemFontLineHeight,
32
+ v5SystemFontSizes: () => v5SystemFontSizes,
33
+ v5WebSystemFontSizes: () => v5WebSystemFontSizes,
30
34
  webSystemFontSizes: () => webSystemFontSizes
31
35
  });
32
36
  module.exports = __toCommonJS(index_exports);
@@ -37,7 +41,22 @@ var systemFontFamily = {
37
41
  web: "-apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif",
38
42
  native: "System"
39
43
  };
40
- var webSystemFontSizes = {
44
+ var ramp = function(start) {
45
+ var out = {};
46
+ var px = start;
47
+ for (var i = 1; i <= 16; i++) {
48
+ out[i] = Math.round(px);
49
+ px *= Math.min(1.19, 1.05 + i * .019);
50
+ }
51
+ return out;
52
+ };
53
+ var webSystemFontSizes = ramp(11);
54
+ var nativeSystemFontSizes = ramp(13);
55
+ var defaultSystemFontSizes = isNative ? nativeSystemFontSizes : webSystemFontSizes;
56
+ var defaultSystemFontLineHeight = function(size) {
57
+ return isNative ? Math.round(size * 1.2 + 4) : Math.round(size * 1.35 + 3);
58
+ };
59
+ var v5WebSystemFontSizes = {
41
60
  1: 12,
42
61
  2: 13,
43
62
  3: 14,
@@ -55,7 +74,7 @@ var webSystemFontSizes = {
55
74
  15: 85,
56
75
  16: 100
57
76
  };
58
- var nativeSystemFontSizes = {
77
+ var v5NativeSystemFontSizes = {
59
78
  1: 11,
60
79
  2: 12,
61
80
  3: 15,
@@ -73,8 +92,8 @@ var nativeSystemFontSizes = {
73
92
  15: 85,
74
93
  16: 100
75
94
  };
76
- var defaultSystemFontSizes = isNative ? nativeSystemFontSizes : webSystemFontSizes;
77
- var defaultSystemFontLineHeight = function(size) {
95
+ var v5SystemFontSizes = isNative ? v5NativeSystemFontSizes : v5WebSystemFontSizes;
96
+ var v5SystemFontLineHeight = function(size) {
78
97
  if (isNative) return Math.round(size + 5);
79
98
  var ratio = 1.5 - Math.max(0, (size - 20) * .004);
80
99
  return Math.round(size * ratio);
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":[],"sources":["cjs/index.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar index_exports = {};\n__export(index_exports, {\n\tcreateSystemFont: () => createSystemFont,\n\tdefaultSystemFontLineHeight: () => defaultSystemFontLineHeight,\n\tdefaultSystemFontSizes: () => defaultSystemFontSizes,\n\tnativeSystemFontSizes: () => nativeSystemFontSizes,\n\tsystemFontFamily: () => systemFontFamily,\n\twebSystemFontSizes: () => webSystemFontSizes\n});\nmodule.exports = __toCommonJS(index_exports);\nvar import_core = require(\"@tamagui/core\");\nvar isWeb = false;\nvar isNative = true;\nvar systemFontFamily = {\n\tweb: \"-apple-system, system-ui, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Helvetica, Arial, sans-serif\",\n\tnative: \"System\"\n};\nvar webSystemFontSizes = {\n\t1: 12,\n\t2: 13,\n\t3: 14,\n\t4: 15,\n\t5: 16,\n\t6: 18,\n\t7: 22,\n\t8: 26,\n\t9: 30,\n\t10: 40,\n\t11: 46,\n\t12: 52,\n\t13: 60,\n\t14: 70,\n\t15: 85,\n\t16: 100\n};\nvar nativeSystemFontSizes = {\n\t1: 11,\n\t2: 12,\n\t3: 15,\n\t4: 17,\n\t5: 20,\n\t6: 22,\n\t7: 24,\n\t8: 28,\n\t9: 32,\n\t10: 40,\n\t11: 46,\n\t12: 52,\n\t13: 60,\n\t14: 70,\n\t15: 85,\n\t16: 100\n};\nvar defaultSystemFontSizes = isNative ? nativeSystemFontSizes : webSystemFontSizes;\nvar defaultSystemFontLineHeight = function(size) {\n\tif (isNative) return Math.round(size + 5);\n\tvar ratio = 1.5 - Math.max(0, (size - 20) * .004);\n\treturn Math.round(size * ratio);\n};\nvar createSystemFont = function() {\n\tvar options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n\tvar { sizeLineHeight = defaultSystemFontLineHeight, sizeSize = function(size2) {\n\t\treturn Math.round(size2);\n\t}, family = isWeb ? systemFontFamily.web : systemFontFamily.native, weight = { 1: \"400\" }, letterSpacing = { 4: 0 } } = options;\n\tvar font = options.font;\n\tvar _options_sizes;\n\tvar sizes = (_options_sizes = options.sizes) !== null && _options_sizes !== void 0 ? _options_sizes : defaultSystemFontSizes;\n\tvar _font_size;\n\tvar fontSizes = (_font_size = font === null || font === void 0 ? void 0 : font.size) !== null && _font_size !== void 0 ? _font_size : {};\n\tvar size = Object.fromEntries(Object.entries({\n\t\t...sizes,\n\t\t...fontSizes\n\t}).map(function(param) {\n\t\tvar [key, value] = param;\n\t\treturn [key, sizeSize(+value)];\n\t}));\n\treturn (0, import_core.createFont)({\n\t\tfamily,\n\t\tlineHeight: Object.fromEntries(Object.entries(size).map(function(param) {\n\t\t\tvar [key, value] = param;\n\t\t\treturn [key, sizeLineHeight((0, import_core.getVariableValue)(value))];\n\t\t})),\n\t\tweight,\n\t\tletterSpacing,\n\t\t...font,\n\t\tsize\n\t});\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","names":[],"sources":["cjs/index.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar index_exports = {};\n__export(index_exports, {\n\tcreateSystemFont: () => createSystemFont,\n\tdefaultSystemFontLineHeight: () => defaultSystemFontLineHeight,\n\tdefaultSystemFontSizes: () => defaultSystemFontSizes,\n\tnativeSystemFontSizes: () => nativeSystemFontSizes,\n\tsystemFontFamily: () => systemFontFamily,\n\tv5NativeSystemFontSizes: () => v5NativeSystemFontSizes,\n\tv5SystemFontLineHeight: () => v5SystemFontLineHeight,\n\tv5SystemFontSizes: () => v5SystemFontSizes,\n\tv5WebSystemFontSizes: () => v5WebSystemFontSizes,\n\twebSystemFontSizes: () => webSystemFontSizes\n});\nmodule.exports = __toCommonJS(index_exports);\nvar import_core = require(\"@tamagui/core\");\nvar isWeb = false;\nvar isNative = true;\nvar systemFontFamily = {\n\tweb: \"-apple-system, system-ui, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Helvetica, Arial, sans-serif\",\n\tnative: \"System\"\n};\nvar ramp = function(start) {\n\tvar out = {};\n\tvar px = start;\n\tfor (var i = 1; i <= 16; i++) {\n\t\tout[i] = Math.round(px);\n\t\tpx *= Math.min(1.19, 1.05 + i * .019);\n\t}\n\treturn out;\n};\nvar webSystemFontSizes = ramp(11);\nvar nativeSystemFontSizes = ramp(13);\nvar defaultSystemFontSizes = isNative ? nativeSystemFontSizes : webSystemFontSizes;\nvar defaultSystemFontLineHeight = function(size) {\n\treturn isNative ? Math.round(size * 1.2 + 4) : Math.round(size * 1.35 + 3);\n};\nvar v5WebSystemFontSizes = {\n\t1: 12,\n\t2: 13,\n\t3: 14,\n\t4: 15,\n\t5: 16,\n\t6: 18,\n\t7: 22,\n\t8: 26,\n\t9: 30,\n\t10: 40,\n\t11: 46,\n\t12: 52,\n\t13: 60,\n\t14: 70,\n\t15: 85,\n\t16: 100\n};\nvar v5NativeSystemFontSizes = {\n\t1: 11,\n\t2: 12,\n\t3: 15,\n\t4: 17,\n\t5: 20,\n\t6: 22,\n\t7: 24,\n\t8: 28,\n\t9: 32,\n\t10: 40,\n\t11: 46,\n\t12: 52,\n\t13: 60,\n\t14: 70,\n\t15: 85,\n\t16: 100\n};\nvar v5SystemFontSizes = isNative ? v5NativeSystemFontSizes : v5WebSystemFontSizes;\nvar v5SystemFontLineHeight = function(size) {\n\tif (isNative) return Math.round(size + 5);\n\tvar ratio = 1.5 - Math.max(0, (size - 20) * .004);\n\treturn Math.round(size * ratio);\n};\nvar createSystemFont = function() {\n\tvar options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n\tvar { sizeLineHeight = defaultSystemFontLineHeight, sizeSize = function(size2) {\n\t\treturn Math.round(size2);\n\t}, family = isWeb ? systemFontFamily.web : systemFontFamily.native, weight = { 1: \"400\" }, letterSpacing = { 4: 0 } } = options;\n\tvar font = options.font;\n\tvar _options_sizes;\n\tvar sizes = (_options_sizes = options.sizes) !== null && _options_sizes !== void 0 ? _options_sizes : defaultSystemFontSizes;\n\tvar _font_size;\n\tvar fontSizes = (_font_size = font === null || font === void 0 ? void 0 : font.size) !== null && _font_size !== void 0 ? _font_size : {};\n\tvar size = Object.fromEntries(Object.entries({\n\t\t...sizes,\n\t\t...fontSizes\n\t}).map(function(param) {\n\t\tvar [key, value] = param;\n\t\treturn [key, sizeSize(+value)];\n\t}));\n\treturn (0, import_core.createFont)({\n\t\tfamily,\n\t\tlineHeight: Object.fromEntries(Object.entries(size).map(function(param) {\n\t\t\tvar [key, value] = param;\n\t\t\treturn [key, sizeLineHeight((0, import_core.getVariableValue)(value))];\n\t\t})),\n\t\tweight,\n\t\tletterSpacing,\n\t\t...font,\n\t\tsize\n\t});\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -4,7 +4,20 @@ const systemFontFamily = {
4
4
  web: "-apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif",
5
5
  native: "System"
6
6
  };
7
- const webSystemFontSizes = {
7
+ const ramp = (start) => {
8
+ const out = {};
9
+ let px = start;
10
+ for (let i = 1; i <= 16; i++) {
11
+ out[i] = Math.round(px);
12
+ px *= Math.min(1.19, 1.05 + i * .019);
13
+ }
14
+ return out;
15
+ };
16
+ const webSystemFontSizes = ramp(11);
17
+ const nativeSystemFontSizes = ramp(13);
18
+ const defaultSystemFontSizes = webSystemFontSizes;
19
+ const defaultSystemFontLineHeight = (size) => Math.round(size * 1.35 + 3);
20
+ const v5WebSystemFontSizes = {
8
21
  1: 12,
9
22
  2: 13,
10
23
  3: 14,
@@ -22,7 +35,7 @@ const webSystemFontSizes = {
22
35
  15: 85,
23
36
  16: 100
24
37
  };
25
- const nativeSystemFontSizes = {
38
+ const v5NativeSystemFontSizes = {
26
39
  1: 11,
27
40
  2: 12,
28
41
  3: 15,
@@ -40,8 +53,8 @@ const nativeSystemFontSizes = {
40
53
  15: 85,
41
54
  16: 100
42
55
  };
43
- const defaultSystemFontSizes = webSystemFontSizes;
44
- const defaultSystemFontLineHeight = (size) => {
56
+ const v5SystemFontSizes = v5WebSystemFontSizes;
57
+ const v5SystemFontLineHeight = (size) => {
45
58
  const ratio = 1.5 - Math.max(0, (size - 20) * .004);
46
59
  return Math.round(size * ratio);
47
60
  };
@@ -64,5 +77,5 @@ const createSystemFont = (options = {}) => {
64
77
  });
65
78
  };
66
79
 
67
- export { createSystemFont, defaultSystemFontLineHeight, defaultSystemFontSizes, nativeSystemFontSizes, systemFontFamily, webSystemFontSizes };
80
+ export { createSystemFont, defaultSystemFontLineHeight, defaultSystemFontSizes, nativeSystemFontSizes, systemFontFamily, v5NativeSystemFontSizes, v5SystemFontLineHeight, v5SystemFontSizes, v5WebSystemFontSizes, webSystemFontSizes };
68
81
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["esm/index.js"],"sourcesContent":["import { createFont, getVariableValue } from \"@tamagui/core\";\n\nconst systemFontFamily = {\n\tweb: \"-apple-system, system-ui, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Helvetica, Arial, sans-serif\",\n\tnative: \"System\"\n};\nconst webSystemFontSizes = {\n\t1: 12,\n\t2: 13,\n\t3: 14,\n\t4: 15,\n\t5: 16,\n\t6: 18,\n\t7: 22,\n\t8: 26,\n\t9: 30,\n\t10: 40,\n\t11: 46,\n\t12: 52,\n\t13: 60,\n\t14: 70,\n\t15: 85,\n\t16: 100\n};\nconst nativeSystemFontSizes = {\n\t1: 11,\n\t2: 12,\n\t3: 15,\n\t4: 17,\n\t5: 20,\n\t6: 22,\n\t7: 24,\n\t8: 28,\n\t9: 32,\n\t10: 40,\n\t11: 46,\n\t12: 52,\n\t13: 60,\n\t14: 70,\n\t15: 85,\n\t16: 100\n};\nconst defaultSystemFontSizes = webSystemFontSizes;\nconst defaultSystemFontLineHeight = (size) => {\n\tconst ratio = 1.5 - Math.max(0, (size - 20) * .004);\n\treturn Math.round(size * ratio);\n};\nconst createSystemFont = (options = {}) => {\n\tconst { sizeLineHeight = defaultSystemFontLineHeight, sizeSize = (size2) => Math.round(size2), family = systemFontFamily.web, weight = { 1: \"400\" }, letterSpacing = { 4: 0 } } = options;\n\tconst font = options.font;\n\tconst sizes = options.sizes ?? defaultSystemFontSizes;\n\tconst fontSizes = font?.size ?? {};\n\tconst size = Object.fromEntries(Object.entries({\n\t\t...sizes,\n\t\t...fontSizes\n\t}).map(([key, value]) => [key, sizeSize(+value)]));\n\treturn createFont({\n\t\tfamily,\n\t\tlineHeight: Object.fromEntries(Object.entries(size).map(([key, value]) => [key, sizeLineHeight(getVariableValue(value))])),\n\t\tweight,\n\t\tletterSpacing,\n\t\t...font,\n\t\tsize\n\t});\n};\n\nexport { createSystemFont, defaultSystemFontLineHeight, defaultSystemFontSizes, nativeSystemFontSizes, systemFontFamily, webSystemFontSizes };"],"mappings":";;;AAEA,MAAM,mBAAmB;CACxB,KAAK;CACL,QAAQ;AACT;AACA,MAAM,qBAAqB;CAC1B,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACL;AACA,MAAM,wBAAwB;CAC7B,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACL;AACA,MAAM,yBAAyB;AAC/B,MAAM,+BAA+B,SAAS;CAC7C,MAAM,QAAQ,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,IAAI;CAClD,OAAO,KAAK,MAAM,OAAO,KAAK;AAC/B;AACA,MAAM,oBAAoB,UAAU,CAAC,MAAM;CAC1C,MAAM,EAAE,iBAAiB,6BAA6B,YAAY,UAAU,KAAK,MAAM,KAAK,GAAG,SAAS,iBAAiB,KAAK,SAAS,EAAE,GAAG,MAAM,GAAG,gBAAgB,EAAE,GAAG,EAAE,MAAM;CAClL,MAAM,OAAO,QAAQ;CACrB,MAAM,QAAQ,QAAQ,SAAS;CAC/B,MAAM,YAAY,MAAM,QAAQ,CAAC;CACjC,MAAM,OAAO,OAAO,YAAY,OAAO,QAAQ;EAC9C,GAAG;EACH,GAAG;CACJ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;CACjD,OAAO,WAAW;EACjB;EACA,YAAY,OAAO,YAAY,OAAO,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,eAAe,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC;EACzH;EACA;EACA,GAAG;EACH;CACD,CAAC;AACF"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["esm/index.js"],"sourcesContent":["import { createFont, getVariableValue } from \"@tamagui/core\";\n\nconst systemFontFamily = {\n\tweb: \"-apple-system, system-ui, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Helvetica, Arial, sans-serif\",\n\tnative: \"System\"\n};\nconst ramp = (start) => {\n\tconst out = {};\n\tlet px = start;\n\tfor (let i = 1; i <= 16; i++) {\n\t\tout[i] = Math.round(px);\n\t\tpx *= Math.min(1.19, 1.05 + i * .019);\n\t}\n\treturn out;\n};\nconst webSystemFontSizes = ramp(11);\nconst nativeSystemFontSizes = ramp(13);\nconst defaultSystemFontSizes = webSystemFontSizes;\nconst defaultSystemFontLineHeight = (size) => Math.round(size * 1.35 + 3);\nconst v5WebSystemFontSizes = {\n\t1: 12,\n\t2: 13,\n\t3: 14,\n\t4: 15,\n\t5: 16,\n\t6: 18,\n\t7: 22,\n\t8: 26,\n\t9: 30,\n\t10: 40,\n\t11: 46,\n\t12: 52,\n\t13: 60,\n\t14: 70,\n\t15: 85,\n\t16: 100\n};\nconst v5NativeSystemFontSizes = {\n\t1: 11,\n\t2: 12,\n\t3: 15,\n\t4: 17,\n\t5: 20,\n\t6: 22,\n\t7: 24,\n\t8: 28,\n\t9: 32,\n\t10: 40,\n\t11: 46,\n\t12: 52,\n\t13: 60,\n\t14: 70,\n\t15: 85,\n\t16: 100\n};\nconst v5SystemFontSizes = v5WebSystemFontSizes;\nconst v5SystemFontLineHeight = (size) => {\n\tconst ratio = 1.5 - Math.max(0, (size - 20) * .004);\n\treturn Math.round(size * ratio);\n};\nconst createSystemFont = (options = {}) => {\n\tconst { sizeLineHeight = defaultSystemFontLineHeight, sizeSize = (size2) => Math.round(size2), family = systemFontFamily.web, weight = { 1: \"400\" }, letterSpacing = { 4: 0 } } = options;\n\tconst font = options.font;\n\tconst sizes = options.sizes ?? defaultSystemFontSizes;\n\tconst fontSizes = font?.size ?? {};\n\tconst size = Object.fromEntries(Object.entries({\n\t\t...sizes,\n\t\t...fontSizes\n\t}).map(([key, value]) => [key, sizeSize(+value)]));\n\treturn createFont({\n\t\tfamily,\n\t\tlineHeight: Object.fromEntries(Object.entries(size).map(([key, value]) => [key, sizeLineHeight(getVariableValue(value))])),\n\t\tweight,\n\t\tletterSpacing,\n\t\t...font,\n\t\tsize\n\t});\n};\n\nexport { createSystemFont, defaultSystemFontLineHeight, defaultSystemFontSizes, nativeSystemFontSizes, systemFontFamily, v5NativeSystemFontSizes, v5SystemFontLineHeight, v5SystemFontSizes, v5WebSystemFontSizes, webSystemFontSizes };"],"mappings":";;;AAEA,MAAM,mBAAmB;CACxB,KAAK;CACL,QAAQ;AACT;AACA,MAAM,QAAQ,UAAU;CACvB,MAAM,MAAM,CAAC;CACb,IAAI,KAAK;CACT,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,KAAK;EAC7B,IAAI,KAAK,KAAK,MAAM,EAAE;EACtB,MAAM,KAAK,IAAI,MAAM,OAAO,IAAI,IAAI;CACrC;CACA,OAAO;AACR;AACA,MAAM,qBAAqB,KAAK,EAAE;AAClC,MAAM,wBAAwB,KAAK,EAAE;AACrC,MAAM,yBAAyB;AAC/B,MAAM,+BAA+B,SAAS,KAAK,MAAM,OAAO,OAAO,CAAC;AACxE,MAAM,uBAAuB;CAC5B,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACL;AACA,MAAM,0BAA0B;CAC/B,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACL;AACA,MAAM,oBAAoB;AAC1B,MAAM,0BAA0B,SAAS;CACxC,MAAM,QAAQ,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,IAAI;CAClD,OAAO,KAAK,MAAM,OAAO,KAAK;AAC/B;AACA,MAAM,oBAAoB,UAAU,CAAC,MAAM;CAC1C,MAAM,EAAE,iBAAiB,6BAA6B,YAAY,UAAU,KAAK,MAAM,KAAK,GAAG,SAAS,iBAAiB,KAAK,SAAS,EAAE,GAAG,MAAM,GAAG,gBAAgB,EAAE,GAAG,EAAE,MAAM;CAClL,MAAM,OAAO,QAAQ;CACrB,MAAM,QAAQ,QAAQ,SAAS;CAC/B,MAAM,YAAY,MAAM,QAAQ,CAAC;CACjC,MAAM,OAAO,OAAO,YAAY,OAAO,QAAQ;EAC9C,GAAG;EACH,GAAG;CACJ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;CACjD,OAAO,WAAW;EACjB;EACA,YAAY,OAAO,YAAY,OAAO,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,eAAe,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC;EACzH;EACA;EACA,GAAG;EACH;CACD,CAAC;AACF"}
@@ -4,7 +4,20 @@ const systemFontFamily = {
4
4
  web: "-apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif",
5
5
  native: "System"
6
6
  };
7
- const webSystemFontSizes = {
7
+ const ramp = (start) => {
8
+ const out = {};
9
+ let px = start;
10
+ for (let i = 1; i <= 16; i++) {
11
+ out[i] = Math.round(px);
12
+ px *= Math.min(1.19, 1.05 + i * .019);
13
+ }
14
+ return out;
15
+ };
16
+ const webSystemFontSizes = ramp(11);
17
+ const nativeSystemFontSizes = ramp(13);
18
+ const defaultSystemFontSizes = webSystemFontSizes;
19
+ const defaultSystemFontLineHeight = (size) => Math.round(size * 1.35 + 3);
20
+ const v5WebSystemFontSizes = {
8
21
  1: 12,
9
22
  2: 13,
10
23
  3: 14,
@@ -22,7 +35,7 @@ const webSystemFontSizes = {
22
35
  15: 85,
23
36
  16: 100
24
37
  };
25
- const nativeSystemFontSizes = {
38
+ const v5NativeSystemFontSizes = {
26
39
  1: 11,
27
40
  2: 12,
28
41
  3: 15,
@@ -40,8 +53,8 @@ const nativeSystemFontSizes = {
40
53
  15: 85,
41
54
  16: 100
42
55
  };
43
- const defaultSystemFontSizes = webSystemFontSizes;
44
- const defaultSystemFontLineHeight = (size) => {
56
+ const v5SystemFontSizes = v5WebSystemFontSizes;
57
+ const v5SystemFontLineHeight = (size) => {
45
58
  const ratio = 1.5 - Math.max(0, (size - 20) * .004);
46
59
  return Math.round(size * ratio);
47
60
  };
@@ -64,5 +77,5 @@ const createSystemFont = (options = {}) => {
64
77
  });
65
78
  };
66
79
 
67
- export { createSystemFont, defaultSystemFontLineHeight, defaultSystemFontSizes, nativeSystemFontSizes, systemFontFamily, webSystemFontSizes };
80
+ export { createSystemFont, defaultSystemFontLineHeight, defaultSystemFontSizes, nativeSystemFontSizes, systemFontFamily, v5NativeSystemFontSizes, v5SystemFontLineHeight, v5SystemFontSizes, v5WebSystemFontSizes, webSystemFontSizes };
68
81
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["esm/index.js"],"sourcesContent":["import { createFont, getVariableValue } from \"@tamagui/core\";\n\nconst systemFontFamily = {\n\tweb: \"-apple-system, system-ui, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Helvetica, Arial, sans-serif\",\n\tnative: \"System\"\n};\nconst webSystemFontSizes = {\n\t1: 12,\n\t2: 13,\n\t3: 14,\n\t4: 15,\n\t5: 16,\n\t6: 18,\n\t7: 22,\n\t8: 26,\n\t9: 30,\n\t10: 40,\n\t11: 46,\n\t12: 52,\n\t13: 60,\n\t14: 70,\n\t15: 85,\n\t16: 100\n};\nconst nativeSystemFontSizes = {\n\t1: 11,\n\t2: 12,\n\t3: 15,\n\t4: 17,\n\t5: 20,\n\t6: 22,\n\t7: 24,\n\t8: 28,\n\t9: 32,\n\t10: 40,\n\t11: 46,\n\t12: 52,\n\t13: 60,\n\t14: 70,\n\t15: 85,\n\t16: 100\n};\nconst defaultSystemFontSizes = webSystemFontSizes;\nconst defaultSystemFontLineHeight = (size) => {\n\tconst ratio = 1.5 - Math.max(0, (size - 20) * .004);\n\treturn Math.round(size * ratio);\n};\nconst createSystemFont = (options = {}) => {\n\tconst { sizeLineHeight = defaultSystemFontLineHeight, sizeSize = (size2) => Math.round(size2), family = systemFontFamily.web, weight = { 1: \"400\" }, letterSpacing = { 4: 0 } } = options;\n\tconst font = options.font;\n\tconst sizes = options.sizes ?? defaultSystemFontSizes;\n\tconst fontSizes = font?.size ?? {};\n\tconst size = Object.fromEntries(Object.entries({\n\t\t...sizes,\n\t\t...fontSizes\n\t}).map(([key, value]) => [key, sizeSize(+value)]));\n\treturn createFont({\n\t\tfamily,\n\t\tlineHeight: Object.fromEntries(Object.entries(size).map(([key, value]) => [key, sizeLineHeight(getVariableValue(value))])),\n\t\tweight,\n\t\tletterSpacing,\n\t\t...font,\n\t\tsize\n\t});\n};\n\nexport { createSystemFont, defaultSystemFontLineHeight, defaultSystemFontSizes, nativeSystemFontSizes, systemFontFamily, webSystemFontSizes };"],"mappings":";;;AAEA,MAAM,mBAAmB;CACxB,KAAK;CACL,QAAQ;AACT;AACA,MAAM,qBAAqB;CAC1B,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACL;AACA,MAAM,wBAAwB;CAC7B,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACL;AACA,MAAM,yBAAyB;AAC/B,MAAM,+BAA+B,SAAS;CAC7C,MAAM,QAAQ,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,IAAI;CAClD,OAAO,KAAK,MAAM,OAAO,KAAK;AAC/B;AACA,MAAM,oBAAoB,UAAU,CAAC,MAAM;CAC1C,MAAM,EAAE,iBAAiB,6BAA6B,YAAY,UAAU,KAAK,MAAM,KAAK,GAAG,SAAS,iBAAiB,KAAK,SAAS,EAAE,GAAG,MAAM,GAAG,gBAAgB,EAAE,GAAG,EAAE,MAAM;CAClL,MAAM,OAAO,QAAQ;CACrB,MAAM,QAAQ,QAAQ,SAAS;CAC/B,MAAM,YAAY,MAAM,QAAQ,CAAC;CACjC,MAAM,OAAO,OAAO,YAAY,OAAO,QAAQ;EAC9C,GAAG;EACH,GAAG;CACJ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;CACjD,OAAO,WAAW;EACjB;EACA,YAAY,OAAO,YAAY,OAAO,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,eAAe,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC;EACzH;EACA;EACA,GAAG;EACH;CACD,CAAC;AACF"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["esm/index.js"],"sourcesContent":["import { createFont, getVariableValue } from \"@tamagui/core\";\n\nconst systemFontFamily = {\n\tweb: \"-apple-system, system-ui, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Helvetica, Arial, sans-serif\",\n\tnative: \"System\"\n};\nconst ramp = (start) => {\n\tconst out = {};\n\tlet px = start;\n\tfor (let i = 1; i <= 16; i++) {\n\t\tout[i] = Math.round(px);\n\t\tpx *= Math.min(1.19, 1.05 + i * .019);\n\t}\n\treturn out;\n};\nconst webSystemFontSizes = ramp(11);\nconst nativeSystemFontSizes = ramp(13);\nconst defaultSystemFontSizes = webSystemFontSizes;\nconst defaultSystemFontLineHeight = (size) => Math.round(size * 1.35 + 3);\nconst v5WebSystemFontSizes = {\n\t1: 12,\n\t2: 13,\n\t3: 14,\n\t4: 15,\n\t5: 16,\n\t6: 18,\n\t7: 22,\n\t8: 26,\n\t9: 30,\n\t10: 40,\n\t11: 46,\n\t12: 52,\n\t13: 60,\n\t14: 70,\n\t15: 85,\n\t16: 100\n};\nconst v5NativeSystemFontSizes = {\n\t1: 11,\n\t2: 12,\n\t3: 15,\n\t4: 17,\n\t5: 20,\n\t6: 22,\n\t7: 24,\n\t8: 28,\n\t9: 32,\n\t10: 40,\n\t11: 46,\n\t12: 52,\n\t13: 60,\n\t14: 70,\n\t15: 85,\n\t16: 100\n};\nconst v5SystemFontSizes = v5WebSystemFontSizes;\nconst v5SystemFontLineHeight = (size) => {\n\tconst ratio = 1.5 - Math.max(0, (size - 20) * .004);\n\treturn Math.round(size * ratio);\n};\nconst createSystemFont = (options = {}) => {\n\tconst { sizeLineHeight = defaultSystemFontLineHeight, sizeSize = (size2) => Math.round(size2), family = systemFontFamily.web, weight = { 1: \"400\" }, letterSpacing = { 4: 0 } } = options;\n\tconst font = options.font;\n\tconst sizes = options.sizes ?? defaultSystemFontSizes;\n\tconst fontSizes = font?.size ?? {};\n\tconst size = Object.fromEntries(Object.entries({\n\t\t...sizes,\n\t\t...fontSizes\n\t}).map(([key, value]) => [key, sizeSize(+value)]));\n\treturn createFont({\n\t\tfamily,\n\t\tlineHeight: Object.fromEntries(Object.entries(size).map(([key, value]) => [key, sizeLineHeight(getVariableValue(value))])),\n\t\tweight,\n\t\tletterSpacing,\n\t\t...font,\n\t\tsize\n\t});\n};\n\nexport { createSystemFont, defaultSystemFontLineHeight, defaultSystemFontSizes, nativeSystemFontSizes, systemFontFamily, v5NativeSystemFontSizes, v5SystemFontLineHeight, v5SystemFontSizes, v5WebSystemFontSizes, webSystemFontSizes };"],"mappings":";;;AAEA,MAAM,mBAAmB;CACxB,KAAK;CACL,QAAQ;AACT;AACA,MAAM,QAAQ,UAAU;CACvB,MAAM,MAAM,CAAC;CACb,IAAI,KAAK;CACT,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,KAAK;EAC7B,IAAI,KAAK,KAAK,MAAM,EAAE;EACtB,MAAM,KAAK,IAAI,MAAM,OAAO,IAAI,IAAI;CACrC;CACA,OAAO;AACR;AACA,MAAM,qBAAqB,KAAK,EAAE;AAClC,MAAM,wBAAwB,KAAK,EAAE;AACrC,MAAM,yBAAyB;AAC/B,MAAM,+BAA+B,SAAS,KAAK,MAAM,OAAO,OAAO,CAAC;AACxE,MAAM,uBAAuB;CAC5B,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACL;AACA,MAAM,0BAA0B;CAC/B,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACL;AACA,MAAM,oBAAoB;AAC1B,MAAM,0BAA0B,SAAS;CACxC,MAAM,QAAQ,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,IAAI;CAClD,OAAO,KAAK,MAAM,OAAO,KAAK;AAC/B;AACA,MAAM,oBAAoB,UAAU,CAAC,MAAM;CAC1C,MAAM,EAAE,iBAAiB,6BAA6B,YAAY,UAAU,KAAK,MAAM,KAAK,GAAG,SAAS,iBAAiB,KAAK,SAAS,EAAE,GAAG,MAAM,GAAG,gBAAgB,EAAE,GAAG,EAAE,MAAM;CAClL,MAAM,OAAO,QAAQ;CACrB,MAAM,QAAQ,QAAQ,SAAS;CAC/B,MAAM,YAAY,MAAM,QAAQ,CAAC;CACjC,MAAM,OAAO,OAAO,YAAY,OAAO,QAAQ;EAC9C,GAAG;EACH,GAAG;CACJ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;CACjD,OAAO,WAAW;EACjB;EACA,YAAY,OAAO,YAAY,OAAO,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,eAAe,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC;EACzH;EACA;EACA,GAAG;EACH;CACD,CAAC;AACF"}
@@ -6,7 +6,22 @@ var systemFontFamily = {
6
6
  web: "-apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif",
7
7
  native: "System"
8
8
  };
9
- var webSystemFontSizes = {
9
+ var ramp = function(start) {
10
+ var out = {};
11
+ var px = start;
12
+ for (var i = 1; i <= 16; i++) {
13
+ out[i] = Math.round(px);
14
+ px *= Math.min(1.19, 1.05 + i * .019);
15
+ }
16
+ return out;
17
+ };
18
+ var webSystemFontSizes = ramp(11);
19
+ var nativeSystemFontSizes = ramp(13);
20
+ var defaultSystemFontSizes = isNative ? nativeSystemFontSizes : webSystemFontSizes;
21
+ var defaultSystemFontLineHeight = function(size) {
22
+ return isNative ? Math.round(size * 1.2 + 4) : Math.round(size * 1.35 + 3);
23
+ };
24
+ var v5WebSystemFontSizes = {
10
25
  1: 12,
11
26
  2: 13,
12
27
  3: 14,
@@ -24,7 +39,7 @@ var webSystemFontSizes = {
24
39
  15: 85,
25
40
  16: 100
26
41
  };
27
- var nativeSystemFontSizes = {
42
+ var v5NativeSystemFontSizes = {
28
43
  1: 11,
29
44
  2: 12,
30
45
  3: 15,
@@ -42,8 +57,8 @@ var nativeSystemFontSizes = {
42
57
  15: 85,
43
58
  16: 100
44
59
  };
45
- var defaultSystemFontSizes = isNative ? nativeSystemFontSizes : webSystemFontSizes;
46
- var defaultSystemFontLineHeight = function(size) {
60
+ var v5SystemFontSizes = isNative ? v5NativeSystemFontSizes : v5WebSystemFontSizes;
61
+ var v5SystemFontLineHeight = function(size) {
47
62
  if (isNative) return Math.round(size + 5);
48
63
  var ratio = 1.5 - Math.max(0, (size - 20) * .004);
49
64
  return Math.round(size * ratio);
@@ -78,5 +93,5 @@ var createSystemFont = function() {
78
93
  });
79
94
  };
80
95
 
81
- export { createSystemFont, defaultSystemFontLineHeight, defaultSystemFontSizes, nativeSystemFontSizes, systemFontFamily, webSystemFontSizes };
96
+ export { createSystemFont, defaultSystemFontLineHeight, defaultSystemFontSizes, nativeSystemFontSizes, systemFontFamily, v5NativeSystemFontSizes, v5SystemFontLineHeight, v5SystemFontSizes, v5WebSystemFontSizes, webSystemFontSizes };
82
97
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":[],"sources":["esm/index.native.js"],"sourcesContent":["import { createFont, getVariableValue } from \"@tamagui/core\";\n\nvar isWeb = false;\nvar isNative = true;\nvar systemFontFamily = {\n\tweb: \"-apple-system, system-ui, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Helvetica, Arial, sans-serif\",\n\tnative: \"System\"\n};\nvar webSystemFontSizes = {\n\t1: 12,\n\t2: 13,\n\t3: 14,\n\t4: 15,\n\t5: 16,\n\t6: 18,\n\t7: 22,\n\t8: 26,\n\t9: 30,\n\t10: 40,\n\t11: 46,\n\t12: 52,\n\t13: 60,\n\t14: 70,\n\t15: 85,\n\t16: 100\n};\nvar nativeSystemFontSizes = {\n\t1: 11,\n\t2: 12,\n\t3: 15,\n\t4: 17,\n\t5: 20,\n\t6: 22,\n\t7: 24,\n\t8: 28,\n\t9: 32,\n\t10: 40,\n\t11: 46,\n\t12: 52,\n\t13: 60,\n\t14: 70,\n\t15: 85,\n\t16: 100\n};\nvar defaultSystemFontSizes = isNative ? nativeSystemFontSizes : webSystemFontSizes;\nvar defaultSystemFontLineHeight = function(size) {\n\tif (isNative) return Math.round(size + 5);\n\tvar ratio = 1.5 - Math.max(0, (size - 20) * .004);\n\treturn Math.round(size * ratio);\n};\nvar createSystemFont = function() {\n\tvar options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n\tvar { sizeLineHeight = defaultSystemFontLineHeight, sizeSize = function(size2) {\n\t\treturn Math.round(size2);\n\t}, family = isWeb ? systemFontFamily.web : systemFontFamily.native, weight = { 1: \"400\" }, letterSpacing = { 4: 0 } } = options;\n\tvar font = options.font;\n\tvar _options_sizes;\n\tvar sizes = (_options_sizes = options.sizes) !== null && _options_sizes !== void 0 ? _options_sizes : defaultSystemFontSizes;\n\tvar _font_size;\n\tvar fontSizes = (_font_size = font === null || font === void 0 ? void 0 : font.size) !== null && _font_size !== void 0 ? _font_size : {};\n\tvar size = Object.fromEntries(Object.entries({\n\t\t...sizes,\n\t\t...fontSizes\n\t}).map(function(param) {\n\t\tvar [key, value] = param;\n\t\treturn [key, sizeSize(+value)];\n\t}));\n\treturn createFont({\n\t\tfamily,\n\t\tlineHeight: Object.fromEntries(Object.entries(size).map(function(param) {\n\t\t\tvar [key, value] = param;\n\t\t\treturn [key, sizeLineHeight(getVariableValue(value))];\n\t\t})),\n\t\tweight,\n\t\tletterSpacing,\n\t\t...font,\n\t\tsize\n\t});\n};\n\nexport { createSystemFont, defaultSystemFontLineHeight, defaultSystemFontSizes, nativeSystemFontSizes, systemFontFamily, webSystemFontSizes };"],"mappings":";;;AAEA,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,IAAI,mBAAmB;CACtB,KAAK;CACL,QAAQ;AACT;AACA,IAAI,qBAAqB;CACxB,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACL;AACA,IAAI,wBAAwB;CAC3B,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACL;AACA,IAAI,yBAAyB,WAAW,wBAAwB;AAChE,IAAI,8BAA8B,SAAS,MAAM;CAChD,IAAI,UAAU,OAAO,KAAK,MAAM,OAAO,CAAC;CACxC,IAAI,QAAQ,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,IAAI;CAChD,OAAO,KAAK,MAAM,OAAO,KAAK;AAC/B;AACA,IAAI,mBAAmB,WAAW;CACjC,IAAI,UAAU,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK,CAAC;CAChF,IAAI,EAAE,iBAAiB,6BAA6B,WAAW,SAAS,OAAO;EAC9E,OAAO,KAAK,MAAM,KAAK;CACxB,GAAG,SAAS,QAAQ,iBAAiB,MAAM,iBAAiB,QAAQ,SAAS,EAAE,GAAG,MAAM,GAAG,gBAAgB,EAAE,GAAG,EAAE,MAAM;CACxH,IAAI,OAAO,QAAQ;CACnB,IAAI;CACJ,IAAI,SAAS,iBAAiB,QAAQ,WAAW,QAAQ,mBAAmB,KAAK,IAAI,iBAAiB;CACtG,IAAI;CACJ,IAAI,aAAa,aAAa,SAAS,QAAQ,SAAS,KAAK,IAAI,KAAK,IAAI,KAAK,UAAU,QAAQ,eAAe,KAAK,IAAI,aAAa,CAAC;CACvI,IAAI,OAAO,OAAO,YAAY,OAAO,QAAQ;EAC5C,GAAG;EACH,GAAG;CACJ,CAAC,CAAC,CAAC,IAAI,SAAS,OAAO;EACtB,IAAI,CAAC,KAAK,SAAS;EACnB,OAAO,CAAC,KAAK,SAAS,CAAC,KAAK,CAAC;CAC9B,CAAC,CAAC;CACF,OAAO,WAAW;EACjB;EACA,YAAY,OAAO,YAAY,OAAO,QAAQ,IAAI,CAAC,CAAC,IAAI,SAAS,OAAO;GACvE,IAAI,CAAC,KAAK,SAAS;GACnB,OAAO,CAAC,KAAK,eAAe,iBAAiB,KAAK,CAAC,CAAC;EACrD,CAAC,CAAC;EACF;EACA;EACA,GAAG;EACH;CACD,CAAC;AACF"}
1
+ {"version":3,"file":"index.native.js","names":[],"sources":["esm/index.native.js"],"sourcesContent":["import { createFont, getVariableValue } from \"@tamagui/core\";\n\nvar isWeb = false;\nvar isNative = true;\nvar systemFontFamily = {\n\tweb: \"-apple-system, system-ui, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Helvetica, Arial, sans-serif\",\n\tnative: \"System\"\n};\nvar ramp = function(start) {\n\tvar out = {};\n\tvar px = start;\n\tfor (var i = 1; i <= 16; i++) {\n\t\tout[i] = Math.round(px);\n\t\tpx *= Math.min(1.19, 1.05 + i * .019);\n\t}\n\treturn out;\n};\nvar webSystemFontSizes = ramp(11);\nvar nativeSystemFontSizes = ramp(13);\nvar defaultSystemFontSizes = isNative ? nativeSystemFontSizes : webSystemFontSizes;\nvar defaultSystemFontLineHeight = function(size) {\n\treturn isNative ? Math.round(size * 1.2 + 4) : Math.round(size * 1.35 + 3);\n};\nvar v5WebSystemFontSizes = {\n\t1: 12,\n\t2: 13,\n\t3: 14,\n\t4: 15,\n\t5: 16,\n\t6: 18,\n\t7: 22,\n\t8: 26,\n\t9: 30,\n\t10: 40,\n\t11: 46,\n\t12: 52,\n\t13: 60,\n\t14: 70,\n\t15: 85,\n\t16: 100\n};\nvar v5NativeSystemFontSizes = {\n\t1: 11,\n\t2: 12,\n\t3: 15,\n\t4: 17,\n\t5: 20,\n\t6: 22,\n\t7: 24,\n\t8: 28,\n\t9: 32,\n\t10: 40,\n\t11: 46,\n\t12: 52,\n\t13: 60,\n\t14: 70,\n\t15: 85,\n\t16: 100\n};\nvar v5SystemFontSizes = isNative ? v5NativeSystemFontSizes : v5WebSystemFontSizes;\nvar v5SystemFontLineHeight = function(size) {\n\tif (isNative) return Math.round(size + 5);\n\tvar ratio = 1.5 - Math.max(0, (size - 20) * .004);\n\treturn Math.round(size * ratio);\n};\nvar createSystemFont = function() {\n\tvar options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n\tvar { sizeLineHeight = defaultSystemFontLineHeight, sizeSize = function(size2) {\n\t\treturn Math.round(size2);\n\t}, family = isWeb ? systemFontFamily.web : systemFontFamily.native, weight = { 1: \"400\" }, letterSpacing = { 4: 0 } } = options;\n\tvar font = options.font;\n\tvar _options_sizes;\n\tvar sizes = (_options_sizes = options.sizes) !== null && _options_sizes !== void 0 ? _options_sizes : defaultSystemFontSizes;\n\tvar _font_size;\n\tvar fontSizes = (_font_size = font === null || font === void 0 ? void 0 : font.size) !== null && _font_size !== void 0 ? _font_size : {};\n\tvar size = Object.fromEntries(Object.entries({\n\t\t...sizes,\n\t\t...fontSizes\n\t}).map(function(param) {\n\t\tvar [key, value] = param;\n\t\treturn [key, sizeSize(+value)];\n\t}));\n\treturn createFont({\n\t\tfamily,\n\t\tlineHeight: Object.fromEntries(Object.entries(size).map(function(param) {\n\t\t\tvar [key, value] = param;\n\t\t\treturn [key, sizeLineHeight(getVariableValue(value))];\n\t\t})),\n\t\tweight,\n\t\tletterSpacing,\n\t\t...font,\n\t\tsize\n\t});\n};\n\nexport { createSystemFont, defaultSystemFontLineHeight, defaultSystemFontSizes, nativeSystemFontSizes, systemFontFamily, v5NativeSystemFontSizes, v5SystemFontLineHeight, v5SystemFontSizes, v5WebSystemFontSizes, webSystemFontSizes };"],"mappings":";;;AAEA,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,IAAI,mBAAmB;CACtB,KAAK;CACL,QAAQ;AACT;AACA,IAAI,OAAO,SAAS,OAAO;CAC1B,IAAI,MAAM,CAAC;CACX,IAAI,KAAK;CACT,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,KAAK;EAC7B,IAAI,KAAK,KAAK,MAAM,EAAE;EACtB,MAAM,KAAK,IAAI,MAAM,OAAO,IAAI,IAAI;CACrC;CACA,OAAO;AACR;AACA,IAAI,qBAAqB,KAAK,EAAE;AAChC,IAAI,wBAAwB,KAAK,EAAE;AACnC,IAAI,yBAAyB,WAAW,wBAAwB;AAChE,IAAI,8BAA8B,SAAS,MAAM;CAChD,OAAO,WAAW,KAAK,MAAM,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,OAAO,OAAO,CAAC;AAC1E;AACA,IAAI,uBAAuB;CAC1B,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACL;AACA,IAAI,0BAA0B;CAC7B,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACL;AACA,IAAI,oBAAoB,WAAW,0BAA0B;AAC7D,IAAI,yBAAyB,SAAS,MAAM;CAC3C,IAAI,UAAU,OAAO,KAAK,MAAM,OAAO,CAAC;CACxC,IAAI,QAAQ,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,IAAI;CAChD,OAAO,KAAK,MAAM,OAAO,KAAK;AAC/B;AACA,IAAI,mBAAmB,WAAW;CACjC,IAAI,UAAU,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK,CAAC;CAChF,IAAI,EAAE,iBAAiB,6BAA6B,WAAW,SAAS,OAAO;EAC9E,OAAO,KAAK,MAAM,KAAK;CACxB,GAAG,SAAS,QAAQ,iBAAiB,MAAM,iBAAiB,QAAQ,SAAS,EAAE,GAAG,MAAM,GAAG,gBAAgB,EAAE,GAAG,EAAE,MAAM;CACxH,IAAI,OAAO,QAAQ;CACnB,IAAI;CACJ,IAAI,SAAS,iBAAiB,QAAQ,WAAW,QAAQ,mBAAmB,KAAK,IAAI,iBAAiB;CACtG,IAAI;CACJ,IAAI,aAAa,aAAa,SAAS,QAAQ,SAAS,KAAK,IAAI,KAAK,IAAI,KAAK,UAAU,QAAQ,eAAe,KAAK,IAAI,aAAa,CAAC;CACvI,IAAI,OAAO,OAAO,YAAY,OAAO,QAAQ;EAC5C,GAAG;EACH,GAAG;CACJ,CAAC,CAAC,CAAC,IAAI,SAAS,OAAO;EACtB,IAAI,CAAC,KAAK,SAAS;EACnB,OAAO,CAAC,KAAK,SAAS,CAAC,KAAK,CAAC;CAC9B,CAAC,CAAC;CACF,OAAO,WAAW;EACjB;EACA,YAAY,OAAO,YAAY,OAAO,QAAQ,IAAI,CAAC,CAAC,IAAI,SAAS,OAAO;GACvE,IAAI,CAAC,KAAK,SAAS;GACnB,OAAO,CAAC,KAAK,eAAe,iBAAiB,KAAK,CAAC,CAAC;EACrD,CAAC,CAAC;EACF;EACA;EACA,GAAG;EACH;CACD,CAAC;AACF"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@tamagui/create-system-font",
3
- "version": "3.0.0-beta.924.1",
3
+ "version": "3.0.1",
4
+ "license": "MIT",
4
5
  "files": [
5
6
  "src",
6
7
  "types",
@@ -35,10 +36,10 @@
35
36
  "test:web": "bun run test"
36
37
  },
37
38
  "dependencies": {
38
- "@tamagui/core": "3.0.0-beta.924.1"
39
+ "@tamagui/core": "3.0.1"
39
40
  },
40
41
  "devDependencies": {
41
- "@tamagui/build": "3.0.0-beta.924.1",
42
+ "@tamagui/build": "3.0.1",
42
43
  "react": "19.2.3",
43
44
  "vitest": "4.1.0"
44
45
  },
@@ -49,5 +50,6 @@
49
50
  "type": "git",
50
51
  "url": "git+https://github.com/tamagui/tamagui.git",
51
52
  "directory": "code/core/create-system-font"
52
- }
53
+ },
54
+ "releaseSourceCommit": "c156b7cc55e5a6cc5883ebc8189720850ac32dbd"
53
55
  }
package/src/index.ts CHANGED
@@ -22,7 +22,43 @@ export const systemFontFamily = {
22
22
  native: 'System',
23
23
  } as const
24
24
 
25
- export const webSystemFontSizes = {
25
+ // the whole ramp from one equation. each step is a little bigger than the one
26
+ // before it, 8% at the UI sizes easing up to 19% at the display sizes, because
27
+ // small text wants about a point between steps and big text wants a proportion.
28
+ // the tables this replaced had cliffs: web went 30 to 40 from size 9 to 10, a
29
+ // 33% step sitting between two 15% ones, and native jumped 25% from 2 to 3.
30
+ export type SystemFontScale = Record<
31
+ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16,
32
+ number
33
+ >
34
+
35
+ const ramp = (start: number): SystemFontScale => {
36
+ const out: Record<number, number> = {}
37
+ let px = start
38
+ for (let i = 1; i <= 16; i++) {
39
+ out[i] = Math.round(px)
40
+ px *= Math.min(1.19, 1.05 + i * 0.019)
41
+ }
42
+ return out as SystemFontScale
43
+ }
44
+
45
+ // 11 12 13 14 16 18 21 25 30 36 42 50 60 71 85 101
46
+ export const webSystemFontSizes: SystemFontScale = ramp(11)
47
+
48
+ // 13 14 15 17 19 22 25 30 35 42 50 60 71 84 100 119
49
+ export const nativeSystemFontSizes: SystemFontScale = ramp(13)
50
+
51
+ export const defaultSystemFontSizes: SystemFontScale = isNative
52
+ ? nativeSystemFontSizes
53
+ : webSystemFontSizes
54
+
55
+ // eases from about 1.6x at label sizes to 1.35x at display sizes. native runs
56
+ // tighter because its text box has no half leading above the cap line
57
+ export const defaultSystemFontLineHeight = (size: number): number =>
58
+ isNative ? Math.round(size * 1.2 + 4) : Math.round(size * 1.35 + 3)
59
+
60
+ // the v5 config pins these so upgrading the package does not resize a v5 app
61
+ export const v5WebSystemFontSizes = {
26
62
  1: 12,
27
63
  2: 13,
28
64
  3: 14,
@@ -41,7 +77,7 @@ export const webSystemFontSizes = {
41
77
  16: 100,
42
78
  } as const
43
79
 
44
- export const nativeSystemFontSizes = {
80
+ export const v5NativeSystemFontSizes = {
45
81
  1: 11,
46
82
  2: 12,
47
83
  3: 15,
@@ -60,11 +96,13 @@ export const nativeSystemFontSizes = {
60
96
  16: 100,
61
97
  } as const
62
98
 
63
- export const defaultSystemFontSizes:
64
- | typeof nativeSystemFontSizes
65
- | typeof webSystemFontSizes = isNative ? nativeSystemFontSizes : webSystemFontSizes
99
+ export const v5SystemFontSizes:
100
+ | typeof v5NativeSystemFontSizes
101
+ | typeof v5WebSystemFontSizes = isNative
102
+ ? v5NativeSystemFontSizes
103
+ : v5WebSystemFontSizes
66
104
 
67
- export const defaultSystemFontLineHeight = (size: number): number => {
105
+ export const v5SystemFontLineHeight = (size: number): number => {
68
106
  if (isNative) return Math.round(size + 5)
69
107
  const ratio = 1.5 - Math.max(0, (size - 20) * 0.004)
70
108
  return Math.round(size * ratio)
package/types/index.d.ts CHANGED
@@ -17,7 +17,12 @@ export declare const systemFontFamily: {
17
17
  readonly web: "-apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif";
18
18
  readonly native: "System";
19
19
  };
20
- export declare const webSystemFontSizes: {
20
+ export type SystemFontScale = Record<1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16, number>;
21
+ export declare const webSystemFontSizes: SystemFontScale;
22
+ export declare const nativeSystemFontSizes: SystemFontScale;
23
+ export declare const defaultSystemFontSizes: SystemFontScale;
24
+ export declare const defaultSystemFontLineHeight: (size: number) => number;
25
+ export declare const v5WebSystemFontSizes: {
21
26
  readonly 1: 12;
22
27
  readonly 2: 13;
23
28
  readonly 3: 14;
@@ -35,7 +40,7 @@ export declare const webSystemFontSizes: {
35
40
  readonly 15: 85;
36
41
  readonly 16: 100;
37
42
  };
38
- export declare const nativeSystemFontSizes: {
43
+ export declare const v5NativeSystemFontSizes: {
39
44
  readonly 1: 11;
40
45
  readonly 2: 12;
41
46
  readonly 3: 15;
@@ -53,8 +58,8 @@ export declare const nativeSystemFontSizes: {
53
58
  readonly 15: 85;
54
59
  readonly 16: 100;
55
60
  };
56
- export declare const defaultSystemFontSizes: typeof nativeSystemFontSizes | typeof webSystemFontSizes;
57
- export declare const defaultSystemFontLineHeight: (size: number) => number;
61
+ export declare const v5SystemFontSizes: typeof v5NativeSystemFontSizes | typeof v5WebSystemFontSizes;
62
+ export declare const v5SystemFontLineHeight: (size: number) => number;
58
63
  export declare const createSystemFont: <
59
64
  A extends GenericFont,
60
65
  Sizes extends SystemFontSizes = typeof webSystemFontSizes
@@ -1,11 +1,11 @@
1
1
  {
2
- "mappings": "AAAA,cAAc,YAAY,mBAAmB;KAGxC,kBAAkB;KAClB,eAAe,cAAc,yBAAyB;KAEtD;CAAwB,UAAU;CAAa,cAAc;IAAmB;CACnF,OAAO,QAAQ;CACf,QAAQ;CACR,kBAAkB;CAClB,YAAY;CACZ;CACA,SAAS,YAAY;CACrB,gBAAgB,YAAY;;AAM9B,OAAO,cAAM;UACX,KAAK;UACL,QAAQ;;AAGV,OAAO,cAAM;UACX,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,IAAI;UACJ,IAAI;UACJ,IAAI;UACJ,IAAI;UACJ,IAAI;UACJ,IAAI;UACJ,IAAI;;AAGN,OAAO,cAAM;UACX,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,IAAI;UACJ,IAAI;UACJ,IAAI;UACJ,IAAI;UACJ,IAAI;UACJ,IAAI;UACJ,IAAI;;AAGN,OAAO,cAAM,+BACF,+BACA;AAEX,OAAO,cAAM,8BAA+B;AAM5C,OAAO,cAAM;CACX,UAAU;CACV,cAAc,yBAAyB;EAEvC,UAAS,wBAAwB,GAAG,WACnC,WAAW,GAAG,eAAe",
2
+ "mappings": "AAAA,cAAc,YAAY,mBAAmB;KAGxC,kBAAkB;KAClB,eAAe,cAAc,yBAAyB;KAEtD;CAAwB,UAAU;CAAa,cAAc;IAAmB;CACnF,OAAO,QAAQ;CACf,QAAQ;CACR,kBAAkB;CAClB,YAAY;CACZ;CACA,SAAS,YAAY;CACrB,gBAAgB,YAAY;;AAM9B,OAAO,cAAM;UACX,KAAK;UACL,QAAQ;;AAQV,YAAY,kBAAkB,OAC5B,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK;AAepE,OAAO,cAAM,oBAAoB;AAGjC,OAAO,cAAM,uBAAuB;AAEpC,OAAO,cAAM,wBAAwB;AAMrC,OAAO,cAAM,8BAA+B;AAI5C,OAAO,cAAM;UACX,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,IAAI;UACJ,IAAI;UACJ,IAAI;UACJ,IAAI;UACJ,IAAI;UACJ,IAAI;UACJ,IAAI;;AAGN,OAAO,cAAM;UACX,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,GAAG;UACH,IAAI;UACJ,IAAI;UACJ,IAAI;UACJ,IAAI;UACJ,IAAI;UACJ,IAAI;UACJ,IAAI;;AAGN,OAAO,cAAM,0BACF,iCACA;AAIX,OAAO,cAAM,yBAA0B;AAMvC,OAAO,cAAM;CACX,UAAU;CACV,cAAc,yBAAyB;EAEvC,UAAS,wBAAwB,GAAG,WACnC,WAAW,GAAG,eAAe",
3
3
  "names": [],
4
4
  "sources": [
5
5
  "src/index.ts"
6
6
  ],
7
7
  "version": 3,
8
8
  "sourcesContent": [
9
- "import type { FillInFont, GenericFont } from '@tamagui/core'\nimport { createFont, getVariableValue } from '@tamagui/core'\n\ntype SystemFontSizes = Record<string | number, number>\ntype SystemFontKeys<Sizes extends SystemFontSizes> = keyof Sizes & (string | number)\n\ntype CreateSystemFontOptions<A extends GenericFont, Sizes extends SystemFontSizes> = {\n font?: Partial<A>\n sizes?: Sizes\n sizeLineHeight?: (fontSize: number) => number\n sizeSize?: (size: number) => number\n family?: string\n weight?: GenericFont['weight']\n letterSpacing?: GenericFont['letterSpacing']\n}\n\nconst isWeb = process.env.TAMAGUI_TARGET === 'web'\nconst isNative = process.env.TAMAGUI_TARGET === 'native'\n\nexport const systemFontFamily = {\n web: '-apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif',\n native: 'System',\n} as const\n\nexport const webSystemFontSizes = {\n 1: 12,\n 2: 13,\n 3: 14,\n 4: 15,\n 5: 16,\n 6: 18,\n 7: 22,\n 8: 26,\n 9: 30,\n 10: 40,\n 11: 46,\n 12: 52,\n 13: 60,\n 14: 70,\n 15: 85,\n 16: 100,\n} as const\n\nexport const nativeSystemFontSizes = {\n 1: 11,\n 2: 12,\n 3: 15,\n 4: 17,\n 5: 20,\n 6: 22,\n 7: 24,\n 8: 28,\n 9: 32,\n 10: 40,\n 11: 46,\n 12: 52,\n 13: 60,\n 14: 70,\n 15: 85,\n 16: 100,\n} as const\n\nexport const defaultSystemFontSizes:\n | typeof nativeSystemFontSizes\n | typeof webSystemFontSizes = isNative ? nativeSystemFontSizes : webSystemFontSizes\n\nexport const defaultSystemFontLineHeight = (size: number): number => {\n if (isNative) return Math.round(size + 5)\n const ratio = 1.5 - Math.max(0, (size - 20) * 0.004)\n return Math.round(size * ratio)\n}\n\nexport const createSystemFont = <\n A extends GenericFont,\n Sizes extends SystemFontSizes = typeof webSystemFontSizes,\n>(\n options: CreateSystemFontOptions<A, Sizes> = {}\n): FillInFont<A, SystemFontKeys<Sizes>> => {\n const {\n sizeLineHeight = defaultSystemFontLineHeight,\n sizeSize = (size) => Math.round(size),\n family = isWeb ? systemFontFamily.web : systemFontFamily.native,\n weight = {\n 1: '400',\n },\n letterSpacing = {\n 4: 0,\n },\n } = options\n const font = options.font\n const sizes = options.sizes ?? defaultSystemFontSizes\n const fontSizes = font?.size ?? {}\n\n const size = Object.fromEntries(\n Object.entries({\n ...sizes,\n ...fontSizes,\n }).map(([key, value]) => [key, sizeSize(+value)])\n )\n\n return createFont({\n family,\n lineHeight: Object.fromEntries(\n Object.entries(size).map(([key, value]) => [\n key,\n sizeLineHeight(getVariableValue(value)),\n ])\n ),\n weight,\n letterSpacing,\n ...(font as any),\n size,\n }) as FillInFont<A, SystemFontKeys<Sizes>>\n}\n"
9
+ "import type { FillInFont, GenericFont } from '@tamagui/core'\nimport { createFont, getVariableValue } from '@tamagui/core'\n\ntype SystemFontSizes = Record<string | number, number>\ntype SystemFontKeys<Sizes extends SystemFontSizes> = keyof Sizes & (string | number)\n\ntype CreateSystemFontOptions<A extends GenericFont, Sizes extends SystemFontSizes> = {\n font?: Partial<A>\n sizes?: Sizes\n sizeLineHeight?: (fontSize: number) => number\n sizeSize?: (size: number) => number\n family?: string\n weight?: GenericFont['weight']\n letterSpacing?: GenericFont['letterSpacing']\n}\n\nconst isWeb = process.env.TAMAGUI_TARGET === 'web'\nconst isNative = process.env.TAMAGUI_TARGET === 'native'\n\nexport const systemFontFamily = {\n web: '-apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif',\n native: 'System',\n} as const\n\n// the whole ramp from one equation. each step is a little bigger than the one\n// before it, 8% at the UI sizes easing up to 19% at the display sizes, because\n// small text wants about a point between steps and big text wants a proportion.\n// the tables this replaced had cliffs: web went 30 to 40 from size 9 to 10, a\n// 33% step sitting between two 15% ones, and native jumped 25% from 2 to 3.\nexport type SystemFontScale = Record<\n 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16,\n number\n>\n\nconst ramp = (start: number): SystemFontScale => {\n const out: Record<number, number> = {}\n let px = start\n for (let i = 1; i <= 16; i++) {\n out[i] = Math.round(px)\n px *= Math.min(1.19, 1.05 + i * 0.019)\n }\n return out as SystemFontScale\n}\n\n// 11 12 13 14 16 18 21 25 30 36 42 50 60 71 85 101\nexport const webSystemFontSizes: SystemFontScale = ramp(11)\n\n// 13 14 15 17 19 22 25 30 35 42 50 60 71 84 100 119\nexport const nativeSystemFontSizes: SystemFontScale = ramp(13)\n\nexport const defaultSystemFontSizes: SystemFontScale = isNative\n ? nativeSystemFontSizes\n : webSystemFontSizes\n\n// eases from about 1.6x at label sizes to 1.35x at display sizes. native runs\n// tighter because its text box has no half leading above the cap line\nexport const defaultSystemFontLineHeight = (size: number): number =>\n isNative ? Math.round(size * 1.2 + 4) : Math.round(size * 1.35 + 3)\n\n// the v5 config pins these so upgrading the package does not resize a v5 app\nexport const v5WebSystemFontSizes = {\n 1: 12,\n 2: 13,\n 3: 14,\n 4: 15,\n 5: 16,\n 6: 18,\n 7: 22,\n 8: 26,\n 9: 30,\n 10: 40,\n 11: 46,\n 12: 52,\n 13: 60,\n 14: 70,\n 15: 85,\n 16: 100,\n} as const\n\nexport const v5NativeSystemFontSizes = {\n 1: 11,\n 2: 12,\n 3: 15,\n 4: 17,\n 5: 20,\n 6: 22,\n 7: 24,\n 8: 28,\n 9: 32,\n 10: 40,\n 11: 46,\n 12: 52,\n 13: 60,\n 14: 70,\n 15: 85,\n 16: 100,\n} as const\n\nexport const v5SystemFontSizes:\n | typeof v5NativeSystemFontSizes\n | typeof v5WebSystemFontSizes = isNative\n ? v5NativeSystemFontSizes\n : v5WebSystemFontSizes\n\nexport const v5SystemFontLineHeight = (size: number): number => {\n if (isNative) return Math.round(size + 5)\n const ratio = 1.5 - Math.max(0, (size - 20) * 0.004)\n return Math.round(size * ratio)\n}\n\nexport const createSystemFont = <\n A extends GenericFont,\n Sizes extends SystemFontSizes = typeof webSystemFontSizes,\n>(\n options: CreateSystemFontOptions<A, Sizes> = {}\n): FillInFont<A, SystemFontKeys<Sizes>> => {\n const {\n sizeLineHeight = defaultSystemFontLineHeight,\n sizeSize = (size) => Math.round(size),\n family = isWeb ? systemFontFamily.web : systemFontFamily.native,\n weight = {\n 1: '400',\n },\n letterSpacing = {\n 4: 0,\n },\n } = options\n const font = options.font\n const sizes = options.sizes ?? defaultSystemFontSizes\n const fontSizes = font?.size ?? {}\n\n const size = Object.fromEntries(\n Object.entries({\n ...sizes,\n ...fontSizes,\n }).map(([key, value]) => [key, sizeSize(+value)])\n )\n\n return createFont({\n family,\n lineHeight: Object.fromEntries(\n Object.entries(size).map(([key, value]) => [\n key,\n sizeLineHeight(getVariableValue(value)),\n ])\n ),\n weight,\n letterSpacing,\n ...(font as any),\n size,\n }) as FillInFont<A, SystemFontKeys<Sizes>>\n}\n"
10
10
  ]
11
11
  }