@tamagui/get-font-sized 2.0.0-rc.4 → 2.0.0-rc.40
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.
- package/dist/cjs/index.cjs +83 -49
- package/dist/cjs/index.native.js +91 -62
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/index.js +61 -16
- package/dist/esm/index.js.map +1 -6
- package/dist/esm/index.mjs +69 -37
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +77 -50
- package/dist/esm/index.native.js.map +1 -1
- package/package.json +7 -10
- package/src/index.ts +5 -1
- package/dist/cjs/index.js +0 -52
- package/dist/cjs/index.js.map +0 -6
package/dist/cjs/index.cjs
CHANGED
|
@@ -3,20 +3,22 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
5
|
var __export = (target, all) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
13
14
|
get: () => from[key],
|
|
14
15
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
16
|
});
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
18
20
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
-
value:
|
|
21
|
+
value: true
|
|
20
22
|
}), mod);
|
|
21
23
|
var index_exports = {};
|
|
22
24
|
__export(index_exports, {
|
|
@@ -24,51 +26,83 @@ __export(index_exports, {
|
|
|
24
26
|
getFontSized: () => getFontSized
|
|
25
27
|
});
|
|
26
28
|
module.exports = __toCommonJS(index_exports);
|
|
27
|
-
var import_constants = require("@tamagui/constants")
|
|
28
|
-
|
|
29
|
+
var import_constants = require("@tamagui/constants");
|
|
30
|
+
var import_web = require("@tamagui/web");
|
|
29
31
|
const getFontSized = (sizeTokenIn = "$true", {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
font,
|
|
33
|
+
fontFamily,
|
|
34
|
+
props
|
|
35
|
+
}) => {
|
|
36
|
+
if (!font) {
|
|
37
|
+
return {
|
|
35
38
|
fontSize: sizeTokenIn
|
|
36
39
|
};
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
40
|
+
}
|
|
41
|
+
const sizeToken = sizeTokenIn === "$true" ? getDefaultSizeToken(font) : sizeTokenIn;
|
|
42
|
+
const style = {};
|
|
43
|
+
const fontSize = font.size[sizeToken];
|
|
44
|
+
const lineHeight = font.lineHeight?.[sizeToken];
|
|
45
|
+
const fontWeight = font.weight?.[sizeToken];
|
|
46
|
+
const letterSpacing = font.letterSpacing?.[sizeToken];
|
|
47
|
+
const textTransform = font.transform?.[sizeToken];
|
|
48
|
+
const fontStyle = props.fontStyle ?? font.style?.[sizeToken];
|
|
49
|
+
const color = props.color ?? font.color?.[sizeToken];
|
|
50
|
+
if (fontStyle) style.fontStyle = fontStyle;
|
|
51
|
+
if (textTransform) style.textTransform = textTransform;
|
|
52
|
+
if (fontFamily) style.fontFamily = fontFamily;
|
|
53
|
+
if (fontWeight) style.fontWeight = fontWeight;
|
|
54
|
+
if (letterSpacing) style.letterSpacing = letterSpacing;
|
|
55
|
+
if (fontSize) style.fontSize = fontSize;
|
|
56
|
+
if (lineHeight) style.lineHeight = lineHeight;
|
|
57
|
+
if (color) style.color = color;
|
|
58
|
+
if (process.env.NODE_ENV === "development") {
|
|
59
|
+
if (props["debug"] && props["debug"] === "verbose") {
|
|
60
|
+
console.groupCollapsed(" \u{1F539} getFontSized", sizeTokenIn, sizeToken);
|
|
61
|
+
if (import_constants.isClient) {
|
|
62
|
+
console.info({
|
|
63
|
+
style,
|
|
64
|
+
props,
|
|
65
|
+
font
|
|
66
|
+
});
|
|
58
67
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
68
|
+
console.groupEnd();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return style;
|
|
72
|
+
};
|
|
73
|
+
const SizableText = (0, import_web.styled)(import_web.Text, {
|
|
74
|
+
name: "SizableText",
|
|
75
|
+
fontFamily: "$body",
|
|
76
|
+
variants: {
|
|
77
|
+
size: {
|
|
78
|
+
"...fontSize": getFontSized
|
|
62
79
|
}
|
|
63
|
-
}
|
|
64
|
-
|
|
80
|
+
},
|
|
81
|
+
defaultVariants: {
|
|
82
|
+
size: "$true"
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
const cache = /* @__PURE__ */new WeakMap();
|
|
65
86
|
function getDefaultSizeToken(font) {
|
|
66
|
-
if (typeof font
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
87
|
+
if (typeof font === "object" && cache.has(font)) {
|
|
88
|
+
return cache.get(font);
|
|
89
|
+
}
|
|
90
|
+
const tokens = (0, import_web.getTokens)();
|
|
91
|
+
const sizeTokens = "$true" in font.size ? font.size : tokens?.size;
|
|
92
|
+
if (!sizeTokens) {
|
|
93
|
+
return Object.keys(font.size)[3];
|
|
94
|
+
}
|
|
95
|
+
const sizeDefault = sizeTokens["$true"];
|
|
96
|
+
const sizeDefaultSpecific = sizeDefault ? Object.keys(sizeTokens).find(x => x !== "$true" && sizeTokens[x]["val"] === sizeDefault["val"]) : null;
|
|
97
|
+
if (!sizeDefault || !sizeDefaultSpecific) {
|
|
98
|
+
if (process.env.NODE_ENV === "development") {
|
|
99
|
+
console.warn(`No default size is set in your tokens for the "true" key, fonts will be inconsistent.
|
|
71
100
|
|
|
72
101
|
Fix this by having consistent tokens across fonts and sizes and setting a true key for your size tokens, or
|
|
73
|
-
set true keys for all your font tokens: "size", "lineHeight", "fontStyle", etc.`)
|
|
102
|
+
set true keys for all your font tokens: "size", "lineHeight", "fontStyle", etc.`);
|
|
103
|
+
}
|
|
104
|
+
return Object.keys(font.size)[3];
|
|
105
|
+
}
|
|
106
|
+
cache.set(font, sizeDefaultSpecific);
|
|
107
|
+
return sizeDefaultSpecific;
|
|
74
108
|
}
|
package/dist/cjs/index.native.js
CHANGED
|
@@ -5,20 +5,22 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
15
16
|
get: () => from[key],
|
|
16
17
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
18
|
});
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
20
22
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
-
value:
|
|
23
|
+
value: true
|
|
22
24
|
}), mod);
|
|
23
25
|
var index_exports = {};
|
|
24
26
|
__export(index_exports, {
|
|
@@ -26,69 +28,96 @@ __export(index_exports, {
|
|
|
26
28
|
getFontSized: () => getFontSized
|
|
27
29
|
});
|
|
28
30
|
module.exports = __toCommonJS(index_exports);
|
|
29
|
-
var import_constants = require("@tamagui/constants")
|
|
30
|
-
|
|
31
|
+
var import_constants = require("@tamagui/constants");
|
|
32
|
+
var import_web = require("@tamagui/web");
|
|
31
33
|
function _type_of(obj) {
|
|
32
34
|
"@swc/helpers - typeof";
|
|
33
35
|
|
|
34
|
-
return obj && typeof Symbol
|
|
36
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
35
37
|
}
|
|
36
38
|
var getFontSized = function () {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
_font_transform,
|
|
47
|
-
_font_style,
|
|
48
|
-
_font_color;
|
|
49
|
-
if (!font) return {
|
|
39
|
+
var sizeTokenIn = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "$true",
|
|
40
|
+
{
|
|
41
|
+
font,
|
|
42
|
+
fontFamily,
|
|
43
|
+
props
|
|
44
|
+
} = arguments.length > 1 ? arguments[1] : void 0;
|
|
45
|
+
var _font_lineHeight, _font_weight, _font_letterSpacing, _font_transform, _font_style, _font_color;
|
|
46
|
+
if (!font) {
|
|
47
|
+
return {
|
|
50
48
|
fontSize: sizeTokenIn
|
|
51
49
|
};
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
50
|
+
}
|
|
51
|
+
var sizeToken = sizeTokenIn === "$true" ? getDefaultSizeToken(font) : sizeTokenIn;
|
|
52
|
+
var style = {};
|
|
53
|
+
var fontSize = font.size[sizeToken];
|
|
54
|
+
var lineHeight = (_font_lineHeight = font.lineHeight) === null || _font_lineHeight === void 0 ? void 0 : _font_lineHeight[sizeToken];
|
|
55
|
+
var fontWeight = (_font_weight = font.weight) === null || _font_weight === void 0 ? void 0 : _font_weight[sizeToken];
|
|
56
|
+
var letterSpacing = (_font_letterSpacing = font.letterSpacing) === null || _font_letterSpacing === void 0 ? void 0 : _font_letterSpacing[sizeToken];
|
|
57
|
+
var textTransform = (_font_transform = font.transform) === null || _font_transform === void 0 ? void 0 : _font_transform[sizeToken];
|
|
58
|
+
var _props_fontStyle;
|
|
59
|
+
var fontStyle = (_props_fontStyle = props.fontStyle) !== null && _props_fontStyle !== void 0 ? _props_fontStyle : (_font_style = font.style) === null || _font_style === void 0 ? void 0 : _font_style[sizeToken];
|
|
60
|
+
var _props_color;
|
|
61
|
+
var color = (_props_color = props.color) !== null && _props_color !== void 0 ? _props_color : (_font_color = font.color) === null || _font_color === void 0 ? void 0 : _font_color[sizeToken];
|
|
62
|
+
if (fontStyle) style.fontStyle = fontStyle;
|
|
63
|
+
if (textTransform) style.textTransform = textTransform;
|
|
64
|
+
if (fontFamily) style.fontFamily = fontFamily;
|
|
65
|
+
if (fontWeight) style.fontWeight = fontWeight;
|
|
66
|
+
if (letterSpacing) style.letterSpacing = letterSpacing;
|
|
67
|
+
if (fontSize) style.fontSize = fontSize;
|
|
68
|
+
if (lineHeight) style.lineHeight = lineHeight;
|
|
69
|
+
if (color) style.color = color;
|
|
70
|
+
if (process.env.NODE_ENV === "development") {
|
|
71
|
+
if (props["debug"] && props["debug"] === "verbose") {
|
|
72
|
+
console.groupCollapsed(" \u{1F539} getFontSized", sizeTokenIn, sizeToken);
|
|
73
|
+
if (import_constants.isClient) {
|
|
74
|
+
console.info({
|
|
75
|
+
style,
|
|
76
|
+
props,
|
|
77
|
+
font
|
|
78
|
+
});
|
|
75
79
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
80
|
+
console.groupEnd();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return style;
|
|
84
|
+
};
|
|
85
|
+
var SizableText = (0, import_web.styled)(import_web.Text, {
|
|
86
|
+
name: "SizableText",
|
|
87
|
+
fontFamily: "$body",
|
|
88
|
+
variants: {
|
|
89
|
+
size: {
|
|
90
|
+
"...fontSize": getFontSized
|
|
79
91
|
}
|
|
80
|
-
}
|
|
81
|
-
|
|
92
|
+
},
|
|
93
|
+
defaultVariants: {
|
|
94
|
+
size: "$true"
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
var cache = /* @__PURE__ */new WeakMap();
|
|
82
98
|
function getDefaultSizeToken(font) {
|
|
83
|
-
if ((typeof font
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
99
|
+
if ((typeof font === "undefined" ? "undefined" : _type_of(font)) === "object" && cache.has(font)) {
|
|
100
|
+
return cache.get(font);
|
|
101
|
+
}
|
|
102
|
+
var tokens = (0, import_web.getTokens)();
|
|
103
|
+
var sizeTokens = "$true" in font.size ? font.size : tokens === null || tokens === void 0 ? void 0 : tokens.size;
|
|
104
|
+
if (!sizeTokens) {
|
|
105
|
+
return Object.keys(font.size)[3];
|
|
106
|
+
}
|
|
107
|
+
var sizeDefault = sizeTokens["$true"];
|
|
108
|
+
var sizeDefaultSpecific = sizeDefault ? Object.keys(sizeTokens).find(function (x) {
|
|
109
|
+
return x !== "$true" && sizeTokens[x]["val"] === sizeDefault["val"];
|
|
110
|
+
}) : null;
|
|
111
|
+
if (!sizeDefault || !sizeDefaultSpecific) {
|
|
112
|
+
if (process.env.NODE_ENV === "development") {
|
|
113
|
+
console.warn(`No default size is set in your tokens for the "true" key, fonts will be inconsistent.
|
|
90
114
|
|
|
91
115
|
Fix this by having consistent tokens across fonts and sizes and setting a true key for your size tokens, or
|
|
92
|
-
set true keys for all your font tokens: "size", "lineHeight", "fontStyle", etc.`)
|
|
116
|
+
set true keys for all your font tokens: "size", "lineHeight", "fontStyle", etc.`);
|
|
117
|
+
}
|
|
118
|
+
return Object.keys(font.size)[3];
|
|
119
|
+
}
|
|
120
|
+
cache.set(font, sizeDefaultSpecific);
|
|
121
|
+
return sizeDefaultSpecific;
|
|
93
122
|
}
|
|
94
123
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","SizableText","getFontSized","module","exports","import_constants","require","import_web","_type_of","obj","Symbol","constructor","sizeTokenIn","arguments","length","font","fontFamily","props","_font_lineHeight","_font_weight","_font_letterSpacing","_font_transform","_font_style","_font_color","fontSize","sizeToken","getDefaultSizeToken","style","size","lineHeight","fontWeight","weight","letterSpacing","textTransform","transform","_props_fontStyle","fontStyle","_props_color","color","process","env","NODE_ENV","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","SizableText","getFontSized","module","exports","import_constants","require","import_web","_type_of","obj","Symbol","constructor","sizeTokenIn","arguments","length","font","fontFamily","props","_font_lineHeight","_font_weight","_font_letterSpacing","_font_transform","_font_style","_font_color","fontSize","sizeToken","getDefaultSizeToken","style","size","lineHeight","fontWeight","weight","letterSpacing","textTransform","transform","_props_fontStyle","fontStyle","_props_color","color","process","env","NODE_ENV","console","groupCollapsed","isClient","info","groupEnd","styled","Text","name","variants","defaultVariants","cache","WeakMap","has","get","tokens","getTokens","sizeTokens","Object","keys","sizeDefault","sizeDefaultSpecific","find","x"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,13 +1,48 @@
|
|
|
1
1
|
import { isClient } from "@tamagui/constants";
|
|
2
2
|
import { getTokens, styled, Text } from "@tamagui/web";
|
|
3
|
-
const getFontSized = (sizeTokenIn = "$true", {
|
|
4
|
-
|
|
3
|
+
const getFontSized = (sizeTokenIn = "$true", {
|
|
4
|
+
font,
|
|
5
|
+
fontFamily,
|
|
6
|
+
props
|
|
7
|
+
}) => {
|
|
8
|
+
if (!font) {
|
|
5
9
|
return {
|
|
6
10
|
fontSize: sizeTokenIn
|
|
7
11
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
12
|
+
}
|
|
13
|
+
const sizeToken = sizeTokenIn === "$true" ? getDefaultSizeToken(font) : sizeTokenIn;
|
|
14
|
+
const style = {};
|
|
15
|
+
const fontSize = font.size[sizeToken];
|
|
16
|
+
const lineHeight = font.lineHeight?.[sizeToken];
|
|
17
|
+
const fontWeight = font.weight?.[sizeToken];
|
|
18
|
+
const letterSpacing = font.letterSpacing?.[sizeToken];
|
|
19
|
+
const textTransform = font.transform?.[sizeToken];
|
|
20
|
+
const fontStyle = props.fontStyle ?? font.style?.[sizeToken];
|
|
21
|
+
const color = props.color ?? font.color?.[sizeToken];
|
|
22
|
+
if (fontStyle) style.fontStyle = fontStyle;
|
|
23
|
+
if (textTransform) style.textTransform = textTransform;
|
|
24
|
+
if (fontFamily) style.fontFamily = fontFamily;
|
|
25
|
+
if (fontWeight) style.fontWeight = fontWeight;
|
|
26
|
+
if (letterSpacing) style.letterSpacing = letterSpacing;
|
|
27
|
+
if (fontSize) style.fontSize = fontSize;
|
|
28
|
+
if (lineHeight) style.lineHeight = lineHeight;
|
|
29
|
+
if (color) style.color = color;
|
|
30
|
+
if (process.env.NODE_ENV === "development") {
|
|
31
|
+
if (props["debug"] && props["debug"] === "verbose") {
|
|
32
|
+
console.groupCollapsed(" \u{1F539} getFontSized", sizeTokenIn, sizeToken);
|
|
33
|
+
if (isClient) {
|
|
34
|
+
console.info({
|
|
35
|
+
style,
|
|
36
|
+
props,
|
|
37
|
+
font
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
console.groupEnd();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return style;
|
|
44
|
+
};
|
|
45
|
+
const SizableText = styled(Text, {
|
|
11
46
|
name: "SizableText",
|
|
12
47
|
fontFamily: "$body",
|
|
13
48
|
variants: {
|
|
@@ -18,20 +53,30 @@ const getFontSized = (sizeTokenIn = "$true", { font, fontFamily, props }) => {
|
|
|
18
53
|
defaultVariants: {
|
|
19
54
|
size: "$true"
|
|
20
55
|
}
|
|
21
|
-
})
|
|
56
|
+
});
|
|
57
|
+
const cache = /* @__PURE__ */new WeakMap();
|
|
22
58
|
function getDefaultSizeToken(font) {
|
|
23
|
-
if (typeof font
|
|
59
|
+
if (typeof font === "object" && cache.has(font)) {
|
|
24
60
|
return cache.get(font);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
61
|
+
}
|
|
62
|
+
const tokens = getTokens();
|
|
63
|
+
const sizeTokens = "$true" in font.size ? font.size : tokens?.size;
|
|
64
|
+
if (!sizeTokens) {
|
|
65
|
+
return Object.keys(font.size)[3];
|
|
66
|
+
}
|
|
67
|
+
const sizeDefault = sizeTokens["$true"];
|
|
68
|
+
const sizeDefaultSpecific = sizeDefault ? Object.keys(sizeTokens).find(x => x !== "$true" && sizeTokens[x]["val"] === sizeDefault["val"]) : null;
|
|
69
|
+
if (!sizeDefault || !sizeDefaultSpecific) {
|
|
70
|
+
if (process.env.NODE_ENV === "development") {
|
|
71
|
+
console.warn(`No default size is set in your tokens for the "true" key, fonts will be inconsistent.
|
|
29
72
|
|
|
30
73
|
Fix this by having consistent tokens across fonts and sizes and setting a true key for your size tokens, or
|
|
31
|
-
set true keys for all your font tokens: "size", "lineHeight", "fontStyle", etc.`)
|
|
74
|
+
set true keys for all your font tokens: "size", "lineHeight", "fontStyle", etc.`);
|
|
75
|
+
}
|
|
76
|
+
return Object.keys(font.size)[3];
|
|
77
|
+
}
|
|
78
|
+
cache.set(font, sizeDefaultSpecific);
|
|
79
|
+
return sizeDefaultSpecific;
|
|
32
80
|
}
|
|
33
|
-
export {
|
|
34
|
-
SizableText,
|
|
35
|
-
getFontSized
|
|
36
|
-
};
|
|
81
|
+
export { SizableText, getFontSized };
|
|
37
82
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,gBAAgB;AAQzB,SAAS,WAAW,QAAQ,YAAY;AAEjC,MAAM,eAAiE,CAC5E,cAAc,SACd,EAAE,MAAM,YAAY,MAAM,MACvB;AACH,MAAI,CAAC;AACH,WAAO;AAAA,MACL,UAAU;AAAA,IACZ;AAGF,QAAM,YAAY,gBAAgB,UAAU,oBAAoB,IAAI,IAAI,aAElE,QAAmB,CAAC,GAGpB,WAAW,KAAK,KAAK,SAAS,GAC9B,aAAa,KAAK,aAAa,SAAS,GACxC,aAAa,KAAK,SAAS,SAAS,GACpC,gBAAgB,KAAK,gBAAgB,SAAS,GAC9C,gBAAgB,KAAK,YAAY,SAAS,GAC1C,YAAY,MAAM,aAAa,KAAK,QAAQ,SAAS,GACrD,QAAQ,MAAM,SAAS,KAAK,QAAQ,SAAS;AAEnD,SAAI,cAAW,MAAM,YAAY,YAC7B,kBAAe,MAAM,gBAAgB,gBACrC,eAAY,MAAM,aAAa,aAC/B,eAAY,MAAM,aAAa,aAC/B,kBAAe,MAAM,gBAAgB,gBACrC,aAAU,MAAM,WAAW,WAC3B,eAAY,MAAM,aAAa,aAC/B,UAAO,MAAM,QAAQ,QAErB,QAAQ,IAAI,aAAa,iBACvB,MAAM,SAAY,MAAM,UAAa,cACvC,QAAQ,eAAe,4BAAqB,aAAa,SAAS,GAC9D,YACF,QAAQ,KAAK,EAAE,OAAO,OAAO,KAAK,CAAC,GAErC,QAAQ,SAAS,IAId;AACT,GAEa,cAAc,OAAO,MAAM;AAAA,EACtC,MAAM;AAAA,EACN,YAAY;AAAA,EAEZ,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,eAAe;AAAA,IACjB;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC,GAEK,QAAQ,oBAAI,QAA6B;AAE/C,SAAS,oBAAoB,MAAmB;AAC9C,MAAI,OAAO,QAAS,YAAY,MAAM,IAAI,IAAI;AAC5C,WAAO,MAAM,IAAI,IAAI;AAIvB,QAAM,aAAa,WAAW,KAAK,OAAO,KAAK,OAAO,UAAU,EAAE,MAC5D,cAAc,WAAW,OACzB,sBAAsB,cACxB,OAAO,KAAK,UAAU,EAAE;AAAA,IACtB,CAAC,MAAM,MAAM,WAAW,WAAW,CAAC,EAAE,QAAW,YAAY;AAAA,EAC/D,IACA;AAEJ,SAAI,CAAC,eAAe,CAAC,uBACf,QAAQ,IAAI,aAAa,iBAC3B,QAAQ,KAAK;AAAA;AAAA;AAAA,sFAGmE,GAE3E,OAAO,KAAK,KAAK,IAAI,EAAE,CAAC,MAGjC,MAAM,IAAI,MAAM,mBAAqC,GAC9C;AACT;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
1
|
+
{"version":3,"names":["isClient","getTokens","styled","Text","getFontSized","sizeTokenIn","font","fontFamily","props","fontSize","sizeToken","getDefaultSizeToken","style","size","lineHeight","fontWeight","weight","letterSpacing","textTransform","transform","fontStyle","color","process","env","NODE_ENV","console","groupCollapsed","info","groupEnd","SizableText","name","variants","defaultVariants","cache","WeakMap","has","get","tokens","sizeTokens","Object","keys","sizeDefault","sizeDefaultSpecific","find","x","warn","set"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,50 +1,82 @@
|
|
|
1
1
|
import { isClient } from "@tamagui/constants";
|
|
2
2
|
import { getTokens, styled, Text } from "@tamagui/web";
|
|
3
3
|
const getFontSized = (sizeTokenIn = "$true", {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
font,
|
|
5
|
+
fontFamily,
|
|
6
|
+
props
|
|
7
|
+
}) => {
|
|
8
|
+
if (!font) {
|
|
9
|
+
return {
|
|
9
10
|
fontSize: sizeTokenIn
|
|
10
11
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
12
|
+
}
|
|
13
|
+
const sizeToken = sizeTokenIn === "$true" ? getDefaultSizeToken(font) : sizeTokenIn;
|
|
14
|
+
const style = {};
|
|
15
|
+
const fontSize = font.size[sizeToken];
|
|
16
|
+
const lineHeight = font.lineHeight?.[sizeToken];
|
|
17
|
+
const fontWeight = font.weight?.[sizeToken];
|
|
18
|
+
const letterSpacing = font.letterSpacing?.[sizeToken];
|
|
19
|
+
const textTransform = font.transform?.[sizeToken];
|
|
20
|
+
const fontStyle = props.fontStyle ?? font.style?.[sizeToken];
|
|
21
|
+
const color = props.color ?? font.color?.[sizeToken];
|
|
22
|
+
if (fontStyle) style.fontStyle = fontStyle;
|
|
23
|
+
if (textTransform) style.textTransform = textTransform;
|
|
24
|
+
if (fontFamily) style.fontFamily = fontFamily;
|
|
25
|
+
if (fontWeight) style.fontWeight = fontWeight;
|
|
26
|
+
if (letterSpacing) style.letterSpacing = letterSpacing;
|
|
27
|
+
if (fontSize) style.fontSize = fontSize;
|
|
28
|
+
if (lineHeight) style.lineHeight = lineHeight;
|
|
29
|
+
if (color) style.color = color;
|
|
30
|
+
if (process.env.NODE_ENV === "development") {
|
|
31
|
+
if (props["debug"] && props["debug"] === "verbose") {
|
|
32
|
+
console.groupCollapsed(" \u{1F539} getFontSized", sizeTokenIn, sizeToken);
|
|
33
|
+
if (isClient) {
|
|
34
|
+
console.info({
|
|
35
|
+
style,
|
|
36
|
+
props,
|
|
37
|
+
font
|
|
38
|
+
});
|
|
32
39
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
40
|
+
console.groupEnd();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return style;
|
|
44
|
+
};
|
|
45
|
+
const SizableText = styled(Text, {
|
|
46
|
+
name: "SizableText",
|
|
47
|
+
fontFamily: "$body",
|
|
48
|
+
variants: {
|
|
49
|
+
size: {
|
|
50
|
+
"...fontSize": getFontSized
|
|
36
51
|
}
|
|
37
|
-
}
|
|
38
|
-
|
|
52
|
+
},
|
|
53
|
+
defaultVariants: {
|
|
54
|
+
size: "$true"
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
const cache = /* @__PURE__ */new WeakMap();
|
|
39
58
|
function getDefaultSizeToken(font) {
|
|
40
|
-
if (typeof font
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
59
|
+
if (typeof font === "object" && cache.has(font)) {
|
|
60
|
+
return cache.get(font);
|
|
61
|
+
}
|
|
62
|
+
const tokens = getTokens();
|
|
63
|
+
const sizeTokens = "$true" in font.size ? font.size : tokens?.size;
|
|
64
|
+
if (!sizeTokens) {
|
|
65
|
+
return Object.keys(font.size)[3];
|
|
66
|
+
}
|
|
67
|
+
const sizeDefault = sizeTokens["$true"];
|
|
68
|
+
const sizeDefaultSpecific = sizeDefault ? Object.keys(sizeTokens).find(x => x !== "$true" && sizeTokens[x]["val"] === sizeDefault["val"]) : null;
|
|
69
|
+
if (!sizeDefault || !sizeDefaultSpecific) {
|
|
70
|
+
if (process.env.NODE_ENV === "development") {
|
|
71
|
+
console.warn(`No default size is set in your tokens for the "true" key, fonts will be inconsistent.
|
|
45
72
|
|
|
46
73
|
Fix this by having consistent tokens across fonts and sizes and setting a true key for your size tokens, or
|
|
47
|
-
set true keys for all your font tokens: "size", "lineHeight", "fontStyle", etc.`)
|
|
74
|
+
set true keys for all your font tokens: "size", "lineHeight", "fontStyle", etc.`);
|
|
75
|
+
}
|
|
76
|
+
return Object.keys(font.size)[3];
|
|
77
|
+
}
|
|
78
|
+
cache.set(font, sizeDefaultSpecific);
|
|
79
|
+
return sizeDefaultSpecific;
|
|
48
80
|
}
|
|
49
81
|
export { SizableText, getFontSized };
|
|
50
82
|
//# sourceMappingURL=index.mjs.map
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isClient","getTokens","styled","Text","getFontSized","sizeTokenIn","font","fontFamily","props","fontSize","sizeToken","getDefaultSizeToken","style","size","lineHeight","fontWeight","weight","letterSpacing","textTransform","transform","fontStyle","color","process","env","NODE_ENV","
|
|
1
|
+
{"version":3,"names":["isClient","getTokens","styled","Text","getFontSized","sizeTokenIn","font","fontFamily","props","fontSize","sizeToken","getDefaultSizeToken","style","size","lineHeight","fontWeight","weight","letterSpacing","textTransform","transform","fontStyle","color","process","env","NODE_ENV","console","groupCollapsed","info","groupEnd","SizableText","name","variants","defaultVariants","cache","WeakMap","has","get","tokens","sizeTokens","Object","keys","sizeDefault","sizeDefaultSpecific","find","x","warn","set"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -3,65 +3,92 @@ import { getTokens, styled, Text } from "@tamagui/web";
|
|
|
3
3
|
function _type_of(obj) {
|
|
4
4
|
"@swc/helpers - typeof";
|
|
5
5
|
|
|
6
|
-
return obj && typeof Symbol
|
|
6
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
7
7
|
}
|
|
8
8
|
var getFontSized = function () {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
_font_transform,
|
|
19
|
-
_font_style,
|
|
20
|
-
_font_color;
|
|
21
|
-
if (!font) return {
|
|
9
|
+
var sizeTokenIn = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "$true",
|
|
10
|
+
{
|
|
11
|
+
font,
|
|
12
|
+
fontFamily,
|
|
13
|
+
props
|
|
14
|
+
} = arguments.length > 1 ? arguments[1] : void 0;
|
|
15
|
+
var _font_lineHeight, _font_weight, _font_letterSpacing, _font_transform, _font_style, _font_color;
|
|
16
|
+
if (!font) {
|
|
17
|
+
return {
|
|
22
18
|
fontSize: sizeTokenIn
|
|
23
19
|
};
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
20
|
+
}
|
|
21
|
+
var sizeToken = sizeTokenIn === "$true" ? getDefaultSizeToken(font) : sizeTokenIn;
|
|
22
|
+
var style = {};
|
|
23
|
+
var fontSize = font.size[sizeToken];
|
|
24
|
+
var lineHeight = (_font_lineHeight = font.lineHeight) === null || _font_lineHeight === void 0 ? void 0 : _font_lineHeight[sizeToken];
|
|
25
|
+
var fontWeight = (_font_weight = font.weight) === null || _font_weight === void 0 ? void 0 : _font_weight[sizeToken];
|
|
26
|
+
var letterSpacing = (_font_letterSpacing = font.letterSpacing) === null || _font_letterSpacing === void 0 ? void 0 : _font_letterSpacing[sizeToken];
|
|
27
|
+
var textTransform = (_font_transform = font.transform) === null || _font_transform === void 0 ? void 0 : _font_transform[sizeToken];
|
|
28
|
+
var _props_fontStyle;
|
|
29
|
+
var fontStyle = (_props_fontStyle = props.fontStyle) !== null && _props_fontStyle !== void 0 ? _props_fontStyle : (_font_style = font.style) === null || _font_style === void 0 ? void 0 : _font_style[sizeToken];
|
|
30
|
+
var _props_color;
|
|
31
|
+
var color = (_props_color = props.color) !== null && _props_color !== void 0 ? _props_color : (_font_color = font.color) === null || _font_color === void 0 ? void 0 : _font_color[sizeToken];
|
|
32
|
+
if (fontStyle) style.fontStyle = fontStyle;
|
|
33
|
+
if (textTransform) style.textTransform = textTransform;
|
|
34
|
+
if (fontFamily) style.fontFamily = fontFamily;
|
|
35
|
+
if (fontWeight) style.fontWeight = fontWeight;
|
|
36
|
+
if (letterSpacing) style.letterSpacing = letterSpacing;
|
|
37
|
+
if (fontSize) style.fontSize = fontSize;
|
|
38
|
+
if (lineHeight) style.lineHeight = lineHeight;
|
|
39
|
+
if (color) style.color = color;
|
|
40
|
+
if (process.env.NODE_ENV === "development") {
|
|
41
|
+
if (props["debug"] && props["debug"] === "verbose") {
|
|
42
|
+
console.groupCollapsed(" \u{1F539} getFontSized", sizeTokenIn, sizeToken);
|
|
43
|
+
if (isClient) {
|
|
44
|
+
console.info({
|
|
45
|
+
style,
|
|
46
|
+
props,
|
|
47
|
+
font
|
|
48
|
+
});
|
|
47
49
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
console.groupEnd();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return style;
|
|
54
|
+
};
|
|
55
|
+
var SizableText = styled(Text, {
|
|
56
|
+
name: "SizableText",
|
|
57
|
+
fontFamily: "$body",
|
|
58
|
+
variants: {
|
|
59
|
+
size: {
|
|
60
|
+
"...fontSize": getFontSized
|
|
51
61
|
}
|
|
52
|
-
}
|
|
53
|
-
|
|
62
|
+
},
|
|
63
|
+
defaultVariants: {
|
|
64
|
+
size: "$true"
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
var cache = /* @__PURE__ */new WeakMap();
|
|
54
68
|
function getDefaultSizeToken(font) {
|
|
55
|
-
if ((typeof font
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
69
|
+
if ((typeof font === "undefined" ? "undefined" : _type_of(font)) === "object" && cache.has(font)) {
|
|
70
|
+
return cache.get(font);
|
|
71
|
+
}
|
|
72
|
+
var tokens = getTokens();
|
|
73
|
+
var sizeTokens = "$true" in font.size ? font.size : tokens === null || tokens === void 0 ? void 0 : tokens.size;
|
|
74
|
+
if (!sizeTokens) {
|
|
75
|
+
return Object.keys(font.size)[3];
|
|
76
|
+
}
|
|
77
|
+
var sizeDefault = sizeTokens["$true"];
|
|
78
|
+
var sizeDefaultSpecific = sizeDefault ? Object.keys(sizeTokens).find(function (x) {
|
|
79
|
+
return x !== "$true" && sizeTokens[x]["val"] === sizeDefault["val"];
|
|
80
|
+
}) : null;
|
|
81
|
+
if (!sizeDefault || !sizeDefaultSpecific) {
|
|
82
|
+
if (process.env.NODE_ENV === "development") {
|
|
83
|
+
console.warn(`No default size is set in your tokens for the "true" key, fonts will be inconsistent.
|
|
62
84
|
|
|
63
85
|
Fix this by having consistent tokens across fonts and sizes and setting a true key for your size tokens, or
|
|
64
|
-
set true keys for all your font tokens: "size", "lineHeight", "fontStyle", etc.`)
|
|
86
|
+
set true keys for all your font tokens: "size", "lineHeight", "fontStyle", etc.`);
|
|
87
|
+
}
|
|
88
|
+
return Object.keys(font.size)[3];
|
|
89
|
+
}
|
|
90
|
+
cache.set(font, sizeDefaultSpecific);
|
|
91
|
+
return sizeDefaultSpecific;
|
|
65
92
|
}
|
|
66
93
|
export { SizableText, getFontSized };
|
|
67
94
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isClient","getTokens","styled","Text","_type_of","obj","Symbol","constructor","getFontSized","sizeTokenIn","arguments","length","font","fontFamily","props","_font_lineHeight","_font_weight","_font_letterSpacing","_font_transform","_font_style","_font_color","fontSize","sizeToken","getDefaultSizeToken","style","size","lineHeight","fontWeight","weight","letterSpacing","textTransform","transform","_props_fontStyle","fontStyle","_props_color","color","process","env","NODE_ENV","
|
|
1
|
+
{"version":3,"names":["isClient","getTokens","styled","Text","_type_of","obj","Symbol","constructor","getFontSized","sizeTokenIn","arguments","length","font","fontFamily","props","_font_lineHeight","_font_weight","_font_letterSpacing","_font_transform","_font_style","_font_color","fontSize","sizeToken","getDefaultSizeToken","style","size","lineHeight","fontWeight","weight","letterSpacing","textTransform","transform","_props_fontStyle","fontStyle","_props_color","color","process","env","NODE_ENV","console","groupCollapsed","info","groupEnd","SizableText","name","variants","defaultVariants","cache","WeakMap","has","get","tokens","sizeTokens","Object","keys","sizeDefault","sizeDefaultSpecific","find","x"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/get-font-sized",
|
|
3
|
-
"version": "2.0.0-rc.
|
|
3
|
+
"version": "2.0.0-rc.40",
|
|
4
4
|
"files": [
|
|
5
5
|
"src",
|
|
6
6
|
"types",
|
|
@@ -15,15 +15,12 @@
|
|
|
15
15
|
"./package.json": "./package.json",
|
|
16
16
|
".": {
|
|
17
17
|
"types": "./types/index.d.ts",
|
|
18
|
-
"react-native":
|
|
19
|
-
|
|
20
|
-
"import": "./dist/esm/index.native.js",
|
|
21
|
-
"require": "./dist/cjs/index.native.js"
|
|
22
|
-
},
|
|
18
|
+
"react-native": "./dist/esm/index.native.js",
|
|
19
|
+
"browser": "./dist/esm/index.mjs",
|
|
23
20
|
"module": "./dist/esm/index.mjs",
|
|
24
21
|
"import": "./dist/esm/index.mjs",
|
|
25
22
|
"require": "./dist/cjs/index.cjs",
|
|
26
|
-
"default": "./dist/
|
|
23
|
+
"default": "./dist/esm/index.mjs"
|
|
27
24
|
}
|
|
28
25
|
},
|
|
29
26
|
"publishConfig": {
|
|
@@ -36,11 +33,11 @@
|
|
|
36
33
|
"clean:build": "tamagui-build clean:build"
|
|
37
34
|
},
|
|
38
35
|
"dependencies": {
|
|
39
|
-
"@tamagui/constants": "2.0.0-rc.
|
|
40
|
-
"@tamagui/web": "2.0.0-rc.
|
|
36
|
+
"@tamagui/constants": "2.0.0-rc.40",
|
|
37
|
+
"@tamagui/web": "2.0.0-rc.40"
|
|
41
38
|
},
|
|
42
39
|
"devDependencies": {
|
|
43
|
-
"@tamagui/build": "2.0.0-rc.
|
|
40
|
+
"@tamagui/build": "2.0.0-rc.40",
|
|
44
41
|
"react": ">=19"
|
|
45
42
|
},
|
|
46
43
|
"peerDependencies": {
|
package/src/index.ts
CHANGED
|
@@ -76,7 +76,11 @@ function getDefaultSizeToken(font: GenericFont) {
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
// use either font.size if it has true set, or fallback to tokens.size mapping to the same
|
|
79
|
-
const
|
|
79
|
+
const tokens = getTokens()
|
|
80
|
+
const sizeTokens = '$true' in font.size ? font.size : tokens?.size
|
|
81
|
+
if (!sizeTokens) {
|
|
82
|
+
return Object.keys(font.size)[3]
|
|
83
|
+
}
|
|
80
84
|
const sizeDefault = sizeTokens['$true']
|
|
81
85
|
const sizeDefaultSpecific = sizeDefault
|
|
82
86
|
? Object.keys(sizeTokens).find(
|
package/dist/cjs/index.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
-
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
-
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
-
for (let key of __getOwnPropNames(from))
|
|
11
|
-
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
-
return to;
|
|
13
|
-
};
|
|
14
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
-
var index_exports = {};
|
|
16
|
-
__export(index_exports, {
|
|
17
|
-
SizableText: () => SizableText,
|
|
18
|
-
getFontSized: () => getFontSized
|
|
19
|
-
});
|
|
20
|
-
module.exports = __toCommonJS(index_exports);
|
|
21
|
-
var import_constants = require("@tamagui/constants"), import_web = require("@tamagui/web");
|
|
22
|
-
const getFontSized = (sizeTokenIn = "$true", { font, fontFamily, props }) => {
|
|
23
|
-
if (!font)
|
|
24
|
-
return {
|
|
25
|
-
fontSize: sizeTokenIn
|
|
26
|
-
};
|
|
27
|
-
const sizeToken = sizeTokenIn === "$true" ? getDefaultSizeToken(font) : sizeTokenIn, style = {}, fontSize = font.size[sizeToken], lineHeight = font.lineHeight?.[sizeToken], fontWeight = font.weight?.[sizeToken], letterSpacing = font.letterSpacing?.[sizeToken], textTransform = font.transform?.[sizeToken], fontStyle = props.fontStyle ?? font.style?.[sizeToken], color = props.color ?? font.color?.[sizeToken];
|
|
28
|
-
return fontStyle && (style.fontStyle = fontStyle), textTransform && (style.textTransform = textTransform), fontFamily && (style.fontFamily = fontFamily), fontWeight && (style.fontWeight = fontWeight), letterSpacing && (style.letterSpacing = letterSpacing), fontSize && (style.fontSize = fontSize), lineHeight && (style.lineHeight = lineHeight), color && (style.color = color), process.env.NODE_ENV === "development" && props.debug && props.debug === "verbose" && (console.groupCollapsed(" \u{1F539} getFontSized", sizeTokenIn, sizeToken), import_constants.isClient && console.info({ style, props, font }), console.groupEnd()), style;
|
|
29
|
-
}, SizableText = (0, import_web.styled)(import_web.Text, {
|
|
30
|
-
name: "SizableText",
|
|
31
|
-
fontFamily: "$body",
|
|
32
|
-
variants: {
|
|
33
|
-
size: {
|
|
34
|
-
"...fontSize": getFontSized
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
defaultVariants: {
|
|
38
|
-
size: "$true"
|
|
39
|
-
}
|
|
40
|
-
}), cache = /* @__PURE__ */ new WeakMap();
|
|
41
|
-
function getDefaultSizeToken(font) {
|
|
42
|
-
if (typeof font == "object" && cache.has(font))
|
|
43
|
-
return cache.get(font);
|
|
44
|
-
const sizeTokens = "$true" in font.size ? font.size : (0, import_web.getTokens)().size, sizeDefault = sizeTokens.$true, sizeDefaultSpecific = sizeDefault ? Object.keys(sizeTokens).find(
|
|
45
|
-
(x) => x !== "$true" && sizeTokens[x].val === sizeDefault.val
|
|
46
|
-
) : null;
|
|
47
|
-
return !sizeDefault || !sizeDefaultSpecific ? (process.env.NODE_ENV === "development" && console.warn(`No default size is set in your tokens for the "true" key, fonts will be inconsistent.
|
|
48
|
-
|
|
49
|
-
Fix this by having consistent tokens across fonts and sizes and setting a true key for your size tokens, or
|
|
50
|
-
set true keys for all your font tokens: "size", "lineHeight", "fontStyle", etc.`), Object.keys(font.size)[3]) : (cache.set(font, sizeDefaultSpecific), sizeDefaultSpecific);
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAyB,+BAQzB,aAAwC;AAEjC,MAAM,eAAiE,CAC5E,cAAc,SACd,EAAE,MAAM,YAAY,MAAM,MACvB;AACH,MAAI,CAAC;AACH,WAAO;AAAA,MACL,UAAU;AAAA,IACZ;AAGF,QAAM,YAAY,gBAAgB,UAAU,oBAAoB,IAAI,IAAI,aAElE,QAAmB,CAAC,GAGpB,WAAW,KAAK,KAAK,SAAS,GAC9B,aAAa,KAAK,aAAa,SAAS,GACxC,aAAa,KAAK,SAAS,SAAS,GACpC,gBAAgB,KAAK,gBAAgB,SAAS,GAC9C,gBAAgB,KAAK,YAAY,SAAS,GAC1C,YAAY,MAAM,aAAa,KAAK,QAAQ,SAAS,GACrD,QAAQ,MAAM,SAAS,KAAK,QAAQ,SAAS;AAEnD,SAAI,cAAW,MAAM,YAAY,YAC7B,kBAAe,MAAM,gBAAgB,gBACrC,eAAY,MAAM,aAAa,aAC/B,eAAY,MAAM,aAAa,aAC/B,kBAAe,MAAM,gBAAgB,gBACrC,aAAU,MAAM,WAAW,WAC3B,eAAY,MAAM,aAAa,aAC/B,UAAO,MAAM,QAAQ,QAErB,QAAQ,IAAI,aAAa,iBACvB,MAAM,SAAY,MAAM,UAAa,cACvC,QAAQ,eAAe,4BAAqB,aAAa,SAAS,GAC9D,6BACF,QAAQ,KAAK,EAAE,OAAO,OAAO,KAAK,CAAC,GAErC,QAAQ,SAAS,IAId;AACT,GAEa,kBAAc,mBAAO,iBAAM;AAAA,EACtC,MAAM;AAAA,EACN,YAAY;AAAA,EAEZ,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,eAAe;AAAA,IACjB;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC,GAEK,QAAQ,oBAAI,QAA6B;AAE/C,SAAS,oBAAoB,MAAmB;AAC9C,MAAI,OAAO,QAAS,YAAY,MAAM,IAAI,IAAI;AAC5C,WAAO,MAAM,IAAI,IAAI;AAIvB,QAAM,aAAa,WAAW,KAAK,OAAO,KAAK,WAAO,sBAAU,EAAE,MAC5D,cAAc,WAAW,OACzB,sBAAsB,cACxB,OAAO,KAAK,UAAU,EAAE;AAAA,IACtB,CAAC,MAAM,MAAM,WAAW,WAAW,CAAC,EAAE,QAAW,YAAY;AAAA,EAC/D,IACA;AAEJ,SAAI,CAAC,eAAe,CAAC,uBACf,QAAQ,IAAI,aAAa,iBAC3B,QAAQ,KAAK;AAAA;AAAA;AAAA,sFAGmE,GAE3E,OAAO,KAAK,KAAK,IAAI,EAAE,CAAC,MAGjC,MAAM,IAAI,MAAM,mBAAqC,GAC9C;AACT;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|