@micromag/element-call-to-action 0.3.49 → 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 +33 -8
- package/lib/index.js +34 -8
- package/package.json +3 -3
package/es/index.js
CHANGED
|
@@ -8,8 +8,8 @@ import classNames from 'classnames';
|
|
|
8
8
|
import PropTypes from 'prop-types';
|
|
9
9
|
import React, { useState, useMemo, useRef, useEffect, useCallback } from 'react';
|
|
10
10
|
import { PropTypes as PropTypes$1 } from '@micromag/core';
|
|
11
|
-
import {
|
|
12
|
-
import
|
|
11
|
+
import { isValidUrl, getStyleFromColor, isIos } from '@micromag/core/utils';
|
|
12
|
+
import Button from '@micromag/element-button';
|
|
13
13
|
import Text from '@micromag/element-text';
|
|
14
14
|
import WebView from '@micromag/element-webview';
|
|
15
15
|
|
|
@@ -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
|
|
99
|
-
|
|
100
|
-
leaving =
|
|
101
|
-
setLeaving =
|
|
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
|
-
|
|
160
|
+
setDisabledWebView(false);
|
|
161
|
+
}, [setShowWebView, setDisabledWebView]);
|
|
138
162
|
var onCloseWebView = useCallback(function () {
|
|
139
163
|
setShowWebView(false);
|
|
140
164
|
}, [setShowWebView]);
|
|
@@ -158,7 +182,7 @@ function CallToAction(_ref) {
|
|
|
158
182
|
focusable: focusable,
|
|
159
183
|
buttonStyle: _objectSpread({
|
|
160
184
|
marginBottom: 10
|
|
161
|
-
},
|
|
185
|
+
}, buttonStyle)
|
|
162
186
|
}, swipeUpEnabled && !disabled ? bind() : null, inWebView ? {
|
|
163
187
|
onClick: onOpenWebView
|
|
164
188
|
} : {
|
|
@@ -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
|
@@ -10,8 +10,8 @@ var classNames = require('classnames');
|
|
|
10
10
|
var PropTypes = require('prop-types');
|
|
11
11
|
var React = require('react');
|
|
12
12
|
var core = require('@micromag/core');
|
|
13
|
-
var components = require('@micromag/core/components');
|
|
14
13
|
var utils = require('@micromag/core/utils');
|
|
14
|
+
var Button = require('@micromag/element-button');
|
|
15
15
|
var Text = require('@micromag/element-text');
|
|
16
16
|
var WebView = require('@micromag/element-webview');
|
|
17
17
|
|
|
@@ -23,6 +23,7 @@ var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray)
|
|
|
23
23
|
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
|
24
24
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
25
25
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
26
|
+
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
|
26
27
|
var Text__default = /*#__PURE__*/_interopDefaultLegacy(Text);
|
|
27
28
|
var WebView__default = /*#__PURE__*/_interopDefaultLegacy(WebView);
|
|
28
29
|
|
|
@@ -86,6 +87,11 @@ function CallToAction(_ref) {
|
|
|
86
87
|
showWebView = _useState2[0],
|
|
87
88
|
setShowWebView = _useState2[1];
|
|
88
89
|
|
|
90
|
+
var _useState3 = React.useState(true),
|
|
91
|
+
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
92
|
+
disableWebView = _useState4[0],
|
|
93
|
+
setDisabledWebView = _useState4[1];
|
|
94
|
+
|
|
89
95
|
var swipeUpEnabled = type === null || type === 'swipe-up';
|
|
90
96
|
var validUrl = React.useMemo(function () {
|
|
91
97
|
return utils.isValidUrl(url);
|
|
@@ -108,10 +114,10 @@ function CallToAction(_ref) {
|
|
|
108
114
|
|
|
109
115
|
var selfTargetLinkRef = React.useRef(null);
|
|
110
116
|
|
|
111
|
-
var
|
|
112
|
-
|
|
113
|
-
leaving =
|
|
114
|
-
setLeaving =
|
|
117
|
+
var _useState5 = React.useState(false),
|
|
118
|
+
_useState6 = _slicedToArray__default["default"](_useState5, 2),
|
|
119
|
+
leaving = _useState6[0],
|
|
120
|
+
setLeaving = _useState6[1];
|
|
115
121
|
|
|
116
122
|
var bind = react.useGesture({
|
|
117
123
|
onDrag: function onDrag(_ref4) {
|
|
@@ -126,6 +132,7 @@ function CallToAction(_ref) {
|
|
|
126
132
|
if (my < -dragAmount) {
|
|
127
133
|
if (inWebView) {
|
|
128
134
|
setShowWebView(true);
|
|
135
|
+
setDisabledWebView(false);
|
|
129
136
|
} else if (utils.isIos()) {
|
|
130
137
|
selfTargetLinkRef.current.click();
|
|
131
138
|
setLeaving(true);
|
|
@@ -145,9 +152,27 @@ function CallToAction(_ref) {
|
|
|
145
152
|
window.removeEventListener('pagehide', onPageHide);
|
|
146
153
|
};
|
|
147
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]);
|
|
148
172
|
var onOpenWebView = React.useCallback(function () {
|
|
149
173
|
setShowWebView(true);
|
|
150
|
-
|
|
174
|
+
setDisabledWebView(false);
|
|
175
|
+
}, [setShowWebView, setDisabledWebView]);
|
|
151
176
|
var onCloseWebView = React.useCallback(function () {
|
|
152
177
|
setShowWebView(false);
|
|
153
178
|
}, [setShowWebView]);
|
|
@@ -165,13 +190,13 @@ function CallToAction(_ref) {
|
|
|
165
190
|
className: styles.arrow,
|
|
166
191
|
style: arrowStyle,
|
|
167
192
|
icon: freeSolidSvgIcons.faChevronUp
|
|
168
|
-
}) : null, /*#__PURE__*/React__default["default"].createElement(
|
|
193
|
+
}) : null, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], Object.assign({
|
|
169
194
|
className: styles.button,
|
|
170
195
|
refButton: buttonRef,
|
|
171
196
|
focusable: focusable,
|
|
172
197
|
buttonStyle: _objectSpread__default["default"]({
|
|
173
198
|
marginBottom: 10
|
|
174
|
-
},
|
|
199
|
+
}, buttonStyle)
|
|
175
200
|
}, swipeUpEnabled && !disabled ? bind() : null, inWebView ? {
|
|
176
201
|
onClick: onOpenWebView
|
|
177
202
|
} : {
|
|
@@ -185,6 +210,7 @@ function CallToAction(_ref) {
|
|
|
185
210
|
className: classNames__default["default"]([styles.webView, _defineProperty__default["default"]({}, styles.visible, showWebView)]),
|
|
186
211
|
src: url,
|
|
187
212
|
closeable: true,
|
|
213
|
+
hidden: disableWebView,
|
|
188
214
|
onClose: onCloseWebView
|
|
189
215
|
}, screenSize)) : null) : null;
|
|
190
216
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@micromag/element-call-to-action",
|
|
3
|
-
"version": "0.3.
|
|
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.
|
|
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": "
|
|
71
|
+
"gitHead": "55e5140dad51adb6e1052f83b6fcb4db97437a6d"
|
|
72
72
|
}
|