@buoy-gg/shared-ui 7.0.81 → 7.0.83

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.
@@ -1,4 +1,4 @@
1
- "use client";import{e as fe}from"./chunk-FPMEM2QO.mjs";import{d as j}from"./chunk-EY7GXWGI.mjs";import{A as N,B as q,H as U,I as r,W as ge,r as T,s as m,t as w,v as A,y as V}from"./chunk-QXVVA64P.mjs";import{a as l}from"./chunk-T6T3FEMU.mjs";import{useCallback as he,useEffect as Se,useRef as z,useState as K}from"react";var B=new Map;function X(e){try{return JSON.parse(e)}catch{return}}l(X,"defaultParse");function _(e,t,s={}){let[n,o]=K(()=>B.has(e)?B.get(e):t),[v,h]=K(()=>B.has(e)),u=z(e);u.current=e;let d=z(s);d.current=s,Se(()=>{if(B.has(e)){o(B.get(e)),h(true);return}let c=false,y=d.current.storage??j,p=d.current.parse??X;return y.getItem(e).then(S=>{if(!c){if(S!=null){let f;try{f=p(S)}catch{}f!==void 0&&(B.set(e,f),o(f))}h(true)}}).catch(()=>{c||h(true)}),()=>{c=true}},[e]);let I=he(c=>{o(y=>{let p=typeof c=="function"?c(y):c;B.set(u.current,p);let S=d.current.storage??j,f=d.current.serialize??JSON.stringify;try{S.setItem(u.current,f(p)).catch(()=>{})}catch{}return p})},[]);return[n,I,v]}l(_,"usePersistedState");function Q(){B.clear()}l(Q,"resetPersistedStateCache");import{useCallback as F,useEffect as Z,useMemo as me,useState as D}from"react";function ee(e,t={}){let[s,n]=D(()=>e.getAll()),[o,v]=D(()=>t.initialFilter??{}),[h,u]=D(()=>e.getEnabled());Z(()=>e.subscribe(n),[e]);let d=t.filterItems,I=me(()=>d?d(s,o):s,[s,o,d]),c=F(()=>{e.clear()},[e]),y=F(()=>{let S=!h;e.setEnabled(S),u(S)},[e,h]),p=F(S=>e.getById(S),[e]);return{items:s,filteredItems:I,filter:o,setFilter:v,isEnabled:h,toggleCapture:y,clear:c,getById:p}}l(ee,"useChangeLog");function te(e,t){let[s,n]=D(e);return Z(()=>t(n),[t]),s}l(te,"useSubscribedValue");import{useCallback as ye,useEffect as pe,useState as se}from"react";function ae(e,t={}){let{enabled:s=true,maxEvents:n=500,select:o}=t,[v,h]=se([]),[u,d]=se(s);pe(()=>{if(!s){d(false);return}let c=null,y=null,p=e.subscribeToEvents(S=>{y=S,c==null&&(c=requestAnimationFrame(()=>{if(c=null,!y)return;let f=y;y=null,o&&(f=o(f)),f.length>n&&(f=f.slice(0,n)),h(f)}))});return d(true),()=>{p(),c!=null&&cancelAnimationFrame(c)}},[e,s,n,o]);let I=ye(()=>{e.clearEvents()},[e]);return{events:v,clearEvents:I,isActive:u}}l(ae,"useEventStoreEvents");import{useState as b,useEffect as C,useCallback as be}from"react";async function J(){let[e,t,s]=await Promise.all([m.isScreenReaderEnabled(),m.isReduceMotionEnabled(),m.isReduceTransparencyEnabled()]),n={isScreenReaderEnabled:e,isReduceMotionEnabled:t,isReduceTransparencyEnabled:s};if(r.OS==="ios"){let[o,v,h,u,d]=await Promise.all([m.isBoldTextEnabled?.()??Promise.resolve(false),m.isGrayscaleEnabled?.()??Promise.resolve(false),m.isInvertColorsEnabled?.()??Promise.resolve(false),m.isDarkerSystemColorsEnabled?.()??Promise.resolve(false),m.prefersCrossFadeTransitions?.()??Promise.resolve(false)]);n.isBoldTextEnabled=o,n.isGrayscaleEnabled=v,n.isInvertColorsEnabled=h,n.isDarkerSystemColorsEnabled=u,n.prefersCrossFadeTransitions=d}if(r.OS==="android"){let o=await m.isHighTextContrastEnabled?.()??false;n.isHighTextContrastEnabled=o}return n}l(J,"getAccessibilitySettings");function O(){let e=r.constants,t={os:r.OS,version:r.Version,reactNativeVersion:e.reactNativeVersion,isTesting:r.isTesting??false,isDisableAnimations:e.isDisableAnimations??false};return r.OS==="ios"?{...t,osVersion:e.osVersion,systemName:e.systemName,interfaceIdiom:e.interfaceIdiom,isPad:r.isPad,isTV:r.isTV,isVision:r.isVision??false,isMacCatalyst:r.isMacCatalyst??false,forceTouchAvailable:e.forceTouchAvailable}:r.OS==="android"?{...t,apiLevel:e.Version,release:e.Release,brand:e.Brand,manufacturer:e.Manufacturer,model:e.Model,fingerprint:e.Fingerprint,serial:e.Serial,uiMode:e.uiMode}:t}l(O,"getPlatformInfo");function L(){let e=V.get("window"),t=V.get("screen"),s={window:{width:e.width,height:e.height,scale:e.scale,fontScale:e.fontScale},screen:{width:t.width,height:t.height,scale:t.scale,fontScale:t.fontScale},pixelRatio:U.get(),fontScale:U.getFontScale(),isLandscape:e.width>e.height,isPortrait:e.height>e.width};if(r.OS==="ios")try{let n=T.DeviceInfo?.getConstants?.();s.isIPhoneNotched=n?.isIPhoneX_deprecated??false}catch{s.isIPhoneNotched=false}if(r.OS==="android")try{let n=T.DeviceInfo?.getConstants?.();s.isEdgeToEdge=n?.isEdgeToEdge??false,s.densityDpi=Math.round(e.scale*160)}catch{}return s}l(L,"getDisplayInfo");async function x(){return new Promise(e=>{let t=false;r.OS==="ios"?T.StatusBarManager?.getHeight?.(s=>{t||(t=true,e(s?.height??null))})??e(null):r.OS==="android"?(t=true,e(ge.currentHeight??null)):(t=true,e(null)),setTimeout(()=>{t||(t=true,e(null))},100)})}l(x,"getStatusBarHeight");function P(){let e={isRTL:N.isRTL,doLeftAndRightSwapInRTL:N.doLeftAndRightSwapInRTL};return r.OS==="android"&&(e.localeIdentifier=N.localeIdentifier),e}l(P,"getLocaleInfo");function R(){if(r.OS==="ios")try{return{userDefaults:T.SettingsManager?.getConstants?.()?.settings??{}}}catch{return{}}return{}}l(R,"getSettingsInfo");function k(){let e={};if(r.OS==="android"){let t=r.constants;e.serial=t.Serial,e.fingerprint=t.Fingerprint;try{let s=T.PlatformConstants;s?.getAndroidID&&(e.androidId=s.getAndroidID())}catch{}}return e}l(k,"getUniqueIdentifiers");function ie(e){let t=[e.platform.os,e.platform.version,e.display.window.width,e.display.window.height,e.display.pixelRatio,e.platform.interfaceIdiom??"",e.platform.forceTouchAvailable??false,e.display.isIPhoneNotched??false,e.platform.model??"",e.platform.brand??"",e.platform.manufacturer??"",e.platform.uiMode??""].join("|"),s=0;for(let n=0;n<t.length;n++){let o=t.charCodeAt(n);s=(s<<5)-s+o,s=s&s}return Math.abs(s).toString(16).padStart(8,"0")}l(ie,"generateFingerprint");function ne(){let[e,t]=b(true),[s,n]=b(O()),[o,v]=b(L()),[h,u]=b({isScreenReaderEnabled:false,isReduceMotionEnabled:false,isReduceTransparencyEnabled:false}),[d,I]=b(()=>{let g=w.getColorScheme()??null;return{colorScheme:g,prefersDarkMode:g==="dark"}}),[c,y]=b(P()),[p,S]=b({height:null,isVisible:true}),[f,H]=b({isVisible:false,height:0,animationDuration:0}),[G,le]=b({currentState:A.currentState,isActive:A.currentState==="active"}),[W,ce]=b(k()),[Y,ue]=b(R()),[$,de]=b(Date.now()),M=be(async()=>{t(true);let[g,a]=await Promise.all([J(),x()]);n(O()),v(L()),u(g);let i=w.getColorScheme()??null;I({colorScheme:i,prefersDarkMode:i==="dark"}),y(P()),S(E=>({...E,height:a})),ce(k()),ue(R()),de(Date.now()),t(false)},[]);return C(()=>{M()},[M]),C(()=>{let g=V.addEventListener("change",({window:a,screen:i})=>{v(E=>({...E,window:{width:a.width,height:a.height,scale:a.scale,fontScale:a.fontScale},screen:{width:i.width,height:i.height,scale:i.scale,fontScale:i.fontScale},isLandscape:a.width>a.height,isPortrait:a.height>a.width}))});return()=>g.remove()},[]),C(()=>{let g=w.addChangeListener(({colorScheme:a})=>{let i=a??null;I({colorScheme:i,prefersDarkMode:i==="dark"})});return()=>g.remove()},[]),C(()=>{let g=q.addListener(r.OS==="ios"?"keyboardWillShow":"keyboardDidShow",i=>{H({isVisible:true,height:i.endCoordinates.height,animationDuration:i.duration??0})}),a=q.addListener(r.OS==="ios"?"keyboardWillHide":"keyboardDidHide",i=>{H({isVisible:false,height:0,animationDuration:i.duration??0})});return()=>{g.remove(),a.remove()}},[]),C(()=>{let g=fe(a=>{le({currentState:a,isActive:a==="active"})});return()=>g.remove()},[]),C(()=>{let g=[m.addEventListener("screenReaderChanged",a=>{u(i=>({...i,isScreenReaderEnabled:a}))}),m.addEventListener("reduceMotionChanged",a=>{u(i=>({...i,isReduceMotionEnabled:a}))}),m.addEventListener("reduceTransparencyChanged",a=>{u(i=>({...i,isReduceTransparencyEnabled:a}))})];if(r.OS==="ios"){let a=l((i,E)=>m.addEventListener(i,E),"addIOSListener");g.push(a("boldTextChanged",i=>{u(E=>({...E,isBoldTextEnabled:i}))}),a("grayscaleChanged",i=>{u(E=>({...E,isGrayscaleEnabled:i}))}),a("invertColorsChanged",i=>{u(E=>({...E,isInvertColorsEnabled:i}))}))}return()=>{g.forEach(a=>a.remove())}},[]),{platform:s,display:o,accessibility:h,appearance:d,locale:c,statusBar:p,keyboard:f,appState:G,identifiers:W,settings:Y,timestamp:$,isLoading:e,refresh:M,generateFingerprint:l(()=>ie({platform:s,display:o,accessibility:h,appearance:d,locale:c,statusBar:p,keyboard:f,appState:G,identifiers:W,settings:Y,timestamp:$,isLoading:e}),"generateFingerprint")}}l(ne,"useDeviceInfo");async function re(){let[e,t]=await Promise.all([J(),x()]),s=w.getColorScheme()??null;return{platform:O(),display:L(),accessibility:e,appearance:{colorScheme:s,prefersDarkMode:s==="dark"},locale:P(),statusBar:{height:t,isVisible:true},keyboard:{isVisible:false,height:0,animationDuration:0},appState:{currentState:A.currentState,isActive:A.currentState==="active"},identifiers:k(),settings:R(),timestamp:Date.now(),isLoading:false}}l(re,"getDeviceInfo");function oe(e){console.log("[Buoy]",`
1
+ "use client";import{e as fe}from"./chunk-FPMEM2QO.mjs";import{d as j}from"./chunk-EY7GXWGI.mjs";import{A as N,B as q,H as U,I as r,W as ge,r as T,s as m,t as w,v as A,y as V}from"./chunk-QXVVA64P.mjs";import{a as l}from"./chunk-T6T3FEMU.mjs";import{useCallback as he,useEffect as ye,useRef as z,useState as K}from"react";var B=new Map;function X(e){try{return JSON.parse(e)}catch{return}}l(X,"defaultParse");function _(e,t,s={}){let[i,o]=K(()=>B.has(e)?B.get(e):t),[v,h]=K(()=>B.has(e)),u=z(e);u.current=e;let d=z(s);d.current=s,ye(()=>{if(B.has(e)){o(B.get(e)),h(true);return}let c=false,S=d.current.storage??j,p=d.current.parse??X;return S.getItem(e).then(y=>{if(!c){if(y!=null){let f;try{f=p(y)}catch{}f!==void 0&&(B.set(e,f),o(f))}h(true)}}).catch(()=>{c||h(true)}),()=>{c=true}},[e]);let I=he(c=>{o(S=>{let p=typeof c=="function"?c(S):c;B.set(u.current,p);let y=d.current.storage??j,f=d.current.serialize??JSON.stringify;try{y.setItem(u.current,f(p)).catch(()=>{})}catch{}return p})},[]);return[i,I,v]}l(_,"usePersistedState");function Q(){B.clear()}l(Q,"resetPersistedStateCache");import{useCallback as F,useEffect as Z,useMemo as me,useState as D}from"react";function ee(e,t={}){let[s,i]=D(()=>e.getAll()),[o,v]=D(()=>t.initialFilter??{}),[h,u]=D(()=>e.getEnabled());Z(()=>e.subscribe(i),[e]);let d=t.filterItems,I=me(()=>d?d(s,o):s,[s,o,d]),c=F(()=>{e.clear()},[e]),S=F(()=>{let y=!h;e.setEnabled(y),u(y)},[e,h]),p=F(y=>e.getById(y),[e]);return{items:s,filteredItems:I,filter:o,setFilter:v,isEnabled:h,toggleCapture:S,clear:c,getById:p}}l(ee,"useChangeLog");function te(e,t){let[s,i]=D(e);return Z(()=>t(i),[t]),s}l(te,"useSubscribedValue");import{useCallback as Se,useEffect as pe,useState as se}from"react";function ae(e,t={}){let{enabled:s=true,maxEvents:i=500,select:o}=t,[v,h]=se([]),[u,d]=se(s);pe(()=>{if(!s){d(false);return}let c=null,S=null,p=e.subscribeToEvents(y=>{S=y,c==null&&(c=requestAnimationFrame(()=>{if(c=null,!S)return;let f=S;S=null,o&&(f=o(f)),f.length>i&&(f=f.slice(0,i)),h(f)}))});return d(true),()=>{p(),c!=null&&cancelAnimationFrame(c)}},[e,s,i,o]);let I=Se(()=>{e.clearEvents()},[e]);return{events:v,clearEvents:I,isActive:u}}l(ae,"useEventStoreEvents");import{useState as b,useEffect as C,useCallback as be}from"react";async function J(){let[e,t,s]=await Promise.all([m.isScreenReaderEnabled(),m.isReduceMotionEnabled(),m.isReduceTransparencyEnabled()]),i={isScreenReaderEnabled:e,isReduceMotionEnabled:t,isReduceTransparencyEnabled:s};if(r.OS==="ios"){let[o,v,h,u,d]=await Promise.all([m.isBoldTextEnabled?.()??Promise.resolve(false),m.isGrayscaleEnabled?.()??Promise.resolve(false),m.isInvertColorsEnabled?.()??Promise.resolve(false),m.isDarkerSystemColorsEnabled?.()??Promise.resolve(false),m.prefersCrossFadeTransitions?.()??Promise.resolve(false)]);i.isBoldTextEnabled=o,i.isGrayscaleEnabled=v,i.isInvertColorsEnabled=h,i.isDarkerSystemColorsEnabled=u,i.prefersCrossFadeTransitions=d}if(r.OS==="android"){let o=await m.isHighTextContrastEnabled?.()??false;i.isHighTextContrastEnabled=o}return i}l(J,"getAccessibilitySettings");function O(){let e=r.constants,t={os:r.OS,version:r.Version,reactNativeVersion:e.reactNativeVersion,isTesting:r.isTesting??false,isDisableAnimations:e.isDisableAnimations??false};return r.OS==="ios"?{...t,osVersion:e.osVersion,systemName:e.systemName,interfaceIdiom:e.interfaceIdiom,isPad:r.isPad,isTV:r.isTV,isVision:r.isVision??false,isMacCatalyst:r.isMacCatalyst??false,forceTouchAvailable:e.forceTouchAvailable}:r.OS==="android"?{...t,apiLevel:e.Version,release:e.Release,brand:e.Brand,manufacturer:e.Manufacturer,model:e.Model,fingerprint:e.Fingerprint,serial:e.Serial,uiMode:e.uiMode}:t}l(O,"getPlatformInfo");function L(){let e=V.get("window"),t=V.get("screen"),s={window:{width:e.width,height:e.height,scale:e.scale,fontScale:e.fontScale},screen:{width:t.width,height:t.height,scale:t.scale,fontScale:t.fontScale},pixelRatio:U.get(),fontScale:U.getFontScale(),isLandscape:e.width>e.height,isPortrait:e.height>e.width};if(r.OS==="ios")try{let i=T.DeviceInfo?.getConstants?.();s.isIPhoneNotched=i?.isIPhoneX_deprecated??false}catch{s.isIPhoneNotched=false}if(r.OS==="android")try{let i=T.DeviceInfo?.getConstants?.();s.isEdgeToEdge=i?.isEdgeToEdge??false,s.densityDpi=Math.round(e.scale*160)}catch{}return s}l(L,"getDisplayInfo");async function x(){return new Promise(e=>{let t=false;r.OS==="ios"?T.StatusBarManager?.getHeight?.(s=>{t||(t=true,e(s?.height??null))})??e(null):r.OS==="android"?(t=true,e(ge.currentHeight??null)):(t=true,e(null)),setTimeout(()=>{t||(t=true,e(null))},100)})}l(x,"getStatusBarHeight");function P(){let e={isRTL:N.isRTL,doLeftAndRightSwapInRTL:N.doLeftAndRightSwapInRTL};return r.OS==="android"&&(e.localeIdentifier=N.localeIdentifier),e}l(P,"getLocaleInfo");function R(){if(r.OS==="ios")try{return{userDefaults:T.SettingsManager?.getConstants?.()?.settings??{}}}catch{return{}}return{}}l(R,"getSettingsInfo");function k(){let e={};if(r.OS==="android"){let t=r.constants;e.serial=t.Serial,e.fingerprint=t.Fingerprint;try{let s=T.PlatformConstants;s?.getAndroidID&&(e.androidId=s.getAndroidID())}catch{}}return e}l(k,"getUniqueIdentifiers");function ne(e){let t=[e.platform.os,e.platform.version,e.display.window.width,e.display.window.height,e.display.pixelRatio,e.platform.interfaceIdiom??"",e.platform.forceTouchAvailable??false,e.display.isIPhoneNotched??false,e.platform.model??"",e.platform.brand??"",e.platform.manufacturer??"",e.platform.uiMode??""].join("|"),s=0;for(let i=0;i<t.length;i++){let o=t.charCodeAt(i);s=(s<<5)-s+o,s=s&s}return Math.abs(s).toString(16).padStart(8,"0")}l(ne,"generateFingerprint");function ie(){let[e,t]=b(true),[s,i]=b(O()),[o,v]=b(L()),[h,u]=b({isScreenReaderEnabled:false,isReduceMotionEnabled:false,isReduceTransparencyEnabled:false}),[d,I]=b(()=>{let g=w.getColorScheme()??null;return{colorScheme:g,prefersDarkMode:g==="dark"}}),[c,S]=b(P()),[p,y]=b({height:null,isVisible:true}),[f,H]=b({isVisible:false,height:0,animationDuration:0}),[G,le]=b({currentState:A.currentState,isActive:A.currentState==="active"}),[W,ce]=b(k()),[Y,ue]=b(R()),[$,de]=b(Date.now()),M=be(async()=>{t(true);let[g,a]=await Promise.all([J(),x()]);i(O()),v(L()),u(g);let n=w.getColorScheme()??null;I({colorScheme:n,prefersDarkMode:n==="dark"}),S(P()),y(E=>({...E,height:a})),ce(k()),ue(R()),de(Date.now()),t(false)},[]);return C(()=>{M()},[M]),C(()=>{let g=V.addEventListener("change",({window:a,screen:n})=>{v(E=>({...E,window:{width:a.width,height:a.height,scale:a.scale,fontScale:a.fontScale},screen:{width:n.width,height:n.height,scale:n.scale,fontScale:n.fontScale},isLandscape:a.width>a.height,isPortrait:a.height>a.width}))});return()=>g.remove()},[]),C(()=>{let g=w.addChangeListener(({colorScheme:a})=>{let n=a??null;I({colorScheme:n,prefersDarkMode:n==="dark"})});return()=>g.remove()},[]),C(()=>{let g=q.addListener(r.OS==="ios"?"keyboardWillShow":"keyboardDidShow",n=>{H({isVisible:true,height:n.endCoordinates.height,animationDuration:n.duration??0})}),a=q.addListener(r.OS==="ios"?"keyboardWillHide":"keyboardDidHide",n=>{H({isVisible:false,height:0,animationDuration:n.duration??0})});return()=>{g.remove(),a.remove()}},[]),C(()=>{let g=fe(a=>{le({currentState:a,isActive:a==="active"})});return()=>g.remove()},[]),C(()=>{let g=[m.addEventListener("screenReaderChanged",a=>{u(n=>({...n,isScreenReaderEnabled:a}))}),m.addEventListener("reduceMotionChanged",a=>{u(n=>({...n,isReduceMotionEnabled:a}))}),m.addEventListener("reduceTransparencyChanged",a=>{u(n=>({...n,isReduceTransparencyEnabled:a}))})];if(r.OS==="ios"){let a=l((n,E)=>m.addEventListener(n,E),"addIOSListener");g.push(a("boldTextChanged",n=>{u(E=>({...E,isBoldTextEnabled:n}))}),a("grayscaleChanged",n=>{u(E=>({...E,isGrayscaleEnabled:n}))}),a("invertColorsChanged",n=>{u(E=>({...E,isInvertColorsEnabled:n}))}))}return()=>{g.forEach(a=>a.remove())}},[]),{platform:s,display:o,accessibility:h,appearance:d,locale:c,statusBar:p,keyboard:f,appState:G,identifiers:W,settings:Y,timestamp:$,isLoading:e,refresh:M,generateFingerprint:l(()=>ne({platform:s,display:o,accessibility:h,appearance:d,locale:c,statusBar:p,keyboard:f,appState:G,identifiers:W,settings:Y,timestamp:$,isLoading:e}),"generateFingerprint")}}l(ie,"useDeviceInfo");async function re(){let[e,t]=await Promise.all([J(),x()]),s=w.getColorScheme()??null;return{platform:O(),display:L(),accessibility:e,appearance:{colorScheme:s,prefersDarkMode:s==="dark"},locale:P(),statusBar:{height:t,isVisible:true},keyboard:{isVisible:false,height:0,animationDuration:0},appState:{currentState:A.currentState,isActive:A.currentState==="active"},identifiers:k(),settings:R(),timestamp:Date.now(),isLoading:false}}l(re,"getDeviceInfo");function oe(e){console.log("[Buoy]",`
2
2
  ========================================`),console.log("[Buoy]"," DEVICE INFO REPORT"),console.log("[Buoy]",`========================================
3
3
  `),console.log("[Buoy]","--- PLATFORM ---"),console.log("[Buoy]",JSON.stringify(e.platform,null,2)),console.log("[Buoy]",`
4
4
  --- DISPLAY ---`),console.log("[Buoy]",JSON.stringify(e.display,null,2)),console.log("[Buoy]",`
@@ -12,4 +12,4 @@
12
12
  --- SETTINGS ---`);let t=Object.keys(e.settings.userDefaults??{});console.log("[Buoy]",`userDefaults: ${t.length} keys`),t.length>0&&t.length<=20&&console.log("[Buoy]",JSON.stringify(e.settings,null,2)),console.log("[Buoy]",`
13
13
  --- METADATA ---`),console.log("[Buoy]",`timestamp: ${e.timestamp}`),console.log("[Buoy]",`isLoading: ${e.isLoading}`),console.log("[Buoy]",`
14
14
  ========================================
15
- `)}l(oe,"logDeviceInfo");export{_ as a,Q as b,ee as c,te as d,ae as e,ne as f,re as g,oe as h};
15
+ `)}l(oe,"logDeviceInfo");export{_ as a,Q as b,ee as c,te as d,ae as e,ie as f,re as g,oe as h};