@@ -108,126 +108,6 @@ const BadgeBadge = styled('span', {
108108 padding : 0 ,
109109 } ,
110110 } ,
111- {
112- props : ( { ownerState } ) =>
113- ownerState . anchorOrigin . vertical === 'top' &&
114- ownerState . anchorOrigin . horizontal === 'right' &&
115- ownerState . overlap === 'rectangular' ,
116- style : {
117- top : 0 ,
118- right : 0 ,
119- transform : 'scale(1) translate(50%, -50%)' ,
120- transformOrigin : '100% 0%' ,
121- [ `&.${ badgeClasses . invisible } ` ] : {
122- transform : 'scale(0) translate(50%, -50%)' ,
123- } ,
124- } ,
125- } ,
126- {
127- props : ( { ownerState } ) =>
128- ownerState . anchorOrigin . vertical === 'bottom' &&
129- ownerState . anchorOrigin . horizontal === 'right' &&
130- ownerState . overlap === 'rectangular' ,
131- style : {
132- bottom : 0 ,
133- right : 0 ,
134- transform : 'scale(1) translate(50%, 50%)' ,
135- transformOrigin : '100% 100%' ,
136- [ `&.${ badgeClasses . invisible } ` ] : {
137- transform : 'scale(0) translate(50%, 50%)' ,
138- } ,
139- } ,
140- } ,
141- {
142- props : ( { ownerState } ) =>
143- ownerState . anchorOrigin . vertical === 'top' &&
144- ownerState . anchorOrigin . horizontal === 'left' &&
145- ownerState . overlap === 'rectangular' ,
146- style : {
147- top : 0 ,
148- left : 0 ,
149- transform : 'scale(1) translate(-50%, -50%)' ,
150- transformOrigin : '0% 0%' ,
151- [ `&.${ badgeClasses . invisible } ` ] : {
152- transform : 'scale(0) translate(-50%, -50%)' ,
153- } ,
154- } ,
155- } ,
156- {
157- props : ( { ownerState } ) =>
158- ownerState . anchorOrigin . vertical === 'bottom' &&
159- ownerState . anchorOrigin . horizontal === 'left' &&
160- ownerState . overlap === 'rectangular' ,
161- style : {
162- bottom : 0 ,
163- left : 0 ,
164- transform : 'scale(1) translate(-50%, 50%)' ,
165- transformOrigin : '0% 100%' ,
166- [ `&.${ badgeClasses . invisible } ` ] : {
167- transform : 'scale(0) translate(-50%, 50%)' ,
168- } ,
169- } ,
170- } ,
171- {
172- props : ( { ownerState } ) =>
173- ownerState . anchorOrigin . vertical === 'top' &&
174- ownerState . anchorOrigin . horizontal === 'right' &&
175- ownerState . overlap === 'circular' ,
176- style : {
177- top : '14%' ,
178- right : '14%' ,
179- transform : 'scale(1) translate(50%, -50%)' ,
180- transformOrigin : '100% 0%' ,
181- [ `&.${ badgeClasses . invisible } ` ] : {
182- transform : 'scale(0) translate(50%, -50%)' ,
183- } ,
184- } ,
185- } ,
186- {
187- props : ( { ownerState } ) =>
188- ownerState . anchorOrigin . vertical === 'bottom' &&
189- ownerState . anchorOrigin . horizontal === 'right' &&
190- ownerState . overlap === 'circular' ,
191- style : {
192- bottom : '14%' ,
193- right : '14%' ,
194- transform : 'scale(1) translate(50%, 50%)' ,
195- transformOrigin : '100% 100%' ,
196- [ `&.${ badgeClasses . invisible } ` ] : {
197- transform : 'scale(0) translate(50%, 50%)' ,
198- } ,
199- } ,
200- } ,
201- {
202- props : ( { ownerState } ) =>
203- ownerState . anchorOrigin . vertical === 'top' &&
204- ownerState . anchorOrigin . horizontal === 'left' &&
205- ownerState . overlap === 'circular' ,
206- style : {
207- top : '14%' ,
208- left : '14%' ,
209- transform : 'scale(1) translate(-50%, -50%)' ,
210- transformOrigin : '0% 0%' ,
211- [ `&.${ badgeClasses . invisible } ` ] : {
212- transform : 'scale(0) translate(-50%, -50%)' ,
213- } ,
214- } ,
215- } ,
216- {
217- props : ( { ownerState } ) =>
218- ownerState . anchorOrigin . vertical === 'bottom' &&
219- ownerState . anchorOrigin . horizontal === 'left' &&
220- ownerState . overlap === 'circular' ,
221- style : {
222- bottom : '14%' ,
223- left : '14%' ,
224- transform : 'scale(1) translate(-50%, 50%)' ,
225- transformOrigin : '0% 100%' ,
226- [ `&.${ badgeClasses . invisible } ` ] : {
227- transform : 'scale(0) translate(-50%, 50%)' ,
228- } ,
229- } ,
230- } ,
231111 {
232112 props : { invisible : true } ,
233113 style : {
@@ -237,6 +117,25 @@ const BadgeBadge = styled('span', {
237117 } ) ,
238118 } ,
239119 } ,
120+ {
121+ style : ( { ownerState } ) => {
122+ const { vertical, horizontal } = ownerState . anchorOrigin ;
123+ const offset = ownerState . overlap === 'circular' ? '14%' : 0 ;
124+ return {
125+ '--Badge-translateX' : horizontal === 'right' ? '50%' : '-50%' ,
126+ '--Badge-translateY' : vertical === 'top' ? '-50%' : '50%' ,
127+ top : vertical === 'top' ? offset : 'initial' ,
128+ bottom : vertical === 'bottom' ? offset : 'initial' ,
129+ right : horizontal === 'right' ? offset : 'initial' ,
130+ left : horizontal === 'left' ? offset : 'initial' ,
131+ transform : 'scale(1) translate(var(--Badge-translateX), var(--Badge-translateY))' ,
132+ transformOrigin : `${ horizontal === 'right' ? '100%' : '0%' } ${ vertical === 'top' ? '0%' : '100%' } ` ,
133+ [ `&.${ badgeClasses . invisible } ` ] : {
134+ transform : 'scale(0) translate(var(--Badge-translateX), var(--Badge-translateY))' ,
135+ } ,
136+ } ;
137+ } ,
138+ } ,
240139 ] ,
241140 } ) ) ,
242141) ;
0 commit comments