@corvu-next/utils
v0.1.4
Published
Utilities for @corvu-next (Solid 2 fork)
Maintainers
Readme
@corvu-next/utils
Shared utilities for corvu-next components — DOM helpers, reactivity primitives, and component factories.
Note: This is the Solid 2.0 fork of corvu. It targets
[email protected].
Features
- DOM utilities:
afterPaint,callEventHandler,combineStyle,mergeRefs - Reactivity helpers:
access,MaybeAccessortype - Component factories:
createControllableSignal,createSize,createFloating,keyedContext,register Dynamiccomponent for polymorphic rendering- Scroll utilities for lock/unlock
Installation
npm install @corvu-next/utils
# or
pnpm add @corvu-next/utilsUsage
import { mergeRefs, createControllableSignal, Dynamic } from '@corvu-next/utils'mergeRefs
import { mergeRefs } from '@corvu-next/utils'
function MyComponent(props) {
let localRef
return <div ref={mergeRefs((el) => (localRef = el), props.ref)} />
}createControllableSignal
import { createControllableSignal } from '@corvu-next/utils'
const [value, setValue] = createControllableSignal({
value: () => props.value,
defaultValue: props.defaultValue,
onChange: props.onValueChange,
})Dynamic
import { Dynamic } from '@corvu-next/utils'
<Dynamic component={props.as ?? 'div'} {...rest} />API
DOM Utilities
| Export | Description |
|--------|-------------|
| afterPaint(fn) | Schedules a callback after the next browser paint. |
| callEventHandler(handler, event) | Safely calls an event handler, supporting both function and array forms. |
| combineStyle(...styles) | Merges multiple style objects/strings into one. |
| mergeRefs(...refs) | Combines multiple ref callbacks into a single ref. |
Reactivity
| Export | Description |
|--------|-------------|
| access(value) | Unwraps a MaybeAccessor — calls it if a function, returns it otherwise. |
| MaybeAccessor<T> | Type: T | Accessor<T>. |
Create Utilities
| Export | Description |
|--------|-------------|
| createControllableSignal | Signal that supports both controlled (value/onChange) and uncontrolled (defaultValue) patterns. |
| createSize | Tracks an element's size reactively via ResizeObserver. |
| createFloating | Floating UI positioning primitive. |
| keyedContext | Type-safe context creation with keyed access. |
| register | Component registration utility for compound components. |
Components
| Export | Description |
|--------|-------------|
| Dynamic | Polymorphic component for rendering as any element or component. |
Scroll Utilities
Scroll lock/unlock helpers used by dialog and drawer components to prevent background scrolling.
Further Reading
This package is part of corvu-next, a collection of unstyled, accessible and customizable UI primitives for SolidJS 2.0.
