@sanity/ui
Version:
The Sanity UI components.
56 lines (48 loc) • 1.36 kB
text/typescript
/**
* @internal
*/
export function _isEnterToClickElement(element: HTMLElement): boolean {
return isHTMLAnchorElement(element) || isHTMLButtonElement(element)
}
/**
* @internal
*/
export function isHTMLElement(node: unknown): node is HTMLElement {
return node instanceof Node && node.nodeType === Node.ELEMENT_NODE
}
/**
* @internal
*/
export function isHTMLAnchorElement(element: unknown): element is HTMLAnchorElement {
return isHTMLElement(element) && element.nodeName === 'A'
}
/**
* @internal
*/
export function isHTMLInputElement(element: unknown): element is HTMLInputElement {
return isHTMLElement(element) && element.nodeName === 'INPUT'
}
/**
* @internal
*/
export function isHTMLButtonElement(element: unknown): element is HTMLButtonElement {
return isHTMLElement(element) && element.nodeName === 'BUTTON'
}
/**
* @internal
*/
export function isHTMLSelectElement(element: unknown): element is HTMLSelectElement {
return isHTMLElement(element) && element.nodeName === 'SELECT'
}
/**
* @internal
*/
export function isHTMLTextAreaElement(element: unknown): element is HTMLTextAreaElement {
return isHTMLElement(element) && element.nodeName === 'TEXTAREA'
}
/**
* @internal
*/
export function containsOrEqualsElement(element: HTMLElement, node: Node): boolean {
return element.contains(node) || element === node
}