@tplc/business
Version:
76 lines (70 loc) • 1.94 kB
text/typescript
import { PageListProps } from './components/FilterList/type'
import { LcbProductProps } from '../lcb-product/types'
import { LcbBlockProps } from '../lcb-block/types'
import { LcbEmptyProps } from '../lcb-empty/types'
export interface LcbListProps extends LcbBlockProps {
pageFilterType?: string
pageListProps?: PageListProps
borderRadius?: number
styleMode?: 'default' | 'plain'
imageWidth?: number
border?: boolean
imageHeight?: number
titleLineClamp?: number
listType?: LcbProductProps['listType']
isSticky?: boolean
mode?: 'map' | 'list'
layoutType?: 'vertical' | 'horizontal'
imageRadius?: number
itemWidth?: number // 列表项宽度
dynamicScope?: string
gap?: number
borderWidth?: number
borderColor?: string
borderMode?: 'full' | 'content'
itemVerticalPadding?: number
itemHorizontalPadding?: number
itemContentPt?: number
itemContentPr?: number
itemContentPb?: number
itemContentPl?: number
wrapperBgColor?: string
wrapperTextColor?: string
hiddenBoxShadow?: boolean
tagSelectBgColor?: string
tagSelectTextColor?: string
tagSelectActiveBgColor?: string
tagSelectActiveTextColor?: string
/** 地图标签 */
mapTags?: {
label: string
value: string
}[]
mapTagMode?: 'single' | 'multiple'
mapConfigParams?: string
tagPosition?: 'left' | 'right'
emptyProps?: LcbEmptyProps // 空状态配置
}
export interface Option {
label: string
value: string
custom?: boolean
max?: number
min?: number
children?: Option[]
unit?: string
valueName?: string
}
export interface FilterItemProps {
mode?: 'multiple' | 'single'
apiPath?: string
apiParams?: Record<string, any>
options?: Option[]
valueName: string
sortType?: boolean
tagSelectBgColor?: string
tagSelectTextColor?: string
tagSelectActiveBgColor?: string
tagSelectActiveTextColor?: string
}
export type ListFormChooserValues = Record<string, Option[] | undefined>