Skip to content
Sancho UI
Toggle dark mode
Getting started
Built with ☕ by
Ben McMahen

Tooltip

A tooltip is used to display extra information about something on the screen, such as an icon, button or link. Tooltips should only display non-essential information since they won't display on touch-based devices.

Basic usage

The tooltip will appear when the target is hovered or focused.

Hello world. Hover me!!
<Tooltip content="This is some tooltip content">
  <Button>Hello world. Hover me!!</Button>
</Tooltip>

Controlling width

By default, the tooltip is limited to a width of 300px. You can customize this by setting the maxWidth prop.

I should limit text width
<Tooltip
  maxWidth="200px"
  content="This is some tooltip content. I have a max width of 200px."
>
  <Button>I should limit text width</Button>
</Tooltip>

Customizing placement

I will appear to the right
<Tooltip
  maxWidth="200px"
  placement="right"
  content="This is some tooltip content. I have a max width of 200px."
>
  <Button>I will appear to the right</Button>
</Tooltip>

API

arrowStyles
toString*() => string =
Returns a string representation of a string.
charAt*(pos: number) => string
Returns the character at the specified index. @param pos The zero-based index of the desired character.
charCodeAt*(index: number) => number
Returns the Unicode value of the character at the specified location. @param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned.
concat*(...strings: string[]) => string
Returns a string that contains the concatenation of two or more strings. @param strings The strings to append to the end of the string.
indexOf*(searchString: string, position?: number) => number
Returns the position of the first occurrence of a substring. @param searchString The substring to search for in the string @param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string.
lastIndexOf*(searchString: string, position?: number) => number
Returns the last occurrence of a substring in the string. @param searchString The substring to search for. @param position The index at which to begin searching. If omitted, the search begins at the end of the string.
localeCompare*{ (that: string): number; (that: string, locales?: string | string[], options?: CollatorOptions): number; }
Determines whether two strings are equivalent in the current locale. Determines whether two strings are equivalent in the current or specified locale. @param that String to compare to target string @param that String to compare to target string @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details. @param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details.
match*{ (regexp: string | RegExp): RegExpMatchArray; (matcher: { [Symbol.match](string: string): RegExpMatchArray; }): RegExpMatchArray; }
Matches a string with a regular expression, and returns an array containing the results of that search. Matches a string an object that supports being matched against, and returns an array containing the results of that search. @param regexp A variable name or string literal containing the regular expression pattern and flags. @param matcher An object that supports being matched against.
replace*{ (searchValue: string | RegExp, replaceValue: string): string; (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; (searchValue: { [Symbol.replace](string: string, replaceValue: string): string; }, replaceValue: string): string; (searchValue: { ...; }, replacer: (substri...
Replaces text in a string, using a regular expression or search string. Replaces text in a string, using a regular expression or search string. Replaces text in a string, using an object that supports replacement within a string. Replaces text in a string, using an object that supports replacement within a string. @param searchValue A string to search for. @param replaceValue A string containing the text to replace for every successful match of searchValue in this string. @param searchValue A string to search for. @param replacer A function that returns the replacement text. @param searchValue A object can search for and replace matches within a string. @param replaceValue A string containing the text to replace for every successful match of searchValue in this string. @param searchValue A object can search for and replace matches within a string. @param replacer A function that returns the replacement text.
search*{ (regexp: string | RegExp): number; (searcher: { [Symbol.search](string: string): number; }): number; }
Finds the first substring match in a regular expression search. Finds the first substring match in a regular expression search. @param regexp The regular expression pattern and applicable flags. @param searcher An object which supports searching within a string.
slice*(start?: number, end?: number) => string
Returns a section of a string. @param start The index to the beginning of the specified portion of stringObj. @param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end. If this value is not specified, the substring continues to the end of stringObj.
split*{ (separator: string | RegExp, limit?: number): string[]; (splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number): string[]; }
Split a string into substrings using the specified separator and return them as an array. Split a string into substrings using the specified separator and return them as an array. @param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned. @param limit A value used to limit the number of elements returned in the array. @param splitter An object that can split a string. @param limit A value used to limit the number of elements returned in the array.
substring*(start: number, end?: number) => string
Returns the substring at the specified location within a String object. @param start The zero-based index number indicating the beginning of the substring. @param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end. If end is omitted, the characters from start through the end of the original string are returned.
toLowerCase*() => string
Converts all the alphabetic characters in a string to lowercase.
toLocaleLowerCase*() => string
Converts all alphabetic characters to lowercase, taking into account the host environment's current locale.
toUpperCase*() => string
Converts all the alphabetic characters in a string to uppercase.
toLocaleUpperCase*() => string
Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale.
trim*() => string
Removes the leading and trailing white space and line terminator characters from a string.
length*number
Returns the length of a String object.
substr*(from: number, length?: number) => string
Gets a substring beginning at the specified location and having the specified length. @param from The starting position of the desired substring. The index of the first character in the string is zero. @param length The number of characters to include in the returned substring.
valueOf*() => string =
Returns the primitive value of the specified object.
codePointAt*(pos: number) => number
Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point value of the UTF-16 encoded code point starting at the string element at position pos in the String resulting from converting this object to a String. If there is no element at that position, the result is undefined. If a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos.
includes*(searchString: string, position?: number) => boolean
Returns true if searchString appears as a substring of the result of converting this object to a String, at one or more positions that are greater than or equal to position; otherwise, returns false. @param searchString search string @param position If position is undefined, 0 is assumed, so as to search all of the String.
endsWith*(searchString: string, endPosition?: number) => boolean
Returns true if the sequence of elements of searchString converted to a String is the same as the corresponding elements of this object (converted to a String) starting at endPosition – length(this). Otherwise returns false.
normalize*{ (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string; (form?: string): string; }
Returns the String value result of normalizing the string into the normalization form named by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms. Returns the String value result of normalizing the string into the normalization form named by form as specified in Unicode Standard Annex #15, Unicode Normalization Forms. @param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default is "NFC" @param form Applicable values: "NFC", "NFD", "NFKC", or "NFKD", If not specified default is "NFC"
repeat*(count: number) => string
Returns a String value that is made from count copies appended together. If count is 0, the empty string is returned. @param count number of copies to append
startsWith*(searchString: string, position?: number) => boolean
Returns true if the sequence of elements of searchString converted to a String is the same as the corresponding elements of this object (converted to a String) starting at position. Otherwise returns false.
anchor*(name: string) => string
Returns an <a> HTML anchor element and sets the name attribute to the text value @param name
big*() => string
Returns a <big> HTML element
blink*() => string
Returns a <blink> HTML element
bold*() => string
Returns a <b> HTML element
fixed*() => string
Returns a <tt> HTML element
fontcolor*(color: string) => string
Returns a <font> HTML element and sets the color attribute value
fontsize*{ (size: number): string; (size: string): string; }
Returns a <font> HTML element and sets the size attribute value Returns a <font> HTML element and sets the size attribute value
italics*() => string
Returns an <i> HTML element
link*(url: string) => string
Returns an <a> HTML element and sets the href attribute value
small*() => string
Returns a <small> HTML element
strike*() => string
Returns a <strike> HTML element
sub*() => string
Returns a <sub> HTML element
sup*() => string
Returns a <sup> HTML element
__@iterator*() => IterableIterator<string>
Iterator
padStart*(maxLength: number, fillString?: string) => string
Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length. The padding is applied from the start (left) of the current string. @param maxLength The length of the resulting string once the current string has been padded. If this parameter is smaller than the current string's length, the current string will be returned as it is. @param fillString The string to pad the current string with. If this string is too long, it will be truncated and the left-most part will be applied. The default value for this parameter is " " (U+0020).
padEnd*(maxLength: number, fillString?: string) => string
Pads the current string with a given string (possibly repeated) so that the resulting string reaches a given length. The padding is applied from the end (right) of the current string. @param maxLength The length of the resulting string once the current string has been padded. If this parameter is smaller than the current string's length, the current string will be returned as it is. @param fillString The string to pad the current string with. If this string is too long, it will be truncated and the left-most part will be applied. The default value for this parameter is " " (U+0020).
Tooltip
content*ReactNode
The content of the tooltip
placementPlacements
Where the tooltip should be placed
children*ReactNode
the target element for the tooltip
delayInnumber
delay showing the tooltip (ms)
delayOutnumber
delay hiding the tooltip (ms)
hoverboolean
Prevents the tooltip from disappearing when the user hovers over it
maxWidthstring
cssInterpolationWithTheme<any>