UNPKG

@primer/react-brand

Version:

Primer Brand is a GitHub's design system for creating React-based marketing websites and digital experiences.

33 lines (32 loc) 1.04 kB
import { createContext as e, useContext as t, useState as n } from "react"; import { jsx as r } from "react/jsx-runtime"; //#region src/river/RiverStoryScroll/RiverStoryScrollProvider.tsx var i = e({ visibilityStates: [], setVisibilityStates: () => { throw Error("setVisibilityStates function must be implemented."); } }), a = () => t(i); function o({ children: e, className: t, initialStates: a }) { let [o, s] = n(a), [, c] = n(/* @__PURE__ */ new Set()), [l, u] = n(null); return /* @__PURE__ */ r("div", { className: t, children: /* @__PURE__ */ r(i.Provider, { value: { visibilityStates: o, setVisibilityStates: (e, t) => { c((n) => { let r = new Set(n); t ? r.add(e) : r.delete(e); let i = r.size > 0 ? Math.max(...Array.from(r)) : l; return i !== null && (u(i), s((e) => e.map((e, t) => t === i))), r; }); } }, children: e }) }); } //#endregion export { o as RiverStoryScrollProvider, a as useStoryScrollContext }; //# sourceMappingURL=RiverStoryScrollProvider.js.map