Skip to content

Commit 400accc

Browse files
feat(web): wire shadow and elevation into CSS transitions and styles
1 parent c41c6a4 commit 400accc

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

src/EaseView.web.tsx

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,8 @@ const CSS_PROP_MAP = {
205205
transform: 'transform',
206206
borderRadius: 'border-radius',
207207
backgroundColor: 'background-color',
208+
boxShadow: 'box-shadow',
209+
elevation: 'elevation',
208210
} as const;
209211

210212
type CategoryKey = keyof typeof CSS_PROP_MAP;
@@ -220,6 +222,8 @@ function resolvePerCategoryConfigs(
220222
transform: def,
221223
borderRadius: def,
222224
backgroundColor: def,
225+
boxShadow: def,
226+
elevation: def,
223227
};
224228
}
225229
if (isSingleTransition(transition)) {
@@ -229,10 +233,15 @@ function resolvePerCategoryConfigs(
229233
transform: def,
230234
borderRadius: def,
231235
backgroundColor: def,
236+
boxShadow: def,
237+
elevation: def,
232238
};
233239
}
234240
// TransitionMap
235241
const defaultConfig = resolveConfigForCss(transition.default);
242+
const shadowConfig = transition.shadow
243+
? resolveConfigForCss(transition.shadow)
244+
: defaultConfig;
236245
return {
237246
opacity: transition.opacity
238247
? resolveConfigForCss(transition.opacity)
@@ -246,6 +255,8 @@ function resolvePerCategoryConfigs(
246255
backgroundColor: transition.backgroundColor
247256
? resolveConfigForCss(transition.backgroundColor)
248257
: defaultConfig,
258+
boxShadow: shadowConfig,
259+
elevation: shadowConfig,
249260
};
250261
}
251262

@@ -494,6 +505,20 @@ export function EaseView({
494505
...(displayValues.backgroundColor
495506
? { backgroundColor: displayValues.backgroundColor }
496507
: {}),
508+
...(displayValues.shadowOpacity > 0
509+
? {
510+
shadowColor: displayValues.shadowColor ?? 'black',
511+
shadowOpacity: displayValues.shadowOpacity,
512+
shadowRadius: displayValues.shadowRadius,
513+
shadowOffset: {
514+
width: displayValues.shadowOffsetX,
515+
height: displayValues.shadowOffsetY,
516+
},
517+
}
518+
: {}),
519+
...(displayValues.elevation > 0
520+
? { elevation: displayValues.elevation }
521+
: {}),
497522
};
498523

499524
return (

0 commit comments

Comments
 (0)