import { chain, arrayEquals } from "@solid-primitives/utils"; import { children, createComputed, createMemo, onCleanup, untrack, } from "solid-js"; import { isServer } from "solid-js/web"; /** * Utility for chaining multiple `ref` assignments with `props.ref` forwarding. * @param refs list of ref setters. Can be a `props.ref` prop for ref forwarding or a setter to a local variable (`el => ref = el`). * @example * ```tsx * interface ButtonProps { * ref?: Ref * } * function Button (props: ButtonProps) { * let ref: HTMLButtonElement | undefined * onMount(() => { * // use the local ref * }) * return