@tamagui/input 2.0.0-rc.9 → 2.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.cjs +165 -153
- package/dist/cjs/Input.native.js +256 -233
- package/dist/cjs/Input.native.js.map +1 -1
- package/dist/cjs/InputNativeProps.cjs +7 -5
- package/dist/cjs/InputNativeProps.native.js +7 -5
- package/dist/cjs/InputNativeProps.native.js.map +1 -1
- package/dist/cjs/TextArea.cjs +15 -13
- package/dist/cjs/TextArea.native.js +34 -32
- package/dist/cjs/TextArea.native.js.map +1 -1
- package/dist/cjs/index.cjs +13 -11
- package/dist/cjs/index.native.js +13 -11
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/inputTypes.test-d.cjs +125 -0
- package/dist/cjs/inputTypes.test-d.native.js +128 -0
- package/dist/cjs/inputTypes.test-d.native.js.map +1 -0
- package/dist/cjs/shared.cjs +119 -104
- package/dist/cjs/shared.native.js +125 -110
- package/dist/cjs/shared.native.js.map +1 -1
- package/dist/cjs/types.cjs +7 -5
- package/dist/cjs/types.native.js +7 -5
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/v1/Input.cjs +177 -170
- package/dist/cjs/v1/Input.native.js +154 -112
- package/dist/cjs/v1/Input.native.js.map +1 -1
- package/dist/cjs/v1/TextArea.cjs +15 -13
- package/dist/cjs/v1/TextArea.native.js +34 -32
- package/dist/cjs/v1/TextArea.native.js.map +1 -1
- package/dist/cjs/v1/index.cjs +7 -5
- package/dist/cjs/v1/index.native.js +7 -5
- package/dist/cjs/v1/index.native.js.map +1 -1
- package/dist/cjs/v1/types.cjs +7 -5
- package/dist/cjs/v1/types.native.js +7 -5
- package/dist/cjs/v1/types.native.js.map +1 -1
- package/dist/esm/Input.mjs +134 -124
- package/dist/esm/Input.mjs.map +1 -1
- package/dist/esm/Input.native.js +225 -204
- package/dist/esm/Input.native.js.map +1 -1
- package/dist/esm/TextArea.mjs.map +1 -1
- package/dist/esm/TextArea.native.js.map +1 -1
- package/dist/esm/index.js +4 -7
- package/dist/esm/index.js.map +1 -6
- package/dist/esm/inputTypes.test-d.mjs +126 -0
- package/dist/esm/inputTypes.test-d.mjs.map +1 -0
- package/dist/esm/inputTypes.test-d.native.js +126 -0
- package/dist/esm/inputTypes.test-d.native.js.map +1 -0
- package/dist/esm/shared.mjs +102 -89
- package/dist/esm/shared.mjs.map +1 -1
- package/dist/esm/shared.native.js +107 -94
- package/dist/esm/shared.native.js.map +1 -1
- package/dist/esm/v1/Input.mjs +146 -141
- package/dist/esm/v1/Input.mjs.map +1 -1
- package/dist/esm/v1/Input.native.js +123 -83
- package/dist/esm/v1/Input.native.js.map +1 -1
- package/dist/jsx/Input.mjs +134 -124
- package/dist/jsx/Input.mjs.map +1 -1
- package/dist/jsx/Input.native.js +256 -233
- package/dist/jsx/Input.native.js.map +1 -1
- package/dist/jsx/InputNativeProps.native.js +7 -5
- package/dist/jsx/TextArea.mjs.map +1 -1
- package/dist/jsx/TextArea.native.js +34 -32
- package/dist/jsx/TextArea.native.js.map +1 -1
- package/dist/jsx/index.js +4 -7
- package/dist/jsx/index.js.map +1 -6
- package/dist/jsx/index.native.js +13 -11
- package/dist/jsx/inputTypes.test-d.mjs +126 -0
- package/dist/jsx/inputTypes.test-d.mjs.map +1 -0
- package/dist/jsx/inputTypes.test-d.native.js +128 -0
- package/dist/jsx/inputTypes.test-d.native.js.map +1 -0
- package/dist/jsx/shared.mjs +102 -89
- package/dist/jsx/shared.mjs.map +1 -1
- package/dist/jsx/shared.native.js +125 -110
- package/dist/jsx/shared.native.js.map +1 -1
- package/dist/jsx/types.native.js +7 -5
- package/dist/jsx/v1/Input.mjs +146 -141
- package/dist/jsx/v1/Input.mjs.map +1 -1
- package/dist/jsx/v1/Input.native.js +154 -112
- package/dist/jsx/v1/Input.native.js.map +1 -1
- package/dist/jsx/v1/TextArea.native.js +34 -32
- package/dist/jsx/v1/TextArea.native.js.map +1 -1
- package/dist/jsx/v1/index.native.js +7 -5
- package/dist/jsx/v1/types.native.js +7 -5
- package/package.json +20 -19
- package/src/Input.native.tsx +2 -2
- package/src/Input.tsx +7 -5
- package/src/TextArea.tsx +3 -3
- package/src/index.ts +1 -1
- package/src/inputTypes.test-d.ts +237 -0
- package/src/shared.tsx +6 -0
- package/src/types.ts +24 -14
- package/src/v1/Input.tsx +4 -4
- package/types/Input.d.ts +14 -12
- package/types/Input.d.ts.map +1 -1
- package/types/Input.native.d.ts +12 -12
- package/types/Input.native.d.ts.map +1 -1
- package/types/TextArea.d.ts +8 -7
- package/types/TextArea.d.ts.map +1 -1
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/shared.d.ts +5 -0
- package/types/shared.d.ts.map +1 -1
- package/types/types.d.ts +14 -4
- package/types/types.d.ts.map +1 -1
- package/types/v1/Input.d.ts +12 -12
- package/types/v1/Input.native.d.ts +12 -12
- package/types/v1/TextArea.d.ts +6 -6
- package/dist/cjs/Input.js +0 -143
- package/dist/cjs/Input.js.map +0 -6
- package/dist/cjs/InputNativeProps.js +0 -14
- package/dist/cjs/InputNativeProps.js.map +0 -6
- package/dist/cjs/TextArea.js +0 -43
- package/dist/cjs/TextArea.js.map +0 -6
- package/dist/cjs/index.js +0 -24
- package/dist/cjs/index.js.map +0 -6
- package/dist/cjs/shared.js +0 -111
- package/dist/cjs/shared.js.map +0 -6
- package/dist/cjs/types.js +0 -14
- package/dist/cjs/types.js.map +0 -6
- package/dist/cjs/v1/Input.js +0 -171
- package/dist/cjs/v1/Input.js.map +0 -6
- package/dist/cjs/v1/TextArea.js +0 -43
- package/dist/cjs/v1/TextArea.js.map +0 -6
- package/dist/cjs/v1/index.js +0 -16
- package/dist/cjs/v1/index.js.map +0 -6
- package/dist/cjs/v1/types.js +0 -14
- package/dist/cjs/v1/types.js.map +0 -6
- package/dist/esm/Input.js +0 -124
- package/dist/esm/Input.js.map +0 -6
- package/dist/esm/InputNativeProps.js +0 -1
- package/dist/esm/InputNativeProps.js.map +0 -6
- package/dist/esm/TextArea.js +0 -29
- package/dist/esm/TextArea.js.map +0 -6
- package/dist/esm/shared.js +0 -99
- package/dist/esm/shared.js.map +0 -6
- package/dist/esm/types.js +0 -1
- package/dist/esm/types.js.map +0 -6
- package/dist/esm/v1/Input.js +0 -152
- package/dist/esm/v1/Input.js.map +0 -6
- package/dist/esm/v1/TextArea.js +0 -29
- package/dist/esm/v1/TextArea.js.map +0 -6
- package/dist/esm/v1/index.js +0 -3
- package/dist/esm/v1/index.js.map +0 -6
- package/dist/esm/v1/types.js +0 -1
- package/dist/esm/v1/types.js.map +0 -6
- package/dist/jsx/Input.js +0 -124
- package/dist/jsx/Input.js.map +0 -6
- package/dist/jsx/InputNativeProps.js +0 -1
- package/dist/jsx/InputNativeProps.js.map +0 -6
- package/dist/jsx/TextArea.js +0 -29
- package/dist/jsx/TextArea.js.map +0 -6
- package/dist/jsx/shared.js +0 -99
- package/dist/jsx/shared.js.map +0 -6
- package/dist/jsx/types.js +0 -1
- package/dist/jsx/types.js.map +0 -6
- package/dist/jsx/v1/Input.js +0 -152
- package/dist/jsx/v1/Input.js.map +0 -6
- package/dist/jsx/v1/TextArea.js +0 -29
- package/dist/jsx/v1/TextArea.js.map +0 -6
- package/dist/jsx/v1/index.js +0 -3
- package/dist/jsx/v1/index.js.map +0 -6
- package/dist/jsx/v1/types.js +0 -1
- package/dist/jsx/v1/types.js.map +0 -6
package/dist/esm/Input.mjs
CHANGED
|
@@ -4,133 +4,143 @@ import { useWebRef } from "@tamagui/element";
|
|
|
4
4
|
import React from "react";
|
|
5
5
|
import { styledBody } from "./shared.mjs";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
const StyledInput = styled(View, styledBody[0], styledBody[1])
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
7
|
+
const StyledInput = styled(View, styledBody[0], styledBody[1]);
|
|
8
|
+
const Input = StyledInput.styleable((props, _forwardedRef) => {
|
|
9
|
+
const {
|
|
10
|
+
disabled,
|
|
11
|
+
id,
|
|
12
|
+
onChangeText,
|
|
13
|
+
onSubmitEditing,
|
|
14
|
+
onSelectionChange,
|
|
15
|
+
selection,
|
|
16
|
+
placeholderTextColor,
|
|
17
|
+
selectionColor,
|
|
18
|
+
rows,
|
|
19
|
+
// Native-only props (ignored on web)
|
|
20
|
+
keyboardAppearance,
|
|
21
|
+
returnKeyType,
|
|
22
|
+
submitBehavior,
|
|
23
|
+
blurOnSubmit,
|
|
24
|
+
caretHidden,
|
|
25
|
+
contextMenuHidden,
|
|
26
|
+
selectTextOnFocus,
|
|
27
|
+
secureTextEntry,
|
|
28
|
+
maxFontSizeMultiplier,
|
|
29
|
+
allowFontScaling,
|
|
30
|
+
multiline,
|
|
31
|
+
keyboardType,
|
|
32
|
+
autoCapitalize: autoCapitalizeProp,
|
|
33
|
+
autoCorrect: autoCorrectProp,
|
|
34
|
+
autoFocusNative,
|
|
35
|
+
textContentType,
|
|
36
|
+
onEndEditing,
|
|
37
|
+
onContentSizeChange,
|
|
38
|
+
onScroll,
|
|
39
|
+
onKeyPress,
|
|
40
|
+
// iOS-only props (ignored on web)
|
|
41
|
+
clearButtonMode,
|
|
42
|
+
clearTextOnFocus,
|
|
43
|
+
enablesReturnKeyAutomatically,
|
|
44
|
+
dataDetectorTypes,
|
|
45
|
+
scrollEnabled,
|
|
46
|
+
passwordRules,
|
|
47
|
+
rejectResponderTermination,
|
|
48
|
+
spellCheck,
|
|
49
|
+
lineBreakStrategyIOS,
|
|
50
|
+
lineBreakModeIOS,
|
|
51
|
+
smartInsertDelete,
|
|
52
|
+
inputAccessoryViewID,
|
|
53
|
+
inputAccessoryViewButtonLabel,
|
|
54
|
+
disableKeyboardShortcuts,
|
|
55
|
+
// Android-only props (ignored on web)
|
|
56
|
+
cursorColor,
|
|
57
|
+
selectionHandleColor,
|
|
58
|
+
underlineColorAndroid,
|
|
59
|
+
importantForAutofill,
|
|
60
|
+
disableFullscreenUI,
|
|
61
|
+
inlineImageLeft,
|
|
62
|
+
inlineImagePadding,
|
|
63
|
+
returnKeyLabel,
|
|
64
|
+
textBreakStrategy,
|
|
65
|
+
textAlignVertical,
|
|
66
|
+
verticalAlign,
|
|
67
|
+
showSoftInputOnFocus,
|
|
68
|
+
numberOfLines,
|
|
69
|
+
...rest
|
|
70
|
+
} = props;
|
|
71
|
+
const {
|
|
72
|
+
ref,
|
|
73
|
+
composedRef
|
|
74
|
+
} = useWebRef(_forwardedRef);
|
|
75
|
+
const theme = useTheme();
|
|
76
|
+
const autoCorrect = autoCorrectProp === true ? "on" : autoCorrectProp === false ? "off" : autoCorrectProp;
|
|
77
|
+
const autoCapitalize = autoCapitalizeProp === "sentences" || autoCapitalizeProp === "words" ? "on" : autoCapitalizeProp === "none" || autoCapitalizeProp === "characters" ? "off" : autoCapitalizeProp;
|
|
78
|
+
React.useEffect(() => {
|
|
79
|
+
if (!onSelectionChange) return;
|
|
80
|
+
const node = ref.current;
|
|
81
|
+
if (!node) return;
|
|
82
|
+
const handleSelectionChange = () => {
|
|
83
|
+
onSelectionChange({
|
|
84
|
+
nativeEvent: {
|
|
85
|
+
selection: {
|
|
86
|
+
start: node.selectionStart ?? 0,
|
|
87
|
+
end: node.selectionEnd ?? 0
|
|
89
88
|
}
|
|
90
|
-
});
|
|
91
|
-
};
|
|
92
|
-
return node.addEventListener("select", handleSelectionChange), () => node.removeEventListener("select", handleSelectionChange);
|
|
93
|
-
}, [onSelectionChange]), React.useEffect(() => {
|
|
94
|
-
selection && ref.current && ref.current.setSelectionRange(selection.start, selection.end ?? selection.start);
|
|
95
|
-
}, [selection?.start, selection?.end]), React.useEffect(() => {
|
|
96
|
-
if (!(!id || disabled)) return registerFocusable(id, {
|
|
97
|
-
focusAndSelect: () => ref.current?.focus(),
|
|
98
|
-
focus: () => ref.current?.focus()
|
|
99
|
-
});
|
|
100
|
-
}, [id, disabled]);
|
|
101
|
-
const handleKeyDown = e => {
|
|
102
|
-
e.key === "Enter" && onSubmitEditing && onSubmitEditing({
|
|
103
|
-
nativeEvent: {
|
|
104
|
-
text: e.target.value
|
|
105
|
-
}
|
|
106
|
-
}), rest.onKeyDown?.(e);
|
|
107
|
-
},
|
|
108
|
-
handleChange = e => {
|
|
109
|
-
onChangeText?.(e.target.value), rest.onChange?.(e);
|
|
110
|
-
},
|
|
111
|
-
finalProps = {
|
|
112
|
-
...rest,
|
|
113
|
-
disabled,
|
|
114
|
-
id,
|
|
115
|
-
rows,
|
|
116
|
-
autoCorrect,
|
|
117
|
-
autoCapitalize,
|
|
118
|
-
onKeyDown: onSubmitEditing ? handleKeyDown : rest.onKeyDown,
|
|
119
|
-
onChange: onChangeText ? handleChange : rest.onChange,
|
|
120
|
-
style: {
|
|
121
|
-
...rest.style,
|
|
122
|
-
...(placeholderTextColor && {
|
|
123
|
-
"--placeholderColor": theme[placeholderTextColor]?.variable || placeholderTextColor
|
|
124
|
-
}),
|
|
125
|
-
...(selectionColor && {
|
|
126
|
-
"--selectionColor": theme[selectionColor]?.variable || selectionColor
|
|
127
|
-
})
|
|
128
89
|
}
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
node.addEventListener("select", handleSelectionChange);
|
|
93
|
+
return () => node.removeEventListener("select", handleSelectionChange);
|
|
94
|
+
}, [onSelectionChange]);
|
|
95
|
+
React.useEffect(() => {
|
|
96
|
+
if (selection && ref.current) {
|
|
97
|
+
ref.current.setSelectionRange(selection.start, selection.end ?? selection.start);
|
|
98
|
+
}
|
|
99
|
+
}, [selection?.start, selection?.end]);
|
|
100
|
+
React.useEffect(() => {
|
|
101
|
+
if (!id || disabled) return;
|
|
102
|
+
return registerFocusable(id, {
|
|
103
|
+
focusAndSelect: () => ref.current?.focus(),
|
|
104
|
+
focus: () => ref.current?.focus()
|
|
133
105
|
});
|
|
106
|
+
}, [id, disabled]);
|
|
107
|
+
const handleKeyDown = e => {
|
|
108
|
+
if (e.key === "Enter" && onSubmitEditing) {
|
|
109
|
+
onSubmitEditing({
|
|
110
|
+
nativeEvent: {
|
|
111
|
+
text: e.target.value
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
rest.onKeyDown?.(e);
|
|
116
|
+
};
|
|
117
|
+
const handleChange = e => {
|
|
118
|
+
onChangeText?.(e.target.value);
|
|
119
|
+
rest.onChange?.(e);
|
|
120
|
+
};
|
|
121
|
+
const finalProps = {
|
|
122
|
+
...rest,
|
|
123
|
+
disabled,
|
|
124
|
+
id,
|
|
125
|
+
rows,
|
|
126
|
+
autoCorrect,
|
|
127
|
+
autoCapitalize,
|
|
128
|
+
onKeyDown: onSubmitEditing ? handleKeyDown : rest.onKeyDown,
|
|
129
|
+
onChange: onChangeText ? handleChange : rest.onChange,
|
|
130
|
+
style: {
|
|
131
|
+
...rest.style,
|
|
132
|
+
...(placeholderTextColor && {
|
|
133
|
+
"--t_placeholderColor": theme[placeholderTextColor]?.variable || placeholderTextColor
|
|
134
|
+
}),
|
|
135
|
+
...(selectionColor && {
|
|
136
|
+
"--t_selectionColor": theme[selectionColor]?.variable || selectionColor
|
|
137
|
+
})
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
return /* @__PURE__ */jsx(StyledInput, {
|
|
141
|
+
ref: composedRef,
|
|
142
|
+
...finalProps
|
|
134
143
|
});
|
|
144
|
+
});
|
|
135
145
|
export { Input };
|
|
136
146
|
//# sourceMappingURL=Input.mjs.map
|
package/dist/esm/Input.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","styled","useTheme","registerFocusable","useWebRef","React","styledBody","jsx","StyledInput","Input","styleable","props","_forwardedRef","disabled","id","onChangeText","onSubmitEditing","onSelectionChange","selection","placeholderTextColor","selectionColor","rows","keyboardAppearance","returnKeyType","submitBehavior","blurOnSubmit","caretHidden","contextMenuHidden","selectTextOnFocus","secureTextEntry","maxFontSizeMultiplier","allowFontScaling","multiline","keyboardType","autoCapitalize","autoCapitalizeProp","autoCorrect","autoCorrectProp","autoFocusNative","textContentType","onEndEditing","onContentSizeChange","onScroll","onKeyPress","clearButtonMode","clearTextOnFocus","enablesReturnKeyAutomatically","dataDetectorTypes","scrollEnabled","passwordRules","rejectResponderTermination","spellCheck","lineBreakStrategyIOS","lineBreakModeIOS","smartInsertDelete","inputAccessoryViewID","inputAccessoryViewButtonLabel","disableKeyboardShortcuts","cursorColor","selectionHandleColor","underlineColorAndroid","importantForAutofill","disableFullscreenUI","inlineImageLeft","inlineImagePadding","returnKeyLabel","textBreakStrategy","textAlignVertical","verticalAlign","showSoftInputOnFocus","numberOfLines","rest","ref","composedRef","theme","useEffect","node","current","handleSelectionChange","nativeEvent","start","selectionStart","end","selectionEnd","addEventListener","removeEventListener","setSelectionRange","focusAndSelect","focus","handleKeyDown","e","key","text","target","value","onKeyDown","handleChange","onChange","finalProps","style","variable"],"sources":["../../src/Input.tsx"],"sourcesContent":[null],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"names":["View","styled","useTheme","registerFocusable","useWebRef","React","styledBody","jsx","StyledInput","Input","styleable","props","_forwardedRef","disabled","id","onChangeText","onSubmitEditing","onSelectionChange","selection","placeholderTextColor","selectionColor","rows","keyboardAppearance","returnKeyType","submitBehavior","blurOnSubmit","caretHidden","contextMenuHidden","selectTextOnFocus","secureTextEntry","maxFontSizeMultiplier","allowFontScaling","multiline","keyboardType","autoCapitalize","autoCapitalizeProp","autoCorrect","autoCorrectProp","autoFocusNative","textContentType","onEndEditing","onContentSizeChange","onScroll","onKeyPress","clearButtonMode","clearTextOnFocus","enablesReturnKeyAutomatically","dataDetectorTypes","scrollEnabled","passwordRules","rejectResponderTermination","spellCheck","lineBreakStrategyIOS","lineBreakModeIOS","smartInsertDelete","inputAccessoryViewID","inputAccessoryViewButtonLabel","disableKeyboardShortcuts","cursorColor","selectionHandleColor","underlineColorAndroid","importantForAutofill","disableFullscreenUI","inlineImageLeft","inlineImagePadding","returnKeyLabel","textBreakStrategy","textAlignVertical","verticalAlign","showSoftInputOnFocus","numberOfLines","rest","ref","composedRef","theme","useEffect","node","current","handleSelectionChange","nativeEvent","start","selectionStart","end","selectionEnd","addEventListener","removeEventListener","setSelectionRange","focusAndSelect","focus","handleKeyDown","e","key","text","target","value","onKeyDown","handleChange","onChange","finalProps","style","variable"],"sources":["../../src/Input.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|