@telefonica/mistica 11.7.0 → 11.10.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/dist/avatar.d.ts +14 -0
- package/dist/avatar.js +239 -0
- package/dist/avatar.js.flow +16 -0
- package/dist/badge.d.ts +2 -0
- package/dist/badge.js +24 -7
- package/dist/badge.js.flow +2 -0
- package/dist/button.js +35 -10
- package/dist/image.d.ts +2 -0
- package/dist/image.js +68 -5
- package/dist/image.js.flow +2 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.js +29 -2
- package/dist/index.js.flow +5 -2
- package/dist/package-version.js +1 -1
- package/dist/password-field.js +9 -8
- package/dist/placeholder.d.ts +0 -4
- package/dist/placeholder.js +1 -13
- package/dist/placeholder.js.flow +0 -4
- package/dist/section-title.d.ts +3 -0
- package/dist/section-title.js +3 -1
- package/dist/section-title.js.flow +3 -0
- package/dist/text-link.js +17 -5
- package/dist/text.js +8 -2
- package/dist/theme-context-provider.js +13 -8
- package/dist/theme.d.ts +3 -0
- package/dist/theme.js.flow +3 -0
- package/dist/title.d.ts +13 -0
- package/dist/title.js +87 -0
- package/dist/title.js.flow +18 -0
- package/dist/utils/__tests__/analytics-test.js +74 -0
- package/dist/utils/analytics.d.ts +14 -0
- package/dist/utils/analytics.js +50 -1
- package/dist/utils/analytics.js.flow +14 -0
- package/dist-es/avatar.js +208 -0
- package/dist-es/badge.js +24 -7
- package/dist-es/button.js +36 -11
- package/dist-es/image.js +69 -5
- package/dist-es/index.js +4 -1
- package/dist-es/package-version.js +1 -1
- package/dist-es/password-field.js +9 -8
- package/dist-es/placeholder.js +0 -11
- package/dist-es/section-title.js +3 -1
- package/dist-es/text-link.js +18 -6
- package/dist-es/text.js +8 -2
- package/dist-es/theme-context-provider.js +13 -8
- package/dist-es/title.js +54 -0
- package/dist-es/utils/__tests__/analytics-test.js +47 -0
- package/dist-es/utils/analytics.js +27 -0
- package/package.json +3 -3
- package/dist/icons/icon-visibility-off.d.ts +0 -7
- package/dist/icons/icon-visibility-off.js +0 -49
- package/dist/icons/icon-visibility-off.js.flow +0 -9
- package/dist/icons/icon-visibility.d.ts +0 -7
- package/dist/icons/icon-visibility.js +0 -49
- package/dist/icons/icon-visibility.js.flow +0 -9
- package/dist-es/icons/icon-visibility-off.js +0 -22
- package/dist-es/icons/icon-visibility.js +0 -22
package/dist/index.js
CHANGED
|
@@ -380,10 +380,16 @@ Object.defineProperty(exports, "Placeholder", {
|
|
|
380
380
|
return _placeholder.Placeholder;
|
|
381
381
|
}
|
|
382
382
|
});
|
|
383
|
-
Object.defineProperty(exports, "
|
|
383
|
+
Object.defineProperty(exports, "Title1", {
|
|
384
384
|
enumerable: true,
|
|
385
385
|
get: function() {
|
|
386
|
-
return
|
|
386
|
+
return _title.Title1;
|
|
387
|
+
}
|
|
388
|
+
});
|
|
389
|
+
Object.defineProperty(exports, "Title2", {
|
|
390
|
+
enumerable: true,
|
|
391
|
+
get: function() {
|
|
392
|
+
return _title.Title2;
|
|
387
393
|
}
|
|
388
394
|
});
|
|
389
395
|
Object.defineProperty(exports, "RowList", {
|
|
@@ -512,6 +518,12 @@ Object.defineProperty(exports, "Callout", {
|
|
|
512
518
|
return _callout.default;
|
|
513
519
|
}
|
|
514
520
|
});
|
|
521
|
+
Object.defineProperty(exports, "Avatar", {
|
|
522
|
+
enumerable: true,
|
|
523
|
+
get: function() {
|
|
524
|
+
return _avatar.default;
|
|
525
|
+
}
|
|
526
|
+
});
|
|
515
527
|
Object.defineProperty(exports, "useModalState", {
|
|
516
528
|
enumerable: true,
|
|
517
529
|
get: function() {
|
|
@@ -806,6 +818,18 @@ Object.defineProperty(exports, "useIsInViewport", {
|
|
|
806
818
|
return _hooks.useIsInViewport;
|
|
807
819
|
}
|
|
808
820
|
});
|
|
821
|
+
Object.defineProperty(exports, "TrackingConfig", {
|
|
822
|
+
enumerable: true,
|
|
823
|
+
get: function() {
|
|
824
|
+
return _analytics.TrackingConfig;
|
|
825
|
+
}
|
|
826
|
+
});
|
|
827
|
+
Object.defineProperty(exports, "useTrackingConfig", {
|
|
828
|
+
enumerable: true,
|
|
829
|
+
get: function() {
|
|
830
|
+
return _analytics.useTrackingConfig;
|
|
831
|
+
}
|
|
832
|
+
});
|
|
809
833
|
Object.defineProperty(exports, "useDocumentVisibility", {
|
|
810
834
|
enumerable: true,
|
|
811
835
|
get: function() {
|
|
@@ -10769,6 +10793,7 @@ var _text = _interopRequireWildcard(require("./text"));
|
|
|
10769
10793
|
var _tag = _interopRequireDefault(require("./tag"));
|
|
10770
10794
|
var _sectionTitle = _interopRequireDefault(require("./section-title"));
|
|
10771
10795
|
var _placeholder = require("./placeholder");
|
|
10796
|
+
var _title = require("./title");
|
|
10772
10797
|
var _list = require("./list");
|
|
10773
10798
|
var _switchComponent = _interopRequireDefault(require("./switch-component"));
|
|
10774
10799
|
var _checkbox = _interopRequireDefault(require("./checkbox"));
|
|
@@ -10785,6 +10810,7 @@ var _menu = _interopRequireDefault(require("./menu"));
|
|
|
10785
10810
|
var _emptyState = _interopRequireDefault(require("./empty-state"));
|
|
10786
10811
|
var _emptyStateCard = _interopRequireDefault(require("./empty-state-card"));
|
|
10787
10812
|
var _callout = _interopRequireDefault(require("./callout"));
|
|
10813
|
+
var _avatar = _interopRequireDefault(require("./avatar"));
|
|
10788
10814
|
var _modalContextProvider = require("./modal-context-provider");
|
|
10789
10815
|
var _navigationBar = require("./navigation-bar");
|
|
10790
10816
|
var _image = _interopRequireDefault(require("./image"));
|
|
@@ -10818,6 +10844,7 @@ var _iconSuccess = _interopRequireDefault(require("./icons/icon-success"));
|
|
|
10818
10844
|
var _iconSuccessVivo = _interopRequireDefault(require("./icons/icon-success-vivo"));
|
|
10819
10845
|
var _circle = _interopRequireDefault(require("./circle"));
|
|
10820
10846
|
var _hooks = require("./hooks");
|
|
10847
|
+
var _analytics = require("./utils/analytics");
|
|
10821
10848
|
var _documentVisibility = require("./utils/document-visibility");
|
|
10822
10849
|
var _themeVariantContext = require("./theme-variant-context");
|
|
10823
10850
|
var _constants = require("./skins/constants");
|
package/dist/index.js.flow
CHANGED
|
@@ -73,7 +73,8 @@ declare export {
|
|
|
73
73
|
declare export { default as Tag } from "./tag";
|
|
74
74
|
export type { TagType } from "./tag";
|
|
75
75
|
declare export { default as SectionTitle } from "./section-title";
|
|
76
|
-
declare export { Placeholder
|
|
76
|
+
declare export { Placeholder } from "./placeholder";
|
|
77
|
+
declare export { Title1, Title2 } from "./title";
|
|
77
78
|
declare export { RowList, Row, BoxedRowList, BoxedRow } from "./list";
|
|
78
79
|
declare export { default as Switch } from "./switch-component";
|
|
79
80
|
declare export { default as Checkbox } from "./checkbox";
|
|
@@ -90,6 +91,7 @@ declare export { default as Menu } from "./menu";
|
|
|
90
91
|
declare export { default as EmptyState } from "./empty-state";
|
|
91
92
|
declare export { default as EmptyStateCard } from "./empty-state-card";
|
|
92
93
|
declare export { default as Callout } from "./callout";
|
|
94
|
+
declare export { default as Avatar } from "./avatar";
|
|
93
95
|
declare export { useModalState } from "./modal-context-provider";
|
|
94
96
|
declare export {
|
|
95
97
|
NavigationBar,
|
|
@@ -144,7 +146,8 @@ declare export {
|
|
|
144
146
|
useWindowWidth,
|
|
145
147
|
useIsInViewport,
|
|
146
148
|
} from "./hooks";
|
|
147
|
-
export type { ThemeConfig, ColorScheme } from "./theme";
|
|
149
|
+
export type { ThemeConfig, ColorScheme, EventFormat } from "./theme";
|
|
150
|
+
declare export { TrackingConfig, useTrackingConfig } from "./utils/analytics";
|
|
148
151
|
declare export { useDocumentVisibility } from "./utils/document-visibility";
|
|
149
152
|
declare export {
|
|
150
153
|
ThemeVariant,
|
package/dist/package-version.js
CHANGED
package/dist/password-field.js
CHANGED
|
@@ -9,8 +9,8 @@ var _formContext = require("./form-context");
|
|
|
9
9
|
var _textFieldBase = require("./text-field-base");
|
|
10
10
|
var _hooks = require("./hooks");
|
|
11
11
|
var _iconButton = _interopRequireDefault(require("./icon-button"));
|
|
12
|
-
var
|
|
13
|
-
var
|
|
12
|
+
var _iconAccesibilityRegular = _interopRequireDefault(require("./generated/mistica-icons/icon-accesibility-regular"));
|
|
13
|
+
var _iconEyeRegular = _interopRequireDefault(require("./generated/mistica-icons/icon-eye-regular"));
|
|
14
14
|
var _jss = require("./jss");
|
|
15
15
|
function _interopRequireDefault(obj) {
|
|
16
16
|
return obj && obj.__esModule ? obj : {
|
|
@@ -144,7 +144,7 @@ var usePasswordAdornmentStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
144
144
|
return {
|
|
145
145
|
shadow: _defineProperty({}, theme.mq.supportsHover, {
|
|
146
146
|
"&:hover": {
|
|
147
|
-
backgroundColor:
|
|
147
|
+
backgroundColor: theme.colors.backgroundAlternative
|
|
148
148
|
}
|
|
149
149
|
})
|
|
150
150
|
};
|
|
@@ -155,10 +155,11 @@ var PasswordAdornment = function PasswordAdornment(param) {
|
|
|
155
155
|
var classes = usePasswordAdornmentStyles();
|
|
156
156
|
var style = {
|
|
157
157
|
backgroundSize: "200%",
|
|
158
|
-
padding:
|
|
159
|
-
margin: -
|
|
158
|
+
padding: 8,
|
|
159
|
+
margin: -8,
|
|
160
160
|
borderRadius: "50%",
|
|
161
|
-
backgroundColor: undefined
|
|
161
|
+
backgroundColor: undefined,
|
|
162
|
+
transition: "background-color 0.2s ease-in-out"
|
|
162
163
|
};
|
|
163
164
|
return /*#__PURE__*/ (0, _jsxRuntime).jsx(_iconButton.default, {
|
|
164
165
|
"aria-label": texts.togglePasswordVisibilityLabel,
|
|
@@ -166,10 +167,10 @@ var PasswordAdornment = function PasswordAdornment(param) {
|
|
|
166
167
|
setVisibility(!isVisible);
|
|
167
168
|
focus();
|
|
168
169
|
},
|
|
169
|
-
size:
|
|
170
|
+
size: 40,
|
|
170
171
|
className: classes.shadow,
|
|
171
172
|
style: style,
|
|
172
|
-
children: isVisible ? /*#__PURE__*/ (0, _jsxRuntime).jsx(
|
|
173
|
+
children: isVisible ? /*#__PURE__*/ (0, _jsxRuntime).jsx(_iconAccesibilityRegular.default, {}) : /*#__PURE__*/ (0, _jsxRuntime).jsx(_iconEyeRegular.default, {})
|
|
173
174
|
});
|
|
174
175
|
};
|
|
175
176
|
var PasswordField = function PasswordField(_param) {
|
package/dist/placeholder.d.ts
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
declare type AvatarPlaceholderProps = {
|
|
3
|
-
size?: string | number;
|
|
4
|
-
};
|
|
5
|
-
export declare const AvatarPlaceholder: React.FC<AvatarPlaceholderProps>;
|
|
6
2
|
declare type PlaceholderProps = {
|
|
7
3
|
width?: string | number;
|
|
8
4
|
height?: string | number;
|
package/dist/placeholder.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports.Placeholder =
|
|
5
|
+
exports.Placeholder = void 0;
|
|
6
6
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
7
7
|
var React = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _color = require("./utils/color");
|
|
@@ -28,18 +28,6 @@ function _interopRequireWildcard(obj) {
|
|
|
28
28
|
return newObj;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
var AvatarPlaceholder = function AvatarPlaceholder(param) {
|
|
32
|
-
var _size = param.size, size = _size === void 0 ? "100%" : _size;
|
|
33
|
-
return /*#__PURE__*/ (0, _jsxRuntime).jsx("div", {
|
|
34
|
-
style: {
|
|
35
|
-
width: size,
|
|
36
|
-
height: size,
|
|
37
|
-
borderRadius: "50%",
|
|
38
|
-
background: "gray"
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
exports.AvatarPlaceholder = AvatarPlaceholder;
|
|
43
31
|
var Placeholder = function Placeholder(param) {
|
|
44
32
|
var _width = param.width, width = _width === void 0 ? "auto" : _width, _height = param.height, height = _height === void 0 ? 120 : _height;
|
|
45
33
|
var colors = (0, _hooks).useTheme().colors;
|
package/dist/placeholder.js.flow
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
// @flow
|
|
2
2
|
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
declare type AvatarPlaceholderProps = {
|
|
5
|
-
size?: string | number,
|
|
6
|
-
};
|
|
7
|
-
declare export var AvatarPlaceholder: React.ComponentType<AvatarPlaceholderProps>;
|
|
8
4
|
declare type PlaceholderProps = {
|
|
9
5
|
width?: string | number,
|
|
10
6
|
height?: string | number,
|
package/dist/section-title.d.ts
CHANGED
package/dist/section-title.js
CHANGED
|
@@ -61,7 +61,9 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
61
61
|
})
|
|
62
62
|
};
|
|
63
63
|
});
|
|
64
|
-
|
|
64
|
+
/**
|
|
65
|
+
* @deprecated use Title1 instead
|
|
66
|
+
*/ var SectionTitle = function SectionTitle(param) {
|
|
65
67
|
var children = param.children, id = param.id, right = param.right, _as = param.as, as = _as === void 0 ? "h3" : _as;
|
|
66
68
|
var classes = useStyles();
|
|
67
69
|
var theme = (0, _hooks).useTheme();
|
package/dist/text-link.js
CHANGED
|
@@ -128,14 +128,26 @@ var TextLink = function TextLink(_param) {
|
|
|
128
128
|
var classes = useStyles();
|
|
129
129
|
var isInverse = (0, _themeVariantContext).useIsInverseVariant();
|
|
130
130
|
var formStatus = (0, _formContext).useForm().formStatus;
|
|
131
|
+
var eventFormat = (0, _analytics).useTrackingConfig().eventFormat;
|
|
132
|
+
var createDefaultTrackingEvent = function createDefaultTrackingEvent() {
|
|
133
|
+
if (eventFormat === "google-analytics-4") {
|
|
134
|
+
return {
|
|
135
|
+
name: _analytics.eventNames.userInteraction,
|
|
136
|
+
component_type: "link",
|
|
137
|
+
component_copy: (0, _common).getTextFromChildren(children)
|
|
138
|
+
};
|
|
139
|
+
} else {
|
|
140
|
+
return {
|
|
141
|
+
category: _analytics.eventCategories.userInteraction,
|
|
142
|
+
action: _analytics.eventActions.linkTapped,
|
|
143
|
+
label: (0, _common).getTextFromChildren(children)
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
};
|
|
131
147
|
var _trackingEvent;
|
|
132
148
|
var _obj;
|
|
133
149
|
return /*#__PURE__*/ (0, _jsxRuntime).jsx(_touchable.default, _objectSpread({}, props, {
|
|
134
|
-
trackingEvent: (_trackingEvent = props.trackingEvent) !== null && _trackingEvent !== void 0 ? _trackingEvent : props.trackEvent ?
|
|
135
|
-
category: _analytics.eventCategories.userInteraction,
|
|
136
|
-
action: _analytics.eventActions.linkTapped,
|
|
137
|
-
label: (0, _common).getTextFromChildren(children)
|
|
138
|
-
} : undefined,
|
|
150
|
+
trackingEvent: (_trackingEvent = props.trackingEvent) !== null && _trackingEvent !== void 0 ? _trackingEvent : props.trackEvent ? createDefaultTrackingEvent() : undefined,
|
|
139
151
|
disabled: disabled || formStatus === "sending",
|
|
140
152
|
className: (0, _classnames).default(classes.textLink, className, (_obj = {}, _defineProperty(_obj, classes.small, small), _defineProperty(_obj, classes.inverse, isInverse), _obj)),
|
|
141
153
|
children: children
|
package/dist/text.js
CHANGED
|
@@ -133,8 +133,14 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
|
|
|
133
133
|
"-webkit-line-clamp": lineClamp,
|
|
134
134
|
lineClamp: lineClamp,
|
|
135
135
|
wordBreak: function wordBreak(param) {
|
|
136
|
-
var
|
|
137
|
-
return
|
|
136
|
+
var wordBreak1 = param.wordBreak;
|
|
137
|
+
return wordBreak1 ? "break-all" : "normal";
|
|
138
|
+
},
|
|
139
|
+
"@supports (overflow-wrap: anywhere)": {
|
|
140
|
+
wordBreak: function wordBreak(param) {
|
|
141
|
+
var truncate = param.truncate;
|
|
142
|
+
return truncate === 1 || truncate === true ? "break-all" : "normal";
|
|
143
|
+
}
|
|
138
144
|
},
|
|
139
145
|
display: "box",
|
|
140
146
|
boxOrient: "vertical",
|
|
@@ -22,6 +22,7 @@ var _tabFocus = _interopRequireDefault(require("./tab-focus"));
|
|
|
22
22
|
var _modalContextProvider = _interopRequireDefault(require("./modal-context-provider"));
|
|
23
23
|
var _documentVisibility = require("./utils/document-visibility");
|
|
24
24
|
var _aspectRatioSupport = require("./utils/aspect-ratio-support");
|
|
25
|
+
var _analytics = require("./utils/analytics");
|
|
25
26
|
function _interopRequireDefault(obj) {
|
|
26
27
|
return obj && obj.__esModule ? obj : {
|
|
27
28
|
default: obj
|
|
@@ -206,7 +207,8 @@ var ThemeContextProvider = function ThemeContextProvider(param) {
|
|
|
206
207
|
analytics: _objectSpread({
|
|
207
208
|
logEvent: function logEvent() {
|
|
208
209
|
return Promise.resolve();
|
|
209
|
-
}
|
|
210
|
+
},
|
|
211
|
+
eventFormat: "universal-analytics"
|
|
210
212
|
}, theme.analytics),
|
|
211
213
|
dimensions: _objectSpread({}, _theme.dimensions, theme.dimensions),
|
|
212
214
|
mq: (0, _mediaQueries).createMediaQueries((_mediaQueries1 = theme.mediaQueries) !== null && _mediaQueries1 !== void 0 ? _mediaQueries1 : _theme.mediaQueriesConfig),
|
|
@@ -229,13 +231,16 @@ var ThemeContextProvider = function ThemeContextProvider(param) {
|
|
|
229
231
|
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_modalContextProvider.default, {
|
|
230
232
|
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_themeContext.default.Provider, {
|
|
231
233
|
value: contextTheme,
|
|
232
|
-
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(
|
|
237
|
-
|
|
238
|
-
|
|
234
|
+
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_analytics.TrackingConfig, {
|
|
235
|
+
eventFormat: contextTheme.analytics.eventFormat,
|
|
236
|
+
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_aspectRatioSupport.AspectRatioSupportProvider, {
|
|
237
|
+
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_documentVisibility.DocumentVisibilityProvider, {
|
|
238
|
+
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_ariaIdGetterContext.default.Provider, {
|
|
239
|
+
value: getAriaId,
|
|
240
|
+
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_screenSizeContextProvider.default, {
|
|
241
|
+
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_dialog.default, {
|
|
242
|
+
children: children
|
|
243
|
+
})
|
|
239
244
|
})
|
|
240
245
|
})
|
|
241
246
|
})
|
package/dist/theme.d.ts
CHANGED
|
@@ -74,6 +74,7 @@ declare type LinkComponent = React.ComponentType<{
|
|
|
74
74
|
}>;
|
|
75
75
|
export declare const AnchorLink: LinkComponent;
|
|
76
76
|
export declare type ColorScheme = 'dark' | 'light' | 'auto';
|
|
77
|
+
export declare type EventFormat = 'universal-analytics' | 'google-analytics-4';
|
|
77
78
|
export declare type ThemeConfig = {
|
|
78
79
|
skin: Readonly<Skin>;
|
|
79
80
|
colorScheme?: ColorScheme;
|
|
@@ -89,6 +90,7 @@ export declare type ThemeConfig = {
|
|
|
89
90
|
texts?: Partial<ThemeTexts>;
|
|
90
91
|
analytics?: {
|
|
91
92
|
logEvent: (trackingEvent: TrackingEvent) => Promise<void>;
|
|
93
|
+
eventFormat?: EventFormat;
|
|
92
94
|
};
|
|
93
95
|
dimensions?: {
|
|
94
96
|
headerMobileHeight: number;
|
|
@@ -117,6 +119,7 @@ export declare type Theme = {
|
|
|
117
119
|
texts: ThemeTexts;
|
|
118
120
|
analytics: {
|
|
119
121
|
logEvent: (trackingEvent: TrackingEvent) => Promise<void>;
|
|
122
|
+
eventFormat: EventFormat;
|
|
120
123
|
};
|
|
121
124
|
dimensions: {
|
|
122
125
|
headerMobileHeight: number;
|
package/dist/theme.js.flow
CHANGED
|
@@ -78,6 +78,7 @@ declare type LinkComponent = React.ComponentType<{
|
|
|
78
78
|
}>;
|
|
79
79
|
declare export var AnchorLink: LinkComponent;
|
|
80
80
|
export type ColorScheme = "dark" | "light" | "auto";
|
|
81
|
+
export type EventFormat = "universal-analytics" | "google-analytics-4";
|
|
81
82
|
export type ThemeConfig = {
|
|
82
83
|
skin: $ReadOnly<Skin>,
|
|
83
84
|
colorScheme?: ColorScheme,
|
|
@@ -93,6 +94,7 @@ export type ThemeConfig = {
|
|
|
93
94
|
texts?: $Shape<ThemeTexts>,
|
|
94
95
|
analytics?: {
|
|
95
96
|
logEvent: (trackingEvent: TrackingEvent) => Promise<void>,
|
|
97
|
+
eventFormat?: EventFormat,
|
|
96
98
|
},
|
|
97
99
|
dimensions?: {
|
|
98
100
|
headerMobileHeight: number,
|
|
@@ -121,6 +123,7 @@ export type Theme = {
|
|
|
121
123
|
texts: ThemeTexts,
|
|
122
124
|
analytics: {
|
|
123
125
|
logEvent: (trackingEvent: TrackingEvent) => Promise<void>,
|
|
126
|
+
eventFormat: EventFormat,
|
|
124
127
|
},
|
|
125
128
|
dimensions: {
|
|
126
129
|
headerMobileHeight: number,
|
package/dist/title.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { DataAttributes } from './utils/types';
|
|
3
|
+
declare type TitleProps = {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
id?: string;
|
|
6
|
+
right?: React.ReactNode;
|
|
7
|
+
as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
|
|
8
|
+
/** "data-" prefix is automatically added. For example, use "testid" instead of "data-testid" */
|
|
9
|
+
dataAttributes?: DataAttributes;
|
|
10
|
+
};
|
|
11
|
+
export declare const Title1: ({ children, as, id, right, dataAttributes }: TitleProps) => React.ReactElement;
|
|
12
|
+
export declare const Title2: ({ children, as, id, right, dataAttributes }: TitleProps) => React.ReactElement;
|
|
13
|
+
export {};
|
package/dist/title.js
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
exports.Title2 = exports.Title1 = void 0;
|
|
6
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _text = require("./text");
|
|
9
|
+
var _hooks = require("./hooks");
|
|
10
|
+
var _inline = _interopRequireDefault(require("./inline"));
|
|
11
|
+
var _box = _interopRequireDefault(require("./box"));
|
|
12
|
+
function _interopRequireDefault(obj) {
|
|
13
|
+
return obj && obj.__esModule ? obj : {
|
|
14
|
+
default: obj
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function _interopRequireWildcard(obj) {
|
|
18
|
+
if (obj && obj.__esModule) {
|
|
19
|
+
return obj;
|
|
20
|
+
} else {
|
|
21
|
+
var newObj = {};
|
|
22
|
+
if (obj != null) {
|
|
23
|
+
for(var key in obj){
|
|
24
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
25
|
+
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
|
26
|
+
if (desc.get || desc.set) {
|
|
27
|
+
Object.defineProperty(newObj, key, desc);
|
|
28
|
+
} else {
|
|
29
|
+
newObj[key] = obj[key];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
newObj.default = obj;
|
|
35
|
+
return newObj;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
var TitleLayout = function TitleLayout(param) {
|
|
39
|
+
var title = param.title, right = param.right;
|
|
40
|
+
if (!right) {
|
|
41
|
+
return title;
|
|
42
|
+
}
|
|
43
|
+
return /*#__PURE__*/ (0, _jsxRuntime).jsxs(_inline.default, {
|
|
44
|
+
space: "between",
|
|
45
|
+
alignItems: "baseline",
|
|
46
|
+
children: [
|
|
47
|
+
title,
|
|
48
|
+
/*#__PURE__*/ (0, _jsxRuntime).jsx(_box.default, {
|
|
49
|
+
paddingLeft: 16,
|
|
50
|
+
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_text.Text2, {
|
|
51
|
+
regular: true,
|
|
52
|
+
children: right
|
|
53
|
+
})
|
|
54
|
+
})
|
|
55
|
+
]
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
var Title1 = function Title1(param) {
|
|
59
|
+
var children = param.children, _as = param.as, as = _as === void 0 ? "h3" : _as, id = param.id, right = param.right, dataAttributes = param.dataAttributes;
|
|
60
|
+
var theme = (0, _hooks).useTheme();
|
|
61
|
+
return /*#__PURE__*/ (0, _jsxRuntime).jsx(TitleLayout, {
|
|
62
|
+
title: /*#__PURE__*/ (0, _jsxRuntime).jsx(_text.Text1, {
|
|
63
|
+
color: theme.colors.textSecondary,
|
|
64
|
+
transform: "uppercase",
|
|
65
|
+
medium: true,
|
|
66
|
+
as: as,
|
|
67
|
+
id: id,
|
|
68
|
+
dataAttributes: dataAttributes,
|
|
69
|
+
children: children
|
|
70
|
+
}),
|
|
71
|
+
right: right
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
exports.Title1 = Title1;
|
|
75
|
+
var Title2 = function Title2(param) {
|
|
76
|
+
var children = param.children, _as = param.as, as = _as === void 0 ? "h3" : _as, id = param.id, right = param.right, dataAttributes = param.dataAttributes;
|
|
77
|
+
return /*#__PURE__*/ (0, _jsxRuntime).jsx(TitleLayout, {
|
|
78
|
+
title: /*#__PURE__*/ (0, _jsxRuntime).jsx(_text.Text5, {
|
|
79
|
+
as: as,
|
|
80
|
+
id: id,
|
|
81
|
+
dataAttributes: dataAttributes,
|
|
82
|
+
children: children
|
|
83
|
+
}),
|
|
84
|
+
right: right
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
exports.Title2 = Title2;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// @flow
|
|
2
|
+
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import type { DataAttributes } from "./utils/types";
|
|
5
|
+
declare type TitleProps = {
|
|
6
|
+
children: React.Node,
|
|
7
|
+
id?: string,
|
|
8
|
+
right?: React.Node,
|
|
9
|
+
as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6",
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* "data-" prefix is automatically added. For example, use "testid" instead of "data-testid"
|
|
13
|
+
*/
|
|
14
|
+
dataAttributes?: DataAttributes,
|
|
15
|
+
};
|
|
16
|
+
declare export var Title1: (x: TitleProps) => React.Element<any>;
|
|
17
|
+
declare export var Title2: (x: TitleProps) => React.Element<any>;
|
|
18
|
+
declare export {};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
3
|
+
var React = _interopRequireWildcard(require("react"));
|
|
4
|
+
var _themeContextProvider = _interopRequireDefault(require("../../theme-context-provider"));
|
|
5
|
+
var _react = require("@testing-library/react");
|
|
6
|
+
var _testUtils = require("../../__tests__/test-utils");
|
|
7
|
+
var _analytics = require("../analytics");
|
|
8
|
+
function _interopRequireDefault(obj) {
|
|
9
|
+
return obj && obj.__esModule ? obj : {
|
|
10
|
+
default: obj
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function _interopRequireWildcard(obj) {
|
|
14
|
+
if (obj && obj.__esModule) {
|
|
15
|
+
return obj;
|
|
16
|
+
} else {
|
|
17
|
+
var newObj = {};
|
|
18
|
+
if (obj != null) {
|
|
19
|
+
for(var key in obj){
|
|
20
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
21
|
+
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
|
22
|
+
if (desc.get || desc.set) {
|
|
23
|
+
Object.defineProperty(newObj, key, desc);
|
|
24
|
+
} else {
|
|
25
|
+
newObj[key] = obj[key];
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
newObj.default = obj;
|
|
31
|
+
return newObj;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
var PrintEventFormat = function PrintEventFormat(param) {
|
|
35
|
+
var prefix = param.prefix;
|
|
36
|
+
var eventFormat = (0, _analytics).useTrackingConfig().eventFormat;
|
|
37
|
+
return /*#__PURE__*/ (0, _jsxRuntime).jsx("div", {
|
|
38
|
+
children: "".concat(prefix, ": ").concat(eventFormat)
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
test("TrackingConfig context providers", function() {
|
|
42
|
+
(0, _react).render(/*#__PURE__*/ (0, _jsxRuntime).jsxs(_themeContextProvider.default, {
|
|
43
|
+
theme: (0, _testUtils).makeTheme({
|
|
44
|
+
analytics: {
|
|
45
|
+
logEvent: function logEvent() {
|
|
46
|
+
return Promise.resolve();
|
|
47
|
+
},
|
|
48
|
+
eventFormat: "google-analytics-4"
|
|
49
|
+
}
|
|
50
|
+
}),
|
|
51
|
+
children: [
|
|
52
|
+
/*#__PURE__*/ (0, _jsxRuntime).jsx(PrintEventFormat, {
|
|
53
|
+
prefix: "test1"
|
|
54
|
+
}),
|
|
55
|
+
/*#__PURE__*/ (0, _jsxRuntime).jsxs(_analytics.TrackingConfig, {
|
|
56
|
+
eventFormat: "universal-analytics",
|
|
57
|
+
children: [
|
|
58
|
+
/*#__PURE__*/ (0, _jsxRuntime).jsx(PrintEventFormat, {
|
|
59
|
+
prefix: "test2"
|
|
60
|
+
}),
|
|
61
|
+
/*#__PURE__*/ (0, _jsxRuntime).jsx(_analytics.TrackingConfig, {
|
|
62
|
+
eventFormat: "google-analytics-4",
|
|
63
|
+
children: /*#__PURE__*/ (0, _jsxRuntime).jsx(PrintEventFormat, {
|
|
64
|
+
prefix: "test3"
|
|
65
|
+
})
|
|
66
|
+
})
|
|
67
|
+
]
|
|
68
|
+
})
|
|
69
|
+
]
|
|
70
|
+
}));
|
|
71
|
+
expect(_react.screen.getByText("test1: google-analytics-4")).toBeInTheDocument();
|
|
72
|
+
expect(_react.screen.getByText("test2: universal-analytics")).toBeInTheDocument();
|
|
73
|
+
expect(_react.screen.getByText("test3: google-analytics-4")).toBeInTheDocument();
|
|
74
|
+
});
|
|
@@ -1,6 +1,20 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { EventFormat } from '../theme';
|
|
1
3
|
export declare const eventCategories: {
|
|
2
4
|
readonly userInteraction: "user_interaction";
|
|
3
5
|
};
|
|
4
6
|
export declare const eventActions: {
|
|
5
7
|
readonly linkTapped: "link_tapped";
|
|
6
8
|
};
|
|
9
|
+
export declare const eventNames: {
|
|
10
|
+
readonly userInteraction: "user_interaction";
|
|
11
|
+
};
|
|
12
|
+
declare type TrackingConfigProps = {
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
eventFormat: EventFormat;
|
|
15
|
+
};
|
|
16
|
+
export declare const TrackingConfig: ({ children, eventFormat }: TrackingConfigProps) => JSX.Element;
|
|
17
|
+
export declare const useTrackingConfig: () => {
|
|
18
|
+
eventFormat: EventFormat;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
package/dist/utils/analytics.js
CHANGED
|
@@ -2,7 +2,30 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports.eventActions = exports.eventCategories = void 0;
|
|
5
|
+
exports.useTrackingConfig = exports.TrackingConfig = exports.eventNames = exports.eventActions = exports.eventCategories = void 0;
|
|
6
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
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
|
+
}
|
|
6
29
|
var eventCategories = {
|
|
7
30
|
userInteraction: "user_interaction"
|
|
8
31
|
};
|
|
@@ -11,3 +34,29 @@ var eventActions = {
|
|
|
11
34
|
linkTapped: "link_tapped"
|
|
12
35
|
};
|
|
13
36
|
exports.eventActions = eventActions;
|
|
37
|
+
var eventNames = {
|
|
38
|
+
userInteraction: "user_interaction"
|
|
39
|
+
};
|
|
40
|
+
exports.eventNames = eventNames;
|
|
41
|
+
var TrackingContext = /*#__PURE__*/ React.createContext({
|
|
42
|
+
eventFormat: "universal-analytics"
|
|
43
|
+
});
|
|
44
|
+
var TrackingConfig = function TrackingConfig(param) {
|
|
45
|
+
var children = param.children, eventFormat = param.eventFormat;
|
|
46
|
+
var value = React.useMemo(function() {
|
|
47
|
+
return {
|
|
48
|
+
eventFormat: eventFormat
|
|
49
|
+
};
|
|
50
|
+
}, [
|
|
51
|
+
eventFormat
|
|
52
|
+
]);
|
|
53
|
+
return /*#__PURE__*/ (0, _jsxRuntime).jsx(TrackingContext.Provider, {
|
|
54
|
+
value: value,
|
|
55
|
+
children: children
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
exports.TrackingConfig = TrackingConfig;
|
|
59
|
+
var useTrackingConfig = function useTrackingConfig() {
|
|
60
|
+
return React.useContext(TrackingContext);
|
|
61
|
+
};
|
|
62
|
+
exports.useTrackingConfig = useTrackingConfig;
|