@transferwise/components 0.0.0-experimental-14cd1b3 → 0.0.0-experimental-fe23e44

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
@@ -5081,14 +5081,15 @@ const Logo = ({
5081
5081
  }) => {
5082
5082
  const LogoSm = svgPaths[`WISE_FLAG${type === exports.LogoType.WISE_PLATFORM ? '_PLATFORM' : ''}${inverse ? '_INVERSE' : ''}`];
5083
5083
  const LogoMd = svgPaths[`${type}${inverse ? '_INVERSE' : ''}`];
5084
+ const screenMd = useScreenSize(exports.Breakpoint.MEDIUM);
5084
5085
  return /*#__PURE__*/jsxRuntime.jsxs("span", {
5085
5086
  "aria-label": type === exports.LogoType.WISE ? 'Wise' : 'Wise Business' | type === exports.LogoType.WISE_PLATFORM ? 'Wise Platform' : 'Wise Business',
5086
5087
  role: "img",
5087
5088
  className: classNames__default.default(className, 'np-logo'),
5088
- children: [/*#__PURE__*/jsxRuntime.jsx(LogoSm, {
5089
- className: "np-logo-svg np-logo-svg--size-sm"
5090
- }), /*#__PURE__*/jsxRuntime.jsx(LogoMd, {
5091
- className: "np-logo-svg np-logo-svg--size-md"
5089
+ children: [!screenMd && /*#__PURE__*/jsxRuntime.jsx(LogoSm, {
5090
+ className: "np-logo-svg"
5091
+ }), screenMd && /*#__PURE__*/jsxRuntime.jsx(LogoMd, {
5092
+ className: "np-logo-svg"
5092
5093
  })]
5093
5094
  });
5094
5095
  };
@@ -10471,12 +10472,11 @@ Select.defaultProps = {
10471
10472
 
10472
10473
  const SegmentedControl = ({
10473
10474
  name,
10474
- defaultValue,
10475
+ value,
10475
10476
  mode = 'input',
10476
10477
  segments,
10477
10478
  onChange
10478
10479
  }) => {
10479
- const [selectedValue, setSelectedValue] = React.useState(defaultValue || segments[0].value);
10480
10480
  const [animate, setAnimate] = React.useState(false);
10481
10481
  const segmentsRef = React.useRef(null);
10482
10482
  if (segments.length > 3) {
@@ -10487,7 +10487,7 @@ const SegmentedControl = ({
10487
10487
  ref: /*#__PURE__*/React.createRef()
10488
10488
  }));
10489
10489
  const updateSegmentPosition = () => {
10490
- const selectedSegmentRef = segmentsWithRefs.find(segment => segment.value === selectedValue)?.ref;
10490
+ const selectedSegmentRef = segmentsWithRefs.find(segment => segment.value === value)?.ref;
10491
10491
  // We grab the active segments style object from the ref
10492
10492
  // and set the css variables to the selected segments width and x position.
10493
10493
  // This is so we can animate the highlight to the selected segment
@@ -10500,6 +10500,7 @@ const SegmentedControl = ({
10500
10500
  }
10501
10501
  };
10502
10502
  React.useEffect(() => {
10503
+ setAnimate(true);
10503
10504
  updateSegmentPosition();
10504
10505
  const handleWindowSizeChange = () => {
10505
10506
  setAnimate(false);
@@ -10510,7 +10511,7 @@ const SegmentedControl = ({
10510
10511
  window.removeEventListener('resize', handleWindowSizeChange);
10511
10512
  };
10512
10513
  // eslint-disable-next-line react-hooks/exhaustive-deps
10513
- }, [segmentsWithRefs, selectedValue]);
10514
+ }, [segmentsWithRefs, value]);
10514
10515
  return /*#__PURE__*/jsxRuntime.jsx("div", {
10515
10516
  ref: segmentsRef,
10516
10517
  "data-testid": "segmented-control",
@@ -10525,14 +10526,13 @@ const SegmentedControl = ({
10525
10526
  children: segmentsWithRefs.map(segment => {
10526
10527
  const onSelect = () => {
10527
10528
  setAnimate(true);
10528
- setSelectedValue(segment.value);
10529
10529
  onChange(segment.value);
10530
10530
  };
10531
10531
  return mode === 'input' ? /*#__PURE__*/jsxRuntime.jsxs("label", {
10532
10532
  ref: segment.ref,
10533
10533
  htmlFor: segment.id,
10534
10534
  className: classNames__default.default('segmented-control__segment', {
10535
- 'segmented-control__selected-segment': selectedValue === segment.value
10535
+ 'segmented-control__selected-segment': value === segment.value
10536
10536
  }),
10537
10537
  children: [/*#__PURE__*/jsxRuntime.jsx("input", {
10538
10538
  type: "radio",
@@ -10540,12 +10540,12 @@ const SegmentedControl = ({
10540
10540
  id: segment.id,
10541
10541
  name: name,
10542
10542
  value: segment.value,
10543
- checked: selectedValue === segment.value,
10543
+ checked: value === segment.value,
10544
10544
  onChange: onSelect
10545
10545
  }), /*#__PURE__*/jsxRuntime.jsx(Body, {
10546
10546
  className: "segmented-control__text",
10547
10547
  as: "span",
10548
- type: selectedValue === segment.value ? exports.Typography.BODY_DEFAULT_BOLD : exports.Typography.BODY_DEFAULT,
10548
+ type: value === segment.value ? exports.Typography.BODY_DEFAULT_BOLD : exports.Typography.BODY_DEFAULT,
10549
10549
  children: segment.label
10550
10550
  })]
10551
10551
  }, segment.id) : /*#__PURE__*/jsxRuntime.jsx("button", {
@@ -10554,15 +10554,15 @@ const SegmentedControl = ({
10554
10554
  role: "tab",
10555
10555
  id: segment.id,
10556
10556
  "aria-controls": segment.controls,
10557
- "aria-selected": selectedValue === segment.value,
10557
+ "aria-selected": value === segment.value,
10558
10558
  className: classNames__default.default('segmented-control__segment', 'segmented-control__button', {
10559
- 'segmented-control__selected-segment': selectedValue === segment.value
10559
+ 'segmented-control__selected-segment': value === segment.value
10560
10560
  }),
10561
10561
  onClick: onSelect,
10562
10562
  children: /*#__PURE__*/jsxRuntime.jsx(Body, {
10563
10563
  as: "span",
10564
10564
  className: "segmented-control__text",
10565
- type: selectedValue === segment.value ? exports.Typography.BODY_DEFAULT_BOLD : exports.Typography.BODY_DEFAULT,
10565
+ type: value === segment.value ? exports.Typography.BODY_DEFAULT_BOLD : exports.Typography.BODY_DEFAULT,
10566
10566
  children: segment.label
10567
10567
  })
10568
10568
  }, segment.id);