@tamagui/input 1.139.2 → 1.139.3
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/v1/Input.cjs +190 -0
- package/dist/cjs/v1/Input.js +171 -0
- package/dist/cjs/v1/Input.js.map +6 -0
- package/dist/cjs/v1/Input.native.js +138 -0
- package/dist/cjs/v1/Input.native.js.map +1 -0
- package/dist/cjs/v1/TextArea.cjs +50 -0
- package/dist/cjs/v1/TextArea.js +43 -0
- package/dist/cjs/v1/TextArea.js.map +6 -0
- package/dist/cjs/v1/TextArea.native.js +53 -0
- package/dist/cjs/v1/TextArea.native.js.map +1 -0
- package/dist/cjs/v1/index.cjs +19 -0
- package/dist/cjs/v1/index.js +16 -0
- package/dist/cjs/v1/index.js.map +6 -0
- package/dist/cjs/v1/index.native.js +22 -0
- package/dist/cjs/v1/index.native.js.map +1 -0
- package/dist/cjs/v1/types.cjs +16 -0
- package/dist/cjs/v1/types.js +14 -0
- package/dist/cjs/v1/types.js.map +6 -0
- package/dist/cjs/v1/types.native.js +19 -0
- package/dist/cjs/v1/types.native.js.map +1 -0
- package/dist/esm/v1/Input.js +151 -0
- package/dist/esm/v1/Input.js.map +6 -0
- package/dist/esm/v1/Input.mjs +156 -0
- package/dist/esm/v1/Input.mjs.map +1 -0
- package/dist/esm/v1/Input.native.js +101 -0
- package/dist/esm/v1/Input.native.js.map +1 -0
- package/dist/esm/v1/TextArea.js +29 -0
- package/dist/esm/v1/TextArea.js.map +6 -0
- package/dist/esm/v1/TextArea.mjs +27 -0
- package/dist/esm/v1/TextArea.mjs.map +1 -0
- package/dist/esm/v1/TextArea.native.js +27 -0
- package/dist/esm/v1/TextArea.native.js.map +1 -0
- package/dist/esm/v1/index.js +3 -0
- package/dist/esm/v1/index.js.map +6 -0
- package/dist/esm/v1/index.mjs +3 -0
- package/dist/esm/v1/index.mjs.map +1 -0
- package/dist/esm/v1/index.native.js +3 -0
- package/dist/esm/v1/index.native.js.map +1 -0
- package/dist/esm/v1/types.js +1 -0
- package/dist/esm/v1/types.js.map +6 -0
- package/dist/esm/v1/types.mjs +2 -0
- package/dist/esm/v1/types.mjs.map +1 -0
- package/dist/esm/v1/types.native.js +2 -0
- package/dist/esm/v1/types.native.js.map +1 -0
- package/dist/jsx/v1/Input.js +151 -0
- package/dist/jsx/v1/Input.js.map +6 -0
- package/dist/jsx/v1/Input.mjs +156 -0
- package/dist/jsx/v1/Input.mjs.map +1 -0
- package/dist/jsx/v1/Input.native.js +138 -0
- package/dist/jsx/v1/Input.native.js.map +1 -0
- package/dist/jsx/v1/TextArea.js +29 -0
- package/dist/jsx/v1/TextArea.js.map +6 -0
- package/dist/jsx/v1/TextArea.mjs +27 -0
- package/dist/jsx/v1/TextArea.mjs.map +1 -0
- package/dist/jsx/v1/TextArea.native.js +53 -0
- package/dist/jsx/v1/TextArea.native.js.map +1 -0
- package/dist/jsx/v1/index.js +3 -0
- package/dist/jsx/v1/index.js.map +6 -0
- package/dist/jsx/v1/index.mjs +3 -0
- package/dist/jsx/v1/index.mjs.map +1 -0
- package/dist/jsx/v1/index.native.js +22 -0
- package/dist/jsx/v1/index.native.js.map +1 -0
- package/dist/jsx/v1/types.js +1 -0
- package/dist/jsx/v1/types.js.map +6 -0
- package/dist/jsx/v1/types.mjs +2 -0
- package/dist/jsx/v1/types.mjs.map +1 -0
- package/dist/jsx/v1/types.native.js +19 -0
- package/dist/jsx/v1/types.native.js.map +1 -0
- package/package.json +13 -13
- package/types/v1/Input.d.ts.map +1 -0
- package/types/v1/Input.native.d.ts.map +1 -0
- package/types/v1/TextArea.d.ts.map +1 -0
- package/types/v1/index.d.ts.map +1 -0
- package/types/v1/types.d.ts.map +1 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { styled } from "@tamagui/web";
|
|
2
|
+
import { Input } from "./Input.native.js";
|
|
3
|
+
import { defaultStyles, textAreaSizeVariant } from "../shared.native.js";
|
|
4
|
+
var TextArea = styled(Input, {
|
|
5
|
+
name: "TextArea",
|
|
6
|
+
tag: "textarea",
|
|
7
|
+
// this attribute fixes firefox newline issue
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
whiteSpace: "pre-wrap",
|
|
10
|
+
variants: {
|
|
11
|
+
unstyled: {
|
|
12
|
+
false: {
|
|
13
|
+
height: "auto",
|
|
14
|
+
...defaultStyles,
|
|
15
|
+
numberOfLines: 3
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
size: {
|
|
19
|
+
"...size": textAreaSizeVariant
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
defaultVariants: {
|
|
23
|
+
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
export { TextArea };
|
|
27
|
+
//# sourceMappingURL=TextArea.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["styled","Input","defaultStyles","textAreaSizeVariant","TextArea","name","tag","whiteSpace","variants","unstyled","false","height","numberOfLines","size","defaultVariants","process","env","TAMAGUI_HEADLESS"],"sources":["../../../src/v1/TextArea.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAA,QAAc;AACvB,SAASC,KAAA,QAAa;AACtB,SAASC,aAAA,EAAeC,mBAAA,QAA2B;AAO5C,IAAAC,QAAM,GAAAJ,MAAW,CAAAC,KAAO;EAC7BI,IAAA,EAAM;EACNC,GAAA,EAAK;EAAA;EAAA;EAILC,UAAA,EAAY;EAEZC,QAAA,EAAU;IACRC,QAAA,EAAU;MACRC,KAAA,EAAO;QACLC,MAAA,EAAQ;QACR,GAAGT,aAAA;QACHU,aAAA,EAAe;MACjB;IACF;IAEAC,IAAA,EAAM;MACJ,WAAWV;IACb;EACF;EAEAW,eAAA,EAAiB;IACfL,QAAA,EAAUM,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB;EAC7C;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/v1/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/v1/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { View, styled, useComposedRefs, useEvent, useTheme } from "@tamagui/core";
|
|
2
|
+
import { registerFocusable } from "@tamagui/focusable";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { styledBody } from "../shared";
|
|
5
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
const StyledInput = styled(View, styledBody[0], styledBody[1]), Input = StyledInput.styleable((inProps, forwardedRef) => {
|
|
7
|
+
const {
|
|
8
|
+
// some of destructed props are just to avoid passing them to ...rest because they are not in web.
|
|
9
|
+
allowFontScaling,
|
|
10
|
+
selectTextOnFocus,
|
|
11
|
+
showSoftInputOnFocus,
|
|
12
|
+
textContentType,
|
|
13
|
+
passwordRules,
|
|
14
|
+
textBreakStrategy,
|
|
15
|
+
underlineColorAndroid,
|
|
16
|
+
selection,
|
|
17
|
+
lineBreakStrategyIOS,
|
|
18
|
+
returnKeyLabel,
|
|
19
|
+
disabled,
|
|
20
|
+
onSubmitEditing,
|
|
21
|
+
caretHidden,
|
|
22
|
+
clearButtonMode,
|
|
23
|
+
clearTextOnFocus,
|
|
24
|
+
contextMenuHidden,
|
|
25
|
+
dataDetectorTypes,
|
|
26
|
+
id,
|
|
27
|
+
enablesReturnKeyAutomatically,
|
|
28
|
+
importantForAutofill,
|
|
29
|
+
inlineImageLeft,
|
|
30
|
+
inlineImagePadding,
|
|
31
|
+
inputAccessoryViewID,
|
|
32
|
+
keyboardAppearance,
|
|
33
|
+
keyboardType,
|
|
34
|
+
cursorColor,
|
|
35
|
+
disableFullscreenUI,
|
|
36
|
+
editable,
|
|
37
|
+
maxFontSizeMultiplier,
|
|
38
|
+
multiline,
|
|
39
|
+
numberOfLines,
|
|
40
|
+
onChangeText,
|
|
41
|
+
onContentSizeChange,
|
|
42
|
+
onEndEditing,
|
|
43
|
+
onScroll,
|
|
44
|
+
onSelectionChange,
|
|
45
|
+
// @ts-ignore
|
|
46
|
+
caretColor,
|
|
47
|
+
placeholderTextColor,
|
|
48
|
+
blurOnSubmit,
|
|
49
|
+
enterKeyHint,
|
|
50
|
+
returnKeyType,
|
|
51
|
+
rejectResponderTermination,
|
|
52
|
+
scrollEnabled,
|
|
53
|
+
secureTextEntry,
|
|
54
|
+
selectionColor,
|
|
55
|
+
inputMode,
|
|
56
|
+
...rest
|
|
57
|
+
} = inProps, ref = React.useRef(null), theme = useTheme(), composedRefs = useComposedRefs(forwardedRef, ref), _onSelectionChange = useEvent(() => {
|
|
58
|
+
const start = ref.current?.selectionStart ?? 0, end = ref.current?.selectionEnd ?? 0;
|
|
59
|
+
onSelectionChange?.({
|
|
60
|
+
nativeEvent: {
|
|
61
|
+
selection: {
|
|
62
|
+
end,
|
|
63
|
+
start
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
React.useEffect(() => {
|
|
69
|
+
if (onSelectionChange)
|
|
70
|
+
return ref.current?.addEventListener("selectionchange", _onSelectionChange), () => {
|
|
71
|
+
ref.current?.removeEventListener("selectionchange", _onSelectionChange);
|
|
72
|
+
};
|
|
73
|
+
}, []), React.useEffect(() => {
|
|
74
|
+
selection && ref.current?.setSelectionRange(selection.start || null, selection.end || null);
|
|
75
|
+
}, [selection?.start, selection?.end]);
|
|
76
|
+
const finalProps = {
|
|
77
|
+
...rest,
|
|
78
|
+
disabled,
|
|
79
|
+
caretColor,
|
|
80
|
+
id,
|
|
81
|
+
enterKeyHint,
|
|
82
|
+
type: (() => {
|
|
83
|
+
if (rest?.type) return rest.type;
|
|
84
|
+
if (secureTextEntry) return "password";
|
|
85
|
+
switch (keyboardType) {
|
|
86
|
+
case "number-pad":
|
|
87
|
+
case "numeric":
|
|
88
|
+
return "number";
|
|
89
|
+
case "email-address":
|
|
90
|
+
return "email";
|
|
91
|
+
case "phone-pad":
|
|
92
|
+
return "tel";
|
|
93
|
+
case "url":
|
|
94
|
+
return "url";
|
|
95
|
+
default:
|
|
96
|
+
return "text";
|
|
97
|
+
}
|
|
98
|
+
})(),
|
|
99
|
+
inputMode: (() => {
|
|
100
|
+
switch (keyboardType) {
|
|
101
|
+
case "number-pad":
|
|
102
|
+
case "numeric":
|
|
103
|
+
return "numeric";
|
|
104
|
+
case "decimal-pad":
|
|
105
|
+
return "decimal";
|
|
106
|
+
case "email-address":
|
|
107
|
+
return "email";
|
|
108
|
+
case "phone-pad":
|
|
109
|
+
return "tel";
|
|
110
|
+
case "url":
|
|
111
|
+
return "url";
|
|
112
|
+
default:
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
})(),
|
|
116
|
+
style: {
|
|
117
|
+
...rest.style,
|
|
118
|
+
...placeholderTextColor && {
|
|
119
|
+
"--placeholderColor": theme[placeholderTextColor]?.variable || placeholderTextColor
|
|
120
|
+
},
|
|
121
|
+
...selectionColor && {
|
|
122
|
+
"--selectionColor": theme[selectionColor]?.variable || selectionColor
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
return React.useEffect(() => {
|
|
127
|
+
if (id && !disabled)
|
|
128
|
+
return registerFocusable(id, {
|
|
129
|
+
focusAndSelect: () => {
|
|
130
|
+
ref.current?.focus();
|
|
131
|
+
},
|
|
132
|
+
focus: () => {
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}, [id, disabled]), /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
136
|
+
/* @__PURE__ */ jsx("style", { children: `
|
|
137
|
+
input::selection, textarea::selection {
|
|
138
|
+
background-color: var(--selectionBackground) !important;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
input::placeholder, textarea::placeholder {
|
|
142
|
+
color: var(--placeholderColor) !important;
|
|
143
|
+
}
|
|
144
|
+
` }),
|
|
145
|
+
/* @__PURE__ */ jsx(StyledInput, { ref: composedRefs, ...finalProps })
|
|
146
|
+
] });
|
|
147
|
+
});
|
|
148
|
+
export {
|
|
149
|
+
Input
|
|
150
|
+
};
|
|
151
|
+
//# sourceMappingURL=Input.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/v1/Input.tsx"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { View, styled, useComposedRefs, useEvent, useTheme } from "@tamagui/core";
|
|
2
|
+
import { registerFocusable } from "@tamagui/focusable";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { styledBody } from "../shared.mjs";
|
|
5
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
const StyledInput = styled(View, styledBody[0], styledBody[1]),
|
|
7
|
+
Input = StyledInput.styleable((inProps, forwardedRef) => {
|
|
8
|
+
const {
|
|
9
|
+
// some of destructed props are just to avoid passing them to ...rest because they are not in web.
|
|
10
|
+
allowFontScaling,
|
|
11
|
+
selectTextOnFocus,
|
|
12
|
+
showSoftInputOnFocus,
|
|
13
|
+
textContentType,
|
|
14
|
+
passwordRules,
|
|
15
|
+
textBreakStrategy,
|
|
16
|
+
underlineColorAndroid,
|
|
17
|
+
selection,
|
|
18
|
+
lineBreakStrategyIOS,
|
|
19
|
+
returnKeyLabel,
|
|
20
|
+
disabled,
|
|
21
|
+
onSubmitEditing,
|
|
22
|
+
caretHidden,
|
|
23
|
+
clearButtonMode,
|
|
24
|
+
clearTextOnFocus,
|
|
25
|
+
contextMenuHidden,
|
|
26
|
+
dataDetectorTypes,
|
|
27
|
+
id,
|
|
28
|
+
enablesReturnKeyAutomatically,
|
|
29
|
+
importantForAutofill,
|
|
30
|
+
inlineImageLeft,
|
|
31
|
+
inlineImagePadding,
|
|
32
|
+
inputAccessoryViewID,
|
|
33
|
+
keyboardAppearance,
|
|
34
|
+
keyboardType,
|
|
35
|
+
cursorColor,
|
|
36
|
+
disableFullscreenUI,
|
|
37
|
+
editable,
|
|
38
|
+
maxFontSizeMultiplier,
|
|
39
|
+
multiline,
|
|
40
|
+
numberOfLines,
|
|
41
|
+
onChangeText,
|
|
42
|
+
onContentSizeChange,
|
|
43
|
+
onEndEditing,
|
|
44
|
+
onScroll,
|
|
45
|
+
onSelectionChange,
|
|
46
|
+
// @ts-ignore
|
|
47
|
+
caretColor,
|
|
48
|
+
placeholderTextColor,
|
|
49
|
+
blurOnSubmit,
|
|
50
|
+
enterKeyHint,
|
|
51
|
+
returnKeyType,
|
|
52
|
+
rejectResponderTermination,
|
|
53
|
+
scrollEnabled,
|
|
54
|
+
secureTextEntry,
|
|
55
|
+
selectionColor,
|
|
56
|
+
inputMode,
|
|
57
|
+
...rest
|
|
58
|
+
} = inProps,
|
|
59
|
+
ref = React.useRef(null),
|
|
60
|
+
theme = useTheme(),
|
|
61
|
+
composedRefs = useComposedRefs(forwardedRef, ref),
|
|
62
|
+
_onSelectionChange = useEvent(() => {
|
|
63
|
+
const start = ref.current?.selectionStart ?? 0,
|
|
64
|
+
end = ref.current?.selectionEnd ?? 0;
|
|
65
|
+
onSelectionChange?.({
|
|
66
|
+
nativeEvent: {
|
|
67
|
+
selection: {
|
|
68
|
+
end,
|
|
69
|
+
start
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
React.useEffect(() => {
|
|
75
|
+
if (onSelectionChange) return ref.current?.addEventListener("selectionchange", _onSelectionChange), () => {
|
|
76
|
+
ref.current?.removeEventListener("selectionchange", _onSelectionChange);
|
|
77
|
+
};
|
|
78
|
+
}, []), React.useEffect(() => {
|
|
79
|
+
selection && ref.current?.setSelectionRange(selection.start || null, selection.end || null);
|
|
80
|
+
}, [selection?.start, selection?.end]);
|
|
81
|
+
const finalProps = {
|
|
82
|
+
...rest,
|
|
83
|
+
disabled,
|
|
84
|
+
caretColor,
|
|
85
|
+
id,
|
|
86
|
+
enterKeyHint,
|
|
87
|
+
type: (() => {
|
|
88
|
+
if (rest?.type) return rest.type;
|
|
89
|
+
if (secureTextEntry) return "password";
|
|
90
|
+
switch (keyboardType) {
|
|
91
|
+
case "number-pad":
|
|
92
|
+
case "numeric":
|
|
93
|
+
return "number";
|
|
94
|
+
case "email-address":
|
|
95
|
+
return "email";
|
|
96
|
+
case "phone-pad":
|
|
97
|
+
return "tel";
|
|
98
|
+
case "url":
|
|
99
|
+
return "url";
|
|
100
|
+
default:
|
|
101
|
+
return "text";
|
|
102
|
+
}
|
|
103
|
+
})(),
|
|
104
|
+
inputMode: (() => {
|
|
105
|
+
switch (keyboardType) {
|
|
106
|
+
case "number-pad":
|
|
107
|
+
case "numeric":
|
|
108
|
+
return "numeric";
|
|
109
|
+
case "decimal-pad":
|
|
110
|
+
return "decimal";
|
|
111
|
+
case "email-address":
|
|
112
|
+
return "email";
|
|
113
|
+
case "phone-pad":
|
|
114
|
+
return "tel";
|
|
115
|
+
case "url":
|
|
116
|
+
return "url";
|
|
117
|
+
default:
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
})(),
|
|
121
|
+
style: {
|
|
122
|
+
...rest.style,
|
|
123
|
+
...(placeholderTextColor && {
|
|
124
|
+
"--placeholderColor": theme[placeholderTextColor]?.variable || placeholderTextColor
|
|
125
|
+
}),
|
|
126
|
+
...(selectionColor && {
|
|
127
|
+
"--selectionColor": theme[selectionColor]?.variable || selectionColor
|
|
128
|
+
})
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
return React.useEffect(() => {
|
|
132
|
+
if (id && !disabled) return registerFocusable(id, {
|
|
133
|
+
focusAndSelect: () => {
|
|
134
|
+
ref.current?.focus();
|
|
135
|
+
},
|
|
136
|
+
focus: () => {}
|
|
137
|
+
});
|
|
138
|
+
}, [id, disabled]), /* @__PURE__ */jsxs(Fragment, {
|
|
139
|
+
children: [/* @__PURE__ */jsx("style", {
|
|
140
|
+
children: `
|
|
141
|
+
input::selection, textarea::selection {
|
|
142
|
+
background-color: var(--selectionBackground) !important;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
input::placeholder, textarea::placeholder {
|
|
146
|
+
color: var(--placeholderColor) !important;
|
|
147
|
+
}
|
|
148
|
+
`
|
|
149
|
+
}), /* @__PURE__ */jsx(StyledInput, {
|
|
150
|
+
ref: composedRefs,
|
|
151
|
+
...finalProps
|
|
152
|
+
})]
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
export { Input };
|
|
156
|
+
//# sourceMappingURL=Input.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["View","styled","useComposedRefs","useEvent","useTheme","registerFocusable","React","styledBody","Fragment","jsx","jsxs","StyledInput","Input","styleable","inProps","forwardedRef","allowFontScaling","selectTextOnFocus","showSoftInputOnFocus","textContentType","passwordRules","textBreakStrategy","underlineColorAndroid","selection","lineBreakStrategyIOS","returnKeyLabel","disabled","onSubmitEditing","caretHidden","clearButtonMode","clearTextOnFocus","contextMenuHidden","dataDetectorTypes","id","enablesReturnKeyAutomatically","importantForAutofill","inlineImageLeft","inlineImagePadding","inputAccessoryViewID","keyboardAppearance","keyboardType","cursorColor","disableFullscreenUI","editable","maxFontSizeMultiplier","multiline","numberOfLines","onChangeText","onContentSizeChange","onEndEditing","onScroll","onSelectionChange","caretColor","placeholderTextColor","blurOnSubmit","enterKeyHint","returnKeyType","rejectResponderTermination","scrollEnabled","secureTextEntry","selectionColor","inputMode","rest","ref","useRef","theme","composedRefs","_onSelectionChange","start","current","selectionStart","end","selectionEnd","nativeEvent","useEffect","addEventListener","removeEventListener","setSelectionRange","finalProps","type","style","variable","focusAndSelect","focus","children"],"sources":["../../../src/v1/Input.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf,
|
|
8
|
+
__hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all) __defProp(target, name, {
|
|
11
|
+
get: all[name],
|
|
12
|
+
enumerable: !0
|
|
13
|
+
});
|
|
14
|
+
},
|
|
15
|
+
__copyProps = (to, from, except, desc) => {
|
|
16
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
17
|
+
get: () => from[key],
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
24
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
25
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
28
|
+
value: mod,
|
|
29
|
+
enumerable: !0
|
|
30
|
+
}) : target, mod)),
|
|
31
|
+
__toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
32
|
+
value: !0
|
|
33
|
+
}), mod);
|
|
34
|
+
var Input_native_exports = {};
|
|
35
|
+
__export(Input_native_exports, {
|
|
36
|
+
Input: () => Input
|
|
37
|
+
});
|
|
38
|
+
module.exports = __toCommonJS(Input_native_exports);
|
|
39
|
+
var import_jsx_runtime = require("react/jsx-runtime"),
|
|
40
|
+
import_react = __toESM(require("react"), 1),
|
|
41
|
+
import_core = require("@tamagui/core"),
|
|
42
|
+
import_focusable = require("@tamagui/focusable"),
|
|
43
|
+
import_react_native = require("react-native"),
|
|
44
|
+
import_shared = require("../shared.native.js"),
|
|
45
|
+
StyledInput = (0, import_core.styled)(import_react_native.TextInput, import_shared.styledBody[0], import_shared.styledBody[1]),
|
|
46
|
+
Input = StyledInput.styleable(function (inProps, forwardedRef) {
|
|
47
|
+
var {
|
|
48
|
+
// some of destructed props are just to avoid passing them to ...rest because they are not in native.
|
|
49
|
+
type,
|
|
50
|
+
//@ts-ignore
|
|
51
|
+
dirname,
|
|
52
|
+
max,
|
|
53
|
+
min,
|
|
54
|
+
minLength,
|
|
55
|
+
multiple,
|
|
56
|
+
name,
|
|
57
|
+
required,
|
|
58
|
+
step,
|
|
59
|
+
disabled,
|
|
60
|
+
id,
|
|
61
|
+
// @ts-ignore
|
|
62
|
+
caretColor,
|
|
63
|
+
onChange,
|
|
64
|
+
onInput,
|
|
65
|
+
rows,
|
|
66
|
+
enterKeyHint,
|
|
67
|
+
returnKeyType,
|
|
68
|
+
onKeyDown,
|
|
69
|
+
inputMode,
|
|
70
|
+
tag,
|
|
71
|
+
...rest
|
|
72
|
+
} = inProps,
|
|
73
|
+
ref = import_react.default.useRef(null),
|
|
74
|
+
composedRefs = (0, import_core.useComposedRefs)(forwardedRef, ref),
|
|
75
|
+
secureTextEntry = !1,
|
|
76
|
+
cursorColor = caretColor,
|
|
77
|
+
_returnKeyType = returnKeyType,
|
|
78
|
+
_enterKeyHint = enterKeyHint;
|
|
79
|
+
enterKeyHint === "go" && (_returnKeyType = "go", _enterKeyHint = void 0);
|
|
80
|
+
var _inputMode = inputMode;
|
|
81
|
+
type === "email" ? _inputMode = "email" : type === "tel" ? _inputMode = "tel" : type === "search" ? _inputMode = "search" : type === "url" ? _inputMode = "url" : type === "password" ? (secureTextEntry = !0, _inputMode = "text") : type === "number" ? _inputMode = "numeric" : _inputMode = "text";
|
|
82
|
+
var showSoftInputOnFocus = !0;
|
|
83
|
+
inputMode === "none" && (showSoftInputOnFocus = !1);
|
|
84
|
+
var finalProps = {
|
|
85
|
+
...rest,
|
|
86
|
+
inputMode: _inputMode,
|
|
87
|
+
showSoftInputOnFocus,
|
|
88
|
+
disabled,
|
|
89
|
+
id,
|
|
90
|
+
cursorColor,
|
|
91
|
+
enterKeyHint: _enterKeyHint,
|
|
92
|
+
returnKeyType: _returnKeyType,
|
|
93
|
+
secureTextEntry,
|
|
94
|
+
numberOfLines: rows || rest.numberOfLines
|
|
95
|
+
};
|
|
96
|
+
return tag === "textarea" && (finalProps.multiline = !0), onKeyDown && (finalProps.onKeyPress = function (e) {
|
|
97
|
+
var {
|
|
98
|
+
key
|
|
99
|
+
} = e.nativeEvent;
|
|
100
|
+
(key === "Backspace" || tag === "textarea" && key === "Enter" || key.length === 1) && onKeyDown({
|
|
101
|
+
key,
|
|
102
|
+
type: "keydown"
|
|
103
|
+
});
|
|
104
|
+
}, finalProps.onSubmitEditing = function (e) {
|
|
105
|
+
onKeyDown({
|
|
106
|
+
key: "Enter",
|
|
107
|
+
type: "keydown"
|
|
108
|
+
});
|
|
109
|
+
}), (onChange || onInput) && (finalProps.onChange = function (e) {
|
|
110
|
+
var {
|
|
111
|
+
text
|
|
112
|
+
} = e.nativeEvent;
|
|
113
|
+
onChange && onChange({
|
|
114
|
+
target: {
|
|
115
|
+
value: text
|
|
116
|
+
},
|
|
117
|
+
type: "change"
|
|
118
|
+
}), onInput?.({
|
|
119
|
+
target: {
|
|
120
|
+
value: text
|
|
121
|
+
},
|
|
122
|
+
type: "input"
|
|
123
|
+
});
|
|
124
|
+
}), import_react.default.useEffect(function () {
|
|
125
|
+
if (id && !disabled) return (0, import_focusable.registerFocusable)(id, {
|
|
126
|
+
focusAndSelect: function () {
|
|
127
|
+
var _ref_current;
|
|
128
|
+
(_ref_current = ref.current) === null || _ref_current === void 0 || _ref_current.focus();
|
|
129
|
+
},
|
|
130
|
+
focus: function () {}
|
|
131
|
+
});
|
|
132
|
+
}, [id, disabled]), /* @__PURE__ */(0, import_jsx_runtime.jsx)(StyledInput, {
|
|
133
|
+
onChange: function (e) {},
|
|
134
|
+
ref: composedRefs,
|
|
135
|
+
...finalProps
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
//# sourceMappingURL=Input.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Input_native_exports","__export","Input","module","exports","__toCommonJS","import_jsx_runtime","require","import_react","__toESM","import_core","import_focusable","import_react_native","import_shared","StyledInput","styled","TextInput","styledBody","styleable","inProps","forwardedRef","type","dirname","max","min","minLength","multiple","name","required","step","disabled","id","caretColor","onChange","onInput","rows","enterKeyHint","returnKeyType","onKeyDown","inputMode","tag","rest","ref","default","useRef","composedRefs","useComposedRefs","secureTextEntry","cursorColor","_returnKeyType","_enterKeyHint","_inputMode","showSoftInputOnFocus","finalProps","numberOfLines","multiline","onKeyPress","e","key","nativeEvent","length","onSubmitEditing","text","target","value","useEffect","registerFocusable","focusAndSelect","_ref_current","current","focus","jsx"],"sources":["../../../src/v1/Input.native.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { styled } from "@tamagui/web";
|
|
2
|
+
import { Input } from "./Input";
|
|
3
|
+
import { defaultStyles, textAreaSizeVariant } from "../shared";
|
|
4
|
+
const TextArea = styled(Input, {
|
|
5
|
+
name: "TextArea",
|
|
6
|
+
tag: "textarea",
|
|
7
|
+
// this attribute fixes firefox newline issue
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
whiteSpace: "pre-wrap",
|
|
10
|
+
variants: {
|
|
11
|
+
unstyled: {
|
|
12
|
+
false: {
|
|
13
|
+
height: "auto",
|
|
14
|
+
...defaultStyles,
|
|
15
|
+
numberOfLines: 3
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
size: {
|
|
19
|
+
"...size": textAreaSizeVariant
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
defaultVariants: {
|
|
23
|
+
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
export {
|
|
27
|
+
TextArea
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=TextArea.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/v1/TextArea.tsx"],
|
|
4
|
+
"mappings": "AAAA,SAAS,cAAc;AACvB,SAAS,aAAa;AACtB,SAAS,eAAe,2BAA2B;AAO5C,MAAM,WAAW,OAAO,OAAO;AAAA,EACpC,MAAM;AAAA,EACN,KAAK;AAAA;AAAA;AAAA,EAIL,YAAY;AAAA,EAEZ,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,GAAG;AAAA,QACH,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,IAEA,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU,QAAQ,IAAI,qBAAqB;AAAA,EAC7C;AACF,CAAC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { styled } from "@tamagui/web";
|
|
2
|
+
import { Input } from "./Input.mjs";
|
|
3
|
+
import { defaultStyles, textAreaSizeVariant } from "../shared.mjs";
|
|
4
|
+
const TextArea = styled(Input, {
|
|
5
|
+
name: "TextArea",
|
|
6
|
+
tag: "textarea",
|
|
7
|
+
// this attribute fixes firefox newline issue
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
whiteSpace: "pre-wrap",
|
|
10
|
+
variants: {
|
|
11
|
+
unstyled: {
|
|
12
|
+
false: {
|
|
13
|
+
height: "auto",
|
|
14
|
+
...defaultStyles,
|
|
15
|
+
numberOfLines: 3
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
size: {
|
|
19
|
+
"...size": textAreaSizeVariant
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
defaultVariants: {
|
|
23
|
+
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
export { TextArea };
|
|
27
|
+
//# sourceMappingURL=TextArea.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["styled","Input","defaultStyles","textAreaSizeVariant","TextArea","name","tag","whiteSpace","variants","unstyled","false","height","numberOfLines","size","defaultVariants","process","env","TAMAGUI_HEADLESS"],"sources":["../../../src/v1/TextArea.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAA,QAAc;AACvB,SAASC,KAAA,QAAa;AACtB,SAASC,aAAA,EAAeC,mBAAA,QAA2B;AAO5C,MAAMC,QAAA,GAAWJ,MAAA,CAAOC,KAAA,EAAO;EACpCI,IAAA,EAAM;EACNC,GAAA,EAAK;EAAA;EAAA;EAILC,UAAA,EAAY;EAEZC,QAAA,EAAU;IACRC,QAAA,EAAU;MACRC,KAAA,EAAO;QACLC,MAAA,EAAQ;QACR,GAAGT,aAAA;QACHU,aAAA,EAAe;MACjB;IACF;IAEAC,IAAA,EAAM;MACJ,WAAWV;IACb;EACF;EAEAW,eAAA,EAAiB;IACfL,QAAA,EAAUM,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB;EAC7C;AACF,CAAC","ignoreList":[]}
|