@vela-ui/react
Version:
Vela UI React components
3 lines (2 loc) • 2.42 kB
JavaScript
"use client"
;var S=Object.create;var c=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var E=Object.getPrototypeOf,U=Object.prototype.hasOwnProperty;var k=(e,r)=>{for(var o in r)c(e,o,{get:r[o],enumerable:!0})},u=(e,r,o,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of I(r))!U.call(e,t)&&t!==o&&c(e,t,{get:()=>r[t],enumerable:!(i=w(r,t))||i.enumerable});return e};var V=(e,r,o)=>(o=e!=null?S(E(e)):{},u(r||!e||!e.__esModule?c(o,"default",{value:e,enumerable:!0}):o,e)),M=e=>u(c({},"__esModule",{value:!0}),e);var N={};k(N,{ProviderContext:()=>x,ThemeProvider:()=>g,ThemeProviderContext:()=>v,VelaUIProvider:()=>f,useProviderContext:()=>C,useTheme:()=>y});module.exports=M(N);var l=require("react"),h=require("react-aria-components");var p=V(require("react"));function T(e={}){let{strict:r=!0,errorMessage:o="useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",name:i}=e,t=p.createContext(void 0);t.displayName=i;function s(){var n;let d=p.useContext(t);if(!d&&r){let m=new Error(o);throw m.name="ContextError",(n=Error.captureStackTrace)==null||n.call(Error,m,s),m}return d}return[t.Provider,s,t]}var P=require("react/jsx-runtime"),[x,C]=T({name:"ProviderContext",strict:!1}),f=({children:e,locale:r="en-US",navigate:o,useHref:i,prefix:t})=>{let s=e;o&&(s=(0,P.jsx)(h.RouterProvider,{navigate:o,useHref:i,children:s}));let d=(0,l.useMemo)(()=>({prefix:t}),[t]);return(0,P.jsx)(x,{value:d,children:(0,P.jsx)(h.I18nProvider,{locale:r,children:s})})};var a=require("react"),R=require("react/jsx-runtime"),L={theme:"system",setTheme:()=>null},v=(0,a.createContext)(L);function g({children:e,defaultTheme:r="system",storageKey:o="vela-ui-theme",...i}){let[t,s]=(0,a.useState)(()=>localStorage.getItem(o)||r);(0,a.useEffect)(()=>{let n=window.document.documentElement;if(n.classList.remove("light","dark"),t==="system"){let m=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";n.classList.add(m);return}n.classList.add(t)},[t]);let d={theme:t,setTheme:n=>{localStorage.setItem(o,n),s(n)}};return(0,R.jsx)(v.Provider,{...i,value:d,children:e})}var y=()=>{let e=(0,a.useContext)(v);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e};0&&(module.exports={ProviderContext,ThemeProvider,ThemeProviderContext,VelaUIProvider,useProviderContext,useTheme});