@micromag/element-call-to-action 0.3.51 → 0.3.52

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/es/index.js CHANGED
@@ -73,6 +73,11 @@ function CallToAction(_ref) {
73
73
  showWebView = _useState2[0],
74
74
  setShowWebView = _useState2[1];
75
75
 
76
+ var _useState3 = useState(true),
77
+ _useState4 = _slicedToArray(_useState3, 2),
78
+ disableWebView = _useState4[0],
79
+ setDisabledWebView = _useState4[1];
80
+
76
81
  var swipeUpEnabled = type === null || type === 'swipe-up';
77
82
  var validUrl = useMemo(function () {
78
83
  return isValidUrl(url);
@@ -95,10 +100,10 @@ function CallToAction(_ref) {
95
100
 
96
101
  var selfTargetLinkRef = useRef(null);
97
102
 
98
- var _useState3 = useState(false),
99
- _useState4 = _slicedToArray(_useState3, 2),
100
- leaving = _useState4[0],
101
- setLeaving = _useState4[1];
103
+ var _useState5 = useState(false),
104
+ _useState6 = _slicedToArray(_useState5, 2),
105
+ leaving = _useState6[0],
106
+ setLeaving = _useState6[1];
102
107
 
103
108
  var bind = useGesture({
104
109
  onDrag: function onDrag(_ref4) {
@@ -113,6 +118,7 @@ function CallToAction(_ref) {
113
118
  if (my < -dragAmount) {
114
119
  if (inWebView) {
115
120
  setShowWebView(true);
121
+ setDisabledWebView(false);
116
122
  } else if (isIos()) {
117
123
  selfTargetLinkRef.current.click();
118
124
  setLeaving(true);
@@ -132,9 +138,27 @@ function CallToAction(_ref) {
132
138
  window.removeEventListener('pagehide', onPageHide);
133
139
  };
134
140
  }, [setLeaving]);
141
+ useEffect(function () {
142
+ var id = null;
143
+
144
+ if (inWebView) {
145
+ if (showWebView) {
146
+ setDisabledWebView(false);
147
+ } else {
148
+ id = setTimeout(function () {
149
+ setDisabledWebView(true);
150
+ }, 300);
151
+ }
152
+ }
153
+
154
+ return function () {
155
+ clearTimeout(id);
156
+ };
157
+ }, [showWebView, setDisabledWebView]);
135
158
  var onOpenWebView = useCallback(function () {
136
159
  setShowWebView(true);
137
- }, [setShowWebView]);
160
+ setDisabledWebView(false);
161
+ }, [setShowWebView, setDisabledWebView]);
138
162
  var onCloseWebView = useCallback(function () {
139
163
  setShowWebView(false);
140
164
  }, [setShowWebView]);
@@ -172,6 +196,7 @@ function CallToAction(_ref) {
172
196
  className: classNames([styles.webView, _defineProperty({}, styles.visible, showWebView)]),
173
197
  src: url,
174
198
  closeable: true,
199
+ hidden: disableWebView,
175
200
  onClose: onCloseWebView
176
201
  }, screenSize)) : null) : null;
177
202
  }
package/lib/index.js CHANGED
@@ -87,6 +87,11 @@ function CallToAction(_ref) {
87
87
  showWebView = _useState2[0],
88
88
  setShowWebView = _useState2[1];
89
89
 
90
+ var _useState3 = React.useState(true),
91
+ _useState4 = _slicedToArray__default["default"](_useState3, 2),
92
+ disableWebView = _useState4[0],
93
+ setDisabledWebView = _useState4[1];
94
+
90
95
  var swipeUpEnabled = type === null || type === 'swipe-up';
91
96
  var validUrl = React.useMemo(function () {
92
97
  return utils.isValidUrl(url);
@@ -109,10 +114,10 @@ function CallToAction(_ref) {
109
114
 
110
115
  var selfTargetLinkRef = React.useRef(null);
111
116
 
112
- var _useState3 = React.useState(false),
113
- _useState4 = _slicedToArray__default["default"](_useState3, 2),
114
- leaving = _useState4[0],
115
- setLeaving = _useState4[1];
117
+ var _useState5 = React.useState(false),
118
+ _useState6 = _slicedToArray__default["default"](_useState5, 2),
119
+ leaving = _useState6[0],
120
+ setLeaving = _useState6[1];
116
121
 
117
122
  var bind = react.useGesture({
118
123
  onDrag: function onDrag(_ref4) {
@@ -127,6 +132,7 @@ function CallToAction(_ref) {
127
132
  if (my < -dragAmount) {
128
133
  if (inWebView) {
129
134
  setShowWebView(true);
135
+ setDisabledWebView(false);
130
136
  } else if (utils.isIos()) {
131
137
  selfTargetLinkRef.current.click();
132
138
  setLeaving(true);
@@ -146,9 +152,27 @@ function CallToAction(_ref) {
146
152
  window.removeEventListener('pagehide', onPageHide);
147
153
  };
148
154
  }, [setLeaving]);
155
+ React.useEffect(function () {
156
+ var id = null;
157
+
158
+ if (inWebView) {
159
+ if (showWebView) {
160
+ setDisabledWebView(false);
161
+ } else {
162
+ id = setTimeout(function () {
163
+ setDisabledWebView(true);
164
+ }, 300);
165
+ }
166
+ }
167
+
168
+ return function () {
169
+ clearTimeout(id);
170
+ };
171
+ }, [showWebView, setDisabledWebView]);
149
172
  var onOpenWebView = React.useCallback(function () {
150
173
  setShowWebView(true);
151
- }, [setShowWebView]);
174
+ setDisabledWebView(false);
175
+ }, [setShowWebView, setDisabledWebView]);
152
176
  var onCloseWebView = React.useCallback(function () {
153
177
  setShowWebView(false);
154
178
  }, [setShowWebView]);
@@ -186,6 +210,7 @@ function CallToAction(_ref) {
186
210
  className: classNames__default["default"]([styles.webView, _defineProperty__default["default"]({}, styles.visible, showWebView)]),
187
211
  src: url,
188
212
  closeable: true,
213
+ hidden: disableWebView,
189
214
  onClose: onCloseWebView
190
215
  }, screenSize)) : null) : null;
191
216
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/element-call-to-action",
3
- "version": "0.3.51",
3
+ "version": "0.3.52",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -55,7 +55,7 @@
55
55
  "@micromag/core": "^0.3.42",
56
56
  "@micromag/element-button": "^0.3.45",
57
57
  "@micromag/element-text": "^0.3.45",
58
- "@micromag/element-webview": "^0.3.50",
58
+ "@micromag/element-webview": "^0.3.52",
59
59
  "@react-spring/core": "^9.1.1",
60
60
  "@react-spring/web": "^9.1.1",
61
61
  "@use-gesture/react": "^10.2.4",
@@ -68,5 +68,5 @@
68
68
  "publishConfig": {
69
69
  "access": "public"
70
70
  },
71
- "gitHead": "e15a616fcf1f0c6c9f75ef89876eb1112c6d7c12"
71
+ "gitHead": "55e5140dad51adb6e1052f83b6fcb4db97437a6d"
72
72
  }