@transferwise/components 0.0.0-experimental-e3c198b → 0.0.0-experimental-fcfae09

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.
@@ -1 +1 @@
1
- {"version":3,"file":"SlidingPanel.d.ts","sourceRoot":"","sources":["../../../src/slidingPanel/SlidingPanel.js"],"names":[],"mappings":"AAMA,iCAAkC;;AAElC,0GA2CE"}
1
+ {"version":3,"file":"SlidingPanel.d.ts","sourceRoot":"","sources":["../../../src/slidingPanel/SlidingPanel.js"],"names":[],"mappings":"AAMA,iCAAkC;;AAElC,0GA4CE"}
@@ -8,8 +8,6 @@ export type TypeaheadOption<T = string> = {
8
8
  note?: string;
9
9
  secondary?: string;
10
10
  value?: T;
11
- clearQueryOnSelect?: boolean;
12
- keepFocusOnSelect?: boolean;
13
11
  };
14
12
  export interface TypeaheadProps<T> {
15
13
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Typeahead.d.ts","sourceRoot":"","sources":["../../../src/typeahead/Typeahead.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAGvC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,EAAE,IAAI,EAAa,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAOnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,OAAO,eAAe,MAAM,mCAAmC,CAAC;AAKhE,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,MAAM,IAAI;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;KACjC,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAE9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;CACtD;AAED,KAAK,cAAc,CAAC,CAAC,IAAI;IACvB,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,SAAS,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC/E,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAC9B,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,OAAO,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAEzE,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;MAe0B;gBAEjC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAepC,qBAAqB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAEnE,gCAAgC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAkB7D,oBAAoB;IAIpB,aAAa,aAGX;IAEF,gBAAgB,UAAW,gBAAgB,QAAQ,gBAAgB,CAAC,CAAC,UAGnE;IAEF,cAAc,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAoBxD;IAEF,aAAa,EAAE,KAAK,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAiB1D;IAEF,eAAe,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAmC3D;IAEF,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAchC,UAAU,SAAU,gBAAgB,CAAC,CAAC,UAyBpC;IAEF,YAAY,UAAW,MAAM,UAS3B;IAEF,mBAAmB,aAgBjB;IAEF,QAAQ,aAWN;IAEF,QAAQ,aAWN;IAEF,mBAAmB,aAAc,gBAAgB,CAAC,CAAC,EAAE,UAOnD;IAEF,KAAK,UAAW,gBAAgB,CAAC,iBAAiB,CAAC,UASjD;IAEF,UAAU,WAAY,gBAAgB,CAAC,CAAC,UAMtC;IAEF,UAAU,WAAY,gBAAgB,CAAC,CAAC,OAAO,MAAM,KAAG,SAAS,CAc/D;IAEF,UAAU;sBAWQ,OAAO;sCAkCvB;IAEF,MAAM;CAsGP"}
1
+ {"version":3,"file":"Typeahead.d.ts","sourceRoot":"","sources":["../../../src/typeahead/Typeahead.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transferwise/components",
3
- "version": "0.0.0-experimental-e3c198b",
3
+ "version": "0.0.0-experimental-fcfae09",
4
4
  "description": "Neptune React components",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -25,6 +25,7 @@ const SlidingPanel = forwardRef(
25
25
  return (
26
26
  <CSSTransition
27
27
  {...rest}
28
+ key={`sliding-panel--open-${position}`}
28
29
  nodeRef={localReference}
29
30
  in={open}
30
31
  // Wait for animation to finish before unmount.
@@ -5,7 +5,6 @@ import { Search as SearchIcon } from '@transferwise/icons';
5
5
  import { useState } from 'react';
6
6
 
7
7
  import { Sentiment } from '../common';
8
- import { Input } from '../inputs/Input';
9
8
 
10
9
  import Typeahead, { type TypeaheadOption } from './Typeahead';
11
10
 
@@ -121,111 +120,3 @@ Basic.play = async ({ canvasElement }: StoryContext) => {
121
120
  const canvas = within(canvasElement);
122
121
  await userEvent.type(canvas.getByRole('combobox'), 'abc{ArrowDown}');
123
122
  };
124
-
125
- type Result =
126
- | {
127
- type: 'action';
128
- value: string;
129
- }
130
- | {
131
- type: 'search';
132
- value: string;
133
- };
134
-
135
- type SearchState = 'success' | 'idle' | 'error' | 'loading';
136
-
137
- export const Search = () => {
138
- const [results, setResults] = useState<Result[]>([]);
139
- const [state, setState] = useState<SearchState>('idle');
140
- const [filledValue, setFilledValue] = useState<string | null>(null);
141
-
142
- const onChange = (query: string) => {
143
- if (query === 'loading') {
144
- setState('loading');
145
- setResults([]);
146
- return;
147
- }
148
- if (query === 'error') {
149
- setState('error');
150
- setResults([]);
151
- return;
152
- }
153
- if (query === 'nothing') {
154
- setState('success');
155
- setResults([]);
156
- return;
157
- }
158
-
159
- setState('success');
160
- setResults(getResults(query));
161
- };
162
-
163
- const onResultSelected = (option: Result) => {
164
- if (option.type === 'search') {
165
- setResults([
166
- { type: 'action', value: `${option.value} Result #1` },
167
- { type: 'action', value: `${option.value} Result #2` },
168
- { type: 'action', value: `${option.value} Result #3` },
169
- ]);
170
- }
171
- if (option.type === 'action') {
172
- setFilledValue(option.value);
173
- }
174
- };
175
-
176
- const getResults = (query: string): Result[] => {
177
- return [
178
- { type: 'action', value: `${query} Result #1` },
179
- { type: 'action', value: `${query} Result #2` },
180
- { type: 'action', value: `${query} Result #3` },
181
- { type: 'search', value: `Search for more: '${query}'` },
182
- ];
183
- };
184
-
185
- return (
186
- <>
187
- <Typeahead<Result>
188
- id="typeahead-input-id"
189
- name="typeahead-input-name"
190
- size="md"
191
- maxHeight={100}
192
- footer={<SearchFooter options={results} state={state} />}
193
- multiple={false}
194
- clearable={false}
195
- addon={<SearchIcon />}
196
- options={results.map((option) => ({
197
- value: option,
198
- label: option.value,
199
- keepFocusOnSelect: option.type === 'search',
200
- clearQueryOnSelect: option.type === 'action',
201
- }))}
202
- onChange={(values) => {
203
- if (values.length > 0) {
204
- const [updatedValue] = values;
205
- if (updatedValue.value) {
206
- onResultSelected(updatedValue.value);
207
- }
208
- }
209
- }}
210
- onInputChange={onChange}
211
- />
212
- {filledValue != null ? <Input value={filledValue} /> : null}
213
- </>
214
- );
215
- };
216
-
217
- function SearchFooter({ options, state }: { options: Result[]; state: SearchState }) {
218
- if (state === 'loading') {
219
- return <p className="m-y-2 m-x-2">Loading...</p>;
220
- }
221
-
222
- if (state === 'success' && options.length === 0) {
223
- return <p className="m-y-2 m-x-2">No results found</p>;
224
- }
225
-
226
- if (state === 'error' && options.length === 0) {
227
- return <div className="m-y-2 m-x-2">Something went wrong</div>;
228
- }
229
-
230
- return null;
231
- }
@@ -30,8 +30,6 @@ export type TypeaheadOption<T = string> = {
30
30
  note?: string;
31
31
  secondary?: string;
32
32
  value?: T;
33
- clearQueryOnSelect?: boolean;
34
- keepFocusOnSelect?: boolean;
35
33
  };
36
34
 
37
35
  export interface TypeaheadProps<T> {
@@ -252,15 +250,7 @@ export default class Typeahead<T> extends Component<TypeaheadProps<T>, Typeahead
252
250
  }
253
251
 
254
252
  this.updateSelectedValue(selected);
255
-
256
- if (!item.keepFocusOnSelect) {
257
- this.hideMenu();
258
- }
259
-
260
- if (item.clearQueryOnSelect) {
261
- query = '';
262
- }
263
-
253
+ this.hideMenu();
264
254
  this.setState({
265
255
  query,
266
256
  });
@@ -509,7 +499,8 @@ export default class Typeahead<T> extends Component<TypeaheadProps<T>, Typeahead
509
499
  </div>
510
500
  )}
511
501
  </div>
512
- {displayAlert ? <InlineAlert type={alert.type}>{alert.message}</InlineAlert> : menu}
502
+ {displayAlert && <InlineAlert type={alert.type}>{alert.message}</InlineAlert>}
503
+ {menu}
513
504
  </div>
514
505
  </div>
515
506
  );