Skip to content

Commit 740891f

Browse files
fix(Spinner): Enabled Spinning again (#59)
Closes #57
1 parent f57bfd5 commit 740891f

File tree

5 files changed

+38
-15
lines changed

5 files changed

+38
-15
lines changed

packages/main/src/components/ActionSheet/index.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { Device, StyleClassHelper, useConsolidatedRef } from '@ui5/webcomponents-react-base';
22
import React, { Children, cloneElement, forwardRef, ReactElement, ReactNode, RefObject } from 'react';
3-
import { ClassProps } from '../../interfaces/ClassProps';
43
import { CommonProps } from '../../interfaces/CommonProps';
54
import { Ui5PopoverDomRef } from '../../interfaces/Ui5PopoverDomRef';
65
import { ButtonDesign } from '../../lib/ButtonDesign';
@@ -17,12 +16,10 @@ export interface ActionSheetPropTypes extends CommonProps {
1716
children?: ReactElement<ButtonPropTypes> | Array<ReactElement<ButtonPropTypes>>;
1817
}
1918

20-
export interface ActionSheetPropsInternal extends ActionSheetPropTypes, ClassProps {}
21-
2219
const useStyles = createUseStyles(styles);
2320

2421
const ActionSheet = forwardRef((props: ActionSheetPropTypes, ref: RefObject<Ui5PopoverDomRef>) => {
25-
const { children, placement, openBy, style, slot } = props as ActionSheetPropsInternal;
22+
const { children, placement, openBy, style, slot } = props;
2623

2724
const classes = useStyles();
2825

packages/main/src/components/Spinner/Spinner.jss.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,6 @@ export const styles = {
3535
borderBottom: '4px solid rgba(54, 64, 81, 0.16)',
3636
borderLeft: '4px solid rgba(54, 64, 81, 1)',
3737
transform: 'translateZ(0)',
38-
animation: 'spin .8s infinite linear'
38+
animation: '$spin .8s infinite linear'
3939
}
4040
};

packages/main/src/components/Spinner/Spinner.test.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,9 @@ describe('Spinner', () => {
1818
const wrapper = renderThemedComponent(<Spinner size={Size.Large} />);
1919
expect(wrapper).toMatchSnapshot();
2020
});
21+
22+
test('with custom class name', () => {
23+
const wrapper = renderThemedComponent(<Spinner size={Size.Large} className="testClassName1337" />);
24+
expect(wrapper).toMatchSnapshot();
25+
});
2126
});

packages/main/src/components/Spinner/__snapshots__/Spinner.test.tsx.snap

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ exports[`Spinner large 1`] = `
55
aria-busy="true"
66
aria-valuemax="100"
77
aria-valuemin="0"
8-
class="Component-spinner- Component-spinnerLarge-"
8+
class="-spinner- -spinnerLarge-"
99
data-component-name="BusyIndicator"
1010
role="progressbar"
1111
tabindex="0"
@@ -20,7 +20,7 @@ exports[`Spinner medium 1`] = `
2020
aria-busy="true"
2121
aria-valuemax="100"
2222
aria-valuemin="0"
23-
class="Component-spinner- Component-spinnerMedium-"
23+
class="-spinner- -spinnerMedium-"
2424
data-component-name="BusyIndicator"
2525
role="progressbar"
2626
tabindex="0"
@@ -35,7 +35,22 @@ exports[`Spinner small 1`] = `
3535
aria-busy="true"
3636
aria-valuemax="100"
3737
aria-valuemin="0"
38-
class="Component-spinner- Component-spinnerSmall-"
38+
class="-spinner- -spinnerSmall-"
39+
data-component-name="BusyIndicator"
40+
role="progressbar"
41+
tabindex="0"
42+
title="Please wait"
43+
>
44+
Loading...
45+
</div>
46+
`;
47+
48+
exports[`Spinner with custom class name 1`] = `
49+
<div
50+
aria-busy="true"
51+
aria-valuemax="100"
52+
aria-valuemin="0"
53+
class="-spinner- testClassName1337 -spinnerLarge-"
3954
data-component-name="BusyIndicator"
4055
role="progressbar"
4156
tabindex="0"

packages/main/src/components/Spinner/index.tsx

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import { StyleClassHelper, withStyles } from '@ui5/webcomponents-react-base';
2-
import React, { FC } from 'react';
3-
import { ClassProps } from '../../interfaces/ClassProps';
1+
import { StyleClassHelper } from '@ui5/webcomponents-react-base';
2+
import React, { forwardRef, RefObject } from 'react';
3+
// @ts-ignore
4+
import { createUseStyles } from 'react-jss';
45
import { CommonProps } from '../../interfaces/CommonProps';
56
import { Size } from '../../lib/Size';
67
import { styles } from './Spinner.jss';
@@ -9,10 +10,11 @@ export interface SpinnerProps extends CommonProps {
910
size?: Size;
1011
}
1112

12-
interface SpinnerInternalProps extends SpinnerProps, ClassProps {}
13+
const useStyles = createUseStyles(styles);
1314

14-
export const Spinner: FC<SpinnerProps> = withStyles(styles)((props: SpinnerProps) => {
15-
const { classes, className, size, tooltip, innerRef, slot } = props as SpinnerInternalProps;
15+
const Spinner = forwardRef((props: SpinnerProps, ref: RefObject<HTMLDivElement>) => {
16+
const { className, size, tooltip, slot } = props;
17+
const classes = useStyles();
1618

1719
const spinnerClasses = StyleClassHelper.of(classes.spinner);
1820
if (className) {
@@ -23,7 +25,7 @@ export const Spinner: FC<SpinnerProps> = withStyles(styles)((props: SpinnerProps
2325

2426
return (
2527
<div
26-
ref={innerRef}
28+
ref={ref}
2729
className={spinnerClasses.valueOf()}
2830
data-component-name="BusyIndicator"
2931
aria-busy="true"
@@ -42,3 +44,7 @@ export const Spinner: FC<SpinnerProps> = withStyles(styles)((props: SpinnerProps
4244
Spinner.defaultProps = {
4345
size: Size.Medium
4446
};
47+
48+
Spinner.displayName = 'Spinner';
49+
50+
export { Spinner };

0 commit comments

Comments
 (0)