1
1
import type { RectDimensions } from '@/lib/editor/engine/overlay/rect' ;
2
2
import { adaptValueToCanvas } from '@/lib/editor/engine/overlay/utils' ;
3
+ import type { DomElementStyles } from '@onlook/models/element' ;
3
4
import { colors } from '@onlook/ui/tokens' ;
4
5
import { nanoid } from 'nanoid' ;
5
6
import { BaseRect } from './BaseRect' ;
@@ -90,7 +91,7 @@ const parseCssBoxValues = (
90
91
91
92
interface ClickRectProps extends RectDimensions {
92
93
isComponent ?: boolean ;
93
- styles : Record < string , string > ;
94
+ styles : DomElementStyles | null ;
94
95
shouldShowResizeHandles : boolean ;
95
96
}
96
97
@@ -104,10 +105,10 @@ export const ClickRect = ({
104
105
shouldShowResizeHandles,
105
106
} : ClickRectProps ) => {
106
107
const renderMarginLabels = ( ) => {
107
- if ( ! styles ?. margin ) {
108
+ if ( ! styles ?. computed . margin ) {
108
109
return null ;
109
110
}
110
- const { adjusted, original } = parseCssBoxValues ( styles . margin ) ;
111
+ const { adjusted, original } = parseCssBoxValues ( styles . computed . margin ) ;
111
112
112
113
const patternId = `margin-pattern-${ nanoid ( ) } ` ;
113
114
const maskId = `margin-mask-${ nanoid ( ) } ` ;
@@ -201,10 +202,10 @@ export const ClickRect = ({
201
202
} ;
202
203
203
204
const renderPaddingLabels = ( ) => {
204
- if ( ! styles ?. padding ) {
205
+ if ( ! styles ?. computed . padding ) {
205
206
return null ;
206
207
}
207
- const { adjusted, original } = parseCssBoxValues ( styles . padding ) ;
208
+ const { adjusted, original } = parseCssBoxValues ( styles . computed . padding ) ;
208
209
209
210
const patternId = `padding-pattern-${ nanoid ( ) } ` ;
210
211
const maskId = `padding-mask-${ nanoid ( ) } ` ;
@@ -301,8 +302,8 @@ export const ClickRect = ({
301
302
302
303
const renderDimensionLabels = ( ) => {
303
304
const rectColor = isComponent ? colors . purple [ 500 ] : colors . red [ 500 ] ;
304
- const displayWidth = parseFloat ( styles ?. width || '0' ) . toFixed ( 0 ) ;
305
- const displayHeight = parseFloat ( styles ?. height || '0' ) . toFixed ( 0 ) ;
305
+ const displayWidth = parseFloat ( styles ?. defined . width || '0' ) . toFixed ( 0 ) ;
306
+ const displayHeight = parseFloat ( styles ?. defined . height || '0' ) . toFixed ( 0 ) ;
306
307
const text = `${ displayWidth } × ${ displayHeight } ` ;
307
308
308
309
// Constants from showDimensions
@@ -355,9 +356,9 @@ export const ClickRect = ({
355
356
height = { height }
356
357
left = { left }
357
358
top = { top }
358
- borderRadius = { parseInt ( styles ?. [ 'borderRadius' ] || '0' ) }
359
+ borderRadius = { parseInt ( styles ?. computed [ 'borderRadius' ] || '0' ) }
359
360
isComponent = { isComponent }
360
- styles = { styles }
361
+ styles = { styles ?. computed ?? { } }
361
362
/>
362
363
) }
363
364
</ BaseRect >
0 commit comments