@transferwise/components 0.0.0-experimental-0a998ee → 0.0.0-experimental-c2b115b

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.
@@ -95,6 +95,8 @@ class Snackbar extends React.Component {
95
95
  } = this.props;
96
96
  return /*#__PURE__*/jsxRuntime.jsx("div", {
97
97
  className: "snackbar",
98
+ "aria-live": "assertive",
99
+ role: "alert",
98
100
  children: /*#__PURE__*/jsxRuntime.jsx(reactTransitionGroup.CSSTransition, {
99
101
  nodeRef: this.bodyRef,
100
102
  in: visible,
@@ -109,8 +111,6 @@ class Snackbar extends React.Component {
109
111
  ref: this.bodyRef,
110
112
  as: "span",
111
113
  className: "snackbar__text",
112
- role: "status",
113
- "aria-live": "assertive",
114
114
  children: [text, action ? /*#__PURE__*/jsxRuntime.jsx(ActionButton, {
115
115
  className: "snackbar__text__action",
116
116
  onClick: action.onClick,
@@ -1 +1 @@
1
- {"version":3,"file":"Snackbar.js","sources":["../../src/snackbar/Snackbar.tsx"],"sourcesContent":["import { Component, createRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport ActionButton from '../actionButton';\nimport Body from '../body';\nimport { Theme, type ThemeDark, type ThemeLight } from '../common';\nimport { DirectionContext } from '../provider/direction';\nimport withNextPortal from '../withNextPortal/withNextPortal';\n\nconst CSS_TRANSITION_DURATION = 400;\n\nexport interface SnackbarProps {\n action?: {\n label: string;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n };\n text: React.ReactNode;\n /** @deprecated */\n theme?: ThemeLight | ThemeDark;\n timeout: number;\n timestamp: number;\n}\n\ninterface SnackbarState extends Pick<SnackbarProps, 'action' | 'text' | 'theme'> {\n visible: boolean;\n}\n\nexport class Snackbar extends Component<SnackbarProps, SnackbarState> {\n bodyRef = createRef<HTMLSpanElement>();\n timeout = 0;\n transitionTimeout = 0;\n\n constructor(props: SnackbarProps) {\n super(props);\n this.state = {\n visible: false,\n text: '',\n };\n }\n\n componentWillUnmount() {\n window.clearTimeout(this.timeout);\n window.clearTimeout(this.transitionTimeout);\n }\n\n shouldComponentUpdate(nextProps: SnackbarProps, nextState: SnackbarState) {\n if (!nextProps.text) {\n return false;\n }\n if (\n nextProps.timestamp === this.props.timestamp &&\n nextState.visible === this.state.visible &&\n nextState.text === this.state.text\n ) {\n return false;\n }\n\n return true;\n }\n\n setLeaveTimeout = () => {\n const { timeout } = this.props;\n\n this.timeout = window.setTimeout(() => {\n this.setState({ visible: false });\n }, timeout);\n };\n\n componentDidUpdate(previousProps: SnackbarProps) {\n const { action, text, timestamp } = this.props;\n\n if (!previousProps.text) {\n this.setState({ visible: true, action, text }, () => {\n this.setLeaveTimeout();\n });\n } else if (previousProps.timestamp !== timestamp) {\n window.clearTimeout(this.timeout);\n\n if (this.state.visible) {\n this.setState({ visible: false }, () => {\n this.transitionTimeout = window.setTimeout(() => {\n this.setState({ visible: true, action, text });\n this.setLeaveTimeout();\n }, CSS_TRANSITION_DURATION);\n });\n } else {\n this.setState({ visible: true, action, text });\n this.setLeaveTimeout();\n }\n }\n }\n\n render() {\n const { action, text, visible } = this.state;\n const { timeout } = this.props;\n\n return (\n <div className=\"snackbar\">\n <CSSTransition\n nodeRef={this.bodyRef}\n in={visible}\n classNames=\"snackbar__text-container\"\n timeout={{\n appear: 0,\n enter: timeout,\n exit: CSS_TRANSITION_DURATION,\n }}\n unmountOnExit\n >\n <Body\n ref={this.bodyRef}\n as=\"span\"\n className=\"snackbar__text\"\n role=\"status\"\n aria-live=\"assertive\"\n >\n {text}\n {action ? (\n <ActionButton className=\"snackbar__text__action\" onClick={action.onClick}>\n {action.label}\n </ActionButton>\n ) : null}\n </Body>\n </CSSTransition>\n </div>\n );\n }\n}\n\nSnackbar.contextType = DirectionContext;\n\nexport default withNextPortal(Snackbar);\n"],"names":["CSS_TRANSITION_DURATION","Snackbar","Component","bodyRef","createRef","timeout","transitionTimeout","constructor","props","state","visible","text","componentWillUnmount","window","clearTimeout","shouldComponentUpdate","nextProps","nextState","timestamp","setLeaveTimeout","setTimeout","setState","componentDidUpdate","previousProps","action","render","_jsx","className","children","CSSTransition","nodeRef","in","classNames","appear","enter","exit","unmountOnExit","_jsxs","Body","ref","as","role","ActionButton","onClick","label","contextType","DirectionContext","withNextPortal"],"mappings":"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"}
1
+ {"version":3,"file":"Snackbar.js","sources":["../../src/snackbar/Snackbar.tsx"],"sourcesContent":["import { Component, createRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport ActionButton from '../actionButton';\nimport Body from '../body';\nimport { Theme, type ThemeDark, type ThemeLight } from '../common';\nimport { DirectionContext } from '../provider/direction';\nimport withNextPortal from '../withNextPortal/withNextPortal';\n\nconst CSS_TRANSITION_DURATION = 400;\n\nexport interface SnackbarProps {\n action?: {\n label: string;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n };\n text: React.ReactNode;\n /** @deprecated */\n theme?: ThemeLight | ThemeDark;\n timeout: number;\n timestamp: number;\n}\n\ninterface SnackbarState extends Pick<SnackbarProps, 'action' | 'text' | 'theme'> {\n visible: boolean;\n}\n\nexport class Snackbar extends Component<SnackbarProps, SnackbarState> {\n bodyRef = createRef<HTMLSpanElement>();\n timeout = 0;\n transitionTimeout = 0;\n\n constructor(props: SnackbarProps) {\n super(props);\n this.state = {\n visible: false,\n text: '',\n };\n }\n\n componentWillUnmount() {\n window.clearTimeout(this.timeout);\n window.clearTimeout(this.transitionTimeout);\n }\n\n shouldComponentUpdate(nextProps: SnackbarProps, nextState: SnackbarState) {\n if (!nextProps.text) {\n return false;\n }\n if (\n nextProps.timestamp === this.props.timestamp &&\n nextState.visible === this.state.visible &&\n nextState.text === this.state.text\n ) {\n return false;\n }\n\n return true;\n }\n\n setLeaveTimeout = () => {\n const { timeout } = this.props;\n\n this.timeout = window.setTimeout(() => {\n this.setState({ visible: false });\n }, timeout);\n };\n\n componentDidUpdate(previousProps: SnackbarProps) {\n const { action, text, timestamp } = this.props;\n\n if (!previousProps.text) {\n this.setState({ visible: true, action, text }, () => {\n this.setLeaveTimeout();\n });\n } else if (previousProps.timestamp !== timestamp) {\n window.clearTimeout(this.timeout);\n\n if (this.state.visible) {\n this.setState({ visible: false }, () => {\n this.transitionTimeout = window.setTimeout(() => {\n this.setState({ visible: true, action, text });\n this.setLeaveTimeout();\n }, CSS_TRANSITION_DURATION);\n });\n } else {\n this.setState({ visible: true, action, text });\n this.setLeaveTimeout();\n }\n }\n }\n\n render() {\n const { action, text, visible } = this.state;\n const { timeout } = this.props;\n\n return (\n <div className=\"snackbar\" aria-live=\"assertive\" role=\"alert\">\n <CSSTransition\n nodeRef={this.bodyRef}\n in={visible}\n classNames=\"snackbar__text-container\"\n timeout={{\n appear: 0,\n enter: timeout,\n exit: CSS_TRANSITION_DURATION,\n }}\n unmountOnExit\n >\n <Body ref={this.bodyRef} as=\"span\" className=\"snackbar__text\">\n {text}\n {action ? (\n <ActionButton className=\"snackbar__text__action\" onClick={action.onClick}>\n {action.label}\n </ActionButton>\n ) : null}\n </Body>\n </CSSTransition>\n </div>\n );\n }\n}\n\nSnackbar.contextType = DirectionContext;\n\nexport default withNextPortal(Snackbar);\n"],"names":["CSS_TRANSITION_DURATION","Snackbar","Component","bodyRef","createRef","timeout","transitionTimeout","constructor","props","state","visible","text","componentWillUnmount","window","clearTimeout","shouldComponentUpdate","nextProps","nextState","timestamp","setLeaveTimeout","setTimeout","setState","componentDidUpdate","previousProps","action","render","_jsx","className","role","children","CSSTransition","nodeRef","in","classNames","appear","enter","exit","unmountOnExit","_jsxs","Body","ref","as","ActionButton","onClick","label","contextType","DirectionContext","withNextPortal"],"mappings":"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"}
@@ -91,6 +91,8 @@ class Snackbar extends Component {
91
91
  } = this.props;
92
92
  return /*#__PURE__*/jsx("div", {
93
93
  className: "snackbar",
94
+ "aria-live": "assertive",
95
+ role: "alert",
94
96
  children: /*#__PURE__*/jsx(CSSTransition, {
95
97
  nodeRef: this.bodyRef,
96
98
  in: visible,
@@ -105,8 +107,6 @@ class Snackbar extends Component {
105
107
  ref: this.bodyRef,
106
108
  as: "span",
107
109
  className: "snackbar__text",
108
- role: "status",
109
- "aria-live": "assertive",
110
110
  children: [text, action ? /*#__PURE__*/jsx(ActionButton, {
111
111
  className: "snackbar__text__action",
112
112
  onClick: action.onClick,
@@ -1 +1 @@
1
- {"version":3,"file":"Snackbar.mjs","sources":["../../src/snackbar/Snackbar.tsx"],"sourcesContent":["import { Component, createRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport ActionButton from '../actionButton';\nimport Body from '../body';\nimport { Theme, type ThemeDark, type ThemeLight } from '../common';\nimport { DirectionContext } from '../provider/direction';\nimport withNextPortal from '../withNextPortal/withNextPortal';\n\nconst CSS_TRANSITION_DURATION = 400;\n\nexport interface SnackbarProps {\n action?: {\n label: string;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n };\n text: React.ReactNode;\n /** @deprecated */\n theme?: ThemeLight | ThemeDark;\n timeout: number;\n timestamp: number;\n}\n\ninterface SnackbarState extends Pick<SnackbarProps, 'action' | 'text' | 'theme'> {\n visible: boolean;\n}\n\nexport class Snackbar extends Component<SnackbarProps, SnackbarState> {\n bodyRef = createRef<HTMLSpanElement>();\n timeout = 0;\n transitionTimeout = 0;\n\n constructor(props: SnackbarProps) {\n super(props);\n this.state = {\n visible: false,\n text: '',\n };\n }\n\n componentWillUnmount() {\n window.clearTimeout(this.timeout);\n window.clearTimeout(this.transitionTimeout);\n }\n\n shouldComponentUpdate(nextProps: SnackbarProps, nextState: SnackbarState) {\n if (!nextProps.text) {\n return false;\n }\n if (\n nextProps.timestamp === this.props.timestamp &&\n nextState.visible === this.state.visible &&\n nextState.text === this.state.text\n ) {\n return false;\n }\n\n return true;\n }\n\n setLeaveTimeout = () => {\n const { timeout } = this.props;\n\n this.timeout = window.setTimeout(() => {\n this.setState({ visible: false });\n }, timeout);\n };\n\n componentDidUpdate(previousProps: SnackbarProps) {\n const { action, text, timestamp } = this.props;\n\n if (!previousProps.text) {\n this.setState({ visible: true, action, text }, () => {\n this.setLeaveTimeout();\n });\n } else if (previousProps.timestamp !== timestamp) {\n window.clearTimeout(this.timeout);\n\n if (this.state.visible) {\n this.setState({ visible: false }, () => {\n this.transitionTimeout = window.setTimeout(() => {\n this.setState({ visible: true, action, text });\n this.setLeaveTimeout();\n }, CSS_TRANSITION_DURATION);\n });\n } else {\n this.setState({ visible: true, action, text });\n this.setLeaveTimeout();\n }\n }\n }\n\n render() {\n const { action, text, visible } = this.state;\n const { timeout } = this.props;\n\n return (\n <div className=\"snackbar\">\n <CSSTransition\n nodeRef={this.bodyRef}\n in={visible}\n classNames=\"snackbar__text-container\"\n timeout={{\n appear: 0,\n enter: timeout,\n exit: CSS_TRANSITION_DURATION,\n }}\n unmountOnExit\n >\n <Body\n ref={this.bodyRef}\n as=\"span\"\n className=\"snackbar__text\"\n role=\"status\"\n aria-live=\"assertive\"\n >\n {text}\n {action ? (\n <ActionButton className=\"snackbar__text__action\" onClick={action.onClick}>\n {action.label}\n </ActionButton>\n ) : null}\n </Body>\n </CSSTransition>\n </div>\n );\n }\n}\n\nSnackbar.contextType = DirectionContext;\n\nexport default withNextPortal(Snackbar);\n"],"names":["CSS_TRANSITION_DURATION","Snackbar","Component","bodyRef","createRef","timeout","transitionTimeout","constructor","props","state","visible","text","componentWillUnmount","window","clearTimeout","shouldComponentUpdate","nextProps","nextState","timestamp","setLeaveTimeout","setTimeout","setState","componentDidUpdate","previousProps","action","render","_jsx","className","children","CSSTransition","nodeRef","in","classNames","appear","enter","exit","unmountOnExit","_jsxs","Body","ref","as","role","ActionButton","onClick","label","contextType","DirectionContext","withNextPortal"],"mappings":"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"}
1
+ {"version":3,"file":"Snackbar.mjs","sources":["../../src/snackbar/Snackbar.tsx"],"sourcesContent":["import { Component, createRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport ActionButton from '../actionButton';\nimport Body from '../body';\nimport { Theme, type ThemeDark, type ThemeLight } from '../common';\nimport { DirectionContext } from '../provider/direction';\nimport withNextPortal from '../withNextPortal/withNextPortal';\n\nconst CSS_TRANSITION_DURATION = 400;\n\nexport interface SnackbarProps {\n action?: {\n label: string;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n };\n text: React.ReactNode;\n /** @deprecated */\n theme?: ThemeLight | ThemeDark;\n timeout: number;\n timestamp: number;\n}\n\ninterface SnackbarState extends Pick<SnackbarProps, 'action' | 'text' | 'theme'> {\n visible: boolean;\n}\n\nexport class Snackbar extends Component<SnackbarProps, SnackbarState> {\n bodyRef = createRef<HTMLSpanElement>();\n timeout = 0;\n transitionTimeout = 0;\n\n constructor(props: SnackbarProps) {\n super(props);\n this.state = {\n visible: false,\n text: '',\n };\n }\n\n componentWillUnmount() {\n window.clearTimeout(this.timeout);\n window.clearTimeout(this.transitionTimeout);\n }\n\n shouldComponentUpdate(nextProps: SnackbarProps, nextState: SnackbarState) {\n if (!nextProps.text) {\n return false;\n }\n if (\n nextProps.timestamp === this.props.timestamp &&\n nextState.visible === this.state.visible &&\n nextState.text === this.state.text\n ) {\n return false;\n }\n\n return true;\n }\n\n setLeaveTimeout = () => {\n const { timeout } = this.props;\n\n this.timeout = window.setTimeout(() => {\n this.setState({ visible: false });\n }, timeout);\n };\n\n componentDidUpdate(previousProps: SnackbarProps) {\n const { action, text, timestamp } = this.props;\n\n if (!previousProps.text) {\n this.setState({ visible: true, action, text }, () => {\n this.setLeaveTimeout();\n });\n } else if (previousProps.timestamp !== timestamp) {\n window.clearTimeout(this.timeout);\n\n if (this.state.visible) {\n this.setState({ visible: false }, () => {\n this.transitionTimeout = window.setTimeout(() => {\n this.setState({ visible: true, action, text });\n this.setLeaveTimeout();\n }, CSS_TRANSITION_DURATION);\n });\n } else {\n this.setState({ visible: true, action, text });\n this.setLeaveTimeout();\n }\n }\n }\n\n render() {\n const { action, text, visible } = this.state;\n const { timeout } = this.props;\n\n return (\n <div className=\"snackbar\" aria-live=\"assertive\" role=\"alert\">\n <CSSTransition\n nodeRef={this.bodyRef}\n in={visible}\n classNames=\"snackbar__text-container\"\n timeout={{\n appear: 0,\n enter: timeout,\n exit: CSS_TRANSITION_DURATION,\n }}\n unmountOnExit\n >\n <Body ref={this.bodyRef} as=\"span\" className=\"snackbar__text\">\n {text}\n {action ? (\n <ActionButton className=\"snackbar__text__action\" onClick={action.onClick}>\n {action.label}\n </ActionButton>\n ) : null}\n </Body>\n </CSSTransition>\n </div>\n );\n }\n}\n\nSnackbar.contextType = DirectionContext;\n\nexport default withNextPortal(Snackbar);\n"],"names":["CSS_TRANSITION_DURATION","Snackbar","Component","bodyRef","createRef","timeout","transitionTimeout","constructor","props","state","visible","text","componentWillUnmount","window","clearTimeout","shouldComponentUpdate","nextProps","nextState","timestamp","setLeaveTimeout","setTimeout","setState","componentDidUpdate","previousProps","action","render","_jsx","className","role","children","CSSTransition","nodeRef","in","classNames","appear","enter","exit","unmountOnExit","_jsxs","Body","ref","as","ActionButton","onClick","label","contextType","DirectionContext","withNextPortal"],"mappings":"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"}
@@ -1 +1 @@
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,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAMnE,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,kBAAkB;IAClB,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;CAmCP;;AAID,wBAAwC"}
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,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAMnE,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,kBAAkB;IAClB,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;CA6BP;;AAID,wBAAwC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transferwise/components",
3
- "version": "0.0.0-experimental-0a998ee",
3
+ "version": "0.0.0-experimental-c2b115b",
4
4
  "description": "Neptune React components",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -19,7 +19,7 @@ export const Basic = () => {
19
19
  const timeout = number('timeout (ms)', 10000000);
20
20
 
21
21
  return (
22
- <SnackbarProvider timeout={timeout}>
22
+ <SnackbarProvider>
23
23
  <SnackbarConsumer>
24
24
  {({ createSnackbar }) => (
25
25
  <Button
@@ -95,7 +95,7 @@ export class Snackbar extends Component<SnackbarProps, SnackbarState> {
95
95
  const { timeout } = this.props;
96
96
 
97
97
  return (
98
- <div className="snackbar">
98
+ <div className="snackbar" aria-live="assertive" role="alert">
99
99
  <CSSTransition
100
100
  nodeRef={this.bodyRef}
101
101
  in={visible}
@@ -107,13 +107,7 @@ export class Snackbar extends Component<SnackbarProps, SnackbarState> {
107
107
  }}
108
108
  unmountOnExit
109
109
  >
110
- <Body
111
- ref={this.bodyRef}
112
- as="span"
113
- className="snackbar__text"
114
- role="status"
115
- aria-live="assertive"
116
- >
110
+ <Body ref={this.bodyRef} as="span" className="snackbar__text">
117
111
  {text}
118
112
  {action ? (
119
113
  <ActionButton className="snackbar__text__action" onClick={action.onClick}>