@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
@@ -4,6 +4,7 @@ import { createUseStyles } from './jss';
4
4
  import { useScreenSize, useIsomorphicLayoutEffect } from './hooks';
5
5
  import { BUTTON_MIN_WIDTH, ButtonPrimary, ButtonSecondary, ButtonDanger } from './button';
6
6
  import classNames from 'classnames';
7
+ import debounce from 'lodash/debounce';
7
8
  function _arrayWithHoles(arr) {
8
9
  if (Array.isArray(arr)) return arr;
9
10
  }
@@ -174,28 +175,29 @@ var buttonsRange = [
174
175
  var ButtonLayout = function(param) {
175
176
  var children = param.children, _align = param.align, align = _align === void 0 ? 'full-width' : _align, link = param.link, _withMargins = param.withMargins, withMargins = _withMargins === void 0 ? false : _withMargins;
176
177
  var ref = useScreenSize(), isTabletOrSmaller = ref.isTabletOrSmaller;
177
- var ref1 = _slicedToArray(React.useState(true), 2), isMeasuring = ref1[0], setIsMeasuring = ref1[1];
178
178
  var childrenCount = React.Children.count(children);
179
- var ref2 = _slicedToArray(React.useState(0), 2), buttonWidth = ref2[0], setButtonWidth = ref2[1];
180
- var updateButtonWidth = function(buttonWidth) {
179
+ var ref1 = _slicedToArray(React.useState({
180
+ isMeasuring: true,
181
+ buttonWidth: 0
182
+ }), 2), buttonStatus = ref1[0], setButtonStatus = ref1[1];
183
+ var updateButtonStatus = function(param) {
184
+ var isMeasuring = param.isMeasuring, buttonWidth = param.buttonWidth;
181
185
  if (process.env.NODE_ENV !== 'test') {
182
- setButtonWidth(buttonWidth);
183
- }
184
- };
185
- var updateIsMeasuring = function(isMeasuring) {
186
- if (process.env.NODE_ENV !== 'test') {
187
- setIsMeasuring(isMeasuring);
186
+ setButtonStatus({
187
+ isMeasuring: isMeasuring,
188
+ buttonWidth: buttonWidth
189
+ });
188
190
  }
189
191
  };
190
192
  var classes = useStyles({
191
- buttonWidth: buttonWidth,
193
+ buttonWidth: buttonStatus.buttonWidth,
192
194
  isTabletOrSmaller: isTabletOrSmaller,
193
195
  align: align,
194
196
  childrenCount: childrenCount
195
197
  });
196
198
  var wrapperElRef = React.useRef(null);
197
199
  useIsomorphicLayoutEffect(function() {
198
- if (isMeasuring) {
200
+ if (buttonStatus.isMeasuring) {
199
201
  var req = window.requestAnimationFrame(function() {
200
202
  if (wrapperElRef.current) {
201
203
  var childrenWidths = Array.from(wrapperElRef.current.children).map(function(el) {
@@ -210,8 +212,10 @@ var ButtonLayout = function(param) {
210
212
  var maxChildWidth = Math.ceil((_Math = Math).max.apply(_Math, _toConsumableArray(childrenWidths).concat([
211
213
  BUTTON_MIN_WIDTH
212
214
  ])));
213
- updateButtonWidth(maxChildWidth);
214
- updateIsMeasuring(false);
215
+ updateButtonStatus({
216
+ isMeasuring: false,
217
+ buttonWidth: maxChildWidth
218
+ });
215
219
  }
216
220
  });
217
221
  return function() {
@@ -222,11 +226,20 @@ var ButtonLayout = function(param) {
222
226
  };
223
227
  }, [
224
228
  classes.link,
225
- isMeasuring
229
+ buttonStatus
226
230
  ]);
227
- var calcLayout = React.useCallback(function() {
228
- updateButtonWidth(0);
229
- updateIsMeasuring(true);
231
+ /**
232
+ * Multiple calls to calcLayout are debounced to workaround an issue that can be reproduced in chrome when pressing
233
+ * the button during a focus/visibility change. For example, pressing the button having the focus on the devTools.
234
+ */ var calcLayout = React.useMemo(function() {
235
+ return debounce(function() {
236
+ updateButtonStatus({
237
+ isMeasuring: true,
238
+ buttonWidth: 0
239
+ });
240
+ }, 5, {
241
+ maxWait: 50
242
+ });
230
243
  }, []);
231
244
  useOnChildrenChangeEffect(wrapperElRef.current, calcLayout);
232
245
  useOnFontsReadyEffect(calcLayout);
package/dist-es/button.js CHANGED
@@ -361,6 +361,11 @@ var Button = function(props) {
361
361
  disabled: props.disabled || showSpinner || isFormSending,
362
362
  role: 'button'
363
363
  };
364
+ if (process.env.NODE_ENV !== 'production') {
365
+ if (props.to === '' || props.href === '') {
366
+ throw Error('to or href props are empty strings');
367
+ }
368
+ }
364
369
  if (props.fake) {
365
370
  return(/*#__PURE__*/ _jsx(Touchable, _objectSpread({
366
371
  maybe: true
@@ -384,22 +389,25 @@ var Button = function(props) {
384
389
  onPress: props.onPress
385
390
  })));
386
391
  }
387
- if (props.to) {
392
+ if (props.to || props.to === '') {
388
393
  return(/*#__PURE__*/ _jsx(Touchable, _objectSpread({
389
394
  }, commonProps, {
390
395
  to: props.to,
391
396
  fullPageOnWebView: props.fullPageOnWebView
392
397
  })));
393
398
  }
394
- if (props.href) {
399
+ if (props.href || props.href === '') {
395
400
  return(/*#__PURE__*/ _jsx(Touchable, _objectSpread({
396
401
  }, commonProps, {
397
402
  href: props.href,
398
403
  newTab: props.newTab
399
404
  })));
400
405
  }
401
- // this cannot happen
402
- throw Error('Bad button props');
406
+ if (process.env.NODE_ENV !== 'production') {
407
+ // this cannot happen
408
+ throw Error('Bad button props');
409
+ }
410
+ return null;
403
411
  };
404
412
  var useButtonLinkStyles = createUseStyles(function(theme) {
405
413
  var padding = 6;
@@ -456,6 +464,11 @@ export var ButtonLink = /*#__PURE__*/ React.forwardRef(function(props, ref) {
456
464
  children: props.children
457
465
  })
458
466
  };
467
+ if (process.env.NODE_ENV !== 'production') {
468
+ if (props.to === '' || props.href === '') {
469
+ throw Error('to or href props are empty strings');
470
+ }
471
+ }
459
472
  if (props.onPress) {
460
473
  return(/*#__PURE__*/ _jsx(Touchable, _objectSpread({
461
474
  ref: ref
@@ -463,7 +476,7 @@ export var ButtonLink = /*#__PURE__*/ React.forwardRef(function(props, ref) {
463
476
  onPress: props.onPress
464
477
  })));
465
478
  }
466
- if (props.to) {
479
+ if (props.to || props.to === '') {
467
480
  return(/*#__PURE__*/ _jsx(Touchable, _objectSpread({
468
481
  ref: ref
469
482
  }, commonProps, {
@@ -471,7 +484,7 @@ export var ButtonLink = /*#__PURE__*/ React.forwardRef(function(props, ref) {
471
484
  fullPageOnWebView: props.fullPageOnWebView
472
485
  })));
473
486
  }
474
- if (props.href) {
487
+ if (props.href || props.href === '') {
475
488
  return(/*#__PURE__*/ _jsx(Touchable, _objectSpread({
476
489
  ref: ref
477
490
  }, commonProps, {
@@ -479,8 +492,11 @@ export var ButtonLink = /*#__PURE__*/ React.forwardRef(function(props, ref) {
479
492
  newTab: props.newTab
480
493
  })));
481
494
  }
482
- // this cannot happen
483
- throw Error('Bad button props');
495
+ if (process.env.NODE_ENV !== 'production') {
496
+ // this cannot happen
497
+ throw Error('Bad button props');
498
+ }
499
+ return null;
484
500
  });
485
501
  export var ButtonPrimary = function(props) {
486
502
  var classes = usePrimaryButtonStyles();
package/dist-es/card.js CHANGED
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import Tag from './tag';
4
4
  import Stack from './stack';
@@ -14,8 +14,7 @@ var useCardContentStyles = createUseStyles(function() {
14
14
  actions: {
15
15
  flex: 1,
16
16
  display: 'flex',
17
- alignItems: 'flex-end',
18
- marginTop: 16
17
+ alignItems: 'flex-end'
19
18
  }
20
19
  };
21
20
  });
@@ -29,32 +28,30 @@ var CardContent = function(param) {
29
28
  }
30
29
  if (typeof headline === 'string') {
31
30
  return(/*#__PURE__*/ _jsx(Tag, {
32
- color: theme.colors.promo,
31
+ type: "promo",
33
32
  children: headline
34
33
  }));
35
34
  }
36
35
  return headline;
37
36
  };
38
- return(/*#__PURE__*/ _jsxs(_Fragment, {
37
+ return(/*#__PURE__*/ _jsxs(Stack, {
38
+ space: 16,
39
39
  children: [
40
40
  /*#__PURE__*/ _jsxs(Stack, {
41
- space: 16,
41
+ space: 8,
42
42
  children: [
43
- /*#__PURE__*/ _jsxs(Stack, {
44
- space: 8,
45
- children: [
46
- (headline || pretitle || title || subtitle) && /*#__PURE__*/ _jsx("header", {
47
- children: /*#__PURE__*/ _jsxs(Stack, {
43
+ (headline || pretitle || title || subtitle) && /*#__PURE__*/ _jsx("header", {
44
+ children: /*#__PURE__*/ _jsxs(Stack, {
45
+ space: 16,
46
+ children: [
47
+ renderHeadline(),
48
+ /*#__PURE__*/ _jsxs(Stack, {
48
49
  space: 4,
49
50
  children: [
50
- renderHeadline(),
51
- pretitle && /*#__PURE__*/ _jsx(Box, {
52
- paddingTop: 4,
53
- children: /*#__PURE__*/ _jsx(Text1, {
54
- regular: true,
55
- uppercase: true,
56
- children: pretitle
57
- })
51
+ pretitle && /*#__PURE__*/ _jsx(Text1, {
52
+ regular: true,
53
+ uppercase: true,
54
+ children: pretitle
58
55
  }),
59
56
  /*#__PURE__*/ _jsx(Text4, {
60
57
  as: "h1",
@@ -67,20 +64,20 @@ var CardContent = function(param) {
67
64
  })
68
65
  ]
69
66
  })
70
- }),
71
- description && /*#__PURE__*/ _jsx(Text2, {
72
- as: "p",
73
- regular: true,
74
- color: theme.colors.textSecondary,
75
- children: description
76
- })
77
- ]
67
+ ]
68
+ })
78
69
  }),
79
- extra && /*#__PURE__*/ _jsx("div", {
80
- children: extra
70
+ description && /*#__PURE__*/ _jsx(Text2, {
71
+ as: "p",
72
+ regular: true,
73
+ color: theme.colors.textSecondary,
74
+ children: description
81
75
  })
82
76
  ]
83
77
  }),
78
+ extra && /*#__PURE__*/ _jsx("div", {
79
+ children: extra
80
+ }),
84
81
  (button || buttonLink) && /*#__PURE__*/ _jsx("div", {
85
82
  className: classes.actions,
86
83
  children: /*#__PURE__*/ _jsx(ButtonGroup, {
@@ -0,0 +1,100 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { createUseStyles } from './jss';
3
+ import { useTheme } from './hooks';
4
+ import Box from './box';
5
+ import { Text2 } from './text';
6
+ import IconButton from './icon-button';
7
+ import IconCloseRegular from './generated/mistica-icons/icon-close-regular';
8
+ import { pxToRem } from './utils/css';
9
+ function _defineProperty(obj, key, value) {
10
+ if (key in obj) {
11
+ Object.defineProperty(obj, key, {
12
+ value: value,
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true
16
+ });
17
+ } else {
18
+ obj[key] = value;
19
+ }
20
+ return obj;
21
+ }
22
+ var useStyles = createUseStyles(function(param) {
23
+ var colors = param.colors, mq = param.mq;
24
+ return {
25
+ container: _defineProperty({
26
+ display: 'inline-flex',
27
+ justifyContent: 'center',
28
+ alignItems: 'center',
29
+ border: "1px solid ".concat(colors.border),
30
+ borderRadius: 20,
31
+ backgroundColor: colors.backgroundContainer,
32
+ minHeight: 32,
33
+ minWidth: 56,
34
+ cursor: 'default',
35
+ color: colors.neutralMedium,
36
+ '& > span': {
37
+ color: colors.textPrimary
38
+ }
39
+ }, mq.supportsHover, {
40
+ '&:hover': {
41
+ borderColor: function(param) {
42
+ var isDarkMode = param.isDarkMode;
43
+ return isDarkMode ? colors.background : colors.tagBackgroundActive;
44
+ },
45
+ color: colors.controlActivated,
46
+ backgroundColor: colors.tagBackgroundActive
47
+ },
48
+ '&:hover > span': {
49
+ color: colors.textLink
50
+ }
51
+ })
52
+ };
53
+ });
54
+ var Chip = function(param) {
55
+ var children = param.children, Icon = param.Icon, onClose = param.onClose;
56
+ var ref = useTheme(), texts = ref.texts, isDarkMode = ref.isDarkMode;
57
+ var classes = useStyles({
58
+ isDarkMode: isDarkMode
59
+ });
60
+ return(/*#__PURE__*/ _jsxs(Box, {
61
+ className: classes.container,
62
+ paddingLeft: Icon ? 8 : 12,
63
+ paddingRight: onClose ? 0 : 12,
64
+ children: [
65
+ Icon && /*#__PURE__*/ _jsx(Box, {
66
+ paddingRight: 4,
67
+ children: /*#__PURE__*/ _jsx(Icon, {
68
+ color: "currentColor",
69
+ size: pxToRem(16)
70
+ })
71
+ }),
72
+ /*#__PURE__*/ _jsx(Text2, {
73
+ medium: true,
74
+ truncate: 1,
75
+ color: "currentColor",
76
+ children: children
77
+ }),
78
+ onClose ? /*#__PURE__*/ _jsx(Box, {
79
+ paddingLeft: 4,
80
+ children: /*#__PURE__*/ _jsx(IconButton, {
81
+ size: 24,
82
+ style: {
83
+ display: 'flex',
84
+ justifyContent: 'center',
85
+ alignItems: 'center'
86
+ },
87
+ "aria-label": texts.closeButtonLabel,
88
+ onPress: function() {
89
+ return onClose();
90
+ },
91
+ children: /*#__PURE__*/ _jsx(IconCloseRegular, {
92
+ size: 16,
93
+ color: "currentColor"
94
+ })
95
+ })
96
+ }) : null
97
+ ]
98
+ }));
99
+ };
100
+ export default Chip;
@@ -59,21 +59,29 @@ var IconSuccessO2 = function(param) {
59
59
  children: /*#__PURE__*/ _jsxs("g", {
60
60
  className: classnames(_defineProperty({
61
61
  }, classes.iconContainer, !color)),
62
- strokeWidth: "2",
63
62
  strokeLinecap: "round",
64
63
  strokeLinejoin: "round",
65
64
  children: [
66
65
  /*#__PURE__*/ _jsx("path", _objectSpread({
67
66
  fill: "none",
67
+ strokeWidth: "2",
68
68
  stroke: color ? color : undefined,
69
- strokeMiterlimit: "10",
70
- d: "M21.7,35.6l2.8,2.8c1.1,1.1,2.9,1.1,4.1,0l17.3-17.3"
71
- }, !skipAnimation && mergeProperties(getAnimateDrawLineProps('33', '0.9s', platformOverrides), getAnimateHopInProps('0.9s', platformOverrides)))),
69
+ d: "M45.64 53.84A25.599 25.599 0 0 1 32 57.75C17.78 57.75 6.25 46.22 6.25 32S17.78 6.25 32 6.25 57.75 17.78 57.75 32c0 5.13-1.5 9.92-4.09 13.93"
70
+ }, !skipAnimation && getAnimateDrawLineProps('202', '0.3s', platformOverrides))),
72
71
  /*#__PURE__*/ _jsx("path", _objectSpread({
73
72
  fill: "none",
73
+ strokeWidth: "2",
74
+ stroke: color ? color : undefined,
75
+ d: "m19.33 30.39 9.88 10.95 18.13-19.23"
76
+ }, !skipAnimation && mergeProperties(getAnimateDrawLineProps('44', '0.6s', platformOverrides), getAnimateHopInProps('0.6', platformOverrides)))),
77
+ /*#__PURE__*/ _jsx("circle", _objectSpread({
78
+ fill: "none",
79
+ strokeWidth: "2",
74
80
  stroke: color ? color : undefined,
75
- d: "M49.1,57.9C44.2,61.1,38.3,63,32,63C14.9,63,1,49.1,1,32C1,14.9,14.9,1,32,1c17.1,0,31,13.9,31,31c0,7.5-2.6,14.3-7.1,19.7"
76
- }, !skipAnimation && getAnimateDrawLineProps('186', '0.5s', platformOverrides)))
81
+ cx: "50.18",
82
+ cy: "50.1",
83
+ r: ".89"
84
+ }, !skipAnimation && getAnimateDrawLineProps('180', '0.2s', platformOverrides)))
77
85
  ]
78
86
  })
79
87
  }));
package/dist-es/image.js CHANGED
@@ -68,7 +68,7 @@ export var RATIO = {
68
68
  '16:9': 16 / 9,
69
69
  '7:10': 7 / 10
70
70
  };
71
- var Image = function(_param) {
71
+ var Image = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
72
72
  var _aspectRatio = _param.aspectRatio, aspectRatio = _aspectRatio === void 0 ? '1:1' : _aspectRatio, _alt = _param.alt, alt = _alt === void 0 ? '' : _alt, props = _objectWithoutProperties(_param, ["aspectRatio", "alt"]);
73
73
  var noBorderRadius = useDisableBorderRadius();
74
74
  var classes = useStyles({
@@ -89,11 +89,12 @@ var Image = function(_param) {
89
89
  width = '100%';
90
90
  }
91
91
  return(/*#__PURE__*/ _jsx("img", {
92
+ ref: ref,
92
93
  src: url,
93
94
  className: classes.image,
94
95
  alt: alt,
95
96
  width: width,
96
97
  height: height
97
98
  }));
98
- };
99
+ });
99
100
  export default Image;
package/dist-es/index.js CHANGED
@@ -56,6 +56,7 @@ export { default as Callout } from './callout';
56
56
  export { useModalState } from './modal-context-provider';
57
57
  export { NavigationBar, MainNavigationBar, FunnelNavigationBar, NavigationBarActionGroup, NavigationBarAction, NavigationBarLogo } from './navigation-bar';
58
58
  export { default as Image } from './image';
59
+ export { default as Chip } from './chip';
59
60
  export { default as Video } from './video';
60
61
  // Forms
61
62
  export { default as Form } from './form';
@@ -1,2 +1,2 @@
1
1
  // DO NOT EDIT THIS FILE. It's autogenerated by set-version.js
2
- export var PACKAGE_VERSION = '10.18.0';
2
+ export var PACKAGE_VERSION = '10.22.0';
@@ -1,5 +1,7 @@
1
1
  import { applyAlpha } from '../utils/color';
2
2
  import { BLAU_SKIN } from './constants';
3
+ // https://github.com/Telefonica/mistica-design/blob/production/tokens/blau-constants.json
4
+ // https://github.com/Telefonica/mistica-design/blob/production/tokens/blau-skin-schema.json
3
5
  export var palette = {
4
6
  blauBluePrimary: '#00B6F1',
5
7
  blauBluePrimary10: '#F7FDFF',
@@ -15,16 +17,19 @@ export var palette = {
15
17
  blauPurple30: '#BB89D9',
16
18
  blauYellow: '#FFA922',
17
19
  blauYellow10: '#FFF6E9',
20
+ blauYellow40: '#FFC364',
18
21
  blauYellow60: '#F09500',
19
22
  blauYellow70: '#996614',
23
+ blauGreen: '#30D300',
24
+ blauGreen10: '#EAFBE5',
25
+ blauGreen30: '#97E980',
26
+ blauGreen70: '#1D7F00',
20
27
  blauRed: '#F64417',
21
28
  blauRed10: '#FEECE8',
22
29
  blauRed20: '#FCC7B9',
23
30
  blauRed30: '#FA9E87',
31
+ blauRed40: '#F97C5D',
24
32
  blauRed70: '#C93712',
25
- blauGreen: '#30D300',
26
- blauGreen10: '#EAFBE5',
27
- blauGreen70: '#1D7F00',
28
33
  grey1: '#F5F9FA',
29
34
  grey2: '#E7E7E7',
30
35
  grey3: '#B8B8B8',
@@ -126,7 +131,20 @@ export var getBlauSkin = function() {
126
131
  textNavigationSearchBarHint: palette.blauBlueSecondary20,
127
132
  textNavigationSearchBarText: palette.white,
128
133
  textAppBar: palette.grey5,
129
- textAppBarSelected: palette.blauBlueSecondary60
134
+ textAppBarSelected: palette.blauBlueSecondary60,
135
+ // TAGS
136
+ tagBackgroundSuccess: palette.blauGreen10,
137
+ tagBackgroundWarning: palette.blauYellow10,
138
+ tagBackgroundError: palette.blauRed10,
139
+ tagBackgroundPromo: palette.blauPurple10,
140
+ tagBackgroundActive: palette.blauBlueSecondary10,
141
+ tagBackgroundInactive: palette.grey2,
142
+ textTagSuccess: palette.blauGreen70,
143
+ textTagWarning: palette.blauYellow70,
144
+ textTagError: palette.blauRed70,
145
+ textTagPromo: palette.blauPurple,
146
+ textTagActive: palette.blauBlueSecondary,
147
+ textTagInactive: palette.grey5
130
148
  },
131
149
  darkModeColors: {
132
150
  // BACKGROUNDS
@@ -188,7 +206,20 @@ export var getBlauSkin = function() {
188
206
  textNavigationSearchBarHint: palette.grey4,
189
207
  textNavigationSearchBarText: palette.grey2,
190
208
  textAppBar: palette.grey5,
191
- textAppBarSelected: palette.grey2
209
+ textAppBarSelected: palette.grey2,
210
+ // TAGS
211
+ tagBackgroundSuccess: applyAlpha(palette.white, 0.05),
212
+ tagBackgroundWarning: applyAlpha(palette.white, 0.05),
213
+ tagBackgroundError: applyAlpha(palette.white, 0.05),
214
+ tagBackgroundPromo: applyAlpha(palette.white, 0.05),
215
+ tagBackgroundActive: applyAlpha(palette.white, 0.05),
216
+ tagBackgroundInactive: applyAlpha(palette.white, 0.05),
217
+ textTagSuccess: palette.blauGreen30,
218
+ textTagWarning: palette.blauYellow40,
219
+ textTagError: palette.blauRed40,
220
+ textTagPromo: palette.blauPurple30,
221
+ textTagActive: palette.blauBluePrimary30,
222
+ textTagInactive: palette.grey4
192
223
  }
193
224
  };
194
225
  };