@gympass/yoga 7.71.0 → 7.72.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.
@@ -15,7 +15,7 @@ var _yogaIcons = require("@gympass/yoga-icons");
15
15
 
16
16
  var _Input = _interopRequireDefault(require("../../Input/web/Input"));
17
17
 
18
- var _excluded = ["className", "style", "full", "options", "onChange", "onClean", "onSelect", "value", "error", "openSuggestionsAriaLabel", "closeSuggestionsAriaLabel"];
18
+ var _excluded = ["className", "style", "full", "options", "onChange", "onClean", "onSelect", "value", "error", "openSuggestionsAriaLabel", "closeSuggestionsAriaLabel", "shouldFilterOptions"];
19
19
 
20
20
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
21
21
 
@@ -78,6 +78,7 @@ var AutoComplete = /*#__PURE__*/_react["default"].forwardRef(function (_ref6, re
78
78
  error = _ref6.error,
79
79
  openSuggestionsAriaLabel = _ref6.openSuggestionsAriaLabel,
80
80
  closeSuggestionsAriaLabel = _ref6.closeSuggestionsAriaLabel,
81
+ shouldFilterOptions = _ref6.shouldFilterOptions,
81
82
  props = _objectWithoutPropertiesLoose(_ref6, _excluded);
82
83
 
83
84
  var _useState = (0, _react.useState)(value),
@@ -136,11 +137,11 @@ var AutoComplete = /*#__PURE__*/_react["default"].forwardRef(function (_ref6, re
136
137
  openMenu = _ref8.openMenu,
137
138
  inputValue = _ref8.inputValue;
138
139
  var reg = new RegExp("(" + escapeRegExp(inputValue || '').trim() + ")", 'gi');
139
- var suggestionList = options.filter(function (option) {
140
+ var suggestionList = shouldFilterOptions ? options.filter(function (option) {
140
141
  return option.match(reg);
141
142
  }).sort(function (first, second) {
142
143
  return first.toLowerCase().indexOf(inputValue) < second.toLowerCase().indexOf(inputValue) ? -1 : 1;
143
- });
144
+ }) : options;
144
145
 
145
146
  if (!!inputValue && isOpen) {
146
147
  setIsSuggestionsOpen(true);
@@ -218,7 +219,10 @@ AutoComplete.propTypes = {
218
219
  openSuggestionsAriaLabel: _propTypes.string,
219
220
 
220
221
  /** an aria label for the close suggestions icon */
221
- closeSuggestionsAriaLabel: _propTypes.string
222
+ closeSuggestionsAriaLabel: _propTypes.string,
223
+
224
+ /** flag to enable options filtering */
225
+ shouldFilterOptions: _propTypes.bool
222
226
  };
223
227
  AutoComplete.defaultProps = {
224
228
  className: undefined,
@@ -231,7 +235,8 @@ AutoComplete.defaultProps = {
231
235
  value: undefined,
232
236
  error: undefined,
233
237
  openSuggestionsAriaLabel: 'Open suggestions',
234
- closeSuggestionsAriaLabel: 'Close suggestions'
238
+ closeSuggestionsAriaLabel: 'Close suggestions',
239
+ shouldFilterOptions: true
235
240
  };
236
241
  var _default = AutoComplete;
237
242
  exports["default"] = _default;
@@ -1,4 +1,4 @@
1
- var _excluded = ["className", "style", "full", "options", "onChange", "onClean", "onSelect", "value", "error", "openSuggestionsAriaLabel", "closeSuggestionsAriaLabel"];
1
+ var _excluded = ["className", "style", "full", "options", "onChange", "onClean", "onSelect", "value", "error", "openSuggestionsAriaLabel", "closeSuggestionsAriaLabel", "shouldFilterOptions"];
2
2
 
3
3
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
4
4
 
@@ -59,6 +59,7 @@ var AutoComplete = /*#__PURE__*/React.forwardRef(function (_ref6, ref) {
59
59
  error = _ref6.error,
60
60
  openSuggestionsAriaLabel = _ref6.openSuggestionsAriaLabel,
61
61
  closeSuggestionsAriaLabel = _ref6.closeSuggestionsAriaLabel,
62
+ shouldFilterOptions = _ref6.shouldFilterOptions,
62
63
  props = _objectWithoutPropertiesLoose(_ref6, _excluded);
63
64
 
64
65
  var _useState = useState(value),
@@ -117,11 +118,11 @@ var AutoComplete = /*#__PURE__*/React.forwardRef(function (_ref6, ref) {
117
118
  openMenu = _ref8.openMenu,
118
119
  inputValue = _ref8.inputValue;
119
120
  var reg = new RegExp("(" + escapeRegExp(inputValue || '').trim() + ")", 'gi');
120
- var suggestionList = options.filter(function (option) {
121
+ var suggestionList = shouldFilterOptions ? options.filter(function (option) {
121
122
  return option.match(reg);
122
123
  }).sort(function (first, second) {
123
124
  return first.toLowerCase().indexOf(inputValue) < second.toLowerCase().indexOf(inputValue) ? -1 : 1;
124
- });
125
+ }) : options;
125
126
 
126
127
  if (!!inputValue && isOpen) {
127
128
  setIsSuggestionsOpen(true);
@@ -198,7 +199,10 @@ AutoComplete.propTypes = {
198
199
  openSuggestionsAriaLabel: string,
199
200
 
200
201
  /** an aria label for the close suggestions icon */
201
- closeSuggestionsAriaLabel: string
202
+ closeSuggestionsAriaLabel: string,
203
+
204
+ /** flag to enable options filtering */
205
+ shouldFilterOptions: bool
202
206
  };
203
207
  AutoComplete.defaultProps = {
204
208
  className: undefined,
@@ -211,6 +215,7 @@ AutoComplete.defaultProps = {
211
215
  value: undefined,
212
216
  error: undefined,
213
217
  openSuggestionsAriaLabel: 'Open suggestions',
214
- closeSuggestionsAriaLabel: 'Close suggestions'
218
+ closeSuggestionsAriaLabel: 'Close suggestions',
219
+ shouldFilterOptions: true
215
220
  };
216
221
  export default AutoComplete;
@@ -53,14 +53,27 @@ describe('<AutoComplete />', function () {
53
53
  fireEvent.focus(getByDisplayValue('secon'));
54
54
  expect(container.querySelector('ul').firstChild.textContent).toBe('second');
55
55
  });
56
- it('should close options list when clean button is clicked', function () {
56
+ it('should not filter the options', function () {
57
57
  var _render6 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(AutoComplete, {
58
58
  value: "secon",
59
- options: ['first', 'second', 'third']
59
+ options: ['first', 'second', 'third'],
60
+ shouldFilterOptions: false
60
61
  }))),
61
62
  container = _render6.container,
62
- getByDisplayValue = _render6.getByDisplayValue,
63
- getByRole = _render6.getByRole;
63
+ getByDisplayValue = _render6.getByDisplayValue;
64
+
65
+ fireEvent.focus(getByDisplayValue('secon'));
66
+ expect(container.querySelector('ul').firstChild.textContent).toBe('first');
67
+ expect(container.querySelector('ul').childNodes.length).toBe(3);
68
+ });
69
+ it('should close options list when clean button is clicked', function () {
70
+ var _render7 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(AutoComplete, {
71
+ value: "secon",
72
+ options: ['first', 'second', 'third']
73
+ }))),
74
+ container = _render7.container,
75
+ getByDisplayValue = _render7.getByDisplayValue,
76
+ getByRole = _render7.getByRole;
64
77
 
65
78
  fireEvent.focus(getByDisplayValue('secon'));
66
79
  fireEvent.click(getByRole('button', {
@@ -75,12 +88,12 @@ describe('<AutoComplete />', function () {
75
88
  var onCleanMock = jest.fn();
76
89
  var onSelectMock = jest.fn();
77
90
 
78
- var _render7 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(AutoComplete, {
91
+ var _render8 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(AutoComplete, {
79
92
  value: "New",
80
93
  options: ['New York'],
81
94
  onChange: onChangeMock
82
95
  }))),
83
- getByDisplayValue = _render7.getByDisplayValue;
96
+ getByDisplayValue = _render8.getByDisplayValue;
84
97
 
85
98
  fireEvent.change(getByDisplayValue('New'), {
86
99
  target: {
@@ -96,15 +109,15 @@ describe('<AutoComplete />', function () {
96
109
  var onSelectMock = jest.fn();
97
110
  var onChangeMock = jest.fn();
98
111
 
99
- var _render8 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(AutoComplete, {
112
+ var _render9 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(AutoComplete, {
100
113
  value: "New",
101
114
  options: ['New York'],
102
115
  onClean: onCleanMock,
103
116
  onSelect: onSelectMock,
104
117
  onChange: onChangeMock
105
118
  }))),
106
- getByDisplayValue = _render8.getByDisplayValue,
107
- getByRole = _render8.getByRole;
119
+ getByDisplayValue = _render9.getByDisplayValue,
120
+ getByRole = _render9.getByRole;
108
121
 
109
122
  fireEvent.focus(getByDisplayValue('New'));
110
123
  fireEvent.click(getByRole('button', {
@@ -119,15 +132,15 @@ describe('<AutoComplete />', function () {
119
132
  var onCleanMock = jest.fn();
120
133
  var onChangeMock = jest.fn();
121
134
 
122
- var _render9 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(AutoComplete, {
135
+ var _render10 = render( /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(AutoComplete, {
123
136
  value: "New",
124
137
  options: ['New York'],
125
138
  onSelect: onSelectMock,
126
139
  onClean: onCleanMock,
127
140
  onChange: onChangeMock
128
141
  }))),
129
- getByDisplayValue = _render9.getByDisplayValue,
130
- getByRole = _render9.getByRole;
142
+ getByDisplayValue = _render10.getByDisplayValue,
143
+ getByRole = _render10.getByRole;
131
144
 
132
145
  fireEvent.focus(getByDisplayValue('New'));
133
146
  fireEvent.click(getByRole('option'));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gympass/yoga",
3
- "version": "7.71.0",
3
+ "version": "7.72.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": "9dab18e17e33d1ce97064c09c9ccf722c647e8a9",
56
+ "gitHead": "9231980c252bc0f14c5c37da6cec98d6070ba14f",
57
57
  "module": "./esm",
58
58
  "private": false,
59
59
  "react-native": "./cjs/index.native.js"