@@ -17,19 +17,18 @@ import { AutoHeightControl } from "comps/controls/autoHeightControl";
1717
1818import { useContext } from "react" ;
1919import { EditorContext } from "comps/editorState" ;
20+ import { useMergeCompStyles } from "@lowcoder-ee/index.sdk" ;
2021
2122type IProps = DividerProps & {
2223 $style : DividerStyleType ;
23- dashed : boolean ;
2424 $animationStyle :AnimationStyleType ;
25+ type ?: 'vertical' | 'horizontal' ;
2526} ;
2627
27- // TODO: enable type "vertical" https://ant.design/components/divider
28-
2928const StyledDivider = styled ( Divider ) < IProps > `
29+
3030 margin-top: 3.5px;
31- rotate: ${ ( props ) => props . $style . rotation } ;
32-
31+ rotate: ${ ( props ) => props . type === 'vertical' ? '0deg' : props . $style . rotation } ;
3332 .ant-divider-inner-text {
3433 height: 32px;
3534 display: flex;
@@ -56,7 +55,6 @@ const StyledDivider = styled(Divider)<IProps>`
5655 .ant-divider-inner-text::before,
5756 .ant-divider-inner-text::after {
5857 border-block-start: ${ ( props ) => props . $style . borderWidth && props . $style . borderWidth !== "0px" ? props . $style . borderWidth : "1px" }
59- ${ ( props ) => props . dashed ? "dashed" : "solid" }
6058 ${ ( props ) => props . $style . border } !important;
6159 border-block-start-color: inherit;
6260 border-block-end: 0;
@@ -77,15 +75,22 @@ const StyledDivider = styled(Divider)<IProps>`
7775 ${ ( props ) => props . $style . borderStyle }
7876 ${ ( props ) => props . $style . border } ;
7977 }
78+ &.ant-divider-vertical {
79+ height: ${ ( props ) => props . type === 'vertical' && '200px' } ;
80+ border-left: ${ ( props ) => props . $style . borderWidth && props . $style . borderWidth !== "0px" ? props . $style . borderWidth : "1px" }
81+ ${ ( props ) => props . $style . borderStyle }
82+ ${ ( props ) => props . $style . border } ;
83+ border-top: none;
84+ }
8085` ;
8186
8287const childrenMap = {
8388 title : StringControl ,
84- dashed : BoolControl ,
8589 align : alignControl ( ) ,
86- autoHeight : withDefault ( AutoHeightControl , "fixed" ) ,
87- style : styleControl ( DividerStyle ) ,
88- animationStyle : styleControl ( AnimationStyle ) ,
90+ type : BoolControl ,
91+ autoHeight : withDefault ( AutoHeightControl , "auto" ) ,
92+ style : styleControl ( DividerStyle , 'style' ) ,
93+ animationStyle : styleControl ( AnimationStyle , 'animationStyle' ) ,
8994} ;
9095
9196function fixOldStyleData ( oldData : any ) {
@@ -105,25 +110,29 @@ function fixOldStyleData(oldData: any) {
105110
106111// Compatible with historical style data 2022-8-26
107112const DividerTempComp = migrateOldData (
108- new UICompBuilder ( childrenMap , ( props ) => {
113+ new UICompBuilder ( childrenMap , ( props , dispatch ) => {
114+ useMergeCompStyles ( props as Record < string , any > , dispatch ) ;
115+ const dividerType = props . type ? 'vertical' : 'horizontal' ;
116+
109117 return (
110118 < StyledDivider
111119 orientation = { props . align }
112- dashed = { props . dashed }
120+ type = { dividerType }
113121 $style = { props . style }
114122 $animationStyle = { props . animationStyle }
115123 >
116- { props . title }
124+ { dividerType === 'horizontal' && props . title }
117125 </ StyledDivider >
118126 ) ;
119127 } )
120128 . setPropertyViewFn ( ( children ) => {
121129 return (
122130 < >
123- < Section name = { sectionNames . basic } >
124- { children . title . propertyView ( { label : trans ( "divider.title" ) } ) }
125- </ Section >
126-
131+ { ! children ?. type ?. getView ( ) &&
132+ < Section name = { sectionNames . basic } >
133+ { children . title . propertyView ( { label : trans ( "divider.title" ) } ) }
134+ </ Section > }
135+
127136 { [ "logic" , "both" ] . includes ( useContext ( EditorContext ) . editorModeStatus ) && (
128137 < Section name = { sectionNames . interaction } >
129138 { hiddenPropertyView ( children ) }
@@ -141,7 +150,7 @@ const DividerTempComp = migrateOldData(
141150 { children . autoHeight . getPropertyView ( ) }
142151 </ Section >
143152 < Section name = { sectionNames . style } >
144- { children . dashed . propertyView ( { label : trans ( "divider.dashed" ) } ) }
153+ { children . type . propertyView ( { label : trans ( "divider.type" ) } ) }
145154 { children . style . getPropertyView ( ) }
146155 </ Section >
147156 < Section name = { sectionNames . animationStyle } hasTooltip = { true } >
@@ -153,7 +162,6 @@ const DividerTempComp = migrateOldData(
153162 ) ;
154163 } )
155164 . setExposeStateConfigs ( [
156- new NameConfig ( "dashed" , trans ( "divider.dashedDesc" ) ) ,
157165 new NameConfig ( "title" , trans ( "divider.titleDesc" ) ) ,
158166 new NameConfig ( "align" , trans ( "divider.alignDesc" ) ) ,
159167 NameConfigHidden ,
@@ -166,4 +174,4 @@ export const DividerComp = class extends DividerTempComp {
166174 override autoHeight ( ) : boolean {
167175 return this . children . autoHeight . getView ( ) ;
168176 }
169- } ;
177+ } ;
0 commit comments