Learn more about Mintlify
Enter your email to receive updates about new features and product releases.
Props interfaces for all Popui components
interface AlertDialogProps {
open?: boolean
destructive?: boolean
title?: string
descriptionText?: string
cancelText?: string
actionText?: string
cancelActionEl?: HTMLButtonElement | null
okActionEl?: HTMLButtonElement | null
oncancel?: () => void
onconfirm?: () => void
description?: Snippet
children?: Snippet
}
interface BaseButtonProps {
icon?: IconSource
iconTheme?: IconTheme
iconPosition?: IconPosition
type?: 'button' | 'submit' | 'reset' | null
variant?: ButtonVariant
disabled?: boolean
size?: 'sm' | 'md' | 'lg'
dangerIcon?: boolean
shortcut?: boolean
fullwidth?: boolean
notification?: boolean
stackedLeft?: boolean
stackedRight?: boolean
children?: Snippet
onclick?: (event: MouseEvent) => void
[key: string]: any
}
interface ButtonFileProps {
name?: string
disabled?: boolean
date?: string
fileType?: ButtonFileType
onPreview?: () => void
onDownload?: () => void
class?: string
[key: string]: any
}
interface ButtonUuidCopyProps {
uuid?: string
prefixLength?: number
suffixLength?: number
full?: boolean
disabled?: boolean
oncopied?: (label: string) => void
}
interface ButtonSearchProps {
value?: string
expanded?: boolean
placeholder?: string
size?: 'sm' | 'md'
loading?: boolean
autofocus?: boolean
oninput?: (value: string) => void
onExpand?: () => void
onCollapse?: () => void
}
interface BaseCardProps {
imageUrl?: string
imageAlt?: string
title?: string
description?: string
type?: 'default' | 'soon' | 'beta'
footer?: Snippet
onclick?: (event: MouseEvent) => void
[key: string]: any
}
interface CardCheckboxProps {
id?: any
name?: string
title?: string
description?: string
accentText?: string
checked?: boolean
disabled?: boolean
icon?: IconSource | undefined
hideRadio?: boolean
footer?: Snippet
onchange?: (checked: boolean) => void
}
interface CardRelationProps {
title?: string
icon?: IconSource | undefined
items?: DataListItem[]
onclick?: (event: MouseEvent) => void
}
interface BaseCounterProps {
value: number
theme?: 'light' | 'navigation' | 'accent'
}
interface CounterWidgetProps {
label: string
current: number
total: number
resetDate?: string
icon?: IconSource
allowOverage?: boolean
}
interface ProgressBarProps {
percentage?: number
current?: number
total?: number
allowOverage?: boolean
warningPercentage?: number
}
interface ProgressBarCircleProps {
progress: number
size: number
variant?: 'default' | 'dark'
}
interface TagProgressProps {
progress: number
variant?: 'default' | 'dark'
}
interface BaseDropdownProps {
isOpen?: boolean
fullWidth?: boolean
placement?: Placement
matchParentWidth?: boolean
usePortal?: boolean
strategy?: 'absolute' | 'fixed'
trigger?: Snippet
children?: Snippet
[key: string]: any
}
interface DropdownSelectProps {
value?: AnyProp
icon?: IconSource | string | undefined
iconTheme?: IconTheme
options?: DrawerOption[]
placeholder?: string
multiple?: boolean
fullWidth?: boolean
widthClass?: string
flagPosition?: 'before' | 'after'
onSelect?: (value: AnyProp) => void
onOpenChange?: (isOpen: boolean) => void
stackLeft?: boolean
stackRight?: boolean
multipleLabel?: string
strategy?: 'absolute' | 'fixed'
}
interface DrawerContextProps {
items?: DrawerOption[]
multiple?: boolean
draggable?: boolean
widthClass?: string
collapsibleGroups?: boolean
flagPosition?: 'before' | 'after'
onclick?: (value: AnyProp) => void
onselect?: (selected: DrawerOption[]) => void
onreorder?: (items: DrawerOption[]) => void
ondropitem?: (groups: Record<string, DrawerOption[]>) => void
children?: Snippet
groups?: DrawerGroup[]
}
interface DrawerContextItemProps {
multiple?: boolean
item: DrawerOption
scrollIfSelected?: boolean
onclick?: (value: AnyProp) => void
onchange?: (item: DrawerOption) => void
onfocus?: (item: DrawerOption) => void
}
interface InputTextProps {
id?: any
label?: string
placeholder?: string
errorText?: string
disabled?: boolean
value?: string | number
focusOnLoad?: boolean
stackLeft?: boolean
stackRight?: boolean
widthClass?: string
size?: 'xs' | 'sm' | 'md'
oninput?: (value: string) => void
onfocus?: (event: FocusEvent) => void
onblur?: (event: FocusEvent) => void
onkeydown?: (event: KeyboardEvent) => void
[key: string]: any
}
interface InputTextareaProps {
id?: any
label?: string
placeholder?: string
errorText?: string
disabled?: boolean
value?: string | number
rows?: number
oninput?: (value: string) => void
[key: string]: any
}
interface InputSearchProps {
value?: string
shortcut?: string
placeholder?: string
icon?: IconSource
focusOnLoad?: boolean
size?: 'xs' | 'sm' | 'md'
loading?: boolean
oninput?: (value: string) => void
onclick?: (event: MouseEvent) => void
onfocus?: (event: FocusEvent) => void
onblur?: (event: FocusEvent) => void
[key: string]: any
}
interface InputSelectProps {
id?: any
name?: string
label?: string
disabled?: boolean
value?: string
icon?: IconSource | string | undefined
iconTheme?: IconTheme
options?: SelectOption[]
placeholder?: string
disablePlaceholder?: boolean
errorText?: string
size?: 'xs' | 'sm' | 'md'
onchange?: (value: string) => void
[key: string]: any
}
interface InputCheckboxProps {
id?: string
checked?: boolean
indeterminate?: boolean
label?: string
onchange?: (checked: boolean) => void
onclick?: (event: MouseEvent) => void
[key: string]: any
}
interface InputRadioProps {
checked?: boolean
disabled?: boolean
id?: any
name?: string
label?: string
onchange?: (checked: boolean) => void
[key: string]: any
}
interface InputToggleProps {
id?: string
checked?: boolean
label?: string
onchange?: (checked: boolean) => void
[key: string]: any
}
interface InputLabelProps {
id?: string
label?: string
[key: string]: any
}
interface InputErrorProps {
errorText?: string
}
interface BaseTableActionsProps {
actions: TableAction[]
onclick?: (value: AnyProp) => void
}
interface BaseTableHeaderOrderByProps {
isActive?: boolean
sortDirection: TableSortBy
onOrderBy?: (direction: TableSortBy) => void
onHide?: () => void
onFilter?: () => void
onFreeze?: () => void
isFrozen?: boolean
showSortOptions?: boolean
showFilterOption?: boolean
showHideOption?: boolean
}
interface FeedEventsProps {
events?: FeedEvent[]
}
interface FeedIconEventProps {
icon?: IconSource | undefined
iconTheme?: IconTheme
}
interface FeddIconStatusProps {
status: FeedItemStatus
}
interface FeedItemProps {
status?: FeedItemStatus | undefined
icon?: IconSource | undefined
title?: string
date?: Date | undefined
hasNext?: boolean
slug?: string
viewable?: boolean
viewableText?: string
user?: FeedItemUser | undefined
type?: string
extraText?: string
onView?: (slug: string) => void
}
interface FeedItemDetailProps {
status?: FeedItemStatus | undefined
title?: string
uuid?: string
events?: FeedEvent[]
idLabel?: string
onCopied?: (uuid: string) => void
cancelable?: boolean
onCancel?: () => void
}
interface FeedViewerProps {
items?: FeedItemProps[]
onView?: (slug: string) => void
}
interface BreadcrumbProps {
breadcrumb: Breadcrumb
isLast: boolean
oncopied?: (label: string) => void
}
interface BreadcrumbsProps {
breadcrumbs?: Breadcrumb[]
oncopied?: (label: string) => void
}
interface MenuItemProps {
label?: string
url?: string
isFolderItem?: boolean
collapsable?: boolean
open?: boolean
active?: boolean
collapsedSidebar?: boolean
iconTheme?: IconTheme
icon?: IconSource | string | undefined
beta?: boolean
children?: MenuItemProps[] | undefined
onclick?: (url: string) => void
}
interface MenuItemCollapsibleProps {
collapsed?: boolean
title?: string
subtitle?: string
active?: boolean
bold?: boolean
icon?: IconSource | undefined
children?: Snippet
}
interface BaseFlagProps {
country?: string
}
interface ProfileAvatarProps {
name?: string
variant?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'
dark?: boolean
picture?: string
country?: string
icon?: IconSource
}
interface StatusLabelProps {
status: FeedItemStatus
label?: string
}
interface TagStatusProps {
label?: string
status?: StatusType
dot?: boolean
}
interface TagSearchProps {
label?: string
icon?: IconSource | string | undefined
iconTheme?: IconTheme
onclear?: () => void
}
interface EmptyStateProps {
icon?: Snippet
iconSource?: IconSource
title?: string
description?: string
check?: boolean
children?: Snippet
}
interface NotificationProps {
title?: string
description?: string
type?: Status
children?: Snippet
[key: string]: any
}
interface DataListItemProps {
label?: string
value?: string
monospaced?: boolean
monospacedNums?: boolean
fullWidth?: boolean
children?: Snippet
}
interface UuidCopyProps {
uuid?: string
small?: boolean
dark?: boolean
rightAlign?: boolean
prefixLength?: number
suffixLength?: number
full?: boolean
compact?: boolean
link?: boolean
onCopied?: (uuid: string) => void
onLinkClick?: (uuid: string) => void
}
interface DatePickerProps {
label?: string
placement?: Placement
from?: string
to?: string
onSelect?: (date: {from: string, to: string}) => void
stackLeft?: boolean
stackRight?: boolean
icon?: IconSource | string
iconTheme?: IconTheme
isOpen?: boolean
}
interface CompanySelectorProps {
companies?: Company[]
selectedCompany?: Company | null
collapsed?: boolean
onAdd?: () => void
onSelect?: (company: Company | null) => void
}
interface GlobalSearchProps {
collapsed?: boolean
onOpen?: () => void
}
interface TitleMainProps {
title?: string
children?: Snippet
}
interface TitleSectionProps {
title?: string
children?: Snippet
}
interface StepIconProps {
name?: string
showMask?: boolean
tooltipContent?: Snippet
children: Snippet
}
interface StepIconListProps {
icons?: StepIcon[]
[key: string]: any
}
interface ShortcutWrapperProps {
size?: 'sm' | 'md'
theme?: 'light' | 'navigation'
children?: Snippet
}