UNPKG

bootstrap-vue-next

Version:

BootstrapVueNext is an early and lovely component library for Vue 3 & Nuxt 3 based on Bootstrap 5 and Typescript.

1,218 lines (1,217 loc) 35.7 kB
import { Boundary, Placement as FloatingPlacement, Middleware, Padding, RootBoundary, Strategy } from '@floating-ui/vue'; import { ComponentPublicInstance, TransitionProps } from 'vue'; import { RouteLocationRaw } from 'vue-router'; import { LinkTarget } from './LinkTarget'; import { BgColorVariant, BorderColorVariant, ButtonVariant, ColorExtendables, ColorVariant, TextColorVariant } from './ColorTypes'; import { AttrsValue, ClassValue } from './AnyValuedAttributes'; import { CheckboxOptionRaw, CheckboxValue } from './CheckboxTypes'; import { Size } from './Size'; import { AriaInvalid } from './AriaInvalid'; import { Numberish, TeleporterProps, ValidationState } from './CommonTypes'; import { CommonInputProps } from './FormCommonInputProps'; import { RadioOptionRaw, RadioValue } from './RadioTypes'; import { SelectValue } from './SelectTypes'; import { Breakpoint, ColBreakpointProps, ColsNumbers, ColsOffsetNumbers, ColsOrderNumbers, ContentColsBreakpointProps, GutterNumbers, LabelAlignBreakpointProps, LabelColsBreakpointProps, OffsetBreakpointProps, OrderBreakpointProps, RowColsBreakpointProps } from './BreakpointProps'; import { AlignmentContent, AlignmentJustifyContent, AlignmentTextHorizontal, AlignmentVertical, CombinedPlacement, Placement, VerticalAlign } from './Alignment'; import { RadiusElementExtendables } from './RadiusElement'; import { SpinnerType } from './SpinnerType'; import { PlaceholderAnimation, PlaceholderSize } from './PlaceholderTypes'; import { ButtonType } from './ButtonType'; import { LinkOpacity, UnderlineOffset, UnderlineOpacity } from './LinkDecorators'; import { LiteralUnion } from './LiteralUnion'; import { BreadcrumbItemRaw } from './BreadcrumbTypes'; import { TransitionMode } from './TransitionMode'; import { BTableProvider, BTableSortBy, NoProviderTypes, TableField, TableFieldRaw, TableRowType, TableStrictClassValue, TableThScope } from './TableTypes'; import { PopoverPlacement } from './PopoverPlacement'; import { InputType } from './InputType'; export interface BLinkProps { active?: boolean; activeClass?: string; disabled?: boolean; exactActiveClass?: string; href?: string; icon?: boolean; noRel?: boolean; opacity?: LinkOpacity; opacityHover?: LinkOpacity; prefetch?: boolean; prefetchOn?: Partial<{ visibility: boolean; interaction: boolean; }>; noPrefetch?: boolean; prefetchedClass?: ClassValue; rel?: string; replace?: boolean; routerComponentName?: string; routerTag?: string; stretched?: boolean; target?: LinkTarget; to?: RouteLocationRaw; underlineOffset?: UnderlineOffset; underlineOffsetHover?: UnderlineOffset; underlineOpacity?: UnderlineOpacity; underlineOpacityHover?: UnderlineOpacity; underlineVariant?: ColorVariant | null; variant?: ColorVariant | null; } export type LinkUnderlineProps = Pick<BLinkProps, 'underlineOffset' | 'underlineOffsetHover' | 'underlineOpacity' | 'underlineOpacityHover' | 'underlineVariant'>; export type LinkOpacityProps = Pick<BLinkProps, 'opacity' | 'opacityHover'>; export type LinkIconProps = Pick<BLinkProps, 'icon'>; export type LinkVariantProps = Pick<BLinkProps, 'variant'>; export interface BAccordionProps { flush?: boolean; free?: boolean; id?: string; initialAnimation?: boolean; lazy?: boolean; modelValue?: string; unmountLazy?: boolean; } export interface BAccordionItemProps { bodyAttrs?: Readonly<AttrsValue>; bodyClass?: ClassValue; buttonAttrs?: Readonly<AttrsValue>; buttonClass?: ClassValue; collapseClass?: ClassValue; headerAttrs?: Readonly<AttrsValue>; headerClass?: ClassValue; headerTag?: string; horizontal?: boolean; id?: string; isNav?: boolean; modelValue?: boolean; lazy?: boolean; unmountLazy?: boolean; tag?: string; title?: string; show?: boolean; visible?: boolean; wrapperAttrs?: Readonly<AttrsValue>; } export interface BDropdownDividerProps { dividerClass?: ClassValue; tag?: string; variant?: ColorVariant | null; wrapperAttrs?: Readonly<AttrsValue>; } export interface BDropdownFormProps { formClass?: ClassValue; novalidate?: boolean; validated?: boolean; wrapperAttrs?: Readonly<AttrsValue>; } export interface BDropdownGroupProps { ariaDescribedby?: string; header?: string; headerClass?: ClassValue; headerTag?: string; headerVariant?: ColorVariant | null; id?: string; } export interface BDropdownHeaderProps { headerClass?: ClassValue; tag?: string; text?: string; variant?: ColorVariant | null; wrapperAttrs?: Readonly<AttrsValue>; } export interface BDropdownItemProps extends Omit<BLinkProps, 'routerTag'> { linkClass?: ClassValue; wrapperAttrs?: Readonly<AttrsValue>; } export interface BDropdownItemButtonProps { active?: boolean; activeClass?: ClassValue; buttonClass?: ClassValue; wrapperAttrs?: Readonly<AttrsValue>; disabled?: boolean; variant?: ColorVariant | null; } export interface BDropdownTextProps { textClass?: ClassValue; tag?: string; text?: string; variant?: ColorVariant | null; wrapperAttrs?: Readonly<AttrsValue>; } export interface BFormFloatingLabelProps { label?: string; labelFor?: string; } export interface BFormRowProps { tag?: string; } export interface BFormTextProps { id?: string; inline?: boolean; tag?: string; text?: string; textVariant?: TextColorVariant | null; } export interface BFormCheckboxProps { ariaLabel?: string; ariaLabelledby?: string; autofocus?: boolean; button?: boolean; buttonGroup?: boolean; buttonVariant?: ButtonVariant | null; disabled?: boolean; form?: string; id?: string; indeterminate?: boolean; inline?: boolean; modelValue?: CheckboxValue | readonly CheckboxValue[]; name?: string; plain?: boolean; required?: boolean; reverse?: boolean; size?: Size; state?: ValidationState; switch?: boolean; uncheckedValue?: CheckboxValue; wrapperAttrs?: Readonly<AttrsValue>; inputClass?: ClassValue; value?: string | boolean | CheckboxValue; } export interface BFormCheckboxGroupProps { ariaInvalid?: AriaInvalid; autofocus?: boolean; buttonVariant?: ButtonVariant | null; buttons?: boolean; disabled?: boolean; disabledField?: string; form?: string; id?: string; modelValue?: readonly CheckboxValue[]; name?: string; options?: readonly CheckboxOptionRaw[]; plain?: boolean; required?: boolean; reverse?: boolean; size?: Size; stacked?: boolean; state?: ValidationState; switches?: boolean; textField?: string; validated?: boolean; valueField?: string; } export interface BFormDatalistProps { disabledField?: string; id?: string; options?: readonly (unknown | Record<string, unknown>)[]; textField?: string; valueField?: string; } export interface BFormFileProps { ariaLabel?: string; ariaLabelledby?: string; accept?: string | readonly string[]; autofocus?: boolean; capture?: boolean | 'user' | 'environment'; directory?: boolean; disabled?: boolean; form?: string; id?: string; label?: string; labelClass?: ClassValue; modelValue?: readonly File[] | File | null; multiple?: boolean; name?: string; noButton?: boolean; noDrop?: boolean; noTraverse?: boolean; plain?: boolean; required?: boolean; size?: Size; state?: ValidationState; } export interface BFormInputProps extends CommonInputProps { max?: Numberish; min?: Numberish; step?: Numberish; type?: InputType; } export interface BFormRadioProps { ariaLabel?: string; ariaLabelledby?: string; autofocus?: boolean; button?: boolean; buttonGroup?: boolean; buttonVariant?: ButtonVariant | null; disabled?: boolean; form?: string; id?: string; inline?: boolean; modelValue?: RadioValue; name?: string; plain?: boolean; required?: boolean; reverse?: boolean; size?: Size; state?: ValidationState; value?: RadioValue; } export interface BFormRadioGroupProps { ariaInvalid?: AriaInvalid; autofocus?: boolean; buttonVariant?: ButtonVariant | null; buttons?: boolean; disabled?: boolean; disabledField?: string; form?: string; id?: string; modelValue?: RadioValue; name?: string; options?: readonly RadioOptionRaw[]; plain?: boolean; required?: boolean; reverse?: boolean; size?: Size; stacked?: boolean; state?: ValidationState; textField?: string; validated?: boolean; valueField?: string; } export interface BFormSelectProps { ariaInvalid?: AriaInvalid; autofocus?: boolean; disabled?: boolean; disabledField?: string; form?: string; id?: string; labelField?: string; modelValue?: SelectValue; multiple?: boolean; name?: string; options?: readonly (unknown | Record<string, unknown>)[]; optionsField?: string; plain?: boolean; required?: boolean; selectSize?: Numberish; size?: Size; state?: ValidationState; textField?: string; valueField?: string; } export interface BFormSelectOptionProps<T> { disabled?: boolean; value?: T; } export interface BFormSelectOptionGroupProps { disabledField?: string; label?: string; options?: readonly (unknown | Record<string, unknown>)[]; textField?: string; valueField?: string; } export interface BFormSpinbuttonProps { ariaControls?: string; ariaLabel?: string; disabled?: boolean; form?: string; formatterFn?: (value: number) => string; id?: string; inline?: boolean; labelDecrement?: string; labelIncrement?: string; locale?: string; max?: Numberish; min?: Numberish; modelValue?: number | null; name?: string; placeholder?: string; readonly?: boolean; repeatDelay?: Numberish; repeatInterval?: Numberish; repeatStepMultiplier?: Numberish; repeatThreshold?: Numberish; required?: boolean; size?: Size; state?: ValidationState; step?: Numberish; vertical?: boolean; wrap?: boolean; } export interface BFormTagProps { disabled?: boolean; id?: string; noRemove?: boolean; pill?: boolean; removeLabel?: string; tag?: string; title?: string; variant?: ColorVariant | null; } export interface BFormTagsProps { addButtonText?: string; addButtonVariant?: ButtonVariant | null; addOnChange?: boolean; autofocus?: boolean; disabled?: boolean; duplicateTagText?: string; form?: string; inputAttrs?: Readonly<AttrsValue>; inputClass?: ClassValue; inputId?: string; inputType?: InputType; invalidTagText?: string; limit?: Numberish; limitTagsText?: string; modelValue?: readonly string[]; name?: string; noAddOnEnter?: boolean; noOuterFocus?: boolean; noTagRemove?: boolean; placeholder?: string; removeOnDelete?: boolean; required?: boolean; separator?: string | readonly string[]; size?: Size; state?: ValidationState; tagClass?: ClassValue; tagPills?: boolean; tagRemoveLabel?: string; tagRemovedLabel?: string; tagValidator?: (t: string) => boolean; tagVariant?: ColorVariant | null; } export interface BFormTextareaProps extends CommonInputProps { noResize?: boolean; rows?: Numberish; wrap?: string; noAutoShrink?: boolean; maxRows?: Numberish; } export interface BInputGroupProps { append?: string; id?: string; prepend?: string; size?: Size; tag?: string; } export interface BInputGroupTextProps { tag?: string; text?: string; } export interface BListGroupProps { flush?: boolean; horizontal?: boolean | Breakpoint; numbered?: boolean; tag?: string; } export interface BListGroupItemProps extends Omit<BLinkProps, 'routerTag'> { action?: boolean; button?: boolean; tag?: string; } export type BModalOrchestratorProps = TeleporterProps; export type BPopoverOrchestratorProps = TeleporterProps; export interface BNavProps { align?: AlignmentJustifyContent; cardHeader?: boolean; fill?: boolean; justified?: boolean; pills?: boolean; small?: boolean; tabs?: boolean; tag?: string; underline?: boolean; vertical?: boolean; } export interface BNavFormProps extends BFormProps { role?: string; wrapperAttrs?: Readonly<AttrsValue>; formClass?: ClassValue; } export interface BNavItemProps extends Omit<BLinkProps, 'routerTag'> { linkAttrs?: Readonly<AttrsValue>; linkClass?: ClassValue; } export interface BNavTextProps { text?: string; } export interface BNavbarProps { autoClose?: boolean; container?: boolean | 'fluid' | Breakpoint; fixed?: Extract<Placement, 'top' | 'bottom'>; print?: boolean; sticky?: Extract<Placement, 'top' | 'bottom'>; tag?: string; toggleable?: boolean | Breakpoint; variant?: BgColorVariant | null; } export interface BNavbarBrandProps extends Omit<BLinkProps, 'routerTag'> { tag?: string; } export interface BNavbarNavProps { align?: AlignmentJustifyContent; fill?: boolean; justified?: boolean; small?: boolean; tag?: string; } export interface BNavbarToggleProps { disabled?: boolean; label?: string; target?: string | readonly string[]; } export interface BOffcanvasProps extends TeleporterProps, ShowHideProps { noBackdrop?: boolean; backdropFirst?: boolean; bodyAttrs?: Readonly<AttrsValue>; bodyClass?: ClassValue; bodyScrolling?: boolean; focus?: 'close' | boolean | string | Readonly<ComponentPublicInstance> | Readonly<HTMLElement> | null; footerClass?: string; headerClass?: string; headerCloseClass?: ClassValue; headerCloseLabel?: string; headerCloseVariant?: ButtonVariant | null; id?: string; modelValue?: boolean; noCloseOnBackdrop?: boolean; noCloseOnEsc?: boolean; noHeader?: boolean; noTrap?: boolean; noHeaderClose?: boolean; placement?: Placement; shadow?: Size | boolean; title?: string; responsive?: Breakpoint; width?: string; } export interface BOverlayProps extends RadiusElementExtendables { bgColor?: string; blur?: string | null; fixed?: boolean; noCenter?: boolean; noFade?: boolean; noSpinner?: boolean; noWrap?: boolean; opacity?: Numberish; overlayTag?: string; show?: boolean; spinnerSmall?: boolean; spinnerType?: SpinnerType; spinnerVariant?: ColorVariant | null; variant?: BgColorVariant | 'white' | 'transparent' | null; wrapTag?: string; zIndex?: Numberish; } export interface BPaginationProps { align?: AlignmentJustifyContent | 'fill'; ariaControls?: string; ariaLabel?: string; disabled?: boolean; ellipsisClass?: ClassValue; ellipsisText?: string; firstClass?: ClassValue; firstNumber?: boolean; firstText?: string; noEllipsis?: boolean; noGotoEndButtons?: boolean; labelFirstPage?: string; labelLastPage?: string; labelNextPage?: string; labelPage?: string; labelPrevPage?: string; lastClass?: ClassValue; lastNumber?: boolean; lastText?: string; limit?: Numberish; modelValue?: Numberish; nextClass?: ClassValue; nextText?: string; pageClass?: ClassValue; perPage?: Numberish; pills?: boolean; prevClass?: ClassValue; prevText?: string; size?: Size; totalRows?: Numberish; } export interface BPlaceholderProps { animation?: PlaceholderAnimation; cols?: Numberish; size?: PlaceholderSize; tag?: string; variant?: BgColorVariant | null; width?: Numberish; wrapperTag?: string; } export interface BPlaceholderButtonProps { animation?: PlaceholderAnimation; cols?: Numberish; tag?: string; variant?: ColorVariant | null; width?: Numberish; } export interface BPlaceholderCardProps { animation?: PlaceholderAnimation; footerAnimation?: PlaceholderAnimation; footerSize?: PlaceholderSize; footerVariant?: ColorVariant | null; footerWidth?: Numberish; headerAnimation?: PlaceholderAnimation; headerSize?: PlaceholderSize; headerVariant?: ColorVariant | null; headerWidth?: Numberish; imgBlankColor?: string; imgPlacement?: Extract<Placement, 'top' | 'bottom'>; imgHeight?: Numberish; imgSrc?: string; noButton?: boolean; noFooter?: boolean; noHeader?: boolean; noImg?: boolean; size?: PlaceholderSize; variant?: ColorVariant | null; } export interface BPlaceholderTableProps { animation?: PlaceholderAnimation; cellWidth?: Numberish; columns?: Numberish; footerAnimation?: PlaceholderAnimation; footerCellWidth?: Numberish; footerColumns?: Numberish; footerSize?: PlaceholderSize; footerVariant?: ColorVariant | null; headerAnimation?: PlaceholderAnimation; headerCellWidth?: Numberish; headerColumns?: Numberish; headerSize?: PlaceholderSize; headerVariant?: ColorVariant | null; noHeader?: boolean; rows?: Numberish; showFooter?: boolean; size?: PlaceholderSize; variant?: ColorVariant | null; } export interface BPlaceholderWrapperProps { loading?: boolean; } export interface BProgressProps extends Omit<BProgressBarProps, 'label'> { height?: string; } export interface BTabProps { active?: boolean; buttonId?: string; disabled?: boolean; id?: string; lazy?: boolean; lazyOnce?: boolean; noBody?: boolean; tag?: string; title?: string; titleItemClass?: ClassValue; titleLinkAttrs?: Readonly<AttrsValue>; titleLinkClass?: ClassValue; } export interface BTabsProps { activeId?: string; activeNavItemClass?: ClassValue; activeTabClass?: ClassValue; align?: AlignmentJustifyContent; card?: boolean; contentClass?: ClassValue; end?: boolean; fill?: boolean; id?: string; inactiveNavItemClass?: ClassValue; inactiveTabClass?: ClassValue; justified?: boolean; lazy?: boolean; modelValue?: number; navClass?: ClassValue; navItemClass?: ClassValue; navWrapperClass?: ClassValue; noFade?: boolean; noKeyNav?: boolean; noNavStyle?: boolean; pills?: boolean; small?: boolean; tag?: string; tabClass?: ClassValue; underline?: boolean; vertical?: boolean; } export interface BToastOrchestratorProps extends TeleporterProps { appendToast?: boolean; } export interface BCollapseProps extends ShowHideProps { horizontal?: boolean; id?: string; isNav?: boolean; modelValue?: boolean; tag?: string; } export interface BContainerProps { fluid?: boolean | Breakpoint; gutterX?: GutterNumbers; gutterY?: GutterNumbers; tag?: string; } export interface BSpinnerProps { label?: string; role?: string; small?: boolean; tag?: string; type?: SpinnerType; variant?: ColorVariant | null; } export interface BAlertProps extends ColorExtendables, Omit<BLinkProps, 'routerTag'>, ShowHideProps { alertClass?: ClassValue; body?: string; bodyClass?: ClassValue; closeClass?: ClassValue; closeContent?: string; closeLabel?: string; closeVariant?: ButtonVariant | null; dismissible?: boolean; headerClass?: ClassValue; headerTag?: string; id?: string; interval?: number | 'requestAnimationFrame'; isStatus?: boolean; modelValue?: boolean | number; noHoverPause?: boolean; noResumeOnHoverLeave?: boolean; progressProps?: Omit<BProgressBarProps, 'label' | 'max' | 'value'>; showOnPause?: boolean; title?: string; } export interface BAvatarProps extends Omit<BLinkProps, 'routerTag' | 'icon'>, ColorExtendables, RadiusElementExtendables { alt?: string; badge?: boolean | string; badgeBgVariant?: BgColorVariant | null; badgePlacement?: CombinedPlacement; badgeTextVariant?: TextColorVariant | null; badgeVariant?: ColorVariant | null; badgePill?: boolean; badgeDotIndicator?: boolean; button?: boolean; buttonType?: ButtonType; size?: LiteralUnion<Size, Numberish>; square?: boolean; src?: string; text?: string; } export interface BAvatarGroupProps extends ColorExtendables, RadiusElementExtendables { overlap?: Numberish; size?: LiteralUnion<Size, Numberish>; square?: boolean; tag?: string; } export interface BBadgeProps extends Omit<BLinkProps, 'routerTag'>, ColorExtendables { dotIndicator?: boolean; pill?: boolean; placement?: CombinedPlacement; tag?: string; } export interface BBreadcrumbProps { items?: readonly BreadcrumbItemRaw[]; id?: string; } export interface BBreadcrumbItemProps extends Omit<BLinkProps, 'routerTag'> { ariaCurrent?: string; text?: string; } type CustomLinkVariant = { [K in ColorVariant as `link-${K}`]: unknown; }; export interface BButtonProps extends Omit<BLinkProps, 'variant'> { loading?: boolean; loadingFill?: boolean; loadingText?: string; pill?: boolean; pressed?: boolean; size?: Size; squared?: boolean; tag?: string; type?: ButtonType; variant?: (ButtonVariant | keyof CustomLinkVariant) | null; } export interface BButtonGroupProps { ariaLabel?: string; size?: Size; tag?: string; vertical?: boolean; } export interface BButtonToolbarProps { ariaLabel?: string; justify?: boolean; role?: string; } export interface BCloseButtonProps { ariaLabel?: string; disabled?: boolean; type?: ButtonType; } export interface BCardProps extends ColorExtendables { align?: AlignmentTextHorizontal; bodyBgVariant?: BgColorVariant | null; bodyClass?: ClassValue; bodyTag?: string; bodyText?: string; bodyTextVariant?: TextColorVariant | null; borderVariant?: BorderColorVariant | null; footer?: string; footerBgVariant?: BgColorVariant | null; footerBorderVariant?: BorderColorVariant | null; footerClass?: ClassValue; footerTag?: string; footerTextVariant?: TextColorVariant | null; footerVariant?: ColorVariant | null; header?: string; headerBgVariant?: BgColorVariant | null; headerBorderVariant?: BorderColorVariant | null; headerClass?: ClassValue; headerTag?: string; headerTextVariant?: TextColorVariant | null; headerVariant?: ColorVariant | null; imgAlt?: string; imgPlacement?: Placement | 'overlay'; imgHeight?: Numberish; imgSrc?: string; imgWidth?: Numberish; noBody?: boolean; subtitle?: string; subtitleTag?: string; subtitleTextVariant?: TextColorVariant | null; tag?: string; title?: string; titleTag?: string; } export interface BCardBodyProps extends ColorExtendables { overlay?: boolean; subtitle?: string; subtitleTag?: string; subtitleTextVariant?: TextColorVariant | null; tag?: string; text?: string; title?: string; titleTag?: string; } export interface BCardGroupProps { columns?: boolean; deck?: boolean; tag?: string; } export interface BCardImgProps extends Omit<BImgProps, 'placement'> { placement?: Placement | 'overlay'; } export interface BCardSubtitleProps { text?: string; tag?: string; textVariant?: TextColorVariant | null; } export interface BCardTextProps { tag?: string; text?: string; } export interface BCardTitleProps { tag?: string; text?: string; } export interface BCarouselProps { background?: string; controls?: boolean; controlsNextText?: string; controlsPrevText?: string; fade?: boolean; id?: string; imgHeight?: string; imgWidth?: string; indicators?: boolean; indicatorsButtonLabel?: string; interval?: number; labelIndicators?: string; keyboard?: boolean; modelValue?: number; noAnimation?: boolean; noHoverPause?: boolean; noTouch?: boolean; noWrap?: boolean; ride?: boolean | 'carousel'; rideReverse?: boolean; touchThreshold?: Numberish; } export interface BCarouselSlideProps { background?: string; caption?: string; captionTag?: string; contentTag?: string; contentVisibleUp?: string; id?: string; imgAlt?: string; imgBlank?: boolean; imgBlankColor?: string; imgHeight?: Numberish; imgSrc?: string; imgSrcset?: string | readonly string[]; imgWidth?: Numberish; interval?: number | 'requestAnimationFrame'; text?: string; textTag?: string; } export interface BTransitionProps { appear?: boolean; mode?: TransitionMode; noFade?: boolean; transProps?: Readonly<TransitionProps>; } export interface BImgProps extends RadiusElementExtendables { blank?: boolean; blankColor?: string; block?: boolean; fluid?: boolean; fluidGrow?: boolean; height?: Numberish; tag?: string; lazy?: boolean; sizes?: string | readonly string[]; src?: string; srcset?: string | readonly string[]; thumbnail?: boolean; width?: Numberish; placement?: Extract<Placement, 'start' | 'end'> | 'center'; } export interface BFormProps { floating?: boolean; id?: string; novalidate?: boolean; validated?: boolean; } export interface BTableSimpleProps { bordered?: boolean; borderless?: boolean; borderVariant?: BorderColorVariant | null; captionTop?: boolean; dark?: boolean; fixed?: boolean; hover?: boolean; id?: string; noBorderCollapse?: boolean; outlined?: boolean; responsive?: boolean | Breakpoint; small?: boolean; stacked?: boolean | Breakpoint; stickyHeader?: boolean | Numberish; striped?: boolean; stripedColumns?: boolean; variant?: ColorVariant | null; tableAttrs?: Readonly<AttrsValue>; tableClass?: ClassValue; } export interface BTableLiteProps<Items> extends BTableSimpleProps { align?: VerticalAlign; caption?: string; detailsTdClass?: ClassValue; fieldColumnClass?: ((field: TableField<Items>) => readonly Record<string, any>[]) | string | Readonly<Record<PropertyKey, any>> | readonly any[]; fields?: TableFieldRaw<Items>[]; footClone?: boolean; footRowVariant?: ColorVariant | null; footVariant?: ColorVariant | null; headRowVariant?: ColorVariant | null; headVariant?: ColorVariant | null; items?: readonly Items[]; labelStacked?: boolean; modelValue?: any; primaryKey?: string; tbodyClass?: ClassValue; tbodyTrAttrs?: ((item: Items | null, type: TableRowType) => AttrsValue) | AttrsValue; tbodyTrClass?: ((item: Items | null, type: TableRowType) => TableStrictClassValue) | TableStrictClassValue; tfootClass?: ClassValue; tfootTrClass?: ClassValue; theadClass?: ClassValue; theadTrClass?: ClassValue; } export interface BTableProps<Items> extends Omit<BTableLiteProps<Items>, 'tableClass'> { provider?: BTableProvider<Items>; noProvider?: readonly NoProviderTypes[]; noProviderPaging?: boolean; noProviderSorting?: boolean; noProviderFiltering?: boolean; sortBy?: BTableSortBy<Items>[]; mustSort?: boolean | string[]; selectable?: boolean; multisort?: boolean; stickySelect?: boolean; selectHead?: boolean | string; selectMode?: 'multi' | 'single' | 'range'; selectionVariant?: ColorVariant | null; busy?: boolean; busyLoadingText?: string; perPage?: Numberish; currentPage?: Numberish; filter?: string; filterFunction?: (item: Readonly<Items>, filter: string | undefined) => boolean; filterable?: readonly string[]; noLocalSorting?: boolean; noSelectOnClick?: boolean; selectedItems?: readonly Items[]; noSortableIcon?: boolean; emptyFilteredText?: string; emptyText?: string; showEmpty?: boolean; } export interface BTrProps { variant?: ColorVariant | null; } export interface BTheadProps { variant?: ColorVariant | null; } export interface BTfootProps { variant?: ColorVariant | null; } export interface BTdProps { colspan?: Numberish; rowspan?: Numberish; stackedHeading?: string; stickyColumn?: boolean; variant?: ColorVariant | null; } export interface BTbodyProps { variant?: ColorVariant | null; } export interface BThProps { colspan?: Numberish; rowspan?: Numberish; stackedHeading?: string; stickyColumn?: boolean; variant?: ColorVariant | null; scope?: TableThScope; } export interface BProgressBarProps extends ColorExtendables { animated?: boolean; label?: string; max?: Numberish; precision?: Numberish; showProgress?: boolean; showValue?: boolean; striped?: boolean; value?: Numberish; } export interface BInputGroupAddonProps { isText?: boolean; } export interface BFormFeedbackSharedProps { ariaLive?: string; forceShow?: boolean; id?: string; role?: string; state?: ValidationState; tag?: string; text?: string; tooltip?: boolean; } export interface BDropdownProps extends TeleporterProps, ShowHideProps { ariaLabel?: string; autoClose?: boolean | 'inside' | 'outside'; boundary?: Boundary | RootBoundary; boundaryPadding?: Padding; disabled?: boolean; floatingMiddleware?: Middleware[]; id?: string; isNav?: boolean; menuClass?: ClassValue; modelValue?: boolean; noCaret?: boolean; noFlip?: boolean; noShift?: boolean; noSize?: boolean; offset?: number | string | Readonly<{ mainAxis?: number; crossAxis?: number; alignmentAxis?: number | null; }>; role?: string; size?: Size; noWrapper?: boolean; split?: boolean; splitButtonType?: ButtonType; splitClass?: ClassValue; splitDisabled?: boolean; splitHref?: string; splitTo?: RouteLocationRaw; splitVariant?: ButtonVariant | null; strategy?: Strategy; text?: string; toggleClass?: ClassValue; toggleText?: string; variant?: ButtonVariant | null; wrapperClass?: ClassValue; placement?: FloatingPlacement; } export interface BToastProps extends ColorExtendables, Omit<BLinkProps, 'routerTag'>, ShowHideProps { body?: string; bodyClass?: ClassValue; closeClass?: ClassValue; closeContent?: string; closeLabel?: string; closeVariant?: ButtonVariant | null; headerClass?: ClassValue; headerTag?: string; id?: string; interval?: number | 'requestAnimationFrame'; isStatus?: boolean; modelValue?: boolean | number; noCloseButton?: boolean; noHoverPause?: boolean; noResumeOnHoverLeave?: boolean; progressProps?: Omit<BProgressBarProps, 'label' | 'max' | 'value'>; showOnPause?: boolean; solid?: boolean; title?: string; toastClass?: ClassValue; } export interface BPopoverProps extends TeleporterProps, ShowHideProps { boundary?: Boundary | RootBoundary; boundaryPadding?: Padding; click?: boolean; closeOnHide?: boolean; body?: string; customClass?: ClassValue; delay?: number | Readonly<{ show: number; hide: number; }>; floatingMiddleware?: Middleware[]; hideMargin?: number; id?: string; inline?: boolean; manual?: boolean; modelValue?: boolean; noAutoClose?: boolean; noFlip?: boolean; noHide?: boolean; noShift?: boolean; noSize?: boolean; noninteractive?: boolean; offset?: Numberish | null; placement?: PopoverPlacement; realtime?: boolean; reference?: string | Readonly<ComponentPublicInstance> | Readonly<HTMLElement> | null; strategy?: Strategy; target?: string | Readonly<ComponentPublicInstance> | Readonly<HTMLElement> | null; title?: string; tooltip?: boolean; variant?: ColorVariant | null; } export interface BTooltipProps extends Omit<BPopoverProps, 'tooltip'> { interactive?: boolean; } export interface BCardHeadFootProps extends ColorExtendables { borderVariant?: BorderColorVariant | null; tag?: string; text?: string; } export interface BModalProps extends TeleporterProps, ShowHideProps { focus?: 'ok' | 'cancel' | 'close' | boolean | string | Readonly<ComponentPublicInstance> | Readonly<HTMLElement> | null; backdropFirst?: boolean; body?: string; bodyAttrs?: Readonly<AttrsValue>; bodyBgVariant?: BgColorVariant | null; bodyClass?: ClassValue; bodyScrolling?: boolean; bodyTextVariant?: TextColorVariant | null; bodyVariant?: ColorVariant | null; busy?: boolean; buttonSize?: Size; cancelClass?: ClassValue; cancelDisabled?: boolean; cancelTitle?: string; cancelVariant?: ButtonVariant | null; centered?: boolean; contentClass?: ClassValue; dialogClass?: ClassValue; footerBgVariant?: BgColorVariant | null; footerBorderVariant?: BorderColorVariant | null; footerClass?: ClassValue; footerTextVariant?: TextColorVariant | null; footerVariant?: ColorVariant | null; fullscreen?: boolean | Breakpoint; headerBgVariant?: BgColorVariant | null; headerBorderVariant?: BorderColorVariant | null; headerClass?: ClassValue; headerCloseClass?: ClassValue; headerCloseLabel?: string; headerCloseVariant?: ButtonVariant | null; headerTextVariant?: TextColorVariant | null; headerVariant?: ColorVariant | null; noBackdrop?: boolean; noFooter?: boolean; noHeader?: boolean; noHeaderClose?: boolean; id?: string; modalClass?: ClassValue; modelValue?: boolean; noCloseOnBackdrop?: boolean; noCloseOnEsc?: boolean; noTrap?: boolean; noStacking?: boolean; okClass?: ClassValue; okDisabled?: boolean; okOnly?: boolean; okTitle?: string; okVariant?: ButtonVariant | null; scrollable?: boolean; size?: Size | 'xl'; title?: string; titleClass?: ClassValue; titleVisuallyHidden?: boolean; titleTag?: string; } export interface ShowHideProps { initialAnimation?: boolean; noAnimation?: boolean; noFade?: boolean; lazy?: boolean; unmountLazy?: boolean; show?: boolean; transProps?: Readonly<TransitionProps>; visible?: boolean; } export interface BRowProps extends RowColsBreakpointProps { tag?: string; gutterX?: GutterNumbers; gutterY?: GutterNumbers; noGutters?: boolean; alignV?: AlignmentVertical; alignH?: AlignmentJustifyContent; alignContent?: AlignmentContent; cols?: ColsNumbers; } export interface BColProps extends OffsetBreakpointProps, OrderBreakpointProps, ColBreakpointProps { alignSelf?: AlignmentVertical | 'auto'; tag?: string; order?: ColsOrderNumbers; offset?: ColsOffsetNumbers; cols?: ColsNumbers | 'auto'; col?: boolean; } export interface BFormGroupProps extends ContentColsBreakpointProps, LabelColsBreakpointProps, LabelAlignBreakpointProps { contentCols?: boolean | Numberish; labelCols?: boolean | Numberish; labelAlign?: string; ariaInvalid?: AriaInvalid; description?: string; disabled?: boolean; feedbackAriaLive?: string; floating?: boolean; id?: string; invalidFeedback?: string; label?: string; labelClass?: ClassValue; labelFor?: string; labelSize?: string; labelVisuallyHidden?: boolean; state?: ValidationState; tooltip?: boolean; validFeedback?: string; validated?: boolean; } export {};