@transferwise/components 46.9.0 → 46.10.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 (49) hide show
  1. package/build/index.esm.js +26 -55
  2. package/build/index.esm.js.map +1 -1
  3. package/build/index.js +26 -55
  4. package/build/index.js.map +1 -1
  5. package/build/types/common/index.d.ts +0 -1
  6. package/build/types/dateLookup/DateLookup.d.ts.map +1 -1
  7. package/build/types/inputs/SelectInput.d.ts +2 -1
  8. package/build/types/inputs/SelectInput.d.ts.map +1 -1
  9. package/build/types/moneyInput/MoneyInput.d.ts.map +1 -1
  10. package/build/types/select/Select.d.ts.map +1 -1
  11. package/build/types/switch/Switch.d.ts.map +1 -1
  12. package/build/types/tabs/Tabs.d.ts.map +1 -1
  13. package/build/types/typeahead/Typeahead.d.ts.map +1 -1
  14. package/package.json +14 -17
  15. package/src/button/Button.story.tsx +3 -3
  16. package/src/common/fakeEvents.js +2 -2
  17. package/src/common/index.js +0 -1
  18. package/src/dateInput/DateInput.story.tsx +4 -3
  19. package/src/dateLookup/DateLookup.js +6 -7
  20. package/src/dateLookup/DateLookup.keyboardEvents.spec.js +24 -25
  21. package/src/dateLookup/DateLookup.story.js +4 -3
  22. package/src/dateLookup/dateTrigger/DateTrigger.spec.js +3 -3
  23. package/src/info/Info.story.tsx +3 -3
  24. package/src/inputWithDisplayFormat/InputWithDisplayFormat.story.js +2 -7
  25. package/src/inputs/SelectInput.spec.tsx +7 -0
  26. package/src/inputs/SelectInput.story.tsx +7 -7
  27. package/src/inputs/SelectInput.tsx +4 -0
  28. package/src/logo/Logo.js +4 -4
  29. package/src/moneyInput/MoneyInput.story.tsx +3 -3
  30. package/src/moneyInput/MoneyInput.tsx +14 -24
  31. package/src/select/Select.js +8 -9
  32. package/src/snackbar/Snackbar.story.tsx +3 -3
  33. package/src/switch/Switch.spec.js +2 -3
  34. package/src/switch/Switch.tsx +1 -2
  35. package/src/switchOption/SwitchOption.spec.js +1 -4
  36. package/src/tabs/Tabs.js +1 -2
  37. package/src/textareaWithDisplayFormat/TextareaWithDisplayFormat.story.tsx +5 -4
  38. package/src/tile/Tile.js +2 -2
  39. package/src/tile/Tile.spec.js +5 -5
  40. package/src/tooltip/Tooltip.story.tsx +3 -3
  41. package/src/typeahead/Typeahead.js +5 -6
  42. package/src/typeahead/Typeahead.spec.js +3 -8
  43. package/src/typeahead/Typeahead.story.js +3 -4
  44. package/build/types/common/key.d.ts +0 -9
  45. package/build/types/common/key.d.ts.map +0 -1
  46. package/build/types/common/keyCodes.d.ts +0 -16
  47. package/build/types/common/keyCodes.d.ts.map +0 -1
  48. package/src/common/key.js +0 -8
  49. package/src/common/keyCodes.js +0 -19
@@ -333,15 +333,6 @@ var FileType;
333
333
  FileType["CSV"] = ".csv,text/csv";
334
334
  })(FileType || (FileType = {}));
335
335
 
336
- const Key = {
337
- ENTER: 'Enter',
338
- ESCAPE: 'Escape',
339
- SPACE: [' ', 'Spacebar'],
340
- TAB: 'Tab',
341
- PERIOD: '.',
342
- COMMA: ','
343
- };
344
-
345
336
  const DEFAULT_LANG = 'en';
346
337
  const DEFAULT_LOCALE = 'en-GB';
347
338
  /**
@@ -3134,26 +3125,6 @@ DateInput.defaultProps = {
3134
3125
  };
3135
3126
  var DateInput$1 = DateInput;
3136
3127
 
3137
- /**
3138
- * TODO: mention what to use instead or consider to delete this object
3139
- *
3140
- * @deprecated
3141
- */
3142
- var KeyCodes = {
3143
- DOWN: 40,
3144
- UP: 38,
3145
- LEFT: 37,
3146
- RIGHT: 39,
3147
- ENTER: 13,
3148
- ESCAPE: 27,
3149
- TAB: 9,
3150
- SPACE: 32,
3151
- BACKSPACE: 8,
3152
- DELETE: 46,
3153
- COMMA: 188,
3154
- PERIOD: 190
3155
- };
3156
-
3157
3128
  const POPOVER_OFFSET = [0, 16];
3158
3129
  // By default the flip positioning explores only the opposite alternative. So if left is passed and there's no enough space
3159
3130
  // the right one gets chosen. If there's no space on both sides popover goes back to the initially chosen one left.
@@ -4175,8 +4146,8 @@ class DateLookup extends PureComponent {
4175
4146
  open,
4176
4147
  originalDate
4177
4148
  } = this.state;
4178
- switch (event.keyCode) {
4179
- case KeyCodes.LEFT:
4149
+ switch (event.key) {
4150
+ case 'ArrowLeft':
4180
4151
  if (open) {
4181
4152
  this.adjustDate(-1, -1, -1);
4182
4153
  } else {
@@ -4184,7 +4155,7 @@ class DateLookup extends PureComponent {
4184
4155
  }
4185
4156
  event.preventDefault();
4186
4157
  break;
4187
- case KeyCodes.UP:
4158
+ case 'ArrowUp':
4188
4159
  if (open) {
4189
4160
  this.adjustDate(-7, -4, -4);
4190
4161
  } else {
@@ -4192,7 +4163,7 @@ class DateLookup extends PureComponent {
4192
4163
  }
4193
4164
  event.preventDefault();
4194
4165
  break;
4195
- case KeyCodes.RIGHT:
4166
+ case 'ArrowRight':
4196
4167
  if (open) {
4197
4168
  this.adjustDate(1, 1, 1);
4198
4169
  } else {
@@ -4200,7 +4171,7 @@ class DateLookup extends PureComponent {
4200
4171
  }
4201
4172
  event.preventDefault();
4202
4173
  break;
4203
- case KeyCodes.DOWN:
4174
+ case 'ArrowDown':
4204
4175
  if (open) {
4205
4176
  this.adjustDate(7, 4, 4);
4206
4177
  } else {
@@ -4208,7 +4179,7 @@ class DateLookup extends PureComponent {
4208
4179
  }
4209
4180
  event.preventDefault();
4210
4181
  break;
4211
- case KeyCodes.ESCAPE:
4182
+ case 'Escape':
4212
4183
  if (originalDate !== null) {
4213
4184
  this.props.onChange(originalDate);
4214
4185
  }
@@ -4531,7 +4502,7 @@ const Tile = ({
4531
4502
  onKeyDown: disabled ? null : ({
4532
4503
  key
4533
4504
  }) => {
4534
- if (key === Key.ENTER || Key.SPACE.includes(key)) {
4505
+ if (key === 'Enter' || key === ' ') {
4535
4506
  onClick();
4536
4507
  }
4537
4508
  },
@@ -6762,6 +6733,7 @@ function SelectInputClearButton({
6762
6733
  }
6763
6734
  const noop = () => {};
6764
6735
  function SelectInput({
6736
+ id,
6765
6737
  name,
6766
6738
  multiple,
6767
6739
  placeholder,
@@ -6827,6 +6799,7 @@ function SelectInput({
6827
6799
  // eslint-disable-next-line react/jsx-no-constructed-context-values
6828
6800
  value: {
6829
6801
  ref: mergeRefs([ref, triggerRef]),
6802
+ id,
6830
6803
  ...mergeProps({
6831
6804
  onClick: () => {
6832
6805
  setOpen(prev => !prev);
@@ -7775,8 +7748,7 @@ const parseNumber = ({
7775
7748
  }
7776
7749
  return Number(amount);
7777
7750
  };
7778
- const inputKeyCodeAllowlist = new Set([KeyCodes.BACKSPACE, KeyCodes.DELETE, KeyCodes.COMMA, KeyCodes.PERIOD, KeyCodes.DOWN, KeyCodes.UP, KeyCodes.LEFT, KeyCodes.RIGHT, KeyCodes.ENTER, KeyCodes.ESCAPE, KeyCodes.TAB]);
7779
- const inputKeyAllowlist = new Set([Key.PERIOD, Key.COMMA]);
7751
+ const allowedInputKeys = new Set(['Backspace', 'Delete', ',', '.', 'ArrowDown', 'ArrowUp', 'ArrowLeft', 'ArrowRight', 'Enter', 'Escape', 'Tab']);
7780
7752
  class MoneyInput extends Component {
7781
7753
  static defaultProps = {
7782
7754
  size: Size.LARGE,
@@ -7814,13 +7786,12 @@ class MoneyInput extends Component {
7814
7786
  }
7815
7787
  isInputAllowedForKeyEvent = event => {
7816
7788
  const {
7817
- keyCode,
7818
7789
  metaKey,
7819
7790
  key,
7820
7791
  ctrlKey
7821
7792
  } = event;
7822
7793
  const isNumberKey = isNumber(parseInt(key, 10));
7823
- return isNumberKey || metaKey || ctrlKey || inputKeyCodeAllowlist.has(keyCode) || inputKeyAllowlist.has(key);
7794
+ return isNumberKey || metaKey || ctrlKey || allowedInputKeys.has(key);
7824
7795
  };
7825
7796
  handleKeyDown = event => {
7826
7797
  if (!this.isInputAllowedForKeyEvent(event)) {
@@ -10660,17 +10631,17 @@ function Select({
10660
10631
  }
10661
10632
  };
10662
10633
  const handleKeyDown = event => {
10663
- switch (event.keyCode) {
10664
- case KeyCodes.UP:
10665
- case KeyCodes.DOWN:
10634
+ switch (event.key) {
10635
+ case 'ArrowUp':
10636
+ case 'ArrowDown':
10666
10637
  if (open) {
10667
- moveFocusWithDifference(event.keyCode === KeyCodes.UP ? -1 : 1);
10638
+ moveFocusWithDifference(event.key === 'ArrowUp' ? -1 : 1);
10668
10639
  } else {
10669
10640
  setOpen(true);
10670
10641
  }
10671
10642
  stopPropagation$1(event);
10672
10643
  break;
10673
- case KeyCodes.SPACE:
10644
+ case ' ':
10674
10645
  if (event.target !== searchBoxReference.current) {
10675
10646
  if (open) {
10676
10647
  selectKeyboardFocusedOption();
@@ -10680,7 +10651,7 @@ function Select({
10680
10651
  stopPropagation$1(event);
10681
10652
  }
10682
10653
  break;
10683
- case KeyCodes.ENTER:
10654
+ case 'Enter':
10684
10655
  if (open) {
10685
10656
  selectKeyboardFocusedOption();
10686
10657
  } else {
@@ -10688,11 +10659,11 @@ function Select({
10688
10659
  }
10689
10660
  stopPropagation$1(event);
10690
10661
  break;
10691
- case KeyCodes.ESCAPE:
10662
+ case 'Escape':
10692
10663
  handleCloseOptions();
10693
10664
  stopPropagation$1(event);
10694
10665
  break;
10695
- case KeyCodes.TAB:
10666
+ case 'Tab':
10696
10667
  if (open) {
10697
10668
  selectKeyboardFocusedOption();
10698
10669
  }
@@ -11451,7 +11422,7 @@ const Switch = props => {
11451
11422
  disabled
11452
11423
  } = props;
11453
11424
  const handleKeyDown = event => {
11454
- if (event.code === '32' || event.keyCode === KeyCodes.SPACE) {
11425
+ if (event.key === ' ') {
11455
11426
  event.preventDefault();
11456
11427
  onClick();
11457
11428
  }
@@ -11948,7 +11919,7 @@ class Tabs extends Component {
11948
11919
  this.switchTab(index);
11949
11920
  };
11950
11921
  onKeyDown = index => event => {
11951
- if (event && event.keyCode === KeyCodes.ENTER) {
11922
+ if (event && event.key === 'Enter') {
11952
11923
  this.switchTab(index);
11953
11924
  }
11954
11925
  };
@@ -12550,16 +12521,16 @@ class Typeahead extends Component {
12550
12521
  label: query
12551
12522
  });
12552
12523
  } else {
12553
- switch (event.keyCode) {
12554
- case KeyCodes.DOWN:
12524
+ switch (event.key) {
12525
+ case 'ArrowDown':
12555
12526
  event.preventDefault();
12556
12527
  this.moveFocusedOption(1);
12557
12528
  break;
12558
- case KeyCodes.UP:
12529
+ case 'ArrowUp':
12559
12530
  event.preventDefault();
12560
12531
  this.moveFocusedOption(-1);
12561
12532
  break;
12562
- case KeyCodes.ENTER:
12533
+ case 'Enter':
12563
12534
  event.preventDefault();
12564
12535
  if (options[keyboardFocusedOptionIndex]) {
12565
12536
  this.selectItem(options[keyboardFocusedOptionIndex]);
@@ -12569,7 +12540,7 @@ class Typeahead extends Component {
12569
12540
  });
12570
12541
  }
12571
12542
  break;
12572
- case KeyCodes.BACKSPACE:
12543
+ case 'Backspace':
12573
12544
  if (multiple && !query && selected.length > 0) {
12574
12545
  this.updateSelectedValue(selected.slice(0, -1));
12575
12546
  }