
Research
/Security News
9 Malicious NuGet Packages Deliver Time-Delayed Destructive Payloads
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.
@solid-primitives/active-element
Advanced tools
A reactive document.activeElement. Check which element is currently focused.
makeActiveElementListener - Listen for changes to the document.activeElement.makeFocusListener - Attaches "blur" and "focus" event listeners to the element.createActiveElement - Provides reactive signal of document.activeElement.createFocusSignal - Provides a signal representing element's focus state.focus - A directive that notifies you when the element becomes active or inactive.npm install @solid-primitives/active-element
# or
yarn add @solid-primitives/active-element
makeActiveElementListener@2.0.0Attaches event listeners to window, listening for the changes of the document.activeElement.
import { makeActiveElementListener } from "@solid-primitives/active-element";
const [activeElement, setActiveElement] = createSignal(null);
const clear = makeActiveElementListener(el => setActiveElement(el));
// remove listeners (happens also on cleanup)
clear();
function makeActiveElementListener(callback: (element: Element | null) => void): VoidFunction;
makeFocusListener@2.0.0Attaches "blur" and "focus" event listeners to the element.
import { makeFocusListener } from "@solid-primitives/active-element";
const [isFocused, setIsFocused] = createSignal(false);
const clear = makeFocusListener(focused => setIsFocused(focused));
// remove listeners (happens also on cleanup)
clear();
function makeFocusListener(
target: Element,
callback: (isActive: boolean) => void,
useCapture?: boolean,
): VoidFunction;
createActiveElementProvides reactive signal of document.activeElement. Check which element is currently focused.
import { createActiveElement } from "@solid-primitives/active-element";
const activeEl = createActiveElement();
createEffect(() => {
console.log(activeEl()); // T: Element | null
});
function createActiveElement(): Accessor<Element | null>;
createFocusSignalProvides a signal representing element's focus state.
import { createFocusSignal } from "@solid-primitives/active-element";
const isFocused = createFocusSignal(el);
isFocused(); // T: boolean
// you can also use signals for ref
const [ref, setRef] = createSignal<Element>(el);
const isFocused = createFocusSignal(ref);
// this way if the element changes,
// the "isFocused" will start checking the new element
// is targeting a ref from jsx, pass it as a function
// or wrap primitive in onMount, so that it is accessed once mounted
let ref;
createFocusSignal(() => ref);
<div ref={ref} />;
function createFocusSignal(target: MaybeAccessor<Element>): Accessor<boolean>;
focusA directive that notifies you when the element becomes active or inactive.
const [active, setActive] = createSignal(false)
<input use:focus={setActive} />
Directive<(isActive: boolean) => void>;
https://codesandbox.io/s/solid-primitives-active-element-q4kul?file=/index.tsx
See CHANGELOG.md
FAQs
A reactive document.activeElement. Check which element is currently focused.
We found that @solid-primitives/active-element demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 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.

Research
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.