@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 +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 +1 -1
- 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
|
@@ -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
|
|
4591
|
-
}), /*#__PURE__*/jsxRuntime.jsx(LogoMd, {
|
|
4592
|
-
className: "np-logo-svg
|
|
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
|
-
|
|
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 ===
|
|
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,
|
|
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':
|
|
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:
|
|
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:
|
|
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":
|
|
10062
|
+
"aria-selected": value === segment.value,
|
|
10063
10063
|
className: classNames__default.default('segmented-control__segment', 'segmented-control__button', {
|
|
10064
|
-
'segmented-control__selected-segment':
|
|
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:
|
|
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);
|