@transferwise/components 0.0.0-experimental-8a88948 → 0.0.0-experimental-3d4c2d5

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 (34) hide show
  1. package/build/index.esm.js +51 -73
  2. package/build/index.esm.js.map +1 -1
  3. package/build/index.js +51 -73
  4. package/build/index.js.map +1 -1
  5. package/build/types/checkboxOption/CheckboxOption.d.ts +2 -2
  6. package/build/types/checkboxOption/CheckboxOption.d.ts.map +1 -1
  7. package/build/types/index.d.ts +2 -0
  8. package/build/types/index.d.ts.map +1 -1
  9. package/build/types/snackbar/Snackbar.d.ts +30 -22
  10. package/build/types/snackbar/Snackbar.d.ts.map +1 -1
  11. package/build/types/snackbar/SnackbarContext.d.ts +7 -2
  12. package/build/types/snackbar/SnackbarContext.d.ts.map +1 -1
  13. package/build/types/snackbar/SnackbarProvider.d.ts +7 -12
  14. package/build/types/snackbar/SnackbarProvider.d.ts.map +1 -1
  15. package/build/types/snackbar/index.d.ts +2 -0
  16. package/build/types/snackbar/index.d.ts.map +1 -0
  17. package/build/types/snackbar/useSnackbar.d.ts +1 -1
  18. package/build/types/snackbar/useSnackbar.d.ts.map +1 -1
  19. package/build/types/withNextPortal/withNextPortal.d.ts +1 -1
  20. package/build/types/withNextPortal/withNextPortal.d.ts.map +1 -1
  21. package/package.json +3 -3
  22. package/src/checkboxOption/CheckboxOption.tsx +2 -2
  23. package/src/index.ts +2 -0
  24. package/src/snackbar/{Snackbar.story.js → Snackbar.story.tsx} +2 -1
  25. package/src/snackbar/{Snackbar.js → Snackbar.tsx} +31 -32
  26. package/src/snackbar/SnackbarContext.ts +11 -0
  27. package/src/snackbar/SnackbarProvider.tsx +39 -0
  28. package/src/withDisplayFormat/WithDisplayFormat.spec.js +1 -1
  29. package/src/withDisplayFormat/WithDisplayFormat.tsx +1 -1
  30. package/src/withNextPortal/withNextPortal.tsx +1 -1
  31. package/src/snackbar/SnackbarContext.js +0 -4
  32. package/src/snackbar/SnackbarProvider.js +0 -51
  33. /package/src/snackbar/{index.js → index.ts} +0 -0
  34. /package/src/snackbar/{useSnackbar.js → useSnackbar.ts} +0 -0
@@ -9,7 +9,7 @@ export type CheckboxOptionProps = Omit<BaseOptionProps, 'onChange'> & {
9
9
  /**
10
10
  * Function to call when the checkbox option is clicked
11
11
  */
12
- onChange: (value: boolean) => void;
12
+ onChange?: (value: boolean) => void;
13
13
  };
14
14
  declare const CheckboxOption: import("react").ForwardRefExoticComponent<Omit<BaseOptionProps, "onChange"> & {
15
15
  /**
@@ -19,7 +19,7 @@ declare const CheckboxOption: import("react").ForwardRefExoticComponent<Omit<Bas
19
19
  /**
20
20
  * Function to call when the checkbox option is clicked
21
21
  */
22
- onChange: (value: boolean) => void;
22
+ onChange?: ((value: boolean) => void) | undefined;
23
23
  } & import("react").RefAttributes<ReferenceType>>;
24
24
  export default CheckboxOption;
25
25
  //# sourceMappingURL=CheckboxOption.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxOption.d.ts","sourceRoot":"","sources":["../../../src/checkboxOption/CheckboxOption.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG;IACpE;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,CAAC;AAEF,QAAA,MAAM,cAAc;IAVlB;;OAEG;;IAEH;;OAEG;sBACe,OAAO,KAAK,IAAI;iDAoBnC,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"CheckboxOption.d.ts","sourceRoot":"","sources":["../../../src/checkboxOption/CheckboxOption.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG;IACpE;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACrC,CAAC;AAEF,QAAA,MAAM,cAAc;IAVlB;;OAEG;;IAEH;;OAEG;wBACgB,OAAO,KAAK,IAAI;iDAoBpC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -8,6 +8,8 @@ export type { SearchInputProps } from './inputs/SearchInput';
8
8
  export type { SelectInputGroupItem, SelectInputItem, SelectInputOptionContentProps, SelectInputOptionItem, SelectInputProps, SelectInputSeparatorItem, SelectInputTriggerButtonProps, } from './inputs/SelectInput';
9
9
  export type { TextAreaProps } from './inputs/TextArea';
10
10
  export type { PhoneNumberInputProps } from './phoneNumberInput/PhoneNumberInput';
11
+ export type { SnackbarProps } from './snackbar/Snackbar';
12
+ export type { SnackbarContextType } from './snackbar/SnackbarContext';
11
13
  export type { TextareaWithDisplayFormatProps } from './textareaWithDisplayFormat';
12
14
  export type { UploadedFile, UploadError, UploadResponse } from './uploadInput/types';
13
15
  export type { ModalProps } from './modal';
@@ -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,22 +1,30 @@
1
- import * as React from 'react';
2
-
3
- export interface SnackbarAction {
4
- label: string;
5
- onClick?: (...args: any[])=>any;
6
- }
7
-
8
- export type SnackbarTheme = "light" | "dark";
9
-
10
- export interface SnackbarProps {
11
- action?: SnackbarAction;
12
- text: React.ReactNode;
13
- theme?: SnackbarTheme;
14
- timeout: number;
15
- timestamp: number;
16
- }
17
-
18
- export class Snackbar extends React.Component<SnackbarProps, any> {
19
- render(): JSX.Element;
20
-
21
- }
22
-
1
+ import { Component } from 'react';
2
+ import { ThemeDark, ThemeLight } from '../common';
3
+ export declare const CSS_TRANSITION_DURATION = 400;
4
+ export interface SnackbarProps {
5
+ action?: {
6
+ label: string;
7
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
8
+ };
9
+ text: React.ReactNode;
10
+ theme?: ThemeLight | ThemeDark;
11
+ timeout: number;
12
+ timestamp: number;
13
+ }
14
+ interface SnackbarState extends Pick<SnackbarProps, 'action' | 'text' | 'theme'> {
15
+ visible: boolean;
16
+ }
17
+ export declare class Snackbar extends Component<SnackbarProps, SnackbarState> {
18
+ bodyRef: import("react").RefObject<HTMLSpanElement>;
19
+ timeout: number;
20
+ transitionTimeout: number;
21
+ constructor(props: SnackbarProps);
22
+ componentWillUnmount(): void;
23
+ shouldComponentUpdate(nextProps: SnackbarProps, nextState: SnackbarState): boolean;
24
+ setLeaveTimeout: () => void;
25
+ componentDidUpdate(previousProps: SnackbarProps): void;
26
+ render(): import("react").JSX.Element;
27
+ }
28
+ declare const _default: (props: SnackbarProps) => import("react").ReactPortal | null;
29
+ export default _default;
30
+ //# sourceMappingURL=Snackbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Snackbar.d.ts","sourceRoot":"","sources":["../../../src/snackbar/Snackbar.js"],"names":[],"mappings":"AAUA,0CAA2C;AAE3C;IAIE,cAMC;IATD,yCAAyC;IACzC,SADW,UAAU,eAAe,CAAC,CACf;IAIpB;;;MAGC;IAGH,6BAGC;IAED,+DAaC;IAED,4BAME;IAHA,oCAEW;IAGb,6CAsBC;IAVO,8CAG2B;IASnC,sCAiCC;CACF"}
1
+ {"version":3,"file":"Snackbar.d.ts","sourceRoot":"","sources":["../../../src/snackbar/Snackbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAK7C,OAAO,EAAS,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIzD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;KACtD,CAAC;IACF,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,aAAc,SAAQ,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC9E,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,QAAS,SAAQ,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACnE,OAAO,6CAAgC;IACvC,OAAO,SAAK;IACZ,iBAAiB,SAAK;gBAEV,KAAK,EAAE,aAAa;IAQhC,oBAAoB;IAKpB,qBAAqB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa;IAexE,eAAe,aAMb;IAEF,kBAAkB,CAAC,aAAa,EAAE,aAAa;IAwB/C,MAAM;CAkCP;;AAID,wBAAwC"}
@@ -1,3 +1,8 @@
1
- export const SnackbarContext: import("react").Context<any>;
2
- export const SnackbarConsumer: import("react").Consumer<any>;
1
+ /// <reference types="react" />
2
+ import { SnackbarProps } from './Snackbar';
3
+ export type SnackbarContextType = {
4
+ createSnackbar: (props: Omit<SnackbarProps, 'timeout' | 'timestamp'>) => void;
5
+ };
6
+ export declare const SnackbarContext: import("react").Context<SnackbarContextType>;
7
+ export declare const SnackbarConsumer: import("react").Consumer<SnackbarContextType>;
3
8
  //# sourceMappingURL=SnackbarContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SnackbarContext.d.ts","sourceRoot":"","sources":["../../../src/snackbar/SnackbarContext.js"],"names":[],"mappings":"AAEA,2DAA+C;AAC/C,6DAAyD"}
1
+ {"version":3,"file":"SnackbarContext.d.ts","sourceRoot":"","sources":["../../../src/snackbar/SnackbarContext.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,CAAC;CAC/E,CAAC;AAEF,eAAO,MAAM,eAAe,8CAAmE,CAAC;AAEhG,eAAO,MAAM,gBAAgB,+CAA2B,CAAC"}
@@ -1,12 +1,7 @@
1
- import * as React from 'react';
2
-
3
- export interface SnackbarProviderProps {
4
- children: React.ReactNode;
5
- timeout?: number;
6
- }
7
-
8
- export default class SnackbarProvider extends React.Component<SnackbarProviderProps, any> {
9
- render(): JSX.Element;
10
-
11
- }
12
-
1
+ /// <reference types="react" />
2
+ export interface SnackbarProviderProps {
3
+ timeout?: number;
4
+ children?: React.ReactNode;
5
+ }
6
+ export default function SnackbarProvider({ timeout, children }: SnackbarProviderProps): import("react").JSX.Element;
7
+ //# sourceMappingURL=SnackbarProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SnackbarProvider.d.ts","sourceRoot":"","sources":["../../../src/snackbar/SnackbarProvider.js"],"names":[],"mappings":";AAMA;IACE,cAMC;IAJC;;;MAGC;IAGH;;;;eAEE;IAEF,sCAmBC;CACF"}
1
+ {"version":3,"file":"SnackbarProvider.d.ts","sourceRoot":"","sources":["../../../src/snackbar/SnackbarProvider.tsx"],"names":[],"mappings":";AAKA,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EAAE,OAAc,EAAE,QAAQ,EAAE,EAAE,qBAAqB,+BA4B3F"}
@@ -0,0 +1,2 @@
1
+ export { default as Snackbar } from './Snackbar';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/snackbar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -1,3 +1,3 @@
1
+ declare function useSnackbar(): (props: Omit<import("./Snackbar").SnackbarProps, "timeout" | "timestamp">) => void;
1
2
  export default useSnackbar;
2
- declare function useSnackbar(): any;
3
3
  //# sourceMappingURL=useSnackbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSnackbar.d.ts","sourceRoot":"","sources":["../../../src/snackbar/useSnackbar.js"],"names":[],"mappings":";AAIA,oCAIC"}
1
+ {"version":3,"file":"useSnackbar.d.ts","sourceRoot":"","sources":["../../../src/snackbar/useSnackbar.ts"],"names":[],"mappings":"AAIA,iBAAS,WAAW,uFAInB;AAED,eAAe,WAAW,CAAC"}
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
- export default function withNextPortalWrapper<T extends Record<string, any>>(Component: React.FunctionComponent<T>): (props: T) => import("react").ReactPortal | null;
2
+ export default function withNextPortalWrapper<T extends Record<string, any>>(Component: React.ComponentType<T>): (props: T) => import("react").ReactPortal | null;
3
3
  //# sourceMappingURL=withNextPortal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withNextPortal.d.ts","sourceRoot":"","sources":["../../../src/withNextPortal/withNextPortal.tsx"],"names":[],"mappings":";AAGA,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzE,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAEb,CAAC,wCAQ1B"}
1
+ {"version":3,"file":"withNextPortal.d.ts","sourceRoot":"","sources":["../../../src/withNextPortal/withNextPortal.tsx"],"names":[],"mappings":";AAGA,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,WAET,CAAC,wCAQ1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transferwise/components",
3
- "version": "0.0.0-experimental-8a88948",
3
+ "version": "0.0.0-experimental-3d4c2d5",
4
4
  "description": "Neptune React components",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -77,11 +77,11 @@
77
77
  "storybook": "^7.4.5",
78
78
  "@transferwise/less-config": "3.1.0",
79
79
  "@wise/components-theming": "0.8.4",
80
- "@transferwise/neptune-css": "0.0.0-experimental-8a88948"
80
+ "@transferwise/neptune-css": "14.9.5"
81
81
  },
82
82
  "peerDependencies": {
83
83
  "@transferwise/icons": "^3.7.0",
84
- "@transferwise/neptune-css": "0.0.0-experimental-8a88948",
84
+ "@transferwise/neptune-css": "^14.9.5",
85
85
  "@wise/art": "^2.7.0",
86
86
  "@wise/components-theming": "^0.8.4",
87
87
  "react": ">=16.14",
@@ -13,7 +13,7 @@ export type CheckboxOptionProps = Omit<BaseOptionProps, 'onChange'> & {
13
13
  /**
14
14
  * Function to call when the checkbox option is clicked
15
15
  */
16
- onChange: (value: boolean) => void;
16
+ onChange?: (value: boolean) => void;
17
17
  };
18
18
 
19
19
  const CheckboxOption = forwardRef<ReferenceType, CheckboxOptionProps>(
@@ -27,7 +27,7 @@ const CheckboxOption = forwardRef<ReferenceType, CheckboxOptionProps>(
27
27
  <CheckboxButton
28
28
  checked={checked}
29
29
  disabled={disabled}
30
- onChange={() => onChange(!checked)}
30
+ onChange={() => onChange?.(!checked)}
31
31
  />
32
32
  }
33
33
  />
package/src/index.ts CHANGED
@@ -16,6 +16,8 @@ export type {
16
16
  } from './inputs/SelectInput';
17
17
  export type { TextAreaProps } from './inputs/TextArea';
18
18
  export type { PhoneNumberInputProps } from './phoneNumberInput/PhoneNumberInput';
19
+ export type { SnackbarProps } from './snackbar/Snackbar';
20
+ export type { SnackbarContextType } from './snackbar/SnackbarContext';
19
21
  export type { TextareaWithDisplayFormatProps } from './textareaWithDisplayFormat';
20
22
  export type { UploadedFile, UploadError, UploadResponse } from './uploadInput/types';
21
23
  export type { ModalProps } from './modal';
@@ -1,5 +1,6 @@
1
1
  import { action } from '@storybook/addon-actions';
2
2
  import { number } from '@storybook/addon-knobs';
3
+ import { StoryContext } from '@storybook/react';
3
4
  import { Mobile, Theme, Switch, Bulb, Info, Coins } from '@transferwise/icons';
4
5
 
5
6
  import Button from '../button';
@@ -120,7 +121,7 @@ export const basic = () => {
120
121
  );
121
122
  };
122
123
 
123
- basic.play = async ({ canvasElement }) => {
124
+ basic.play = ({ canvasElement }: StoryContext) => {
124
125
  const canvas = within(canvasElement);
125
126
  userEvent.click(canvas.getByRole('button'));
126
127
  };
@@ -1,21 +1,36 @@
1
- import PropTypes from 'prop-types';
2
- import { Component, createRef, RefObject } from 'react';
1
+ import { Component, createRef } from 'react';
3
2
  import { CSSTransition } from 'react-transition-group';
4
3
 
5
4
  import ActionButton from '../actionButton';
6
5
  import Body from '../body';
7
- import { Theme } from '../common';
6
+ import { Theme, ThemeDark, ThemeLight } from '../common';
8
7
  import { DirectionContext } from '../provider/direction';
9
8
  import withNextPortal from '../withNextPortal/withNextPortal';
10
9
 
11
10
  export const CSS_TRANSITION_DURATION = 400;
12
11
 
13
- export class Snackbar extends Component {
14
- /** @type {RefObject<HTMLSpanElement>} */
15
- bodyRef = createRef();
12
+ export interface SnackbarProps {
13
+ action?: {
14
+ label: string;
15
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
16
+ };
17
+ text: React.ReactNode;
18
+ theme?: ThemeLight | ThemeDark;
19
+ timeout: number;
20
+ timestamp: number;
21
+ }
22
+
23
+ interface SnackbarState extends Pick<SnackbarProps, 'action' | 'text' | 'theme'> {
24
+ visible: boolean;
25
+ }
26
+
27
+ export class Snackbar extends Component<SnackbarProps, SnackbarState> {
28
+ bodyRef = createRef<HTMLSpanElement>();
29
+ timeout = 0;
30
+ transitionTimeout = 0;
16
31
 
17
- constructor() {
18
- super();
32
+ constructor(props: SnackbarProps) {
33
+ super(props);
19
34
  this.state = {
20
35
  visible: false,
21
36
  text: '',
@@ -23,11 +38,11 @@ export class Snackbar extends Component {
23
38
  }
24
39
 
25
40
  componentWillUnmount() {
26
- clearTimeout(this.timeout);
27
- clearTimeout(this.transitionTimeout);
41
+ window.clearTimeout(this.timeout);
42
+ window.clearTimeout(this.transitionTimeout);
28
43
  }
29
44
 
30
- shouldComponentUpdate(nextProps, nextState) {
45
+ shouldComponentUpdate(nextProps: SnackbarProps, nextState: SnackbarState) {
31
46
  if (!nextProps.text) {
32
47
  return false;
33
48
  }
@@ -45,12 +60,12 @@ export class Snackbar extends Component {
45
60
  setLeaveTimeout = () => {
46
61
  const { timeout } = this.props;
47
62
 
48
- this.timeout = setTimeout(() => {
63
+ this.timeout = window.setTimeout(() => {
49
64
  this.setState({ visible: false });
50
65
  }, timeout);
51
66
  };
52
67
 
53
- componentDidUpdate(previousProps) {
68
+ componentDidUpdate(previousProps: SnackbarProps) {
54
69
  const { action, text, theme, timestamp } = this.props;
55
70
 
56
71
  if (!previousProps.text) {
@@ -58,11 +73,11 @@ export class Snackbar extends Component {
58
73
  this.setLeaveTimeout();
59
74
  });
60
75
  } else if (previousProps.timestamp !== timestamp) {
61
- clearTimeout(this.timeout);
76
+ window.clearTimeout(this.timeout);
62
77
 
63
78
  if (this.state.visible) {
64
79
  this.setState({ visible: false }, () => {
65
- this.transitionTimeout = setTimeout(() => {
80
+ this.transitionTimeout = window.setTimeout(() => {
66
81
  this.setState({ visible: true, action, text, theme });
67
82
  this.setLeaveTimeout();
68
83
  }, CSS_TRANSITION_DURATION);
@@ -75,7 +90,7 @@ export class Snackbar extends Component {
75
90
  }
76
91
 
77
92
  render() {
78
- const { action, text, theme, visible } = this.state;
93
+ const { action, text, theme = Theme.LIGHT, visible } = this.state;
79
94
  const { timeout } = this.props;
80
95
 
81
96
  return (
@@ -112,20 +127,4 @@ export class Snackbar extends Component {
112
127
 
113
128
  Snackbar.contextType = DirectionContext;
114
129
 
115
- Snackbar.propTypes = {
116
- action: PropTypes.shape({
117
- label: PropTypes.string.isRequired,
118
- onClick: PropTypes.func,
119
- }),
120
- text: PropTypes.node.isRequired,
121
- theme: PropTypes.oneOf(['light', 'dark']),
122
- timeout: PropTypes.number.isRequired,
123
- timestamp: PropTypes.number.isRequired,
124
- };
125
-
126
- Snackbar.defaultProps = {
127
- action: null,
128
- theme: Theme.LIGHT,
129
- };
130
-
131
130
  export default withNextPortal(Snackbar);
@@ -0,0 +1,11 @@
1
+ import { createContext } from 'react';
2
+
3
+ import { SnackbarProps } from './Snackbar';
4
+
5
+ export type SnackbarContextType = {
6
+ createSnackbar: (props: Omit<SnackbarProps, 'timeout' | 'timestamp'>) => void;
7
+ };
8
+
9
+ export const SnackbarContext = createContext<SnackbarContextType>({ createSnackbar: () => {} });
10
+
11
+ export const SnackbarConsumer = SnackbarContext.Consumer;
@@ -0,0 +1,39 @@
1
+ import { useMemo, useState } from 'react';
2
+
3
+ import SnackbarPortal, { SnackbarProps } from './Snackbar';
4
+ import { SnackbarContext } from './SnackbarContext';
5
+
6
+ export interface SnackbarProviderProps {
7
+ timeout?: number;
8
+ children?: React.ReactNode;
9
+ }
10
+
11
+ export default function SnackbarProvider({ timeout = 4500, children }: SnackbarProviderProps) {
12
+ const [state, setState] = useState<Omit<SnackbarProps, 'timeout'>>({
13
+ text: '',
14
+ timestamp: 0,
15
+ });
16
+ const { action, text, theme, timestamp } = state;
17
+
18
+ return (
19
+ <SnackbarContext.Provider
20
+ value={useMemo(
21
+ () => ({
22
+ createSnackbar: ({ action, text, theme }) => {
23
+ setState({ action, text, theme, timestamp: Date.now() });
24
+ },
25
+ }),
26
+ [],
27
+ )}
28
+ >
29
+ <SnackbarPortal
30
+ action={action}
31
+ text={text}
32
+ timestamp={timestamp}
33
+ timeout={timeout}
34
+ theme={theme}
35
+ />
36
+ {children}
37
+ </SnackbarContext.Provider>
38
+ );
39
+ }
@@ -145,7 +145,7 @@ describe('InputWithTextFormat', () => {
145
145
  });
146
146
 
147
147
  describe('set cursor position', () => {
148
- const triggerEventA = { ...triggerEvent, currentTarget: { setSelectionRange: () => {} } };
148
+ const triggerEventA = { ...triggerEvent, target: { setSelectionRange: () => {} } };
149
149
  beforeEach(() => {
150
150
  component.setState({
151
151
  triggerEvent: triggerEventA,
@@ -284,7 +284,7 @@ class WithDisplayFormat<T extends TextElementProps> extends Component<
284
284
 
285
285
  setTimeout(() => {
286
286
  if (triggerEvent) {
287
- triggerEvent.currentTarget.setSelectionRange(cursorPosition, cursorPosition);
287
+ (triggerEvent.target as HTMLTextElement).setSelectionRange(cursorPosition, cursorPosition);
288
288
  }
289
289
  this.setState({ selectionStart: cursorPosition, selectionEnd: cursorPosition });
290
290
  }, 0);
@@ -2,7 +2,7 @@ import { useState, useEffect } from 'react';
2
2
  import { createPortal } from 'react-dom';
3
3
 
4
4
  export default function withNextPortalWrapper<T extends Record<string, any>>(
5
- Component: React.FunctionComponent<T>,
5
+ Component: React.ComponentType<T>,
6
6
  ) {
7
7
  return function (props: T) {
8
8
  const [mounted, setMounted] = useState(false);
@@ -1,4 +0,0 @@
1
- import { createContext } from 'react';
2
-
3
- export const SnackbarContext = createContext();
4
- export const SnackbarConsumer = SnackbarContext.Consumer;
@@ -1,51 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import { Component } from 'react';
3
-
4
- import SnackbarPortal from './Snackbar';
5
- import { SnackbarContext } from './SnackbarContext';
6
-
7
- class SnackbarProvider extends Component {
8
- constructor() {
9
- super();
10
- this.state = {
11
- text: '',
12
- timestamp: 0,
13
- };
14
- }
15
-
16
- create = ({ action, text, theme }) => {
17
- this.setState({ action, text, theme, timestamp: Date.now() });
18
- };
19
-
20
- render() {
21
- const { action, text, theme, timestamp } = this.state;
22
-
23
- return (
24
- <SnackbarContext.Provider
25
- value={{
26
- createSnackbar: this.create,
27
- }}
28
- >
29
- <SnackbarPortal
30
- action={action}
31
- text={text}
32
- timestamp={timestamp}
33
- timeout={this.props.timeout}
34
- theme={theme}
35
- />
36
- {this.props.children}
37
- </SnackbarContext.Provider>
38
- );
39
- }
40
- }
41
-
42
- SnackbarProvider.propTypes = {
43
- children: PropTypes.node.isRequired,
44
- timeout: PropTypes.number,
45
- };
46
-
47
- SnackbarProvider.defaultProps = {
48
- timeout: 4500,
49
- };
50
-
51
- export default SnackbarProvider;
File without changes
File without changes