Spaces:
Configuration error
Configuration error
File size: 1,202 Bytes
74aacd5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
import React, { ReactNode } from 'react'
import Tooltip from '../shared/Tooltip'
interface SettingBlockProps {
title: string
desc?: string
titleSuffix?: ReactNode
input: ReactNode
optionDesc?: ReactNode
className?: string
layout?: string
}
function SettingBlock(props: SettingBlockProps) {
const { title, titleSuffix, desc, input, optionDesc, className, layout } =
props
const contentClass =
layout === 'h' ? 'setting-block-content' : 'setting-block-content-v'
return (
<div className={`setting-block ${className}`}>
<div className={contentClass}>
<div className="setting-block-content-title">
<div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>
{desc ? (
<Tooltip content={<div style={{ maxWidth: 400 }}>{desc}</div>}>
<span>{title}</span>
</Tooltip>
) : (
<span>{title}</span>
)}
{titleSuffix}
</div>
</div>
{input}
</div>
{optionDesc && <div className="option-desc">{optionDesc}</div>}
</div>
)
}
SettingBlock.defaultProps = {
layout: 'h',
}
export default SettingBlock
|