File tree 2 files changed +21
-1
lines changed
apps/builder/app/builder/features/settings-panel/props-section
packages/design-system/src/components
2 files changed +21
-1
lines changed Original file line number Diff line number Diff line change @@ -68,7 +68,11 @@ const renderProperty = (
68
68
prop,
69
69
computedValue : propValues . get ( propName ) ?? meta . defaultValue ,
70
70
propName,
71
- deletable : deletable ?? false ,
71
+ deletable :
72
+ deletable ??
73
+ ( ( meta . defaultValue === undefined || meta . defaultValue !== prop ?. value ) &&
74
+ meta . required === false &&
75
+ prop !== undefined ) ,
72
76
onDelete : ( ) => {
73
77
if ( prop ) {
74
78
logic . handleDelete ( prop ) ;
Original file line number Diff line number Diff line change 7
7
useMemo ,
8
8
forwardRef ,
9
9
useState ,
10
+ useEffect ,
11
+ useRef ,
10
12
} from "react" ;
11
13
import { styled , theme } from "../stitches.config" ;
12
14
import {
@@ -221,9 +223,23 @@ const SelectBase = <Option,>(
221
223
222
224
const descriptions = options . map ( ( option ) => getDescription ?.( option ) ) ;
223
225
226
+ // Allow reset select fix https://github.com/radix-ui/primitives/issues/2706
227
+ const [ selectResetKeyFix , setSelectResetKeyFix ] = useState ( 0 ) ;
228
+ const prevValue = useRef ( value ) ;
229
+
230
+ useEffect ( ( ) => {
231
+ if ( prevValue . current !== undefined && value === undefined ) {
232
+ setSelectResetKeyFix ( ( prev ) => prev + 1 ) ;
233
+ }
234
+
235
+ prevValue . current = value ;
236
+ } , [ value ] ) ;
237
+
224
238
return (
225
239
< Primitive . Root
240
+ key = { selectResetKeyFix }
226
241
name = { name }
242
+ // null because of https://github.com/radix-ui/primitives/issues/2706
227
243
value = { value === undefined ? undefined : getValue ( value ) }
228
244
defaultValue = {
229
245
defaultValue === undefined ? undefined : getValue ( defaultValue )
You can’t perform that action at this time.
0 commit comments