@micromag/element-call-to-action 0.3.88 → 0.3.89

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
@@ -72,7 +72,9 @@ var propTypes = {
72
72
  buttonBorderClassName: PropTypes.string,
73
73
  labelClassName: PropTypes.string,
74
74
  arrowClassName: PropTypes.string,
75
- focusable: PropTypes.bool
75
+ focusable: PropTypes.bool,
76
+ enableInteraction: PropTypes.func,
77
+ disableInteraction: PropTypes.func
76
78
  };
77
79
  var defaultProps = {
78
80
  elRef: null,
@@ -88,7 +90,9 @@ var defaultProps = {
88
90
  buttonBorderClassName: null,
89
91
  labelClassName: null,
90
92
  arrowClassName: null,
91
- focusable: true
93
+ focusable: true,
94
+ enableInteraction: null,
95
+ disableInteraction: null
92
96
  };
93
97
 
94
98
  function CallToAction(_ref) {
@@ -107,7 +111,9 @@ function CallToAction(_ref) {
107
111
  buttonBorderClassName = _ref.buttonBorderClassName,
108
112
  labelClassName = _ref.labelClassName,
109
113
  arrowClassName = _ref.arrowClassName,
110
- focusable = _ref.focusable;
114
+ focusable = _ref.focusable,
115
+ enableInteraction = _ref.enableInteraction,
116
+ disableInteraction = _ref.disableInteraction;
111
117
 
112
118
  var _ref2 = callToAction || {},
113
119
  _ref2$active = _ref2.active,
@@ -182,7 +188,7 @@ function CallToAction(_ref) {
182
188
  if (inWebView) {
183
189
  setShowWebView(true);
184
190
  setDisabledWebView(false);
185
- } else if (isIos()) {
191
+ } else if (isIos() && selfTargetLinkRef.current !== null) {
186
192
  selfTargetLinkRef.current.click();
187
193
  setLeaving(true);
188
194
  } else if (buttonRef.current) {
@@ -221,10 +227,18 @@ function CallToAction(_ref) {
221
227
  var onOpenWebView = useCallback(function () {
222
228
  setShowWebView(true);
223
229
  setDisabledWebView(false);
224
- }, [setShowWebView, setDisabledWebView]);
230
+
231
+ if (disableInteraction !== null) {
232
+ disableInteraction();
233
+ }
234
+ }, [setShowWebView, setDisabledWebView, disableInteraction]);
225
235
  var onCloseWebView = useCallback(function () {
226
236
  setShowWebView(false);
227
- }, [setShowWebView]);
237
+
238
+ if (enableInteraction !== null) {
239
+ enableInteraction();
240
+ }
241
+ }, [setShowWebView, enableInteraction]);
228
242
  var ArrowElement = arrow !== null ? /*#__PURE__*/React.createElement("div", {
229
243
  className: classNames([styles.arrow, _defineProperty({}, arrowClassName, arrowClassName !== null)]),
230
244
  style: arrowStyle
@@ -237,12 +251,12 @@ function CallToAction(_ref) {
237
251
  ref: elRef
238
252
  }, leaving ? /*#__PURE__*/React.createElement("div", {
239
253
  className: styles.leavingFrame
240
- }) : null, /*#__PURE__*/React.createElement("a", {
254
+ }) : null, !inWebView && swipeUpEnabled ? /*#__PURE__*/React.createElement("a", {
241
255
  className: styles.selfTargetLink,
242
256
  href: url,
243
257
  ref: selfTargetLinkRef,
244
258
  tabIndex: focusable ? '0' : '-1'
245
- }), swipeUpEnabled ? ArrowElement : null, /*#__PURE__*/React.createElement("div", {
259
+ }) : null, swipeUpEnabled ? ArrowElement : null, /*#__PURE__*/React.createElement("div", {
246
260
  className: classNames([styles.buttonBorder, _defineProperty({}, buttonBorderClassName, buttonBorderClassName !== null)])
247
261
  }, /*#__PURE__*/React.createElement(Button, Object.assign({
248
262
  className: classNames([styles.button, _defineProperty({}, buttonClassName, buttonClassName !== null)]),
package/lib/index.js CHANGED
@@ -86,7 +86,9 @@ var propTypes = {
86
86
  buttonBorderClassName: PropTypes__default["default"].string,
87
87
  labelClassName: PropTypes__default["default"].string,
88
88
  arrowClassName: PropTypes__default["default"].string,
89
- focusable: PropTypes__default["default"].bool
89
+ focusable: PropTypes__default["default"].bool,
90
+ enableInteraction: PropTypes__default["default"].func,
91
+ disableInteraction: PropTypes__default["default"].func
90
92
  };
91
93
  var defaultProps = {
92
94
  elRef: null,
@@ -102,7 +104,9 @@ var defaultProps = {
102
104
  buttonBorderClassName: null,
103
105
  labelClassName: null,
104
106
  arrowClassName: null,
105
- focusable: true
107
+ focusable: true,
108
+ enableInteraction: null,
109
+ disableInteraction: null
106
110
  };
107
111
 
108
112
  function CallToAction(_ref) {
@@ -121,7 +125,9 @@ function CallToAction(_ref) {
121
125
  buttonBorderClassName = _ref.buttonBorderClassName,
122
126
  labelClassName = _ref.labelClassName,
123
127
  arrowClassName = _ref.arrowClassName,
124
- focusable = _ref.focusable;
128
+ focusable = _ref.focusable,
129
+ enableInteraction = _ref.enableInteraction,
130
+ disableInteraction = _ref.disableInteraction;
125
131
 
126
132
  var _ref2 = callToAction || {},
127
133
  _ref2$active = _ref2.active,
@@ -196,7 +202,7 @@ function CallToAction(_ref) {
196
202
  if (inWebView) {
197
203
  setShowWebView(true);
198
204
  setDisabledWebView(false);
199
- } else if (utils.isIos()) {
205
+ } else if (utils.isIos() && selfTargetLinkRef.current !== null) {
200
206
  selfTargetLinkRef.current.click();
201
207
  setLeaving(true);
202
208
  } else if (buttonRef.current) {
@@ -235,10 +241,18 @@ function CallToAction(_ref) {
235
241
  var onOpenWebView = React.useCallback(function () {
236
242
  setShowWebView(true);
237
243
  setDisabledWebView(false);
238
- }, [setShowWebView, setDisabledWebView]);
244
+
245
+ if (disableInteraction !== null) {
246
+ disableInteraction();
247
+ }
248
+ }, [setShowWebView, setDisabledWebView, disableInteraction]);
239
249
  var onCloseWebView = React.useCallback(function () {
240
250
  setShowWebView(false);
241
- }, [setShowWebView]);
251
+
252
+ if (enableInteraction !== null) {
253
+ enableInteraction();
254
+ }
255
+ }, [setShowWebView, enableInteraction]);
242
256
  var ArrowElement = arrow !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
243
257
  className: classNames__default["default"]([styles.arrow, _defineProperty__default["default"]({}, arrowClassName, arrowClassName !== null)]),
244
258
  style: arrowStyle
@@ -251,12 +265,12 @@ function CallToAction(_ref) {
251
265
  ref: elRef
252
266
  }, leaving ? /*#__PURE__*/React__default["default"].createElement("div", {
253
267
  className: styles.leavingFrame
254
- }) : null, /*#__PURE__*/React__default["default"].createElement("a", {
268
+ }) : null, !inWebView && swipeUpEnabled ? /*#__PURE__*/React__default["default"].createElement("a", {
255
269
  className: styles.selfTargetLink,
256
270
  href: url,
257
271
  ref: selfTargetLinkRef,
258
272
  tabIndex: focusable ? '0' : '-1'
259
- }), swipeUpEnabled ? ArrowElement : null, /*#__PURE__*/React__default["default"].createElement("div", {
273
+ }) : null, swipeUpEnabled ? ArrowElement : null, /*#__PURE__*/React__default["default"].createElement("div", {
260
274
  className: classNames__default["default"]([styles.buttonBorder, _defineProperty__default["default"]({}, buttonBorderClassName, buttonBorderClassName !== null)])
261
275
  }, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], Object.assign({
262
276
  className: classNames__default["default"]([styles.button, _defineProperty__default["default"]({}, buttonClassName, buttonClassName !== null)]),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/element-call-to-action",
3
- "version": "0.3.88",
3
+ "version": "0.3.89",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -68,5 +68,5 @@
68
68
  "publishConfig": {
69
69
  "access": "public"
70
70
  },
71
- "gitHead": "d0fb1f7d4ae6bfa1fd07dc856307c1c4225ab889"
71
+ "gitHead": "b79d346163c149050ed713e8162675f11b8baf4b"
72
72
  }