@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 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 { Button } from '@micromag/core/components';
12
- import { isValidUrl, getStyleFromColor, isIos, getStyleFromBox } from '@micromag/core/utils';
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 _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]);
@@ -158,7 +182,7 @@ function CallToAction(_ref) {
158
182
  focusable: focusable,
159
183
  buttonStyle: _objectSpread({
160
184
  marginBottom: 10
161
- }, getStyleFromBox(buttonStyle))
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 _useState3 = React.useState(false),
112
- _useState4 = _slicedToArray__default["default"](_useState3, 2),
113
- leaving = _useState4[0],
114
- setLeaving = _useState4[1];
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
- }, [setShowWebView]);
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(components.Button, Object.assign({
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
- }, utils.getStyleFromBox(buttonStyle))
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.49",
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.48",
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": "2eaa5dd74d48d73e004241e3b68ed774c8606ef7"
71
+ "gitHead": "55e5140dad51adb6e1052f83b6fcb4db97437a6d"
72
72
  }