|
|
@@ -34,7 +34,7 @@ const getProps = computed((): Record<string, CSSProperties> => {
|
|
|
const styles = props.styles
|
|
|
let mainStyle = styles.find((item) => item.state === props.state && item.part.name === 'main')
|
|
|
let itemsStyle = styles.find((item) => item.state === props.state && item.part.name === 'items')
|
|
|
-
|
|
|
+ console.log(mainStyle, itemsStyle)
|
|
|
// 从默认样式获取样式
|
|
|
if (!mainStyle && props.state) {
|
|
|
mainStyle = defaultStyle.part
|
|
|
@@ -57,41 +57,51 @@ const getProps = computed((): Record<string, CSSProperties> => {
|
|
|
height: `${props.height}px`,
|
|
|
backgroundColor: mainStyle?.background.color,
|
|
|
borderRadius: `${mainStyle?.border.radius}px`,
|
|
|
+ borderStyle: 'solid',
|
|
|
borderColor: 'transparent',
|
|
|
borderWidth: `${mainStyle?.border.width}px`,
|
|
|
- borderTopColor: ['all', 'top'].includes(mainStyle?.border?.side)
|
|
|
- ? mainStyle?.border?.color
|
|
|
- : 'transparent',
|
|
|
- borderRightColor: ['all', 'right'].includes(mainStyle?.border?.side)
|
|
|
- ? mainStyle?.border?.color
|
|
|
- : 'transparent',
|
|
|
- borderBottomColor: ['all', 'bottom'].includes(mainStyle?.border?.side)
|
|
|
- ? mainStyle?.border?.color
|
|
|
- : 'transparent',
|
|
|
- borderLeftColor: ['all', 'left'].includes(mainStyle?.border?.side)
|
|
|
- ? mainStyle?.border?.color
|
|
|
- : 'transparent',
|
|
|
+ borderTopColor:
|
|
|
+ mainStyle?.border?.side?.includes('top') || mainStyle?.border?.side?.includes('all')
|
|
|
+ ? mainStyle?.border?.color
|
|
|
+ : 'transparent',
|
|
|
+ borderRightColor:
|
|
|
+ mainStyle?.border?.side?.includes('right') || mainStyle?.border?.side?.includes('all')
|
|
|
+ ? mainStyle?.border?.color
|
|
|
+ : 'transparent',
|
|
|
+ borderBottomColor:
|
|
|
+ mainStyle?.border?.side?.includes('bottom') || mainStyle?.border?.side?.includes('all')
|
|
|
+ ? mainStyle?.border?.color
|
|
|
+ : 'transparent',
|
|
|
+ borderLeftColor:
|
|
|
+ mainStyle?.border?.side?.includes('left') || mainStyle?.border?.side?.includes('all')
|
|
|
+ ? mainStyle?.border?.color
|
|
|
+ : 'transparent',
|
|
|
gap: `${mainStyle?.gap?.row}px`,
|
|
|
// 内边距
|
|
|
padding: `${mainStyle?.padding.top}px ${mainStyle?.padding.right}px ${mainStyle?.padding.bottom}px ${mainStyle?.padding.left}px`
|
|
|
},
|
|
|
itemStyle: {
|
|
|
backgroundColor: itemsStyle?.background.color,
|
|
|
+ borderStyle: 'solid',
|
|
|
borderRadius: `${itemsStyle?.border.radius}px`,
|
|
|
borderColor: 'transparent',
|
|
|
borderWidth: `${itemsStyle?.border.width}px`,
|
|
|
- borderTopColor: ['all', 'top'].includes(itemsStyle?.border?.side)
|
|
|
- ? itemsStyle?.border?.color
|
|
|
- : 'transparent',
|
|
|
- borderRightColor: ['all', 'right'].includes(itemsStyle?.border?.side)
|
|
|
- ? itemsStyle?.border?.color
|
|
|
- : 'transparent',
|
|
|
- borderBottomColor: ['all', 'bottom'].includes(itemsStyle?.border?.side)
|
|
|
- ? itemsStyle?.border?.color
|
|
|
- : 'transparent',
|
|
|
- borderLeftColor: ['all', 'left'].includes(itemsStyle?.border?.side)
|
|
|
- ? itemsStyle?.border?.color
|
|
|
- : 'transparent',
|
|
|
+ borderTopColor:
|
|
|
+ itemsStyle?.border?.side.includes('top') || itemsStyle?.border?.side.includes('all')
|
|
|
+ ? itemsStyle?.border?.color
|
|
|
+ : 'transparent',
|
|
|
+ borderRightColor:
|
|
|
+ itemsStyle?.border?.side.includes('right') || itemsStyle?.border?.side.includes('all')
|
|
|
+ ? itemsStyle?.border?.color
|
|
|
+ : 'transparent',
|
|
|
+ borderBottomColor:
|
|
|
+ itemsStyle?.border?.side.includes('bottom') || itemsStyle?.border?.side.includes('all')
|
|
|
+ ? itemsStyle?.border?.color
|
|
|
+ : 'transparent',
|
|
|
+ borderLeftColor:
|
|
|
+ itemsStyle?.border?.side.includes('left') || itemsStyle?.border?.side.includes('all')
|
|
|
+ ? itemsStyle?.border?.color
|
|
|
+ : 'transparent',
|
|
|
color: itemsStyle?.text?.color,
|
|
|
fontSize: `${itemsStyle?.text.size}px`,
|
|
|
fontWeight: itemsStyle?.text?.weight === 'bold' ? 'bold' : 'normal',
|
|
|
@@ -99,7 +109,7 @@ const getProps = computed((): Record<string, CSSProperties> => {
|
|
|
textDecoration: itemsStyle?.text?.strike ? 'line-through' : itemsStyle?.text?.underline,
|
|
|
/* x 偏移量 | y 偏移量 | 阴影模糊半径 | 阴影扩散半径 | 阴影颜色 */
|
|
|
boxShadow: itemsStyle?.box
|
|
|
- ? `${itemsStyle.shadow?.offsetX}px ${itemsStyle.shadow?.offsetY}px ${itemsStyle.shadow?.width}px ${itemsStyle.shadow?.spread}px ${itemsStyle.shadow?.color}`
|
|
|
+ ? `${itemsStyle.shadow?.x}px ${itemsStyle.shadow?.y}px ${itemsStyle.shadow?.width}px ${itemsStyle.shadow?.spread}px ${itemsStyle.shadow?.color}`
|
|
|
: 'none'
|
|
|
},
|
|
|
columnStyle: {
|