@codeleap/mobile 2.3.1 → 2.3.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/components/Button/index.d.ts +0 -1
- package/dist/components/Button/index.js +6 -13
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/Touchable/index.js +11 -9
- package/dist/components/Touchable/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Button/index.tsx +4 -16
- package/src/components/Touchable/index.tsx +7 -5
|
@@ -67,20 +67,12 @@ exports.Badge = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
67
67
|
</View_1.View>;
|
|
68
68
|
});
|
|
69
69
|
exports.Button = (0, react_1.forwardRef)(function (buttonProps, ref) {
|
|
70
|
-
var _a = buttonProps.variants, variants = _a === void 0 ? [] : _a, children = buttonProps.children, icon = buttonProps.icon, text = buttonProps.text, loading = buttonProps.loading, _b = buttonProps.styles, styles = _b === void 0 ? {} : _b, onPress = buttonProps.onPress, disabled = buttonProps.disabled, _c = buttonProps.badge, badge = _c === void 0 ? null : _c, rightIcon = buttonProps.rightIcon,
|
|
71
|
-
var _e = React.useState(false), pressed = _e[0], setPressed = _e[1];
|
|
70
|
+
var _a = buttonProps.variants, variants = _a === void 0 ? [] : _a, children = buttonProps.children, icon = buttonProps.icon, text = buttonProps.text, loading = buttonProps.loading, _b = buttonProps.styles, styles = _b === void 0 ? {} : _b, onPress = buttonProps.onPress, disabled = buttonProps.disabled, _c = buttonProps.badge, badge = _c === void 0 ? null : _c, rightIcon = buttonProps.rightIcon, style = buttonProps.style, props = __rest(buttonProps, ["variants", "children", "icon", "text", "loading", "styles", "onPress", "disabled", "badge", "rightIcon", "style"]);
|
|
72
71
|
var variantStyles = (0, common_1.useDefaultComponentStyle)('u:Button', {
|
|
73
72
|
variants: variants,
|
|
74
73
|
transform: react_native_1.StyleSheet.flatten,
|
|
75
74
|
styles: styles,
|
|
76
75
|
});
|
|
77
|
-
function handlePress() {
|
|
78
|
-
if (!pressed) {
|
|
79
|
-
setPressed(true);
|
|
80
|
-
setTimeout(function () { return setPressed(false); }, debounce);
|
|
81
|
-
onPress && onPress();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
76
|
function getStyles(key) {
|
|
85
77
|
return [
|
|
86
78
|
variantStyles[key],
|
|
@@ -102,8 +94,9 @@ exports.Button = (0, react_1.forwardRef)(function (buttonProps, ref) {
|
|
|
102
94
|
text: getStyles('text'),
|
|
103
95
|
icon: getStyles('icon'),
|
|
104
96
|
};
|
|
105
|
-
var childrenContent =
|
|
106
|
-
|
|
97
|
+
var childrenContent = common_1.TypeGuards.isFunction(children) ?
|
|
98
|
+
// @ts-ignore
|
|
99
|
+
children({ styles: _styles, props: buttonProps })
|
|
107
100
|
: children;
|
|
108
101
|
var _badge = null;
|
|
109
102
|
if (badge) {
|
|
@@ -112,9 +105,9 @@ exports.Button = (0, react_1.forwardRef)(function (buttonProps, ref) {
|
|
|
112
105
|
wrapper: variantStyles.badgeWrapper,
|
|
113
106
|
}, (badge === null || badge === void 0 ? void 0 : badge.styles) || {})}/>;
|
|
114
107
|
}
|
|
115
|
-
return (<Touchable_1.Touchable style={_styles.wrapper}
|
|
108
|
+
return (<Touchable_1.Touchable style={_styles.wrapper} ref={ref} disabled={disabled} styles={{
|
|
116
109
|
feedback: variantStyles.feedback,
|
|
117
|
-
}} debugComponent={'Button'} noFeedback={!onPress} {...props}>
|
|
110
|
+
}} onPress={onPress} debugComponent={'Button'} noFeedback={!onPress} {...props}>
|
|
118
111
|
{_badge}
|
|
119
112
|
{loading && <ActivityIndicator_1.ActivityIndicator style={_styles.loader}/>}
|
|
120
113
|
{!loading && <Icon_1.Icon name={icon} style={_styles.leftIcon} renderEmptySpace={hasText && !!rightIcon}/>}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Button/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA8B;AAC9B,2CAUyB;AAOzB,+BAAkC;AAElC,gCAA8B;AAC9B,0CAAwD;AACxD,gCAA8B;AAC9B,gCAAyC;AACzC,0DAAwD;AACxD,6CAAyC;AACzC,2CAAwB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Button/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA8B;AAC9B,2CAUyB;AAOzB,+BAAkC;AAElC,gCAA8B;AAC9B,0CAAwD;AACxD,gCAA8B;AAC9B,gCAAyC;AACzC,0DAAwD;AACxD,6CAAyC;AACzC,2CAAwB;AA4BX,QAAA,KAAK,GAAG,IAAA,kBAAU,EAA2C,UAAC,KAAK,EAAE,GAAG;IAEjF,IAAA,KAKE,KAAK,SALQ,EAAf,QAAQ,mBAAG,IAAI,KAAA,EACf,MAAM,GAIJ,KAAK,OAJD,EACN,IAAI,GAGF,KAAK,KAHH,EACJ,KAEE,KAAK,UAFO,EAAd,SAAS,mBAAG,EAAE,KAAA,EACX,SAAS,UACV,KAAK,EANH,2CAML,CADa,CACL;IAET,OAAO,CAAC,WAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAC5D;IAAA,CAAC,IAAI,IAAI,CAAC,WAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,CAC/D;IAAA,CAAC,CAAC,mBAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,uBAAM,SAAS,KAAE,MAAM,QAAA,EAAE,IAAI,MAAA,IAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAC1F;EAAA,EAAE,WAAI,CAAC,CAAA;AACT,CAAC,CAAC,CAAA;AAEW,QAAA,MAAM,GAAG,IAAA,kBAAU,EAAiD,UAAC,WAAW,EAAE,GAAG;IAE9F,IAAA,KAYE,WAAW,SAZA,EAAb,QAAQ,mBAAG,EAAE,KAAA,EACb,QAAQ,GAWN,WAAW,SAXL,EACR,IAAI,GAUF,WAAW,KAVT,EACJ,IAAI,GASF,WAAW,KATT,EACJ,OAAO,GAQL,WAAW,QARN,EACP,KAOE,WAAW,OAPF,EAAX,MAAM,mBAAG,EAAE,KAAA,EACX,OAAO,GAML,WAAW,QANN,EACP,QAAQ,GAKN,WAAW,SALL,EACR,KAIE,WAAW,MAJD,EAAZ,KAAK,mBAAG,IAAI,KAAA,EACZ,SAAS,GAGP,WAAW,UAHJ,EACT,KAAK,GAEH,WAAW,MAFR,EACF,KAAK,UACN,WAAW,EAbT,mHAaL,CADS,CACK;IAEf,IAAM,aAAa,GAAG,IAAA,iCAAwB,EAAC,UAAU,EAAE;QACzD,QAAQ,UAAA;QACR,SAAS,EAAE,yBAAU,CAAC,OAAO;QAC7B,MAAM,QAAA;KACP,CAAC,CAAA;IAEF,SAAS,SAAS,CAAC,GAAgB;QACjC,OAAO;YACL,aAAa,CAAC,GAAG,CAAC;YAClB,GAAG,KAAK,SAAS,IAAI,KAAK;YAC1B,QAAQ,IAAI,aAAa,CAAC,GAAG,GAAG,WAAW,CAAC;YAC5C,MAAM,CAAC,GAAG,CAAC;YACX,QAAQ,IAAI,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC;SACtC,CAAA;IACH,CAAC;IAED,IAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IAEnC,IAAM,aAAa,GAAG,yBAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IAC5E,IAAM,cAAc,GAAG,yBAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IAE9E,IAAM,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAA;IAEpC,IAAM,OAAO,GAAG;QACd,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC;QAC7B,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC;QAC3B,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,cAAc;QACzB,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;QACvB,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;KAExB,CAAA;IAED,IAAM,eAAe,GAAG,mBAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,aAAa;QACb,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QACjD,CAAC,CAAC,QAAQ,CAAA;IAEZ,IAAI,MAAM,GAAG,IAAI,CAAA;IAEjB,IAAI,KAAK,EAAE;QACT,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAK,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAA,kBAAS,EAAC;gBACjF,IAAI,EAAE,aAAa,CAAC,SAAS;gBAC7B,OAAO,EAAE,aAAa,CAAC,YAAY;aACpC,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,KAAI,EAAE,CAAC,CAAC,EAAE,CAAA;KAE3B;IAED,OAAO,CACL,CAAC,qBAAS,CACR,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CACvB,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,MAAM,CAAC,CAAC;YACN,QAAQ,EAAE,aAAa,CAAC,QAAQ;SACjC,CAAC,CACF,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,cAAc,CAAC,CAAC,QAAQ,CAAC,CACzB,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CACrB,IAAI,KAAK,CAAC,CAEV;MAAA,CAAC,MAAM,CACP;MAAA,CAAC,OAAO,IAAI,CAAC,qCAAiB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAG,CACxD;MAAA,CAAC,CAAC,OAAO,IAAI,CAAC,WAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,CACnG;MAAA,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAG,CAAC,CAAC,CAAC,IAAI,CACxD;MAAA,CAAC,eAAe,CAChB;MAAA,CAAC,WAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,EACpG;IAAA,EAAE,qBAAS,CAAC,CACb,CAAA;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -47,8 +47,8 @@ var View_1 = require("../View");
|
|
|
47
47
|
var utils_1 = require("../../utils");
|
|
48
48
|
__exportStar(require("./styles"), exports);
|
|
49
49
|
exports.Touchable = (0, react_1.forwardRef)(function (touchableProps, ref) {
|
|
50
|
-
var _a = touchableProps.variants, variants = _a === void 0 ? [] : _a, children = touchableProps.children, onPress = touchableProps.onPress, style = touchableProps.style, debugName = touchableProps.debugName, debugComponent = touchableProps.debugComponent, _b = touchableProps.debounce, debounce = _b === void 0 ?
|
|
51
|
-
var
|
|
50
|
+
var _a = touchableProps.variants, variants = _a === void 0 ? [] : _a, children = touchableProps.children, onPress = touchableProps.onPress, style = touchableProps.style, debugName = touchableProps.debugName, debugComponent = touchableProps.debugComponent, _b = touchableProps.debounce, debounce = _b === void 0 ? 1000 : _b, _c = touchableProps.noFeedback, noFeedback = _c === void 0 ? false : _c, styles = touchableProps.styles, props = __rest(touchableProps, ["variants", "children", "onPress", "style", "debugName", "debugComponent", "debounce", "noFeedback", "styles"]);
|
|
51
|
+
var pressed = React.useRef(false);
|
|
52
52
|
var variantStyles = (0, common_1.useDefaultComponentStyle)('u:Touchable', {
|
|
53
53
|
variants: variants,
|
|
54
54
|
transform: react_native_1.StyleSheet.flatten,
|
|
@@ -68,12 +68,14 @@ exports.Touchable = (0, react_1.forwardRef)(function (touchableProps, ref) {
|
|
|
68
68
|
onPress && onPress();
|
|
69
69
|
};
|
|
70
70
|
if (common_1.TypeGuards.isNumber(debounce)) {
|
|
71
|
-
if (pressed) {
|
|
71
|
+
if (pressed.current) {
|
|
72
72
|
return;
|
|
73
73
|
}
|
|
74
|
-
|
|
74
|
+
pressed.current = true;
|
|
75
75
|
_onPress();
|
|
76
|
-
setTimeout(function () {
|
|
76
|
+
setTimeout(function () {
|
|
77
|
+
pressed.current = false;
|
|
78
|
+
}, debounce);
|
|
77
79
|
}
|
|
78
80
|
else {
|
|
79
81
|
_onPress();
|
|
@@ -81,14 +83,14 @@ exports.Touchable = (0, react_1.forwardRef)(function (touchableProps, ref) {
|
|
|
81
83
|
};
|
|
82
84
|
var _styles = react_native_1.StyleSheet.flatten([variantStyles.wrapper, style]);
|
|
83
85
|
var disableFeedback = !onPress || noFeedback;
|
|
84
|
-
var
|
|
86
|
+
var _d = (0, utils_1.usePressableFeedback)(_styles, {
|
|
85
87
|
hightlightPropertyIn: 'backgroundColor',
|
|
86
88
|
hightlightPropertyOut: 'backgroundColor',
|
|
87
89
|
disabled: disableFeedback,
|
|
88
90
|
feedbackConfig: variantStyles === null || variantStyles === void 0 ? void 0 : variantStyles.feedback,
|
|
89
|
-
}), rippleConfig =
|
|
91
|
+
}), rippleConfig = _d.rippleConfig, getFeedbackStyle = _d.getFeedbackStyle;
|
|
90
92
|
var Wrapper = View_1.View;
|
|
91
|
-
var
|
|
93
|
+
var _e = React.useMemo(function () {
|
|
92
94
|
var wrapperkeys = [
|
|
93
95
|
'margin',
|
|
94
96
|
'alignSelf',
|
|
@@ -136,7 +138,7 @@ exports.Touchable = (0, react_1.forwardRef)(function (touchableProps, ref) {
|
|
|
136
138
|
wrapperStyle: wrapperStyle,
|
|
137
139
|
pressableStyle: pressableStyle,
|
|
138
140
|
};
|
|
139
|
-
}, [JSON.stringify(_styles)]), wrapperStyle =
|
|
141
|
+
}, [JSON.stringify(_styles)]), wrapperStyle = _e.wrapperStyle, pressableStyle = _e.pressableStyle;
|
|
140
142
|
return (<Wrapper style={[wrapperStyle]}>
|
|
141
143
|
<react_native_1.Pressable onPress={press} style={function (_a) {
|
|
142
144
|
var pressed = _a.pressed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Touchable/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA8B;AAC9B,+BAA4D;AAC5D,2CAQyB;AACzB,6CAAoE;AAEpE,mEAAmE;AAGnE,gCAA8B;AAC9B,qCAAkD;AAgBlD,2CAAwB;AAEX,QAAA,SAAS,GAA6B,IAAA,kBAAU,EAG3D,UAAC,cAAc,EAAE,GAAG;IAElB,IAAA,KAUE,cAAc,SAVH,EAAb,QAAQ,mBAAG,EAAE,KAAA,EACb,QAAQ,GASN,cAAc,SATR,EACR,OAAO,GAQL,cAAc,QART,EACP,KAAK,GAOH,cAAc,MAPX,EACL,SAAS,GAMP,cAAc,UANP,EACT,cAAc,GAKZ,cAAc,eALF,EACd,KAIE,cAAc,SAJD,EAAf,QAAQ,mBAAG,IAAI,KAAA,EACf,KAGE,cAAc,WAHE,EAAlB,UAAU,mBAAG,KAAK,KAAA,EAClB,MAAM,GAEJ,cAAc,OAFV,EACH,KAAK,UACN,cAAc,EAXZ,+GAWL,CADS,CACQ;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Touchable/index.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -28,7 +28,6 @@ export * from './styles'
|
|
|
28
28
|
|
|
29
29
|
type ChildProps = {
|
|
30
30
|
styles: StylesOf<ButtonParts>
|
|
31
|
-
pressed: boolean
|
|
32
31
|
props: Omit<ButtonProps, 'children'>
|
|
33
32
|
}
|
|
34
33
|
|
|
@@ -80,11 +79,9 @@ export const Button = forwardRef<GetRefType<TouchableProps['ref']>, ButtonProps>
|
|
|
80
79
|
disabled,
|
|
81
80
|
badge = null,
|
|
82
81
|
rightIcon,
|
|
83
|
-
debounce = 600,
|
|
84
82
|
style,
|
|
85
83
|
...props
|
|
86
84
|
} = buttonProps
|
|
87
|
-
const [pressed, setPressed] = React.useState(false)
|
|
88
85
|
|
|
89
86
|
const variantStyles = useDefaultComponentStyle('u:Button', {
|
|
90
87
|
variants,
|
|
@@ -92,16 +89,6 @@ export const Button = forwardRef<GetRefType<TouchableProps['ref']>, ButtonProps>
|
|
|
92
89
|
styles,
|
|
93
90
|
})
|
|
94
91
|
|
|
95
|
-
function handlePress() {
|
|
96
|
-
if (!pressed) {
|
|
97
|
-
setPressed(true)
|
|
98
|
-
|
|
99
|
-
setTimeout(() => setPressed(false), debounce)
|
|
100
|
-
|
|
101
|
-
onPress && onPress()
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
92
|
function getStyles(key: ButtonParts) {
|
|
106
93
|
return [
|
|
107
94
|
variantStyles[key],
|
|
@@ -129,8 +116,9 @@ export const Button = forwardRef<GetRefType<TouchableProps['ref']>, ButtonProps>
|
|
|
129
116
|
|
|
130
117
|
}
|
|
131
118
|
|
|
132
|
-
const childrenContent =
|
|
133
|
-
|
|
119
|
+
const childrenContent = TypeGuards.isFunction(children) ?
|
|
120
|
+
// @ts-ignore
|
|
121
|
+
children({ styles: _styles, props: buttonProps })
|
|
134
122
|
: children
|
|
135
123
|
|
|
136
124
|
let _badge = null
|
|
@@ -146,12 +134,12 @@ export const Button = forwardRef<GetRefType<TouchableProps['ref']>, ButtonProps>
|
|
|
146
134
|
return (
|
|
147
135
|
<Touchable
|
|
148
136
|
style={_styles.wrapper}
|
|
149
|
-
onPress={handlePress}
|
|
150
137
|
ref={ref}
|
|
151
138
|
disabled={disabled}
|
|
152
139
|
styles={{
|
|
153
140
|
feedback: variantStyles.feedback,
|
|
154
141
|
}}
|
|
142
|
+
onPress={onPress}
|
|
155
143
|
debugComponent={'Button'}
|
|
156
144
|
noFeedback={!onPress}
|
|
157
145
|
{...props}
|
|
@@ -44,12 +44,12 @@ export const Touchable: React.FC<TouchableProps> = forwardRef<
|
|
|
44
44
|
style,
|
|
45
45
|
debugName,
|
|
46
46
|
debugComponent,
|
|
47
|
-
debounce =
|
|
47
|
+
debounce = 1000,
|
|
48
48
|
noFeedback = false,
|
|
49
49
|
styles,
|
|
50
50
|
...props
|
|
51
51
|
} = touchableProps
|
|
52
|
-
const
|
|
52
|
+
const pressed = React.useRef(false)
|
|
53
53
|
const variantStyles = useDefaultComponentStyle<'u:Touchable', typeof TouchableStyles>('u:Touchable', {
|
|
54
54
|
variants,
|
|
55
55
|
transform: StyleSheet.flatten,
|
|
@@ -75,12 +75,14 @@ export const Touchable: React.FC<TouchableProps> = forwardRef<
|
|
|
75
75
|
onPress && onPress()
|
|
76
76
|
}
|
|
77
77
|
if (TypeGuards.isNumber(debounce)) {
|
|
78
|
-
if (pressed) {
|
|
78
|
+
if (pressed.current) {
|
|
79
79
|
return
|
|
80
80
|
}
|
|
81
|
-
|
|
81
|
+
pressed.current = true
|
|
82
82
|
_onPress()
|
|
83
|
-
setTimeout(() =>
|
|
83
|
+
setTimeout(() => {
|
|
84
|
+
pressed.current = false
|
|
85
|
+
}, debounce)
|
|
84
86
|
} else {
|
|
85
87
|
_onPress()
|
|
86
88
|
}
|