@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 +15 -15
- package/build/index.js.map +1 -1
- package/build/index.mjs +15 -15
- package/build/index.mjs.map +1 -1
- package/build/main.css +0 -16
- package/build/styles/logo/Logo.css +0 -16
- package/build/styles/main.css +0 -16
- package/build/types/logo/Logo.d.ts.map +1 -1
- package/build/types/segmentedControl/SegmentedControl.d.ts +2 -2
- package/build/types/segmentedControl/SegmentedControl.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/logo/Logo.css +0 -16
- package/src/logo/Logo.js +7 -2
- package/src/logo/Logo.less +0 -16
- package/src/logo/__snapshots__/Logo.spec.js.snap +8 -104
- package/src/main.css +0 -16
- package/src/segmentedControl/SegmentedControl.spec.tsx +39 -1
- package/src/segmentedControl/SegmentedControl.story.tsx +54 -16
- package/src/segmentedControl/SegmentedControl.tsx +11 -18
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
|
|
5090
|
-
}), /*#__PURE__*/jsxRuntime.jsx(LogoMd, {
|
|
5091
|
-
className: "np-logo-svg
|
|
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
|
-
|
|
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 ===
|
|
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,
|
|
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':
|
|
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:
|
|
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:
|
|
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":
|
|
10557
|
+
"aria-selected": value === segment.value,
|
|
10558
10558
|
className: classNames__default.default('segmented-control__segment', 'segmented-control__button', {
|
|
10559
|
-
'segmented-control__selected-segment':
|
|
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:
|
|
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);
|