bootstrap-vue-next
Version:
BootstrapVueNext is an early and lovely component library for Vue 3 & Nuxt 3 based on Bootstrap 5 and Typescript.
82 lines (81 loc) • 3.16 kB
TypeScript
import { Component, MaybeRefOrGetter, Ref } from 'vue';
import { BModalProps, BPopoverProps, BToastProps, BTooltipProps } from './ComponentProps';
import { ContainerPosition } from './Alignment';
export type ControllerKey = symbol | string;
export type OrchestratedToastModelValue = boolean | number;
export type PrivateOrchestratedToast = Omit<BToastProps, 'modelValue'> & {
/**
* Position
* @default 'top-end'
*/
pos?: ContainerPosition;
/**
* Sets whether or not the toast should be appended to the container
* @default undefined Implicitly defualts to the BToastOrchestrator's appendToast value
*/
appendToast?: boolean;
/**
* A proxy for the modelValue, essentially, you set this once, and it mimics the modelValue.
*
* Falsy values default to 5000
*
* @default 5000
*/
value?: OrchestratedToastModelValue;
_self: ControllerKey;
_modelValue: OrchestratedToastModelValue;
};
export type PublicOrchestratedToast = Omit<PrivateOrchestratedToast, '_modelValue' | '_self'>;
export type ToastOrchestratorArrayValue = {
component: unknown;
props: PrivateOrchestratedToast;
};
export type ToastOrchestratorShowParam = {
component?: Readonly<Component>;
props?: MaybeRefOrGetter<PublicOrchestratedToast>;
};
export type PrivateOrchestratedTooltip = Omit<BTooltipProps, 'modelValue' | 'target'> & {
_target: Exclude<BTooltipProps['target'], undefined>;
_modelValue: BTooltipProps['modelValue'];
};
export type PublicOrchestratedTooltip = Omit<PrivateOrchestratedTooltip, '_target' | '_modelValue'>;
export type TooltipOrchestratorMapValue = {
component: unknown;
props: PrivateOrchestratedTooltip;
};
export type TooltipOrchestratorShowParam = {
target: Readonly<Ref<PrivateOrchestratedTooltip['_target']>>;
component?: Readonly<Component>;
props?: MaybeRefOrGetter<PublicOrchestratedTooltip>;
};
export type PrivateOrchestratedPopover = Omit<BPopoverProps, 'modelValue' | 'target'> & {
_target: Exclude<BPopoverProps['target'], undefined>;
_modelValue: BPopoverProps['modelValue'];
};
export type PublicOrchestratedPopover = Omit<PrivateOrchestratedPopover, '_target' | '_modelValue'>;
export type PopoverOrchestratorMapValue = {
component: unknown;
props: PrivateOrchestratedPopover;
};
export type PopoverOrchestratorShowParam = {
target: Readonly<Ref<PrivateOrchestratedPopover['_target']>>;
component?: Readonly<Component>;
props?: MaybeRefOrGetter<PublicOrchestratedPopover>;
};
export type PrivateOrchestratedModal = Omit<BModalProps, 'modelValue'> & {
_modelValue: BModalProps['modelValue'];
_promise: {
value: Promise<boolean | null>;
resolve: (value: boolean | null) => void;
};
_isConfirm: boolean;
};
export type PublicOrchestratedModal = Omit<PrivateOrchestratedModal, '_modelValue' | '_promise' | '_isConfirm'>;
export type ModalOrchestratorShowParam = {
component?: Readonly<Component>;
props?: MaybeRefOrGetter<PublicOrchestratedModal>;
};
export type ModalOrchestratorMapValue = {
component: unknown;
props: PrivateOrchestratedModal;
};