@transferwise/components 0.0.0-experimental-eecc435 → 0.0.0-experimental-683a8ba

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.
@@ -8,8 +8,8 @@ export interface CircularButtonProps {
8
8
  size?: unknown;
9
9
  }>;
10
10
  onClick?: React.MouseEventHandler<HTMLInputElement>;
11
- priority?: `${Priority.PRIMARY}` | `${Priority.SECONDARY}`;
12
- type?: `${ControlType.ACCENT}` | `${ControlType.POSITIVE}` | `${ControlType.NEGATIVE}`;
11
+ priority?: `${Priority.PRIMARY | Priority.SECONDARY}`;
12
+ type?: `${ControlType.ACCENT | ControlType.POSITIVE | ControlType.NEGATIVE}`;
13
13
  }
14
14
  declare const CircularButton: ({ className, children, disabled, icon, priority, type, ...rest }: CircularButtonProps) => import("react").JSX.Element;
15
15
  export default CircularButton;
@@ -1 +1 @@
1
- {"version":3,"file":"CircularButton.d.ts","sourceRoot":"","sources":["../../../src/circularButton/CircularButton.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGlD,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC3D,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;CACxF;AAED,QAAA,MAAM,cAAc,qEAQjB,mBAAmB,gCAsBrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"CircularButton.d.ts","sourceRoot":"","sources":["../../../src/circularButton/CircularButton.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGlD,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACtD,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;CAC9E;AAED,QAAA,MAAM,cAAc,qEAQjB,mBAAmB,gCAsBrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../../src/common/bottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EACZ,iBAAiB,EAEjB,cAAc,EACf,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAa7C,KAAK,KAAK,GAAG,iBAAiB,CAC5B;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,KAAK,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,WAAW,CACnF,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,WAAW,UAAW,KAAK,KAAG,YA2KnC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../../src/common/bottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EACZ,iBAAiB,EAEjB,cAAc,EACf,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAa7C,KAAK,KAAK,GAAG,iBAAiB,CAC5B;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,KAAK,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,WAAW,CACnF,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,WAAW,UAAW,KAAK,KAAG,YAiLnC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -24,6 +24,7 @@ export type { UploadedFile, UploadError, UploadResponse } from './uploadInput/ty
24
24
  export type { MarkdownProps } from './markdown';
25
25
  export type { ModalProps } from './modal';
26
26
  export type { CurrencyHeaderItem, CurrencyItem, CurrencyOptionItem, MoneyInputProps, } from './moneyInput';
27
+ export type { SlidingPanelProps } from './slidingPanel';
27
28
  export type { LayoutDirection, TypographyTypes, TitleTypes, BodyTypes, LinkTypes, DisplayTypes, } from './common';
28
29
  export type { SegmentedControlProps } from './segmentedControl';
29
30
  export type { TypeaheadProps, TypeaheadOption } from './typeahead';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,12 @@
1
- import * as React from 'react';
2
-
3
- export type SlidingPanelPosition = "top" | "bottom" | "left" | "right";
4
-
5
- export interface SlidingPanelProps {
6
- children?: React.ReactNode;
7
- className?: string;
8
- open?: boolean;
9
- position?: SlidingPanelPosition;
10
- showSlidingPanelBorder?: boolean;
11
- slidingPanelPositionFixed?: boolean;
12
- }
13
-
14
- declare const SlidingPanel: React.FC<SlidingPanelProps>;
15
-
16
- export default SlidingPanel;
17
-
1
+ /// <reference types="react" />
2
+ import { Position } from '../common';
3
+ export declare const EXIT_ANIMATION = 350;
4
+ export interface SlidingPanelProps extends Pick<React.ComponentPropsWithRef<'div'>, 'ref' | 'className' | 'children'> {
5
+ position?: `${Position.TOP | Position.RIGHT | Position.BOTTOM | Position.LEFT}`;
6
+ open: boolean;
7
+ showSlidingPanelBorder?: boolean;
8
+ slidingPanelPositionFixed?: boolean;
9
+ }
10
+ declare const SlidingPanel: import("react").ForwardRefExoticComponent<Omit<SlidingPanelProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
11
+ export default SlidingPanel;
12
+ //# sourceMappingURL=SlidingPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SlidingPanel.d.ts","sourceRoot":"","sources":["../../../src/slidingPanel/SlidingPanel.js"],"names":[],"mappings":"AAMA,iCAAkC;;AAElC,0GA4CE"}
1
+ {"version":3,"file":"SlidingPanel.d.ts","sourceRoot":"","sources":["../../../src/slidingPanel/SlidingPanel.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW,GAAG,UAAU,CAAC;IAClF,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChF,IAAI,EAAE,OAAO,CAAC;IACd,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,QAAA,MAAM,YAAY,2HA0CjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,2 +1,3 @@
1
- export { default } from "./SlidingPanel";
1
+ export { default } from './SlidingPanel';
2
+ export type { SlidingPanelProps } from './SlidingPanel';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/slidingPanel/index.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/slidingPanel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transferwise/components",
3
- "version": "0.0.0-experimental-eecc435",
3
+ "version": "0.0.0-experimental-683a8ba",
4
4
  "description": "Neptune React components",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -12,8 +12,8 @@ export interface CircularButtonProps {
12
12
  disabled?: boolean;
13
13
  icon: React.ReactElement<{ size?: unknown }>;
14
14
  onClick?: React.MouseEventHandler<HTMLInputElement>;
15
- priority?: `${Priority.PRIMARY}` | `${Priority.SECONDARY}`;
16
- type?: `${ControlType.ACCENT}` | `${ControlType.POSITIVE}` | `${ControlType.NEGATIVE}`;
15
+ priority?: `${Priority.PRIMARY | Priority.SECONDARY}`;
16
+ type?: `${ControlType.ACCENT | ControlType.POSITIVE | ControlType.NEGATIVE}`;
17
17
  }
18
18
 
19
19
  const CircularButton = ({
@@ -92,33 +92,35 @@ const BottomSheet = (props: Props): ReactElement => {
92
92
  }
93
93
  }
94
94
 
95
- const onSwipeStart =
96
- (isMobile: boolean) =>
97
- (event: TouchEvent & MouseEvent): void => {
98
- initialYCoordinate.current = (isMobile ? event.touches[0] : event).clientY;
99
- setPressed(true);
100
- };
101
-
102
- const onSwipeMove =
103
- (isMobile: boolean) =>
104
- (event: TouchEvent & MouseEvent): void => {
105
- if (pressed) {
106
- const { clientY } = isMobile ? event.touches[0] : event;
107
-
108
- const offset = calculateOffsetAfterMove(clientY);
109
- // check whether move is to the bottom only and content scroll position is at the top
110
- if (offset > INITIAL_Y_POSITION && isContentScrollPositionAtTop()) {
111
- moveOffset.current = offset;
112
- animationId.current = requestAnimationFrame(() => {
113
- if (animationId.current !== undefined && bottomSheetReference.current !== null) {
114
- move(offset);
115
- }
116
- });
117
- }
95
+ const onSwipeStart = (
96
+ event: React.MouseEvent<HTMLDivElement> | React.TouchEvent<HTMLDivElement>,
97
+ ): void => {
98
+ initialYCoordinate.current = ('touches' in event ? event.touches[0] : event).clientY;
99
+ setPressed(true);
100
+ };
101
+
102
+ const onSwipeMove = (
103
+ event: React.MouseEvent<HTMLDivElement> | React.TouchEvent<HTMLDivElement>,
104
+ ): void => {
105
+ if (pressed) {
106
+ const { clientY } = 'touches' in event ? event.touches[0] : event;
107
+
108
+ const offset = calculateOffsetAfterMove(clientY);
109
+ // check whether move is to the bottom only and content scroll position is at the top
110
+ if (offset > INITIAL_Y_POSITION && isContentScrollPositionAtTop()) {
111
+ moveOffset.current = offset;
112
+ animationId.current = requestAnimationFrame(() => {
113
+ if (animationId.current !== undefined && bottomSheetReference.current !== null) {
114
+ move(offset);
115
+ }
116
+ });
118
117
  }
119
- };
118
+ }
119
+ };
120
120
 
121
- function onSwipeEnd(event: TouchEvent | MouseEvent): void {
121
+ function onSwipeEnd(
122
+ event: React.MouseEvent<HTMLDivElement> | React.TouchEvent<HTMLDivElement>,
123
+ ): void {
122
124
  // stop moving component
123
125
  cancelAnimationFrame(animationId.current);
124
126
  setPressed(false);
@@ -178,30 +180,34 @@ const BottomSheet = (props: Props): ReactElement => {
178
180
  </Drawer>
179
181
  ) : (
180
182
  <Dimmer open={props.open} fadeContentOnEnter fadeContentOnExit onClose={close}>
181
- {/* @ts-expect-error remove when SlidingPanel will be written on TS */}
182
183
  <SlidingPanel
183
184
  ref={bottomSheetReference}
184
185
  open={props.open}
185
186
  position={Position.BOTTOM}
186
187
  className={classNames('np-bottom-sheet', props.className)}
187
- role="dialog"
188
- onTouchStart={onSwipeStart(true)}
189
- onTouchMove={onSwipeMove(true)}
190
- onTouchEnd={onSwipeEnd}
191
- onMouseDown={onSwipeStart(false)}
192
- onMouseMove={onSwipeMove(false)}
193
- onMouseUp={onSwipeEnd}
194
188
  >
195
- <div ref={topBarReference} className="np-bottom-sheet--top-bar">
196
- <div className="np-bottom-sheet--handler" />
197
- <CloseButton size="sm" className="sr-only np-bottom-sheet--close-btn" onClick={close} />
198
- </div>
189
+ {/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */}
199
190
  <div
200
- ref={contentReference}
201
- style={setContentMaxHeight()}
202
- className="np-bottom-sheet--content"
191
+ role="dialog"
192
+ aria-modal
193
+ onTouchStart={onSwipeStart}
194
+ onTouchMove={onSwipeMove}
195
+ onTouchEnd={onSwipeEnd}
196
+ onMouseDown={onSwipeStart}
197
+ onMouseMove={onSwipeMove}
198
+ onMouseUp={onSwipeEnd}
203
199
  >
204
- {props.children}
200
+ <div ref={topBarReference} className="np-bottom-sheet--top-bar">
201
+ <div className="np-bottom-sheet--handler" />
202
+ <CloseButton size="sm" className="sr-only np-bottom-sheet--close-btn" onClick={close} />
203
+ </div>
204
+ <div
205
+ ref={contentReference}
206
+ style={setContentMaxHeight()}
207
+ className="np-bottom-sheet--content"
208
+ >
209
+ {props.children}
210
+ </div>
205
211
  </div>
206
212
  </SlidingPanel>
207
213
  </Dimmer>
@@ -22,46 +22,50 @@ exports[`BottomSheet renders content when open 1`] = `
22
22
  >
23
23
  <div
24
24
  class="sliding-panel sliding-panel--open-bottom np-bottom-sheet sliding-panel-appear sliding-panel-appear-active"
25
- role="dialog"
26
25
  >
27
26
  <div
28
- class="np-bottom-sheet--top-bar"
27
+ aria-modal="true"
28
+ role="dialog"
29
29
  >
30
30
  <div
31
- class="np-bottom-sheet--handler"
32
- />
33
- <button
34
- aria-label="Close"
35
- class="np-close-button close btn-link text-no-decoration sr-only np-bottom-sheet--close-btn"
36
- type="button"
31
+ class="np-bottom-sheet--top-bar"
37
32
  >
38
- <span
39
- aria-hidden="true"
40
- class="tw-icon tw-icon-cross "
41
- data-testid="cross-icon"
42
- role="presentation"
33
+ <div
34
+ class="np-bottom-sheet--handler"
35
+ />
36
+ <button
37
+ aria-label="Close"
38
+ class="np-close-button close btn-link text-no-decoration sr-only np-bottom-sheet--close-btn"
39
+ type="button"
43
40
  >
44
- <svg
45
- fill="currentColor"
46
- focusable="false"
47
- height="16"
48
- viewBox="0 0 24 24"
49
- width="16"
41
+ <span
42
+ aria-hidden="true"
43
+ class="tw-icon tw-icon-cross "
44
+ data-testid="cross-icon"
45
+ role="presentation"
50
46
  >
51
- <path
52
- d="m19.629 5.915-1.2-1.2-6.257 6.257-6.258-6.257-1.2 1.2 6.258 6.257-6.258 6.257 1.2 1.2 6.258-6.257 6.257 6.257 1.2-1.2-6.258-6.257 6.258-6.257Z"
53
- />
54
- </svg>
55
- </span>
56
- </button>
57
- </div>
58
- <div
59
- class="np-bottom-sheet--content"
60
- style="max-height: calc(768px - 64px - 32px);"
61
- >
62
- <b>
63
- Test Content
64
- </b>
47
+ <svg
48
+ fill="currentColor"
49
+ focusable="false"
50
+ height="16"
51
+ viewBox="0 0 24 24"
52
+ width="16"
53
+ >
54
+ <path
55
+ d="m19.629 5.915-1.2-1.2-6.257 6.257-6.258-6.257-1.2 1.2 6.258 6.257-6.258 6.257 1.2 1.2 6.258-6.257 6.257 6.257 1.2-1.2-6.258-6.257 6.258-6.257Z"
56
+ />
57
+ </svg>
58
+ </span>
59
+ </button>
60
+ </div>
61
+ <div
62
+ class="np-bottom-sheet--content"
63
+ style="max-height: calc(768px - 64px - 32px);"
64
+ >
65
+ <b>
66
+ Test Content
67
+ </b>
68
+ </div>
65
69
  </div>
66
70
  </div>
67
71
  </div>
package/src/index.ts CHANGED
@@ -37,6 +37,7 @@ export type {
37
37
  CurrencyOptionItem,
38
38
  MoneyInputProps,
39
39
  } from './moneyInput';
40
+ export type { SlidingPanelProps } from './slidingPanel';
40
41
  export type {
41
42
  LayoutDirection,
42
43
  TypographyTypes,
@@ -278,7 +278,7 @@ describe('Select', () => {
278
278
 
279
279
  const bottomSheet = await screen.findByRole('dialog');
280
280
 
281
- expect(bottomSheet).toHaveClass('np-bottom-sheet');
281
+ expect(bottomSheet).toBeInTheDocument();
282
282
  });
283
283
 
284
284
  it('show list of options in Drawer when on mobile and search in enabled', async () => {
@@ -24,17 +24,7 @@ describe('SlidingPanel', () => {
24
24
 
25
25
  expect(cssTransition()).toHaveLength(1);
26
26
 
27
- expect(cssTransition().props()).toMatchObject({
28
- in: true,
29
- appear: true,
30
- timeout: {
31
- enter: 0,
32
- exit: EXIT_ANIMATION,
33
- },
34
- classNames: 'sliding-panel--open-left sliding-panel',
35
- unmountOnExit: true,
36
- });
37
- expect(cssTransition().props().children.props).toStrictEqual({
27
+ expect(cssTransition().props()).toStrictEqual({
38
28
  className: 'sliding-panel sliding-panel--open-left',
39
29
  children: null,
40
30
  });
@@ -42,24 +32,24 @@ describe('SlidingPanel', () => {
42
32
 
43
33
  it('adds fixed class', () => {
44
34
  component = shallow(<SlidingPanel {...props} slidingPanelPositionFixed />);
45
- expect(cssTransition().prop('classNames')).toBe(
46
- 'sliding-panel--open-left sliding-panel--fixed sliding-panel',
35
+ expect(cssTransition().prop('className')).toBe(
36
+ 'sliding-panel sliding-panel--open-left sliding-panel--fixed',
47
37
  );
48
38
  });
49
39
 
50
40
  it('adds border classes if showSlidingPanelBorder is set to true', () => {
51
41
  component = shallow(<SlidingPanel {...props} showSlidingPanelBorder />);
52
- expect(cssTransition().prop('classNames')).toBe(
53
- 'sliding-panel--open-left sliding-panel--border-left sliding-panel',
42
+ expect(cssTransition().prop('className')).toBe(
43
+ 'sliding-panel sliding-panel--open-left sliding-panel--border-left',
54
44
  );
55
45
  component = shallow(<SlidingPanel {...props} showSlidingPanelBorder={false} position="left" />);
56
- expect(cssTransition().prop('classNames')).toBe('sliding-panel--open-left sliding-panel');
46
+ expect(cssTransition().prop('className')).toBe('sliding-panel sliding-panel--open-left');
57
47
 
58
48
  component = shallow(<SlidingPanel {...props} showSlidingPanelBorder position="top" />);
59
- expect(cssTransition().prop('classNames')).toBe(
60
- 'sliding-panel--open-top sliding-panel--border-top sliding-panel',
49
+ expect(cssTransition().prop('className')).toBe(
50
+ 'sliding-panel sliding-panel--open-top sliding-panel--border-top',
61
51
  );
62
52
  });
63
53
 
64
- const cssTransition = () => component.find('CSSTransition');
54
+ const cssTransition = () => component.find('div');
65
55
  });
@@ -0,0 +1,62 @@
1
+ import classNames from 'classnames';
2
+ import { forwardRef, useRef } from 'react';
3
+ import mergeRefs from 'react-merge-refs';
4
+ import { CSSTransition } from 'react-transition-group';
5
+
6
+ import { Position } from '../common';
7
+
8
+ export const EXIT_ANIMATION = 350;
9
+
10
+ export interface SlidingPanelProps
11
+ extends Pick<React.ComponentPropsWithRef<'div'>, 'ref' | 'className' | 'children'> {
12
+ position?: `${Position.TOP | Position.RIGHT | Position.BOTTOM | Position.LEFT}`;
13
+ open: boolean;
14
+ showSlidingPanelBorder?: boolean;
15
+ slidingPanelPositionFixed?: boolean;
16
+ }
17
+
18
+ const SlidingPanel = forwardRef(
19
+ (
20
+ {
21
+ position = 'left',
22
+ open,
23
+ showSlidingPanelBorder,
24
+ slidingPanelPositionFixed,
25
+ className,
26
+ children,
27
+ ...rest
28
+ }: Omit<SlidingPanelProps, 'ref'>,
29
+ reference: React.ForwardedRef<HTMLDivElement>,
30
+ ) => {
31
+ const localReference = useRef<HTMLDivElement>(null);
32
+
33
+ return (
34
+ <CSSTransition
35
+ {...rest}
36
+ key={`sliding-panel--open-${position}`}
37
+ nodeRef={localReference}
38
+ in={open}
39
+ // Wait for animation to finish before unmount.
40
+ timeout={{ enter: 0, exit: EXIT_ANIMATION }}
41
+ classNames="sliding-panel"
42
+ appear
43
+ unmountOnExit
44
+ >
45
+ <div
46
+ ref={mergeRefs([reference, localReference])}
47
+ className={classNames(
48
+ 'sliding-panel',
49
+ `sliding-panel--open-${position}`,
50
+ showSlidingPanelBorder && `sliding-panel--border-${position}`,
51
+ slidingPanelPositionFixed && 'sliding-panel--fixed',
52
+ className,
53
+ )}
54
+ >
55
+ {children}
56
+ </div>
57
+ </CSSTransition>
58
+ );
59
+ },
60
+ );
61
+
62
+ export default SlidingPanel;
@@ -0,0 +1,2 @@
1
+ export { default } from './SlidingPanel';
2
+ export type { SlidingPanelProps } from './SlidingPanel';
@@ -25,7 +25,6 @@ describe('Sticky', () => {
25
25
 
26
26
  expect(slidingPanel.props()).toStrictEqual({
27
27
  children: null,
28
- className: undefined,
29
28
  open: true,
30
29
  position: 'bottom',
31
30
  showSlidingPanelBorder: true,
@@ -1,73 +0,0 @@
1
- import classNames from 'classnames';
2
- import PropTypes from 'prop-types';
3
- import { forwardRef, RefObject, useRef } from 'react';
4
- import mergeRefs from 'react-merge-refs';
5
- import { CSSTransition } from 'react-transition-group';
6
-
7
- export const EXIT_ANIMATION = 350;
8
-
9
- const SlidingPanel = forwardRef(
10
- (
11
- {
12
- children,
13
- className,
14
- open,
15
- position,
16
- showSlidingPanelBorder,
17
- slidingPanelPositionFixed,
18
- ...rest
19
- },
20
- reference,
21
- ) => {
22
- /** @type {RefObject<HTMLDivElement>} */
23
- const localReference = useRef(null);
24
-
25
- return (
26
- <CSSTransition
27
- {...rest}
28
- key={`sliding-panel--open-${position}`}
29
- nodeRef={localReference}
30
- in={open}
31
- // Wait for animation to finish before unmount.
32
- timeout={{ enter: 0, exit: EXIT_ANIMATION }}
33
- classNames={classNames(
34
- `sliding-panel--open-${position}`,
35
- showSlidingPanelBorder && `sliding-panel--border-${position}`,
36
- {
37
- 'sliding-panel--fixed': slidingPanelPositionFixed,
38
- },
39
- 'sliding-panel',
40
- )}
41
- appear
42
- unmountOnExit
43
- >
44
- <div
45
- ref={mergeRefs([reference, localReference])}
46
- className={classNames('sliding-panel', `sliding-panel--open-${position}`, className)}
47
- >
48
- {children}
49
- </div>
50
- </CSSTransition>
51
- );
52
- },
53
- );
54
-
55
- SlidingPanel.propTypes = {
56
- children: PropTypes.node,
57
- className: PropTypes.string,
58
- open: PropTypes.bool,
59
- position: PropTypes.oneOf(['top', 'bottom', 'left', 'right']),
60
- showSlidingPanelBorder: PropTypes.bool,
61
- slidingPanelPositionFixed: PropTypes.bool,
62
- };
63
-
64
- SlidingPanel.defaultProps = {
65
- children: null,
66
- className: undefined,
67
- open: false,
68
- position: 'left',
69
- showSlidingPanelBorder: false,
70
- slidingPanelPositionFixed: false,
71
- };
72
-
73
- export default SlidingPanel;
@@ -1 +0,0 @@
1
- export { default } from './SlidingPanel';