@transferwise/components 0.0.0-experimental-14afc1f → 0.0.0-experimental-ecf13ed

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.
package/build/index.js CHANGED
@@ -4582,14 +4582,15 @@ const Logo = ({
4582
4582
  }) => {
4583
4583
  const LogoSm = svgPaths[`WISE_FLAG${type === exports.LogoType.WISE_PLATFORM ? '_PLATFORM' : ''}${inverse ? '_INVERSE' : ''}`];
4584
4584
  const LogoMd = svgPaths[`${type}${inverse ? '_INVERSE' : ''}`];
4585
+ const screenMd = useScreenSize(exports.Breakpoint.MEDIUM);
4585
4586
  return /*#__PURE__*/jsxRuntime.jsxs("span", {
4586
4587
  "aria-label": type === exports.LogoType.WISE ? 'Wise' : 'Wise Business' | type === exports.LogoType.WISE_PLATFORM ? 'Wise Platform' : 'Wise Business',
4587
4588
  role: "img",
4588
4589
  className: classNames__default.default(className, 'np-logo'),
4589
- children: [/*#__PURE__*/jsxRuntime.jsx(LogoSm, {
4590
- className: "np-logo-svg np-logo-svg--size-sm"
4591
- }), /*#__PURE__*/jsxRuntime.jsx(LogoMd, {
4592
- className: "np-logo-svg np-logo-svg--size-md"
4590
+ children: [!screenMd && /*#__PURE__*/jsxRuntime.jsx(LogoSm, {
4591
+ className: "np-logo-svg"
4592
+ }), screenMd && /*#__PURE__*/jsxRuntime.jsx(LogoMd, {
4593
+ className: "np-logo-svg"
4593
4594
  })]
4594
4595
  });
4595
4596
  };
@@ -9976,12 +9977,11 @@ Select.defaultProps = {
9976
9977
 
9977
9978
  const SegmentedControl = ({
9978
9979
  name,
9979
- defaultValue,
9980
+ value,
9980
9981
  mode = 'input',
9981
9982
  segments,
9982
9983
  onChange
9983
9984
  }) => {
9984
- const [selectedValue, setSelectedValue] = React.useState(defaultValue || segments[0].value);
9985
9985
  const [animate, setAnimate] = React.useState(false);
9986
9986
  const segmentsRef = React.useRef(null);
9987
9987
  if (segments.length > 3) {
@@ -9992,7 +9992,7 @@ const SegmentedControl = ({
9992
9992
  ref: /*#__PURE__*/React.createRef()
9993
9993
  }));
9994
9994
  const updateSegmentPosition = () => {
9995
- const selectedSegmentRef = segmentsWithRefs.find(segment => segment.value === selectedValue)?.ref;
9995
+ const selectedSegmentRef = segmentsWithRefs.find(segment => segment.value === value)?.ref;
9996
9996
  // We grab the active segments style object from the ref
9997
9997
  // and set the css variables to the selected segments width and x position.
9998
9998
  // This is so we can animate the highlight to the selected segment
@@ -10005,6 +10005,7 @@ const SegmentedControl = ({
10005
10005
  }
10006
10006
  };
10007
10007
  React.useEffect(() => {
10008
+ setAnimate(true);
10008
10009
  updateSegmentPosition();
10009
10010
  const handleWindowSizeChange = () => {
10010
10011
  setAnimate(false);
@@ -10015,7 +10016,7 @@ const SegmentedControl = ({
10015
10016
  window.removeEventListener('resize', handleWindowSizeChange);
10016
10017
  };
10017
10018
  // eslint-disable-next-line react-hooks/exhaustive-deps
10018
- }, [segmentsWithRefs, selectedValue]);
10019
+ }, [segmentsWithRefs, value]);
10019
10020
  return /*#__PURE__*/jsxRuntime.jsx("div", {
10020
10021
  ref: segmentsRef,
10021
10022
  "data-testid": "segmented-control",
@@ -10030,14 +10031,13 @@ const SegmentedControl = ({
10030
10031
  children: segmentsWithRefs.map(segment => {
10031
10032
  const onSelect = () => {
10032
10033
  setAnimate(true);
10033
- setSelectedValue(segment.value);
10034
10034
  onChange(segment.value);
10035
10035
  };
10036
10036
  return mode === 'input' ? /*#__PURE__*/jsxRuntime.jsxs("label", {
10037
10037
  ref: segment.ref,
10038
10038
  htmlFor: segment.id,
10039
10039
  className: classNames__default.default('segmented-control__segment', {
10040
- 'segmented-control__selected-segment': selectedValue === segment.value
10040
+ 'segmented-control__selected-segment': value === segment.value
10041
10041
  }),
10042
10042
  children: [/*#__PURE__*/jsxRuntime.jsx("input", {
10043
10043
  type: "radio",
@@ -10045,12 +10045,12 @@ const SegmentedControl = ({
10045
10045
  id: segment.id,
10046
10046
  name: name,
10047
10047
  value: segment.value,
10048
- checked: selectedValue === segment.value,
10048
+ checked: value === segment.value,
10049
10049
  onChange: onSelect
10050
10050
  }), /*#__PURE__*/jsxRuntime.jsx(Body, {
10051
10051
  className: "segmented-control__text",
10052
10052
  as: "span",
10053
- type: selectedValue === segment.value ? exports.Typography.BODY_DEFAULT_BOLD : exports.Typography.BODY_DEFAULT,
10053
+ type: value === segment.value ? exports.Typography.BODY_DEFAULT_BOLD : exports.Typography.BODY_DEFAULT,
10054
10054
  children: segment.label
10055
10055
  })]
10056
10056
  }, segment.id) : /*#__PURE__*/jsxRuntime.jsx("button", {
@@ -10059,15 +10059,15 @@ const SegmentedControl = ({
10059
10059
  role: "tab",
10060
10060
  id: segment.id,
10061
10061
  "aria-controls": segment.controls,
10062
- "aria-selected": selectedValue === segment.value,
10062
+ "aria-selected": value === segment.value,
10063
10063
  className: classNames__default.default('segmented-control__segment', 'segmented-control__button', {
10064
- 'segmented-control__selected-segment': selectedValue === segment.value
10064
+ 'segmented-control__selected-segment': value === segment.value
10065
10065
  }),
10066
10066
  onClick: onSelect,
10067
10067
  children: /*#__PURE__*/jsxRuntime.jsx(Body, {
10068
10068
  as: "span",
10069
10069
  className: "segmented-control__text",
10070
- type: selectedValue === segment.value ? exports.Typography.BODY_DEFAULT_BOLD : exports.Typography.BODY_DEFAULT,
10070
+ type: value === segment.value ? exports.Typography.BODY_DEFAULT_BOLD : exports.Typography.BODY_DEFAULT,
10071
10071
  children: segment.label
10072
10072
  })
10073
10073
  }, segment.id);