"use strict"; exports.__esModule = true; exports.default = void 0; var _react = require("react"); /** * Runs an effect only when the dependencies have changed, skipping the * initial "on mount" run. Caution, if the dependency list never changes, * the effect is **never run** * * ```ts * const ref = useRef(null); * * // focuses an element only if the focus changes, and not on mount * useUpdateEffect(() => { * const element = ref.current?.children[focusedIdx] as HTMLElement * * element?.focus() * * }, [focusedIndex]) * ``` * @param effect An effect to run on mount * * @category effects */ function useUpdateEffect(fn, deps) { var isFirst = (0, _react.useRef)(true); (0, _react.useEffect)(function () { if (isFirst.current) { isFirst.current = false; return; } return fn(); }, deps); } var _default = useUpdateEffect; exports.default = _default;