@telefonica/mistica 12.0.0 → 12.2.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 (128) hide show
  1. package/README.md +2 -2
  2. package/dist/button-group.d.ts +2 -1
  3. package/dist/button-group.js +36 -5
  4. package/dist/button-group.js.flow +2 -1
  5. package/dist/button-layout.d.ts +2 -1
  6. package/dist/button-layout.js +22 -4
  7. package/dist/button-layout.js.flow +2 -1
  8. package/dist/button.js +114 -35
  9. package/dist/card.d.ts +4 -0
  10. package/dist/card.js +7 -2
  11. package/dist/card.js.flow +4 -0
  12. package/dist/carousel.d.ts +4 -0
  13. package/dist/carousel.js +6 -3
  14. package/dist/carousel.js.flow +6 -0
  15. package/dist/checkbox.js +2 -1
  16. package/dist/dialog.d.ts +21 -4
  17. package/dist/dialog.js +51 -26
  18. package/dist/dialog.js.flow +17 -4
  19. package/dist/generated/mistica-icons/icon-gift-light.js +1 -1
  20. package/dist/generated/mistica-icons/icon-hand-snap-filled.js +1 -1
  21. package/dist/generated/mistica-icons/icon-intranet-light.js +1 -1
  22. package/dist/generated/mistica-icons/icon-photo-camera-filled.js +38 -18
  23. package/dist/generated/mistica-icons/icon-photo-camera-light.js +30 -16
  24. package/dist/generated/mistica-icons/icon-process-loading-filled.js +1 -1
  25. package/dist/generated/mistica-icons/icon-shield-cross-light.js +1 -1
  26. package/dist/generated/mistica-icons/icon-shop-light.js +1 -1
  27. package/dist/generated/mistica-icons/icon-support-agent-premium-regular.js +1 -1
  28. package/dist/generated/mistica-icons/icon-support-agent-regular.js +1 -1
  29. package/dist/generated/mistica-icons/icon-tag-discount-euro-regular.js +1 -1
  30. package/dist/generated/mistica-icons/icon-talk-filled.js +1 -1
  31. package/dist/generated/mistica-icons/icon-tips-and-tricks-regular.js +2 -2
  32. package/dist/generated/mistica-icons/icon-tongue-light.js +1 -1
  33. package/dist/generated/mistica-icons/icon-trash-can-filled.js +1 -1
  34. package/dist/generated/mistica-icons/icon-umbrella-filled.js +1 -1
  35. package/dist/generated/mistica-icons/icon-web-filled.js +1 -1
  36. package/dist/generated/mistica-icons/icon-world-device-filled.d.ts +4 -0
  37. package/dist/generated/mistica-icons/icon-world-device-filled.js +109 -0
  38. package/dist/generated/mistica-icons/icon-world-device-filled.js.flow +6 -0
  39. package/dist/generated/mistica-icons/icon-world-device-light.d.ts +4 -0
  40. package/dist/generated/mistica-icons/icon-world-device-light.js +115 -0
  41. package/dist/generated/mistica-icons/icon-world-device-light.js.flow +6 -0
  42. package/dist/generated/mistica-icons/icon-world-device-regular.d.ts +4 -0
  43. package/dist/generated/mistica-icons/icon-world-device-regular.js +109 -0
  44. package/dist/generated/mistica-icons/icon-world-device-regular.js.flow +6 -0
  45. package/dist/grid-layout.d.ts +16 -0
  46. package/dist/grid-layout.js +96 -35
  47. package/dist/grid-layout.js.flow +33 -1
  48. package/dist/header.d.ts +3 -1
  49. package/dist/header.js +4 -2
  50. package/dist/header.js.flow +7 -1
  51. package/dist/index.d.ts +5 -1
  52. package/dist/index.js +58 -0
  53. package/dist/index.js.flow +11 -1
  54. package/dist/navigation-bar.js +121 -96
  55. package/dist/overscroll-color-context.d.ts +1 -1
  56. package/dist/overscroll-color-context.js +12 -14
  57. package/dist/overscroll-color-context.js.flow +1 -1
  58. package/dist/package-version.js +1 -1
  59. package/dist/popover.d.ts +2 -1
  60. package/dist/popover.js +58 -63
  61. package/dist/popover.js.flow +2 -1
  62. package/dist/skeleton-base.d.ts +9 -0
  63. package/dist/skeleton-base.js +75 -0
  64. package/dist/skeleton-base.js.flow +11 -0
  65. package/dist/skeletons.d.ts +21 -0
  66. package/dist/skeletons.js +232 -0
  67. package/dist/skeletons.js.flow +29 -0
  68. package/dist/skins/blau.js +2 -2
  69. package/dist/skins/movistar.js +1 -1
  70. package/dist/skins/o2-classic.js +1 -1
  71. package/dist/skins/o2.js +1 -1
  72. package/dist/skins/telefonica.js +2 -2
  73. package/dist/skins/utils.d.ts +2 -0
  74. package/dist/skins/utils.js +34 -1
  75. package/dist/skins/utils.js.flow +2 -0
  76. package/dist/skins/vivo.js +1 -1
  77. package/dist/spinner.js +0 -1
  78. package/dist/tabs.d.ts +2 -1
  79. package/dist/tabs.js +22 -4
  80. package/dist/tabs.js.flow +2 -1
  81. package/dist/text-link.js +16 -8
  82. package/dist-es/button-group.js +35 -5
  83. package/dist-es/button-layout.js +21 -4
  84. package/dist-es/button.js +114 -35
  85. package/dist-es/card.js +7 -2
  86. package/dist-es/carousel.js +6 -3
  87. package/dist-es/checkbox.js +2 -1
  88. package/dist-es/dialog.js +51 -25
  89. package/dist-es/generated/mistica-icons/icon-gift-light.js +1 -1
  90. package/dist-es/generated/mistica-icons/icon-hand-snap-filled.js +1 -1
  91. package/dist-es/generated/mistica-icons/icon-intranet-light.js +1 -1
  92. package/dist-es/generated/mistica-icons/icon-photo-camera-filled.js +38 -18
  93. package/dist-es/generated/mistica-icons/icon-photo-camera-light.js +30 -16
  94. package/dist-es/generated/mistica-icons/icon-process-loading-filled.js +1 -1
  95. package/dist-es/generated/mistica-icons/icon-shield-cross-light.js +1 -1
  96. package/dist-es/generated/mistica-icons/icon-shop-light.js +1 -1
  97. package/dist-es/generated/mistica-icons/icon-support-agent-premium-regular.js +1 -1
  98. package/dist-es/generated/mistica-icons/icon-support-agent-regular.js +1 -1
  99. package/dist-es/generated/mistica-icons/icon-tag-discount-euro-regular.js +1 -1
  100. package/dist-es/generated/mistica-icons/icon-talk-filled.js +1 -1
  101. package/dist-es/generated/mistica-icons/icon-tips-and-tricks-regular.js +2 -2
  102. package/dist-es/generated/mistica-icons/icon-tongue-light.js +1 -1
  103. package/dist-es/generated/mistica-icons/icon-trash-can-filled.js +1 -1
  104. package/dist-es/generated/mistica-icons/icon-umbrella-filled.js +1 -1
  105. package/dist-es/generated/mistica-icons/icon-web-filled.js +1 -1
  106. package/dist-es/generated/mistica-icons/icon-world-device-filled.js +85 -0
  107. package/dist-es/generated/mistica-icons/icon-world-device-light.js +91 -0
  108. package/dist-es/generated/mistica-icons/icon-world-device-regular.js +85 -0
  109. package/dist-es/grid-layout.js +95 -35
  110. package/dist-es/header.js +4 -2
  111. package/dist-es/index.js +5 -1
  112. package/dist-es/navigation-bar.js +121 -96
  113. package/dist-es/overscroll-color-context.js +12 -14
  114. package/dist-es/package-version.js +1 -1
  115. package/dist-es/popover.js +59 -64
  116. package/dist-es/skeleton-base.js +43 -0
  117. package/dist-es/skeletons.js +196 -0
  118. package/dist-es/skins/blau.js +2 -2
  119. package/dist-es/skins/movistar.js +1 -1
  120. package/dist-es/skins/o2-classic.js +1 -1
  121. package/dist-es/skins/o2.js +1 -1
  122. package/dist-es/skins/telefonica.js +2 -2
  123. package/dist-es/skins/utils.js +12 -0
  124. package/dist-es/skins/vivo.js +1 -1
  125. package/dist-es/spinner.js +0 -1
  126. package/dist-es/tabs.js +21 -4
  127. package/dist-es/text-link.js +16 -8
  128. package/package.json +2 -2
@@ -57,7 +57,7 @@ var getBlauSkin = function getBlauSkin() {
57
57
  backgroundBrand: palette.blauBluePrimary,
58
58
  backgroundOverlay: (0, _color).applyAlpha(palette.blauBlueSecondary, 0.75),
59
59
  backgroundSkeleton: palette.grey2,
60
- backgroundSkeletonInverse: palette.white,
60
+ backgroundSkeletonInverse: (0, _color).applyAlpha(palette.white, 0.2),
61
61
  navigationBarBackground: palette.blauBluePrimary,
62
62
  backgroundAlternative: palette.blauBluePrimary20,
63
63
  backgroundFeedbackBottom: palette.blauBluePrimary,
@@ -178,7 +178,7 @@ var getBlauSkin = function getBlauSkin() {
178
178
  textLink: palette.blauPurple30,
179
179
  textLinkInverse: palette.blauPurple30,
180
180
  // CONTROLS
181
- control: palette.darkModeGrey,
181
+ control: palette.darkModeGrey6,
182
182
  loadingBar: palette.blauBluePrimary,
183
183
  loadingBarBackground: palette.darkModeGrey,
184
184
  toggleAndroidInactive: palette.grey5,
@@ -60,7 +60,7 @@ var getMovistarSkin = function getMovistarSkin(variant) {
60
60
  backgroundContainer: palette.white,
61
61
  backgroundBrand: palette.movistarBlue,
62
62
  backgroundOverlay: (0, _color).applyAlpha(palette.grey6, 0.6),
63
- backgroundSkeleton: palette.grey1,
63
+ backgroundSkeleton: palette.grey2,
64
64
  backgroundSkeletonInverse: palette.movistarBlue55,
65
65
  navigationBarBackground: palette.movistarBlue,
66
66
  backgroundAlternative: palette.grey1,
@@ -68,7 +68,7 @@ var getO2ClassicSkin = function getO2ClassicSkin() {
68
68
  backgroundContainer: palette.white,
69
69
  backgroundBrand: "linear-gradient(to bottom, ".concat(palette.o2Blue, ", ").concat(palette.o2GradientSecond, " 51%, ").concat(palette.o2GradientThird, " 72%, ").concat(palette.o2GradientFourth, ")"),
70
70
  backgroundOverlay: (0, _color).applyAlpha(palette.grey6, 0.6),
71
- backgroundSkeleton: palette.grey1,
71
+ backgroundSkeleton: palette.grey2,
72
72
  backgroundSkeletonInverse: (0, _color).applyAlpha(palette.white, 0.2),
73
73
  navigationBarBackground: palette.o2Blue,
74
74
  backgroundAlternative: palette.grey1,
package/dist/skins/o2.js CHANGED
@@ -58,7 +58,7 @@ var getO2Skin = function getO2Skin() {
58
58
  backgroundContainer: palette.white,
59
59
  backgroundBrand: palette.o2BluePrimary,
60
60
  backgroundOverlay: (0, _color).applyAlpha(palette.grey6, 0.6),
61
- backgroundSkeleton: palette.grey1,
61
+ backgroundSkeleton: palette.grey2,
62
62
  backgroundSkeletonInverse: (0, _color).applyAlpha(palette.white, 0.2),
63
63
  navigationBarBackground: palette.o2BluePrimary,
64
64
  backgroundAlternative: palette.grey1,
@@ -54,7 +54,7 @@ var getTelefonicaSkin = function getTelefonicaSkin() {
54
54
  backgroundContainer: palette.white,
55
55
  backgroundBrand: palette.telefonicaBlue,
56
56
  backgroundOverlay: (0, _color).applyAlpha(palette.grey6, 0.6),
57
- backgroundSkeleton: palette.grey1,
57
+ backgroundSkeleton: palette.grey2,
58
58
  backgroundSkeletonInverse: palette.telefonicaBlue70,
59
59
  navigationBarBackground: palette.telefonicaBlue,
60
60
  backgroundAlternative: palette.grey1,
@@ -177,7 +177,7 @@ var getTelefonicaSkin = function getTelefonicaSkin() {
177
177
  textButtonSecondaryInverseSelected: palette.grey4,
178
178
  textLink: palette.telefonicaBlue,
179
179
  textLinkInverse: palette.telefonicaBlue,
180
- control: palette.darkModeGrey,
180
+ control: palette.darkModeGrey6,
181
181
  controlActivated: palette.telefonicaBlue,
182
182
  loadingBar: palette.telefonicaBlue,
183
183
  loadingBarBackground: (0, _color).applyAlpha(palette.white, 0.05),
@@ -1,2 +1,4 @@
1
+ import * as React from 'react';
1
2
  import type { KnownSkin, KnownSkinName } from './types';
2
3
  export declare const getSkinByName: (name: KnownSkinName, variant?: "prominent" | undefined) => KnownSkin;
4
+ export declare const flattenChildren: (children: React.ReactNode) => Array<React.ReactNode>;
@@ -2,7 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.getSkinByName = void 0;
5
+ exports.flattenChildren = exports.getSkinByName = void 0;
6
+ var React = _interopRequireWildcard(require("react"));
6
7
  var _constants = require("./constants");
7
8
  var _blau = require("./blau");
8
9
  var _telefonica = require("./telefonica");
@@ -10,6 +11,27 @@ var _vivo = require("./vivo");
10
11
  var _o2 = require("./o2");
11
12
  var _o2Classic = require("./o2-classic");
12
13
  var _movistar = require("./movistar");
14
+ function _interopRequireWildcard(obj) {
15
+ if (obj && obj.__esModule) {
16
+ return obj;
17
+ } else {
18
+ var newObj = {};
19
+ if (obj != null) {
20
+ for(var key in obj){
21
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
22
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
23
+ if (desc.get || desc.set) {
24
+ Object.defineProperty(newObj, key, desc);
25
+ } else {
26
+ newObj[key] = obj[key];
27
+ }
28
+ }
29
+ }
30
+ }
31
+ newObj.default = obj;
32
+ return newObj;
33
+ }
34
+ }
13
35
  var getSkinByName = function getSkinByName(name, variant) {
14
36
  switch(name){
15
37
  case _constants.BLAU_SKIN:
@@ -32,3 +54,14 @@ var getSkinByName = function getSkinByName(name, variant) {
32
54
  }
33
55
  };
34
56
  exports.getSkinByName = getSkinByName;
57
+ var flattenChildren = function(children) {
58
+ var childrenArray = React.Children.toArray(children);
59
+ return childrenArray.reduce(function(flatChildren, child) {
60
+ if (child.type === React.Fragment) {
61
+ return flatChildren.concat(flattenChildren(child.props.children));
62
+ }
63
+ flatChildren.push(child);
64
+ return flatChildren;
65
+ }, []);
66
+ };
67
+ exports.flattenChildren = flattenChildren;
@@ -1,7 +1,9 @@
1
1
  // @flow
2
2
 
3
+ import * as React from "react";
3
4
  import type { KnownSkin, KnownSkinName } from "./types";
4
5
  declare export var getSkinByName: (
5
6
  name: KnownSkinName,
6
7
  variant?: "prominent" | void
7
8
  ) => KnownSkin;
9
+ declare export var flattenChildren: (children: React.Node) => Array<React.Node>;
@@ -52,7 +52,7 @@ var getVivoSkin = function getVivoSkin() {
52
52
  backgroundContainer: palette.white,
53
53
  backgroundBrand: palette.vivoPurple,
54
54
  backgroundOverlay: (0, _color).applyAlpha(palette.grey6, 0.6),
55
- backgroundSkeleton: palette.grey1,
55
+ backgroundSkeleton: palette.grey2,
56
56
  backgroundSkeletonInverse: (0, _color).applyAlpha(palette.white, 0.2),
57
57
  backgroundFeedbackBottom: palette.vivoPurple,
58
58
  navigationBarBackground: palette.vivoPurple,
package/dist/spinner.js CHANGED
@@ -243,7 +243,6 @@ var Spinner = function Spinner(param) {
243
243
  r: "30",
244
244
  role: "presentation",
245
245
  stroke: color,
246
- strokeLinecap: "square",
247
246
  strokeWidth: "6"
248
247
  })
249
248
  ]
package/dist/tabs.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { TrackingEvent } from './utils/types';
2
+ import type { DataAttributes, TrackingEvent } from './utils/types';
3
3
  export declare type TabsProps = {
4
4
  selectedIndex: number;
5
5
  onChange: (selectedIndex: number) => void;
@@ -10,6 +10,7 @@ export declare type TabsProps = {
10
10
  readonly 'aria-controls'?: string;
11
11
  }>;
12
12
  children?: void;
13
+ dataAttributes?: DataAttributes;
13
14
  };
14
15
  declare const Tabs: React.FC<TabsProps>;
15
16
  export default Tabs;
package/dist/tabs.js CHANGED
@@ -13,6 +13,7 @@ var _hooks = require("./hooks");
13
13
  var _text = require("./text");
14
14
  var _css = require("./utils/css");
15
15
  var _platform = require("./utils/platform");
16
+ var _dom = require("./utils/dom");
16
17
  function _interopRequireDefault(obj) {
17
18
  return obj && obj.__esModule ? obj : {
18
19
  default: obj
@@ -87,6 +88,22 @@ function _iterableToArrayLimit(arr, i) {
87
88
  function _nonIterableRest() {
88
89
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
89
90
  }
91
+ function _objectSpread(target) {
92
+ var _arguments = arguments, _loop = function(i) {
93
+ var source = _arguments[i] != null ? _arguments[i] : {};
94
+ var ownKeys = Object.keys(source);
95
+ if (typeof Object.getOwnPropertySymbols === "function") {
96
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
97
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
98
+ }));
99
+ }
100
+ ownKeys.forEach(function(key) {
101
+ _defineProperty(target, key, source[key]);
102
+ });
103
+ };
104
+ for(var i = 1; i < arguments.length; i++)_loop(i);
105
+ return target;
106
+ }
90
107
  function _slicedToArray(arr, i) {
91
108
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
92
109
  }
@@ -189,7 +206,7 @@ var useStyles = (0, _jss).createUseStyles(function(param1) {
189
206
  };
190
207
  });
191
208
  var Tabs = function Tabs(param2) {
192
- var selectedIndex = param2.selectedIndex, onChange = param2.onChange, tabs = param2.tabs;
209
+ var selectedIndex = param2.selectedIndex, onChange = param2.onChange, tabs = param2.tabs, dataAttributes = param2.dataAttributes;
193
210
  var id = (0, _hooks).useAriaId();
194
211
  var ref = (0, _hooks).useElementDimensions(), width = ref.width, ref1 = ref.ref;
195
212
  var animatedLineRef = React.useRef(null);
@@ -225,11 +242,12 @@ var Tabs = function Tabs(param2) {
225
242
  }, LINE_ANIMATION_DURATION_MS);
226
243
  }
227
244
  };
228
- return /*#__PURE__*/ (0, _jsxRuntime).jsx("div", {
245
+ return /*#__PURE__*/ (0, _jsxRuntime).jsx("div", _objectSpread({
229
246
  id: id,
230
247
  role: "tablist",
231
248
  ref: ref1,
232
- className: classes.outerBorder,
249
+ className: classes.outerBorder
250
+ }, (0, _dom).getPrefixedDataAttributes(dataAttributes), {
233
251
  children: /*#__PURE__*/ (0, _jsxRuntime).jsx(_responsiveLayout.default, {
234
252
  fullWidth: true,
235
253
  children: /*#__PURE__*/ (0, _jsxRuntime).jsxs("div", {
@@ -281,7 +299,7 @@ var Tabs = function Tabs(param2) {
281
299
  ]
282
300
  })
283
301
  })
284
- });
302
+ }));
285
303
  };
286
304
  var _default = Tabs;
287
305
  exports.default = _default;
package/dist/tabs.js.flow CHANGED
@@ -1,7 +1,7 @@
1
1
  // @flow
2
2
 
3
3
  import * as React from "react";
4
- import type { TrackingEvent } from "./utils/types";
4
+ import type { DataAttributes, TrackingEvent } from "./utils/types";
5
5
  export type TabsProps = {
6
6
  selectedIndex: number,
7
7
  onChange: (selectedIndex: number) => void,
@@ -11,6 +11,7 @@ export type TabsProps = {
11
11
  +icon?: React.Node,
12
12
  +"aria-controls"?: string,
13
13
  }>,
14
+ dataAttributes?: DataAttributes,
14
15
  };
15
16
  declare var Tabs: React.ComponentType<TabsProps>;
16
17
  declare export default typeof Tabs;
package/dist/text-link.js CHANGED
@@ -94,25 +94,33 @@ function _objectWithoutPropertiesLoose(source, excluded) {
94
94
  }
95
95
  return target;
96
96
  }
97
- var useStyles = (0, _jss).createUseStyles(function(theme) {
97
+ var useStyles = (0, _jss).createUseStyles(function(param) {
98
+ var colors = param.colors, isDarkMode = param.isDarkMode, mq = param.mq;
98
99
  var _obj;
99
100
  return {
100
101
  textLink: (_obj = {
101
102
  width: "auto",
102
103
  lineHeight: "inherit",
103
104
  display: "inline-block",
104
- color: theme.colors.textLink,
105
- wordBreak: "break-word"
106
- }, _defineProperty(_obj, theme.mq.supportsHover, {
105
+ color: colors.textLink,
106
+ wordBreak: "break-word",
107
+ cursor: "pointer"
108
+ }, _defineProperty(_obj, mq.supportsHover, {
107
109
  "&:hover:not([disabled])": {
108
110
  textDecoration: "underline"
109
111
  }
110
112
  }), _defineProperty(_obj, "&[disabled]", {
111
- opacity: 0.5
113
+ opacity: 0.5,
114
+ textDecoration: "none"
112
115
  }), _obj),
113
- inverse: {
114
- color: theme.colors.textLinkInverse
115
- },
116
+ inverse: _defineProperty({
117
+ color: colors.textLinkInverse,
118
+ textDecoration: isDarkMode ? "none" : "underline"
119
+ }, mq.supportsHover, {
120
+ "&:hover:not([disabled])": {
121
+ textDecorationThickness: isDarkMode ? 1 : 2
122
+ }
123
+ }),
116
124
  small: {
117
125
  fontSize: 14
118
126
  }
@@ -1,9 +1,38 @@
1
+ function _defineProperty(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ function _objectSpread(target) {
15
+ for(var i = 1; i < arguments.length; i++){
16
+ var source = arguments[i] != null ? arguments[i] : {};
17
+ var ownKeys = Object.keys(source);
18
+ if (typeof Object.getOwnPropertySymbols === "function") {
19
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
20
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
21
+ }));
22
+ }
23
+ ownKeys.forEach(function(key) {
24
+ _defineProperty(target, key, source[key]);
25
+ });
26
+ }
27
+ return target;
28
+ }
1
29
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
30
  import * as React from "react";
3
31
  import { createUseStyles } from "./jss";
4
32
  import classNames from "classnames";
33
+ import { getPrefixedDataAttributes } from "./utils/dom";
5
34
  var buttonLayoutSpacing = 16;
6
- var buttonLinkPadding = 6;
35
+ var buttonLinkPadding = 12;
7
36
  var useStyles = createUseStyles(function() {
8
37
  return {
9
38
  inline: {
@@ -34,14 +63,15 @@ var useStyles = createUseStyles(function() {
34
63
  };
35
64
  });
36
65
  var ButtonGroup = function(param) {
37
- var primaryButton = param.primaryButton, secondaryButton = param.secondaryButton, link = param.link;
66
+ var primaryButton = param.primaryButton, secondaryButton = param.secondaryButton, link = param.link, dataAttributes = param.dataAttributes;
38
67
  var anyAction = !!primaryButton || !!secondaryButton || !!link;
39
68
  var bothButtons = !!primaryButton && !!secondaryButton;
40
69
  var classes = useStyles({
41
70
  bothButtons: bothButtons
42
71
  });
43
- return anyAction ? /*#__PURE__*/ _jsxs("div", {
44
- className: classNames(classes.inline, classes.container),
72
+ return anyAction ? /*#__PURE__*/ _jsxs("div", _objectSpread({
73
+ className: classNames(classes.inline, classes.container)
74
+ }, getPrefixedDataAttributes(dataAttributes), {
45
75
  children: [
46
76
  (primaryButton || secondaryButton) && /*#__PURE__*/ _jsxs("div", {
47
77
  className: classNames(classes.inline, classes.buttons),
@@ -59,6 +89,6 @@ var ButtonGroup = function(param) {
59
89
  children: link
60
90
  })
61
91
  ]
62
- }) : null;
92
+ })) : null;
63
93
  };
64
94
  export default ButtonGroup;
@@ -55,6 +55,21 @@ function _nonIterableRest() {
55
55
  function _nonIterableSpread() {
56
56
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
57
57
  }
58
+ function _objectSpread(target) {
59
+ for(var i = 1; i < arguments.length; i++){
60
+ var source = arguments[i] != null ? arguments[i] : {};
61
+ var ownKeys = Object.keys(source);
62
+ if (typeof Object.getOwnPropertySymbols === "function") {
63
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
64
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
65
+ }));
66
+ }
67
+ ownKeys.forEach(function(key) {
68
+ _defineProperty(target, key, source[key]);
69
+ });
70
+ }
71
+ return target;
72
+ }
58
73
  function _slicedToArray(arr, i) {
59
74
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
60
75
  }
@@ -76,6 +91,7 @@ import { useScreenSize, useIsomorphicLayoutEffect } from "./hooks";
76
91
  import { BUTTON_MIN_WIDTH, ButtonPrimary, ButtonSecondary, ButtonDanger } from "./button";
77
92
  import classNames from "classnames";
78
93
  import debounce from "lodash/debounce";
94
+ import { getPrefixedDataAttributes } from "./utils/dom";
79
95
  var buttonLayoutSpacing = 16;
80
96
  var useStyles = createUseStyles(function(theme) {
81
97
  var _obj;
@@ -181,7 +197,7 @@ var buttonsRange = [
181
197
  ButtonPrimary
182
198
  ];
183
199
  var ButtonLayout = function(param1) {
184
- var children = param1.children, _align = param1.align, align = _align === void 0 ? "full-width" : _align, link = param1.link, _withMargins = param1.withMargins, withMargins = _withMargins === void 0 ? false : _withMargins;
200
+ var children = param1.children, _align = param1.align, align = _align === void 0 ? "full-width" : _align, link = param1.link, _withMargins = param1.withMargins, withMargins = _withMargins === void 0 ? false : _withMargins, dataAttributes = param1.dataAttributes;
185
201
  var isTabletOrSmaller = useScreenSize().isTabletOrSmaller;
186
202
  var childrenCount = React.Children.count(children);
187
203
  var ref = _slicedToArray(React.useState({
@@ -273,9 +289,10 @@ var ButtonLayout = function(param1) {
273
289
  return range1 - range2;
274
290
  });
275
291
  var needsLinkAlignment = !isTabletOrSmaller && align === "left";
276
- var content = /*#__PURE__*/ _jsxs("div", {
292
+ var content = /*#__PURE__*/ _jsxs("div", _objectSpread({
277
293
  ref: wrapperElRef,
278
- className: classes.container,
294
+ className: classes.container
295
+ }, getPrefixedDataAttributes(dataAttributes), {
279
296
  children: [
280
297
  link ? /*#__PURE__*/ _jsx("div", {
281
298
  className: classNames(classes.link, _defineProperty({}, classes.linkAlignment, needsLinkAlignment)),
@@ -283,7 +300,7 @@ var ButtonLayout = function(param1) {
283
300
  }) : null,
284
301
  sortedButtons
285
302
  ]
286
- });
303
+ }));
287
304
  return withMargins ? /*#__PURE__*/ _jsx("div", {
288
305
  className: classes.margins,
289
306
  children: content