@telefonica/mistica 12.1.0 → 12.3.0
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/README.md +2 -2
- package/dist/button-group.d.ts +2 -1
- package/dist/button-group.js +35 -4
- package/dist/button-group.js.flow +2 -1
- package/dist/button-layout.d.ts +2 -1
- package/dist/button-layout.js +22 -4
- package/dist/button-layout.js.flow +2 -1
- package/dist/button.js +110 -32
- package/dist/carousel.js +36 -29
- package/dist/container-type-context.d.ts +5 -0
- package/dist/container-type-context.js +49 -0
- package/dist/container-type-context.js.flow +7 -0
- package/dist/dialog.d.ts +21 -4
- package/dist/dialog.js +51 -26
- package/dist/dialog.js.flow +17 -4
- package/dist/generated/mistica-icons/icon-gift-light.js +1 -1
- package/dist/generated/mistica-icons/icon-hand-snap-filled.js +1 -1
- package/dist/generated/mistica-icons/icon-intranet-light.js +1 -1
- package/dist/generated/mistica-icons/icon-support-agent-premium-regular.js +1 -1
- package/dist/generated/mistica-icons/icon-support-agent-regular.js +1 -1
- package/dist/generated/mistica-icons/icon-tag-discount-euro-regular.js +1 -1
- package/dist/generated/mistica-icons/icon-tips-and-tricks-regular.js +2 -2
- package/dist/generated/mistica-icons/icon-world-device-filled.d.ts +4 -0
- package/dist/generated/mistica-icons/icon-world-device-filled.js +109 -0
- package/dist/generated/mistica-icons/icon-world-device-filled.js.flow +6 -0
- package/dist/generated/mistica-icons/icon-world-device-light.d.ts +4 -0
- package/dist/generated/mistica-icons/icon-world-device-light.js +115 -0
- package/dist/generated/mistica-icons/icon-world-device-light.js.flow +6 -0
- package/dist/generated/mistica-icons/icon-world-device-regular.d.ts +4 -0
- package/dist/generated/mistica-icons/icon-world-device-regular.js +109 -0
- package/dist/generated/mistica-icons/icon-world-device-regular.js.flow +6 -0
- package/dist/grid-layout.d.ts +16 -0
- package/dist/grid-layout.js +173 -68
- package/dist/grid-layout.js.flow +33 -1
- package/dist/header.d.ts +3 -1
- package/dist/header.js +4 -2
- package/dist/header.js.flow +7 -1
- package/dist/hooks.d.ts +1 -1
- package/dist/hooks.js.flow +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +58 -0
- package/dist/index.js.flow +11 -1
- package/dist/navigation-bar.js +121 -96
- package/dist/navigation-breadcrumbs.d.ts +7 -0
- package/dist/navigation-breadcrumbs.js +108 -29
- package/dist/navigation-breadcrumbs.js.flow +3 -0
- package/dist/overscroll-color-context.d.ts +1 -1
- package/dist/overscroll-color-context.js +12 -14
- package/dist/overscroll-color-context.js.flow +1 -1
- package/dist/package-version.js +1 -1
- package/dist/responsive-layout.js +13 -8
- package/dist/screen-size-context-provider.js +17 -5
- package/dist/screen-size-context.d.ts +1 -0
- package/dist/screen-size-context.js +2 -1
- package/dist/screen-size-context.js.flow +1 -0
- package/dist/skeleton-base.d.ts +9 -0
- package/dist/skeleton-base.js +75 -0
- package/dist/skeleton-base.js.flow +11 -0
- package/dist/skeletons.d.ts +21 -0
- package/dist/skeletons.js +232 -0
- package/dist/skeletons.js.flow +29 -0
- package/dist/skins/blau.js +1 -1
- package/dist/skins/movistar.js +1 -1
- package/dist/skins/o2-classic.js +1 -1
- package/dist/skins/o2.js +1 -1
- package/dist/skins/telefonica.js +2 -2
- package/dist/skins/utils.d.ts +2 -0
- package/dist/skins/utils.js +34 -1
- package/dist/skins/utils.js.flow +2 -0
- package/dist/skins/vivo.js +1 -1
- package/dist/snackbar.js +5 -4
- package/dist/tabs.d.ts +2 -1
- package/dist/tabs.js +22 -4
- package/dist/tabs.js.flow +2 -1
- package/dist/utils/types.d.ts +1 -0
- package/dist/utils/types.js.flow +6 -0
- package/dist-es/button-group.js +34 -4
- package/dist-es/button-layout.js +21 -4
- package/dist-es/button.js +110 -32
- package/dist-es/carousel.js +36 -29
- package/dist-es/container-type-context.js +21 -0
- package/dist-es/dialog.js +51 -25
- package/dist-es/generated/mistica-icons/icon-gift-light.js +1 -1
- package/dist-es/generated/mistica-icons/icon-hand-snap-filled.js +1 -1
- package/dist-es/generated/mistica-icons/icon-intranet-light.js +1 -1
- package/dist-es/generated/mistica-icons/icon-support-agent-premium-regular.js +1 -1
- package/dist-es/generated/mistica-icons/icon-support-agent-regular.js +1 -1
- package/dist-es/generated/mistica-icons/icon-tag-discount-euro-regular.js +1 -1
- package/dist-es/generated/mistica-icons/icon-tips-and-tricks-regular.js +2 -2
- package/dist-es/generated/mistica-icons/icon-world-device-filled.js +85 -0
- package/dist-es/generated/mistica-icons/icon-world-device-light.js +91 -0
- package/dist-es/generated/mistica-icons/icon-world-device-regular.js +85 -0
- package/dist-es/grid-layout.js +167 -68
- package/dist-es/header.js +4 -2
- package/dist-es/index.js +5 -1
- package/dist-es/navigation-bar.js +121 -96
- package/dist-es/navigation-breadcrumbs.js +106 -30
- package/dist-es/overscroll-color-context.js +12 -14
- package/dist-es/package-version.js +1 -1
- package/dist-es/responsive-layout.js +13 -8
- package/dist-es/screen-size-context-provider.js +17 -5
- package/dist-es/screen-size-context.js +2 -1
- package/dist-es/skeleton-base.js +43 -0
- package/dist-es/skeletons.js +196 -0
- package/dist-es/skins/blau.js +1 -1
- package/dist-es/skins/movistar.js +1 -1
- package/dist-es/skins/o2-classic.js +1 -1
- package/dist-es/skins/o2.js +1 -1
- package/dist-es/skins/telefonica.js +2 -2
- package/dist-es/skins/utils.js +12 -0
- package/dist-es/skins/vivo.js +1 -1
- package/dist-es/snackbar.js +6 -5
- package/dist-es/tabs.js +21 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+

|
|
2
|
+

|
|
3
3
|
|
|
4
4
|
React components library for Telefonica Design System ([Mistica](https://github.com/Telefonica/mistica))
|
|
5
5
|
|
package/dist/button-group.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ButtonLink, ButtonPrimary, ButtonSecondary } from './button';
|
|
3
|
-
import type { RendersNullableElement } from './utils/types';
|
|
3
|
+
import type { DataAttributes, RendersNullableElement } from './utils/types';
|
|
4
4
|
export interface ButtonGroupProps {
|
|
5
5
|
primaryButton?: RendersNullableElement<typeof ButtonPrimary>;
|
|
6
6
|
secondaryButton?: RendersNullableElement<typeof ButtonSecondary>;
|
|
7
7
|
link?: RendersNullableElement<typeof ButtonLink>;
|
|
8
|
+
dataAttributes?: DataAttributes;
|
|
8
9
|
}
|
|
9
10
|
declare const ButtonGroup: React.FC<ButtonGroupProps>;
|
|
10
11
|
export default ButtonGroup;
|
package/dist/button-group.js
CHANGED
|
@@ -7,6 +7,7 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
7
7
|
var React = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _jss = require("./jss");
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
+
var _dom = require("./utils/dom");
|
|
10
11
|
function _interopRequireDefault(obj) {
|
|
11
12
|
return obj && obj.__esModule ? obj : {
|
|
12
13
|
default: obj
|
|
@@ -33,6 +34,35 @@ function _interopRequireWildcard(obj) {
|
|
|
33
34
|
return newObj;
|
|
34
35
|
}
|
|
35
36
|
}
|
|
37
|
+
function _defineProperty(obj, key, value) {
|
|
38
|
+
if (key in obj) {
|
|
39
|
+
Object.defineProperty(obj, key, {
|
|
40
|
+
value: value,
|
|
41
|
+
enumerable: true,
|
|
42
|
+
configurable: true,
|
|
43
|
+
writable: true
|
|
44
|
+
});
|
|
45
|
+
} else {
|
|
46
|
+
obj[key] = value;
|
|
47
|
+
}
|
|
48
|
+
return obj;
|
|
49
|
+
}
|
|
50
|
+
function _objectSpread(target) {
|
|
51
|
+
var _arguments = arguments, _loop = function(i) {
|
|
52
|
+
var source = _arguments[i] != null ? _arguments[i] : {};
|
|
53
|
+
var ownKeys = Object.keys(source);
|
|
54
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
55
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
56
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
ownKeys.forEach(function(key) {
|
|
60
|
+
_defineProperty(target, key, source[key]);
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
for(var i = 1; i < arguments.length; i++)_loop(i);
|
|
64
|
+
return target;
|
|
65
|
+
}
|
|
36
66
|
var buttonLayoutSpacing = 16;
|
|
37
67
|
var buttonLinkPadding = 12;
|
|
38
68
|
var useStyles = (0, _jss).createUseStyles(function() {
|
|
@@ -65,14 +95,15 @@ var useStyles = (0, _jss).createUseStyles(function() {
|
|
|
65
95
|
};
|
|
66
96
|
});
|
|
67
97
|
var ButtonGroup = function ButtonGroup(param) {
|
|
68
|
-
var primaryButton = param.primaryButton, secondaryButton = param.secondaryButton, link = param.link;
|
|
98
|
+
var primaryButton = param.primaryButton, secondaryButton = param.secondaryButton, link = param.link, dataAttributes = param.dataAttributes;
|
|
69
99
|
var anyAction = !!primaryButton || !!secondaryButton || !!link;
|
|
70
100
|
var bothButtons = !!primaryButton && !!secondaryButton;
|
|
71
101
|
var classes = useStyles({
|
|
72
102
|
bothButtons: bothButtons
|
|
73
103
|
});
|
|
74
|
-
return anyAction ? /*#__PURE__*/ (0, _jsxRuntime).jsxs("div", {
|
|
75
|
-
className: (0, _classnames).default(classes.inline, classes.container)
|
|
104
|
+
return anyAction ? /*#__PURE__*/ (0, _jsxRuntime).jsxs("div", _objectSpread({
|
|
105
|
+
className: (0, _classnames).default(classes.inline, classes.container)
|
|
106
|
+
}, (0, _dom).getPrefixedDataAttributes(dataAttributes), {
|
|
76
107
|
children: [
|
|
77
108
|
(primaryButton || secondaryButton) && /*#__PURE__*/ (0, _jsxRuntime).jsxs("div", {
|
|
78
109
|
className: (0, _classnames).default(classes.inline, classes.buttons),
|
|
@@ -90,7 +121,7 @@ var ButtonGroup = function ButtonGroup(param) {
|
|
|
90
121
|
children: link
|
|
91
122
|
})
|
|
92
123
|
]
|
|
93
|
-
}) : null;
|
|
124
|
+
})) : null;
|
|
94
125
|
};
|
|
95
126
|
var _default = ButtonGroup;
|
|
96
127
|
exports.default = _default;
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { ButtonLink, ButtonPrimary, ButtonSecondary } from "./button";
|
|
5
|
-
import type { RendersNullableElement } from "./utils/types";
|
|
5
|
+
import type { DataAttributes, RendersNullableElement } from "./utils/types";
|
|
6
6
|
export type ButtonGroupProps = {
|
|
7
7
|
primaryButton?: RendersNullableElement<typeof ButtonPrimary>,
|
|
8
8
|
secondaryButton?: RendersNullableElement<typeof ButtonSecondary>,
|
|
9
9
|
link?: RendersNullableElement<typeof ButtonLink>,
|
|
10
|
+
dataAttributes?: DataAttributes,
|
|
10
11
|
};
|
|
11
12
|
declare var ButtonGroup: React.ComponentType<ButtonGroupProps>;
|
|
12
13
|
declare export default typeof ButtonGroup;
|
package/dist/button-layout.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ButtonLink } from './button';
|
|
3
|
-
import type { RendersNullableElement } from './utils/types';
|
|
3
|
+
import type { DataAttributes, RendersNullableElement } from './utils/types';
|
|
4
4
|
import type { NullableButtonElement } from './button';
|
|
5
5
|
declare type MaybeButtonElement = NullableButtonElement | void | false;
|
|
6
6
|
declare type ButtonLayoutProps = {
|
|
@@ -8,6 +8,7 @@ declare type ButtonLayoutProps = {
|
|
|
8
8
|
align?: 'center' | 'left' | 'right' | 'full-width';
|
|
9
9
|
link?: RendersNullableElement<typeof ButtonLink>;
|
|
10
10
|
withMargins?: boolean;
|
|
11
|
+
dataAttributes?: DataAttributes;
|
|
11
12
|
};
|
|
12
13
|
declare const ButtonLayout: React.FC<ButtonLayoutProps>;
|
|
13
14
|
export default ButtonLayout;
|
package/dist/button-layout.js
CHANGED
|
@@ -10,6 +10,7 @@ var _hooks = require("./hooks");
|
|
|
10
10
|
var _button = require("./button");
|
|
11
11
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
12
|
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
13
|
+
var _dom = require("./utils/dom");
|
|
13
14
|
function _interopRequireDefault(obj) {
|
|
14
15
|
return obj && obj.__esModule ? obj : {
|
|
15
16
|
default: obj
|
|
@@ -93,6 +94,22 @@ function _nonIterableRest() {
|
|
|
93
94
|
function _nonIterableSpread() {
|
|
94
95
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
95
96
|
}
|
|
97
|
+
function _objectSpread(target) {
|
|
98
|
+
var _arguments = arguments, _loop = function(i) {
|
|
99
|
+
var source = _arguments[i] != null ? _arguments[i] : {};
|
|
100
|
+
var ownKeys = Object.keys(source);
|
|
101
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
102
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
103
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
104
|
+
}));
|
|
105
|
+
}
|
|
106
|
+
ownKeys.forEach(function(key) {
|
|
107
|
+
_defineProperty(target, key, source[key]);
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
for(var i = 1; i < arguments.length; i++)_loop(i);
|
|
111
|
+
return target;
|
|
112
|
+
}
|
|
96
113
|
function _slicedToArray(arr, i) {
|
|
97
114
|
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
98
115
|
}
|
|
@@ -212,7 +229,7 @@ var buttonsRange = [
|
|
|
212
229
|
_button.ButtonPrimary
|
|
213
230
|
];
|
|
214
231
|
var ButtonLayout = function ButtonLayout(param1) {
|
|
215
|
-
var children = param1.children, _align = param1.align, align = _align === void 0 ? "full-width" : _align, link = param1.link, _withMargins = param1.withMargins, withMargins = _withMargins === void 0 ? false : _withMargins;
|
|
232
|
+
var children = param1.children, _align = param1.align, align = _align === void 0 ? "full-width" : _align, link = param1.link, _withMargins = param1.withMargins, withMargins = _withMargins === void 0 ? false : _withMargins, dataAttributes = param1.dataAttributes;
|
|
216
233
|
var isTabletOrSmaller = (0, _hooks).useScreenSize().isTabletOrSmaller;
|
|
217
234
|
var childrenCount = React.Children.count(children);
|
|
218
235
|
var ref = _slicedToArray(React.useState({
|
|
@@ -304,9 +321,10 @@ var ButtonLayout = function ButtonLayout(param1) {
|
|
|
304
321
|
return range1 - range2;
|
|
305
322
|
});
|
|
306
323
|
var needsLinkAlignment = !isTabletOrSmaller && align === "left";
|
|
307
|
-
var content = /*#__PURE__*/ (0, _jsxRuntime).jsxs("div", {
|
|
324
|
+
var content = /*#__PURE__*/ (0, _jsxRuntime).jsxs("div", _objectSpread({
|
|
308
325
|
ref: wrapperElRef,
|
|
309
|
-
className: classes.container
|
|
326
|
+
className: classes.container
|
|
327
|
+
}, (0, _dom).getPrefixedDataAttributes(dataAttributes), {
|
|
310
328
|
children: [
|
|
311
329
|
link ? /*#__PURE__*/ (0, _jsxRuntime).jsx("div", {
|
|
312
330
|
className: (0, _classnames).default(classes.link, _defineProperty({}, classes.linkAlignment, needsLinkAlignment)),
|
|
@@ -314,7 +332,7 @@ var ButtonLayout = function ButtonLayout(param1) {
|
|
|
314
332
|
}) : null,
|
|
315
333
|
sortedButtons
|
|
316
334
|
]
|
|
317
|
-
});
|
|
335
|
+
}));
|
|
318
336
|
return withMargins ? /*#__PURE__*/ (0, _jsxRuntime).jsx("div", {
|
|
319
337
|
className: classes.margins,
|
|
320
338
|
children: content
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { ButtonLink } from "./button";
|
|
5
|
-
import type { RendersNullableElement } from "./utils/types";
|
|
5
|
+
import type { DataAttributes, RendersNullableElement } from "./utils/types";
|
|
6
6
|
import type { NullableButtonElement } from "./button";
|
|
7
7
|
declare type MaybeButtonElement = NullableButtonElement | void | false;
|
|
8
8
|
declare type ButtonLayoutProps = {
|
|
@@ -10,6 +10,7 @@ declare type ButtonLayoutProps = {
|
|
|
10
10
|
align?: "center" | "left" | "right" | "full-width",
|
|
11
11
|
link?: RendersNullableElement<typeof ButtonLink>,
|
|
12
12
|
withMargins?: boolean,
|
|
13
|
+
dataAttributes?: DataAttributes,
|
|
13
14
|
};
|
|
14
15
|
declare var ButtonLayout: React.ComponentType<ButtonLayoutProps>;
|
|
15
16
|
declare export default typeof ButtonLayout;
|
package/dist/button.js
CHANGED
|
@@ -17,6 +17,7 @@ var _box = _interopRequireDefault(require("./box"));
|
|
|
17
17
|
var _common = require("./utils/common");
|
|
18
18
|
var _analytics = require("./utils/analytics");
|
|
19
19
|
var _hooks = require("./hooks");
|
|
20
|
+
var _utils = require("./skins/utils");
|
|
20
21
|
function _interopRequireDefault(obj) {
|
|
21
22
|
return obj && obj.__esModule ? obj : {
|
|
22
23
|
default: obj
|
|
@@ -122,11 +123,15 @@ var BUTTON_MIN_WIDTH = 136;
|
|
|
122
123
|
exports.BUTTON_MIN_WIDTH = BUTTON_MIN_WIDTH;
|
|
123
124
|
var transitionTiming = "0.3s cubic-bezier(0.77, 0, 0.175, 1)";
|
|
124
125
|
var BORDER_PX = 1.5;
|
|
125
|
-
var
|
|
126
|
+
var ICON_MARGIN_PX = 8;
|
|
126
127
|
var X_PADDING_PX = 16 - BORDER_PX;
|
|
127
128
|
var Y_PADDING_PX = 12 - BORDER_PX;
|
|
128
129
|
var X_SMALL_PADDING_PX = 12 - BORDER_PX;
|
|
129
130
|
var Y_SMALL_PADDING_PX = 6 - BORDER_PX;
|
|
131
|
+
var ICON_SIZE = 24;
|
|
132
|
+
var SMALL_ICON_SIZE = 20;
|
|
133
|
+
var SPINNER_SIZE = 20;
|
|
134
|
+
var SMALL_SPINNER_SIZE = 16;
|
|
130
135
|
var commonClasses = function commonClasses() {
|
|
131
136
|
return {
|
|
132
137
|
button: {
|
|
@@ -134,7 +139,6 @@ var commonClasses = function commonClasses() {
|
|
|
134
139
|
position: "relative",
|
|
135
140
|
width: "auto",
|
|
136
141
|
minWidth: BUTTON_MIN_WIDTH,
|
|
137
|
-
textAlign: "center",
|
|
138
142
|
border: "".concat(BORDER_PX, "px solid transparent"),
|
|
139
143
|
borderRadius: 4,
|
|
140
144
|
overflow: "hidden",
|
|
@@ -169,6 +173,9 @@ var commonClasses = function commonClasses() {
|
|
|
169
173
|
}
|
|
170
174
|
},
|
|
171
175
|
textContent: {
|
|
176
|
+
display: "flex",
|
|
177
|
+
alignItems: "center",
|
|
178
|
+
justifyContent: "center",
|
|
172
179
|
padding: "".concat(Y_PADDING_PX, "px ").concat(X_PADDING_PX, "px"),
|
|
173
180
|
opacity: 1,
|
|
174
181
|
transition: "opacity ".concat(transitionTiming, ", transform ").concat(transitionTiming),
|
|
@@ -176,9 +183,7 @@ var commonClasses = function commonClasses() {
|
|
|
176
183
|
padding: "".concat(Y_SMALL_PADDING_PX, "px ").concat(X_SMALL_PADDING_PX, "px")
|
|
177
184
|
},
|
|
178
185
|
"& svg": {
|
|
179
|
-
|
|
180
|
-
verticalAlign: "bottom",
|
|
181
|
-
height: "100%"
|
|
186
|
+
display: "block"
|
|
182
187
|
}
|
|
183
188
|
},
|
|
184
189
|
isLoading: {
|
|
@@ -299,6 +304,48 @@ var useDangerButtonStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
299
304
|
inverse: dangerButtonStyles(theme)
|
|
300
305
|
});
|
|
301
306
|
});
|
|
307
|
+
var renderButtonContent = function renderButtonContent(param) {
|
|
308
|
+
var content = param.content, defaultIconSize = param.defaultIconSize, renderText = param.renderText;
|
|
309
|
+
var childrenArr = (0, _utils).flattenChildren(content);
|
|
310
|
+
var length = childrenArr.length;
|
|
311
|
+
var resultChildrenArr = [];
|
|
312
|
+
var accText = [];
|
|
313
|
+
var flushAccText = function flushAccText() {
|
|
314
|
+
resultChildrenArr.push(/*#__PURE__*/ (0, _jsxRuntime).jsx(React.Fragment, {
|
|
315
|
+
children: renderText(accText)
|
|
316
|
+
}, resultChildrenArr.length));
|
|
317
|
+
accText = [];
|
|
318
|
+
};
|
|
319
|
+
childrenArr.forEach(function(element, idx) {
|
|
320
|
+
var isFirstChild = idx === 0;
|
|
321
|
+
var isLastChild = idx === length - 1;
|
|
322
|
+
var isIconElement = /*#__PURE__*/ React.isValidElement(element);
|
|
323
|
+
if (isIconElement) {
|
|
324
|
+
if (accText.length) {
|
|
325
|
+
flushAccText();
|
|
326
|
+
}
|
|
327
|
+
var _size;
|
|
328
|
+
var sizeInPx = (_size = element.props.size) !== null && _size !== void 0 ? _size : defaultIconSize;
|
|
329
|
+
resultChildrenArr.push(/*#__PURE__*/ (0, _jsxRuntime).jsx("div", {
|
|
330
|
+
style: {
|
|
331
|
+
display: "flex",
|
|
332
|
+
alignItems: "center",
|
|
333
|
+
marginLeft: isFirstChild ? 0 : ICON_MARGIN_PX,
|
|
334
|
+
marginRight: isLastChild ? 0 : ICON_MARGIN_PX
|
|
335
|
+
},
|
|
336
|
+
children: /*#__PURE__*/ React.cloneElement(element, {
|
|
337
|
+
size: (0, _css).pxToRem(sizeInPx)
|
|
338
|
+
})
|
|
339
|
+
}, resultChildrenArr.length));
|
|
340
|
+
} else {
|
|
341
|
+
accText.push(element);
|
|
342
|
+
if (isLastChild) {
|
|
343
|
+
flushAccText();
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
});
|
|
347
|
+
return resultChildrenArr;
|
|
348
|
+
};
|
|
302
349
|
var Button = function Button(props) {
|
|
303
350
|
var eventFormat = (0, _analytics).useTrackingConfig().eventFormat;
|
|
304
351
|
var ref = (0, _formContext).useForm(), formStatus = ref.formStatus, formId = ref.formId;
|
|
@@ -321,24 +368,6 @@ var Button = function Button(props) {
|
|
|
321
368
|
shouldRenderSpinner,
|
|
322
369
|
formStatus
|
|
323
370
|
]);
|
|
324
|
-
var spinnerSizeRem = (0, _css).pxToRem(props.small ? 16 : 24);
|
|
325
|
-
var renderText = function renderText(text) {
|
|
326
|
-
return props.small ? /*#__PURE__*/ (0, _jsxRuntime).jsx(_text.Text, {
|
|
327
|
-
size: 14,
|
|
328
|
-
lineHeight: 20,
|
|
329
|
-
weight: "medium",
|
|
330
|
-
truncate: 1,
|
|
331
|
-
color: "inherit",
|
|
332
|
-
as: "div",
|
|
333
|
-
children: text
|
|
334
|
-
}) : /*#__PURE__*/ (0, _jsxRuntime).jsx(_text.Text3, {
|
|
335
|
-
medium: true,
|
|
336
|
-
truncate: 1,
|
|
337
|
-
color: "inherit",
|
|
338
|
-
as: "div",
|
|
339
|
-
children: text
|
|
340
|
-
});
|
|
341
|
-
};
|
|
342
371
|
var createDefaultTrackingEvent = function createDefaultTrackingEvent() {
|
|
343
372
|
if (eventFormat === "google-analytics-4") {
|
|
344
373
|
return {
|
|
@@ -354,6 +383,25 @@ var Button = function Button(props) {
|
|
|
354
383
|
};
|
|
355
384
|
}
|
|
356
385
|
};
|
|
386
|
+
var defaultIconSize = props.small ? SMALL_ICON_SIZE : ICON_SIZE;
|
|
387
|
+
var spinnerSizeRem = (0, _css).pxToRem(props.small ? SMALL_SPINNER_SIZE : SPINNER_SIZE);
|
|
388
|
+
var renderText = function renderText(element) {
|
|
389
|
+
return props.small ? /*#__PURE__*/ (0, _jsxRuntime).jsx(_text.Text, {
|
|
390
|
+
size: 14,
|
|
391
|
+
lineHeight: 20,
|
|
392
|
+
weight: "medium",
|
|
393
|
+
truncate: 1,
|
|
394
|
+
color: "inherit",
|
|
395
|
+
as: "div",
|
|
396
|
+
children: element
|
|
397
|
+
}) : /*#__PURE__*/ (0, _jsxRuntime).jsx(_text.Text3, {
|
|
398
|
+
medium: true,
|
|
399
|
+
truncate: 1,
|
|
400
|
+
color: "inherit",
|
|
401
|
+
as: "div",
|
|
402
|
+
children: element
|
|
403
|
+
});
|
|
404
|
+
};
|
|
357
405
|
var _trackingEvent;
|
|
358
406
|
var _obj;
|
|
359
407
|
var commonProps = {
|
|
@@ -371,16 +419,24 @@ var Button = function Button(props) {
|
|
|
371
419
|
/*#__PURE__*/ (0, _jsxRuntime).jsx("div", {
|
|
372
420
|
"aria-hidden": showSpinner ? true : undefined,
|
|
373
421
|
className: classes.textContent,
|
|
374
|
-
children:
|
|
422
|
+
children: renderButtonContent({
|
|
423
|
+
content: props.children,
|
|
424
|
+
defaultIconSize: defaultIconSize,
|
|
425
|
+
renderText: renderText
|
|
426
|
+
})
|
|
375
427
|
}),
|
|
376
428
|
/*#__PURE__*/ (0, _jsxRuntime).jsx("div", {
|
|
377
429
|
className: classes.loadingFiller,
|
|
378
430
|
"aria-hidden": true,
|
|
379
431
|
style: {
|
|
380
432
|
paddingLeft: spinnerSizeRem,
|
|
381
|
-
paddingRight:
|
|
433
|
+
paddingRight: ICON_MARGIN_PX + 2 * (props.small ? X_SMALL_PADDING_PX : X_PADDING_PX)
|
|
382
434
|
},
|
|
383
|
-
children:
|
|
435
|
+
children: renderButtonContent({
|
|
436
|
+
content: loadingText,
|
|
437
|
+
defaultIconSize: defaultIconSize,
|
|
438
|
+
renderText: renderText
|
|
439
|
+
})
|
|
384
440
|
}),
|
|
385
441
|
/*#__PURE__*/ (0, _jsxRuntime).jsxs("div", {
|
|
386
442
|
"aria-hidden": showSpinner ? undefined : true,
|
|
@@ -405,7 +461,11 @@ var Button = function Button(props) {
|
|
|
405
461
|
}),
|
|
406
462
|
loadingText ? /*#__PURE__*/ (0, _jsxRuntime).jsx(_box.default, {
|
|
407
463
|
paddingLeft: 8,
|
|
408
|
-
children:
|
|
464
|
+
children: renderButtonContent({
|
|
465
|
+
content: loadingText,
|
|
466
|
+
defaultIconSize: defaultIconSize,
|
|
467
|
+
renderText: renderText
|
|
468
|
+
})
|
|
409
469
|
}) : null
|
|
410
470
|
]
|
|
411
471
|
})
|
|
@@ -482,6 +542,14 @@ var useButtonLinkStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
482
542
|
}),
|
|
483
543
|
"&[disabled]": disabledStyle
|
|
484
544
|
},
|
|
545
|
+
textContent: {
|
|
546
|
+
display: "flex",
|
|
547
|
+
alignItems: "center",
|
|
548
|
+
justifyContent: "center",
|
|
549
|
+
"& svg": {
|
|
550
|
+
display: "block"
|
|
551
|
+
}
|
|
552
|
+
},
|
|
485
553
|
inverse: {
|
|
486
554
|
color: theme.colors.textLinkInverse,
|
|
487
555
|
"&:enabled:active": {
|
|
@@ -518,17 +586,27 @@ var ButtonLink = /*#__PURE__*/ React.forwardRef(function(props, ref) {
|
|
|
518
586
|
};
|
|
519
587
|
}
|
|
520
588
|
};
|
|
589
|
+
var renderText = function renderText(element) {
|
|
590
|
+
return /*#__PURE__*/ (0, _jsxRuntime).jsx(_text.Text2, {
|
|
591
|
+
medium: true,
|
|
592
|
+
truncate: 1,
|
|
593
|
+
color: "inherit",
|
|
594
|
+
children: element
|
|
595
|
+
});
|
|
596
|
+
};
|
|
521
597
|
var _trackingEvent;
|
|
522
598
|
var _obj;
|
|
523
599
|
var commonProps = {
|
|
524
600
|
className: (0, _classnames).default(classes.link, (_obj = {}, _defineProperty(_obj, classes.inverse, isInverse), _defineProperty(_obj, classes.aligned, props.aligned), _obj)),
|
|
525
601
|
trackingEvent: (_trackingEvent = props.trackingEvent) !== null && _trackingEvent !== void 0 ? _trackingEvent : props.trackEvent ? createDefaultTrackingEvent() : undefined,
|
|
526
602
|
dataAttributes: props.dataAttributes,
|
|
527
|
-
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
603
|
+
children: /*#__PURE__*/ (0, _jsxRuntime).jsx("div", {
|
|
604
|
+
className: classes.textContent,
|
|
605
|
+
children: renderButtonContent({
|
|
606
|
+
content: props.children,
|
|
607
|
+
defaultIconSize: SMALL_ICON_SIZE,
|
|
608
|
+
renderText: renderText
|
|
609
|
+
})
|
|
532
610
|
}),
|
|
533
611
|
disabled: props.disabled || formStatus === "sending"
|
|
534
612
|
};
|
package/dist/carousel.js
CHANGED
|
@@ -20,6 +20,7 @@ var _image = require("./image");
|
|
|
20
20
|
var _dom = require("./utils/dom");
|
|
21
21
|
var _platform = require("./utils/platform");
|
|
22
22
|
var _documentVisibility = require("./utils/document-visibility");
|
|
23
|
+
var _containerTypeContext = require("./container-type-context");
|
|
23
24
|
function _interopRequireDefault(obj) {
|
|
24
25
|
return obj && obj.__esModule ? obj : {
|
|
25
26
|
default: obj
|
|
@@ -218,8 +219,19 @@ var arrowButtonStyle = function arrowButtonStyle(theme) {
|
|
|
218
219
|
display: "none"
|
|
219
220
|
});
|
|
220
221
|
};
|
|
222
|
+
var arrowButtonSeparation = function arrowButtonSeparation(containerType, isLargeDesktop, sideMargin) {
|
|
223
|
+
switch(containerType){
|
|
224
|
+
case "mobile-column":
|
|
225
|
+
case "tablet-column":
|
|
226
|
+
return -sideMargin;
|
|
227
|
+
case "desktop-wide-column":
|
|
228
|
+
return isLargeDesktop ? -(24 + arrowButtonSize) : -arrowButtonSize / 2;
|
|
229
|
+
default:
|
|
230
|
+
return -arrowButtonSize / 2;
|
|
231
|
+
}
|
|
232
|
+
};
|
|
221
233
|
var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
222
|
-
var _obj
|
|
234
|
+
var _obj;
|
|
223
235
|
return {
|
|
224
236
|
carouselContainer: {
|
|
225
237
|
// This value is a workaround to solve an issue when the page is rendered in a hidden webview
|
|
@@ -231,26 +243,18 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
231
243
|
position: "absolute",
|
|
232
244
|
zIndex: 1,
|
|
233
245
|
top: "calc(50% - ".concat(arrowButtonSize / 2, "px)"),
|
|
234
|
-
"&.prev":
|
|
235
|
-
left: -arrowButtonSize / 2
|
|
236
|
-
}, _defineProperty(_obj, theme.mq.tabletOrSmaller, {
|
|
246
|
+
"&.prev": {
|
|
237
247
|
left: function left(param) {
|
|
238
|
-
var sideMargin = param.sideMargin;
|
|
239
|
-
return
|
|
248
|
+
var containerType = param.containerType, isLargeDesktop = param.isLargeDesktop, sideMargin = param.sideMargin;
|
|
249
|
+
return arrowButtonSeparation(containerType, isLargeDesktop, sideMargin);
|
|
240
250
|
}
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
}), _obj),
|
|
244
|
-
"&.next": (_obj1 = {
|
|
245
|
-
right: -arrowButtonSize / 2
|
|
246
|
-
}, _defineProperty(_obj1, theme.mq.tabletOrSmaller, {
|
|
251
|
+
},
|
|
252
|
+
"&.next": {
|
|
247
253
|
right: function right(param) {
|
|
248
|
-
var sideMargin = param.sideMargin;
|
|
249
|
-
return
|
|
254
|
+
var containerType = param.containerType, isLargeDesktop = param.isLargeDesktop, sideMargin = param.sideMargin;
|
|
255
|
+
return arrowButtonSeparation(containerType, isLargeDesktop, sideMargin);
|
|
250
256
|
}
|
|
251
|
-
}
|
|
252
|
-
right: -(24 + arrowButtonSize)
|
|
253
|
-
}), _obj1)
|
|
257
|
+
}
|
|
254
258
|
}),
|
|
255
259
|
hasScroll: {},
|
|
256
260
|
centered: {},
|
|
@@ -276,7 +280,7 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
276
280
|
width: "25%"
|
|
277
281
|
}
|
|
278
282
|
})),
|
|
279
|
-
item: (
|
|
283
|
+
item: (_obj = {
|
|
280
284
|
scrollSnapStop: (0, _platform).isAndroid(theme.platformOverrides) ? "always" : "normal",
|
|
281
285
|
scrollSnapAlign: "start",
|
|
282
286
|
flexShrink: 0,
|
|
@@ -295,7 +299,7 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
295
299
|
},
|
|
296
300
|
scrollMargin: 0
|
|
297
301
|
}
|
|
298
|
-
}, _defineProperty(
|
|
302
|
+
}, _defineProperty(_obj, theme.mq.tabletOrSmaller, {
|
|
299
303
|
width: function width(param) {
|
|
300
304
|
var itemsPerPageConfig = param.itemsPerPageConfig, gap = param.gap;
|
|
301
305
|
return "calc(".concat(100 / itemsPerPageConfig.mobile, "% + ").concat(gap / itemsPerPageConfig.mobile, "px)");
|
|
@@ -346,14 +350,14 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
346
350
|
return 0;
|
|
347
351
|
}
|
|
348
352
|
}
|
|
349
|
-
}), _defineProperty(
|
|
353
|
+
}), _defineProperty(_obj, "&:not(:empty) ~ &:not(:empty)", {
|
|
350
354
|
paddingLeft: function paddingLeft(param) {
|
|
351
355
|
var gap = param.gap;
|
|
352
356
|
return gap;
|
|
353
357
|
}
|
|
354
|
-
}), _defineProperty(
|
|
358
|
+
}), _defineProperty(_obj, "&:empty", {
|
|
355
359
|
display: "none"
|
|
356
|
-
}),
|
|
360
|
+
}), _obj),
|
|
357
361
|
bullets: {
|
|
358
362
|
display: "flex",
|
|
359
363
|
justifyContent: "center"
|
|
@@ -417,9 +421,10 @@ var DEFAULT_AUTOPLAY_TIME = 5000;
|
|
|
417
421
|
var BaseCarousel = function BaseCarousel(param) {
|
|
418
422
|
var items = param.items, itemStyle = param.itemStyle, itemClassName = param.itemClassName, withBullets = param.withBullets, renderBullets = param.renderBullets, itemsPerPage = param.itemsPerPage, itemsToScroll = param.itemsToScroll, _mobilePageOffset = param.mobilePageOffset, mobilePageOffset = _mobilePageOffset === void 0 ? 16 : _mobilePageOffset, gapProp = param.gap, free = param.free, centered = param.centered, autoplay = param.autoplay, onPageChange = param.onPageChange, dataAttributes = param.dataAttributes;
|
|
419
423
|
var texts = (0, _hooks).useTheme().texts;
|
|
424
|
+
var containerType = (0, _containerTypeContext).useContainerType();
|
|
420
425
|
var itemsPerPageConfig = normalizeItemsPerPage(itemsPerPage);
|
|
421
426
|
var mobilePageOffsetConfig = normalizeMobilePageOffset(mobilePageOffset);
|
|
422
|
-
var
|
|
427
|
+
var ref4 = (0, _hooks).useScreenSize(), isDesktopOrBigger = ref4.isDesktopOrBigger, isLargeDesktop = ref4.isLargeDesktop;
|
|
423
428
|
var gap = gapProp !== null && gapProp !== void 0 ? gapProp : isDesktopOrBigger ? 16 : 8;
|
|
424
429
|
var sideMargin = (0, _responsiveLayout).useResonsiveLayoutMargin();
|
|
425
430
|
var classes = useStyles({
|
|
@@ -427,16 +432,18 @@ var BaseCarousel = function BaseCarousel(param) {
|
|
|
427
432
|
mobilePageOffsetConfig: mobilePageOffsetConfig,
|
|
428
433
|
free: free,
|
|
429
434
|
gap: gap,
|
|
430
|
-
sideMargin: sideMargin
|
|
435
|
+
sideMargin: sideMargin,
|
|
436
|
+
containerType: containerType,
|
|
437
|
+
isLargeDesktop: isLargeDesktop
|
|
431
438
|
});
|
|
432
439
|
var carouselRef = React.useRef(null);
|
|
433
440
|
var itemsPerPageFloor = isDesktopOrBigger ? Math.floor(itemsPerPageConfig.desktop) : Math.floor(itemsPerPageConfig.mobile);
|
|
434
441
|
var pagesCount = Math.ceil(items.length / itemsPerPageFloor);
|
|
435
|
-
var
|
|
442
|
+
var ref1 = _slicedToArray(React.useState({
|
|
436
443
|
scrollLeft: 0,
|
|
437
444
|
scrollRight: 0
|
|
438
|
-
}), 2),
|
|
439
|
-
var
|
|
445
|
+
}), 2), ref2 = ref1[0], scrollLeft1 = ref2.scrollLeft, scrollRight1 = ref2.scrollRight, setScroll = ref1[1];
|
|
446
|
+
var ref3 = _slicedToArray(React.useState([]), 2), itemScrollPositions = ref3[0], setItemScrollPositions = ref3[1];
|
|
440
447
|
var pagesScrollPositions = calcPagesScrollPositions(itemScrollPositions, pagesCount);
|
|
441
448
|
var scrollPositions = itemsToScroll ? calcPagesScrollPositions(itemScrollPositions, Math.ceil(items.length / itemsToScroll)) : pagesScrollPositions;
|
|
442
449
|
var showNextArrow = scrollRight1 !== 0;
|
|
@@ -735,10 +742,10 @@ var Slideshow = function Slideshow(param) {
|
|
|
735
742
|
sideMargin: sideMargin
|
|
736
743
|
});
|
|
737
744
|
var carouselRef = React.useRef(null);
|
|
738
|
-
var
|
|
745
|
+
var ref6 = _slicedToArray(React.useState({
|
|
739
746
|
scrollLeft: 0,
|
|
740
747
|
scrollRight: 0
|
|
741
|
-
}), 2),
|
|
748
|
+
}), 2), ref5 = ref6[0], scrollLeft2 = ref5.scrollLeft, scrollRight2 = ref5.scrollRight, setScroll = ref6[1];
|
|
742
749
|
var goPrev = React.useCallback(function() {
|
|
743
750
|
var carouselEl = carouselRef.current;
|
|
744
751
|
if (carouselEl) {
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.default = exports.useContainerType = void 0;
|
|
6
|
+
var React = _interopRequireWildcard(require("react"));
|
|
7
|
+
var _hooks = require("./hooks");
|
|
8
|
+
function _interopRequireWildcard(obj) {
|
|
9
|
+
if (obj && obj.__esModule) {
|
|
10
|
+
return obj;
|
|
11
|
+
} else {
|
|
12
|
+
var newObj = {};
|
|
13
|
+
if (obj != null) {
|
|
14
|
+
for(var key in obj){
|
|
15
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
16
|
+
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
|
17
|
+
if (desc.get || desc.set) {
|
|
18
|
+
Object.defineProperty(newObj, key, desc);
|
|
19
|
+
} else {
|
|
20
|
+
newObj[key] = obj[key];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
newObj.default = obj;
|
|
26
|
+
return newObj;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
var ContainerTypeContext = /*#__PURE__*/ React.createContext(null);
|
|
30
|
+
var useContainerType = function useContainerType() {
|
|
31
|
+
var containerType = React.useContext(ContainerTypeContext);
|
|
32
|
+
var ref = (0, _hooks).useScreenSize(), isTablet = ref.isTablet, isDesktopOrBigger = ref.isDesktopOrBigger, isLargeDesktop = ref.isLargeDesktop;
|
|
33
|
+
if (containerType) {
|
|
34
|
+
return containerType;
|
|
35
|
+
}
|
|
36
|
+
if (isLargeDesktop) {
|
|
37
|
+
return "desktop-wide-column";
|
|
38
|
+
}
|
|
39
|
+
if (isDesktopOrBigger) {
|
|
40
|
+
return "desktop-medium-column";
|
|
41
|
+
}
|
|
42
|
+
if (isTablet) {
|
|
43
|
+
return "tablet-column";
|
|
44
|
+
}
|
|
45
|
+
return "mobile-column";
|
|
46
|
+
};
|
|
47
|
+
exports.useContainerType = useContainerType;
|
|
48
|
+
var _default = ContainerTypeContext;
|
|
49
|
+
exports.default = _default;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// @flow
|
|
2
|
+
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import type { ContainerType } from "./utils/types";
|
|
5
|
+
declare var ContainerTypeContext: React.Context<ContainerType | null>;
|
|
6
|
+
declare export var useContainerType: () => ContainerType;
|
|
7
|
+
declare export default typeof ContainerTypeContext;
|