11import type { ReturnStyleType , ClassesObjectType , ExactClassesObjectType } from '../../_internal' ;
2- import { isDevAndTest , sheetCompiler , isDevelopment , injectServerCSS , genBase36Hash , isServer , injectClientCSS } from '../../_internal' ;
2+ import { isDevAndTest , sheetCompiler , injectServerCSS , genBase36Hash , isServer , injectClientCSS } from '../../_internal' ;
33import { createGlobalStyleSheetPromise , globalStyleSheetPromise , resolveGlobalStyleSheet } from './create-build-in-helper' ;
44import styles from '../styles/style.module.css' ;
55
@@ -9,13 +9,15 @@ export function create<T extends ClassesObjectType>(object: ExactClassesObjectTy
99 if ( typeof globalStyleSheetPromise === 'undefined' ) createGlobalStyleSheetPromise ( ) ;
1010 resolveGlobalStyleSheet ( styleSheet ) ;
1111
12- return new Proxy ( object , {
13- get : function ( target , key : string ) {
14- if ( typeof key === 'string' && key in target ) {
12+ const injectCSS = isServer ? injectServerCSS : injectClientCSS ;
13+ if ( isDevAndTest ) injectCSS ( base36Hash , styleSheet , 'create' ) ;
14+ Object . keys ( object ) . forEach ( key => {
15+ Object . defineProperty ( object , key , {
16+ get : ( ) => {
1517 const className = key + '_' + base36Hash ;
16- if ( isDevelopment ) isServer ? injectServerCSS ( base36Hash , styleSheet , 'create' ) : injectClientCSS ( base36Hash , styleSheet , 'create' ) ;
1718 return isDevAndTest ? className : styles [ className ] ;
18- }
19- } ,
20- } ) as unknown as ReturnStyleType < T > ;
19+ } ,
20+ } ) ;
21+ } ) ;
22+ return object as ReturnStyleType < T > ;
2123}
0 commit comments