@occmundial/occ-atomic 3.0.0-beta.7 → 3.0.0-beta.70

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. package/CHANGELOG.md +549 -0
  2. package/build/Avatar/Avatar.js +69 -21
  3. package/build/Avatar/Avatar.test.js +15 -8
  4. package/build/Avatar/AvatarContent/AvatarContent.js +61 -21
  5. package/build/Avatar/AvatarContent/AvatarContent.test.js +4 -18
  6. package/build/Avatar/AvatarContent/__snapshots__/AvatarContent.test.js.snap +75 -15
  7. package/build/Avatar/AvatarContent/styles.js +88 -21
  8. package/build/Avatar/__snapshots__/Avatar.test.js.snap +11 -2
  9. package/build/Avatar/styles.js +18 -7
  10. package/build/Banner/Banner.js +30 -40
  11. package/build/Banner/Banner.test.js +64 -17
  12. package/build/Banner/__snapshots__/Banner.test.js.snap +0 -28
  13. package/build/Banner/index.js +1 -6
  14. package/build/Button/Button.js +1 -1
  15. package/build/Button/Button.test.js +0 -11
  16. package/build/Button/__snapshots__/Button.test.js.snap +63 -67
  17. package/build/Button/styles.js +42 -75
  18. package/build/Checkbox/Checkbox.js +48 -3
  19. package/build/Checkbox/__snapshots__/Checkbox.test.js.snap +81 -49
  20. package/build/Checkbox/styles.js +91 -48
  21. package/build/Drawer/Drawer.js +40 -0
  22. package/build/{Header/Nav/Nav.js → Drawer/index.js} +54 -39
  23. package/build/Drawer/index.test.js +52 -0
  24. package/build/Drawer/styles.js +61 -0
  25. package/build/Droplist/__snapshots__/Droplist.test.js.snap +5 -5
  26. package/build/Fab/__snapshots__/Fab.test.js.snap +2 -2
  27. package/build/Footer/Footer.js +81 -87
  28. package/build/Footer/List/List.js +89 -124
  29. package/build/Footer/List/styles.js +85 -31
  30. package/build/Footer/__snapshots__/Footer.test.js.snap +109 -59
  31. package/build/Footer/styles.js +116 -51
  32. package/build/Grid/Col/__snapshots__/Col.test.js.snap +16 -2
  33. package/build/Grid/Col/styles.js +12 -6
  34. package/build/Grid/Row/__snapshots__/Row.test.js.snap +18 -2
  35. package/build/Grid/Row/styles.js +15 -5
  36. package/build/Grid/styles.js +26 -9
  37. package/build/Menu/Menu.js +96 -0
  38. package/build/Menu/index.js +34 -0
  39. package/build/Menu/styles.js +25 -0
  40. package/build/MenuDivider/MenuDivider.js +47 -0
  41. package/build/MenuDivider/index.js +18 -0
  42. package/build/MenuDivider/styles.js +21 -0
  43. package/build/MenuItem/MenuItem.js +160 -0
  44. package/build/{Header/Menu → MenuItem}/index.js +2 -2
  45. package/build/MenuItem/styles.js +25 -0
  46. package/build/MenuItemBase/MenuItemBase.js +94 -0
  47. package/build/MenuItemBase/index.js +18 -0
  48. package/build/MenuItemBase/styles.js +57 -0
  49. package/build/MenuList/MenuList.js +71 -0
  50. package/build/{Header → MenuList}/index.js +2 -2
  51. package/build/MenuList/styles.js +54 -0
  52. package/build/MenuUser/MenuUser.js +152 -0
  53. package/build/MenuUser/index.js +18 -0
  54. package/build/MenuUser/styles.js +22 -0
  55. package/build/Modal/Modal.js +94 -66
  56. package/build/Modal/Modal.test.js +14 -7
  57. package/build/Modal/__snapshots__/Modal.test.js.snap +155 -100
  58. package/build/Modal/styles.js +165 -143
  59. package/build/NavAside/NavAside.js +54 -113
  60. package/build/NavAside/NavAside.test.js +0 -57
  61. package/build/NavAside/__snapshots__/NavAside.test.js.snap +35 -43
  62. package/build/NavAside/index.js +6 -0
  63. package/build/NavAside/styles.js +45 -63
  64. package/build/NavAvatarButton/NavAvatarButton.js +134 -0
  65. package/build/{NavIcon → NavAvatarButton}/index.js +2 -2
  66. package/build/NavAvatarButton/styles.js +33 -0
  67. package/build/NavButton/NavButton.js +73 -0
  68. package/build/{Header/Nav → NavButton}/index.js +2 -2
  69. package/build/NavButton/styles.js +79 -0
  70. package/build/NavItem/styles.js +4 -4
  71. package/build/NavTab/NavTab.js +45 -32
  72. package/build/NavTab/styles.js +59 -27
  73. package/build/NavTop/styles.js +6 -6
  74. package/build/OrderBy/OrderBy.js +2 -1
  75. package/build/Pager/Page/Page.js +11 -6
  76. package/build/Pager/Page/Page.test.js +13 -9
  77. package/build/Pager/Page/__snapshots__/Page.test.js.snap +34 -10
  78. package/build/Pager/Page/styles.js +48 -14
  79. package/build/Pager/Pager.js +144 -235
  80. package/build/Pager/Pager.test.js +81 -36
  81. package/build/Pager/__snapshots__/Pager.test.js.snap +3 -36
  82. package/build/Pager/styles.js +5 -40
  83. package/build/Pill/Choice/Choice.js +6 -4
  84. package/build/Pill/Choice/styles.js +13 -10
  85. package/build/Pill/Group/styles.js +5 -5
  86. package/build/Pill/Stack/Stack.js +2 -2
  87. package/build/Pill/Stack/styles.js +5 -8
  88. package/build/Placeholder/Placeholder.js +29 -12
  89. package/build/Placeholder/Placeholder.test.js +4 -4
  90. package/build/Placeholder/__snapshots__/Placeholder.test.js.snap +81 -38
  91. package/build/Placeholder/styles.js +86 -42
  92. package/build/Provider/MenuListProvider.js +38 -0
  93. package/build/Provider/usePrevious.js +1 -1
  94. package/build/Radio/Radio.js +22 -7
  95. package/build/Radio/__snapshots__/Radio.test.js.snap +71 -79
  96. package/build/Radio/styles.js +84 -85
  97. package/build/SlideDown/SlideDown.js +167 -169
  98. package/build/SlideDown/SlideDown.test.js +49 -44
  99. package/build/SlideDown/__snapshots__/SlideDown.test.js.snap +44 -15
  100. package/build/SlideDown/styles.js +51 -20
  101. package/build/SlideToggle/SlideToggle.js +38 -6
  102. package/build/SlideToggle/SlideToggle.test.js +2 -2
  103. package/build/SlideToggle/__snapshots__/SlideToggle.test.js.snap +53 -38
  104. package/build/SlideToggle/styles.js +64 -45
  105. package/build/Tabs/Tab/Tab.js +73 -0
  106. package/build/Tabs/Tab/index.js +34 -0
  107. package/build/Tabs/Tab/index.test.js +132 -0
  108. package/build/Tabs/Tab/styles.js +74 -0
  109. package/build/Tabs/TabContent/TabContent.js +76 -0
  110. package/build/Tabs/TabContent/index.js +34 -0
  111. package/build/Tabs/TabContent/index.test.js +68 -0
  112. package/build/Tabs/TabContent/styles.js +23 -0
  113. package/build/Tabs/TabIndicator/TabIndicator.js +158 -0
  114. package/build/Tabs/TabIndicator/index.js +34 -0
  115. package/build/Tabs/TabIndicator/styles.js +24 -0
  116. package/build/Tabs/TabList/TabList.js +108 -0
  117. package/build/Tabs/TabList/index.js +34 -0
  118. package/build/{Pager/Break → Tabs/TabList}/styles.js +3 -2
  119. package/build/Tabs/Tabs.js +74 -0
  120. package/build/Tabs/context.js +94 -0
  121. package/build/Tabs/index.js +34 -0
  122. package/build/Tabs/index.test.js +157 -0
  123. package/build/Tabs/styles.js +19 -0
  124. package/build/Tag/Tag.js +2 -2
  125. package/build/Tag/__snapshots__/Tag.test.js.snap +40 -43
  126. package/build/Tag/styles.js +76 -82
  127. package/build/Text/Text.js +2 -1
  128. package/build/TextField/TextField.js +7 -6
  129. package/build/TextField/__snapshots__/TextField.test.js.snap +3 -0
  130. package/build/TextField/styles.js +3 -0
  131. package/build/Tip/Tip.js +62 -95
  132. package/build/Tip/Tip.test.js +29 -6
  133. package/build/Tip/TipText/index.js +32 -0
  134. package/build/Tip/__snapshots__/Tip.test.js.snap +127 -15
  135. package/build/Tip/styles.js +125 -31
  136. package/build/Toaster/Toast/Toast.js +76 -64
  137. package/build/Toaster/Toast/styles.js +118 -46
  138. package/build/Toaster/Toaster.js +3 -2
  139. package/build/Toaster/Toaster.test.js +5 -2
  140. package/build/Toaster/__snapshots__/Toaster.test.js.snap +1 -1
  141. package/build/Toaster/functions.js +4 -0
  142. package/build/Toaster/styles.js +3 -3
  143. package/build/Tooltip/Tooltip.js +73 -22
  144. package/build/Tooltip/__snapshots__/Tooltip.test.js.snap +22 -6
  145. package/build/Tooltip/styles.js +32 -10
  146. package/build/index.js +33 -19
  147. package/build/plugin/babel.js +0 -2
  148. package/build/subatomic/grid.js +5 -5
  149. package/build/tokens/colors.json +94 -60
  150. package/build/tokens/shadows.json +3 -3
  151. package/package.json +5 -2
  152. package/build/Banner/styles.js +0 -41
  153. package/build/Header/Header.js +0 -163
  154. package/build/Header/Header.test.js +0 -118
  155. package/build/Header/Menu/Menu.js +0 -135
  156. package/build/Header/Menu/Menu.test.js +0 -107
  157. package/build/Header/Menu/__snapshots__/Menu.test.js.snap +0 -113
  158. package/build/Header/Menu/styles.js +0 -123
  159. package/build/Header/Nav/Nav.test.js +0 -81
  160. package/build/Header/Nav/__snapshots__/Nav.test.js.snap +0 -101
  161. package/build/Header/Nav/styles.js +0 -110
  162. package/build/Header/__snapshots__/Header.test.js.snap +0 -79
  163. package/build/Header/styles.js +0 -94
  164. package/build/NavIcon/NavIcon.js +0 -112
  165. package/build/NavIcon/styles.js +0 -81
  166. package/build/Pager/Break/Break.js +0 -27
  167. package/build/Pager/Break/Break.test.js +0 -53
  168. package/build/Pager/Break/__snapshots__/Break.test.js.snap +0 -13
  169. package/build/Pager/Break/index.js +0 -18
  170. /package/build/Button/{Loading.js → Loading/index.js} +0 -0
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = Drawer;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ function Drawer(_ref) {
15
+ var classes = _ref.classes,
16
+ header = _ref.header,
17
+ children = _ref.children,
18
+ testId = _ref.testId,
19
+ show = _ref.show,
20
+ _onAnimationEnd = _ref.onAnimationEnd;
21
+ return /*#__PURE__*/_react["default"].createElement("div", {
22
+ className: "".concat(classes.container, " ").concat(show ? classes.show : classes.hide),
23
+ onAnimationEnd: function onAnimationEnd(e) {
24
+ if (_onAnimationEnd) _onAnimationEnd(e);
25
+ },
26
+ "data-testid": testId
27
+ }, header, /*#__PURE__*/_react["default"].createElement("div", {
28
+ className: classes.content
29
+ }, children));
30
+ }
31
+
32
+ ;
33
+ Drawer.propTypes = {
34
+ classes: _propTypes["default"].object,
35
+ header: _propTypes["default"].node,
36
+ children: _propTypes["default"].node,
37
+ testId: _propTypes["default"].string,
38
+ show: _propTypes["default"].bool,
39
+ onAnimationEnd: _propTypes["default"].func
40
+ };
@@ -11,12 +11,18 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
- var _Icon = _interopRequireDefault(require("../../Icon"));
14
+ var _reactDom = _interopRequireDefault(require("react-dom"));
15
15
 
16
- var _colors = _interopRequireDefault(require("../../subatomic/colors"));
16
+ var _reactJss = _interopRequireDefault(require("react-jss"));
17
+
18
+ var _Drawer = _interopRequireDefault(require("./Drawer"));
19
+
20
+ var _styles = _interopRequireDefault(require("./styles"));
17
21
 
18
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
23
 
24
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
+
20
26
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
21
27
 
22
28
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
@@ -37,59 +43,68 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
37
43
 
38
44
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
39
45
 
40
- var Nav = /*#__PURE__*/function (_React$Component) {
41
- _inherits(Nav, _React$Component);
46
+ var Drawer = (0, _reactJss["default"])(_styles["default"])(_Drawer["default"]);
47
+
48
+ var DrawerPortal = /*#__PURE__*/function (_React$Component) {
49
+ _inherits(DrawerPortal, _React$Component);
50
+
51
+ var _super = _createSuper(DrawerPortal);
42
52
 
43
- var _super = _createSuper(Nav);
53
+ function DrawerPortal(props) {
54
+ var _this;
44
55
 
45
- function Nav() {
46
- _classCallCheck(this, Nav);
56
+ _classCallCheck(this, DrawerPortal);
47
57
 
48
- return _super.apply(this, arguments);
58
+ _this = _super.call(this, props);
59
+ _this.state = {
60
+ mount: false
61
+ };
62
+ _this.onAnimationEnd = _this.onAnimationEnd.bind(_assertThisInitialized(_this));
63
+ return _this;
49
64
  }
50
65
 
51
- _createClass(Nav, [{
52
- key: "componentDidMount",
53
- value: function componentDidMount() {
54
- if (process.env.NODE_ENV === 'development') {
55
- console.warn('DEPRECATED: The Nav component will be removed soon. Please look for another solution.');
66
+ _createClass(DrawerPortal, [{
67
+ key: "componentWillReceiveProps",
68
+ value: function componentWillReceiveProps(props) {
69
+ if (props.show && !this.props.show) {
70
+ this.setState({
71
+ mount: true
72
+ });
56
73
  }
57
74
  }
75
+ }, {
76
+ key: "onAnimationEnd",
77
+ value: function onAnimationEnd() {
78
+ this.setState({
79
+ mount: false
80
+ });
81
+ }
58
82
  }, {
59
83
  key: "render",
60
84
  value: function render() {
85
+ var mount = this.state.mount;
61
86
  var _this$props = this.props,
62
- classes = _this$props.classes,
63
- active = _this$props.active,
64
- navigate = _this$props.navigate,
65
- buttons = _this$props.buttons;
66
- return /*#__PURE__*/_react["default"].createElement("ul", {
67
- className: classes.menu
68
- }, buttons.map(function (button) {
69
- return /*#__PURE__*/_react["default"].createElement("li", {
70
- key: button.id,
71
- onClick: navigate,
72
- className: "".concat(classes.listItem, " ").concat(active == button.id ? classes.activeItem : ''),
73
- id: button.id
74
- }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
75
- iconName: button.icon,
76
- colors: active == button.id ? [_colors["default"].white] : [_colors["default"].darkBlue],
77
- className: classes.icon
78
- }), /*#__PURE__*/_react["default"].createElement("a", {
79
- className: classes.listAnchor
80
- }, button.label));
87
+ container = _this$props.container,
88
+ show = _this$props.show;
89
+
90
+ var DrawerComponent = /*#__PURE__*/_react["default"].createElement(Drawer, _extends({}, this.props, {
91
+ onAnimationEnd: !show && mount ? this.onAnimationEnd : null
81
92
  }));
93
+
94
+ if (container) {
95
+ return mount ? /*#__PURE__*/_reactDom["default"].createPortal(DrawerComponent, container) : null;
96
+ } else {
97
+ return mount ? DrawerComponent : null;
98
+ }
82
99
  }
83
100
  }]);
84
101
 
85
- return Nav;
102
+ return DrawerPortal;
86
103
  }(_react["default"].Component);
87
104
 
88
- Nav.propTypes = {
89
- classes: _propTypes["default"].object,
90
- active: _propTypes["default"].string,
91
- navigate: _propTypes["default"].func,
92
- buttons: _propTypes["default"].array
105
+ DrawerPortal.propTypes = {
106
+ show: _propTypes["default"].bool,
107
+ container: _propTypes["default"].object
93
108
  };
94
- var _default = Nav;
109
+ var _default = DrawerPortal;
95
110
  exports["default"] = _default;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _enzyme = require("enzyme");
6
+
7
+ var _Drawer = _interopRequireDefault(require("./Drawer"));
8
+
9
+ var _styles = _interopRequireDefault(require("./styles"));
10
+
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
+
13
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
+
15
+ var reduceClasses = function reduceClasses(prev, curr) {
16
+ return Object.assign({}, prev, _defineProperty({}, curr, curr));
17
+ };
18
+
19
+ var classes = Object.keys(_styles["default"]).reduce(reduceClasses, {});
20
+ describe('Drawer', function () {
21
+ it('should render', function () {
22
+ var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Drawer["default"], {
23
+ classes: classes,
24
+ show: true
25
+ }, "Test"));
26
+ expect(wrapper.exists()).toBe(true);
27
+ expect(wrapper.text()).toContain('Test');
28
+ });
29
+ it('should apply the correct classes based on the show prop', function () {
30
+ var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Drawer["default"], {
31
+ classes: classes,
32
+ show: true
33
+ }, "Test"));
34
+ expect(wrapper.find('.show').exists()).toBe(true);
35
+ expect(wrapper.find('.hide').exists()).toBe(false);
36
+ wrapper.setProps({
37
+ show: false
38
+ });
39
+ expect(wrapper.find('.show').exists()).toBe(false);
40
+ expect(wrapper.find('.hide').exists()).toBe(true);
41
+ });
42
+ it('should call onAnimationEnd when animation ends', function () {
43
+ var onAnimationEndMock = jest.fn();
44
+ var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Drawer["default"], {
45
+ classes: classes,
46
+ show: true,
47
+ onAnimationEnd: onAnimationEndMock
48
+ }, "Test"));
49
+ wrapper.find('div.container').simulate('animationEnd');
50
+ expect(onAnimationEndMock).toHaveBeenCalled();
51
+ });
52
+ });
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _colors = _interopRequireDefault(require("../tokens/colors.json"));
9
+
10
+ var _shadows = _interopRequireDefault(require("../tokens/shadows.json"));
11
+
12
+ var _spacing = _interopRequireDefault(require("../tokens/spacing.json"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
+
16
+ var _default = {
17
+ '@global': {
18
+ body: {
19
+ overflow: 'hidden'
20
+ }
21
+ },
22
+ '@keyframes expand': {
23
+ from: {
24
+ height: 0
25
+ },
26
+ to: {
27
+ height: '100%'
28
+ }
29
+ },
30
+ '@keyframes collapse': {
31
+ from: {
32
+ height: '100%'
33
+ },
34
+ to: {
35
+ height: 0
36
+ }
37
+ },
38
+ container: {
39
+ display: 'flex',
40
+ flexDirection: 'column',
41
+ height: '100%',
42
+ width: '100%',
43
+ position: 'fixed',
44
+ top: 0,
45
+ left: 0,
46
+ zIndex: 1000,
47
+ backgroundColor: _colors["default"].bg.surface["default"],
48
+ overflow: 'hidden',
49
+ boxShadow: _shadows["default"]['elevation-elevation-3']
50
+ },
51
+ show: {
52
+ animation: 'expand 0.4s cubic-bezier(.4,0,.2,1)'
53
+ },
54
+ hide: {
55
+ animation: 'collapse 0.4s cubic-bezier(.4,0,.2,1)'
56
+ },
57
+ content: {
58
+ padding: _spacing["default"]['size-3']
59
+ }
60
+ };
61
+ exports["default"] = _default;
@@ -36,7 +36,7 @@ Object {
36
36
  "font": "400 14px/1.5 'OccText', sans-serif",
37
37
  },
38
38
  "highlighted": Object {
39
- "background": "hsl(221 91.2% 35.7% / 0.05)",
39
+ "background": "rgba(8, 60, 174, 0.05)",
40
40
  "font": "400 16px/1.5 'OccText', sans-serif",
41
41
  },
42
42
  "icon": Object {
@@ -47,10 +47,10 @@ Object {
47
47
  "& > $rightText": Object {
48
48
  "color": "#080D39",
49
49
  },
50
- "background": "hsl(221 91.2% 35.7% / 0.1)",
50
+ "background": "rgba(8, 60, 174, 0.1)",
51
51
  },
52
52
  "&:hover": Object {
53
- "background": "hsl(221 91.2% 35.7% / 0.05)",
53
+ "background": "rgba(8, 60, 174, 0.05)",
54
54
  },
55
55
  "alignItems": "center",
56
56
  "borderRadius": "4px",
@@ -77,9 +77,9 @@ Object {
77
77
  },
78
78
  "onFocus": Object {
79
79
  "&:hover": Object {
80
- "background": "hsl(221 91.2% 35.7% / 0.1)",
80
+ "background": "rgba(8, 60, 174, 0.1)",
81
81
  },
82
- "background": "hsl(221 91.2% 35.7% / 0.1)",
82
+ "background": "rgba(8, 60, 174, 0.1)",
83
83
  },
84
84
  "right": Object {
85
85
  "marginLeft": "16px",
@@ -2,11 +2,11 @@
2
2
 
3
3
  exports[`FAB matches the snapshot 1`] = `
4
4
  <button
5
- className="Button-btn-0-1-28 Button-btn-0-1-1 Button-tertiary-0-1-23 Button-tertiary-0-1-6 fab Button-iconOnly-0-1-38 Button-iconOnly-0-1-18 Button-round-0-1-40 Button-round-0-1-20"
5
+ className="Button-btn-0-1-22 Button-btn-0-1-1 Button-tertiary-0-1-27 Button-tertiary-0-1-6 fab Button-iconOnly-0-1-38 Button-iconOnly-0-1-18 Button-round-0-1-40 Button-round-0-1-20"
6
6
  disabled={false}
7
7
  >
8
8
  <span
9
- className="Button-cont-0-1-29 Button-cont-0-1-2"
9
+ className="Button-cont-0-1-23 Button-cont-0-1-2"
10
10
  >
11
11
  <span
12
12
  className="Icon-oldIcon-0-1-45 Icon-oldIcon-0-1-43 Button-icon-0-1-36 Button-icon-0-1-16"
@@ -1,118 +1,97 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports["default"] = void 0;
7
9
 
8
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
9
11
 
10
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
13
 
12
- var _Grid = _interopRequireDefault(require("../Grid"));
13
-
14
- var _WindowSize = _interopRequireDefault(require("../WindowSize"));
15
-
16
- var _Flexbox = _interopRequireDefault(require("../Flexbox"));
17
-
18
- var _grid = _interopRequireDefault(require("../subatomic/grid"));
14
+ var _Grid = _interopRequireDefault(require("./../Grid"));
19
15
 
20
16
  var _List = _interopRequireDefault(require("./List"));
21
17
 
22
- var _Text = _interopRequireDefault(require("../Text"));
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
19
 
24
- var _Button = _interopRequireDefault(require("../Button"));
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
21
 
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
23
 
28
24
  var itemTypes = {
29
25
  link: 'link',
30
26
  icon: 'icon',
31
27
  custom: 'custom'
32
28
  };
33
- /** Customisable footer component. This component can receive an array of columns. Those columns can contain an array of lists, and those lists can contain a title and and array of items. The items are objects that must define a type (one of 'link,', 'icon' or 'cursom').
34
- It can also receive a copy string, to show the copyright data, and an array of links to show above it.
35
- */
36
29
 
37
30
  var Footer = function Footer(_ref) {
38
- var classes = _ref.classes,
39
- columns = _ref.columns,
40
- winWidth = _ref.winWidth,
41
- bottomLinks = _ref.bottomLinks,
31
+ var _ref$columns = _ref.columns,
32
+ columns = _ref$columns === void 0 ? [] : _ref$columns,
33
+ _ref$bottomLinks = _ref.bottomLinks,
34
+ bottomLinks = _ref$bottomLinks === void 0 ? [] : _ref$bottomLinks,
42
35
  copyText = _ref.copyText,
43
36
  aux = _ref.aux,
44
- bottomItem = _ref.bottomItem,
45
- listClassName = _ref.listClassName;
46
- var text = aux.text,
47
- icon = aux.icon,
48
- href = aux.href,
49
- target = aux.target,
50
- iconRight = aux.iconRight,
51
- auxClassName = aux.className;
52
- var isMobile = winWidth < _grid["default"].sm;
53
- return /*#__PURE__*/_react["default"].createElement("div", {
54
- className: columns.length > 0 ? classes.footer : classes.footerWithoutColumns
37
+ listClassName = _ref.listClassName,
38
+ isFluid = _ref.isFluid,
39
+ topElement = _ref.topElement,
40
+ bottomLinksClassName = _ref.bottomLinksClassName,
41
+ sectionDivider = _ref.sectionDivider,
42
+ classes = _ref.classes,
43
+ footerDivider = _ref.footerDivider,
44
+ containerDivider = _ref.containerDivider,
45
+ transparent = _ref.transparent;
46
+ return /*#__PURE__*/_react["default"].createElement("footer", {
47
+ className: "".concat(transparent ? classes.footerTransparent : classes.footer).concat(footerDivider ? " ".concat(classes.borderTop) : '')
55
48
  }, /*#__PURE__*/_react["default"].createElement(_Grid["default"], {
56
- fluid: winWidth < _grid["default"].xl
57
- }, /*#__PURE__*/_react["default"].createElement(_Grid["default"].Row, null, /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
58
- display: "flex",
59
- direction: isMobile ? 'col' : 'row',
49
+ fluid: isFluid,
50
+ className: "".concat(classes.footerContainer).concat(containerDivider ? " ".concat(classes.borderTop) : '')
51
+ }, /*#__PURE__*/(0, _react.isValidElement)(topElement) ? topElement : '', columns.length ? /*#__PURE__*/_react["default"].createElement("section", {
60
52
  className: classes.column
61
53
  }, columns.map(function (column, index) {
62
- return /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
63
- key: index,
64
- flex: "1",
65
- className: !isMobile ? classes.list : ''
54
+ return /*#__PURE__*/_react["default"].createElement("div", {
55
+ key: index
66
56
  }, column.map(function (list) {
67
57
  return /*#__PURE__*/_react["default"].createElement(_List["default"], {
68
- list: list,
69
- isMobile: isMobile,
70
58
  key: list.key,
59
+ list: list,
71
60
  listClassName: listClassName
72
61
  });
73
62
  }));
74
- })), /*#__PURE__*/_react["default"].createElement("div", {
75
- className: classes.footerBottom
76
- }, /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
77
- display: "flex",
78
- alignItems: "start",
79
- className: classes.bottomWrap,
80
- direction: isMobile ? 'col' : 'row'
81
- }, /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
82
- flex: "1"
83
- }, aux && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
84
- href: href,
85
- target: target,
86
- icon: icon,
87
- iconRight: iconRight,
88
- size: "md",
89
- theme: "ghostPink",
90
- className: "".concat(isMobile ? classes.buttonMobile : '', " ").concat(auxClassName)
91
- }, text), /*#__PURE__*/_react["default"].createElement(_Text["default"], {
92
- small: true,
93
- mid: true,
94
- bottomTiny: true,
95
- tag: "div"
96
- }, bottomLinks.map(function (item) {
97
- return /*#__PURE__*/_react["default"].createElement("div", {
98
- className: isMobile ? classes.mobileListElement : classes.listElement,
63
+ })) : '', sectionDivider ? /*#__PURE__*/_react["default"].createElement("div", {
64
+ className: classes.divider
65
+ }) : '', /*#__PURE__*/_react["default"].createElement("section", {
66
+ className: classes.bottomSection
67
+ }, aux ? /*#__PURE__*/_react["default"].createElement("div", {
68
+ className: classes.auxContainer
69
+ }, aux.badges ? /*#__PURE__*/_react["default"].createElement("div", {
70
+ className: classes.badgesContainer
71
+ }, aux.badges) : '', aux.socialMedia ? /*#__PURE__*/_react["default"].createElement("div", {
72
+ className: classes.socialMediaContainer
73
+ }, aux.socialMedia) : '', aux.extraContent) : '', /*#__PURE__*/_react["default"].createElement("div", {
74
+ className: classes.bottomContainer
75
+ }, /*#__PURE__*/_react["default"].createElement("div", {
76
+ className: "".concat(classes.bottomLinksContainer, " ").concat(bottomLinksClassName)
77
+ }, bottomLinks.map(function (item, index) {
78
+ return /*#__PURE__*/_react["default"].createElement(_react.Fragment, {
99
79
  key: item.key
100
- }, /*#__PURE__*/_react["default"].createElement(_Text["default"], {
101
- tag: "label",
102
- small: true,
103
- mid: true,
104
- testId: item.testId
80
+ }, index === 0 || index === bottomLinks.length ? '' : /*#__PURE__*/_react["default"].createElement("div", {
81
+ className: classes.linkDivider
82
+ }), /*#__PURE__*/_react["default"].createElement("div", {
83
+ className: classes.listElement
105
84
  }, /*#__PURE__*/_react["default"].createElement("a", {
106
85
  className: classes.link,
107
86
  href: item.href,
108
87
  target: item.target,
109
88
  rel: item.rel,
110
- onClick: item.onClick
89
+ onClick: item.onClick,
90
+ tabIndex: 0
111
91
  }, item.text)));
112
- })), copyText && /*#__PURE__*/_react["default"].createElement(_Text["default"], {
113
- small: true,
114
- mid: true
115
- }, copyText)), bottomItem)))));
92
+ })), copyText && /*#__PURE__*/_react["default"].createElement("div", {
93
+ className: classes.copyright
94
+ }, copyText)))));
116
95
  };
117
96
 
118
97
  var columnPropTypes = _propTypes["default"].arrayOf(_propTypes["default"].arrayOf(_propTypes["default"].shape({
@@ -145,32 +124,47 @@ Footer.propTypes = {
145
124
  /** Array of links to render at the bottom. */
146
125
  bottomLinks: _propTypes["default"].array,
147
126
 
148
- /** Custom component to render on the bottom left. */
149
- customBottom: _propTypes["default"].node,
150
-
151
127
  /** String or component to show as the copyright label. */
152
128
  copyText: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]),
153
129
 
154
130
  /** Object to implement an auxiliar button on the bottom right. */
155
131
  aux: _propTypes["default"].shape({
156
- text: _propTypes["default"].string,
157
- icon: _propTypes["default"].string,
158
- href: _propTypes["default"].string,
159
- target: _propTypes["default"].string,
160
- iconRight: _propTypes["default"].string
132
+ badges: _propTypes["default"].node,
133
+ socialMedia: _propTypes["default"].node,
134
+ extraContent: _propTypes["default"].node
161
135
  }),
162
136
 
163
137
  /** Custom component to render on the bottom right, at the end of the footer */
164
138
  bottomItem: _propTypes["default"].node,
165
139
 
166
140
  /** Footer list className. */
167
- listClassName: _propTypes["default"].string
141
+ listClassName: _propTypes["default"].string,
142
+ isFluid: _propTypes["default"].bool,
143
+
144
+ /** Custom component to render at the top of the footer, commonly used for brand logo */
145
+ topElement: _propTypes["default"].node,
146
+
147
+ /** Custom classname for bottomLinks container. */
148
+ bottomLinksClassName: _propTypes["default"].string,
149
+
150
+ /** Flag to display an horizontal line between sections */
151
+ sectionDivider: _propTypes["default"].bool,
152
+
153
+ /** Flag to display a border top in footer element */
154
+ footerDivider: _propTypes["default"].bool,
155
+
156
+ /** Flag to display a border top in footer container child */
157
+ containerDivider: _propTypes["default"].bool,
158
+
159
+ /** Flag to set transparent background color to footer element */
160
+ transparent: _propTypes["default"].bool
168
161
  };
169
162
  Footer.defaultProps = {
170
163
  bottomLinks: [],
171
- columns: []
164
+ columns: [],
165
+ footerDivider: false,
166
+ containerDivider: false,
167
+ transparent: false
172
168
  };
173
-
174
- var _default = (0, _WindowSize["default"])(Footer);
175
-
169
+ var _default = Footer;
176
170
  exports["default"] = _default;