@tamagui/input 3.0.0-beta.924.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Input.native.cjs +2 -1
- package/dist/cjs/Input.native.js +2 -1
- package/dist/cjs/Input.native.js.map +1 -1
- package/dist/cjs/TextArea.cjs +1 -2
- package/dist/cjs/TextArea.native.cjs +1 -2
- package/dist/cjs/TextArea.native.js +1 -2
- package/dist/cjs/TextArea.native.js.map +1 -1
- package/dist/cjs/index.cjs +0 -11
- package/dist/cjs/index.native.cjs +0 -11
- package/dist/cjs/index.native.js +0 -11
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/shared.cjs +13 -103
- package/dist/cjs/shared.native.cjs +16 -109
- package/dist/cjs/shared.native.js +16 -109
- package/dist/cjs/shared.native.js.map +1 -1
- package/dist/esm/Input.native.js +2 -1
- package/dist/esm/Input.native.js.map +1 -1
- package/dist/esm/TextArea.mjs +2 -3
- package/dist/esm/TextArea.mjs.map +1 -1
- package/dist/esm/TextArea.native.js +2 -3
- package/dist/esm/TextArea.native.js.map +1 -1
- package/dist/esm/index.js +0 -4
- package/dist/esm/index.mjs +0 -4
- package/dist/esm/index.native.js +0 -4
- package/dist/esm/shared.mjs +14 -102
- package/dist/esm/shared.mjs.map +1 -1
- package/dist/esm/shared.native.js +17 -108
- package/dist/esm/shared.native.js.map +1 -1
- package/dist/jsx/Input.native.cjs +2 -1
- package/dist/jsx/Input.native.js +2 -1
- package/dist/jsx/Input.native.js.map +1 -1
- package/dist/jsx/TextArea.mjs +2 -3
- package/dist/jsx/TextArea.mjs.map +1 -1
- package/dist/jsx/TextArea.native.cjs +1 -2
- package/dist/jsx/TextArea.native.js +1 -2
- package/dist/jsx/TextArea.native.js.map +1 -1
- package/dist/jsx/index.js +0 -4
- package/dist/jsx/index.mjs +0 -4
- package/dist/jsx/index.native.cjs +0 -11
- package/dist/jsx/index.native.js +0 -11
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/shared.mjs +14 -102
- package/dist/jsx/shared.mjs.map +1 -1
- package/dist/jsx/shared.native.cjs +16 -109
- package/dist/jsx/shared.native.js +16 -109
- package/dist/jsx/shared.native.js.map +1 -1
- package/package.json +17 -14
- package/src/Input.native.tsx +6 -1
- package/src/TextArea.tsx +1 -5
- package/src/index.ts +0 -1
- package/src/shared.tsx +34 -113
- package/src/types.ts +1 -1
- package/types/Input.d.ts +4 -47
- package/types/Input.d.ts.map +1 -1
- package/types/Input.native.d.ts +5 -48
- package/types/Input.native.d.ts.map +1 -1
- package/types/TextArea.d.ts +4 -6
- package/types/TextArea.d.ts.map +1 -1
- package/types/index.d.ts +0 -1
- package/types/index.d.ts.map +1 -1
- package/types/shared.d.ts +13 -31
- package/types/shared.d.ts.map +1 -1
- package/types/types.d.ts +1 -1
- package/types/types.d.ts.map +1 -1
|
@@ -24,124 +24,34 @@ var shared_exports = {};
|
|
|
24
24
|
__export(shared_exports, {
|
|
25
25
|
INPUT_NAME: () => INPUT_NAME,
|
|
26
26
|
defaultStyles: () => defaultStyles,
|
|
27
|
-
inputSizeVariant: () => inputSizeVariant,
|
|
28
27
|
resolveMultilineInputSize: () => resolveMultilineInputSize,
|
|
29
28
|
resolveTextAreaSize: () => resolveTextAreaSize,
|
|
30
|
-
styledBody: () => styledBody
|
|
31
|
-
textAreaSizeVariant: () => textAreaSizeVariant
|
|
29
|
+
styledBody: () => styledBody
|
|
32
30
|
});
|
|
33
31
|
module.exports = __toCommonJS(shared_exports);
|
|
34
32
|
var import_core = require("@tamagui/core");
|
|
35
|
-
var import_get_font_sized = require("@tamagui/get-font-sized");
|
|
36
33
|
var defaultStyles = {
|
|
37
|
-
size: true,
|
|
38
34
|
outlineWidth: 0,
|
|
39
35
|
tabIndex: 0,
|
|
40
36
|
minWidth: 0
|
|
41
37
|
};
|
|
42
|
-
var resolveInputFrame = function(val, env) {
|
|
43
|
-
return (0, import_core.resolveTokenSize)(val, {
|
|
44
|
-
tokens: env.tokens,
|
|
45
|
-
font: env.font
|
|
46
|
-
}).frame;
|
|
47
|
-
};
|
|
48
|
-
var inputSizeKeys = [
|
|
49
|
-
"0",
|
|
50
|
-
"0-25",
|
|
51
|
-
"0-5",
|
|
52
|
-
"0-75",
|
|
53
|
-
"1",
|
|
54
|
-
"1-5",
|
|
55
|
-
"2",
|
|
56
|
-
"2-5",
|
|
57
|
-
"3",
|
|
58
|
-
"3-5",
|
|
59
|
-
"4",
|
|
60
|
-
"4-5",
|
|
61
|
-
"5",
|
|
62
|
-
"6",
|
|
63
|
-
"7",
|
|
64
|
-
"8",
|
|
65
|
-
"9",
|
|
66
|
-
"10",
|
|
67
|
-
"11",
|
|
68
|
-
"12",
|
|
69
|
-
"13",
|
|
70
|
-
"14",
|
|
71
|
-
"15",
|
|
72
|
-
"16",
|
|
73
|
-
"17",
|
|
74
|
-
"18",
|
|
75
|
-
"19",
|
|
76
|
-
"20"
|
|
77
|
-
];
|
|
78
|
-
var getInputPadding = function(val, env, steps) {
|
|
79
|
-
if (typeof val === "number") {
|
|
80
|
-
return steps === 1 ? Math.max(0, Math.round(val * .6 - 12)) : Math.max(0, Math.round(val * .52 - 11.5));
|
|
81
|
-
}
|
|
82
|
-
var key = val === true ? "4" : val;
|
|
83
|
-
var index = inputSizeKeys.indexOf(key);
|
|
84
|
-
return env.tokens.space[inputSizeKeys[Math.max(0, index - steps)]];
|
|
85
|
-
};
|
|
86
|
-
var inputSizeVariant = import_core.styled.dynamic(function() {
|
|
87
|
-
var val = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true, env = arguments.length > 1 ? arguments[1] : void 0;
|
|
88
|
-
var frame = resolveInputFrame(val, env);
|
|
89
|
-
var fontStyle = (0, import_get_font_sized.getFontSized)(val, env);
|
|
90
|
-
return {
|
|
91
|
-
color: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.color,
|
|
92
|
-
fontFamily: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.fontFamily,
|
|
93
|
-
fontSize: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.fontSize,
|
|
94
|
-
fontStyle: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.fontStyle,
|
|
95
|
-
fontWeight: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.fontWeight,
|
|
96
|
-
letterSpacing: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.letterSpacing,
|
|
97
|
-
lineHeight: import_core.isWeb ? fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.lineHeight : void 0,
|
|
98
|
-
textTransform: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.textTransform,
|
|
99
|
-
height: frame.size,
|
|
100
|
-
borderRadius: frame.radius,
|
|
101
|
-
paddingHorizontal: getInputPadding(val, env, 1)
|
|
102
|
-
};
|
|
103
|
-
});
|
|
104
|
-
var textAreaSizeVariant = import_core.styled.dynamic(function() {
|
|
105
|
-
var val = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true, env = arguments.length > 1 ? arguments[1] : void 0;
|
|
106
|
-
var frame = resolveInputFrame(val, env);
|
|
107
|
-
var fontStyle = (0, import_get_font_sized.getFontSized)(val, env);
|
|
108
|
-
return {
|
|
109
|
-
borderRadius: frame.radius,
|
|
110
|
-
color: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.color,
|
|
111
|
-
fontFamily: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.fontFamily,
|
|
112
|
-
fontSize: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.fontSize,
|
|
113
|
-
fontStyle: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.fontStyle,
|
|
114
|
-
fontWeight: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.fontWeight,
|
|
115
|
-
letterSpacing: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.letterSpacing,
|
|
116
|
-
lineHeight: import_core.isWeb ? fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.lineHeight : void 0,
|
|
117
|
-
textTransform: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.textTransform,
|
|
118
|
-
paddingVertical: getInputPadding(val, env, 2),
|
|
119
|
-
paddingHorizontal: getInputPadding(val, env, 1),
|
|
120
|
-
height: "auto"
|
|
121
|
-
};
|
|
122
|
-
});
|
|
123
38
|
var resolveTextAreaSize = function(props, env) {
|
|
124
|
-
var
|
|
125
|
-
var
|
|
126
|
-
var
|
|
127
|
-
var
|
|
39
|
+
var _font_lineHeight, _font_lineHeight1;
|
|
40
|
+
var font = props.fontFamily ? env.fonts[props.fontFamily] : env.font;
|
|
41
|
+
var defaultKey = font && "sm" in font.size ? "sm" : "4";
|
|
42
|
+
var _props_fontSize;
|
|
43
|
+
var fontSize = (_props_fontSize = props.fontSize) !== null && _props_fontSize !== void 0 ? _props_fontSize : defaultKey;
|
|
44
|
+
var _props_lineHeight;
|
|
45
|
+
var lineHeight = (_props_lineHeight = props.lineHeight) !== null && _props_lineHeight !== void 0 ? _props_lineHeight : font === null || font === void 0 ? void 0 : (_font_lineHeight = font.lineHeight) === null || _font_lineHeight === void 0 ? void 0 : _font_lineHeight[defaultKey];
|
|
46
|
+
var configuredSize = typeof fontSize === "string" ? font === null || font === void 0 ? void 0 : font.size[fontSize] : void 0;
|
|
47
|
+
var configuredLeading = typeof lineHeight === "string" ? font === null || font === void 0 ? void 0 : (_font_lineHeight1 = font.lineHeight) === null || _font_lineHeight1 === void 0 ? void 0 : _font_lineHeight1[lineHeight] : void 0;
|
|
48
|
+
var metrics = { fontSize: Number.parseFloat(String((0, import_core.getVariableValue)(configuredSize !== null && configuredSize !== void 0 ? configuredSize : fontSize))) };
|
|
49
|
+
var leading = configuredLeading !== null && configuredLeading !== void 0 ? configuredLeading : lineHeight;
|
|
50
|
+
(0, import_core.resolveTextMetrics)(metrics, (props.lineHeight == null || configuredLeading !== void 0) && typeof leading === "number" ? `${leading}px` : leading);
|
|
128
51
|
var _props_rows;
|
|
129
52
|
var lines = (_props_rows = props.rows) !== null && _props_rows !== void 0 ? _props_rows : props.numberOfLines;
|
|
130
|
-
var height = typeof lines === "number"
|
|
131
|
-
return {
|
|
132
|
-
borderRadius: sized === null || sized === void 0 ? void 0 : sized.borderRadius,
|
|
133
|
-
color: sized === null || sized === void 0 ? void 0 : sized.color,
|
|
134
|
-
fontFamily: sized === null || sized === void 0 ? void 0 : sized.fontFamily,
|
|
135
|
-
fontSize: sized === null || sized === void 0 ? void 0 : sized.fontSize,
|
|
136
|
-
fontStyle: sized === null || sized === void 0 ? void 0 : sized.fontStyle,
|
|
137
|
-
fontWeight: sized === null || sized === void 0 ? void 0 : sized.fontWeight,
|
|
138
|
-
letterSpacing: sized === null || sized === void 0 ? void 0 : sized.letterSpacing,
|
|
139
|
-
lineHeight: sized === null || sized === void 0 ? void 0 : sized.lineHeight,
|
|
140
|
-
textTransform: sized === null || sized === void 0 ? void 0 : sized.textTransform,
|
|
141
|
-
paddingVertical: sized === null || sized === void 0 ? void 0 : sized.paddingVertical,
|
|
142
|
-
paddingHorizontal: sized === null || sized === void 0 ? void 0 : sized.paddingHorizontal,
|
|
143
|
-
height
|
|
144
|
-
};
|
|
53
|
+
var height = typeof lines === "number" && typeof metrics.lineHeight === "number" ? lines * metrics.lineHeight : void 0;
|
|
54
|
+
return { height };
|
|
145
55
|
};
|
|
146
56
|
var resolveMultilineInputSize = function(props, env) {
|
|
147
57
|
if (!(props.rows > 1 || props.multiline || props.numberOfLines > 1)) return;
|
|
@@ -152,10 +62,7 @@ var styledBody = [{
|
|
|
152
62
|
name: INPUT_NAME,
|
|
153
63
|
render: "input",
|
|
154
64
|
...defaultStyles,
|
|
155
|
-
variants: {
|
|
156
|
-
size: inputSizeVariant,
|
|
157
|
-
disabled: { true: {} }
|
|
158
|
-
}
|
|
65
|
+
variants: { disabled: { true: {} } }
|
|
159
66
|
}, { isInput: true }];
|
|
160
67
|
|
|
161
68
|
//# sourceMappingURL=shared.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.native.js","names":[],"sources":["cjs/shared.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 for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar shared_exports = {};\n__export(shared_exports, {\n INPUT_NAME: () => INPUT_NAME,\n defaultStyles: () => defaultStyles,\n inputSizeVariant: () => inputSizeVariant,\n resolveMultilineInputSize: () => resolveMultilineInputSize,\n resolveTextAreaSize: () => resolveTextAreaSize,\n styledBody: () => styledBody,\n textAreaSizeVariant: () => textAreaSizeVariant\n});\nmodule.exports = __toCommonJS(shared_exports);\nvar import_core = require(\"@tamagui/core\");\nvar import_get_font_sized = require(\"@tamagui/get-font-sized\");\nvar defaultStyles = {\n size: true,\n outlineWidth: 0,\n tabIndex: 0,\n // this fixes a flex bug where it overflows container\n minWidth: 0\n};\nvar resolveInputFrame = function(val, env) {\n return (0, import_core.resolveTokenSize)(val, {\n tokens: env.tokens,\n font: env.font\n }).frame;\n};\nvar inputSizeKeys = [\n \"0\",\n \"0-25\",\n \"0-5\",\n \"0-75\",\n \"1\",\n \"1-5\",\n \"2\",\n \"2-5\",\n \"3\",\n \"3-5\",\n \"4\",\n \"4-5\",\n \"5\",\n \"6\",\n \"7\",\n \"8\",\n \"9\",\n \"10\",\n \"11\",\n \"12\",\n \"13\",\n \"14\",\n \"15\",\n \"16\",\n \"17\",\n \"18\",\n \"19\",\n \"20\"\n];\nvar getInputPadding = function(val, env, steps) {\n if (typeof val === \"number\") {\n return steps === 1 ? Math.max(0, Math.round(val * 0.6 - 12)) : Math.max(0, Math.round(val * 0.52 - 11.5));\n }\n var key = val === true ? \"4\" : val;\n var index = inputSizeKeys.indexOf(key);\n return env.tokens.space[inputSizeKeys[Math.max(0, index - steps)]];\n};\nvar inputSizeVariant = import_core.styled.dynamic(function() {\n var val = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true, env = arguments.length > 1 ? arguments[1] : void 0;\n var frame = resolveInputFrame(val, env);\n var fontStyle = (0, import_get_font_sized.getFontSized)(val, env);\n return {\n color: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.color,\n fontFamily: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.fontFamily,\n fontSize: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.fontSize,\n fontStyle: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.fontStyle,\n fontWeight: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.fontWeight,\n letterSpacing: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.letterSpacing,\n lineHeight: import_core.isWeb ? fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.lineHeight : void 0,\n textTransform: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.textTransform,\n height: frame.size,\n borderRadius: frame.radius,\n paddingHorizontal: getInputPadding(val, env, 1)\n };\n});\nvar textAreaSizeVariant = import_core.styled.dynamic(function() {\n var val = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true, env = arguments.length > 1 ? arguments[1] : void 0;\n var frame = resolveInputFrame(val, env);\n var fontStyle = (0, import_get_font_sized.getFontSized)(val, env);\n return {\n borderRadius: frame.radius,\n color: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.color,\n fontFamily: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.fontFamily,\n fontSize: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.fontSize,\n fontStyle: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.fontStyle,\n fontWeight: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.fontWeight,\n letterSpacing: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.letterSpacing,\n lineHeight: import_core.isWeb ? fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.lineHeight : void 0,\n textTransform: fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.textTransform,\n paddingVertical: getInputPadding(val, env, 2),\n paddingHorizontal: getInputPadding(val, env, 1),\n height: \"auto\"\n };\n});\nvar resolveTextAreaSize = function(props, env) {\n var _props_size;\n var sized = textAreaSizeVariant((_props_size = props.size) !== null && _props_size !== void 0 ? _props_size : true, env);\n var _props_size1;\n var fontStyle = (0, import_get_font_sized.getFontSized)((_props_size1 = props.size) !== null && _props_size1 !== void 0 ? _props_size1 : true, env);\n var _props_rows;\n var lines = (_props_rows = props.rows) !== null && _props_rows !== void 0 ? _props_rows : props.numberOfLines;\n var height = typeof lines === \"number\" ? lines * (0, import_core.getVariableValue)(fontStyle === null || fontStyle === void 0 ? void 0 : fontStyle.lineHeight) : sized === null || sized === void 0 ? void 0 : sized.height;\n return {\n borderRadius: sized === null || sized === void 0 ? void 0 : sized.borderRadius,\n color: sized === null || sized === void 0 ? void 0 : sized.color,\n fontFamily: sized === null || sized === void 0 ? void 0 : sized.fontFamily,\n fontSize: sized === null || sized === void 0 ? void 0 : sized.fontSize,\n fontStyle: sized === null || sized === void 0 ? void 0 : sized.fontStyle,\n fontWeight: sized === null || sized === void 0 ? void 0 : sized.fontWeight,\n letterSpacing: sized === null || sized === void 0 ? void 0 : sized.letterSpacing,\n lineHeight: sized === null || sized === void 0 ? void 0 : sized.lineHeight,\n textTransform: sized === null || sized === void 0 ? void 0 : sized.textTransform,\n paddingVertical: sized === null || sized === void 0 ? void 0 : sized.paddingVertical,\n paddingHorizontal: sized === null || sized === void 0 ? void 0 : sized.paddingHorizontal,\n height\n };\n};\nvar resolveMultilineInputSize = function(props, env) {\n if (!(props.rows > 1 || props.multiline || props.numberOfLines > 1)) return;\n return resolveTextAreaSize(props, env);\n};\nvar INPUT_NAME = \"Input\";\nvar styledBody = [\n {\n name: INPUT_NAME,\n render: \"input\",\n ...defaultStyles,\n variants: {\n size: inputSizeVariant,\n disabled: {\n true: {}\n }\n }\n },\n {\n isInput: true\n }\n];\n//# sourceMappingURL=shared.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shared.native.js","names":[],"sources":["cjs/shared.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 for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar shared_exports = {};\n__export(shared_exports, {\n INPUT_NAME: () => INPUT_NAME,\n defaultStyles: () => defaultStyles,\n resolveMultilineInputSize: () => resolveMultilineInputSize,\n resolveTextAreaSize: () => resolveTextAreaSize,\n styledBody: () => styledBody\n});\nmodule.exports = __toCommonJS(shared_exports);\nvar import_core = require(\"@tamagui/core\");\nvar defaultStyles = {\n outlineWidth: 0,\n tabIndex: 0,\n // this fixes a flex bug where it overflows container\n minWidth: 0\n};\nvar resolveTextAreaSize = function(props, env) {\n var _font_lineHeight, _font_lineHeight1;\n var font = props.fontFamily ? env.fonts[props.fontFamily] : env.font;\n var defaultKey = font && \"sm\" in font.size ? \"sm\" : \"4\";\n var _props_fontSize;\n var fontSize = (_props_fontSize = props.fontSize) !== null && _props_fontSize !== void 0 ? _props_fontSize : defaultKey;\n var _props_lineHeight;\n var lineHeight = (_props_lineHeight = props.lineHeight) !== null && _props_lineHeight !== void 0 ? _props_lineHeight : font === null || font === void 0 ? void 0 : (_font_lineHeight = font.lineHeight) === null || _font_lineHeight === void 0 ? void 0 : _font_lineHeight[defaultKey];\n var configuredSize = typeof fontSize === \"string\" ? font === null || font === void 0 ? void 0 : font.size[fontSize] : void 0;\n var configuredLeading = typeof lineHeight === \"string\" ? font === null || font === void 0 ? void 0 : (_font_lineHeight1 = font.lineHeight) === null || _font_lineHeight1 === void 0 ? void 0 : _font_lineHeight1[lineHeight] : void 0;\n var metrics = {\n fontSize: Number.parseFloat(String((0, import_core.getVariableValue)(configuredSize !== null && configuredSize !== void 0 ? configuredSize : fontSize)))\n };\n var leading = configuredLeading !== null && configuredLeading !== void 0 ? configuredLeading : lineHeight;\n (0, import_core.resolveTextMetrics)(metrics, (props.lineHeight == null || configuredLeading !== void 0) && typeof leading === \"number\" ? `${leading}px` : leading);\n var _props_rows;\n var lines = (_props_rows = props.rows) !== null && _props_rows !== void 0 ? _props_rows : props.numberOfLines;\n var height = typeof lines === \"number\" && typeof metrics.lineHeight === \"number\" ? lines * metrics.lineHeight : void 0;\n return {\n height\n };\n};\nvar resolveMultilineInputSize = function(props, env) {\n if (!(props.rows > 1 || props.multiline || props.numberOfLines > 1)) return;\n return resolveTextAreaSize(props, env);\n};\nvar INPUT_NAME = \"Input\";\nvar styledBody = [\n {\n name: INPUT_NAME,\n render: \"input\",\n ...defaultStyles,\n variants: {\n disabled: {\n true: {}\n }\n }\n },\n {\n isInput: true\n }\n];\n//# sourceMappingURL=shared.js.map\n"],"mappings":"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"}
|
package/dist/esm/Input.native.js
CHANGED
|
@@ -6,7 +6,8 @@ import { registerFocusable } from "@tamagui/focusable";
|
|
|
6
6
|
import { useNativeInputRef } from "@tamagui/element";
|
|
7
7
|
import { resolveMultilineInputSize, styledBody } from "./shared.native.js";
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var NativeTextInput = TextInput;
|
|
10
|
+
var StyledInput = styled(NativeTextInput, styledBody[0], styledBody[1]).resolve(resolveMultilineInputSize);
|
|
10
11
|
var Input = createStyledHOC(StyledInput, function(props, forwardedRef) {
|
|
11
12
|
var { type, disabled, readOnly, id, rows, autoComplete, enterKeyHint, onChange, onInput, onKeyDown, onChangeText, onSubmitEditing, onSelectionChange, onEndEditing, onContentSizeChange, onScroll, onKeyPress: onKeyPressProp, selection, keyboardAppearance, returnKeyType: returnKeyTypeProp, submitBehavior, blurOnSubmit, caretHidden, contextMenuHidden, selectTextOnFocus, secureTextEntry: secureTextEntryProp, maxFontSizeMultiplier, allowFontScaling, multiline: multilineProp, keyboardType: keyboardTypeProp, inputMode: inputModeProp, autoCapitalize: autoCapitalizeProp, autoCorrect: autoCorrectProp, autoFocusNative, textContentType, clearButtonMode, clearTextOnFocus, enablesReturnKeyAutomatically, dataDetectorTypes, scrollEnabled, passwordRules, rejectResponderTermination, spellCheck, lineBreakStrategyIOS, lineBreakModeIOS, smartInsertDelete, inputAccessoryViewID, inputAccessoryViewButtonLabel, disableKeyboardShortcuts, importantForAutofill, disableFullscreenUI, inlineImageLeft, inlineImagePadding, returnKeyLabel, textBreakStrategy, textAlignVertical, verticalAlign, showSoftInputOnFocus, numberOfLines: numberOfLinesProp, dirname, min, max, minLength, multiple, name, pattern, required, step, render, caretColor, cursorColor: cursorColorProp, selectionColor: selectionColorProp, ...rest } = props;
|
|
12
13
|
var { ref, composedRef } = useNativeInputRef(forwardedRef);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.native.js","names":[],"sources":["esm/Input.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport React from \"react\";\nimport { TextInput } from \"react-native\";\nimport { createStyledHOC, styled } from \"@tamagui/core\";\nimport { registerFocusable } from \"@tamagui/focusable\";\nimport { useNativeInputRef } from \"@tamagui/element\";\nimport { resolveMultilineInputSize, styledBody } from \"./shared\";\nvar StyledInput = styled(TextInput, styledBody[0], styledBody[1]).resolve(resolveMultilineInputSize);\nvar Input = createStyledHOC(StyledInput, function(props, forwardedRef) {\n var {\n // Web props we need to convert\n type,\n disabled,\n readOnly,\n id,\n rows,\n autoComplete,\n enterKeyHint,\n // Callbacks\n onChange,\n onInput,\n onKeyDown,\n onChangeText,\n onSubmitEditing,\n onSelectionChange,\n onEndEditing,\n onContentSizeChange,\n onScroll,\n onKeyPress: onKeyPressProp,\n selection,\n // Native-only props (pass through directly)\n keyboardAppearance,\n returnKeyType: returnKeyTypeProp,\n submitBehavior,\n blurOnSubmit,\n caretHidden,\n contextMenuHidden,\n selectTextOnFocus,\n secureTextEntry: secureTextEntryProp,\n maxFontSizeMultiplier,\n allowFontScaling,\n multiline: multilineProp,\n keyboardType: keyboardTypeProp,\n inputMode: inputModeProp,\n autoCapitalize: autoCapitalizeProp,\n autoCorrect: autoCorrectProp,\n autoFocusNative,\n textContentType,\n // iOS-only props\n clearButtonMode,\n clearTextOnFocus,\n enablesReturnKeyAutomatically,\n dataDetectorTypes,\n scrollEnabled,\n passwordRules,\n rejectResponderTermination,\n spellCheck,\n lineBreakStrategyIOS,\n lineBreakModeIOS,\n smartInsertDelete,\n inputAccessoryViewID,\n inputAccessoryViewButtonLabel,\n disableKeyboardShortcuts,\n // Android-only props\n importantForAutofill,\n disableFullscreenUI,\n inlineImageLeft,\n inlineImagePadding,\n returnKeyLabel,\n textBreakStrategy,\n textAlignVertical,\n verticalAlign,\n showSoftInputOnFocus,\n numberOfLines: numberOfLinesProp,\n // Web-only props to filter out\n // @ts-ignore\n dirname,\n min,\n max,\n minLength,\n multiple,\n name,\n pattern,\n required,\n step,\n render,\n // caretColor is web-only as a CSS prop; on native forward to\n // cursorColor (Android) + selectionColor (iOS+Android caret) unless\n // those are explicitly set.\n // @ts-ignore - caretColor is typed as web-only in core\n caretColor,\n cursorColor: cursorColorProp,\n selectionColor: selectionColorProp,\n ...rest\n } = props;\n var { ref, composedRef } = useNativeInputRef(forwardedRef);\n var secureTextEntry = secureTextEntryProp !== null && secureTextEntryProp !== void 0 ? secureTextEntryProp : false;\n var keyboardType = keyboardTypeProp !== null && keyboardTypeProp !== void 0 ? keyboardTypeProp : \"default\";\n var inputMode = inputModeProp;\n if (!secureTextEntryProp && !keyboardTypeProp && !inputModeProp) {\n switch (type) {\n case \"password\":\n secureTextEntry = true;\n break;\n case \"email\":\n keyboardType = \"email-address\";\n inputMode = \"email\";\n break;\n case \"tel\":\n keyboardType = \"phone-pad\";\n inputMode = \"tel\";\n break;\n case \"number\":\n keyboardType = \"numeric\";\n inputMode = \"numeric\";\n break;\n case \"url\":\n keyboardType = \"url\";\n inputMode = \"url\";\n break;\n case \"search\":\n inputMode = \"search\";\n break;\n }\n }\n var returnKeyType = returnKeyTypeProp;\n if (!returnKeyType && enterKeyHint) {\n switch (enterKeyHint) {\n case \"done\":\n returnKeyType = \"done\";\n break;\n case \"go\":\n returnKeyType = \"go\";\n break;\n case \"next\":\n returnKeyType = \"next\";\n break;\n case \"search\":\n returnKeyType = \"search\";\n break;\n case \"send\":\n returnKeyType = \"send\";\n break;\n }\n }\n var multiline = multilineProp !== null && multilineProp !== void 0 ? multilineProp : render === \"textarea\" || rows && rows > 1;\n var numberOfLines = numberOfLinesProp !== null && numberOfLinesProp !== void 0 ? numberOfLinesProp : rows;\n var autoCorrect = autoCorrectProp === \"on\" ? true : autoCorrectProp === \"off\" ? false : autoCorrectProp;\n var autoCapitalize = autoCapitalizeProp === \"on\" ? \"sentences\" : autoCapitalizeProp === \"off\" ? \"none\" : autoCapitalizeProp;\n React.useEffect(function() {\n if (!id || disabled) return;\n return registerFocusable(id, {\n focusAndSelect: function() {\n var _ref_current;\n return (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();\n },\n focus: function() {\n var _ref_current;\n return (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();\n }\n });\n }, [\n id,\n disabled\n ]);\n var handleChangeText = function(text) {\n onChangeText === null || onChangeText === void 0 ? void 0 : onChangeText(text);\n if (onChange) {\n onChange({\n target: {\n value: text\n },\n type: \"change\"\n });\n }\n if (onInput) {\n onInput({\n target: {\n value: text\n },\n type: \"input\"\n });\n }\n };\n var handleKeyPress = function(e) {\n onKeyPressProp === null || onKeyPressProp === void 0 ? void 0 : onKeyPressProp(e);\n if (onKeyDown) {\n var { key } = e.nativeEvent;\n if (key === \"Backspace\" || key === \"Enter\" || key.length === 1) {\n onKeyDown({\n key,\n type: \"keydown\"\n });\n }\n }\n };\n var handleSubmitEditing = function(e) {\n if (onKeyDown) {\n onKeyDown({\n key: \"Enter\",\n type: \"keydown\"\n });\n }\n onSubmitEditing === null || onSubmitEditing === void 0 ? void 0 : onSubmitEditing(e);\n };\n var handleSelectionChange = function(e) {\n onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(e);\n };\n var finalProps = {\n ...rest,\n editable: !disabled && !readOnly,\n secureTextEntry,\n keyboardType,\n keyboardAppearance,\n inputMode,\n returnKeyType,\n multiline,\n numberOfLines,\n selection,\n autoComplete,\n autoFocus: autoFocusNative,\n // callbacks\n onChangeText: handleChangeText,\n onKeyPress: onKeyPressProp || onKeyDown ? handleKeyPress : void 0,\n onSubmitEditing: onKeyDown || onSubmitEditing ? handleSubmitEditing : void 0,\n onSelectionChange: onSelectionChange ? handleSelectionChange : void 0,\n onEndEditing,\n onContentSizeChange,\n onScroll,\n // cross-platform native props\n submitBehavior,\n blurOnSubmit,\n caretHidden,\n contextMenuHidden,\n selectTextOnFocus,\n maxFontSizeMultiplier,\n allowFontScaling,\n autoCapitalize,\n autoCorrect,\n textContentType,\n // iOS-only props\n clearButtonMode,\n clearTextOnFocus,\n enablesReturnKeyAutomatically,\n dataDetectorTypes,\n scrollEnabled,\n passwordRules,\n rejectResponderTermination,\n spellCheck,\n lineBreakStrategyIOS,\n lineBreakModeIOS,\n smartInsertDelete,\n inputAccessoryViewID,\n inputAccessoryViewButtonLabel,\n disableKeyboardShortcuts,\n // Android-only props\n importantForAutofill,\n disableFullscreenUI,\n inlineImageLeft,\n inlineImagePadding,\n returnKeyLabel,\n textBreakStrategy,\n textAlignVertical,\n verticalAlign,\n showSoftInputOnFocus,\n // caretColor → cursorColor (Android) + selectionColor (iOS+Android),\n // unless the caller passed those explicitly.\n cursorColor: cursorColorProp !== null && cursorColorProp !== void 0 ? cursorColorProp : caretColor,\n selectionColor: selectionColorProp !== null && selectionColorProp !== void 0 ? selectionColorProp : caretColor\n };\n return /* @__PURE__ */ _jsx(StyledInput, {\n ref: composedRef,\n ...finalProps\n });\n});\nexport {\n Input\n};\n//# sourceMappingURL=Input.native.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Input.native.js","names":[],"sources":["esm/Input.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport React from \"react\";\nimport { TextInput } from \"react-native\";\nimport { createStyledHOC, styled } from \"@tamagui/core\";\nimport { registerFocusable } from \"@tamagui/focusable\";\nimport { useNativeInputRef } from \"@tamagui/element\";\nimport { resolveMultilineInputSize, styledBody } from \"./shared\";\nvar NativeTextInput = TextInput;\nvar StyledInput = styled(NativeTextInput, styledBody[0], styledBody[1]).resolve(resolveMultilineInputSize);\nvar Input = createStyledHOC(StyledInput, function(props, forwardedRef) {\n var {\n // Web props we need to convert\n type,\n disabled,\n readOnly,\n id,\n rows,\n autoComplete,\n enterKeyHint,\n // Callbacks\n onChange,\n onInput,\n onKeyDown,\n onChangeText,\n onSubmitEditing,\n onSelectionChange,\n onEndEditing,\n onContentSizeChange,\n onScroll,\n onKeyPress: onKeyPressProp,\n selection,\n // Native-only props (pass through directly)\n keyboardAppearance,\n returnKeyType: returnKeyTypeProp,\n submitBehavior,\n blurOnSubmit,\n caretHidden,\n contextMenuHidden,\n selectTextOnFocus,\n secureTextEntry: secureTextEntryProp,\n maxFontSizeMultiplier,\n allowFontScaling,\n multiline: multilineProp,\n keyboardType: keyboardTypeProp,\n inputMode: inputModeProp,\n autoCapitalize: autoCapitalizeProp,\n autoCorrect: autoCorrectProp,\n autoFocusNative,\n textContentType,\n // iOS-only props\n clearButtonMode,\n clearTextOnFocus,\n enablesReturnKeyAutomatically,\n dataDetectorTypes,\n scrollEnabled,\n passwordRules,\n rejectResponderTermination,\n spellCheck,\n lineBreakStrategyIOS,\n lineBreakModeIOS,\n smartInsertDelete,\n inputAccessoryViewID,\n inputAccessoryViewButtonLabel,\n disableKeyboardShortcuts,\n // Android-only props\n importantForAutofill,\n disableFullscreenUI,\n inlineImageLeft,\n inlineImagePadding,\n returnKeyLabel,\n textBreakStrategy,\n textAlignVertical,\n verticalAlign,\n showSoftInputOnFocus,\n numberOfLines: numberOfLinesProp,\n // Web-only props to filter out\n // @ts-ignore\n dirname,\n min,\n max,\n minLength,\n multiple,\n name,\n pattern,\n required,\n step,\n render,\n // caretColor is web-only as a CSS prop; on native forward to\n // cursorColor (Android) + selectionColor (iOS+Android caret) unless\n // those are explicitly set.\n // @ts-ignore - caretColor is typed as web-only in core\n caretColor,\n cursorColor: cursorColorProp,\n selectionColor: selectionColorProp,\n ...rest\n } = props;\n var { ref, composedRef } = useNativeInputRef(forwardedRef);\n var secureTextEntry = secureTextEntryProp !== null && secureTextEntryProp !== void 0 ? secureTextEntryProp : false;\n var keyboardType = keyboardTypeProp !== null && keyboardTypeProp !== void 0 ? keyboardTypeProp : \"default\";\n var inputMode = inputModeProp;\n if (!secureTextEntryProp && !keyboardTypeProp && !inputModeProp) {\n switch (type) {\n case \"password\":\n secureTextEntry = true;\n break;\n case \"email\":\n keyboardType = \"email-address\";\n inputMode = \"email\";\n break;\n case \"tel\":\n keyboardType = \"phone-pad\";\n inputMode = \"tel\";\n break;\n case \"number\":\n keyboardType = \"numeric\";\n inputMode = \"numeric\";\n break;\n case \"url\":\n keyboardType = \"url\";\n inputMode = \"url\";\n break;\n case \"search\":\n inputMode = \"search\";\n break;\n }\n }\n var returnKeyType = returnKeyTypeProp;\n if (!returnKeyType && enterKeyHint) {\n switch (enterKeyHint) {\n case \"done\":\n returnKeyType = \"done\";\n break;\n case \"go\":\n returnKeyType = \"go\";\n break;\n case \"next\":\n returnKeyType = \"next\";\n break;\n case \"search\":\n returnKeyType = \"search\";\n break;\n case \"send\":\n returnKeyType = \"send\";\n break;\n }\n }\n var multiline = multilineProp !== null && multilineProp !== void 0 ? multilineProp : render === \"textarea\" || rows && rows > 1;\n var numberOfLines = numberOfLinesProp !== null && numberOfLinesProp !== void 0 ? numberOfLinesProp : rows;\n var autoCorrect = autoCorrectProp === \"on\" ? true : autoCorrectProp === \"off\" ? false : autoCorrectProp;\n var autoCapitalize = autoCapitalizeProp === \"on\" ? \"sentences\" : autoCapitalizeProp === \"off\" ? \"none\" : autoCapitalizeProp;\n React.useEffect(function() {\n if (!id || disabled) return;\n return registerFocusable(id, {\n focusAndSelect: function() {\n var _ref_current;\n return (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();\n },\n focus: function() {\n var _ref_current;\n return (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();\n }\n });\n }, [\n id,\n disabled\n ]);\n var handleChangeText = function(text) {\n onChangeText === null || onChangeText === void 0 ? void 0 : onChangeText(text);\n if (onChange) {\n onChange({\n target: {\n value: text\n },\n type: \"change\"\n });\n }\n if (onInput) {\n onInput({\n target: {\n value: text\n },\n type: \"input\"\n });\n }\n };\n var handleKeyPress = function(e) {\n onKeyPressProp === null || onKeyPressProp === void 0 ? void 0 : onKeyPressProp(e);\n if (onKeyDown) {\n var { key } = e.nativeEvent;\n if (key === \"Backspace\" || key === \"Enter\" || key.length === 1) {\n onKeyDown({\n key,\n type: \"keydown\"\n });\n }\n }\n };\n var handleSubmitEditing = function(e) {\n if (onKeyDown) {\n onKeyDown({\n key: \"Enter\",\n type: \"keydown\"\n });\n }\n onSubmitEditing === null || onSubmitEditing === void 0 ? void 0 : onSubmitEditing(e);\n };\n var handleSelectionChange = function(e) {\n onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(e);\n };\n var finalProps = {\n ...rest,\n editable: !disabled && !readOnly,\n secureTextEntry,\n keyboardType,\n keyboardAppearance,\n inputMode,\n returnKeyType,\n multiline,\n numberOfLines,\n selection,\n autoComplete,\n autoFocus: autoFocusNative,\n // callbacks\n onChangeText: handleChangeText,\n onKeyPress: onKeyPressProp || onKeyDown ? handleKeyPress : void 0,\n onSubmitEditing: onKeyDown || onSubmitEditing ? handleSubmitEditing : void 0,\n onSelectionChange: onSelectionChange ? handleSelectionChange : void 0,\n onEndEditing,\n onContentSizeChange,\n onScroll,\n // cross-platform native props\n submitBehavior,\n blurOnSubmit,\n caretHidden,\n contextMenuHidden,\n selectTextOnFocus,\n maxFontSizeMultiplier,\n allowFontScaling,\n autoCapitalize,\n autoCorrect,\n textContentType,\n // iOS-only props\n clearButtonMode,\n clearTextOnFocus,\n enablesReturnKeyAutomatically,\n dataDetectorTypes,\n scrollEnabled,\n passwordRules,\n rejectResponderTermination,\n spellCheck,\n lineBreakStrategyIOS,\n lineBreakModeIOS,\n smartInsertDelete,\n inputAccessoryViewID,\n inputAccessoryViewButtonLabel,\n disableKeyboardShortcuts,\n // Android-only props\n importantForAutofill,\n disableFullscreenUI,\n inlineImageLeft,\n inlineImagePadding,\n returnKeyLabel,\n textBreakStrategy,\n textAlignVertical,\n verticalAlign,\n showSoftInputOnFocus,\n // caretColor → cursorColor (Android) + selectionColor (iOS+Android),\n // unless the caller passed those explicitly.\n cursorColor: cursorColorProp !== null && cursorColorProp !== void 0 ? cursorColorProp : caretColor,\n selectionColor: selectionColorProp !== null && selectionColorProp !== void 0 ? selectionColorProp : caretColor\n };\n return /* @__PURE__ */ _jsx(StyledInput, {\n ref: composedRef,\n ...finalProps\n });\n});\nexport {\n Input\n};\n//# sourceMappingURL=Input.native.js.map\n"],"mappings":"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"}
|
package/dist/esm/TextArea.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { styled } from "@tamagui/web";
|
|
2
2
|
import { Input } from "./Input.mjs";
|
|
3
|
-
import { defaultStyles, resolveTextAreaSize
|
|
3
|
+
import { defaultStyles, resolveTextAreaSize } from "./shared.mjs";
|
|
4
4
|
|
|
5
5
|
const TextAreaFrame = styled(Input, {
|
|
6
6
|
displayName: "TextArea",
|
|
@@ -8,8 +8,7 @@ const TextAreaFrame = styled(Input, {
|
|
|
8
8
|
whiteSpace: "pre-wrap",
|
|
9
9
|
height: "auto",
|
|
10
10
|
...defaultStyles,
|
|
11
|
-
rows: 3
|
|
12
|
-
variants: { size: textAreaSizeVariant }
|
|
11
|
+
rows: 3
|
|
13
12
|
});
|
|
14
13
|
const TextArea = TextAreaFrame.resolve(resolveTextAreaSize);
|
|
15
14
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextArea.js","names":[],"sources":["esm/TextArea.js"],"sourcesContent":["import { styled } from \"@tamagui/web\";\nimport { Input } from \"./Input\";\nimport { defaultStyles, resolveTextAreaSize
|
|
1
|
+
{"version":3,"file":"TextArea.js","names":[],"sources":["esm/TextArea.js"],"sourcesContent":["import { styled } from \"@tamagui/web\";\nimport { Input } from \"./Input\";\nimport { defaultStyles, resolveTextAreaSize } from \"./shared\";\nconst TextAreaFrame = styled(Input, {\n displayName: \"TextArea\",\n render: \"textarea\",\n // this attribute fixes firefox newline issue\n // @ts-ignore\n whiteSpace: \"pre-wrap\",\n height: \"auto\",\n ...defaultStyles,\n rows: 3\n});\nconst TextArea = TextAreaFrame.resolve(resolveTextAreaSize);\nexport {\n TextArea\n};\n//# sourceMappingURL=TextArea.js.map\n"],"mappings":";;;;;AAGA,MAAM,gBAAgB,OAAO,OAAO;CAClC,aAAa;CACb,QAAQ;CAGR,YAAY;CACZ,QAAQ;CACR,GAAG;CACH,MAAM;AACR,CAAC;AACD,MAAM,WAAW,cAAc,QAAQ,mBAAmB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { styled } from "@tamagui/web";
|
|
2
2
|
import { Input } from "./Input.native.js";
|
|
3
|
-
import { defaultStyles, resolveTextAreaSize
|
|
3
|
+
import { defaultStyles, resolveTextAreaSize } from "./shared.native.js";
|
|
4
4
|
|
|
5
5
|
var TextAreaFrame = styled(Input, {
|
|
6
6
|
displayName: "TextArea",
|
|
@@ -8,8 +8,7 @@ var TextAreaFrame = styled(Input, {
|
|
|
8
8
|
whiteSpace: "pre-wrap",
|
|
9
9
|
height: "auto",
|
|
10
10
|
...defaultStyles,
|
|
11
|
-
rows: 3
|
|
12
|
-
variants: { size: textAreaSizeVariant }
|
|
11
|
+
rows: 3
|
|
13
12
|
});
|
|
14
13
|
var TextArea = TextAreaFrame.resolve(resolveTextAreaSize);
|
|
15
14
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextArea.native.js","names":[],"sources":["esm/TextArea.native.js"],"sourcesContent":["import { styled } from \"@tamagui/web\";\nimport { Input } from \"./Input\";\nimport { defaultStyles, resolveTextAreaSize
|
|
1
|
+
{"version":3,"file":"TextArea.native.js","names":[],"sources":["esm/TextArea.native.js"],"sourcesContent":["import { styled } from \"@tamagui/web\";\nimport { Input } from \"./Input\";\nimport { defaultStyles, resolveTextAreaSize } from \"./shared\";\nvar TextAreaFrame = styled(Input, {\n displayName: \"TextArea\",\n render: \"textarea\",\n // this attribute fixes firefox newline issue\n // @ts-ignore\n whiteSpace: \"pre-wrap\",\n height: \"auto\",\n ...defaultStyles,\n rows: 3\n});\nvar TextArea = TextAreaFrame.resolve(resolveTextAreaSize);\nexport {\n TextArea\n};\n//# sourceMappingURL=TextArea.js.map\n"],"mappings":";;;;;AAGA,IAAI,gBAAgB,OAAO,OAAO;CAChC,aAAa;CACb,QAAQ;CAGR,YAAY;CACZ,QAAQ;CACR,GAAG;CACH,MAAM;AACR,CAAC;AACD,IAAI,WAAW,cAAc,QAAQ,mBAAmB"}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.mjs
CHANGED
package/dist/esm/index.native.js
CHANGED
package/dist/esm/shared.mjs
CHANGED
|
@@ -1,108 +1,23 @@
|
|
|
1
|
-
import { getVariableValue,
|
|
2
|
-
import { getFontSized } from "@tamagui/get-font-sized";
|
|
1
|
+
import { getVariableValue, resolveTextMetrics } from "@tamagui/core";
|
|
3
2
|
|
|
4
3
|
const defaultStyles = {
|
|
5
|
-
size: true,
|
|
6
4
|
outlineWidth: 0,
|
|
7
5
|
tabIndex: 0,
|
|
8
6
|
minWidth: 0
|
|
9
7
|
};
|
|
10
|
-
const resolveInputFrame = (val, env) => resolveTokenSize(val, {
|
|
11
|
-
tokens: env.tokens,
|
|
12
|
-
font: env.font
|
|
13
|
-
}).frame;
|
|
14
|
-
const inputSizeKeys = [
|
|
15
|
-
"0",
|
|
16
|
-
"0-25",
|
|
17
|
-
"0-5",
|
|
18
|
-
"0-75",
|
|
19
|
-
"1",
|
|
20
|
-
"1-5",
|
|
21
|
-
"2",
|
|
22
|
-
"2-5",
|
|
23
|
-
"3",
|
|
24
|
-
"3-5",
|
|
25
|
-
"4",
|
|
26
|
-
"4-5",
|
|
27
|
-
"5",
|
|
28
|
-
"6",
|
|
29
|
-
"7",
|
|
30
|
-
"8",
|
|
31
|
-
"9",
|
|
32
|
-
"10",
|
|
33
|
-
"11",
|
|
34
|
-
"12",
|
|
35
|
-
"13",
|
|
36
|
-
"14",
|
|
37
|
-
"15",
|
|
38
|
-
"16",
|
|
39
|
-
"17",
|
|
40
|
-
"18",
|
|
41
|
-
"19",
|
|
42
|
-
"20"
|
|
43
|
-
];
|
|
44
|
-
const getInputPadding = (val, env, steps) => {
|
|
45
|
-
if (typeof val === "number") {
|
|
46
|
-
return steps === 1 ? Math.max(0, Math.round(val * .6 - 12)) : Math.max(0, Math.round(val * .52 - 11.5));
|
|
47
|
-
}
|
|
48
|
-
const key = val === true ? "4" : val;
|
|
49
|
-
const index = inputSizeKeys.indexOf(key);
|
|
50
|
-
return env.tokens.space[inputSizeKeys[Math.max(0, index - steps)]];
|
|
51
|
-
};
|
|
52
|
-
const inputSizeVariant = styled.dynamic((val = true, env) => {
|
|
53
|
-
const frame = resolveInputFrame(val, env);
|
|
54
|
-
const fontStyle = getFontSized(val, env);
|
|
55
|
-
return {
|
|
56
|
-
color: fontStyle?.color,
|
|
57
|
-
fontFamily: fontStyle?.fontFamily,
|
|
58
|
-
fontSize: fontStyle?.fontSize,
|
|
59
|
-
fontStyle: fontStyle?.fontStyle,
|
|
60
|
-
fontWeight: fontStyle?.fontWeight,
|
|
61
|
-
letterSpacing: fontStyle?.letterSpacing,
|
|
62
|
-
lineHeight: isWeb ? fontStyle?.lineHeight : void 0,
|
|
63
|
-
textTransform: fontStyle?.textTransform,
|
|
64
|
-
height: frame.size,
|
|
65
|
-
borderRadius: frame.radius,
|
|
66
|
-
paddingHorizontal: getInputPadding(val, env, 1)
|
|
67
|
-
};
|
|
68
|
-
});
|
|
69
|
-
const textAreaSizeVariant = styled.dynamic((val = true, env) => {
|
|
70
|
-
const frame = resolveInputFrame(val, env);
|
|
71
|
-
const fontStyle = getFontSized(val, env);
|
|
72
|
-
return {
|
|
73
|
-
borderRadius: frame.radius,
|
|
74
|
-
color: fontStyle?.color,
|
|
75
|
-
fontFamily: fontStyle?.fontFamily,
|
|
76
|
-
fontSize: fontStyle?.fontSize,
|
|
77
|
-
fontStyle: fontStyle?.fontStyle,
|
|
78
|
-
fontWeight: fontStyle?.fontWeight,
|
|
79
|
-
letterSpacing: fontStyle?.letterSpacing,
|
|
80
|
-
lineHeight: isWeb ? fontStyle?.lineHeight : void 0,
|
|
81
|
-
textTransform: fontStyle?.textTransform,
|
|
82
|
-
paddingVertical: getInputPadding(val, env, 2),
|
|
83
|
-
paddingHorizontal: getInputPadding(val, env, 1),
|
|
84
|
-
height: "auto"
|
|
85
|
-
};
|
|
86
|
-
});
|
|
87
8
|
const resolveTextAreaSize = (props, env) => {
|
|
88
|
-
const
|
|
89
|
-
const
|
|
9
|
+
const font = props.fontFamily ? env.fonts[props.fontFamily] : env.font;
|
|
10
|
+
const defaultKey = font && "sm" in font.size ? "sm" : "4";
|
|
11
|
+
const fontSize = props.fontSize ?? defaultKey;
|
|
12
|
+
const lineHeight = props.lineHeight ?? font?.lineHeight?.[defaultKey];
|
|
13
|
+
const configuredSize = typeof fontSize === "string" ? font?.size[fontSize] : void 0;
|
|
14
|
+
const configuredLeading = typeof lineHeight === "string" ? font?.lineHeight?.[lineHeight] : void 0;
|
|
15
|
+
const metrics = { fontSize: Number.parseFloat(String(getVariableValue(configuredSize ?? fontSize))) };
|
|
16
|
+
const leading = configuredLeading ?? lineHeight;
|
|
17
|
+
resolveTextMetrics(metrics, (props.lineHeight == null || configuredLeading !== void 0) && typeof leading === "number" ? `${leading}px` : leading);
|
|
90
18
|
const lines = props.rows ?? props.numberOfLines;
|
|
91
|
-
const height = typeof lines === "number" ? lines *
|
|
92
|
-
return {
|
|
93
|
-
borderRadius: sized?.borderRadius,
|
|
94
|
-
color: sized?.color,
|
|
95
|
-
fontFamily: sized?.fontFamily,
|
|
96
|
-
fontSize: sized?.fontSize,
|
|
97
|
-
fontStyle: sized?.fontStyle,
|
|
98
|
-
fontWeight: sized?.fontWeight,
|
|
99
|
-
letterSpacing: sized?.letterSpacing,
|
|
100
|
-
lineHeight: sized?.lineHeight,
|
|
101
|
-
textTransform: sized?.textTransform,
|
|
102
|
-
paddingVertical: sized?.paddingVertical,
|
|
103
|
-
paddingHorizontal: sized?.paddingHorizontal,
|
|
104
|
-
height
|
|
105
|
-
};
|
|
19
|
+
const height = typeof lines === "number" && typeof metrics.lineHeight === "number" ? lines * metrics.lineHeight : void 0;
|
|
20
|
+
return { height };
|
|
106
21
|
};
|
|
107
22
|
const resolveMultilineInputSize = (props, env) => {
|
|
108
23
|
if (!(props.rows > 1 || props.multiline || props.numberOfLines > 1)) return;
|
|
@@ -113,11 +28,8 @@ const styledBody = [{
|
|
|
113
28
|
name: INPUT_NAME,
|
|
114
29
|
render: "input",
|
|
115
30
|
...defaultStyles,
|
|
116
|
-
variants: {
|
|
117
|
-
size: inputSizeVariant,
|
|
118
|
-
disabled: { true: {} }
|
|
119
|
-
}
|
|
31
|
+
variants: { disabled: { true: {} } }
|
|
120
32
|
}, { isInput: true }];
|
|
121
33
|
|
|
122
|
-
export { INPUT_NAME, defaultStyles,
|
|
34
|
+
export { INPUT_NAME, defaultStyles, resolveMultilineInputSize, resolveTextAreaSize, styledBody };
|
|
123
35
|
//# sourceMappingURL=shared.mjs.map
|
package/dist/esm/shared.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","names":[],"sources":["esm/shared.js"],"sourcesContent":["import { getVariableValue,
|
|
1
|
+
{"version":3,"file":"shared.js","names":[],"sources":["esm/shared.js"],"sourcesContent":["import { getVariableValue, resolveTextMetrics } from \"@tamagui/core\";\nconst defaultStyles = {\n outlineWidth: 0,\n tabIndex: 0,\n // this fixes a flex bug where it overflows container\n minWidth: 0\n};\nconst resolveTextAreaSize = (props, env) => {\n const font = props.fontFamily ? env.fonts[props.fontFamily] : env.font;\n const defaultKey = font && \"sm\" in font.size ? \"sm\" : \"4\";\n const fontSize = props.fontSize ?? defaultKey;\n const lineHeight = props.lineHeight ?? font?.lineHeight?.[defaultKey];\n const configuredSize = typeof fontSize === \"string\" ? font?.size[fontSize] : void 0;\n const configuredLeading = typeof lineHeight === \"string\" ? font?.lineHeight?.[lineHeight] : void 0;\n const metrics = {\n fontSize: Number.parseFloat(String(getVariableValue(configuredSize ?? fontSize)))\n };\n const leading = configuredLeading ?? lineHeight;\n resolveTextMetrics(\n metrics,\n (props.lineHeight == null || configuredLeading !== void 0) && typeof leading === \"number\" ? `${leading}px` : leading\n );\n const lines = props.rows ?? props.numberOfLines;\n const height = typeof lines === \"number\" && typeof metrics.lineHeight === \"number\" ? lines * metrics.lineHeight : void 0;\n return {\n height\n };\n};\nconst resolveMultilineInputSize = (props, env) => {\n if (!(props.rows > 1 || props.multiline || props.numberOfLines > 1)) return;\n return resolveTextAreaSize(props, env);\n};\nconst INPUT_NAME = \"Input\";\nconst styledBody = [\n {\n name: INPUT_NAME,\n render: \"input\",\n ...defaultStyles,\n variants: {\n disabled: {\n true: {}\n }\n }\n },\n {\n isInput: true\n }\n];\nexport {\n INPUT_NAME,\n defaultStyles,\n resolveMultilineInputSize,\n resolveTextAreaSize,\n styledBody\n};\n//# sourceMappingURL=shared.js.map\n"],"mappings":";;;AACA,MAAM,gBAAgB;CACpB,cAAc;CACd,UAAU;CAEV,UAAU;AACZ;AACA,MAAM,uBAAuB,OAAO,QAAQ;CAC1C,MAAM,OAAO,MAAM,aAAa,IAAI,MAAM,MAAM,cAAc,IAAI;CAClE,MAAM,aAAa,QAAQ,QAAQ,KAAK,OAAO,OAAO;CACtD,MAAM,WAAW,MAAM,YAAY;CACnC,MAAM,aAAa,MAAM,cAAc,MAAM,aAAa;CAC1D,MAAM,iBAAiB,OAAO,aAAa,WAAW,MAAM,KAAK,YAAY,KAAK;CAClF,MAAM,oBAAoB,OAAO,eAAe,WAAW,MAAM,aAAa,cAAc,KAAK;CACjG,MAAM,UAAU,EACd,UAAU,OAAO,WAAW,OAAO,iBAAiB,kBAAkB,QAAQ,CAAC,CAAC,EAClF;CACA,MAAM,UAAU,qBAAqB;CACrC,mBACE,UACC,MAAM,cAAc,QAAQ,sBAAsB,KAAK,MAAM,OAAO,YAAY,WAAW,GAAG,QAAQ,MAAM,OAC/G;CACA,MAAM,QAAQ,MAAM,QAAQ,MAAM;CAClC,MAAM,SAAS,OAAO,UAAU,YAAY,OAAO,QAAQ,eAAe,WAAW,QAAQ,QAAQ,aAAa,KAAK;CACvH,OAAO,EACL,OACF;AACF;AACA,MAAM,6BAA6B,OAAO,QAAQ;CAChD,IAAI,EAAE,MAAM,OAAO,KAAK,MAAM,aAAa,MAAM,gBAAgB,IAAI;CACrE,OAAO,oBAAoB,OAAO,GAAG;AACvC;AACA,MAAM,aAAa;AACnB,MAAM,aAAa,CACjB;CACE,MAAM;CACN,QAAQ;CACR,GAAG;CACH,UAAU,EACR,UAAU,EACR,MAAM,CAAC,EACT,EACF;AACF,GACA,EACE,SAAS,KACX,CACF"}
|