Build reusable primitives with createPolymorph, createRequiredContext, createSvgIcon, ErrorBoundary, and createRenderBlock. Load this when creating typed React building blocks, provider-backed APIs, icon components, local error isolation, or schema-driven block renderers.
Use useControlled, useStableCallback, useIsomorphicEffect, useInterval, and useTimeout for controlled state ownership, fresh callbacks with stable identity, SSR-safe effect timing, and timer-driven UI behavior.
Use useGesture, usePressHold, useDragScroll, useScrollProgress, and useSticky for pointer-driven interactions, drag-to-scroll containers, long-press behavior, viewport-relative scroll progress, and sticky-state UI.
Use useEvent, useIntersectionObserver, useResizeObserver, and useMutationObserver to connect React components to browser event sources and DOM observation APIs while keeping listener and observer setup declarative.
Use useDismiss, useFocusReturn, and useInert to build dialogs, popovers, and layered interfaces that dismiss on outside interaction or Escape, restore focus on close, and make background content inert while the layer is open.
Merge refs with useForkRef, expose inner DOM nodes with setRef, and read refs from React elements with getReactElementRef. Load this when building wrapper components, accepting refs through component props, or handling React 19 ref differences safely.
Use useElementSize, useWindowSize, useVisualViewport, useMediaQuery, and useRTL to drive responsive logic from element geometry, browser viewport state, zoom-aware visual viewport metrics, media queries, and directionality.
Core routing skill for @noaignite/react-utils. Load this when working with shared React utility primitives, hooks, ref helpers, DOM observers, interaction hooks, responsive viewport helpers, or component factories from @noaignite/react-utils.