@telefonica/mistica 11.10.1 → 11.11.1
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/button.js +35 -43
- package/dist/card.d.ts +43 -1
- package/dist/card.js +212 -10
- package/dist/card.js.flow +44 -0
- package/dist/carousel.js +4 -6
- package/dist/highlighted-card.d.ts +4 -2
- package/dist/highlighted-card.js +19 -72
- package/dist/highlighted-card.js.flow +8 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.flow +1 -1
- package/dist/maybe-dismissable.d.ts +10 -0
- package/dist/maybe-dismissable.js +119 -0
- package/dist/maybe-dismissable.js.flow +12 -0
- package/dist/package-version.js +1 -1
- package/dist/select.js +1 -1
- package/dist/text.js +2 -2
- package/dist/theme.d.ts +2 -10
- package/dist/theme.js.flow +2 -10
- package/dist/utils/media-queries.d.ts +9 -7
- package/dist/utils/media-queries.js +5 -1
- package/dist/utils/media-queries.js.flow +9 -7
- package/dist/utils/platform.d.ts +8 -1
- package/dist/utils/platform.js +5 -1
- package/dist/utils/platform.js.flow +8 -1
- package/dist/video.js +14 -5
- package/dist-es/button.js +35 -43
- package/dist-es/card.js +211 -9
- package/dist-es/carousel.js +5 -6
- package/dist-es/highlighted-card.js +17 -70
- package/dist-es/index.js +1 -1
- package/dist-es/maybe-dismissable.js +86 -0
- package/dist-es/package-version.js +1 -1
- package/dist-es/select.js +1 -1
- package/dist-es/text.js +2 -2
- package/dist-es/utils/media-queries.js +5 -1
- package/dist-es/utils/platform.js +8 -0
- package/dist-es/video.js +14 -5
- package/package.json +2 -2
package/dist/highlighted-card.js
CHANGED
|
@@ -9,12 +9,10 @@ var _jss = require("./jss");
|
|
|
9
9
|
var _themeVariantContext = require("./theme-variant-context");
|
|
10
10
|
var _box = _interopRequireDefault(require("./box"));
|
|
11
11
|
var _touchable = _interopRequireDefault(require("./touchable"));
|
|
12
|
-
var _iconCloseRegular = _interopRequireDefault(require("./generated/mistica-icons/icon-close-regular"));
|
|
13
|
-
var _color = require("./utils/color");
|
|
14
12
|
var _hooks = require("./hooks");
|
|
15
13
|
var _text = require("./text");
|
|
16
|
-
var _iconButton = _interopRequireDefault(require("./icon-button"));
|
|
17
14
|
var _boxed = require("./boxed");
|
|
15
|
+
var _maybeDismissable = _interopRequireWildcard(require("./maybe-dismissable"));
|
|
18
16
|
function _interopRequireDefault(obj) {
|
|
19
17
|
return obj && obj.__esModule ? obj : {
|
|
20
18
|
default: obj
|
|
@@ -117,35 +115,6 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
117
115
|
minWidth: 100,
|
|
118
116
|
height: "inherit"
|
|
119
117
|
},
|
|
120
|
-
dismissableContainer: {
|
|
121
|
-
position: "relative",
|
|
122
|
-
display: "flex",
|
|
123
|
-
flexShrink: 0,
|
|
124
|
-
width: function width(param) {
|
|
125
|
-
var width2 = param.width;
|
|
126
|
-
return width2 || "100%";
|
|
127
|
-
}
|
|
128
|
-
},
|
|
129
|
-
dismissableButton: {
|
|
130
|
-
position: "absolute",
|
|
131
|
-
top: 0,
|
|
132
|
-
right: 0,
|
|
133
|
-
width: 48,
|
|
134
|
-
height: 48,
|
|
135
|
-
display: "flex",
|
|
136
|
-
alignItems: "center",
|
|
137
|
-
justifyContent: "center"
|
|
138
|
-
},
|
|
139
|
-
dismissableCircleContainer: {
|
|
140
|
-
display: "flex",
|
|
141
|
-
alignItems: "center",
|
|
142
|
-
justifyContent: "center",
|
|
143
|
-
width: 24,
|
|
144
|
-
height: 24,
|
|
145
|
-
margin: "0 0 8px 8px",
|
|
146
|
-
borderRadius: "50%",
|
|
147
|
-
backgroundColor: (0, _color).applyAlpha(theme.colors.background, 0.7)
|
|
148
|
-
},
|
|
149
118
|
textContainer: (_obj = {
|
|
150
119
|
paddingLeft: 16,
|
|
151
120
|
paddingTop: 24,
|
|
@@ -165,43 +134,12 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
165
134
|
display: "flex",
|
|
166
135
|
flexShrink: 0,
|
|
167
136
|
width: function width(param) {
|
|
168
|
-
var
|
|
169
|
-
return
|
|
137
|
+
var width2 = param.width;
|
|
138
|
+
return width2 || "100%";
|
|
170
139
|
}
|
|
171
140
|
}
|
|
172
141
|
};
|
|
173
142
|
});
|
|
174
|
-
var Dismissable = function Dismissable(param) {
|
|
175
|
-
var children = param.children, width = param.width, _onClose = param.onClose, onClose = _onClose === void 0 ? function onClose() {} : _onClose;
|
|
176
|
-
var isInverse = (0, _themeVariantContext).useIsInverseVariant();
|
|
177
|
-
var classes = useStyles({
|
|
178
|
-
isInverse: isInverse,
|
|
179
|
-
width: width
|
|
180
|
-
});
|
|
181
|
-
var ref = (0, _hooks).useTheme(), colors = ref.colors, texts = ref.texts;
|
|
182
|
-
return /*#__PURE__*/ (0, _jsxRuntime).jsxs("section", {
|
|
183
|
-
className: classes.dismissableContainer,
|
|
184
|
-
children: [
|
|
185
|
-
children,
|
|
186
|
-
/*#__PURE__*/ (0, _jsxRuntime).jsx(_iconButton.default, {
|
|
187
|
-
className: classes.dismissableButton,
|
|
188
|
-
onPress: onClose,
|
|
189
|
-
"aria-label": texts.closeButtonLabel,
|
|
190
|
-
style: {
|
|
191
|
-
display: "flex",
|
|
192
|
-
width: 48,
|
|
193
|
-
height: 48
|
|
194
|
-
},
|
|
195
|
-
children: /*#__PURE__*/ (0, _jsxRuntime).jsx("div", {
|
|
196
|
-
className: classes.dismissableCircleContainer,
|
|
197
|
-
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_iconCloseRegular.default, {
|
|
198
|
-
color: colors.neutralHigh
|
|
199
|
-
})
|
|
200
|
-
})
|
|
201
|
-
})
|
|
202
|
-
]
|
|
203
|
-
});
|
|
204
|
-
};
|
|
205
143
|
var Content = function Content(props) {
|
|
206
144
|
var title = props.title, description = props.description, imageUrl = props.imageUrl, imageFit = props.imageFit;
|
|
207
145
|
var isInverseOutside = (0, _themeVariantContext).useIsInverseVariant();
|
|
@@ -213,18 +151,24 @@ var Content = function Content(props) {
|
|
|
213
151
|
width: props.width
|
|
214
152
|
});
|
|
215
153
|
var theme = (0, _hooks).useTheme();
|
|
154
|
+
var isDismissable = (0, _maybeDismissable).useIsDismissable();
|
|
216
155
|
var content = /*#__PURE__*/ (0, _jsxRuntime).jsxs(_boxed.Boxed, {
|
|
217
156
|
isInverse: isInverse,
|
|
218
157
|
className: classes.container,
|
|
158
|
+
dataAttributes: props.dataAttributes,
|
|
219
159
|
children: [
|
|
220
160
|
/*#__PURE__*/ (0, _jsxRuntime).jsxs("div", {
|
|
221
161
|
// don't create another region when the Content is inside a Dismissable wrapper
|
|
222
|
-
role:
|
|
162
|
+
role: !isDismissable ? "region" : undefined,
|
|
223
163
|
className: classes.textContainer,
|
|
224
|
-
|
|
164
|
+
// aria-label is already in Dismisable wrapper
|
|
165
|
+
"aria-label": !isDismissable ? props["aria-label"] : undefined,
|
|
225
166
|
children: [
|
|
226
167
|
/*#__PURE__*/ (0, _jsxRuntime).jsx(_text.Text4, {
|
|
168
|
+
as: "h1",
|
|
227
169
|
regular: true,
|
|
170
|
+
wordBreak: true,
|
|
171
|
+
truncate: props.titleLinesMax,
|
|
228
172
|
children: title
|
|
229
173
|
}),
|
|
230
174
|
/*#__PURE__*/ (0, _jsxRuntime).jsx(_box.default, {
|
|
@@ -232,6 +176,9 @@ var Content = function Content(props) {
|
|
|
232
176
|
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_text.Text2, {
|
|
233
177
|
regular: true,
|
|
234
178
|
color: theme.colors.textSecondary,
|
|
179
|
+
wordBreak: true,
|
|
180
|
+
truncate: props.descriptionLinesMax,
|
|
181
|
+
as: "p",
|
|
235
182
|
children: description
|
|
236
183
|
})
|
|
237
184
|
}),
|
|
@@ -294,14 +241,14 @@ var HighlightedCard = function HighlightedCard(_param) {
|
|
|
294
241
|
"aria-label"
|
|
295
242
|
]);
|
|
296
243
|
var label = ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : props.title;
|
|
297
|
-
return
|
|
244
|
+
return /*#__PURE__*/ (0, _jsxRuntime).jsx(_maybeDismissable.default, {
|
|
298
245
|
onClose: props.onClose,
|
|
299
246
|
"aria-label": label,
|
|
300
247
|
width: props.width,
|
|
301
|
-
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(Content, _objectSpread({}, props
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
})
|
|
248
|
+
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(Content, _objectSpread({}, props, {
|
|
249
|
+
"aria-label": label
|
|
250
|
+
}))
|
|
251
|
+
});
|
|
305
252
|
};
|
|
306
253
|
var _default = HighlightedCard;
|
|
307
254
|
exports.default = _default;
|
|
@@ -2,19 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { ButtonLink } from "./button";
|
|
5
|
-
import type {
|
|
5
|
+
import type {
|
|
6
|
+
DataAttributes,
|
|
7
|
+
RendersNullableElement,
|
|
8
|
+
TrackingEvent,
|
|
9
|
+
} from "./utils/types";
|
|
6
10
|
import type { NullableButtonElement } from "./button";
|
|
7
11
|
declare type CommonProps = {
|
|
8
12
|
title: string,
|
|
13
|
+
titleLinesMax?: number,
|
|
9
14
|
description: string,
|
|
15
|
+
descriptionLinesMax?: number,
|
|
10
16
|
imageUrl?: string,
|
|
11
17
|
imageFit?: "fit" | "fill",
|
|
12
|
-
backgroundImageUrl?: string,
|
|
13
18
|
onClose?: () => void,
|
|
14
19
|
trackingEvent?: TrackingEvent | $ReadOnlyArray<TrackingEvent>,
|
|
15
20
|
isInverse?: boolean,
|
|
16
21
|
"aria-label"?: string,
|
|
17
22
|
width?: string | number,
|
|
23
|
+
dataAttributes?: DataAttributes,
|
|
18
24
|
};
|
|
19
25
|
declare type BasicProps = { ...$Exact<CommonProps> };
|
|
20
26
|
declare type ButtonProps = {
|
package/dist/index.d.ts
CHANGED
|
@@ -49,7 +49,7 @@ export { default as Inline } from './inline';
|
|
|
49
49
|
export { default as HighlightedCard } from './highlighted-card';
|
|
50
50
|
export { default as Stepper } from './stepper';
|
|
51
51
|
export { default as ProgressBar } from './progress-bar';
|
|
52
|
-
export { MediaCard, DataCard } from './card';
|
|
52
|
+
export { MediaCard, DataCard, SnapCard } from './card';
|
|
53
53
|
export { default as Divider } from './divider';
|
|
54
54
|
export { default as Menu } from './menu';
|
|
55
55
|
export { default as EmptyState } from './empty-state';
|
package/dist/index.js
CHANGED
|
@@ -488,6 +488,12 @@ Object.defineProperty(exports, "DataCard", {
|
|
|
488
488
|
return _card.DataCard;
|
|
489
489
|
}
|
|
490
490
|
});
|
|
491
|
+
Object.defineProperty(exports, "SnapCard", {
|
|
492
|
+
enumerable: true,
|
|
493
|
+
get: function() {
|
|
494
|
+
return _card.SnapCard;
|
|
495
|
+
}
|
|
496
|
+
});
|
|
491
497
|
Object.defineProperty(exports, "Divider", {
|
|
492
498
|
enumerable: true,
|
|
493
499
|
get: function() {
|
package/dist/index.js.flow
CHANGED
|
@@ -85,7 +85,7 @@ declare export { default as Inline } from "./inline";
|
|
|
85
85
|
declare export { default as HighlightedCard } from "./highlighted-card";
|
|
86
86
|
declare export { default as Stepper } from "./stepper";
|
|
87
87
|
declare export { default as ProgressBar } from "./progress-bar";
|
|
88
|
-
declare export { MediaCard, DataCard } from "./card";
|
|
88
|
+
declare export { MediaCard, DataCard, SnapCard } from "./card";
|
|
89
89
|
declare export { default as Divider } from "./divider";
|
|
90
90
|
declare export { default as Menu } from "./menu";
|
|
91
91
|
declare export { default as EmptyState } from "./empty-state";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare const useIsDismissable: () => boolean;
|
|
3
|
+
declare type MaybeDismissableProps = {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
onClose?: () => void;
|
|
6
|
+
width?: string | number;
|
|
7
|
+
'aria-label'?: string;
|
|
8
|
+
};
|
|
9
|
+
declare const MaybeDismissable: ({ children, width, onClose, "aria-label": ariaLabel, }: MaybeDismissableProps) => JSX.Element;
|
|
10
|
+
export default MaybeDismissable;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.default = exports.useIsDismissable = void 0;
|
|
6
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _jss = require("./jss");
|
|
9
|
+
var _iconCloseRegular = _interopRequireDefault(require("./generated/mistica-icons/icon-close-regular"));
|
|
10
|
+
var _hooks = require("./hooks");
|
|
11
|
+
var _iconButton = _interopRequireDefault(require("./icon-button"));
|
|
12
|
+
var _themeVariantContext = require("./theme-variant-context");
|
|
13
|
+
var _color = require("./utils/color");
|
|
14
|
+
function _interopRequireDefault(obj) {
|
|
15
|
+
return obj && obj.__esModule ? obj : {
|
|
16
|
+
default: obj
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function _interopRequireWildcard(obj) {
|
|
20
|
+
if (obj && obj.__esModule) {
|
|
21
|
+
return obj;
|
|
22
|
+
} else {
|
|
23
|
+
var newObj = {};
|
|
24
|
+
if (obj != null) {
|
|
25
|
+
for(var key in obj){
|
|
26
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
27
|
+
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
|
28
|
+
if (desc.get || desc.set) {
|
|
29
|
+
Object.defineProperty(newObj, key, desc);
|
|
30
|
+
} else {
|
|
31
|
+
newObj[key] = obj[key];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
newObj.default = obj;
|
|
37
|
+
return newObj;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
var DismissableContext = /*#__PURE__*/ React.createContext(false);
|
|
41
|
+
var useIsDismissable = function useIsDismissable() {
|
|
42
|
+
return React.useContext(DismissableContext);
|
|
43
|
+
};
|
|
44
|
+
exports.useIsDismissable = useIsDismissable;
|
|
45
|
+
var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
46
|
+
return {
|
|
47
|
+
dismissableContainer: {
|
|
48
|
+
position: "relative",
|
|
49
|
+
display: "flex",
|
|
50
|
+
flexShrink: 0,
|
|
51
|
+
width: function width(param) {
|
|
52
|
+
var width1 = param.width;
|
|
53
|
+
return width1 || "100%";
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
dismissableButton: {
|
|
57
|
+
position: "absolute",
|
|
58
|
+
top: 0,
|
|
59
|
+
right: 0,
|
|
60
|
+
width: 48,
|
|
61
|
+
height: 48,
|
|
62
|
+
display: "flex",
|
|
63
|
+
alignItems: "center",
|
|
64
|
+
justifyContent: "center"
|
|
65
|
+
},
|
|
66
|
+
dismissableCircleContainer: {
|
|
67
|
+
display: "flex",
|
|
68
|
+
alignItems: "center",
|
|
69
|
+
justifyContent: "center",
|
|
70
|
+
width: 24,
|
|
71
|
+
height: 24,
|
|
72
|
+
margin: "0 0 8px 8px",
|
|
73
|
+
borderRadius: "50%",
|
|
74
|
+
backgroundColor: (0, _color).applyAlpha(theme.colors.background, 0.7)
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
var MaybeDismissable = function MaybeDismissable(param) {
|
|
79
|
+
var children = param.children, width = param.width, onClose = param.onClose, ariaLabel = param["aria-label"];
|
|
80
|
+
var isInverse = (0, _themeVariantContext).useIsInverseVariant();
|
|
81
|
+
var classes = useStyles({
|
|
82
|
+
isInverse: isInverse,
|
|
83
|
+
width: width
|
|
84
|
+
});
|
|
85
|
+
var ref = (0, _hooks).useTheme(), colors = ref.colors, texts = ref.texts;
|
|
86
|
+
if (!onClose) {
|
|
87
|
+
return /*#__PURE__*/ (0, _jsxRuntime).jsx(_jsxRuntime.Fragment, {
|
|
88
|
+
children: children
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return /*#__PURE__*/ (0, _jsxRuntime).jsxs("section", {
|
|
92
|
+
className: classes.dismissableContainer,
|
|
93
|
+
"aria-label": ariaLabel,
|
|
94
|
+
children: [
|
|
95
|
+
/*#__PURE__*/ (0, _jsxRuntime).jsx(DismissableContext.Provider, {
|
|
96
|
+
value: true,
|
|
97
|
+
children: children
|
|
98
|
+
}),
|
|
99
|
+
/*#__PURE__*/ (0, _jsxRuntime).jsx(_iconButton.default, {
|
|
100
|
+
className: classes.dismissableButton,
|
|
101
|
+
onPress: onClose,
|
|
102
|
+
"aria-label": texts.closeButtonLabel,
|
|
103
|
+
style: {
|
|
104
|
+
display: "flex",
|
|
105
|
+
width: 48,
|
|
106
|
+
height: 48
|
|
107
|
+
},
|
|
108
|
+
children: /*#__PURE__*/ (0, _jsxRuntime).jsx("div", {
|
|
109
|
+
className: classes.dismissableCircleContainer,
|
|
110
|
+
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_iconCloseRegular.default, {
|
|
111
|
+
color: colors.neutralHigh
|
|
112
|
+
})
|
|
113
|
+
})
|
|
114
|
+
})
|
|
115
|
+
]
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
var _default = MaybeDismissable;
|
|
119
|
+
exports.default = _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// @flow
|
|
2
|
+
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
declare export var useIsDismissable: () => boolean;
|
|
5
|
+
declare type MaybeDismissableProps = {
|
|
6
|
+
children: React.Node,
|
|
7
|
+
onClose?: () => void,
|
|
8
|
+
width?: string | number,
|
|
9
|
+
"aria-label"?: string,
|
|
10
|
+
};
|
|
11
|
+
declare var MaybeDismissable: (x: MaybeDismissableProps) => React.Node;
|
|
12
|
+
declare export default typeof MaybeDismissable;
|
package/dist/package-version.js
CHANGED
package/dist/select.js
CHANGED
|
@@ -232,7 +232,7 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
232
232
|
},
|
|
233
233
|
menuItem: (_obj1 = {
|
|
234
234
|
color: theme.colors.textPrimary,
|
|
235
|
-
padding: "
|
|
235
|
+
padding: "8px 16px",
|
|
236
236
|
height: 48,
|
|
237
237
|
transition: "background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms"
|
|
238
238
|
}, _defineProperty(_obj1, theme.mq.supportsHover, {
|
package/dist/text.js
CHANGED
|
@@ -120,7 +120,7 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
120
120
|
"@supports not (overflow-wrap: anywhere)": {
|
|
121
121
|
wordBreak: function wordBreak(param) {
|
|
122
122
|
var wordBreak1 = param.wordBreak;
|
|
123
|
-
return wordBreak1 ? "break-all" : "
|
|
123
|
+
return wordBreak1 ? "break-all" : "inherit";
|
|
124
124
|
}
|
|
125
125
|
},
|
|
126
126
|
// Needed to reset the default browser margin that adds to p, h1, h2... elements.
|
|
@@ -148,7 +148,7 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
148
148
|
return truncate === 1 || truncate === true ? "break-all" : "normal";
|
|
149
149
|
}
|
|
150
150
|
},
|
|
151
|
-
display: "box",
|
|
151
|
+
display: "-webkit-box",
|
|
152
152
|
boxOrient: "vertical",
|
|
153
153
|
overflow: "hidden"
|
|
154
154
|
}
|
package/dist/theme.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { RegionCode } from './utils/region-code';
|
|
|
3
3
|
import type { Locale } from './utils/locale';
|
|
4
4
|
import type { Skin, Colors, SkinName } from './skins/types';
|
|
5
5
|
import type { TrackingEvent } from './utils/types';
|
|
6
|
+
import type { MediaQueries } from './utils/media-queries';
|
|
6
7
|
export declare type ThemeTexts = typeof TEXTS_ES;
|
|
7
8
|
declare const TEXTS_ES: {
|
|
8
9
|
expirationDatePlaceholder: string;
|
|
@@ -124,16 +125,7 @@ export declare type Theme = {
|
|
|
124
125
|
dimensions: {
|
|
125
126
|
headerMobileHeight: number;
|
|
126
127
|
};
|
|
127
|
-
mq:
|
|
128
|
-
mobile: string;
|
|
129
|
-
tablet: string;
|
|
130
|
-
desktop: string;
|
|
131
|
-
largeDesktop: string;
|
|
132
|
-
tabletOrBigger: string;
|
|
133
|
-
tabletOrSmaller: string;
|
|
134
|
-
desktopOrBigger: string;
|
|
135
|
-
supportsHover: string;
|
|
136
|
-
};
|
|
128
|
+
mq: MediaQueries;
|
|
137
129
|
colors: Colors;
|
|
138
130
|
Link: LinkComponent;
|
|
139
131
|
isDarkMode: boolean;
|
package/dist/theme.js.flow
CHANGED
|
@@ -5,6 +5,7 @@ import type { RegionCode } from "./utils/region-code";
|
|
|
5
5
|
import type { Locale } from "./utils/locale";
|
|
6
6
|
import type { Skin, Colors, SkinName } from "./skins/types";
|
|
7
7
|
import type { TrackingEvent } from "./utils/types";
|
|
8
|
+
import type { MediaQueries } from "./utils/media-queries";
|
|
8
9
|
export type ThemeTexts = typeof TEXTS_ES;
|
|
9
10
|
declare var TEXTS_ES: {
|
|
10
11
|
expirationDatePlaceholder: string,
|
|
@@ -128,16 +129,7 @@ export type Theme = {
|
|
|
128
129
|
dimensions: {
|
|
129
130
|
headerMobileHeight: number,
|
|
130
131
|
},
|
|
131
|
-
mq:
|
|
132
|
-
mobile: string,
|
|
133
|
-
tablet: string,
|
|
134
|
-
desktop: string,
|
|
135
|
-
largeDesktop: string,
|
|
136
|
-
tabletOrBigger: string,
|
|
137
|
-
tabletOrSmaller: string,
|
|
138
|
-
desktopOrBigger: string,
|
|
139
|
-
supportsHover: string,
|
|
140
|
-
},
|
|
132
|
+
mq: MediaQueries,
|
|
141
133
|
colors: Colors,
|
|
142
134
|
Link: LinkComponent,
|
|
143
135
|
isDarkMode: boolean,
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
export declare
|
|
2
|
-
tabletMinWidth: number;
|
|
3
|
-
desktopMinWidth: number;
|
|
4
|
-
largeDesktopMinWidth: number;
|
|
5
|
-
desktopOrTabletMinHeight: number;
|
|
6
|
-
}) => {
|
|
1
|
+
export declare type MediaQueries = Readonly<{
|
|
7
2
|
mobile: string;
|
|
8
3
|
tablet: string;
|
|
9
4
|
desktop: string;
|
|
@@ -12,4 +7,11 @@ export declare const createMediaQueries: ({ desktopOrTabletMinHeight, tabletMinW
|
|
|
12
7
|
tabletOrSmaller: string;
|
|
13
8
|
desktopOrBigger: string;
|
|
14
9
|
supportsHover: string;
|
|
15
|
-
|
|
10
|
+
touchableOnly: string;
|
|
11
|
+
}>;
|
|
12
|
+
export declare const createMediaQueries: ({ desktopOrTabletMinHeight, tabletMinWidth, desktopMinWidth, largeDesktopMinWidth, }: {
|
|
13
|
+
tabletMinWidth: number;
|
|
14
|
+
desktopMinWidth: number;
|
|
15
|
+
largeDesktopMinWidth: number;
|
|
16
|
+
desktopOrTabletMinHeight: number;
|
|
17
|
+
}) => MediaQueries;
|
|
@@ -17,7 +17,11 @@ var createMediaQueries = function createMediaQueries(param) {
|
|
|
17
17
|
// Also enabled for (pointer: none) for acceptance tests, where (pointer: fine) doesn't match.
|
|
18
18
|
// WARNING: you may be tempted to use @media (hover: hover) instead, but that doesn't work as expected in some android browsers.
|
|
19
19
|
// See: https://hover-pointer-media-query.glitch.me/ and https://github.com/mui-org/material-ui/issues/15736
|
|
20
|
-
supportsHover: "@media (pointer: fine), (pointer: none)"
|
|
20
|
+
supportsHover: "@media (pointer: fine), (pointer: none)",
|
|
21
|
+
/**
|
|
22
|
+
* Scopes the styles to touchable devices.
|
|
23
|
+
* See: https://stackoverflow.com/questions/12469875/how-to-code-css-media-queries-targeting-all-mobile-devices-and-tablets/42835826#42835826
|
|
24
|
+
*/ touchableOnly: "@media (pointer: coarse), @media (hover: none)"
|
|
21
25
|
};
|
|
22
26
|
};
|
|
23
27
|
exports.createMediaQueries = createMediaQueries;
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
// @flow
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
tabletMinWidth: number,
|
|
5
|
-
desktopMinWidth: number,
|
|
6
|
-
largeDesktopMinWidth: number,
|
|
7
|
-
desktopOrTabletMinHeight: number,
|
|
8
|
-
}) => {
|
|
3
|
+
export type MediaQueries = $ReadOnly<{
|
|
9
4
|
mobile: string,
|
|
10
5
|
tablet: string,
|
|
11
6
|
desktop: string,
|
|
@@ -14,4 +9,11 @@ declare export var createMediaQueries: (x: {
|
|
|
14
9
|
tabletOrSmaller: string,
|
|
15
10
|
desktopOrBigger: string,
|
|
16
11
|
supportsHover: string,
|
|
17
|
-
|
|
12
|
+
touchableOnly: string,
|
|
13
|
+
}>;
|
|
14
|
+
declare export var createMediaQueries: (x: {
|
|
15
|
+
tabletMinWidth: number,
|
|
16
|
+
desktopMinWidth: number,
|
|
17
|
+
largeDesktopMinWidth: number,
|
|
18
|
+
desktopOrTabletMinHeight: number,
|
|
19
|
+
}) => MediaQueries;
|
package/dist/utils/platform.d.ts
CHANGED
|
@@ -3,8 +3,15 @@ export declare const isInsideNovumNativeApp: (platformOverrides?: Theme['platfor
|
|
|
3
3
|
export declare const isRunningAcceptanceTest: (platformOverrides?: Theme['platformOverrides']) => boolean;
|
|
4
4
|
export declare const isAndroid: (platformOverrides: Theme['platformOverrides']) => boolean;
|
|
5
5
|
export declare const isIos: (platformOverrides: Theme['platformOverrides']) => boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Returns true if the browser is a safari browser:
|
|
8
|
+
* webview, mobile, desktop or a browser like Chrome for iOS which is just a safari with a skin
|
|
9
|
+
*
|
|
10
|
+
* Note that this function checks the navigator vendor. It doesn't use platformOverrides or userAgent.
|
|
11
|
+
*/
|
|
12
|
+
export declare const isSafari: () => boolean;
|
|
6
13
|
export declare const isFirefox: (platformOverrides?: {
|
|
7
|
-
platform?: "
|
|
14
|
+
platform?: "desktop" | "ios" | "android" | undefined;
|
|
8
15
|
insideNovumNativeApp?: boolean | undefined;
|
|
9
16
|
userAgent?: string | undefined;
|
|
10
17
|
} | undefined) => boolean;
|
package/dist/utils/platform.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports.getPlatform = exports.getIosVersion = exports.isOldChrome = exports.isChrome = exports.isFirefox = exports.isIos = exports.isAndroid = exports.isRunningAcceptanceTest = exports.isInsideNovumNativeApp = void 0;
|
|
5
|
+
exports.getPlatform = exports.getIosVersion = exports.isOldChrome = exports.isChrome = exports.isFirefox = exports.isSafari = exports.isIos = exports.isAndroid = exports.isRunningAcceptanceTest = exports.isInsideNovumNativeApp = void 0;
|
|
6
6
|
var _webviewBridge = require("@tef-novum/webview-bridge");
|
|
7
7
|
function _arrayLikeToArray(arr, len) {
|
|
8
8
|
if (len == null || len > arr.length) len = arr.length;
|
|
@@ -91,6 +91,10 @@ var isIos = function isIos(platformOverrides) {
|
|
|
91
91
|
return false;
|
|
92
92
|
};
|
|
93
93
|
exports.isIos = isIos;
|
|
94
|
+
var isSafari = function isSafari() {
|
|
95
|
+
return navigator.vendor.includes("Apple");
|
|
96
|
+
};
|
|
97
|
+
exports.isSafari = isSafari;
|
|
94
98
|
var isFirefox = function isFirefox(platformOverrides) {
|
|
95
99
|
return !!getUserAgent(platformOverrides).match(/Firefox\/([0-9]+)\./);
|
|
96
100
|
};
|
|
@@ -13,9 +13,16 @@ declare export var isAndroid: (
|
|
|
13
13
|
declare export var isIos: (
|
|
14
14
|
platformOverrides: $PropertyType<Theme, "platformOverrides">
|
|
15
15
|
) => boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Returns true if the browser is a safari browser:
|
|
18
|
+
* webview, mobile, desktop or a browser like Chrome for iOS which is just a safari with a skin
|
|
19
|
+
*
|
|
20
|
+
* Note that this function checks the navigator vendor. It doesn't use platformOverrides or userAgent.
|
|
21
|
+
*/
|
|
22
|
+
declare export var isSafari: () => boolean;
|
|
16
23
|
declare export var isFirefox: (
|
|
17
24
|
platformOverrides?: {
|
|
18
|
-
platform?: "
|
|
25
|
+
platform?: "desktop" | "ios" | "android" | void,
|
|
19
26
|
insideNovumNativeApp?: boolean | void,
|
|
20
27
|
userAgent?: string | void,
|
|
21
28
|
} | void
|
package/dist/video.js
CHANGED
|
@@ -10,6 +10,7 @@ var _jss = require("./jss");
|
|
|
10
10
|
var _aspectRatioSupport = require("./utils/aspect-ratio-support");
|
|
11
11
|
var _common = require("./utils/common");
|
|
12
12
|
var _dom = require("./utils/dom");
|
|
13
|
+
var _platform = require("./utils/platform");
|
|
13
14
|
function _interopRequireWildcard(obj) {
|
|
14
15
|
if (obj && obj.__esModule) {
|
|
15
16
|
return obj;
|
|
@@ -97,6 +98,7 @@ exports.RATIO = RATIO;
|
|
|
97
98
|
var useStyles = (0, _jss).createUseStyles(function() {
|
|
98
99
|
return {
|
|
99
100
|
video: {
|
|
101
|
+
background: "transparent",
|
|
100
102
|
display: "block",
|
|
101
103
|
objectFit: "cover",
|
|
102
104
|
maxWidth: "100%",
|
|
@@ -198,7 +200,11 @@ var Video = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
|
|
|
198
200
|
} else {
|
|
199
201
|
width = props.width || "100%";
|
|
200
202
|
}
|
|
201
|
-
|
|
203
|
+
/**
|
|
204
|
+
* In safari, when using a video with poster, the transition from pause to play does a flicker,
|
|
205
|
+
* To avoid this, in Safari browsers, instead of using the poster attribute, we use a
|
|
206
|
+
* wrapper with the poster as background image
|
|
207
|
+
*/ var needsWrapper = (0, _platform).isSafari() || withCssAspectRatio && !supportsAspectRatio;
|
|
202
208
|
var video1 = /*#__PURE__*/ (0, _jsxRuntime).jsx("video", _objectSpread({
|
|
203
209
|
ref: (0, _common).combineRefs(ref, videoRef),
|
|
204
210
|
playsInline: true,
|
|
@@ -207,14 +213,14 @@ var Video = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
|
|
|
207
213
|
autoPlay: autoPlay,
|
|
208
214
|
muted: muted,
|
|
209
215
|
loop: loop
|
|
210
|
-
},
|
|
216
|
+
}, needsWrapper ? {} : {
|
|
211
217
|
width: width,
|
|
212
218
|
height: height
|
|
213
|
-
}
|
|
219
|
+
}, {
|
|
214
220
|
className: classes.video,
|
|
215
221
|
preload: preload,
|
|
216
222
|
// This transparent pixel fallback avoids showing the ugly "play" image in android webviews
|
|
217
|
-
poster: poster || TRANSPARENT_PIXEL
|
|
223
|
+
poster: needsWrapper ? TRANSPARENT_PIXEL : poster || TRANSPARENT_PIXEL
|
|
218
224
|
}, (0, _dom).getPrefixedDataAttributes(dataAttributes), {
|
|
219
225
|
children: sources.map(function(param, index) {
|
|
220
226
|
var src = param.src, type = param.type;
|
|
@@ -228,7 +234,10 @@ var Video = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
|
|
|
228
234
|
return /*#__PURE__*/ (0, _jsxRuntime).jsx("div", {
|
|
229
235
|
style: {
|
|
230
236
|
width: width,
|
|
231
|
-
height: height
|
|
237
|
+
height: height,
|
|
238
|
+
backgroundImage: poster ? 'url("'.concat(poster, '")') : undefined,
|
|
239
|
+
backgroundSize: "cover",
|
|
240
|
+
backgroundPosition: "50% 50%"
|
|
232
241
|
},
|
|
233
242
|
className: classes.wrapper,
|
|
234
243
|
children: video1
|