Package Exports
- @wordpress/dom
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@wordpress/dom) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
DOM
DOM utilities module for WordPress.
Installation
Install the module
npm install @wordpress/dom --saveAPI
# computeCaretRect
Get the rectangle for the selection in a container.
Returns
?DOMRect: The rectangle.
# documentHasSelection
Check wether the current document has a selection. This checks both for focus in an input field and general text selection.
Returns
boolean: True if there is selection, false if not.
# focus
Object grouping focusable and tabbable utils
under the keys with the same name.
# getOffsetParent
Returns the closest positioned element, or null under any of the conditions of the offsetParent specification. Unlike offsetParent, this function is not limited to HTMLElement and accepts any Node (e.g. Node.TEXT_NODE).
Related
Parameters
- node
Node: Node from which to find offset parent.
Returns
?Node: Offset parent.
# getRectangleFromRange
Get the rectangle of a given Range.
Parameters
- range
Range: The range.
Returns
DOMRect: The rectangle.
# getScrollContainer
Given a DOM node, finds the closest scrollable container node.
Parameters
- node
Element: Node from which to start.
Returns
?Element: Scrollable container node, if found.
# insertAfter
Given two DOM nodes, inserts the former in the DOM as the next sibling of the latter.
Parameters
- newNode
Element: Node to be inserted. - referenceNode
Element: Node after which to perform the insertion.
Returns
void:
# isEntirelySelected
Check whether the contents of the element have been entirely selected. Returns true if there is no possibility of selection.
Parameters
- element
Element: The element to check.
Returns
boolean: True if entirely selected, false if not.
# isHorizontalEdge
Check whether the selection is horizontally at the edge of the container.
Parameters
- container
Element: Focusable element. - isReverse
boolean: Set to true to check left, false for right.
Returns
boolean: True if at the horizontal edge, false if not.
# isTextField
Check whether the given element is a text field, where text field is defined by the ability to select within the input, or that it is contenteditable.
See: https://html.spec.whatwg.org/#textFieldSelection
Parameters
- element
HTMLElement: The HTML element.
Returns
boolean: True if the element is an text field, false if not.
# isVerticalEdge
Check whether the selection is vertically at the edge of the container.
Parameters
- container
Element: Focusable element. - isReverse
boolean: Set to true to check top, false for bottom.
Returns
boolean: True if at the vertical edge, false if not.
# placeCaretAtHorizontalEdge
Places the caret at start or end of a given element.
Parameters
- container
Element: Focusable element. - isReverse
boolean: True for end, false for start.
# placeCaretAtVerticalEdge
Places the caret at the top or bottom of a given element.
Parameters
- container
Element: Focusable element. - isReverse
boolean: True for bottom, false for top. - rect
[DOMRect]: The rectangle to position the caret with. - mayUseScroll
[boolean]: True to allow scrolling, false to disallow.
# remove
Given a DOM node, removes it from the DOM.
Parameters
- node
Element: Node to be removed.
Returns
void:
# replace
Given two DOM nodes, replaces the former with the latter in the DOM.
Parameters
- processedNode
Element: Node to be removed. - newNode
Element: Node to be inserted in its place.
Returns
void:
# replaceTag
Replaces the given node with a new node with the given tag name.
Parameters
- node
Element: The node to replace - tagName
string: The new tag name.
Returns
Element: The new node.
# unwrap
Unwrap the given node. This means any child nodes are moved to the parent.
Parameters
- node
Node: The node to unwrap.
Returns
void:
# wrap
Wraps the given node with a new node with the given tag name.
Parameters
- newNode
Element: The node to insert. - referenceNode
Element: The node to wrap.
