utopia-ui/types/LayerProps.d.ts
2025-01-31 23:29:32 +01:00

38 lines
1.1 KiB
TypeScript

import type { Item } from './Item'
import type { ItemFormPopupProps } from './ItemFormPopupProps'
import type { ItemsApi } from './ItemsApi'
import type { ItemType } from './ItemType'
export interface LayerProps {
id?: string
data?: Item[]
children?: React.ReactNode
name: string
menuIcon: string
menuColor: string
menuText: string
markerIcon: string
markerShape: string
markerDefaultColor: string
markerDefaultColor2?: string
// eslint-disable-next-line @typescript-eslint/no-explicit-any
api?: ItemsApi<any>
itemType: ItemType // How does this relate to Item type defined in Item.d.ts?
// TODO Conditionally type items with .avatar etc.?
hasAvatar?: boolean
hasColor?: boolean
hasTags?: boolean
hasOffers?: boolean
hasNeeds?: boolean
onlyOnePerOwner?: boolean
customEditLink?: string
customEditParameter?: string
public_edit_items?: boolean
listed?: boolean
item_presets?: Record<string, unknown>
setItemFormPopup?: React.Dispatch<React.SetStateAction<ItemFormPopupProps | null>>
itemFormPopup?: ItemFormPopupProps | null
// eslint-disable-next-line @typescript-eslint/no-explicit-any
clusterRef?: any
}