@gympass/yoga 7.75.7 → 7.76.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.
@@ -115,6 +115,11 @@ var Accordion = function Accordion(_ref15) {
115
115
  open = _useState[0],
116
116
  setOpen = _useState[1];
117
117
 
118
+ var _React$Children$toArr = _react["default"].Children.toArray(children),
119
+ summary = _React$Children$toArr[0],
120
+ contentChildren = _React$Children$toArr.slice(1);
121
+
122
+ var hasSummary = summary.type.displayName === 'Accordion.Summary';
118
123
  return /*#__PURE__*/_react["default"].createElement(AccordionWrapper, _extends({
119
124
  disabled: disabled
120
125
  }, props), /*#__PURE__*/_react["default"].createElement(Header, {
@@ -126,7 +131,7 @@ var Accordion = function Accordion(_ref15) {
126
131
  },
127
132
  small: small,
128
133
  hasHorizontalPadding: hasHorizontalPadding
129
- }, /*#__PURE__*/_react["default"].createElement(Title, {
134
+ }, hasSummary ? summary : /*#__PURE__*/_react["default"].createElement(Title, {
130
135
  subtitle: subtitle
131
136
  }, small ? /*#__PURE__*/_react["default"].createElement(_yoga.Text.Small, {
132
137
  color: disabled ? 'deep' : undefined
@@ -145,11 +150,11 @@ var Accordion = function Accordion(_ref15) {
145
150
  isOpen: open,
146
151
  small: small,
147
152
  hasHorizontalPadding: hasHorizontalPadding
148
- }, children), /*#__PURE__*/_react["default"].createElement(_yoga.Divider, null));
153
+ }, hasSummary ? contentChildren : children), /*#__PURE__*/_react["default"].createElement(_yoga.Divider, null));
149
154
  };
150
155
 
151
156
  Accordion.propTypes = {
152
- title: _propTypes.string.isRequired,
157
+ title: _propTypes.string,
153
158
  subtitle: _propTypes.string,
154
159
  children: _propTypes.node.isRequired,
155
160
  disabled: _propTypes.bool,
@@ -158,6 +163,7 @@ Accordion.propTypes = {
158
163
  hasHorizontalPadding: _propTypes.bool
159
164
  };
160
165
  Accordion.defaultProps = {
166
+ title: undefined,
161
167
  subtitle: undefined,
162
168
  disabled: false,
163
169
  expanded: false,
@@ -16,5 +16,6 @@ var Content = _styledComponents["default"].div(_templateObject || (_templateObje
16
16
  return "\n padding: 0 " + accordion.padding.standard + "px " + accordion.padding.standard + "px;\n ";
17
17
  });
18
18
 
19
+ Content.displayName = 'Accordion.Content';
19
20
  var _default = Content;
20
21
  exports["default"] = _default;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _react = _interopRequireDefault(require("react"));
7
+
8
+ var _Box = _interopRequireDefault(require("../../Box"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
13
+
14
+ function Summary(props) {
15
+ return /*#__PURE__*/_react["default"].createElement(_Box["default"], _extends({
16
+ width: "100%"
17
+ }, props));
18
+ }
19
+
20
+ Summary.displayName = 'Accordion.Summary';
21
+ var _default = Summary;
22
+ exports["default"] = _default;
@@ -5,6 +5,8 @@ exports["default"] = void 0;
5
5
 
6
6
  var _Accordion = _interopRequireDefault(require("./Accordion"));
7
7
 
8
+ var _Summary = _interopRequireDefault(require("./Summary"));
9
+
8
10
  var _Content = _interopRequireDefault(require("./Content"));
9
11
 
10
12
  var _Small = _interopRequireDefault(require("./Small"));
@@ -12,6 +14,7 @@ var _Small = _interopRequireDefault(require("./Small"));
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
15
 
14
16
  _Accordion["default"].Content = _Content["default"];
17
+ _Accordion["default"].Summary = _Summary["default"];
15
18
  _Accordion["default"].Small = _Small["default"];
16
19
  var _default = _Accordion["default"];
17
20
  exports["default"] = _default;
@@ -95,6 +95,11 @@ var Accordion = function Accordion(_ref15) {
95
95
  open = _useState[0],
96
96
  setOpen = _useState[1];
97
97
 
98
+ var _React$Children$toArr = React.Children.toArray(children),
99
+ summary = _React$Children$toArr[0],
100
+ contentChildren = _React$Children$toArr.slice(1);
101
+
102
+ var hasSummary = summary.type.displayName === 'Accordion.Summary';
98
103
  return /*#__PURE__*/React.createElement(AccordionWrapper, _extends({
99
104
  disabled: disabled
100
105
  }, props), /*#__PURE__*/React.createElement(Header, {
@@ -106,7 +111,7 @@ var Accordion = function Accordion(_ref15) {
106
111
  },
107
112
  small: small,
108
113
  hasHorizontalPadding: hasHorizontalPadding
109
- }, /*#__PURE__*/React.createElement(Title, {
114
+ }, hasSummary ? summary : /*#__PURE__*/React.createElement(Title, {
110
115
  subtitle: subtitle
111
116
  }, small ? /*#__PURE__*/React.createElement(Text.Small, {
112
117
  color: disabled ? 'deep' : undefined
@@ -125,11 +130,11 @@ var Accordion = function Accordion(_ref15) {
125
130
  isOpen: open,
126
131
  small: small,
127
132
  hasHorizontalPadding: hasHorizontalPadding
128
- }, children), /*#__PURE__*/React.createElement(Divider, null));
133
+ }, hasSummary ? contentChildren : children), /*#__PURE__*/React.createElement(Divider, null));
129
134
  };
130
135
 
131
136
  Accordion.propTypes = {
132
- title: string.isRequired,
137
+ title: string,
133
138
  subtitle: string,
134
139
  children: node.isRequired,
135
140
  disabled: bool,
@@ -138,6 +143,7 @@ Accordion.propTypes = {
138
143
  hasHorizontalPadding: bool
139
144
  };
140
145
  Accordion.defaultProps = {
146
+ title: undefined,
141
147
  subtitle: undefined,
142
148
  disabled: false,
143
149
  expanded: false,
@@ -102,6 +102,15 @@ describe('<Accordion />', function () {
102
102
  expect(container.firstChild).toMatchSnapshot();
103
103
  });
104
104
  });
105
+ it('should render the accordion summary', function () {
106
+ render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Accordion, {
107
+ title: "Title",
108
+ subtitle: "Subtitle"
109
+ }, /*#__PURE__*/React.createElement(Accordion.Summary, null, /*#__PURE__*/React.createElement(Text, null, "Summary")), /*#__PURE__*/React.createElement(Accordion.Content, null, /*#__PURE__*/React.createElement(Text, null, "Content")))));
110
+ expect(screen.getByText('Summary')).toBeInTheDocument();
111
+ expect(screen.queryByText('Title')).not.toBeInTheDocument();
112
+ expect(screen.queryByText('Subtitle')).not.toBeInTheDocument();
113
+ });
105
114
  it('should have className when passed as props', function () {
106
115
  render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(Accordion, {
107
116
  title: "Title"
@@ -7,4 +7,5 @@ var Content = styled.div(_templateObject || (_templateObject = _taggedTemplateLi
7
7
  var accordion = _ref.theme.yoga.components.accordion;
8
8
  return "\n padding: 0 " + accordion.padding.standard + "px " + accordion.padding.standard + "px;\n ";
9
9
  });
10
+ Content.displayName = 'Accordion.Content';
10
11
  export default Content;
@@ -0,0 +1,13 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
2
+
3
+ import React from 'react';
4
+ import Box from '../../Box';
5
+
6
+ function Summary(props) {
7
+ return /*#__PURE__*/React.createElement(Box, _extends({
8
+ width: "100%"
9
+ }, props));
10
+ }
11
+
12
+ Summary.displayName = 'Accordion.Summary';
13
+ export default Summary;
@@ -1,6 +1,8 @@
1
1
  import Accordion from './Accordion';
2
+ import Summary from './Summary';
2
3
  import Content from './Content';
3
4
  import AccordionSmall from './Small';
4
5
  Accordion.Content = Content;
6
+ Accordion.Summary = Summary;
5
7
  Accordion.Small = AccordionSmall;
6
8
  export default Accordion;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gympass/yoga",
3
- "version": "7.75.7",
3
+ "version": "7.76.0",
4
4
  "description": "Gympass component library",
5
5
  "main": "./cjs",
6
6
  "sideEffects": false,
@@ -53,7 +53,7 @@
53
53
  "react": ">=16",
54
54
  "styled-components": "^4.4.0"
55
55
  },
56
- "gitHead": "a8f9db2577dd79e2250ee1126db4ab46dbc7ae56",
56
+ "gitHead": "c162c2c074dac2da331bbc5a02da61733dd14d44",
57
57
  "module": "./esm",
58
58
  "private": false,
59
59
  "react-native": "./cjs/index.native.js"