@themodcraft/addon-providers 1.1.1 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/index.js +1 -1
- package/dist/index.js +1 -1
- package/dist/keyboard/index.js +1 -1
- package/dist/nexus/index.js +1 -1
- package/dist/runtime/auth-provider.js +2 -1
- package/dist/runtime/config-provider.js +2 -1
- package/dist/runtime/index.js +1 -1
- package/dist/runtime/keyboard-provider.js +2 -1
- package/dist/runtime/nexus-provider.js +2 -1
- package/dist/runtime/theme-provider.js +2 -1
- package/dist/runtime/ui-overlay-provider.js +2 -1
- package/dist/theme/index.js +1 -1
- package/package.json +6 -4
package/dist/auth/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export{createBetterAuthProviderPreset}from"../index.js";
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{profileFromBetterAuthSession as
|
|
1
|
+
import{profileFromBetterAuthSession as e}from"@themodcraft/addon-integrations/better-auth";export{AuthProvider,useAuth,useOptionalAuth}from"./runtime/auth-provider.js";export{ConfigProvider,useConfig}from"./runtime/config-provider.js";export{KeyboardProvider,handleKeyboardClick,useKeyboard,useKeyboardShortcut,useOptionalKeyboard}from"./runtime/keyboard-provider.js";export{NexusProvider}from"./runtime/nexus-provider.js";export{ThemeProvider,useOptionalTheme,useTheme}from"./runtime/theme-provider.js";export{UIOverlayProvider,useOptionalUIOverlay,useUIOverlay}from"./runtime/ui-overlay-provider.js";const r={defaultMode:"system",defaultThemeId:"themodcraft-v3",storageKey:"tmc-nexus-theme",themes:[{colorScheme:"dark light",cssVariables:{"--neutral-50":"#ffffff","--neutral-100":"#d9d9d9","--neutral-200":"#9e9e9e","--neutral-300":"#828282","--neutral-400":"#696969","--neutral-500":"#4a4a4a","--neutral-600":"#3c3c3c","--neutral-700":"#212121","--neutral-800":"#161616","--neutral-850":"#131313","--neutral-900":"#121212","--neutral-999":"#000000","--accent-green-500":"#30fa00","--accent-blue-500":"#005efe","--accent-cyan-400":"#00f2ff","--accent-cyan-500":"#00d2de","--primary-background":"#212121","--secondary-background":"#161616","--primary-text":"#ffffff","--secondary-text":"#828282","--tertiary-text":"#4a4a4a","--border-color":"#3c3c3c","--cta-color":"#30fa00","--link-color":"#005efe","--hover-overlay":"rgba(0, 0, 0, 0.49)","--border-radius":"15px","--border-radius-sm":"6px","--font-main":"Inter, system-ui, sans-serif","--font-mono":"JetBrains Mono, Fira Code, monospace"},id:"themodcraft-v3",label:"TheModCraft V3"}]},t={focusSelector:["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","[tabindex]:not([tabindex='-1'])","[data-keyboard-focusable='true']"].join(","),shortcuts:[]};function o({loginUrl:r="/login",logoutUrl:t="/logout",onLogout:o,session:a,settingsUrl:n="/account/settings",storageKey:s="tmc-nexus-auth"}={}){const u=e(a);return{loginUrl:r,logoutUrl:t,onLogout:o,profileImage:u?.image??null,settingsUrl:n,status:u?"authenticated":"anonymous",storageKey:s,user:u}}const a={auth:o(),config:{config:{appName:"TMC Nexus",cdnBaseUrl:"https://cdnui.themodcraft.net/api/files"}},keyboard:t,theme:r};export{o as createBetterAuthProviderPreset,t as defaultKeyboardProviderPreset,a as themodcraftV3ProviderPreset,r as themodcraftV3ThemeProviderPreset};
|
package/dist/keyboard/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export{defaultKeyboardProviderPreset}from"../index.js";
|
package/dist/nexus/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export{themodcraftV3ProviderPreset}from"../index.js";
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use client";
|
|
1
|
+
"use client";
|
|
2
|
+
import{c as t}from"react/compiler-runtime";import{useState as e,useEffect as n,useContext as o,createContext as r}from"react";import{jsx as u}from"react/jsx-runtime";const i=r(null),s="tmc:nexus-auth";function l(t,e){return e||(t?"authenticated":"anonymous")}function a(t){if(!t||"undefined"==typeof window)return null;try{const e=window.localStorage.getItem(t);return e?JSON.parse(e):null}catch{return null}}function c(t,e){if(t&&"undefined"!=typeof window){if(!e)return window.localStorage.removeItem(t),void window.dispatchEvent(new CustomEvent(s,{detail:null}));window.localStorage.setItem(t,JSON.stringify(e)),window.dispatchEvent(new CustomEvent(s,{detail:e}))}}function d(o){const r=t(42),{children:d,loginUrl:m,logoutUrl:f,onLogout:g,profileImage:w,refreshOnMount:v,resolveProfileImage:h,resolveUser:p,settingsUrl:y,status:I,storageKey:E,user:U}=o,L=void 0===v||v,S=void 0===E?"tmc-nexus-auth":E,x=void 0===U?null:U,[O,P]=e(x),[A,C]=e(w??x?.image??null);let J;r[0]!==x||r[1]!==I?(J=l(x,I),r[0]=x,r[1]=I,r[2]=J):J=r[2];const[N,b]=e(J);let j,k,K,M,q;r[3]!==x||r[4]!==w||r[5]!==I||r[6]!==S?(j=()=>{const t=a(S);if(t)return P(t.user),C(t.profileImage),void b(t.status);P(x),C(w??x?.image??null),b(l(x,I))},k=[x,w,I,S],r[3]=x,r[4]=w,r[5]=I,r[6]=S,r[7]=j,r[8]=k):(j=r[7],k=r[8]),n(j,k),r[9]!==S?(K=()=>{const t=function(t){if(t.key!==S)return;const e=a(S);P(e?.user??null),C(e?.profileImage??null),b(e?.status??"anonymous")},e=function(t){const e=t.detail;P(e?.user??null),C(e?.profileImage??null),b(e?.status??"anonymous")};return window.addEventListener("storage",t),window.addEventListener(s,e),()=>{window.removeEventListener("storage",t),window.removeEventListener(s,e)}},M=[S],r[9]=S,r[10]=K,r[11]=M):(K=r[10],M=r[11]),n(K,M),r[12]!==h||r[13]!==p||r[14]!==S||r[15]!==O?(q=async()=>{if(!p)return O;b("loading");const t=await p(),e=h?await h(t):t?.image??null;return P(t),C(e),b(t?"authenticated":"anonymous"),c(S,{profileImage:e,status:t?"authenticated":"anonymous",user:t}),t},r[12]=h,r[13]=p,r[14]=S,r[15]=O,r[16]=q):q=r[16];const z=q;let B,D,F;r[17]!==L||r[18]!==h||r[19]!==p||r[20]!==S?(B=()=>{if(!L||!p)return;let t=!1;return async function(){const e=await(p?.());if(t)return;const n=h?await h(e??null):e?.image??null;t||(P(e??null),C(n),b(e?"authenticated":"anonymous"),c(S,{profileImage:n,status:e?"authenticated":"anonymous",user:e??null}))}(),()=>{t=!0}},D=[L,h,p,S],r[17]=L,r[18]=h,r[19]=p,r[20]=S,r[21]=B,r[22]=D):(B=r[21],D=r[22]),n(B,D),r[23]!==S?(F=t=>{const e=t?.image??null,n=t?"authenticated":"anonymous";P(t),C(e),b(n),c(S,{profileImage:e,status:n,user:t})},r[23]=S,r[24]=F):F=r[24];const G=F;let H;r[25]!==g||r[26]!==G||r[27]!==S?(H=async()=>{await(g?.()),G(null),c(S,null)},r[25]=g,r[26]=G,r[27]=S,r[28]=H):H=r[28];const Q=H;let R;r[29]!==m||r[30]!==Q||r[31]!==f||r[32]!==z||r[33]!==A||r[34]!==N||r[35]!==G||r[36]!==y||r[37]!==O?(R={loginUrl:m,logout:Q,logoutUrl:f,profileImage:A,refreshUser:z,setUser:G,settingsUrl:y,status:N,user:O},r[29]=m,r[30]=Q,r[31]=f,r[32]=z,r[33]=A,r[34]=N,r[35]=G,r[36]=y,r[37]=O,r[38]=R):R=r[38];const T=R;let V;return r[39]!==d||r[40]!==T?(V=u(i.Provider,{value:T,children:d}),r[39]=d,r[40]=T,r[41]=V):V=r[41],V}function m(){const t=o(i);if(!t)throw new Error("useAuth must be used inside AuthProvider.");return t}function f(){return o(i)}export{d as AuthProvider,m as useAuth,f as useOptionalAuth};
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use client";
|
|
1
|
+
"use client";
|
|
2
|
+
import{c as r}from"react/compiler-runtime";import{useContext as t,createContext as o}from"react";import{jsx as e}from"react/jsx-runtime";const n=o({});function i(t){const o=r(5),{children:i,config:c}=t;let m;o[0]!==c?(m=void 0===c?{}:c,o[0]=c,o[1]=m):m=o[1];const u=m;let f;return o[2]!==i||o[3]!==u?(f=e(n.Provider,{value:u,children:i}),o[2]=i,o[3]=u,o[4]=f):f=o[4],f}function c(){return t(n)}export{i as ConfigProvider,c as useConfig};
|
package/dist/runtime/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export{AuthProvider,useAuth,useOptionalAuth}from"./auth-provider.js";export{ConfigProvider,useConfig}from"./config-provider.js";export{KeyboardProvider,handleKeyboardClick,useKeyboard,useKeyboardShortcut,useOptionalKeyboard}from"./keyboard-provider.js";export{NexusProvider}from"./nexus-provider.js";export{ThemeProvider,useOptionalTheme,useTheme}from"./theme-provider.js";export{UIOverlayProvider,useOptionalUIOverlay,useUIOverlay}from"./ui-overlay-provider.js";
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use client";
|
|
1
|
+
"use client";
|
|
2
|
+
import{c as e}from"react/compiler-runtime";import{useRef as t,useEffect as n,useContext as o,createContext as r}from"react";import{jsx as i}from"react/jsx-runtime";const c=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","[tabindex]:not([tabindex='-1'])","[data-keyboard-focusable='true']"].join(","),l=r(null);function a(e){return e instanceof HTMLElement&&(e.isContentEditable||e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement)}function s(e,t){return!1!==t.enabled&&e.key.toLowerCase()===t.key.toLowerCase()&&Boolean(e.altKey)===Boolean(t.altKey)&&Boolean(e.ctrlKey)===Boolean(t.ctrlKey)&&Boolean(e.metaKey)===Boolean(t.metaKey)&&Boolean(e.shiftKey)===Boolean(t.shiftKey)}function u(e){return Array.from(document.querySelectorAll(e)).filter(e=>{const t=window.getComputedStyle(e);return!e.hasAttribute("disabled")&&"none"!==t.display&&"hidden"!==t.visibility})}function d(o){const r=e(24),{children:d,focusSelector:m,shortcuts:y}=o,b=void 0===m?c:m;let v;r[0]!==y?(v=void 0===y?[]:y,r[0]=y,r[1]=v):v=r[1];const h=v;let p;r[2]===Symbol.for("react.memo_cache_sentinel")?(p=new Map,r[2]=p):p=r[2];const w=t(p);let E,K,L,S,x;r[3]!==h?(E=()=>{w.current=new Map(h.map(f))},K=[h],r[3]=h,r[4]=E,r[5]=K):(E=r[4],K=r[5]),n(E,K),r[6]===Symbol.for("react.memo_cache_sentinel")?(L=()=>{const e=function(e){for(const t of w.current.values())s(e,t)&&(!t.allowInEditable&&a(e.target)||((t.preventDefault??1)&&e.preventDefault(),t.handler(e)))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},S=[],r[6]=L,r[7]=S):(L=r[6],S=r[7]),n(L,S),r[8]===Symbol.for("react.memo_cache_sentinel")?(x=e=>(w.current.set(e.id,e),()=>{w.current.delete(e.id)}),r[8]=x):x=r[8];const B=x;let g;r[9]!==b?(g=(e,t)=>{const n=u(void 0===t?b:t);if(!n.length)return;const o=document.activeElement instanceof HTMLElement?n.indexOf(document.activeElement):-1,r=-1===o?0:(o+e+n.length)%n.length;n[r]?.focus()},r[9]=b,r[10]=g):g=r[10];const k=g;let M,T,_,H;r[11]!==b?(M=e=>{const t=void 0===e?b:e;return u(t)[0]?.focus()},r[11]=b,r[12]=M):M=r[12],r[13]!==k||r[14]!==b?(T=e=>k(1,void 0===e?b:e),_=e=>k(-1,void 0===e?b:e),r[13]=k,r[14]=b,r[15]=T,r[16]=_):(T=r[15],_=r[16]),r[17]!==M||r[18]!==T||r[19]!==_?(H={focusFirst:M,focusNext:T,focusPrevious:_,registerShortcut:B},r[17]=M,r[18]=T,r[19]=_,r[20]=H):H=r[20];const A=H;let C;return r[21]!==d||r[22]!==A?(C=i(l.Provider,{value:A,children:d}),r[21]=d,r[22]=A,r[23]=C):C=r[23],C}function f(e){return[e.id,e]}function m(){const e=o(l);if(!e)throw new Error("useKeyboard must be used inside KeyboardProvider.");return e}function y(){return o(l)}function b(t){const o=e(4),r=m();let i,c;o[0]!==r||o[1]!==t?(i=()=>r.registerShortcut(t),c=[r,t],o[0]=r,o[1]=t,o[2]=i,o[3]=c):(i=o[2],c=o[3]),n(i,c)}function v(e,t){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),t())}export{d as KeyboardProvider,v as handleKeyboardClick,m as useKeyboard,b as useKeyboardShortcut,y as useOptionalKeyboard};
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use client";
|
|
1
|
+
"use client";
|
|
2
|
+
import{c as r}from"react/compiler-runtime";import{LicenseGate as e,TMC_ENTITLEMENTS as o}from"@themodcraft/license-client";import{AuthProvider as i}from"./auth-provider.js";import{ConfigProvider as t}from"./config-provider.js";import{KeyboardProvider as m}from"./keyboard-provider.js";import{ThemeProvider as d}from"./theme-provider.js";import{UIOverlayProvider as n}from"./ui-overlay-provider.js";import{jsx as c}from"react/jsx-runtime";function p(p){const l=r(15),{auth:f,children:h,config:a,keyboard:s,overlay:u,theme:v}=p;let j,y,b,g,k;return l[0]!==h||l[1]!==u?(j=c(n,{...u,children:h}),l[0]=h,l[1]=u,l[2]=j):j=l[2],l[3]!==s||l[4]!==j?(y=c(m,{...s,children:j}),l[3]=s,l[4]=j,l[5]=y):y=l[5],l[6]!==f||l[7]!==y?(b=c(i,{...f,children:y}),l[6]=f,l[7]=y,l[8]=b):b=l[8],l[9]!==b||l[10]!==v?(g=c(d,{...v,children:b}),l[9]=b,l[10]=v,l[11]=g):g=l[11],l[12]!==a||l[13]!==g?(k=c(e,{required:o.addonProviders,children:c(t,{...a,children:g})}),l[12]=a,l[13]=g,l[14]=k):k=l[14],k}export{p as NexusProvider};
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use client";
|
|
1
|
+
"use client";
|
|
2
|
+
import{c as e}from"react/compiler-runtime";import{useState as t,useEffect as o,useContext as n,createContext as r}from"react";import{jsx as s}from"react/jsx-runtime";const m=r(null),d="tmc:nexus-theme-mode",c="tmc:nexus-theme-id";function i(e,t){t?document.documentElement.setAttribute(e,t):document.documentElement.removeAttribute(e)}function a(n){const r=e(29),{children:a,defaultMode:l,defaultThemeId:u,storageKey:w,themes:h}=n,v=void 0===l?"system":l;let f;r[0]!==h?(f=void 0===h?[]:h,r[0]=h,r[1]=f):f=r[1];const E=f,g=u??E[0]?.id??"default",[y,p]=t(g),[I,L]=t(v);let S;r[2]!==y||r[3]!==E?(S=E.find(e=>e.id===y)??E[0],r[2]=y,r[3]=E,r[4]=S):S=r[4];const $=S;let V,b,k,P,T,x,N;r[5]!==w?(V=()=>{if(!w)return;const e=window.localStorage.getItem(`${w}:theme`),t=window.localStorage.getItem(`${w}:mode`);e&&p(e),"light"!==t&&"dark"!==t&&"system"!==t||L(t)},b=[w],r[5]=w,r[6]=V,r[7]=b):(V=r[6],b=r[7]),o(V,b),r[8]!==w?(k=()=>{if(!w)return;const e=function(e){e.key===`${w}:theme`&&e.newValue&&p(e.newValue),e.key!==`${w}:mode`||"light"!==e.newValue&&"dark"!==e.newValue&&"system"!==e.newValue||L(e.newValue)},t=function(e){const t=e.detail?.mode;"light"!==t&&"dark"!==t&&"system"!==t||L(t)},o=function(e){const t=e.detail?.themeId;t&&p(t)};return window.addEventListener("storage",e),window.addEventListener(d,t),window.addEventListener(c,o),()=>{window.removeEventListener("storage",e),window.removeEventListener(d,t),window.removeEventListener(c,o)}},P=[w],r[8]=w,r[9]=k,r[10]=P):(k=r[9],P=r[10]),o(k,P),r[11]!==$||r[12]!==I?(x=()=>{const e=document.documentElement,t=[];return i("data-tmc-theme",$?.id),i("data-tmc-theme-mode",I),$?.className&&e.classList.add($.className),$?.colorScheme&&(e.style.colorScheme=$.colorScheme),Object.entries($?.cssVariables??{}).forEach(o=>{const[n,r]=o,s=(m=n).startsWith("--")?m:`--tmc-${m.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/[_\s]+/g,"-")}`;var m;t.push(s),e.style.setProperty(s,String(r))}),()=>{t.forEach(t=>e.style.removeProperty(t)),$?.className&&e.classList.remove($.className),$?.colorScheme&&e.style.removeProperty("color-scheme")}},T=[$,I],r[11]=$,r[12]=I,r[13]=T,r[14]=x):(T=r[13],x=r[14]),o(x,T),r[15]!==w?(N=e=>{p(e),w&&(window.localStorage.setItem(`${w}:theme`,e),window.dispatchEvent(new CustomEvent(c,{detail:{themeId:e}})))},r[15]=w,r[16]=N):N=r[16];const A=N;let C;r[17]!==w?(C=e=>{L(e),w&&(window.localStorage.setItem(`${w}:mode`,e),window.dispatchEvent(new CustomEvent(d,{detail:{mode:e}})))},r[17]=w,r[18]=C):C=r[18];const j=C;let M;r[19]!==$||r[20]!==I||r[21]!==j||r[22]!==A||r[23]!==y||r[24]!==E?(M={activeTheme:$,mode:I,setMode:j,setThemeId:A,themeId:y,themes:E},r[19]=$,r[20]=I,r[21]=j,r[22]=A,r[23]=y,r[24]=E,r[25]=M):M=r[25];const K=M;let O;return r[26]!==a||r[27]!==K?(O=s(m.Provider,{value:K,children:a}),r[26]=a,r[27]=K,r[28]=O):O=r[28],O}function l(){const e=n(m);if(!e)throw new Error("useTheme must be used inside ThemeProvider.");return e}function u(){return n(m)}export{a as ThemeProvider,u as useOptionalTheme,l as useTheme};
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use client";
|
|
1
|
+
"use client";
|
|
2
|
+
import{c as e}from"react/compiler-runtime";import{useState as r,useContext as t,createContext as o}from"react";import{jsx as n}from"react/jsx-runtime";const l=o(null);function c(t){const o=e(12),{children:c}=t;let i;o[0]===Symbol.for("react.memo_cache_sentinel")?(i=[],o[0]=i):i=o[0];const[s,m]=r(i);let a;o[1]===Symbol.for("react.memo_cache_sentinel")?(a=e=>{m(r=>r.includes(e)?r:[...r,e])},o[1]=a):a=o[1];const u=a;let f;o[2]===Symbol.for("react.memo_cache_sentinel")?(f=e=>{m(r=>r.filter(r=>r!==e))},o[2]=f):f=o[2];const y=f;let d;o[3]===Symbol.for("react.memo_cache_sentinel")?(d=e=>{m(r=>r.includes(e)?r.filter(r=>r!==e):[...r,e])},o[3]=d):d=o[3];const v=d;let p,O;o[4]!==s?(p=e=>s.includes(e),o[4]=s,o[5]=p):p=o[5],o[6]!==s||o[7]!==p?(O={closeOverlay:y,isOverlayOpen:p,openOverlay:u,openOverlayIds:s,toggleOverlay:v},o[6]=s,o[7]=p,o[8]=O):O=o[8];const _=O;let h;return o[9]!==c||o[10]!==_?(h=n(l.Provider,{value:_,children:c}),o[9]=c,o[10]=_,o[11]=h):h=o[11],h}function i(){const e=t(l);if(!e)throw new Error("useUIOverlay must be used inside UIOverlayProvider.");return e}function s(){return t(l)}export{c as UIOverlayProvider,s as useOptionalUIOverlay,i as useUIOverlay};
|
package/dist/theme/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export{themodcraftV3ThemeProviderPreset}from"../index.js";
|
package/package.json
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@themodcraft/addon-providers",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
7
|
"type": "module",
|
|
8
|
-
"files": [
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
9
11
|
"exports": {
|
|
10
12
|
".": {
|
|
11
13
|
"types": "./dist/index.d.ts",
|
|
@@ -34,8 +36,8 @@
|
|
|
34
36
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
35
37
|
},
|
|
36
38
|
"dependencies": {
|
|
37
|
-
"@themodcraft/addon-integrations": "1.1.
|
|
38
|
-
"@themodcraft/license-client": "1.1.
|
|
39
|
+
"@themodcraft/addon-integrations": "1.1.3",
|
|
40
|
+
"@themodcraft/license-client": "1.1.3"
|
|
39
41
|
},
|
|
40
42
|
"peerDependencies": {
|
|
41
43
|
"react": "^19.0.0",
|