@telefonica/mistica 16.56.0 → 16.57.0-beta.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/README.md +31 -0
- package/css/mistica.css +1 -1
- package/dist/accordion.css-mistica.js +16 -16
- package/dist/align.css-mistica.js +2 -2
- package/dist/autocomplete.css-mistica.js +6 -6
- package/dist/avatar.css-mistica.js +3 -3
- package/dist/badge.css-mistica.js +7 -7
- package/dist/box.css-mistica.js +15 -15
- package/dist/boxed.css-mistica.js +31 -31
- package/dist/button-group.css-mistica.js +10 -10
- package/dist/button-layout.css-mistica.js +21 -21
- package/dist/button.css-mistica.js +51 -51
- package/dist/callout.css-mistica.js +16 -16
- package/dist/card-internal.css-mistica.js +36 -36
- package/dist/carousel.css-mistica.js +18 -18
- package/dist/checkbox.css-mistica.js +21 -21
- package/dist/chip.css-mistica.js +30 -30
- package/dist/circle.css-mistica.js +2 -2
- package/dist/community/advanced-data-card.css-mistica.js +26 -26
- package/dist/community/blocks.css-mistica.js +3 -3
- package/dist/community/example-component.css-mistica.js +2 -2
- package/dist/counter.css-mistica.js +12 -12
- package/dist/cover-hero.css-mistica.js +16 -16
- package/dist/credit-card-number-field.css-mistica.js +6 -6
- package/dist/date-field.css-mistica.js +1 -1
- package/dist/date-time-picker.css-mistica.js +2 -2
- package/dist/dialog.css-mistica.js +15 -15
- package/dist/divider.css-mistica.js +5 -5
- package/dist/double-field.css-mistica.js +4 -4
- package/dist/drawer.css-mistica.js +15 -15
- package/dist/empty-state-card.css-mistica.js +4 -4
- package/dist/empty-state.css-mistica.js +14 -14
- package/dist/fade-in.css-mistica.js +1 -1
- package/dist/feedback.css-mistica.js +14 -14
- package/dist/file-upload.css-mistica.js +14 -14
- package/dist/fixed-footer-layout.css-mistica.js +12 -12
- package/dist/form.css-mistica.js +2 -2
- package/dist/grid-layout.css-mistica.js +9 -9
- package/dist/grid.css-mistica.js +147 -147
- package/dist/header.css-mistica.js +5 -5
- package/dist/hero.css-mistica.js +11 -11
- package/dist/horizontal-scroll.css-mistica.js +3 -3
- package/dist/icon-button.css-mistica.js +66 -66
- package/dist/icons/icon-chevron.css-mistica.js +6 -6
- package/dist/icons/icon-error.css-mistica.js +3 -3
- package/dist/image.css-mistica.js +11 -11
- package/dist/inline.css-mistica.js +16 -16
- package/dist/list.css-mistica.js +15 -15
- package/dist/loading-bar.css-mistica.js +5 -5
- package/dist/loading-screen.css-mistica.js +15 -15
- package/dist/logo-blau-shell.d.ts +10 -0
- package/dist/logo-blau-shell.js +25 -0
- package/dist/logo-blau.d.ts +1 -1
- package/dist/logo-blau.js +25 -40
- package/dist/logo-common.d.ts +0 -1
- package/dist/logo-esimflag-shell.d.ts +10 -0
- package/dist/logo-esimflag-shell.js +25 -0
- package/dist/logo-esimflag.d.ts +1 -1
- package/dist/logo-esimflag.js +11 -26
- package/dist/logo-movistar-new-shell.d.ts +10 -0
- package/dist/logo-movistar-new-shell.js +25 -0
- package/dist/logo-movistar-new.d.ts +1 -1
- package/dist/logo-movistar-new.js +84 -103
- package/dist/logo-movistar-shell.d.ts +10 -0
- package/dist/logo-movistar-shell.js +25 -0
- package/dist/logo-movistar.d.ts +1 -1
- package/dist/logo-movistar.js +16 -31
- package/dist/logo-o2-new-shell.d.ts +8 -0
- package/dist/logo-o2-new-shell.js +24 -0
- package/dist/logo-o2-new.d.ts +1 -1
- package/dist/logo-o2-new.js +6 -13
- package/dist/logo-o2-shell.d.ts +8 -0
- package/dist/logo-o2-shell.js +24 -0
- package/dist/logo-o2.d.ts +1 -1
- package/dist/logo-o2.js +6 -13
- package/dist/logo-telefonica-shell.d.ts +10 -0
- package/dist/logo-telefonica-shell.js +25 -0
- package/dist/logo-telefonica.d.ts +1 -1
- package/dist/logo-telefonica.js +11 -26
- package/dist/logo-tu-shell.d.ts +8 -0
- package/dist/logo-tu-shell.js +24 -0
- package/dist/logo-tu.d.ts +1 -1
- package/dist/logo-tu.js +10 -14
- package/dist/logo-vivo-shell.d.ts +10 -0
- package/dist/logo-vivo-shell.js +25 -0
- package/dist/logo-vivo.d.ts +1 -1
- package/dist/logo-vivo.js +11 -26
- package/dist/logo.css-mistica.js +9 -9
- package/dist/logo.js +223 -205
- package/dist/menu.css-mistica.js +24 -24
- package/dist/mosaic.css-mistica.js +3 -3
- package/dist/navigation-bar.css-mistica.js +45 -45
- package/dist/navigation-breadcrumbs.css-mistica.js +5 -5
- package/dist/package-version.js +2 -2
- package/dist/pin-field.css-mistica.js +10 -10
- package/dist/popover.css-mistica.js +2 -2
- package/dist/progress-bar.css-mistica.js +12 -12
- package/dist/radio-button.css-mistica.js +33 -33
- package/dist/rating.css-mistica.js +12 -12
- package/dist/responsive-layout.css-mistica.js +20 -20
- package/dist/screen-reader-only.css-mistica.js +2 -2
- package/dist/select.css-mistica.js +29 -29
- package/dist/sheet-action-row.css-mistica.js +2 -2
- package/dist/sheet-common.css-mistica.js +16 -16
- package/dist/sheet-info.css-mistica.js +4 -4
- package/dist/skeletons.css-mistica.js +12 -12
- package/dist/skins/skin-contract.css-mistica.js +686 -686
- package/dist/skip-link.css-mistica.js +3 -3
- package/dist/slider.css-mistica.js +28 -28
- package/dist/snackbar.css-mistica.js +16 -16
- package/dist/spinner.css-mistica.js +5 -5
- package/dist/square.css-mistica.js +2 -2
- package/dist/stack.css-mistica.js +9 -9
- package/dist/stacking-group.css-mistica.js +2 -2
- package/dist/stepper.css-mistica.js +16 -16
- package/dist/switch-component.css-mistica.js +53 -53
- package/dist/table.css-mistica.js +24 -24
- package/dist/tabs.css-mistica.js +30 -30
- package/dist/tag.css-mistica.js +5 -5
- package/dist/text-field-base.css-mistica.js +30 -30
- package/dist/text-field-base.js +52 -51
- package/dist/text-field-components.css-mistica.js +20 -17
- package/dist/text-field-components.css.d.ts +1 -0
- package/dist/text-field-components.d.ts +2 -1
- package/dist/text-field-components.js +25 -25
- package/dist/text-link.css-mistica.js +10 -10
- package/dist/text.css-mistica.js +13 -13
- package/dist/theme-context.css-mistica.js +2 -2
- package/dist/timeline.css-mistica.js +18 -18
- package/dist/timer.css-mistica.js +13 -13
- package/dist/tooltip.css-mistica.js +12 -12
- package/dist/touchable.css-mistica.js +5 -5
- package/dist/utils/aspect-ratio-support.css-mistica.js +7 -7
- package/dist/video.css-mistica.js +2 -2
- package/dist/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +3 -3
- package/dist-es/accordion.css-mistica.js +7 -7
- package/dist-es/align.css-mistica.js +2 -2
- package/dist-es/autocomplete.css-mistica.js +2 -2
- package/dist-es/avatar.css-mistica.js +2 -2
- package/dist-es/badge.css-mistica.js +2 -2
- package/dist-es/box.css-mistica.js +15 -15
- package/dist-es/boxed.css-mistica.js +25 -25
- package/dist-es/button-group.css-mistica.js +2 -2
- package/dist-es/button-layout.css-mistica.js +16 -16
- package/dist-es/button.css-mistica.js +38 -38
- package/dist-es/callout.css-mistica.js +12 -12
- package/dist-es/card-internal.css-mistica.js +20 -20
- package/dist-es/carousel.css-mistica.js +10 -10
- package/dist-es/checkbox.css-mistica.js +14 -14
- package/dist-es/chip.css-mistica.js +17 -17
- package/dist-es/circle.css-mistica.js +2 -2
- package/dist-es/community/advanced-data-card.css-mistica.js +7 -7
- package/dist-es/community/blocks.css-mistica.js +2 -2
- package/dist-es/community/example-component.css-mistica.js +2 -2
- package/dist-es/counter.css-mistica.js +2 -2
- package/dist-es/cover-hero.css-mistica.js +4 -4
- package/dist-es/credit-card-number-field.css-mistica.js +4 -4
- package/dist-es/date-field.css-mistica.js +1 -1
- package/dist-es/date-time-picker.css-mistica.js +2 -2
- package/dist-es/dialog.css-mistica.js +5 -5
- package/dist-es/divider.css-mistica.js +5 -5
- package/dist-es/double-field.css-mistica.js +4 -4
- package/dist-es/drawer.css-mistica.js +2 -2
- package/dist-es/empty-state-card.css-mistica.js +2 -2
- package/dist-es/empty-state.css-mistica.js +7 -7
- package/dist-es/fade-in.css-mistica.js +1 -1
- package/dist-es/feedback.css-mistica.js +2 -2
- package/dist-es/file-upload.css-mistica.js +8 -8
- package/dist-es/fixed-footer-layout.css-mistica.js +4 -4
- package/dist-es/form.css-mistica.js +2 -2
- package/dist-es/grid-layout.css-mistica.js +4 -4
- package/dist-es/grid.css-mistica.js +127 -127
- package/dist-es/header.css-mistica.js +2 -2
- package/dist-es/hero.css-mistica.js +4 -4
- package/dist-es/horizontal-scroll.css-mistica.js +2 -2
- package/dist-es/icon-button.css-mistica.js +56 -56
- package/dist-es/icons/icon-chevron.css-mistica.js +4 -4
- package/dist-es/icons/icon-error.css-mistica.js +2 -2
- package/dist-es/image.css-mistica.js +4 -4
- package/dist-es/inline.css-mistica.js +10 -10
- package/dist-es/list.css-mistica.js +2 -2
- package/dist-es/loading-bar.css-mistica.js +2 -2
- package/dist-es/loading-screen.css-mistica.js +5 -5
- package/dist-es/logo-blau-shell.js +16 -0
- package/dist-es/logo-blau.js +36 -51
- package/dist-es/logo-esimflag-shell.js +16 -0
- package/dist-es/logo-esimflag.js +13 -28
- package/dist-es/logo-movistar-new-shell.js +16 -0
- package/dist-es/logo-movistar-new.js +86 -105
- package/dist-es/logo-movistar-shell.js +16 -0
- package/dist-es/logo-movistar.js +18 -33
- package/dist-es/logo-o2-new-shell.js +15 -0
- package/dist-es/logo-o2-new.js +7 -14
- package/dist-es/logo-o2-shell.js +15 -0
- package/dist-es/logo-o2.js +7 -14
- package/dist-es/logo-telefonica-shell.js +16 -0
- package/dist-es/logo-telefonica.js +13 -28
- package/dist-es/logo-tu-shell.js +15 -0
- package/dist-es/logo-tu.js +12 -16
- package/dist-es/logo-vivo-shell.js +16 -0
- package/dist-es/logo-vivo.js +13 -28
- package/dist-es/logo.css-mistica.js +7 -7
- package/dist-es/logo.js +221 -203
- package/dist-es/menu.css-mistica.js +15 -15
- package/dist-es/mosaic.css-mistica.js +2 -2
- package/dist-es/navigation-bar.css-mistica.js +20 -20
- package/dist-es/navigation-breadcrumbs.css-mistica.js +2 -2
- package/dist-es/package-version.js +2 -2
- package/dist-es/pin-field.css-mistica.js +2 -2
- package/dist-es/popover.css-mistica.js +2 -2
- package/dist-es/progress-bar.css-mistica.js +8 -8
- package/dist-es/radio-button.css-mistica.js +25 -25
- package/dist-es/rating.css-mistica.js +4 -4
- package/dist-es/responsive-layout.css-mistica.js +7 -7
- package/dist-es/screen-reader-only.css-mistica.js +2 -2
- package/dist-es/select.css-mistica.js +20 -20
- package/dist-es/sheet-action-row.css-mistica.js +2 -2
- package/dist-es/sheet-common.css-mistica.js +2 -2
- package/dist-es/sheet-info.css-mistica.js +2 -2
- package/dist-es/skeletons.css-mistica.js +8 -8
- package/dist-es/skins/skin-contract.css-mistica.js +686 -686
- package/dist-es/skip-link.css-mistica.js +2 -2
- package/dist-es/slider.css-mistica.js +20 -20
- package/dist-es/snackbar.css-mistica.js +5 -5
- package/dist-es/spinner.css-mistica.js +2 -2
- package/dist-es/square.css-mistica.js +2 -2
- package/dist-es/stack.css-mistica.js +7 -7
- package/dist-es/stacking-group.css-mistica.js +2 -2
- package/dist-es/stepper.css-mistica.js +4 -4
- package/dist-es/style.css +1 -1
- package/dist-es/switch-component.css-mistica.js +41 -41
- package/dist-es/table.css-mistica.js +11 -11
- package/dist-es/tabs.css-mistica.js +21 -21
- package/dist-es/tag.css-mistica.js +2 -2
- package/dist-es/text-field-base.css-mistica.js +17 -17
- package/dist-es/text-field-base.js +52 -51
- package/dist-es/text-field-components.css-mistica.js +4 -4
- package/dist-es/text-field-components.js +52 -52
- package/dist-es/text-link.css-mistica.js +9 -9
- package/dist-es/text.css-mistica.js +8 -8
- package/dist-es/theme-context.css-mistica.js +2 -2
- package/dist-es/timeline.css-mistica.js +11 -11
- package/dist-es/timer.css-mistica.js +7 -7
- package/dist-es/tooltip.css-mistica.js +3 -3
- package/dist-es/touchable.css-mistica.js +2 -2
- package/dist-es/utils/aspect-ratio-support.css-mistica.js +4 -4
- package/dist-es/video.css-mistica.js +2 -2
- package/dist-es/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +2 -2
- package/doc/analytics.md +145 -0
- package/doc/components.md +730 -0
- package/doc/design-tokens.md +199 -0
- package/doc/fonts.md +287 -0
- package/doc/forms.md +177 -0
- package/doc/images/layout/box.svg +6 -0
- package/doc/images/layout/grid-layout-desktop-5-4.svg +8 -0
- package/doc/images/layout/grid-layout-desktop-6-6.svg +8 -0
- package/doc/images/layout/grid-layout-desktop-8-4.svg +8 -0
- package/doc/images/layout/grid-layout-desktop.svg +16 -0
- package/doc/images/layout/grid-layout-mobile-5-4.svg +9 -0
- package/doc/images/layout/grid-layout-mobile-6-6.svg +9 -0
- package/doc/images/layout/grid-layout-mobile-8-4.svg +9 -0
- package/doc/images/layout/grid-layout-mobile.svg +5 -0
- package/doc/images/layout/grid-layout-tablet-5-4.svg +8 -0
- package/doc/images/layout/grid-layout-tablet-6-6.svg +8 -0
- package/doc/images/layout/grid-layout-tablet-8-4.svg +8 -0
- package/doc/images/layout/grid-layout-tablet.svg +5 -0
- package/doc/images/layout/header-layout-desktop.svg +6 -0
- package/doc/images/layout/header-layout-mobile.svg +6 -0
- package/doc/images/layout/header-layout-tablet.svg +6 -0
- package/doc/images/layout/inline-around.svg +6 -0
- package/doc/images/layout/inline-between.svg +6 -0
- package/doc/images/layout/inline-evenly.svg +6 -0
- package/doc/images/layout/inline.svg +6 -0
- package/doc/images/layout/master-detail-layout-desktop.svg +8 -0
- package/doc/images/layout/master-detail-layout-mobile-detail.svg +6 -0
- package/doc/images/layout/master-detail-layout-mobile-master.svg +6 -0
- package/doc/images/layout/negative-box-ok-outline.svg +17 -0
- package/doc/images/layout/negative-box-ok-preview.svg +11 -0
- package/doc/images/layout/negative-box-wrong-outline.svg +14 -0
- package/doc/images/layout/negative-box-wrong-preview.svg +11 -0
- package/doc/images/layout/responsive-layout-desktop.svg +4 -0
- package/doc/images/layout/responsive-layout-mobile.svg +4 -0
- package/doc/images/layout/responsive-layout-tablet.svg +4 -0
- package/doc/images/layout/stack.svg +8 -0
- package/doc/images/layout/vertical-rhythm.png +0 -0
- package/doc/layout.md +527 -0
- package/doc/llms.md +290 -0
- package/doc/lottie.md +17 -0
- package/doc/migration-guide.md +76 -0
- package/doc/patterns.md +548 -0
- package/doc/sheet.md +122 -0
- package/doc/testing.md +43 -0
- package/doc/texts.md +42 -0
- package/doc/theme-config.md +124 -0
- package/package.json +2 -1
|
@@ -52,21 +52,21 @@ function _object_spread_props(target, source) {
|
|
|
52
52
|
return target;
|
|
53
53
|
}
|
|
54
54
|
import { jsxs as d, jsx as l, Fragment as y } from "react/jsx-runtime";
|
|
55
|
-
import * as
|
|
55
|
+
import * as H from "react";
|
|
56
56
|
import m from "classnames";
|
|
57
|
-
import { useTheme as
|
|
58
|
-
import { Text1 as
|
|
59
|
-
import { field as v, background as
|
|
60
|
-
import { vars as
|
|
61
|
-
import { getPrefixedDataAttributes as
|
|
62
|
-
import { formFieldOptionalLabelSuffix as
|
|
63
|
-
import
|
|
64
|
-
import
|
|
57
|
+
import { useTheme as T } from "./hooks.js";
|
|
58
|
+
import { Text1 as g } from "./text.js";
|
|
59
|
+
import { field as v, background as L, focused as F, helperContainer as V, fieldContainer as N, fullWidth as C, normalWidth as D, disabled as E, labelText as M, labelContainer as O, shrinked as A, warnIcon as R, helperText as S, leftHelperText as W, rightHelperText as $ } from "./text-field-components.css-mistica.js";
|
|
60
|
+
import { vars as c } from "./skins/skin-contract.css-mistica.js";
|
|
61
|
+
import { getPrefixedDataAttributes as w } from "./utils/dom.js";
|
|
62
|
+
import { formFieldOptionalLabelSuffix as j } from "./text-tokens.js";
|
|
63
|
+
import I from "./generated/mistica-icons/icon-warning-regular.js";
|
|
64
|
+
import P from "./screen-reader-only.js";
|
|
65
65
|
import { fieldVars as t } from "./text-field-base.css-mistica.js";
|
|
66
|
-
import { applyCssVars as
|
|
67
|
-
const
|
|
68
|
-
const { textPresets: e } =
|
|
69
|
-
return
|
|
66
|
+
import { applyCssVars as q, pxToRem as i } from "./utils/css.js";
|
|
67
|
+
const B = ()=>{
|
|
68
|
+
const { textPresets: e } = T();
|
|
69
|
+
return q({
|
|
70
70
|
[t.mobileFontSize]: i(e.inputValue.size.mobile),
|
|
71
71
|
[t.desktopFontSize]: i(e.inputValue.size.desktop),
|
|
72
72
|
[t.mobileLineHeight]: i(e.inputValue.lineHeight.mobile),
|
|
@@ -82,10 +82,10 @@ const q = ()=>{
|
|
|
82
82
|
[t.labelScaleMobile]: `calc(${e.inputLabel.size.mobile} / ${e.inputValue.size.mobile})`,
|
|
83
83
|
[t.labelScaleDesktop]: `calc(${e.inputLabel.size.desktop} / ${e.inputValue.size.desktop})`
|
|
84
84
|
});
|
|
85
|
-
},
|
|
86
|
-
let { shrinkLabel: e, forId:
|
|
87
|
-
const u = e || r === "focused" || r === "filled", [h, f] =
|
|
88
|
-
|
|
85
|
+
}, le = (param)=>{
|
|
86
|
+
let { shrinkLabel: e, forId: p, inputState: r, error: n, children: s, style: o, showOptional: a } = param;
|
|
87
|
+
const u = e || r === "focused" || r === "filled", [h, f] = H.useState("initial"), { texts: b, t: x } = T();
|
|
88
|
+
H.useEffect(()=>{
|
|
89
89
|
const z = setTimeout(()=>{
|
|
90
90
|
process.env.NODE_ENV !== "test" && f("transform 150ms, width 150ms");
|
|
91
91
|
});
|
|
@@ -93,72 +93,72 @@ const q = ()=>{
|
|
|
93
93
|
clearTimeout(z);
|
|
94
94
|
};
|
|
95
95
|
}, []);
|
|
96
|
-
let
|
|
97
|
-
return n && r !== "default" ?
|
|
98
|
-
className: m(
|
|
99
|
-
[
|
|
96
|
+
let k = c.colors.textSecondary;
|
|
97
|
+
return n && r !== "default" ? k = c.colors.textError : r === "focused" && (k = c.colors.textActivated), /* @__PURE__ */ d("label", {
|
|
98
|
+
className: m(O, {
|
|
99
|
+
[A]: u
|
|
100
100
|
}),
|
|
101
|
-
htmlFor:
|
|
101
|
+
htmlFor: p,
|
|
102
102
|
style: _object_spread_props(_object_spread({
|
|
103
|
-
color:
|
|
103
|
+
color: k
|
|
104
104
|
}, o), {
|
|
105
105
|
transition: h
|
|
106
106
|
}),
|
|
107
107
|
"data-testid": "label",
|
|
108
108
|
children: [
|
|
109
109
|
/* @__PURE__ */ l("span", {
|
|
110
|
-
className:
|
|
110
|
+
className: M,
|
|
111
111
|
children: s
|
|
112
112
|
}),
|
|
113
113
|
a ? /* @__PURE__ */ d("span", {
|
|
114
114
|
children: [
|
|
115
115
|
" (",
|
|
116
|
-
b.formFieldOptionalLabelSuffix ||
|
|
116
|
+
b.formFieldOptionalLabelSuffix || x(j),
|
|
117
117
|
")"
|
|
118
118
|
]
|
|
119
119
|
}) : null
|
|
120
120
|
]
|
|
121
121
|
});
|
|
122
|
-
},
|
|
123
|
-
let { leftText: e, leftTextId:
|
|
124
|
-
const a = o ?
|
|
122
|
+
}, re = (param)=>{
|
|
123
|
+
let { leftText: e, leftTextId: p, rightText: r, rightTextId: n, rightTextLabel: s, error: o } = param;
|
|
124
|
+
const a = o ? c.colors.textError : c.colors.textSecondary;
|
|
125
125
|
return /* @__PURE__ */ d(y, {
|
|
126
126
|
children: [
|
|
127
127
|
e && /* @__PURE__ */ d("p", {
|
|
128
|
-
className: m(
|
|
128
|
+
className: m(S, W),
|
|
129
129
|
"data-testid": o ? "errorText" : "helperText",
|
|
130
130
|
children: [
|
|
131
|
-
o && /* @__PURE__ */ l(
|
|
131
|
+
o && /* @__PURE__ */ l(g, {
|
|
132
132
|
regular: !0,
|
|
133
133
|
color: a,
|
|
134
|
-
children: /* @__PURE__ */ l(
|
|
134
|
+
children: /* @__PURE__ */ l(I, {
|
|
135
135
|
color: "currentColor",
|
|
136
|
-
className:
|
|
136
|
+
className: R
|
|
137
137
|
})
|
|
138
138
|
}),
|
|
139
|
-
/* @__PURE__ */ l(
|
|
139
|
+
/* @__PURE__ */ l(g, {
|
|
140
140
|
color: a,
|
|
141
141
|
regular: !0,
|
|
142
|
-
id:
|
|
142
|
+
id: p,
|
|
143
143
|
"aria-live": o ? "assertive" : void 0,
|
|
144
144
|
children: e
|
|
145
145
|
})
|
|
146
146
|
]
|
|
147
147
|
}),
|
|
148
148
|
r && /* @__PURE__ */ l("div", {
|
|
149
|
-
className: m(
|
|
150
|
-
[
|
|
149
|
+
className: m(S, {
|
|
150
|
+
[$]: !!e
|
|
151
151
|
}),
|
|
152
152
|
"data-testid": "endHelperText",
|
|
153
|
-
children: /* @__PURE__ */ d(
|
|
154
|
-
color:
|
|
153
|
+
children: /* @__PURE__ */ d(g, {
|
|
154
|
+
color: c.colors.textSecondary,
|
|
155
155
|
regular: !0,
|
|
156
156
|
as: "p",
|
|
157
157
|
textAlign: "right",
|
|
158
158
|
wordBreak: !1,
|
|
159
159
|
id: n,
|
|
160
160
|
children: [
|
|
161
|
-
s && /* @__PURE__ */ l(
|
|
161
|
+
s && /* @__PURE__ */ l(P, {
|
|
162
162
|
children: /* @__PURE__ */ l("span", {
|
|
163
163
|
children: s
|
|
164
164
|
})
|
|
@@ -172,31 +172,31 @@ const q = ()=>{
|
|
|
172
172
|
})
|
|
173
173
|
]
|
|
174
174
|
});
|
|
175
|
-
},
|
|
176
|
-
let { multiline: e, disabled:
|
|
177
|
-
const
|
|
175
|
+
}, oe = (param)=>{
|
|
176
|
+
let { multiline: e, disabled: p, children: r, helperText: n, className: s, fieldRef: o, fullWidth: a, readOnly: u, dataAttributes: h, focus: f } = param;
|
|
177
|
+
const b = B();
|
|
178
178
|
return(// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
179
179
|
/* @__PURE__ */ d("div", _object_spread_props(_object_spread({
|
|
180
|
-
className: m(
|
|
181
|
-
[
|
|
180
|
+
className: m(N, a ? C : D, {
|
|
181
|
+
[E]: p
|
|
182
182
|
}),
|
|
183
|
-
onClick: (
|
|
184
|
-
var
|
|
185
|
-
(
|
|
183
|
+
onClick: (x)=>{
|
|
184
|
+
var _x_currentTarget_querySelector;
|
|
185
|
+
(_x_currentTarget_querySelector = x.currentTarget.querySelector(e ? "textarea" : "input")) === null || _x_currentTarget_querySelector === void 0 ? void 0 : _x_currentTarget_querySelector.focus();
|
|
186
186
|
},
|
|
187
|
-
style:
|
|
188
|
-
},
|
|
187
|
+
style: b
|
|
188
|
+
}, w(h)), {
|
|
189
189
|
children: [
|
|
190
190
|
/* @__PURE__ */ l("div", {
|
|
191
|
-
className: m(v, u ?
|
|
191
|
+
className: m(v, u ? L.readOnly : L.default, s, f && F),
|
|
192
192
|
ref: o,
|
|
193
193
|
children: r
|
|
194
194
|
}),
|
|
195
195
|
n && /* @__PURE__ */ l("div", {
|
|
196
|
-
className:
|
|
196
|
+
className: V,
|
|
197
197
|
children: n
|
|
198
198
|
})
|
|
199
199
|
]
|
|
200
200
|
})));
|
|
201
201
|
};
|
|
202
|
-
export {
|
|
202
|
+
export { oe as FieldContainer, re as HelperText, le as Label, B as useApplyCssVars };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/* empty css */ /* empty css */ var
|
|
2
|
-
underlineAlways: "
|
|
3
|
-
underlineOnHover: "
|
|
4
|
-
},
|
|
5
|
-
default: "
|
|
6
|
-
brand: "
|
|
7
|
-
negative: "
|
|
8
|
-
media: "
|
|
1
|
+
/* empty css */ /* empty css */ var e = {
|
|
2
|
+
underlineAlways: "v16_57_0-beta_1_1m1n0pr2",
|
|
3
|
+
underlineOnHover: "v16_57_0-beta_1_1m1n0pr3"
|
|
4
|
+
}, t = {
|
|
5
|
+
default: "v16_57_0-beta_1_1m1n0pr8 v16_57_0-beta_1_1m1n0pr1 v16_57_0-beta_1_1m1n0pr0 v16_57_0-beta_1_1y2v1nfqs v16_57_0-beta_1_1y2v1nfq7 v16_57_0-beta_1_1y2v1nft7 v16_57_0-beta_1_1m1n0pr4 v16_57_0-beta_1_1y2v1nf34",
|
|
6
|
+
brand: "v16_57_0-beta_1_1m1n0pr9 v16_57_0-beta_1_1m1n0pr1 v16_57_0-beta_1_1m1n0pr0 v16_57_0-beta_1_1y2v1nfqs v16_57_0-beta_1_1y2v1nfq7 v16_57_0-beta_1_1y2v1nft7 v16_57_0-beta_1_1m1n0pr5 v16_57_0-beta_1_1y2v1nf37",
|
|
7
|
+
negative: "v16_57_0-beta_1_1m1n0pra v16_57_0-beta_1_1m1n0pr1 v16_57_0-beta_1_1m1n0pr0 v16_57_0-beta_1_1y2v1nfqs v16_57_0-beta_1_1y2v1nfq7 v16_57_0-beta_1_1y2v1nft7 v16_57_0-beta_1_1m1n0pr6 v16_57_0-beta_1_1y2v1nf36",
|
|
8
|
+
media: "v16_57_0-beta_1_1m1n0prb v16_57_0-beta_1_1m1n0pr1 v16_57_0-beta_1_1m1n0pr0 v16_57_0-beta_1_1y2v1nfqs v16_57_0-beta_1_1y2v1nfq7 v16_57_0-beta_1_1y2v1nft7 v16_57_0-beta_1_1m1n0pr7 v16_57_0-beta_1_1y2v1nf38"
|
|
9
9
|
};
|
|
10
|
-
export {
|
|
10
|
+
export { e as linkStyles, t as variants };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/* empty css */ var
|
|
2
|
-
mobileSize: "var(--
|
|
3
|
-
desktopSize: "var(--
|
|
4
|
-
mobileLineHeight: "var(--
|
|
5
|
-
desktopLineHeight: "var(--
|
|
6
|
-
lineClamp: "var(--
|
|
7
|
-
},
|
|
8
|
-
export {
|
|
1
|
+
/* empty css */ var e = {
|
|
2
|
+
mobileSize: "var(--v16_57_0-beta_1_splu5g0)",
|
|
3
|
+
desktopSize: "var(--v16_57_0-beta_1_splu5g1)",
|
|
4
|
+
mobileLineHeight: "var(--v16_57_0-beta_1_splu5g2)",
|
|
5
|
+
desktopLineHeight: "var(--v16_57_0-beta_1_splu5g3)",
|
|
6
|
+
lineClamp: "var(--v16_57_0-beta_1_splu5g4)"
|
|
7
|
+
}, a = "v16_57_0-beta_1_splu5g5", t = "v16_57_0-beta_1_splu5g6", v = "v16_57_0-beta_1_splu5g7", r = "v16_57_0-beta_1_splu5g8", p = "v16_57_0-beta_1_splu5g9";
|
|
8
|
+
export { v as text, r as truncate, p as truncateToOneLine, e as vars, a as withWordBreak, t as withoutWordBreak };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* empty css */ var
|
|
2
|
-
export {
|
|
1
|
+
/* empty css */ var e = "v16_57_0-beta_1_pa0wjc0";
|
|
2
|
+
export { e as themeVars };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
/* empty css */ /* empty css */ var
|
|
2
|
-
vertical: "
|
|
3
|
-
horizontal: "
|
|
4
|
-
},
|
|
5
|
-
active: "
|
|
6
|
-
inactive: "
|
|
7
|
-
completed: "
|
|
8
|
-
},
|
|
9
|
-
default: "
|
|
10
|
-
overBrand: "
|
|
1
|
+
/* empty css */ /* empty css */ var a = {
|
|
2
|
+
vertical: "v16_57_0-beta_1_w6pat20",
|
|
3
|
+
horizontal: "v16_57_0-beta_1_w6pat21"
|
|
4
|
+
}, e = "v16_57_0-beta_1_w6pat23 v16_57_0-beta_1_w6pat22 v16_57_0-beta_1_1y2v1nfq4 v16_57_0-beta_1_1y2v1nfqh", v = "v16_57_0-beta_1_w6pat25 v16_57_0-beta_1_w6pat24 v16_57_0-beta_1_1y2v1nfqq v16_57_0-beta_1_1y2v1nfsh v16_57_0-beta_1_1y2v1nfhf", b = {
|
|
5
|
+
active: "v16_57_0-beta_1_w6pat26",
|
|
6
|
+
inactive: "v16_57_0-beta_1_w6pat27",
|
|
7
|
+
completed: "v16_57_0-beta_1_w6pat28"
|
|
8
|
+
}, n = "v16_57_0-beta_1_w6pat2a v16_57_0-beta_1_w6pat29 v16_57_0-beta_1_1y2v1nfq4 v16_57_0-beta_1_1y2v1nfqj", p = "v16_57_0-beta_1_w6pat2b", f = "v16_57_0-beta_1_w6pat2d v16_57_0-beta_1_w6pat2c v16_57_0-beta_1_1y2v1nfr1 v16_57_0-beta_1_1y2v1nfrh v16_57_0-beta_1_1y2v1nfso v16_57_0-beta_1_1y2v1nfq4 v16_57_0-beta_1_1y2v1nfqj v16_57_0-beta_1_1y2v1nfqd v16_57_0-beta_1_1y2v1nf83", r = {
|
|
9
|
+
default: "v16_57_0-beta_1_w6pat2g v16_57_0-beta_1_w6pat2f v16_57_0-beta_1_w6pat2e v16_57_0-beta_1_1y2v1nfqq",
|
|
10
|
+
overBrand: "v16_57_0-beta_1_w6pat2h v16_57_0-beta_1_w6pat2f v16_57_0-beta_1_w6pat2e v16_57_0-beta_1_1y2v1nfqq"
|
|
11
11
|
};
|
|
12
|
-
export {
|
|
12
|
+
export { p as asset, f as assetNumberContainer, v as itemContent, r as line, n as lineContainer, a as timeline, e as timelineItem, b as timelineItemState };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/* empty css */ /* empty css */ var
|
|
2
|
-
default: "
|
|
3
|
-
brand: "
|
|
4
|
-
negative: "
|
|
5
|
-
alternative: "
|
|
6
|
-
media: "
|
|
1
|
+
/* empty css */ /* empty css */ var v = "v16_57_0-beta_1_18fye840 v16_57_0-beta_1_1y2v1nfq8", a = "v16_57_0-beta_1_18fye841", t = "v16_57_0-beta_1_18fye843 v16_57_0-beta_1_18fye841 v16_57_0-beta_1_18fye842 v16_57_0-beta_1_1y2v1nfq5 v16_57_0-beta_1_1y2v1nfqd", f = "v16_57_0-beta_1_18fye845 v16_57_0-beta_1_18fye841 v16_57_0-beta_1_18fye844 v16_57_0-beta_1_1y2v1nfq8", b = "v16_57_0-beta_1_18fye847 v16_57_0-beta_1_18fye846 v16_57_0-beta_1_1y2v1nfq4 v16_57_0-beta_1_1y2v1nfqa v16_57_0-beta_1_1y2v1nfqj", y = "v16_57_0-beta_1_18fye848", n = {
|
|
2
|
+
default: "v16_57_0-beta_1_18fye84g v16_57_0-beta_1_18fye84a v16_57_0-beta_1_18fye849 v16_57_0-beta_1_1y2v1nfil v16_57_0-beta_1_1y2v1nfju v16_57_0-beta_1_1y2v1nfg6 v16_57_0-beta_1_1y2v1nfhf v16_57_0-beta_1_1y2v1nfsw v16_57_0-beta_1_18fye84b v16_57_0-beta_1_1y2v1nfdi",
|
|
3
|
+
brand: "v16_57_0-beta_1_18fye84h v16_57_0-beta_1_18fye84a v16_57_0-beta_1_18fye849 v16_57_0-beta_1_1y2v1nfil v16_57_0-beta_1_1y2v1nfju v16_57_0-beta_1_1y2v1nfg6 v16_57_0-beta_1_1y2v1nfhf v16_57_0-beta_1_1y2v1nfsw v16_57_0-beta_1_18fye84c v16_57_0-beta_1_1y2v1nf83",
|
|
4
|
+
negative: "v16_57_0-beta_1_18fye84i v16_57_0-beta_1_18fye84a v16_57_0-beta_1_18fye849 v16_57_0-beta_1_1y2v1nfil v16_57_0-beta_1_1y2v1nfju v16_57_0-beta_1_1y2v1nfg6 v16_57_0-beta_1_1y2v1nfhf v16_57_0-beta_1_1y2v1nfsw v16_57_0-beta_1_18fye84d v16_57_0-beta_1_1y2v1nf83",
|
|
5
|
+
alternative: "v16_57_0-beta_1_18fye84j v16_57_0-beta_1_18fye84a v16_57_0-beta_1_18fye849 v16_57_0-beta_1_1y2v1nfil v16_57_0-beta_1_1y2v1nfju v16_57_0-beta_1_1y2v1nfg6 v16_57_0-beta_1_1y2v1nfhf v16_57_0-beta_1_1y2v1nfsw v16_57_0-beta_1_18fye84e v16_57_0-beta_1_1y2v1nf83",
|
|
6
|
+
media: "v16_57_0-beta_1_18fye84k v16_57_0-beta_1_18fye84a v16_57_0-beta_1_18fye849 v16_57_0-beta_1_1y2v1nfil v16_57_0-beta_1_1y2v1nfju v16_57_0-beta_1_1y2v1nfg6 v16_57_0-beta_1_1y2v1nfhf v16_57_0-beta_1_1y2v1nfsw v16_57_0-beta_1_18fye84f"
|
|
7
7
|
};
|
|
8
|
-
export {
|
|
8
|
+
export { y as boxedTimerDisplayValue, n as boxedTimerValueContainer, a as inlineText, f as shortLabelText, b as timerDisplayValue, v as timerWrapper, t as unitContainer };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* empty css */ /* empty css */ var
|
|
1
|
+
/* empty css */ /* empty css */ var a = 40, v = {
|
|
2
2
|
entering: {
|
|
3
3
|
opacity: 1
|
|
4
4
|
},
|
|
@@ -12,5 +12,5 @@
|
|
|
12
12
|
opacity: 0
|
|
13
13
|
},
|
|
14
14
|
unmounted: {}
|
|
15
|
-
},
|
|
16
|
-
export {
|
|
15
|
+
}, e = "v16_57_0-beta_1_1xhatbp1 v16_57_0-beta_1_1xhatbp0 v16_57_0-beta_1_1y2v1nfpz", b = "v16_57_0-beta_1_1xhatbp3 v16_57_0-beta_1_1xhatbp2 v16_57_0-beta_1_1y2v1nfpy v16_57_0-beta_1_1y2v1nfsy v16_57_0-beta_1_1y2v1nf83", n = "v16_57_0-beta_1_1xhatbp5 v16_57_0-beta_1_1xhatbp4 v16_57_0-beta_1_1y2v1nfpy v16_57_0-beta_1_1y2v1nft8", p = "v16_57_0-beta_1_1xhatbp6", o = "v16_57_0-beta_1_1xhatbp7 v16_57_0-beta_1_1y2v1nfq4 v16_57_0-beta_1_1y2v1nfqa v16_57_0-beta_1_1y2v1nfqj", r = "v16_57_0-beta_1_1xhatbp9 v16_57_0-beta_1_1xhatbp8 v16_57_0-beta_1_1y2v1nfpz v16_57_0-beta_1_1y2v1nfqz v16_57_0-beta_1_1y2v1nft8", y = "v16_57_0-beta_1_1xhatbpb v16_57_0-beta_1_1xhatbpa v16_57_0-beta_1_1y2v1nfqx v16_57_0-beta_1_1y2v1nfrd v16_57_0-beta_1_1y2v1nfpz v16_57_0-beta_1_1y2v1nfte v16_57_0-beta_1_1y2v1nf83", f = "v16_57_0-beta_1_1xhatbpd v16_57_0-beta_1_1xhatbpc v16_57_0-beta_1_1y2v1nfpz";
|
|
16
|
+
export { a as CONTENT_MIN_WIDTH, y as arrow, r as arrowContainer, f as closeButtonIcon, e as container, p as content, n as contentContainer, b as tooltip, o as tooltipCenter, v as tooltipTransitionClasses };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* empty css */ /* empty css */ var
|
|
2
|
-
export {
|
|
1
|
+
/* empty css */ /* empty css */ var v = "v16_57_0-beta_1_mhti6u0", a = "v16_57_0-beta_1_mhti6u2 v16_57_0-beta_1_mhti6u1 v16_57_0-beta_1_1y2v1nft7", e = "v16_57_0-beta_1_mhti6u4 v16_57_0-beta_1_mhti6u2 v16_57_0-beta_1_mhti6u1 v16_57_0-beta_1_1y2v1nft7 v16_57_0-beta_1_mhti6u3 v16_57_0-beta_1_1y2v1nffx v16_57_0-beta_1_1y2v1nfh6 v16_57_0-beta_1_1y2v1nfif v16_57_0-beta_1_1y2v1nfjo v16_57_0-beta_1_1y2v1nfq6 v16_57_0-beta_1_1y2v1nfsm v16_57_0-beta_1_1y2v1nfqr v16_57_0-beta_1_1y2v1nf7x v16_57_0-beta_1_1y2v1nffw v16_57_0-beta_1_1y2v1nft9", b = "v16_57_0-beta_1_mhti6u5";
|
|
2
|
+
export { a as base, v as marginReset, b as notTouchable, e as touchable };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* empty css */ /* empty css */ var
|
|
2
|
-
aspectRatio: "var(--
|
|
3
|
-
},
|
|
4
|
-
export {
|
|
1
|
+
/* empty css */ /* empty css */ var a = {
|
|
2
|
+
aspectRatio: "var(--v16_57_0-beta_1_yqswj60)"
|
|
3
|
+
}, t = "v16_57_0-beta_1_yqswj61 v16_57_0-beta_1_1y2v1nft8 v16_57_0-beta_1_1y2v1nfsj v16_57_0-beta_1_1y2v1nfsk v16_57_0-beta_1_1y2v1nfpy", e = "v16_57_0-beta_1_yqswj62", r = "v16_57_0-beta_1_yqswj63 v16_57_0-beta_1_1y2v1nfqr v16_57_0-beta_1_1y2v1nfr8 v16_57_0-beta_1_1y2v1nfte v16_57_0-beta_1_1y2v1nftt";
|
|
4
|
+
export { e as container, r as containerWithWrapper, a as vars, t as wrapper };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* empty css */ /* empty css */ var
|
|
2
|
-
export {
|
|
1
|
+
/* empty css */ /* empty css */ var t = "v16_57_0-beta_1_19h163j0 v16_57_0-beta_1_1y2v1nfte v16_57_0-beta_1_1y2v1nftt v16_57_0-beta_1_1y2v1nfq6 v16_57_0-beta_1_1y2v1nffw v16_57_0-beta_1_1y2v1nfsj v16_57_0-beta_1_1y2v1nfsk v16_57_0-beta_1_1y2v1nfv2";
|
|
2
|
+
export { t as video };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* empty css */ var
|
|
2
|
-
export {
|
|
1
|
+
/* empty css */ var _ = "v16_57_0-beta_1_1ezqdj90", a = "v16_57_0-beta_1_1ezqdj91";
|
|
2
|
+
export { _ as container, a as waveFadeOut };
|
package/doc/analytics.md
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Analytics
|
|
2
|
+
|
|
3
|
+
`@telefonica/mistica` comes with built in support for tracking to any analytics system (for example Google
|
|
4
|
+
Analytics).
|
|
5
|
+
|
|
6
|
+
Some components, like buttons, come with a special `trackingEvent` prop. Every time that the button is
|
|
7
|
+
pressed, an event is tracked with the data provided to the `trackingEvent` prop. This type is defined by the
|
|
8
|
+
[webview-bridge](https://github.com/Telefonica/webview-bridge). **At the time of writing this documentation**,
|
|
9
|
+
this is the type of a tracking event:
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
type TrackingEvent = Readonly<{
|
|
13
|
+
category: string;
|
|
14
|
+
action: string;
|
|
15
|
+
label?: string;
|
|
16
|
+
value?: number;
|
|
17
|
+
screenName?: string;
|
|
18
|
+
[key: string]: any;
|
|
19
|
+
}>;
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
And here is an axample of a button with a tracking event:
|
|
23
|
+
|
|
24
|
+
```js
|
|
25
|
+
<ButtonPrimary
|
|
26
|
+
href="/checkout"
|
|
27
|
+
trackingEvent={{
|
|
28
|
+
category: 'checkout',
|
|
29
|
+
action: 'button_pressed',
|
|
30
|
+
}}
|
|
31
|
+
>
|
|
32
|
+
Comprar
|
|
33
|
+
</ButtonPrimary>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
By default `@telefonica/mistica` won't do anything with that `trackingEvent`, but you setup the lib to call
|
|
37
|
+
your analytics system by setting up the `analytics` field in the [`theme` prop](./theme-config.md):
|
|
38
|
+
|
|
39
|
+
```js
|
|
40
|
+
<ThemeContextProvider
|
|
41
|
+
theme={{
|
|
42
|
+
skin: 'Movistar',
|
|
43
|
+
i18n: {locale: 'es-ES', phoneNumberFormattingRegionCode: 'ES'},
|
|
44
|
+
analytics: {
|
|
45
|
+
// this function is called every time a button with trackingEvent is pressed
|
|
46
|
+
logEvent(event: TrackingEvent): Promise<void> {
|
|
47
|
+
const logFinished = yourAnalyticsSystem(event);
|
|
48
|
+
// you can return a promise here and the lib will wait for the promise to
|
|
49
|
+
// resolve before navigating to a diferent page.
|
|
50
|
+
return logFinished;
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
}}
|
|
54
|
+
>
|
|
55
|
+
<App />
|
|
56
|
+
</ThemeContextProvider>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Default tracking events
|
|
60
|
+
|
|
61
|
+
Some components, like `Button` or `TextLink` have default tracking event that you can opt in to use.
|
|
62
|
+
|
|
63
|
+
Instead of:
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
<ButtonPrimary
|
|
67
|
+
to="/dashboard"
|
|
68
|
+
trackingEvent={{
|
|
69
|
+
category: 'user_interaction',
|
|
70
|
+
action: 'primary_button_tapped',
|
|
71
|
+
label: 'Go to dashboard',
|
|
72
|
+
}}
|
|
73
|
+
>
|
|
74
|
+
Go to dashboard
|
|
75
|
+
</ButtonPrimary>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
you can just write:
|
|
79
|
+
|
|
80
|
+
```ts
|
|
81
|
+
<ButtonPrimary to="/dashboard" trackEvent>
|
|
82
|
+
Go to dashboard
|
|
83
|
+
</ButtonPrimary>
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Take into account that you need to set the `trackEvent` boolean prop, if you don't set it the button won't
|
|
87
|
+
track any event.
|
|
88
|
+
|
|
89
|
+
## Firebase / Google Analytics 4 events
|
|
90
|
+
|
|
91
|
+
Firebase and the new Google Analytics 4 events have a different shape. Instead of `category`, `action`,
|
|
92
|
+
`label` and `value`, you only need a mandatory `name` and any number of optional attributes. For example:
|
|
93
|
+
|
|
94
|
+
```ts
|
|
95
|
+
{
|
|
96
|
+
name: 'user_interaction',
|
|
97
|
+
component_type: 'row',
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
You can use this event format with mistica components too, but you need to change the
|
|
102
|
+
`theme.analytics.eventFormat` config:
|
|
103
|
+
|
|
104
|
+
```ts
|
|
105
|
+
analytics: {
|
|
106
|
+
eventFormat: 'google-analytics-4'
|
|
107
|
+
logEvent(event) {
|
|
108
|
+
// do something
|
|
109
|
+
},
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
`eventFormat` can be `'google-analytics-4'` or `'universal-analytics'` (default).
|
|
114
|
+
|
|
115
|
+
When you set the `eventFormat` to `'google-analytics-4'` and use the
|
|
116
|
+
[`trackEvent` boolean prop](#default-tracking-events), the tracked event will have this form:
|
|
117
|
+
|
|
118
|
+
```ts
|
|
119
|
+
{
|
|
120
|
+
name: 'user_interaction',
|
|
121
|
+
component_type: 'primary_button', // or the corresponding button type
|
|
122
|
+
component_copy: '<the button copy>',
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### TrackingConfig
|
|
127
|
+
|
|
128
|
+
You can also define an `eventFormat` for a specific part of your app, using the `TrackingConfig` context
|
|
129
|
+
provider:
|
|
130
|
+
|
|
131
|
+
```ts
|
|
132
|
+
<SomeComponent/>
|
|
133
|
+
|
|
134
|
+
<TrackingConfig eventFormat="google-analytics-4">
|
|
135
|
+
<AnotherComponent/> // this will track using GA4 format
|
|
136
|
+
</TrackingConfig>
|
|
137
|
+
|
|
138
|
+
<SomeOtherComponent/>
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
A hook to obtain the tracking config is also available:
|
|
142
|
+
|
|
143
|
+
```ts
|
|
144
|
+
const {eventFormat} = useTrackingConfig();
|
|
145
|
+
```
|