You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					261 lines
				
				6.9 KiB
			
		
		
			
		
	
	
					261 lines
				
				6.9 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								import * as Popper from '@popperjs/core';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type BasePlacement = Popper.BasePlacement;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type Placement = Popper.Placement;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type Content =
							 | 
						||
| 
								 | 
							
								  | string
							 | 
						||
| 
								 | 
							
								  | Element
							 | 
						||
| 
								 | 
							
								  | DocumentFragment
							 | 
						||
| 
								 | 
							
								  | ((ref: Element) => string | Element | DocumentFragment);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type SingleTarget = Element;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type MultipleTargets = string | Element[] | NodeList;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type Targets = SingleTarget | MultipleTargets;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface ReferenceElement<TProps = Props> extends Element {
							 | 
						||
| 
								 | 
							
								  _tippy?: Instance<TProps>;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface PopperElement<TProps = Props> extends HTMLDivElement {
							 | 
						||
| 
								 | 
							
								  _tippy?: Instance<TProps>;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface LifecycleHooks<TProps = Props> {
							 | 
						||
| 
								 | 
							
								  onAfterUpdate(
							 | 
						||
| 
								 | 
							
								    instance: Instance<TProps>,
							 | 
						||
| 
								 | 
							
								    partialProps: Partial<TProps>
							 | 
						||
| 
								 | 
							
								  ): void;
							 | 
						||
| 
								 | 
							
								  onBeforeUpdate(
							 | 
						||
| 
								 | 
							
								    instance: Instance<TProps>,
							 | 
						||
| 
								 | 
							
								    partialProps: Partial<TProps>
							 | 
						||
| 
								 | 
							
								  ): void;
							 | 
						||
| 
								 | 
							
								  onCreate(instance: Instance<TProps>): void;
							 | 
						||
| 
								 | 
							
								  onDestroy(instance: Instance<TProps>): void;
							 | 
						||
| 
								 | 
							
								  onHidden(instance: Instance<TProps>): void;
							 | 
						||
| 
								 | 
							
								  onHide(instance: Instance<TProps>): void | false;
							 | 
						||
| 
								 | 
							
								  onMount(instance: Instance<TProps>): void;
							 | 
						||
| 
								 | 
							
								  onShow(instance: Instance<TProps>): void | false;
							 | 
						||
| 
								 | 
							
								  onShown(instance: Instance<TProps>): void;
							 | 
						||
| 
								 | 
							
								  onTrigger(instance: Instance<TProps>, event: Event): void;
							 | 
						||
| 
								 | 
							
								  onUntrigger(instance: Instance<TProps>, event: Event): void;
							 | 
						||
| 
								 | 
							
								  onClickOutside(instance: Instance<TProps>, event: Event): void;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface RenderProps {
							 | 
						||
| 
								 | 
							
								  allowHTML: boolean;
							 | 
						||
| 
								 | 
							
								  animation: string | boolean;
							 | 
						||
| 
								 | 
							
								  arrow: boolean | string | SVGElement | DocumentFragment;
							 | 
						||
| 
								 | 
							
								  content: Content;
							 | 
						||
| 
								 | 
							
								  inertia: boolean;
							 | 
						||
| 
								 | 
							
								  maxWidth: number | string;
							 | 
						||
| 
								 | 
							
								  role: string;
							 | 
						||
| 
								 | 
							
								  theme: string;
							 | 
						||
| 
								 | 
							
								  zIndex: number;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface GetReferenceClientRect {
							 | 
						||
| 
								 | 
							
								  (): ClientRect | DOMRect;
							 | 
						||
| 
								 | 
							
								  contextElement?: Element;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Props extends LifecycleHooks, RenderProps {
							 | 
						||
| 
								 | 
							
								  animateFill: boolean;
							 | 
						||
| 
								 | 
							
								  appendTo: 'parent' | Element | ((ref: Element) => Element);
							 | 
						||
| 
								 | 
							
								  aria: {
							 | 
						||
| 
								 | 
							
								    content?: 'auto' | 'describedby' | 'labelledby' | null;
							 | 
						||
| 
								 | 
							
								    expanded?: 'auto' | boolean;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  delay: number | [number | null, number | null];
							 | 
						||
| 
								 | 
							
								  duration: number | [number | null, number | null];
							 | 
						||
| 
								 | 
							
								  followCursor: boolean | 'horizontal' | 'vertical' | 'initial';
							 | 
						||
| 
								 | 
							
								  getReferenceClientRect: null | GetReferenceClientRect;
							 | 
						||
| 
								 | 
							
								  hideOnClick: boolean | 'toggle';
							 | 
						||
| 
								 | 
							
								  ignoreAttributes: boolean;
							 | 
						||
| 
								 | 
							
								  inlinePositioning: boolean;
							 | 
						||
| 
								 | 
							
								  interactive: boolean;
							 | 
						||
| 
								 | 
							
								  interactiveBorder: number;
							 | 
						||
| 
								 | 
							
								  interactiveDebounce: number;
							 | 
						||
| 
								 | 
							
								  moveTransition: string;
							 | 
						||
| 
								 | 
							
								  offset:
							 | 
						||
| 
								 | 
							
								    | [number, number]
							 | 
						||
| 
								 | 
							
								    | (({
							 | 
						||
| 
								 | 
							
								        placement,
							 | 
						||
| 
								 | 
							
								        popper,
							 | 
						||
| 
								 | 
							
								        reference,
							 | 
						||
| 
								 | 
							
								      }: {
							 | 
						||
| 
								 | 
							
								        placement: Placement;
							 | 
						||
| 
								 | 
							
								        popper: Popper.Rect;
							 | 
						||
| 
								 | 
							
								        reference: Popper.Rect;
							 | 
						||
| 
								 | 
							
								      }) => [number, number]);
							 | 
						||
| 
								 | 
							
								  placement: Placement;
							 | 
						||
| 
								 | 
							
								  plugins: Plugin<unknown>[];
							 | 
						||
| 
								 | 
							
								  popperOptions: Partial<Popper.Options>;
							 | 
						||
| 
								 | 
							
								  render:
							 | 
						||
| 
								 | 
							
								    | ((
							 | 
						||
| 
								 | 
							
								        instance: Instance
							 | 
						||
| 
								 | 
							
								      ) => {
							 | 
						||
| 
								 | 
							
								        popper: PopperElement;
							 | 
						||
| 
								 | 
							
								        onUpdate?: (prevProps: Props, nextProps: Props) => void;
							 | 
						||
| 
								 | 
							
								      })
							 | 
						||
| 
								 | 
							
								    | null;
							 | 
						||
| 
								 | 
							
								  showOnCreate: boolean;
							 | 
						||
| 
								 | 
							
								  sticky: boolean | 'reference' | 'popper';
							 | 
						||
| 
								 | 
							
								  touch: boolean | 'hold' | ['hold', number];
							 | 
						||
| 
								 | 
							
								  trigger: string;
							 | 
						||
| 
								 | 
							
								  triggerTarget: Element | Element[] | null;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface DefaultProps extends Omit<Props, 'delay' | 'duration'> {
							 | 
						||
| 
								 | 
							
								  delay: number | [number, number];
							 | 
						||
| 
								 | 
							
								  duration: number | [number, number];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Instance<TProps = Props> {
							 | 
						||
| 
								 | 
							
								  clearDelayTimeouts(): void;
							 | 
						||
| 
								 | 
							
								  destroy(): void;
							 | 
						||
| 
								 | 
							
								  disable(): void;
							 | 
						||
| 
								 | 
							
								  enable(): void;
							 | 
						||
| 
								 | 
							
								  hide(): void;
							 | 
						||
| 
								 | 
							
								  hideWithInteractivity(event: MouseEvent): void;
							 | 
						||
| 
								 | 
							
								  id: number;
							 | 
						||
| 
								 | 
							
								  plugins: Plugin<TProps>[];
							 | 
						||
| 
								 | 
							
								  popper: PopperElement<TProps>;
							 | 
						||
| 
								 | 
							
								  popperInstance: Popper.Instance | null;
							 | 
						||
| 
								 | 
							
								  props: TProps;
							 | 
						||
| 
								 | 
							
								  reference: ReferenceElement<TProps>;
							 | 
						||
| 
								 | 
							
								  setContent(content: Content): void;
							 | 
						||
| 
								 | 
							
								  setProps(partialProps: Partial<TProps>): void;
							 | 
						||
| 
								 | 
							
								  show(): void;
							 | 
						||
| 
								 | 
							
								  state: {
							 | 
						||
| 
								 | 
							
								    isEnabled: boolean;
							 | 
						||
| 
								 | 
							
								    isVisible: boolean;
							 | 
						||
| 
								 | 
							
								    isDestroyed: boolean;
							 | 
						||
| 
								 | 
							
								    isMounted: boolean;
							 | 
						||
| 
								 | 
							
								    isShown: boolean;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  unmount(): void;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface TippyStatics {
							 | 
						||
| 
								 | 
							
								  readonly currentInput: {isTouch: boolean};
							 | 
						||
| 
								 | 
							
								  readonly defaultProps: DefaultProps;
							 | 
						||
| 
								 | 
							
								  setDefaultProps(partialProps: Partial<DefaultProps>): void;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Tippy<TProps = Props> extends TippyStatics {
							 | 
						||
| 
								 | 
							
								  (targets: SingleTarget, optionalProps?: Partial<TProps>): Instance<TProps>;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Tippy<TProps = Props> extends TippyStatics {
							 | 
						||
| 
								 | 
							
								  (targets: MultipleTargets, optionalProps?: Partial<TProps>): Instance<
							 | 
						||
| 
								 | 
							
								    TProps
							 | 
						||
| 
								 | 
							
								  >[];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								declare const tippy: Tippy;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// =============================================================================
							 | 
						||
| 
								 | 
							
								// Addon types
							 | 
						||
| 
								 | 
							
								// =============================================================================
							 | 
						||
| 
								 | 
							
								export interface DelegateInstance<TProps = Props> extends Instance<TProps> {
							 | 
						||
| 
								 | 
							
								  destroy(shouldDestroyTargetInstances?: boolean): void;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Delegate<TProps = Props> {
							 | 
						||
| 
								 | 
							
								  (
							 | 
						||
| 
								 | 
							
								    targets: SingleTarget,
							 | 
						||
| 
								 | 
							
								    props: Partial<TProps> & {target: string}
							 | 
						||
| 
								 | 
							
								  ): DelegateInstance<TProps>;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Delegate<TProps = Props> {
							 | 
						||
| 
								 | 
							
								  (
							 | 
						||
| 
								 | 
							
								    targets: MultipleTargets,
							 | 
						||
| 
								 | 
							
								    props: Partial<TProps> & {target: string}
							 | 
						||
| 
								 | 
							
								  ): DelegateInstance<TProps>[];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type CreateSingletonProps<TProps = Props> = TProps & {
							 | 
						||
| 
								 | 
							
								  overrides: Array<keyof TProps>;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type CreateSingletonInstance<TProps = CreateSingletonProps> = Instance<
							 | 
						||
| 
								 | 
							
								  TProps
							 | 
						||
| 
								 | 
							
								> & {
							 | 
						||
| 
								 | 
							
								  setInstances(instances: Instance<any>[]): void;
							 | 
						||
| 
								 | 
							
								  show(target?: ReferenceElement | Instance | number): void;
							 | 
						||
| 
								 | 
							
								  showNext(): void;
							 | 
						||
| 
								 | 
							
								  showPrevious(): void;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type CreateSingleton<TProps = Props> = (
							 | 
						||
| 
								 | 
							
								  tippyInstances: Instance<any>[],
							 | 
						||
| 
								 | 
							
								  optionalProps?: Partial<CreateSingletonProps<TProps>>
							 | 
						||
| 
								 | 
							
								) => CreateSingletonInstance<CreateSingletonProps<TProps>>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								declare const delegate: Delegate;
							 | 
						||
| 
								 | 
							
								declare const createSingleton: CreateSingleton;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// =============================================================================
							 | 
						||
| 
								 | 
							
								// Plugin types
							 | 
						||
| 
								 | 
							
								// =============================================================================
							 | 
						||
| 
								 | 
							
								export interface Plugin<TProps = Props> {
							 | 
						||
| 
								 | 
							
								  name?: string;
							 | 
						||
| 
								 | 
							
								  defaultValue?: any;
							 | 
						||
| 
								 | 
							
								  fn(instance: Instance<TProps>): Partial<LifecycleHooks<TProps>>;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface AnimateFill extends Plugin {
							 | 
						||
| 
								 | 
							
								  name: 'animateFill';
							 | 
						||
| 
								 | 
							
								  defaultValue: false;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface FollowCursor extends Plugin {
							 | 
						||
| 
								 | 
							
								  name: 'followCursor';
							 | 
						||
| 
								 | 
							
								  defaultValue: false;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface InlinePositioning extends Plugin {
							 | 
						||
| 
								 | 
							
								  name: 'inlinePositioning';
							 | 
						||
| 
								 | 
							
								  defaultValue: false;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export interface Sticky extends Plugin {
							 | 
						||
| 
								 | 
							
								  name: 'sticky';
							 | 
						||
| 
								 | 
							
								  defaultValue: false;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								declare const animateFill: AnimateFill;
							 | 
						||
| 
								 | 
							
								declare const followCursor: FollowCursor;
							 | 
						||
| 
								 | 
							
								declare const inlinePositioning: InlinePositioning;
							 | 
						||
| 
								 | 
							
								declare const sticky: Sticky;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// =============================================================================
							 | 
						||
| 
								 | 
							
								// Misc types
							 | 
						||
| 
								 | 
							
								// =============================================================================
							 | 
						||
| 
								 | 
							
								export interface HideAllOptions {
							 | 
						||
| 
								 | 
							
								  duration?: number;
							 | 
						||
| 
								 | 
							
								  exclude?: Instance | ReferenceElement;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export type HideAll = (options?: HideAllOptions) => void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								declare const hideAll: HideAll;
							 | 
						||
| 
								 | 
							
								declare const roundArrow: string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export default tippy;
							 | 
						||
| 
								 | 
							
								export {
							 | 
						||
| 
								 | 
							
								  hideAll,
							 | 
						||
| 
								 | 
							
								  delegate,
							 | 
						||
| 
								 | 
							
								  createSingleton,
							 | 
						||
| 
								 | 
							
								  animateFill,
							 | 
						||
| 
								 | 
							
								  followCursor,
							 | 
						||
| 
								 | 
							
								  inlinePositioning,
							 | 
						||
| 
								 | 
							
								  sticky,
							 | 
						||
| 
								 | 
							
								  roundArrow,
							 | 
						||
| 
								 | 
							
								};
							 |