@@ -12,12 +12,24 @@ import {CustomColorPicker} from './controls/ColorPicker/CustomColorPicker';
12
12
import { PanelHeader } from './PanelHeader' ;
13
13
import { PanelRow , TwoColumnPanelRow } from './PanelRow' ;
14
14
import { SuspenseEditorItem } from './SuspenseEditorItem' ;
15
+ import { Select , createSelectOptions } from '@codeui/kit' ;
15
16
16
17
export const FrameStyleForm : ParentComponent = ( ) => {
17
18
const [ t ] = useI18n < AppLocaleEntries > ( ) ;
18
19
const { editorPadding, editorRadius} = appEnvironment ;
19
20
const frame = getFrameState ( ) ;
20
21
22
+ const paddingOptions = createSelectOptions (
23
+ editorPadding . map ( padding => ( {
24
+ label : padding . label ,
25
+ value : padding . value ,
26
+ } ) ) ,
27
+ {
28
+ key : 'label' ,
29
+ valueKey : 'value' ,
30
+ } ,
31
+ ) ;
32
+
21
33
return (
22
34
< >
23
35
< PanelHeader label = { t ( 'frame.frame' ) } />
@@ -27,16 +39,24 @@ export const FrameStyleForm: ParentComponent = () => {
27
39
< SuspenseEditorItem
28
40
fallback = { < SkeletonLine width = { '100%' } height = { '26px' } /> }
29
41
>
30
- < SegmentedField
31
- adapt
42
+ < Select
43
+ { ...paddingOptions . props ( ) }
44
+ { ...paddingOptions . controlled (
45
+ ( ) => String ( frame . store . padding ) ,
46
+ padding => {
47
+ if ( typeof padding !== 'undefined' ) {
48
+ frame . setPadding ( Number ( padding ) ) ;
49
+ // when padding is 0, we would like to set radius to bigger number to hide any background issues
50
+ if ( Number ( padding ) === 0 ) {
51
+ frame . setRadius ( 16 ) ;
52
+ }
53
+ }
54
+ } ,
55
+ ) }
56
+ options = { paddingOptions . options ( ) }
57
+ aria-label = { 'Padding' }
32
58
id = { 'paddingField' }
33
59
size = { 'xs' }
34
- value = { frame . store . padding }
35
- onChange = { frame . setPadding }
36
- items = { editorPadding . map ( padding => ( {
37
- label : padding . toString ( ) ,
38
- value : padding ,
39
- } ) ) }
40
60
/>
41
61
</ SuspenseEditorItem >
42
62
</ TwoColumnPanelRow >
0 commit comments