UNPKG

@payfit/unity-components

Version:

25 lines (24 loc) 569 B
import { useCallback as e, useState as t } from "react"; //#region src/components/inline-field-group/hooks/useInlineFieldGroupMode.ts function n({ mode: n, defaultMode: r = "read", onModeChange: i, shouldModeChange: a }) { let [o, s] = t(r), c = n !== void 0, l = c ? n : o, u = e((e) => { a && a(l, e) === !1 || (c || s(e), i?.(e)); }, [ c, l, i, a ]); return { mode: l, enterEditMode: e(() => { u("edit"); }, [u]), exitEditMode: e(() => { u("read"); }, [u]), isControlled: c }; } //#endregion export { n as useInlineFieldGroupMode };