1
1
"use client" ;
2
2
3
3
import type { ComponentProps , FC } from "react" ;
4
+ import { get } from "../../helpers/get" ;
4
5
import { omit } from "../../helpers/omit" ;
5
6
import { resolveTheme } from "../../helpers/resolve-theme" ;
6
7
import { twMerge } from "../../helpers/tailwind-merge" ;
@@ -44,12 +45,16 @@ export type CardProps = (
44
45
CommonCardProps ;
45
46
46
47
export const Card : FC < CardProps > = ( props ) => {
47
- const { children, className, horizontal, href, theme : customTheme , resetTheme } = props ;
48
+ const { children, className, horizontal, href, theme : customTheme , resetTheme, applyTheme } = props ;
48
49
const Component = typeof href === "undefined" ? "div" : "a" ;
49
50
const theirProps = removeCustomProps ( props ) ;
50
51
51
52
const provider = useThemeProvider ( ) ;
52
- const theme = resolveTheme ( [ cardTheme , provider . theme ?. card , customTheme ] , [ resetTheme ] ) ;
53
+ const theme = resolveTheme (
54
+ [ cardTheme , provider . theme ?. card , customTheme ] ,
55
+ [ get ( provider . resetTheme , "card" ) , resetTheme ] ,
56
+ [ get ( provider . applyTheme , "card" ) , applyTheme ] ,
57
+ ) ;
53
58
54
59
return (
55
60
< Component
@@ -69,9 +74,13 @@ export const Card: FC<CardProps> = (props) => {
69
74
) ;
70
75
} ;
71
76
72
- const Image : FC < CardProps > = ( { theme : customTheme , resetTheme, ...props } ) => {
77
+ const Image : FC < CardProps > = ( { theme : customTheme , resetTheme, applyTheme , ...props } ) => {
73
78
const provider = useThemeProvider ( ) ;
74
- const theme = resolveTheme ( [ cardTheme , provider . theme ?. card , customTheme ] , [ resetTheme ] ) ;
79
+ const theme = resolveTheme (
80
+ [ cardTheme , provider . theme ?. card , customTheme ] ,
81
+ [ get ( provider . resetTheme , "carousel" ) , resetTheme ] ,
82
+ [ get ( provider . applyTheme , "carousel" ) , applyTheme ] ,
83
+ ) ;
75
84
76
85
if ( props . renderImage ) {
77
86
return props . renderImage ( theme , props . horizontal ?? false ) ;
0 commit comments