@transferwise/components 0.0.0-experimental-b785d66 → 0.0.0-experimental-a2f2fc6

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
@@ -10512,9 +10512,6 @@ const SegmentedControl = ({
10512
10512
  };
10513
10513
  // eslint-disable-next-line react-hooks/exhaustive-deps
10514
10514
  }, [segmentsWithRefs, selectedValue]);
10515
- React.useEffect(() => {
10516
- onChange(selectedValue);
10517
- }, [onChange, selectedValue]);
10518
10515
  return /*#__PURE__*/jsxRuntime.jsx("div", {
10519
10516
  ref: segmentsRef,
10520
10517
  "data-testid": "segmented-control",
@@ -10526,50 +10523,51 @@ const SegmentedControl = ({
10526
10523
  'segmented-control__segments--no-animate': !animate
10527
10524
  }),
10528
10525
  role: mode !== 'input' ? 'tablist' : undefined,
10529
- children: segmentsWithRefs.map(segment => mode === 'input' ? /*#__PURE__*/jsxRuntime.jsxs("label", {
10530
- ref: segment.ref,
10531
- htmlFor: segment.id,
10532
- className: classNames__default.default('segmented-control__segment', {
10533
- 'segmented-control__selected-segment': selectedValue === segment.value
10534
- }),
10535
- children: [/*#__PURE__*/jsxRuntime.jsx("input", {
10536
- type: "radio",
10537
- className: "segmented-control__radio-input",
10538
- id: segment.id,
10539
- name: name,
10540
- value: segment.value,
10541
- checked: selectedValue === segment.value,
10542
- onChange: () => {
10543
- setAnimate(true);
10544
- setSelectedValue(segment.value);
10545
- }
10546
- }), /*#__PURE__*/jsxRuntime.jsx(Body, {
10547
- className: "segmented-control__text",
10548
- as: "span",
10549
- type: selectedValue === segment.value ? exports.Typography.BODY_DEFAULT_BOLD : exports.Typography.BODY_DEFAULT,
10550
- children: segment.label
10551
- })]
10552
- }, segment.id) : /*#__PURE__*/jsxRuntime.jsx("button", {
10553
- ref: segment.ref,
10554
- type: "button",
10555
- role: "tab",
10556
- id: segment.id,
10557
- "aria-controls": segment.controls,
10558
- "aria-selected": selectedValue === segment.value,
10559
- className: classNames__default.default('segmented-control__segment', 'segmented-control__button', {
10560
- 'segmented-control__selected-segment': selectedValue === segment.value
10561
- }),
10562
- onClick: () => {
10526
+ children: segmentsWithRefs.map(segment => {
10527
+ const onSelect = () => {
10563
10528
  setAnimate(true);
10564
10529
  setSelectedValue(segment.value);
10565
- },
10566
- children: /*#__PURE__*/jsxRuntime.jsx(Body, {
10567
- as: "span",
10568
- className: "segmented-control__text",
10569
- type: selectedValue === segment.value ? exports.Typography.BODY_DEFAULT_BOLD : exports.Typography.BODY_DEFAULT,
10570
- children: segment.label
10571
- })
10572
- }, segment.id))
10530
+ onChange(segment.value);
10531
+ };
10532
+ return mode === 'input' ? /*#__PURE__*/jsxRuntime.jsxs("label", {
10533
+ ref: segment.ref,
10534
+ htmlFor: segment.id,
10535
+ className: classNames__default.default('segmented-control__segment', {
10536
+ 'segmented-control__selected-segment': selectedValue === segment.value
10537
+ }),
10538
+ children: [/*#__PURE__*/jsxRuntime.jsx("input", {
10539
+ type: "radio",
10540
+ className: "segmented-control__radio-input",
10541
+ id: segment.id,
10542
+ name: name,
10543
+ value: segment.value,
10544
+ checked: selectedValue === segment.value,
10545
+ onChange: onSelect
10546
+ }), /*#__PURE__*/jsxRuntime.jsx(Body, {
10547
+ className: "segmented-control__text",
10548
+ as: "span",
10549
+ type: selectedValue === segment.value ? exports.Typography.BODY_DEFAULT_BOLD : exports.Typography.BODY_DEFAULT,
10550
+ children: segment.label
10551
+ })]
10552
+ }, segment.id) : /*#__PURE__*/jsxRuntime.jsx("button", {
10553
+ ref: segment.ref,
10554
+ type: "button",
10555
+ role: "tab",
10556
+ id: segment.id,
10557
+ "aria-controls": segment.controls,
10558
+ "aria-selected": selectedValue === segment.value,
10559
+ className: classNames__default.default('segmented-control__segment', 'segmented-control__button', {
10560
+ 'segmented-control__selected-segment': selectedValue === segment.value
10561
+ }),
10562
+ onClick: onSelect,
10563
+ children: /*#__PURE__*/jsxRuntime.jsx(Body, {
10564
+ as: "span",
10565
+ className: "segmented-control__text",
10566
+ type: selectedValue === segment.value ? exports.Typography.BODY_DEFAULT_BOLD : exports.Typography.BODY_DEFAULT,
10567
+ children: segment.label
10568
+ })
10569
+ }, segment.id);
10570
+ })
10573
10571
  })
10574
10572
  });
10575
10573
  };