@tamagui/input 2.7.7 → 3.0.0-beta.1091.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/dist/cjs/Input.cjs +72 -163
  2. package/dist/cjs/Input.native.cjs +208 -0
  3. package/dist/cjs/Input.native.js +186 -283
  4. package/dist/cjs/Input.native.js.map +1 -1
  5. package/dist/cjs/InputNativeProps.cjs +9 -11
  6. package/dist/cjs/InputNativeProps.native.cjs +18 -0
  7. package/dist/cjs/InputNativeProps.native.js +9 -10
  8. package/dist/cjs/InputNativeProps.native.js.map +1 -1
  9. package/dist/cjs/TextArea.cjs +23 -39
  10. package/dist/cjs/TextArea.native.cjs +38 -0
  11. package/dist/cjs/TextArea.native.js +23 -38
  12. package/dist/cjs/TextArea.native.js.map +1 -1
  13. package/dist/cjs/index.cjs +15 -17
  14. package/dist/cjs/index.native.cjs +32 -0
  15. package/dist/cjs/index.native.js +15 -16
  16. package/dist/cjs/index.native.js.map +1 -1
  17. package/dist/cjs/shared.cjs +74 -124
  18. package/dist/cjs/shared.native.cjs +101 -0
  19. package/dist/cjs/shared.native.js +80 -129
  20. package/dist/cjs/shared.native.js.map +1 -1
  21. package/dist/cjs/types.cjs +9 -11
  22. package/dist/cjs/types.native.cjs +18 -0
  23. package/dist/cjs/types.native.js +9 -10
  24. package/dist/cjs/types.native.js.map +1 -1
  25. package/dist/esm/Input.mjs +59 -139
  26. package/dist/esm/Input.mjs.map +1 -1
  27. package/dist/esm/Input.native.js +174 -261
  28. package/dist/esm/Input.native.js.map +1 -1
  29. package/dist/esm/InputNativeProps.mjs +0 -2
  30. package/dist/esm/InputNativeProps.native.js +0 -2
  31. package/dist/esm/TextArea.mjs +12 -22
  32. package/dist/esm/TextArea.mjs.map +1 -1
  33. package/dist/esm/TextArea.native.js +12 -22
  34. package/dist/esm/TextArea.native.js.map +1 -1
  35. package/dist/esm/index.js +6 -4
  36. package/dist/esm/index.mjs +6 -4
  37. package/dist/esm/index.native.js +6 -4
  38. package/dist/esm/shared.mjs +59 -107
  39. package/dist/esm/shared.mjs.map +1 -1
  40. package/dist/esm/shared.native.js +64 -112
  41. package/dist/esm/shared.native.js.map +1 -1
  42. package/dist/esm/types.mjs +0 -2
  43. package/dist/esm/types.native.js +0 -2
  44. package/dist/jsx/Input.mjs +59 -139
  45. package/dist/jsx/Input.mjs.map +1 -1
  46. package/dist/jsx/Input.native.cjs +208 -0
  47. package/dist/jsx/Input.native.js +186 -283
  48. package/dist/jsx/Input.native.js.map +1 -1
  49. package/dist/jsx/InputNativeProps.mjs +0 -2
  50. package/dist/jsx/InputNativeProps.native.cjs +18 -0
  51. package/dist/jsx/InputNativeProps.native.js +9 -10
  52. package/dist/jsx/InputNativeProps.native.js.map +1 -1
  53. package/dist/jsx/TextArea.mjs +12 -22
  54. package/dist/jsx/TextArea.mjs.map +1 -1
  55. package/dist/jsx/TextArea.native.cjs +38 -0
  56. package/dist/jsx/TextArea.native.js +23 -38
  57. package/dist/jsx/TextArea.native.js.map +1 -1
  58. package/dist/jsx/index.js +6 -4
  59. package/dist/jsx/index.mjs +6 -4
  60. package/dist/jsx/index.native.cjs +32 -0
  61. package/dist/jsx/index.native.js +15 -16
  62. package/dist/jsx/index.native.js.map +1 -1
  63. package/dist/jsx/shared.mjs +59 -107
  64. package/dist/jsx/shared.mjs.map +1 -1
  65. package/dist/jsx/shared.native.cjs +101 -0
  66. package/dist/jsx/shared.native.js +80 -129
  67. package/dist/jsx/shared.native.js.map +1 -1
  68. package/dist/jsx/types.mjs +0 -2
  69. package/dist/jsx/types.native.cjs +18 -0
  70. package/dist/jsx/types.native.js +9 -10
  71. package/dist/jsx/types.native.js.map +1 -1
  72. package/package.json +17 -17
  73. package/src/Input.native.tsx +267 -242
  74. package/src/Input.tsx +150 -154
  75. package/src/TextArea.tsx +9 -18
  76. package/src/shared.tsx +56 -109
  77. package/src/types.ts +2 -2
  78. package/types/Input.d.ts +32 -50
  79. package/types/Input.d.ts.map +1 -1
  80. package/types/Input.native.d.ts +32 -50
  81. package/types/Input.native.d.ts.map +1 -1
  82. package/types/TextArea.d.ts +16 -34
  83. package/types/TextArea.d.ts.map +1 -1
  84. package/types/shared.d.ts +38 -109
  85. package/types/shared.d.ts.map +1 -1
  86. package/types/types.d.ts +2 -2
  87. package/types/types.d.ts.map +1 -1
  88. package/dist/cjs/inputTypes.test-d.cjs +0 -128
  89. package/dist/cjs/inputTypes.test-d.native.js +0 -131
  90. package/dist/cjs/inputTypes.test-d.native.js.map +0 -1
  91. package/dist/cjs/v1/Input.cjs +0 -200
  92. package/dist/cjs/v1/Input.native.js +0 -183
  93. package/dist/cjs/v1/Input.native.js.map +0 -1
  94. package/dist/cjs/v1/TextArea.cjs +0 -52
  95. package/dist/cjs/v1/TextArea.native.js +0 -55
  96. package/dist/cjs/v1/TextArea.native.js.map +0 -1
  97. package/dist/cjs/v1/index.cjs +0 -21
  98. package/dist/cjs/v1/index.native.js +0 -24
  99. package/dist/cjs/v1/index.native.js.map +0 -1
  100. package/dist/cjs/v1/types.cjs +0 -18
  101. package/dist/cjs/v1/types.native.js +0 -21
  102. package/dist/cjs/v1/types.native.js.map +0 -1
  103. package/dist/esm/InputNativeProps.mjs.map +0 -1
  104. package/dist/esm/InputNativeProps.native.js.map +0 -1
  105. package/dist/esm/index.js.map +0 -1
  106. package/dist/esm/index.mjs.map +0 -1
  107. package/dist/esm/index.native.js.map +0 -1
  108. package/dist/esm/inputTypes.test-d.mjs +0 -129
  109. package/dist/esm/inputTypes.test-d.mjs.map +0 -1
  110. package/dist/esm/inputTypes.test-d.native.js +0 -129
  111. package/dist/esm/inputTypes.test-d.native.js.map +0 -1
  112. package/dist/esm/types.mjs.map +0 -1
  113. package/dist/esm/types.native.js.map +0 -1
  114. package/dist/esm/v1/Input.mjs +0 -164
  115. package/dist/esm/v1/Input.mjs.map +0 -1
  116. package/dist/esm/v1/Input.native.js +0 -144
  117. package/dist/esm/v1/Input.native.js.map +0 -1
  118. package/dist/esm/v1/TextArea.mjs +0 -27
  119. package/dist/esm/v1/TextArea.mjs.map +0 -1
  120. package/dist/esm/v1/TextArea.native.js +0 -27
  121. package/dist/esm/v1/TextArea.native.js.map +0 -1
  122. package/dist/esm/v1/index.mjs +0 -3
  123. package/dist/esm/v1/index.mjs.map +0 -1
  124. package/dist/esm/v1/index.native.js +0 -3
  125. package/dist/esm/v1/index.native.js.map +0 -1
  126. package/dist/esm/v1/types.mjs +0 -2
  127. package/dist/esm/v1/types.mjs.map +0 -1
  128. package/dist/esm/v1/types.native.js +0 -2
  129. package/dist/esm/v1/types.native.js.map +0 -1
  130. package/dist/jsx/InputNativeProps.mjs.map +0 -1
  131. package/dist/jsx/index.js.map +0 -1
  132. package/dist/jsx/index.mjs.map +0 -1
  133. package/dist/jsx/inputTypes.test-d.mjs +0 -129
  134. package/dist/jsx/inputTypes.test-d.mjs.map +0 -1
  135. package/dist/jsx/inputTypes.test-d.native.js +0 -131
  136. package/dist/jsx/inputTypes.test-d.native.js.map +0 -1
  137. package/dist/jsx/types.mjs.map +0 -1
  138. package/dist/jsx/v1/Input.mjs +0 -164
  139. package/dist/jsx/v1/Input.mjs.map +0 -1
  140. package/dist/jsx/v1/Input.native.js +0 -183
  141. package/dist/jsx/v1/Input.native.js.map +0 -1
  142. package/dist/jsx/v1/TextArea.mjs +0 -27
  143. package/dist/jsx/v1/TextArea.mjs.map +0 -1
  144. package/dist/jsx/v1/TextArea.native.js +0 -55
  145. package/dist/jsx/v1/TextArea.native.js.map +0 -1
  146. package/dist/jsx/v1/index.mjs +0 -3
  147. package/dist/jsx/v1/index.mjs.map +0 -1
  148. package/dist/jsx/v1/index.native.js +0 -24
  149. package/dist/jsx/v1/index.native.js.map +0 -1
  150. package/dist/jsx/v1/types.mjs +0 -2
  151. package/dist/jsx/v1/types.mjs.map +0 -1
  152. package/dist/jsx/v1/types.native.js +0 -21
  153. package/dist/jsx/v1/types.native.js.map +0 -1
  154. package/src/inputTypes.test-d.ts +0 -245
  155. package/src/v1/Input.native.tsx +0 -153
  156. package/src/v1/Input.tsx +0 -190
  157. package/src/v1/TextArea.tsx +0 -35
  158. package/src/v1/index.ts +0 -3
  159. package/src/v1/types.ts +0 -65
  160. package/types/v1/Input.d.ts +0 -64
  161. package/types/v1/Input.d.ts.map +0 -1
  162. package/types/v1/Input.native.d.ts +0 -63
  163. package/types/v1/Input.native.d.ts.map +0 -1
  164. package/types/v1/TextArea.d.ts +0 -41
  165. package/types/v1/TextArea.d.ts.map +0 -1
  166. package/types/v1/index.d.ts +0 -4
  167. package/types/v1/index.d.ts.map +0 -1
  168. package/types/v1/types.d.ts +0 -39
  169. package/types/v1/types.d.ts.map +0 -1
@@ -1,268 +1,181 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import React from "react";
3
3
  import { TextInput } from "react-native";
4
- import { styled } from "@tamagui/core";
4
+ import { createStyledHOC, styled } from "@tamagui/core";
5
5
  import { registerFocusable } from "@tamagui/focusable";
6
6
  import { useNativeInputRef } from "@tamagui/element";
7
- import { styledBody } from "./shared.native.js";
8
- var StyledInput = styled(TextInput, styledBody[0], styledBody[1]);
9
- var Input = StyledInput.styleable(function (props, forwardedRef) {
10
- var {
11
- // Web props we need to convert
12
- type,
13
- disabled,
14
- readOnly,
15
- id,
16
- rows,
17
- autoComplete,
18
- enterKeyHint,
19
- // Callbacks
20
- onChange,
21
- onInput,
22
- onKeyDown,
23
- onChangeText,
24
- onSubmitEditing,
25
- onSelectionChange,
26
- onEndEditing,
27
- onContentSizeChange,
28
- onScroll,
29
- onKeyPress: onKeyPressProp,
30
- selection,
31
- // Native-only props (pass through directly)
32
- keyboardAppearance,
33
- returnKeyType: returnKeyTypeProp,
34
- submitBehavior,
35
- blurOnSubmit,
36
- caretHidden,
37
- contextMenuHidden,
38
- selectTextOnFocus,
39
- secureTextEntry: secureTextEntryProp,
40
- maxFontSizeMultiplier,
41
- allowFontScaling,
42
- multiline: multilineProp,
43
- keyboardType: keyboardTypeProp,
44
- inputMode: inputModeProp,
45
- autoCapitalize: autoCapitalizeProp,
46
- autoCorrect: autoCorrectProp,
47
- autoFocusNative,
48
- textContentType,
49
- // iOS-only props
50
- clearButtonMode,
51
- clearTextOnFocus,
52
- enablesReturnKeyAutomatically,
53
- dataDetectorTypes,
54
- scrollEnabled,
55
- passwordRules,
56
- rejectResponderTermination,
57
- spellCheck,
58
- lineBreakStrategyIOS,
59
- lineBreakModeIOS,
60
- smartInsertDelete,
61
- inputAccessoryViewID,
62
- inputAccessoryViewButtonLabel,
63
- disableKeyboardShortcuts,
64
- // Android-only props
65
- importantForAutofill,
66
- disableFullscreenUI,
67
- inlineImageLeft,
68
- inlineImagePadding,
69
- returnKeyLabel,
70
- textBreakStrategy,
71
- textAlignVertical,
72
- verticalAlign,
73
- showSoftInputOnFocus,
74
- numberOfLines: numberOfLinesProp,
75
- // Web-only props to filter out
76
- // @ts-ignore
77
- dirname,
78
- min,
79
- max,
80
- minLength,
81
- multiple,
82
- name,
83
- pattern,
84
- required,
85
- step,
86
- render,
87
- ...rest
88
- } = props;
89
- var {
90
- ref,
91
- composedRef
92
- } = useNativeInputRef(forwardedRef);
93
- var secureTextEntry = secureTextEntryProp !== null && secureTextEntryProp !== void 0 ? secureTextEntryProp : false;
94
- var keyboardType = keyboardTypeProp !== null && keyboardTypeProp !== void 0 ? keyboardTypeProp : "default";
95
- var inputMode = inputModeProp;
96
- if (!secureTextEntryProp && !keyboardTypeProp && !inputModeProp) {
97
- switch (type) {
98
- case "password":
99
- secureTextEntry = true;
100
- break;
101
- case "email":
102
- keyboardType = "email-address";
103
- inputMode = "email";
104
- break;
105
- case "tel":
106
- keyboardType = "phone-pad";
107
- inputMode = "tel";
108
- break;
109
- case "number":
110
- keyboardType = "numeric";
111
- inputMode = "numeric";
112
- break;
113
- case "url":
114
- keyboardType = "url";
115
- inputMode = "url";
116
- break;
117
- case "search":
118
- inputMode = "search";
119
- break;
120
- }
121
- }
122
- var returnKeyType = returnKeyTypeProp;
123
- if (!returnKeyType && enterKeyHint) {
124
- switch (enterKeyHint) {
125
- case "done":
126
- returnKeyType = "done";
127
- break;
128
- case "go":
129
- returnKeyType = "go";
130
- break;
131
- case "next":
132
- returnKeyType = "next";
133
- break;
134
- case "search":
135
- returnKeyType = "search";
136
- break;
137
- case "send":
138
- returnKeyType = "send";
139
- break;
140
- }
141
- }
142
- var multiline = multilineProp !== null && multilineProp !== void 0 ? multilineProp : render === "textarea" || rows && rows > 1;
143
- var numberOfLines = numberOfLinesProp !== null && numberOfLinesProp !== void 0 ? numberOfLinesProp : rows;
144
- var autoCorrect = autoCorrectProp === "on" ? true : autoCorrectProp === "off" ? false : autoCorrectProp;
145
- var autoCapitalize = autoCapitalizeProp === "on" ? "sentences" : autoCapitalizeProp === "off" ? "none" : autoCapitalizeProp;
146
- React.useEffect(function () {
147
- if (!id || disabled) return;
148
- return registerFocusable(id, {
149
- focusAndSelect: function () {
150
- var _ref_current;
151
- return (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();
152
- },
153
- focus: function () {
154
- var _ref_current;
155
- return (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();
156
- }
157
- });
158
- }, [id, disabled]);
159
- var handleChangeText = function (text) {
160
- onChangeText === null || onChangeText === void 0 ? void 0 : onChangeText(text);
161
- if (onChange) {
162
- onChange({
163
- target: {
164
- value: text
165
- },
166
- type: "change"
167
- });
168
- }
169
- if (onInput) {
170
- onInput({
171
- target: {
172
- value: text
173
- },
174
- type: "input"
175
- });
176
- }
177
- };
178
- var handleKeyPress = function (e) {
179
- onKeyPressProp === null || onKeyPressProp === void 0 ? void 0 : onKeyPressProp(e);
180
- if (onKeyDown) {
181
- var {
182
- key
183
- } = e.nativeEvent;
184
- if (key === "Backspace" || key === "Enter" || key.length === 1) {
185
- onKeyDown({
186
- key,
187
- type: "keydown"
188
- });
189
- }
190
- }
191
- };
192
- var handleSubmitEditing = function (e) {
193
- if (onKeyDown) {
194
- onKeyDown({
195
- key: "Enter",
196
- type: "keydown"
197
- });
198
- }
199
- onSubmitEditing === null || onSubmitEditing === void 0 ? void 0 : onSubmitEditing(e);
200
- };
201
- var handleSelectionChange = function (e) {
202
- onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(e);
203
- };
204
- var finalProps = {
205
- ...rest,
206
- editable: !disabled && !readOnly,
207
- secureTextEntry,
208
- keyboardType,
209
- keyboardAppearance,
210
- inputMode,
211
- returnKeyType,
212
- multiline,
213
- numberOfLines,
214
- selection,
215
- autoComplete,
216
- autoFocus: autoFocusNative,
217
- // callbacks
218
- onChangeText: handleChangeText,
219
- onKeyPress: onKeyPressProp || onKeyDown ? handleKeyPress : void 0,
220
- onSubmitEditing: onKeyDown || onSubmitEditing ? handleSubmitEditing : void 0,
221
- onSelectionChange: onSelectionChange ? handleSelectionChange : void 0,
222
- onEndEditing,
223
- onContentSizeChange,
224
- onScroll,
225
- // cross-platform native props
226
- submitBehavior,
227
- blurOnSubmit,
228
- caretHidden,
229
- contextMenuHidden,
230
- selectTextOnFocus,
231
- maxFontSizeMultiplier,
232
- allowFontScaling,
233
- autoCapitalize,
234
- autoCorrect,
235
- textContentType,
236
- // iOS-only props
237
- clearButtonMode,
238
- clearTextOnFocus,
239
- enablesReturnKeyAutomatically,
240
- dataDetectorTypes,
241
- scrollEnabled,
242
- passwordRules,
243
- rejectResponderTermination,
244
- spellCheck,
245
- lineBreakStrategyIOS,
246
- lineBreakModeIOS,
247
- smartInsertDelete,
248
- inputAccessoryViewID,
249
- inputAccessoryViewButtonLabel,
250
- disableKeyboardShortcuts,
251
- // Android-only props
252
- importantForAutofill,
253
- disableFullscreenUI,
254
- inlineImageLeft,
255
- inlineImagePadding,
256
- returnKeyLabel,
257
- textBreakStrategy,
258
- textAlignVertical,
259
- verticalAlign,
260
- showSoftInputOnFocus
261
- };
262
- return /* @__PURE__ */_jsx(StyledInput, {
263
- ref: composedRef,
264
- ...finalProps
265
- });
7
+ import { resolveMultilineInputSize, styledBody } from "./shared.native.js";
8
+
9
+ var StyledInput = styled(TextInput, styledBody[0], styledBody[1]).resolve(resolveMultilineInputSize);
10
+ var Input = createStyledHOC(StyledInput, function(props, forwardedRef) {
11
+ 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
+ var { ref, composedRef } = useNativeInputRef(forwardedRef);
13
+ var secureTextEntry = secureTextEntryProp !== null && secureTextEntryProp !== void 0 ? secureTextEntryProp : false;
14
+ var keyboardType = keyboardTypeProp !== null && keyboardTypeProp !== void 0 ? keyboardTypeProp : "default";
15
+ var inputMode = inputModeProp;
16
+ if (!secureTextEntryProp && !keyboardTypeProp && !inputModeProp) {
17
+ switch (type) {
18
+ case "password":
19
+ secureTextEntry = true;
20
+ break;
21
+ case "email":
22
+ keyboardType = "email-address";
23
+ inputMode = "email";
24
+ break;
25
+ case "tel":
26
+ keyboardType = "phone-pad";
27
+ inputMode = "tel";
28
+ break;
29
+ case "number":
30
+ keyboardType = "numeric";
31
+ inputMode = "numeric";
32
+ break;
33
+ case "url":
34
+ keyboardType = "url";
35
+ inputMode = "url";
36
+ break;
37
+ case "search":
38
+ inputMode = "search";
39
+ break;
40
+ }
41
+ }
42
+ var returnKeyType = returnKeyTypeProp;
43
+ if (!returnKeyType && enterKeyHint) {
44
+ switch (enterKeyHint) {
45
+ case "done":
46
+ returnKeyType = "done";
47
+ break;
48
+ case "go":
49
+ returnKeyType = "go";
50
+ break;
51
+ case "next":
52
+ returnKeyType = "next";
53
+ break;
54
+ case "search":
55
+ returnKeyType = "search";
56
+ break;
57
+ case "send":
58
+ returnKeyType = "send";
59
+ break;
60
+ }
61
+ }
62
+ var multiline = multilineProp !== null && multilineProp !== void 0 ? multilineProp : render === "textarea" || rows && rows > 1;
63
+ var numberOfLines = numberOfLinesProp !== null && numberOfLinesProp !== void 0 ? numberOfLinesProp : rows;
64
+ var autoCorrect = autoCorrectProp === "on" ? true : autoCorrectProp === "off" ? false : autoCorrectProp;
65
+ var autoCapitalize = autoCapitalizeProp === "on" ? "sentences" : autoCapitalizeProp === "off" ? "none" : autoCapitalizeProp;
66
+ React.useEffect(function() {
67
+ if (!id || disabled) return;
68
+ return registerFocusable(id, {
69
+ focusAndSelect: function() {
70
+ var _ref_current;
71
+ return (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();
72
+ },
73
+ focus: function() {
74
+ var _ref_current;
75
+ return (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();
76
+ }
77
+ });
78
+ }, [id, disabled]);
79
+ var handleChangeText = function(text) {
80
+ onChangeText === null || onChangeText === void 0 ? void 0 : onChangeText(text);
81
+ if (onChange) {
82
+ onChange({
83
+ target: { value: text },
84
+ type: "change"
85
+ });
86
+ }
87
+ if (onInput) {
88
+ onInput({
89
+ target: { value: text },
90
+ type: "input"
91
+ });
92
+ }
93
+ };
94
+ var handleKeyPress = function(e) {
95
+ onKeyPressProp === null || onKeyPressProp === void 0 ? void 0 : onKeyPressProp(e);
96
+ if (onKeyDown) {
97
+ var { key } = e.nativeEvent;
98
+ if (key === "Backspace" || key === "Enter" || key.length === 1) {
99
+ onKeyDown({
100
+ key,
101
+ type: "keydown"
102
+ });
103
+ }
104
+ }
105
+ };
106
+ var handleSubmitEditing = function(e) {
107
+ if (onKeyDown) {
108
+ onKeyDown({
109
+ key: "Enter",
110
+ type: "keydown"
111
+ });
112
+ }
113
+ onSubmitEditing === null || onSubmitEditing === void 0 ? void 0 : onSubmitEditing(e);
114
+ };
115
+ var handleSelectionChange = function(e) {
116
+ onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(e);
117
+ };
118
+ var finalProps = {
119
+ ...rest,
120
+ editable: !disabled && !readOnly,
121
+ secureTextEntry,
122
+ keyboardType,
123
+ keyboardAppearance,
124
+ inputMode,
125
+ returnKeyType,
126
+ multiline,
127
+ numberOfLines,
128
+ selection,
129
+ autoComplete,
130
+ autoFocus: autoFocusNative,
131
+ onChangeText: handleChangeText,
132
+ onKeyPress: onKeyPressProp || onKeyDown ? handleKeyPress : void 0,
133
+ onSubmitEditing: onKeyDown || onSubmitEditing ? handleSubmitEditing : void 0,
134
+ onSelectionChange: onSelectionChange ? handleSelectionChange : void 0,
135
+ onEndEditing,
136
+ onContentSizeChange,
137
+ onScroll,
138
+ submitBehavior,
139
+ blurOnSubmit,
140
+ caretHidden,
141
+ contextMenuHidden,
142
+ selectTextOnFocus,
143
+ maxFontSizeMultiplier,
144
+ allowFontScaling,
145
+ autoCapitalize,
146
+ autoCorrect,
147
+ textContentType,
148
+ clearButtonMode,
149
+ clearTextOnFocus,
150
+ enablesReturnKeyAutomatically,
151
+ dataDetectorTypes,
152
+ scrollEnabled,
153
+ passwordRules,
154
+ rejectResponderTermination,
155
+ spellCheck,
156
+ lineBreakStrategyIOS,
157
+ lineBreakModeIOS,
158
+ smartInsertDelete,
159
+ inputAccessoryViewID,
160
+ inputAccessoryViewButtonLabel,
161
+ disableKeyboardShortcuts,
162
+ importantForAutofill,
163
+ disableFullscreenUI,
164
+ inlineImageLeft,
165
+ inlineImagePadding,
166
+ returnKeyLabel,
167
+ textBreakStrategy,
168
+ textAlignVertical,
169
+ verticalAlign,
170
+ showSoftInputOnFocus,
171
+ cursorColor: cursorColorProp !== null && cursorColorProp !== void 0 ? cursorColorProp : caretColor,
172
+ selectionColor: selectionColorProp !== null && selectionColorProp !== void 0 ? selectionColorProp : caretColor
173
+ };
174
+ return /* @__PURE__ */ jsx(StyledInput, {
175
+ ref: composedRef,
176
+ ...finalProps
177
+ });
266
178
  });
179
+
267
180
  export { Input };
268
181
  //# sourceMappingURL=Input.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","React","TextInput","styled","registerFocusable","useNativeInputRef","styledBody","StyledInput","Input","styleable","props","forwardedRef","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","rest","ref","composedRef","useEffect","focusAndSelect","_ref_current","current","focus","handleChangeText","text","target","value","handleKeyPress","e","key","nativeEvent","length","handleSubmitEditing","handleSelectionChange","finalProps","editable","autoFocus"],"sources":["../../src/Input.native.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
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,2 +0,0 @@
1
-
2
- //# sourceMappingURL=InputNativeProps.mjs.map
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=InputNativeProps.native.js.map
@@ -1,27 +1,17 @@
1
1
  import { styled } from "@tamagui/web";
2
2
  import { Input } from "./Input.mjs";
3
- import { defaultStyles, textAreaSizeVariant } from "./shared.mjs";
4
- const TextArea = styled(Input, {
5
- name: "TextArea",
6
- render: "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
- rows: 3
16
- }
17
- },
18
- size: {
19
- "...size": textAreaSizeVariant
20
- }
21
- },
22
- defaultVariants: {
23
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
24
- }
3
+ import { defaultStyles, resolveTextAreaSize, textAreaSizeVariant } from "./shared.mjs";
4
+
5
+ const TextAreaFrame = styled(Input, {
6
+ displayName: "TextArea",
7
+ render: "textarea",
8
+ whiteSpace: "pre-wrap",
9
+ height: "auto",
10
+ ...defaultStyles,
11
+ rows: 3,
12
+ variants: { size: textAreaSizeVariant }
25
13
  });
14
+ const TextArea = TextAreaFrame.resolve(resolveTextAreaSize);
15
+
26
16
  export { TextArea };
27
17
  //# sourceMappingURL=TextArea.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["styled","Input","defaultStyles","textAreaSizeVariant","TextArea","name","render","whiteSpace","variants","unstyled","false","height","rows","size","defaultVariants","process","env","TAMAGUI_HEADLESS"],"sources":["../../src/TextArea.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAwBA,MAAA,QAAc;AACtC,SAASC,KAAA,QAAa;AACtB,SAASC,aAAA,EAAeC,mBAAA,QAA2B;AAM5C,MAAMC,QAAA,GAAWJ,MAAA,CAAOC,KAAA,EAAO;EACpCI,IAAA,EAAM;EACNC,MAAA,EAAQ;EAAA;EAAA;EAIRC,UAAA,EAAY;EAEZC,QAAA,EAAU;IACRC,QAAA,EAAU;MACRC,KAAA,EAAO;QACLC,MAAA,EAAQ;QACR,GAAGT,aAAA;QACHU,IAAA,EAAM;MACR;IACF;IAEAC,IAAA,EAAM;MACJ,WAAWV;IACb;EACF;EAEAW,eAAA,EAAiB;IACfL,QAAA,EAAUM,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB;EAC7C;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"TextArea.js","names":[],"sources":["esm/TextArea.js"],"sourcesContent":["import { styled } from \"@tamagui/web\";\nimport { Input } from \"./Input\";\nimport { defaultStyles, resolveTextAreaSize, textAreaSizeVariant } 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 variants: {\n size: textAreaSizeVariant\n }\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;CACN,UAAU,EACR,MAAM,oBACR;AACF,CAAC;AACD,MAAM,WAAW,cAAc,QAAQ,mBAAmB"}
@@ -1,27 +1,17 @@
1
1
  import { styled } from "@tamagui/web";
2
2
  import { Input } from "./Input.native.js";
3
- import { defaultStyles, textAreaSizeVariant } from "./shared.native.js";
4
- var TextArea = styled(Input, {
5
- name: "TextArea",
6
- render: "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
- rows: 3
16
- }
17
- },
18
- size: {
19
- "...size": textAreaSizeVariant
20
- }
21
- },
22
- defaultVariants: {
23
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
24
- }
3
+ import { defaultStyles, resolveTextAreaSize, textAreaSizeVariant } from "./shared.native.js";
4
+
5
+ var TextAreaFrame = styled(Input, {
6
+ displayName: "TextArea",
7
+ render: "textarea",
8
+ whiteSpace: "pre-wrap",
9
+ height: "auto",
10
+ ...defaultStyles,
11
+ rows: 3,
12
+ variants: { size: textAreaSizeVariant }
25
13
  });
14
+ var TextArea = TextAreaFrame.resolve(resolveTextAreaSize);
15
+
26
16
  export { TextArea };
27
17
  //# sourceMappingURL=TextArea.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["styled","Input","defaultStyles","textAreaSizeVariant","TextArea","name","render","whiteSpace","variants","unstyled","false","height","rows","size","defaultVariants","process","env","TAMAGUI_HEADLESS"],"sources":["../../src/TextArea.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAwBA,MAAA,QAAc;AACtC,SAASC,KAAA,QAAa;AACtB,SAASC,aAAA,EAAeC,mBAAA,QAA2B;AAM5C,IAAAC,QAAM,GAAAJ,MAAW,CAAAC,KAAO;EAC7BI,IAAA,EAAM;EACNC,MAAA,EAAQ;EAAA;EAAA;EAIRC,UAAA,EAAY;EAEZC,QAAA,EAAU;IACRC,QAAA,EAAU;MACRC,KAAA,EAAO;QACLC,MAAA,EAAQ;QACR,GAAGT,aAAA;QACHU,IAAA,EAAM;MACR;IACF;IAEAC,IAAA,EAAM;MACJ,WAAWV;IACb;EACF;EAEAW,eAAA,EAAiB;IACfL,QAAA,EAAUM,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB;EAC7C;AACF,CAAC","ignoreList":[]}
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, textAreaSizeVariant } 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 variants: {\n size: textAreaSizeVariant\n }\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;CACN,UAAU,EACR,MAAM,oBACR;AACF,CAAC;AACD,IAAI,WAAW,cAAc,QAAQ,mBAAmB"}
package/dist/esm/index.js CHANGED
@@ -1,5 +1,7 @@
1
- export * from "./Input.mjs";
2
- export * from "./TextArea.mjs";
3
1
  import { inputSizeVariant, textAreaSizeVariant } from "./shared.mjs";
4
- export { inputSizeVariant, textAreaSizeVariant };
5
- //# sourceMappingURL=index.js.map
2
+
3
+ export * from "./Input.mjs"
4
+
5
+ export * from "./TextArea.mjs"
6
+
7
+ export { inputSizeVariant, textAreaSizeVariant };
@@ -1,5 +1,7 @@
1
- export * from "./Input.mjs";
2
- export * from "./TextArea.mjs";
3
1
  import { inputSizeVariant, textAreaSizeVariant } from "./shared.mjs";
4
- export { inputSizeVariant, textAreaSizeVariant };
5
- //# sourceMappingURL=index.mjs.map
2
+
3
+ export * from "./Input.mjs"
4
+
5
+ export * from "./TextArea.mjs"
6
+
7
+ export { inputSizeVariant, textAreaSizeVariant };
@@ -1,5 +1,7 @@
1
- export * from "./Input.native.js";
2
- export * from "./TextArea.native.js";
3
1
  import { inputSizeVariant, textAreaSizeVariant } from "./shared.native.js";
4
- export { inputSizeVariant, textAreaSizeVariant };
5
- //# sourceMappingURL=index.native.js.map
2
+
3
+ export * from "./Input.native.js"
4
+
5
+ export * from "./TextArea.native.js"
6
+
7
+ export { inputSizeVariant, textAreaSizeVariant };