Security News
The Unpaid Backbone of Open Source: Solo Maintainers Face Increasing Security Demands
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
@lexical/selection
Advanced tools
This package contains utilities and helpers for handling Lexical selection.
@lexical/selection
This package contains selection helpers for Lexical.
$cloneContents
Clones the Lexical nodes in the selection, returning a map of Key -> LexicalNode and a list containing the keys of all direct children of the RootNode. Useful for insertion/transfer operations, such as copy and paste.
export function $cloneContents(
selection: RangeSelection | NodeSelection | GridSelection,
): {
nodeMap: Array<[NodeKey, LexicalNode]>;
range: Array<NodeKey>;
};
getStyleObjectFromCSS
Given a CSS string, returns an object from the style cache.
export function getStyleObjectFromCSS(css: string): {
[key: string]: string;
} | null;
$patchStyleText
Applies the provided styles to the TextNodes in the provided Selection. Key names in the patch argument should be the valid CSS properties (i.e., kebab-case).
export function $patchStyleText(
selection: RangeSelection | GridSelection,
patch: {
[key: string]: string;
},
): void;
$getSelectionStyleValueForProperty
Given a selection and a valid CSS property name, returns the current value of that property for TextNodes in the Selection, if set. If not set, it returns the defaultValue. If all TextNodes do not have the same value, it returns an empty string.
export function $getSelectionStyleValueForProperty(
selection: RangeSelection,
styleProperty: string,
defaultValue: string,
): string;
$moveCaretSelection
Moves the selection according to the arguments.
export function $moveCaretSelection(
selection: RangeSelection,
isHoldingShift: boolean,
isBackward: boolean,
granularity: 'character' | 'word' | 'lineboundary',
): void;
$isParentElementRTL
Returns true if the parent of the Selection anchor node is in Right-To-Left mode, false if not.
export function $isParentElementRTL(selection: RangeSelection): boolean;
$moveCharacter
Wraps $moveCaretSelection, using character granularity and accounting for RTL mode.
export function $moveCharacter(
selection: RangeSelection,
isHoldingShift: boolean,
isBackward: boolean,
): void;
$selectAll
Expands the current Selection to cover all of the content in the editor.
export function $selectAll(selection: RangeSelection): void;
$wrapLeafNodesInElements
Attempts to wrap all leaf nodes in the Selection in ElementNodes returned from createElement. If wrappingElement is provided, all of the wrapped leaves are appended to the wrappingElement. It attempts to append the resulting sub-tree to the nearest safe insertion target.
export function $wrapLeafNodesInElements(
selection: RangeSelection,
createElement: () => ElementNode,
wrappingElement?: ElementNode,
): void;
$isAtNodeEnd
Returns true if the provided point offset is in the last possible position.
export function $isAtNodeEnd(point: Point): boolean;
$shouldOverrideDefaultCharacterSelection
Returns true if default character selection should be overridden, false if not. Used with DecoratorNodes
export function $shouldOverrideDefaultCharacterSelection(
selection: RangeSelection,
isBackward: boolean,
): boolean;
0.3.5 (June 16, 2022)
FAQs
This package contains utilities and helpers for handling Lexical selection.
The npm package @lexical/selection receives a total of 433,108 weekly downloads. As such, @lexical/selection popularity was classified as popular.
We found that @lexical/selection demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
Security News
License exceptions modify the terms of open source licenses, impacting how software can be used, modified, and distributed. Developers should be aware of the legal implications of these exceptions.
Security News
A developer is accusing Tencent of violating the GPL by modifying a Python utility and changing its license to BSD, highlighting the importance of copyleft compliance.