@transferwise/components 0.0.0-experimental-5cd0315 → 0.0.0-experimental-3cdcd93

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,43 +1,31 @@
1
1
  import { Component } from 'react';
2
- import { Size, Width } from '../common';
2
+ import { Width } from '../common';
3
3
  import { Swipe } from './utils';
4
4
  export interface TabItem {
5
5
  title: string;
6
6
  content: React.ReactNode;
7
7
  disabled: boolean;
8
8
  }
9
- type TabsTransitionSpacing = 'default' | `${Size.EXTRA_SMALL | Size.SMALL | Size.MEDIUM | Size.LARGE}`;
10
9
  export interface TabsProps {
11
10
  tabs: TabItem[];
12
11
  selected: number;
13
12
  name: string;
14
- animatePanelsOnClick?: boolean;
15
13
  changeTabOnSwipe?: boolean;
16
14
  className?: string;
17
- transitionSpacing?: TabsTransitionSpacing;
18
15
  headerWidth?: `${Width}`;
19
- id?: string;
20
16
  onTabSelect: (index: number) => void;
21
17
  }
22
18
  interface TabsState {
23
19
  start: Swipe | null;
24
- translateX: number;
25
- translateFrom: number;
26
- translateTo: number;
27
20
  translateLineX: string | null;
28
- isAnimating: boolean;
29
21
  isSwiping: boolean;
30
22
  isScrolling: boolean;
31
- lastSwipeVelocity: number;
32
23
  fullWidthTabs: boolean;
33
- currentSwipe: Swipe[];
34
- selectedTabIndex: number;
35
24
  }
36
25
  export default class Tabs extends Component<TabsProps, TabsState> {
37
26
  props: TabsProps & Required<Pick<TabsProps, keyof typeof Tabs.defaultProps>>;
38
27
  static defaultProps: {
39
28
  changeTabOnSwipe: true;
40
- transitionSpacing: "default";
41
29
  headerWidth: Width.BLOCK;
42
30
  };
43
31
  containerReference: import("react").RefObject<HTMLDivElement>;
@@ -45,10 +33,9 @@ export default class Tabs extends Component<TabsProps, TabsState> {
45
33
  container: HTMLDivElement | null;
46
34
  containerWidth: number;
47
35
  tabRefs: (HTMLLIElement | null)[];
48
- get filteredTabsLength(): number;
49
36
  get MAX_INDEX(): number;
50
37
  componentDidMount(): void;
51
- componentDidUpdate(previousProps: TabsProps, previousState: TabsState): void;
38
+ componentDidUpdate(previousProps: TabsProps): void;
52
39
  componentWillUnmount(): void;
53
40
  handleResize: () => void;
54
41
  setContainerRefAndWidth: (node: HTMLDivElement | null) => void;
@@ -60,17 +47,8 @@ export default class Tabs extends Component<TabsProps, TabsState> {
60
47
  getTabLineWidth: () => string;
61
48
  getTabToSelect: (selected: number, start: Swipe, end: Swipe) => number;
62
49
  swipedOverHalfOfContainer: (difference: number) => boolean;
63
- calculateApplicableDragDifference: ({ currentSelected, nextSelected, start, end, }: {
64
- currentSelected: number;
65
- nextSelected: number;
66
- start: Swipe;
67
- end: Swipe;
68
- }) => number | false;
69
50
  switchTab: (index: number) => void;
70
- getTabIndexWithoutDisabledTabs(index: number): number;
71
- animateToTab: (index: number, instant?: boolean) => void;
72
51
  animateLine: (index: number) => void;
73
- animatePanel: (index: number, instant?: boolean) => void;
74
52
  disableScroll: (event: Event) => void;
75
53
  handleTabClick: (index: number) => () => void;
76
54
  onKeyDown: (index: number) => (event: React.KeyboardEvent<HTMLLIElement>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/tabs/Tabs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/tabs/Tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAa,MAAM,WAAW,CAAC;AAM7C,OAAO,EAKL,KAAK,EACN,MAAM,SAAS,CAAC;AAIjB,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;IACzB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED,UAAU,SAAS;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IACvD,KAAK,EAAE,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAErF,MAAM,CAAC,YAAY;;;MAGY;IAE/B,kBAAkB,4CAA+B;gBAErC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;IAWhC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAQ;IAExC,cAAc,SAAK;IAEnB,OAAO,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAM;IAEvC,IAAI,SAAS,WAEZ;IAED,iBAAiB;IAWjB,kBAAkB,CAAC,aAAa,EAAE,SAAS;IA8B3C,oBAAoB;IAMpB,YAAY,aAEV;IAEF,uBAAuB,GAAI,MAAM,cAAc,GAAG,IAAI,UAGpD;IAEF,iBAAiB,GAAI,MAAM,cAAc,GAAG,IAAI,UAQ9C;IAEF,aAAa,GAAI,OAAO,MAAM,aAI5B;IAEF,eAAe,eAMb;IAEF,wBAAwB,GAAI,kBAAkB,MAAM,YAKlD;IAEF,WAAW,aAeT;IAEF,eAAe,eAWb;IAMF,cAAc,GAAI,UAAU,MAAM,EAAE,OAAO,KAAK,EAAE,KAAK,KAAK,KAAG,MAAM,CA4BnE;IAEF,yBAAyB,GAAI,YAAY,MAAM,aAA6C;IAE5F,SAAS,GAAI,OAAO,MAAM,UAGxB;IAEF,WAAW,GAAI,OAAO,MAAM,UAM1B;IAEF,aAAa,GAAI,OAAO,KAAK,UAM3B;IAEF,cAAc,GAAI,OAAO,MAAM,gBAE7B;IAEF,SAAS,GAAI,OAAO,MAAM,MAAM,OAAO,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,UAIvE;IAEF,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,CASvD;IAEF,eAAe,EAAE,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAgCtD;IAEF,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,CA6BrD;IAEF,MAAM;CAgFP"}
@@ -8,6 +8,4 @@ export declare const getSwipeDifference: (start: Swipe, end: Swipe, axis?: "x" |
8
8
  export declare const swipedLeftToRight: (start: Swipe, end: Swipe) => boolean;
9
9
  export declare const swipedRightToLeft: (start: Swipe, end: Swipe) => boolean;
10
10
  export declare const swipeShouldChangeTab: (start: Swipe, end: Swipe) => boolean;
11
- export declare function getVelocity(coords: Swipe[]): number;
12
- export declare const getElasticDragDifference: (difference: number) => number;
13
11
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tabs/utils.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,EAAE,KAAK,KAAK,WAIxD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,OAAO,KAAK,EAAE,KAAK,KAAK,EAAE,OAAM,GAAG,GAAG,GAAS,WAEjF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,EAAE,KAAK,KAAK,YAEzD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,EAAE,KAAK,KAAK,YAEzD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,OAAO,KAAK,EAAE,KAAK,KAAK,YAK5D,CAAC;AAEF,wBAAgB,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,UAU1C;AAOD,eAAO,MAAM,wBAAwB,GAAI,YAAY,MAAM,WACmB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tabs/utils.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,EAAE,KAAK,KAAK,WAIxD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,OAAO,KAAK,EAAE,KAAK,KAAK,EAAE,OAAM,GAAG,GAAG,GAAS,WAEjF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,EAAE,KAAK,KAAK,YAEzD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,EAAE,KAAK,KAAK,YAEzD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,OAAO,KAAK,EAAE,KAAK,KAAK,YAK5D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transferwise/components",
3
- "version": "0.0.0-experimental-5cd0315",
3
+ "version": "0.0.0-experimental-3cdcd93",
4
4
  "description": "Neptune React components",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -87,9 +87,9 @@
87
87
  "storybook-addon-tag-badges": "^3.0.4",
88
88
  "storybook-addon-test-codegen": "^3.0.1",
89
89
  "@transferwise/less-config": "3.1.2",
90
- "@wise/components-theming": "1.10.1",
91
90
  "@transferwise/neptune-css": "14.26.1",
92
- "@wise/wds-configs": "0.0.0"
91
+ "@wise/wds-configs": "0.0.0",
92
+ "@wise/components-theming": "1.10.1"
93
93
  },
94
94
  "peerDependencies": {
95
95
  "@transferwise/icons": "^3 || ^4",
@@ -108,7 +108,6 @@
108
108
  "@popperjs/core": "^2.11.8",
109
109
  "@react-aria/focus": "^3.21.3",
110
110
  "@react-aria/overlays": "^3.31.0",
111
- "@react-spring/web": "~10.0.3",
112
111
  "@transferwise/formatting": "^2.13.4",
113
112
  "@transferwise/neptune-validation": "^3.3.1",
114
113
  "clsx": "^2.1.1",
@@ -741,35 +741,15 @@ function SelectInputOptions<T = string>({
741
741
  return items;
742
742
  }
743
743
 
744
- const dedupedItems = dedupeSelectInputItems(items, compareValues);
744
+ const filtered = filterSelectInputItems(dedupeSelectInputItems(items, compareValues), (item) =>
745
+ selectInputOptionItemIncludesNeedle(item, needle),
746
+ );
745
747
 
746
748
  if (sortFilteredOptions) {
747
- // When sorting, filter out non-matching items completely to avoid ghost items
748
- const filtered = dedupedItems.map((item) => {
749
- if (item.type === 'option') {
750
- return selectInputOptionItemIncludesNeedle(item, needle)
751
- ? item
752
- : { ...item, value: undefined };
753
- }
754
- if (item.type === 'group') {
755
- return {
756
- ...item,
757
- options: item.options.map((option) =>
758
- selectInputOptionItemIncludesNeedle(option, needle)
759
- ? option
760
- : { ...option, value: undefined },
761
- ),
762
- };
763
- }
764
- return item;
765
- });
766
-
767
749
  return sortSelectInputItems(filtered, sortFilteredOptions, filterQuery);
768
750
  }
769
751
 
770
- return filterSelectInputItems(dedupedItems, (item) =>
771
- selectInputOptionItemIncludesNeedle(item, needle),
772
- );
752
+ return filtered;
773
753
  // eslint-disable-next-line react-hooks/exhaustive-deps
774
754
  }, [needle, items, compareValues]);
775
755
  const resultsEmpty = needle != null && filteredItems.length === 0;
@@ -947,6 +927,7 @@ function SelectInputOptions<T = string>({
947
927
  ) : (
948
928
  <Virtualizer
949
929
  ref={virtualiserHandlerRef}
930
+ key={needle}
950
931
  data={filteredItems}
951
932
  keepMounted={mountedIndexes}
952
933
  scrollRef={listboxRef} // `VList` doesn't expose this
@@ -1,6 +1,6 @@
1
1
  import { useState } from 'react';
2
2
 
3
- import { Size, Width } from '../common';
3
+ import { Width } from '../common';
4
4
 
5
5
  import Tabs from './Tabs';
6
6
 
@@ -15,7 +15,6 @@ export const Basic = () => {
15
15
  <Tabs
16
16
  className="tabs-custom-class"
17
17
  name="tabs-docs"
18
- transitionSpacing={Size.MEDIUM}
19
18
  tabs={[
20
19
  {
21
20
  title: 'Title 1',
@@ -44,7 +43,6 @@ export const Basic = () => {
44
43
  },
45
44
  ]}
46
45
  selected={selected}
47
- animatePanelsOnClick
48
46
  onTabSelect={(index) => setSelected(index)}
49
47
  />
50
48
  );
@@ -56,7 +54,6 @@ export const AutoTabHeaderWidth = () => {
56
54
  <Tabs
57
55
  className="tabs-custom-class"
58
56
  name="tabs-docs"
59
- transitionSpacing={Size.MEDIUM}
60
57
  headerWidth={Width.AUTO}
61
58
  tabs={[
62
59
  {
@@ -92,44 +89,3 @@ export const AutoTabHeaderWidth = () => {
92
89
  />
93
90
  );
94
91
  };
95
-
96
- export const NoPanelAnimation = () => {
97
- const [selected, setSelected] = useState(0);
98
- return (
99
- <Tabs
100
- animatePanelsOnClick={false}
101
- className="tabs-custom-class"
102
- name="tabs-docs"
103
- transitionSpacing={Size.MEDIUM}
104
- tabs={[
105
- {
106
- title: 'Title 1',
107
- disabled: false,
108
- content: (
109
- <div className="p-a-2">
110
- Lorem ipsum dolor, sit amet consectetur adipisicing elit. Cum totam debitis similique
111
- </div>
112
- ),
113
- },
114
- {
115
- title: 'Title 2',
116
- disabled: false,
117
- content: (
118
- <div className="p-a-2">Lorem ipsum dolor, sit amet consectetur adipisicing elit.</div>
119
- ),
120
- },
121
- {
122
- title: 'Title 3',
123
- disabled: true,
124
- content: (
125
- <div className="p-a-2">
126
- Lorem ipsum dolor, sit amet consectetur adipisicing elit. Cum totam debitis similique
127
- </div>
128
- ),
129
- },
130
- ]}
131
- selected={selected}
132
- onTabSelect={(index) => setSelected(index)}
133
- />
134
- );
135
- };
@@ -1,4 +1,3 @@
1
- import { Globals } from '@react-spring/web';
2
1
  import { render, screen, userEvent } from '../test-utils';
3
2
  import Tabs, { TabsProps } from './Tabs';
4
3
 
@@ -18,21 +17,13 @@ function generateTabs(tabsStatus = defaultTabsStatus) {
18
17
  }));
19
18
  }
20
19
 
21
- beforeAll(() => {
22
- Globals.assign({
23
- skipAnimation: true,
24
- });
25
- });
26
-
27
20
  describe('Tabs', () => {
28
21
  const initialProps: TabsProps = {
29
- animatePanelsOnClick: true,
30
22
  tabs: generateTabs(),
31
23
  changeTabOnSwipe: true,
32
24
  name: 'testName',
33
25
  headerWidth: 'block',
34
26
  selected: 0,
35
- transitionSpacing: 'default',
36
27
  onTabSelect: jest.fn(),
37
28
  className: 'custom-class-name',
38
29
  };
@@ -65,19 +56,6 @@ describe('Tabs', () => {
65
56
  expect(screen.getByRole('tabpanel')).toHaveAttribute('id', controlsTarget);
66
57
  });
67
58
 
68
- describe('transitionSpacing', () => {
69
- test.each([
70
- ['default', '100%'],
71
- ['xs', '8px'],
72
- ['sm', '16px'],
73
- ['md', '24px'],
74
- ['lg', '32px'],
75
- ] as const)('should respect `%s`', (input, width) => {
76
- render(<Tabs {...initialProps} transitionSpacing={input} />);
77
- expect(screen.getByRole('tabpanel').nextSibling).toHaveStyle({ width });
78
- });
79
- });
80
-
81
59
  it('should render correct number of tabs', () => {
82
60
  render(<Tabs {...initialProps} />);
83
61
  expect(screen.getAllByRole('tab')).toHaveLength(defaultTabsStatus.length);