@telefonica/mistica 10.18.0 → 10.22.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.
Files changed (68) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/button-layout.js +30 -17
  3. package/dist/button.js +24 -8
  4. package/dist/card.js +25 -28
  5. package/dist/chip.d.ts +9 -0
  6. package/dist/chip.js +111 -0
  7. package/dist/chip.js.flow +11 -0
  8. package/dist/header.d.ts +2 -0
  9. package/dist/header.js.flow +5 -0
  10. package/dist/icons/icon-success.js +14 -6
  11. package/dist/image.d.ts +1 -1
  12. package/dist/image.js +3 -2
  13. package/dist/image.js.flow +4 -1
  14. package/dist/index.d.ts +2 -0
  15. package/dist/index.js +7 -0
  16. package/dist/index.js.flow +2 -0
  17. package/dist/package-version.js +1 -1
  18. package/dist/section-title.d.ts +1 -3
  19. package/dist/section-title.js.flow +1 -2
  20. package/dist/skins/blau.d.ts +6 -3
  21. package/dist/skins/blau.js +34 -5
  22. package/dist/skins/blau.js.flow +6 -3
  23. package/dist/skins/movistar.d.ts +21 -11
  24. package/dist/skins/movistar.js +76 -40
  25. package/dist/skins/movistar.js.flow +21 -11
  26. package/dist/skins/o2-classic.d.ts +21 -9
  27. package/dist/skins/o2-classic.js +64 -26
  28. package/dist/skins/o2-classic.js.flow +21 -9
  29. package/dist/skins/o2.d.ts +19 -17
  30. package/dist/skins/o2.js +68 -40
  31. package/dist/skins/o2.js.flow +19 -17
  32. package/dist/skins/telefonica.d.ts +18 -13
  33. package/dist/skins/telefonica.js +76 -45
  34. package/dist/skins/telefonica.js.flow +18 -13
  35. package/dist/skins/types.d.ts +12 -0
  36. package/dist/skins/types.js.flow +12 -0
  37. package/dist/skins/vivo.d.ts +9 -4
  38. package/dist/skins/vivo.js +37 -6
  39. package/dist/skins/vivo.js.flow +9 -4
  40. package/dist/tag.d.ts +6 -1
  41. package/dist/tag.js +133 -24
  42. package/dist/tag.js.flow +15 -1
  43. package/dist/text.d.ts +4 -0
  44. package/dist/text.js +13 -6
  45. package/dist/text.js.flow +10 -0
  46. package/dist/theme-context-provider.js +8 -2
  47. package/dist/theme.d.ts +2 -0
  48. package/dist/theme.js.flow +2 -0
  49. package/dist/touchable.js +3 -2
  50. package/dist-es/button-layout.js +30 -17
  51. package/dist-es/button.js +24 -8
  52. package/dist-es/card.js +26 -29
  53. package/dist-es/chip.js +100 -0
  54. package/dist-es/icons/icon-success.js +14 -6
  55. package/dist-es/image.js +3 -2
  56. package/dist-es/index.js +1 -0
  57. package/dist-es/package-version.js +1 -1
  58. package/dist-es/skins/blau.js +36 -5
  59. package/dist-es/skins/movistar.js +78 -40
  60. package/dist-es/skins/o2-classic.js +66 -26
  61. package/dist-es/skins/o2.js +70 -40
  62. package/dist-es/skins/telefonica.js +78 -45
  63. package/dist-es/skins/vivo.js +39 -6
  64. package/dist-es/tag.js +130 -26
  65. package/dist-es/text.js +13 -6
  66. package/dist-es/theme-context-provider.js +8 -2
  67. package/dist-es/touchable.js +3 -2
  68. package/package.json +1 -1
@@ -3,23 +3,27 @@
3
3
  import type { GetSkin } from "./types";
4
4
  declare export var palette: {
5
5
  +telefonicaBlue: "#0066FF",
6
- +telefonicaBlueDark: "#0356C9",
7
- +telefonicaBlueLight50: "#80B2FF",
8
- +telefonicaBlueLight30: "#B3D1FF",
9
- +telefonicaBlueLight20: "#EBF3FF",
6
+ +telefonicaBlue10: "#E5F0FF",
7
+ +telefonicaBlue20: "#B2D1FF",
8
+ +telefonicaBlue30: "#80B3FF",
9
+ +telefonicaBlue70: "#0356C9",
10
10
  +ambar: "#EAC344",
11
- +ambarLight: "#F5E98A",
12
- +ambarDark: "#AD842D",
11
+ +ambar10: "#FDF9EC",
12
+ +ambar40: "#F0D57C",
13
+ +ambar70: "#69581F",
13
14
  +coral: "#E66C64",
14
- +coralLight: "#E3A19A",
15
- +coralDark: "#912C31",
15
+ +coral10: "#FDF0EF",
16
+ +coral40: "#E3A19A",
17
+ +coral70: "#D50000",
18
+ +coral80: "#912C31",
16
19
  +orchid: "#C466EF",
17
- +orchidDark: "#8A1A93",
18
- +orchidLight: "#E7C2F8",
20
+ +orchid10: "#F9F0FD",
21
+ +orchid40: "#D694F4",
22
+ +orchid70: "#8947A7",
19
23
  +turquoise: "#59C2C9",
20
- +turquoiseLight: "#67E0E5",
21
- +turquoiseDark: "#3E8A8A",
22
- +white: "#FFFFFF",
24
+ +turquoise10: "#EEF9FA",
25
+ +turquoise40: "#8BD4D9",
26
+ +turquoise70: "#3E888D",
23
27
  +grey1: "#F2F4FF",
24
28
  +grey2: "#D1D5E4",
25
29
  +grey3: "#B0B6CA",
@@ -29,6 +33,7 @@ declare export var palette: {
29
33
  +grey7: "#414B61",
30
34
  +grey8: "#2B3447",
31
35
  +grey9: "#031A34",
36
+ +white: "#FFFFFF",
32
37
  +darkModeBlack: "#191919",
33
38
  +darkModeGrey: "#242424",
34
39
  };
@@ -83,4 +83,16 @@ export declare type Colors = {
83
83
  textNavigationSearchBarText: string;
84
84
  textAppBar: string;
85
85
  textAppBarSelected: string;
86
+ tagBackgroundSuccess: string;
87
+ tagBackgroundWarning: string;
88
+ tagBackgroundError: string;
89
+ tagBackgroundPromo: string;
90
+ tagBackgroundActive: string;
91
+ tagBackgroundInactive: string;
92
+ textTagSuccess: string;
93
+ textTagWarning: string;
94
+ textTagError: string;
95
+ textTagPromo: string;
96
+ textTagActive: string;
97
+ textTagInactive: string;
86
98
  };
@@ -91,4 +91,16 @@ export type Colors = {
91
91
  textNavigationSearchBarText: string,
92
92
  textAppBar: string,
93
93
  textAppBarSelected: string,
94
+ tagBackgroundSuccess: string,
95
+ tagBackgroundWarning: string,
96
+ tagBackgroundError: string,
97
+ tagBackgroundPromo: string,
98
+ tagBackgroundActive: string,
99
+ tagBackgroundInactive: string,
100
+ textTagSuccess: string,
101
+ textTagWarning: string,
102
+ textTagError: string,
103
+ textTagPromo: string,
104
+ textTagActive: string,
105
+ textTagInactive: string,
94
106
  };
@@ -8,16 +8,21 @@ export declare const palette: {
8
8
  readonly vivoPurpleLight20: "#E0CCEB";
9
9
  readonly vivoPurpleLight10: "#EFE5F4";
10
10
  readonly vivoGreen: "#99CC33";
11
- readonly vivoGreenDark: "#33A14A";
12
- readonly vivoGreenLight40: "#D6EAAD";
11
+ readonly vivoGreenDark: "#225C3D";
12
+ readonly vivoGreenLight30: "#91AE9E";
13
+ readonly vivoGreenLight10: "#EDF8E8";
13
14
  readonly vivoBlue: "#00ABDB";
14
15
  readonly orange: "#FF9900";
15
- readonly orangeDark: "#FA6324";
16
- readonly orangeLight: "#FFD699";
16
+ readonly orangeDark: "#972A1D";
17
+ readonly orangeLight10: "#FFEFE1";
18
+ readonly orangeLight40: "#FFB84C";
17
19
  readonly pink: "#EB3D7D";
18
20
  readonly pepper: "#CC1F59";
19
21
  readonly pepperDark: "#B71D63";
22
+ readonly pepperDark80: "#8F2052";
23
+ readonly pepperLight40: "#DB628B";
20
24
  readonly pepperLight30: "#F7B1CB";
25
+ readonly pepperLight10: "#FCE4EF";
21
26
  readonly grey1: "#F6F6F6";
22
27
  readonly grey2: "#EEEEEE";
23
28
  readonly grey3: "#DDDDDD";
@@ -14,16 +14,21 @@ var palette = {
14
14
  vivoPurpleLight20: '#E0CCEB',
15
15
  vivoPurpleLight10: '#EFE5F4',
16
16
  vivoGreen: '#99CC33',
17
- vivoGreenDark: '#33A14A',
18
- vivoGreenLight40: '#D6EAAD',
17
+ vivoGreenDark: '#225C3D',
18
+ vivoGreenLight30: '#91AE9E',
19
+ vivoGreenLight10: '#EDF8E8',
19
20
  vivoBlue: '#00ABDB',
20
21
  orange: '#FF9900',
21
- orangeDark: '#FA6324',
22
- orangeLight: '#FFD699',
22
+ orangeDark: '#972A1D',
23
+ orangeLight10: '#FFEFE1',
24
+ orangeLight40: '#FFB84C',
23
25
  pink: '#EB3D7D',
24
26
  pepper: '#CC1F59',
25
27
  pepperDark: '#B71D63',
28
+ pepperDark80: '#8F2052',
29
+ pepperLight40: '#DB628B',
26
30
  pepperLight30: '#F7B1CB',
31
+ pepperLight10: '#FCE4EF',
27
32
  grey1: '#F6F6F6',
28
33
  grey2: '#EEEEEE',
29
34
  grey3: '#DDDDDD',
@@ -127,7 +132,20 @@ var getVivoSkin = function getVivoSkin() {
127
132
  textNavigationSearchBarHint: palette.vivoPurpleLight50,
128
133
  textNavigationSearchBarText: palette.white,
129
134
  textAppBar: palette.grey4,
130
- textAppBarSelected: palette.vivoPurple
135
+ textAppBarSelected: palette.vivoPurple,
136
+ // TAGS
137
+ tagBackgroundSuccess: palette.vivoGreenLight10,
138
+ tagBackgroundWarning: palette.orangeLight10,
139
+ tagBackgroundError: palette.pepperLight10,
140
+ tagBackgroundPromo: palette.vivoPurpleLight10,
141
+ tagBackgroundActive: palette.vivoPurpleLight10,
142
+ tagBackgroundInactive: palette.grey1,
143
+ textTagSuccess: palette.vivoGreenDark,
144
+ textTagWarning: palette.orangeDark,
145
+ textTagError: palette.pepperDark80,
146
+ textTagPromo: palette.vivoPurple,
147
+ textTagActive: palette.vivoPurple,
148
+ textTagInactive: palette.grey5
131
149
  },
132
150
  darkModeColors: {
133
151
  appBarBackground: palette.darkModeGrey,
@@ -195,7 +213,20 @@ var getVivoSkin = function getVivoSkin() {
195
213
  textNavigationSearchBarHint: palette.grey4,
196
214
  textNavigationSearchBarText: palette.grey2,
197
215
  textAppBar: palette.grey5,
198
- textAppBarSelected: palette.grey2
216
+ textAppBarSelected: palette.grey2,
217
+ // TAGS
218
+ tagBackgroundSuccess: (0, _color).applyAlpha(palette.white, 0.05),
219
+ tagBackgroundWarning: (0, _color).applyAlpha(palette.white, 0.05),
220
+ tagBackgroundError: (0, _color).applyAlpha(palette.white, 0.05),
221
+ tagBackgroundPromo: (0, _color).applyAlpha(palette.white, 0.05),
222
+ tagBackgroundActive: (0, _color).applyAlpha(palette.white, 0.05),
223
+ tagBackgroundInactive: (0, _color).applyAlpha(palette.white, 0.05),
224
+ textTagSuccess: palette.vivoGreenLight30,
225
+ textTagWarning: palette.orangeLight40,
226
+ textTagError: palette.pepperLight40,
227
+ textTagPromo: palette.vivoPurpleLight50,
228
+ textTagActive: palette.vivoPurpleLight50,
229
+ textTagInactive: palette.grey4
199
230
  }
200
231
  };
201
232
  };
@@ -10,16 +10,21 @@ declare export var palette: {
10
10
  +vivoPurpleLight20: "#E0CCEB",
11
11
  +vivoPurpleLight10: "#EFE5F4",
12
12
  +vivoGreen: "#99CC33",
13
- +vivoGreenDark: "#33A14A",
14
- +vivoGreenLight40: "#D6EAAD",
13
+ +vivoGreenDark: "#225C3D",
14
+ +vivoGreenLight30: "#91AE9E",
15
+ +vivoGreenLight10: "#EDF8E8",
15
16
  +vivoBlue: "#00ABDB",
16
17
  +orange: "#FF9900",
17
- +orangeDark: "#FA6324",
18
- +orangeLight: "#FFD699",
18
+ +orangeDark: "#972A1D",
19
+ +orangeLight10: "#FFEFE1",
20
+ +orangeLight40: "#FFB84C",
19
21
  +pink: "#EB3D7D",
20
22
  +pepper: "#CC1F59",
21
23
  +pepperDark: "#B71D63",
24
+ +pepperDark80: "#8F2052",
25
+ +pepperLight40: "#DB628B",
22
26
  +pepperLight30: "#F7B1CB",
27
+ +pepperLight10: "#FCE4EF",
23
28
  +grey1: "#F6F6F6",
24
29
  +grey2: "#EEEEEE",
25
30
  +grey3: "#DDDDDD",
package/dist/tag.d.ts CHANGED
@@ -1,7 +1,12 @@
1
1
  import * as React from 'react';
2
+ import type { IconProps } from './utils/types';
3
+ export declare type TagType = 'promo' | 'active' | 'inactive' | 'success' | 'warning' | 'error';
2
4
  export declare type TagProps = {
5
+ type?: 'promo' | 'active' | 'inactive' | 'success' | 'warning' | 'error';
3
6
  children: string;
4
- color: string;
7
+ Icon?: React.FC<IconProps>;
8
+ /** @deprecated use type prop */
9
+ color?: string;
5
10
  };
6
11
  declare const Tag: React.FC<TagProps>;
7
12
  export default Tag;
package/dist/tag.js CHANGED
@@ -4,48 +4,157 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  exports.default = void 0;
6
6
  var _jsxRuntime = require("react/jsx-runtime");
7
+ var _box = _interopRequireDefault(require("./box"));
7
8
  var _hooks = require("./hooks");
8
9
  var _jss = require("./jss");
9
10
  var _text = require("./text");
10
11
  var _themeVariantContext = require("./theme-variant-context");
12
+ var _css = require("./utils/css");
13
+ function _interopRequireDefault(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ function _arrayWithHoles(arr) {
19
+ if (Array.isArray(arr)) return arr;
20
+ }
21
+ function _iterableToArrayLimit(arr, i) {
22
+ var _arr = [];
23
+ var _n = true;
24
+ var _d = false;
25
+ var _e = undefined;
26
+ try {
27
+ for(var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true){
28
+ _arr.push(_s.value);
29
+ if (i && _arr.length === i) break;
30
+ }
31
+ } catch (err) {
32
+ _d = true;
33
+ _e = err;
34
+ } finally{
35
+ try {
36
+ if (!_n && _i["return"] != null) _i["return"]();
37
+ } finally{
38
+ if (_d) throw _e;
39
+ }
40
+ }
41
+ return _arr;
42
+ }
43
+ function _nonIterableRest() {
44
+ throw new TypeError("Invalid attempt to destructure non-iterable instance");
45
+ }
46
+ function _slicedToArray(arr, i) {
47
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
48
+ }
11
49
  var useStyles = (0, _jss).createUseStyles(function() {
12
50
  return {
13
51
  tag: {
14
- backgroundColor: function backgroundColor(param) {
15
- var color = param.color;
16
- return color;
17
- },
18
- padding: '2px 8px',
19
- borderRadius: 2,
20
- minWidth: 48,
21
52
  display: 'inline-flex',
53
+ flexDirection: 'row',
22
54
  alignItems: 'center',
23
- justifyContent: 'center'
55
+ borderRadius: 50,
56
+ justifyContent: 'center',
57
+ minWidth: 56,
58
+ padding: function padding(param) {
59
+ var hasIcon = param.hasIcon;
60
+ return "4px 12px 4px ".concat(hasIcon ? 8 : 12, "px");
61
+ },
62
+ // FIXME: remove this style and use an inline style for the icon once WEB-338 gets merged
63
+ '& svg': {
64
+ display: 'block'
65
+ }
24
66
  }
25
67
  };
26
68
  });
27
69
  var Tag = function Tag(param) {
28
- var children = param.children, color = param.color;
70
+ var Icon = param.Icon, children = param.children, _type = param.type, type = _type === void 0 ? 'promo' : _type, color = param.color;
29
71
  var classes = useStyles({
30
- color: color
72
+ hasIcon: !!Icon
31
73
  });
32
74
  var ref = (0, _hooks).useTheme(), colors = ref.colors, isDarkMode = ref.isDarkMode;
33
- // Hardcode black text in darkmode because there isn't a black text color constant that we can use in dark mode
34
- var blackText = isDarkMode ? '#313235' : colors.textPrimary;
35
- var textColor = color === colors.inverse ? blackText : colors.textPrimaryInverse;
36
- return(/*#__PURE__*/ (0, _jsxRuntime).jsx("span", {
37
- className: classes.tag,
38
- children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_themeVariantContext.ThemeVariant, {
75
+ var isInverse = (0, _themeVariantContext).useIsInverseVariant();
76
+ if (!children) {
77
+ return null;
78
+ }
79
+ /**
80
+ * Legacy implementation
81
+ *
82
+ * @deprecated to be removed in the next major version
83
+ */ if (color) {
84
+ // Hardcode black text in darkmode because there isn't a black text color constant that we can use in dark mode
85
+ var blackText = isDarkMode ? '#313235' : colors.textPrimary;
86
+ var textColor = color === colors.inverse ? blackText : colors.textPrimaryInverse;
87
+ return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_themeVariantContext.ThemeVariant, {
39
88
  isInverse: false,
40
- children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_text.Text, {
41
- color: textColor,
42
- size: 12,
43
- lineHeight: 16,
44
- weight: "regular",
45
- uppercase: true,
46
- children: children
89
+ children: /*#__PURE__*/ (0, _jsxRuntime).jsx("span", {
90
+ className: classes.tag,
91
+ style: {
92
+ background: color
93
+ },
94
+ children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_text.Text, {
95
+ color: textColor,
96
+ size: 14,
97
+ lineHeight: 20,
98
+ weight: "medium",
99
+ truncate: true,
100
+ children: children
101
+ })
102
+ })
103
+ }));
104
+ }
105
+ var tagTypeToColors = {
106
+ promo: [
107
+ colors.textTagPromo,
108
+ colors.tagBackgroundPromo
109
+ ],
110
+ active: [
111
+ colors.textTagActive,
112
+ colors.tagBackgroundActive
113
+ ],
114
+ inactive: [
115
+ colors.textTagInactive,
116
+ colors.tagBackgroundInactive
117
+ ],
118
+ success: [
119
+ colors.textTagSuccess,
120
+ colors.tagBackgroundSuccess
121
+ ],
122
+ warning: [
123
+ colors.textTagWarning,
124
+ colors.tagBackgroundWarning
125
+ ],
126
+ error: [
127
+ colors.textTagError,
128
+ colors.tagBackgroundError
129
+ ]
130
+ };
131
+ var _type1 = _slicedToArray(tagTypeToColors[type], 2), textColor = _type1[0], backgroundColor = _type1[1];
132
+ var shouldUseInverseBackground = isInverse && !isDarkMode;
133
+ return(/*#__PURE__*/ (0, _jsxRuntime).jsxs("span", {
134
+ className: classes.tag,
135
+ style: {
136
+ background: shouldUseInverseBackground ? colors.inverse : backgroundColor
137
+ },
138
+ children: [
139
+ Icon && /*#__PURE__*/ (0, _jsxRuntime).jsx(_box.default, {
140
+ paddingRight: 4,
141
+ children: /*#__PURE__*/ (0, _jsxRuntime).jsx(Icon, {
142
+ color: textColor,
143
+ size: (0, _css).pxToRem(16)
144
+ })
145
+ }),
146
+ /*#__PURE__*/ (0, _jsxRuntime).jsx(_themeVariantContext.ThemeVariant, {
147
+ isInverse: false,
148
+ children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_text.Text, {
149
+ color: textColor,
150
+ size: 14,
151
+ lineHeight: 20,
152
+ weight: "medium",
153
+ truncate: true,
154
+ children: children
155
+ })
47
156
  })
48
- })
157
+ ]
49
158
  }));
50
159
  };
51
160
  var _default = Tag;
package/dist/tag.js.flow CHANGED
@@ -1,9 +1,23 @@
1
1
  // @flow
2
2
 
3
3
  import * as React from "react";
4
+ import type { IconProps } from "./utils/types";
5
+ export type TagType =
6
+ | "promo"
7
+ | "active"
8
+ | "inactive"
9
+ | "success"
10
+ | "warning"
11
+ | "error";
4
12
  export type TagProps = {
13
+ type?: "promo" | "active" | "inactive" | "success" | "warning" | "error",
5
14
  children: string,
6
- color: string,
15
+ Icon?: React.ComponentType<IconProps>,
16
+
17
+ /**
18
+ * @deprecated use type prop
19
+ */
20
+ color?: string,
7
21
  };
8
22
  declare var Tag: React.ComponentType<TagProps>;
9
23
  declare export default typeof Tag;
package/dist/text.d.ts CHANGED
@@ -2,9 +2,13 @@ import * as React from 'react';
2
2
  declare type FontWeight = 'light' | 'regular' | 'medium';
3
3
  export interface TextPresetProps {
4
4
  color?: string;
5
+ /** @deprecated use decoration prop */
5
6
  textDecoration?: 'underline' | 'line-through' | 'none';
7
+ decoration?: 'underline' | 'line-through' | 'inherit' | 'none';
8
+ transform?: 'uppercase' | 'capitalize' | 'lowercase' | 'inherit' | 'none';
6
9
  children?: React.ReactNode;
7
10
  truncate?: boolean | number;
11
+ /** @deprecated use transform */
8
12
  uppercase?: boolean;
9
13
  wordBreak?: boolean;
10
14
  id?: string;
package/dist/text.js CHANGED
@@ -86,7 +86,7 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
86
86
  }
87
87
  return 'initial';
88
88
  };
89
- var _color, _textDecoration;
89
+ var _color, _decoration;
90
90
  return {
91
91
  text: _defineProperty({
92
92
  lineHeight: function lineHeight(param) {
@@ -94,8 +94,14 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
94
94
  return (0, _css).pxToRem(desktopLineHeight);
95
95
  },
96
96
  textTransform: function textTransform(param) {
97
- var uppercase = param.uppercase;
98
- return uppercase ? 'uppercase' : 'inherit';
97
+ var uppercase = param.uppercase, transform = param.transform;
98
+ if (uppercase) {
99
+ return 'uppercase';
100
+ }
101
+ if (transform) {
102
+ return transform;
103
+ }
104
+ return 'inherit';
99
105
  },
100
106
  fontSize: function fontSize(param) {
101
107
  var desktopSize = param.desktopSize;
@@ -110,7 +116,7 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
110
116
  return isInverse ? (_color = inverseColorsMap[color1]) !== null && _color !== void 0 ? _color : color1 : color1;
111
117
  },
112
118
  textDecoration: function textDecoration(p) {
113
- return (_textDecoration = p.textDecoration) !== null && _textDecoration !== void 0 ? _textDecoration : 'inherit';
119
+ return (_decoration = p.decoration) !== null && _decoration !== void 0 ? _decoration : 'inherit';
114
120
  },
115
121
  letterSpacing: function letterSpacing(param) {
116
122
  var letterSpacing1 = param.letterSpacing;
@@ -146,7 +152,7 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
146
152
  };
147
153
  });
148
154
  var Text = function Text(param) {
149
- var weight = param.weight, color = param.color, textDecoration = param.textDecoration, truncate = param.truncate, uppercase = param.uppercase, wordBreak = param.wordBreak, _as = param.as, as = _as === void 0 ? 'span' : _as, children = param.children, size = param.size, _mobileSize = param.mobileSize, mobileSize = _mobileSize === void 0 ? size : _mobileSize, _desktopSize = param.desktopSize, desktopSize = _desktopSize === void 0 ? size : _desktopSize, lineHeight = param.lineHeight, _mobileLineHeight = param.mobileLineHeight, mobileLineHeight = _mobileLineHeight === void 0 ? lineHeight : _mobileLineHeight, _desktopLineHeight = param.desktopLineHeight, desktopLineHeight = _desktopLineHeight === void 0 ? lineHeight : _desktopLineHeight, letterSpacing = param.letterSpacing, id = param.id, role = param.role, ariaLevel = param['aria-level'];
155
+ var weight = param.weight, color = param.color, textDecoration = param.textDecoration, _decoration = param.decoration, decoration = _decoration === void 0 ? textDecoration : _decoration, truncate = param.truncate, uppercase = param.uppercase, transform = param.transform, wordBreak = param.wordBreak, _as = param.as, as = _as === void 0 ? 'span' : _as, children = param.children, size = param.size, _mobileSize = param.mobileSize, mobileSize = _mobileSize === void 0 ? size : _mobileSize, _desktopSize = param.desktopSize, desktopSize = _desktopSize === void 0 ? size : _desktopSize, lineHeight = param.lineHeight, _mobileLineHeight = param.mobileLineHeight, mobileLineHeight = _mobileLineHeight === void 0 ? lineHeight : _mobileLineHeight, _desktopLineHeight = param.desktopLineHeight, desktopLineHeight = _desktopLineHeight === void 0 ? lineHeight : _desktopLineHeight, letterSpacing = param.letterSpacing, id = param.id, role = param.role, ariaLevel = param['aria-level'];
150
156
  var isInverse = (0, _themeVariantContext).useIsInverseVariant();
151
157
  var classes = useStyles({
152
158
  isInverse: isInverse,
@@ -156,8 +162,9 @@ var Text = function Text(param) {
156
162
  desktopLineHeight: desktopLineHeight,
157
163
  weight: weight,
158
164
  color: color,
159
- textDecoration: textDecoration,
165
+ decoration: decoration,
160
166
  uppercase: uppercase,
167
+ transform: transform,
161
168
  wordBreak: wordBreak,
162
169
  letterSpacing: letterSpacing,
163
170
  truncate: truncate
package/dist/text.js.flow CHANGED
@@ -4,9 +4,19 @@ import * as React from "react";
4
4
  declare type FontWeight = "light" | "regular" | "medium";
5
5
  export type TextPresetProps = {
6
6
  color?: string,
7
+
8
+ /**
9
+ * @deprecated use decoration prop
10
+ */
7
11
  textDecoration?: "underline" | "line-through" | "none",
12
+ decoration?: "underline" | "line-through" | "inherit" | "none",
13
+ transform?: "uppercase" | "capitalize" | "lowercase" | "inherit" | "none",
8
14
  children?: React.Node,
9
15
  truncate?: boolean | number,
16
+
17
+ /**
18
+ * @deprecated use transform
19
+ */
10
20
  uppercase?: boolean,
11
21
  wordBreak?: boolean,
12
22
  id?: string,
@@ -148,6 +148,11 @@ var generateId = function() {
148
148
  // in frontend, use the same generator for all JssProvider renders, this way we avoid classname collisions
149
149
  return (0, _jss).createGenerateId();
150
150
  }();
151
+ var useDefaultHrefDecorator = function useDefaultHrefDecorator() {
152
+ return function(href) {
153
+ return href;
154
+ };
155
+ };
151
156
  var ThemeContextProvider = function ThemeContextProvider(param) {
152
157
  var theme = param.theme, children = param.children;
153
158
  var classNamePrefix = React.useMemo(// we'll have missmatches when rendering client side. The disadvantage of this is that we can only have one instance of
@@ -173,7 +178,7 @@ var ThemeContextProvider = function ThemeContextProvider(param) {
173
178
  platform: (0, _platform).getPlatform(),
174
179
  insideNovumNativeApp: (0, _platform).isInsideNovumNativeApp()
175
180
  }, theme.platformOverrides);
176
- var _mediaQueries1, _Link;
181
+ var _mediaQueries1, _Link, _useHrefDecorator;
177
182
  return {
178
183
  skinName: theme.skin.name,
179
184
  i18n: theme.i18n,
@@ -191,7 +196,8 @@ var ThemeContextProvider = function ThemeContextProvider(param) {
191
196
  colors: colors,
192
197
  Link: (_Link = theme.Link) !== null && _Link !== void 0 ? _Link : _theme.AnchorLink,
193
198
  isDarkMode: isDarkModeEnabled,
194
- isIos: (0, _platform).getPlatform(platformOverrides) === 'ios'
199
+ isIos: (0, _platform).getPlatform(platformOverrides) === 'ios',
200
+ useHrefDecorator: (_useHrefDecorator = theme.useHrefDecorator) !== null && _useHrefDecorator !== void 0 ? _useHrefDecorator : useDefaultHrefDecorator
195
201
  };
196
202
  }, [
197
203
  theme,
package/dist/theme.d.ts CHANGED
@@ -98,6 +98,7 @@ export declare type ThemeConfig = {
98
98
  desktopOrTabletMinHeight: number;
99
99
  };
100
100
  Link?: LinkComponent;
101
+ useHrefDecorator?: () => (href: string) => string;
101
102
  enableTabFocus?: boolean;
102
103
  };
103
104
  export declare type Theme = {
@@ -132,5 +133,6 @@ export declare type Theme = {
132
133
  Link: LinkComponent;
133
134
  isDarkMode: boolean;
134
135
  isIos: boolean;
136
+ useHrefDecorator: () => (href: string) => string;
135
137
  };
136
138
  export {};
@@ -102,6 +102,7 @@ export type ThemeConfig = {
102
102
  desktopOrTabletMinHeight: number,
103
103
  },
104
104
  Link?: LinkComponent,
105
+ useHrefDecorator?: () => (href: string) => string,
105
106
  enableTabFocus?: boolean,
106
107
  };
107
108
  export type Theme = {
@@ -136,6 +137,7 @@ export type Theme = {
136
137
  Link: LinkComponent,
137
138
  isDarkMode: boolean,
138
139
  isIos: boolean,
140
+ useHrefDecorator: () => (href: string) => string,
139
141
  };
140
142
  declare export {};
141
143
 
package/dist/touchable.js CHANGED
@@ -114,7 +114,8 @@ var useStyles = (0, _jss).createUseStyles(function() {
114
114
  };
115
115
  });
116
116
  var Touchable = /*#__PURE__*/ React.forwardRef(function(props, ref) {
117
- var ref1 = (0, _hooks).useTheme(), texts = ref1.texts, analytics = ref1.analytics, platformOverrides = ref1.platformOverrides, Link = ref1.Link;
117
+ var ref1 = (0, _hooks).useTheme(), texts = ref1.texts, analytics = ref1.analytics, platformOverrides = ref1.platformOverrides, Link = ref1.Link, useHrefDecorator = ref1.useHrefDecorator;
118
+ var hrefDecorator = useHrefDecorator();
118
119
  var classes = useStyles();
119
120
  var isClicked = React.useRef(false);
120
121
  var trackingEvents = [];
@@ -150,7 +151,7 @@ var Touchable = /*#__PURE__*/ React.forwardRef(function(props, ref) {
150
151
  };
151
152
  var getHref = function getHref() {
152
153
  if (props.href) {
153
- return props.href;
154
+ return hrefDecorator(props.href);
154
155
  }
155
156
  if (props.to && props.fullPageOnWebView) {
156
157
  if (typeof props.to === 'string') {