@buoy-gg/shared-ui 7.0.63 → 7.0.64

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.
Files changed (121) hide show
  1. package/README.md +3 -0
  2. package/lib/commonjs/JsModal.web.js +1 -1
  3. package/lib/commonjs/clipboard/copyToClipboard.js +1 -1
  4. package/lib/commonjs/dataViewer/VirtualizedDataExplorer.js +1 -1
  5. package/lib/commonjs/hooks/useDeviceInfo.js +1 -1
  6. package/lib/commonjs/license/AccountSetup.web.js +2 -2
  7. package/lib/commonjs/settings/components/BubbleSettingsSection.js +1 -1
  8. package/lib/commonjs/storage/buoyOwnership.js +1 -0
  9. package/lib/commonjs/storage/buoyOwnership.test.js +1 -0
  10. package/lib/commonjs/storage/devToolsStorageKeys.js +1 -1
  11. package/lib/commonjs/storage/index.js +1 -1
  12. package/lib/commonjs/ui/components/ChangeRow.js +1 -1
  13. package/lib/commonjs/ui/components/CompactRow.js +1 -1
  14. package/lib/commonjs/ui/components/DataInspector.js +1 -1
  15. package/lib/commonjs/ui/components/DraggableHeader.js +1 -1
  16. package/lib/commonjs/ui/floating/FloatingTool.web.js +1 -1
  17. package/lib/commonjs/ui/floating/index.web.js +1 -1
  18. package/lib/commonjs/ui/floating/portalHost.test.js +1 -0
  19. package/lib/commonjs/ui/floating/portalHost.web.js +1 -0
  20. package/lib/commonjs/ui/fonts.js +1 -1
  21. package/lib/commonjs/ui/index.js +1 -1
  22. package/lib/commonjs/ui/systemFont.js +1 -0
  23. package/lib/commonjs/utils/loadOptionalModule.js +1 -1
  24. package/lib/commonjs/utils/minimalSuperJSON.js +1 -1
  25. package/lib/commonjs/utils/nativeWeb.js +1 -1
  26. package/lib/commonjs/utils/persistentStorage.js +1 -1
  27. package/lib/module/JsModal.web.js +1 -1
  28. package/lib/module/clipboard/copyToClipboard.js +1 -1
  29. package/lib/module/dataViewer/VirtualizedDataExplorer.js +1 -1
  30. package/lib/module/hooks/useDeviceInfo.js +1 -1
  31. package/lib/module/license/AccountSetup.web.js +2 -2
  32. package/lib/module/settings/components/BubbleSettingsSection.js +1 -1
  33. package/lib/module/storage/buoyOwnership.js +1 -0
  34. package/lib/module/storage/buoyOwnership.test.js +1 -0
  35. package/lib/module/storage/devToolsStorageKeys.js +1 -1
  36. package/lib/module/storage/index.js +1 -1
  37. package/lib/module/ui/components/ChangeRow.js +1 -1
  38. package/lib/module/ui/components/CompactRow.js +1 -1
  39. package/lib/module/ui/components/DataInspector.js +1 -1
  40. package/lib/module/ui/components/DraggableHeader.js +1 -1
  41. package/lib/module/ui/floating/FloatingTool.web.js +1 -1
  42. package/lib/module/ui/floating/index.web.js +1 -1
  43. package/lib/module/ui/floating/portalHost.test.js +1 -0
  44. package/lib/module/ui/floating/portalHost.web.js +1 -0
  45. package/lib/module/ui/fonts.js +1 -1
  46. package/lib/module/ui/index.js +1 -1
  47. package/lib/module/ui/systemFont.js +1 -0
  48. package/lib/module/utils/loadOptionalModule.js +1 -1
  49. package/lib/module/utils/minimalSuperJSON.js +1 -1
  50. package/lib/module/utils/nativeWeb.js +1 -1
  51. package/lib/module/utils/persistentStorage.js +1 -1
  52. package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
  53. package/lib/typescript/commonjs/license/AccountSetup.web.d.ts +1 -1
  54. package/lib/typescript/commonjs/storage/buoyOwnership.d.ts +15 -0
  55. package/lib/typescript/commonjs/storage/buoyOwnership.test.d.ts +2 -0
  56. package/lib/typescript/commonjs/storage/index.d.ts +1 -0
  57. package/lib/typescript/commonjs/ui/floating/FloatingTool.web.d.ts +2 -2
  58. package/lib/typescript/commonjs/ui/floating/index.web.d.ts +1 -0
  59. package/lib/typescript/commonjs/ui/floating/portalHost.test.d.ts +2 -0
  60. package/lib/typescript/commonjs/ui/floating/portalHost.web.d.ts +8 -0
  61. package/lib/typescript/commonjs/ui/fonts.d.ts +1 -0
  62. package/lib/typescript/commonjs/ui/index.d.ts +1 -1
  63. package/lib/typescript/commonjs/ui/systemFont.d.ts +2 -0
  64. package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
  65. package/lib/typescript/module/license/AccountSetup.web.d.ts +1 -1
  66. package/lib/typescript/module/storage/buoyOwnership.d.ts +15 -0
  67. package/lib/typescript/module/storage/buoyOwnership.test.d.ts +2 -0
  68. package/lib/typescript/module/storage/index.d.ts +1 -0
  69. package/lib/typescript/module/ui/floating/FloatingTool.web.d.ts +2 -2
  70. package/lib/typescript/module/ui/floating/index.web.d.ts +1 -0
  71. package/lib/typescript/module/ui/floating/portalHost.test.d.ts +2 -0
  72. package/lib/typescript/module/ui/floating/portalHost.web.d.ts +8 -0
  73. package/lib/typescript/module/ui/fonts.d.ts +1 -0
  74. package/lib/typescript/module/ui/index.d.ts +1 -1
  75. package/lib/typescript/module/ui/systemFont.d.ts +2 -0
  76. package/lib/web/asyncStorage.mjs +1 -1
  77. package/lib/web/chunks/chunk-3HELV44Y.mjs +1 -0
  78. package/lib/web/chunks/chunk-4HIK66DZ.mjs +1 -0
  79. package/lib/web/chunks/chunk-4YLP5MMN.mjs +1 -0
  80. package/lib/web/chunks/chunk-5G6RSRP4.mjs +1 -0
  81. package/lib/web/chunks/chunk-7JJHWSTD.mjs +1 -0
  82. package/lib/web/chunks/chunk-AHVO74UQ.mjs +1 -0
  83. package/lib/web/chunks/chunk-CJTGUGMQ.mjs +1 -0
  84. package/lib/web/chunks/chunk-FA6WAQUA.mjs +6 -0
  85. package/lib/web/chunks/chunk-GMM6TGFO.mjs +1 -0
  86. package/lib/web/chunks/chunk-HIAN3HBD.mjs +1 -0
  87. package/lib/web/chunks/chunk-HPZXETRA.mjs +1 -0
  88. package/lib/web/chunks/chunk-NOSWH3E2.mjs +1 -0
  89. package/lib/web/chunks/chunk-OGAHL36T.mjs +15 -0
  90. package/lib/web/chunks/chunk-P32XO2YS.mjs +1 -0
  91. package/lib/web/chunks/chunk-SBYYOE2T.mjs +1 -0
  92. package/lib/web/chunks/chunk-T6T3FEMU.mjs +1 -0
  93. package/lib/web/chunks/chunk-VAR5UK6J.mjs +1 -0
  94. package/lib/web/chunks/persistentStorage.web-NOUYFUMM.mjs +1 -0
  95. package/lib/web/colors.mjs +1 -1
  96. package/lib/web/dataViewer.mjs +2 -2
  97. package/lib/web/floating.mjs +1 -1
  98. package/lib/web/history.mjs +1 -1
  99. package/lib/web/hooks.mjs +1 -1
  100. package/lib/web/index.mjs +3 -3
  101. package/lib/web/native.mjs +1 -1
  102. package/lib/web/ui.mjs +1 -1
  103. package/lib/web/utils.mjs +1 -1
  104. package/package.json +5 -5
  105. package/lib/web/chunks/chunk-3UTMGIUG.mjs +0 -1
  106. package/lib/web/chunks/chunk-4IM4VIMP.mjs +0 -1
  107. package/lib/web/chunks/chunk-53J2FMUD.mjs +0 -1
  108. package/lib/web/chunks/chunk-ASHW3TI7.mjs +0 -1
  109. package/lib/web/chunks/chunk-BZTGYXMT.mjs +0 -1
  110. package/lib/web/chunks/chunk-CE5U3CSQ.mjs +0 -1
  111. package/lib/web/chunks/chunk-E2MI3FII.mjs +0 -15
  112. package/lib/web/chunks/chunk-FP44YK4E.mjs +0 -1
  113. package/lib/web/chunks/chunk-GF364FIK.mjs +0 -1
  114. package/lib/web/chunks/chunk-L63X3LPR.mjs +0 -1
  115. package/lib/web/chunks/chunk-L7OYS724.mjs +0 -1
  116. package/lib/web/chunks/chunk-LZ7FZZ7R.mjs +0 -1
  117. package/lib/web/chunks/chunk-NVD5LLXD.mjs +0 -1
  118. package/lib/web/chunks/chunk-QNLAFQET.mjs +0 -1
  119. package/lib/web/chunks/chunk-SYU4BFQR.mjs +0 -6
  120. package/lib/web/chunks/chunk-UYWHGSA7.mjs +0 -1
  121. package/lib/web/chunks/persistentStorage.web-3QA77BIL.mjs +0 -1
@@ -0,0 +1 @@
1
+ "use client";import{d as c}from"./chunk-AHVO74UQ.mjs";import{a as n,b as $e}from"./chunk-T6T3FEMU.mjs";var xe=n(e=>{if(e===null)return"null";if(e===void 0)return"undefined";if(Array.isArray(e))return"array";let t=typeof e;return t==="object"?e instanceof Date?"date":e instanceof RegExp?"regexp":e instanceof Map?"map":e instanceof Set?"set":e instanceof Error?"error":"object":t},"getValueType"),Ce=n(e=>{let t=typeof e;return e==null||t==="string"||t==="number"||t==="boolean"||t==="bigint"||t==="symbol"},"isPrimitive"),Me=n(e=>{try{return JSON.stringify(e),true}catch{return false}},"isJsonSerializable"),Pe=n(e=>{try{return JSON.parse(e),true}catch{return false}},"isValidJson"),ke=n(e=>{if(e===null)return"null";if(e===void 0)return"undefined";try{return e.constructor?.name||typeof e}catch{return typeof e}},"getConstructorName"),Ae=n(e=>e==null?true:typeof e=="string"||Array.isArray(e)?e.length===0:typeof e=="object"?Object.keys(e).length===0:false,"isEmpty"),De=n(e=>{if(Array.isArray(e)){let t=e.length;return t===0?"empty array":t===1?"1 item":`${t} items`}if(e&&typeof e=="object"){let t=Object.keys(e).length;return t===0?"empty object":t===1?"1 key":`${t} keys`}if(typeof e=="string"){let t=e.length;return t===0?"empty string":t===1?"1 character":`${t} characters`}return""},"getValueSize"),Ne=n(e=>typeof e=="object"&&e!==null&&!Array.isArray(e)&&e.constructor===Object,"isPlainObject");var Le=n(e=>{if(e==null)return e;if(typeof e=="string")try{return JSON.parse(e)}catch{return e}return e},"parseValue"),_e=n(e=>e===null?"null":e===void 0?"undefined":typeof e=="string"?`"${e}"`:typeof e=="boolean"?e?"true":"false":typeof e=="number"?String(e):typeof e=="function"?`[Function: ${e.name||"anonymous"}]`:typeof e=="object"?Array.isArray(e)?`[Array: ${e.length} items]`:`{Object: ${Object.keys(e).length} keys}`:String(e),"formatValue"),Be=n(e=>{if(e===null)return c.dataTypes.null;if(e===void 0)return c.dataTypes.undefined;switch(typeof e){case"string":return c.dataTypes.string;case"number":return c.dataTypes.number;case"boolean":return c.dataTypes.boolean;case"function":return c.dataTypes.function;case"object":return Array.isArray(e)?c.dataTypes.array:c.dataTypes.object;default:return c.primary}},"getTypeColor"),Ve=n((e,t)=>e.length<=t?e:e.slice(0,t-3)+"...","truncateText"),x=n((e,t="")=>{let r={};return e==null?r:typeof e!="object"?(r[t||"root"]=e,r):(Array.isArray(e)?e.forEach((a,o)=>{let s=t?`${t}[${o}]`:`[${o}]`;typeof a=="object"&&a!==null?Object.assign(r,x(a,s)):r[s]=a}):Object.keys(e).forEach(a=>{let o=t?`${t}.${a}`:a,s=e[a];typeof s=="object"&&s!==null?Object.assign(r,x(s,o)):r[o]=s}),r)},"flattenObject"),Fe=n(e=>e.length===0?"root":e.map((t,r)=>typeof t=="number"?`[${t}]`:r===0?t:`.${t}`).join(""),"formatPath");var Ue={log:n(()=>{},"log"),warn:n(()=>{},"warn"),error:n((...e)=>{console.error("[Buoy]","[optional-module]",...e)},"error")},y=new Map,m=new Map,W=new Set;async function z(e,t={}){if(y.has(e))return y.get(e);let r={...Ue,...t.logger??{}};m.has(e)||m.set(e,(async()=>{try{let o=await J(e,t),s=o?.default??o;return y.set(e,s),r.log("Loaded optional module",e),s}catch(o){return r.log("Optional module unavailable",e,o),y.set(e,null),null}})());let a=await m.get(e);return m.delete(e),!a&&t.warnOnceKey&&!W.has(t.warnOnceKey)&&(W.add(t.warnOnceKey),r.warn(t.warningMessage??`Module '${e}' not found.`)),a}n(z,"loadOptionalModule");var I=(()=>{try{return new Function("moduleName","return import(moduleName);")}catch{return null}})(),q=(()=>{try{return new Function("return typeof require === 'function' ? require : undefined;")()}catch{return}})();async function J(e,t){if(t.loader)return await Promise.resolve(t.loader());if(I)return I(e);if(q)return q(e);throw new Error(`No dynamic loader available for optional module '${e}'.`)}n(J,"loadModuleWithFallback");function H(e){return y.has(e)?y.get(e):null}n(H,"getCachedOptionalModule");var K="__buoyRenderCaptureProvider";function C(){return globalThis}n(C,"providerHost");function G(e){C()[K]=e}n(G,"setRenderCaptureProvider");function X(){return C()[K]??null}n(X,"getRenderCaptureProvider");var g=new Map,M=new Set;function P(){M.forEach(e=>{try{e()}catch{}})}n(P,"notify");function Y(e){return g.set(e.id,e),P(),()=>{g.get(e.id)===e&&(g.delete(e.id),P())}}n(Y,"registerStateSnapshotProvider");function Q(){return Array.from(g.values())}n(Q,"getStateSnapshotProviders");function Z(e){return g.get(e)??null}n(Z,"getStateSnapshotProvider");function ee(e){return M.add(e),()=>{M.delete(e)}}n(ee,"subscribeToStateSnapshotProviders");function S(){return null}n(S,"loadDevSettings");function E(){return null}n(E,"loadExpoUpdates");function O(){return typeof window>"u"?null:()=>window.location.reload()}n(O,"loadBrowserReload");function R(e="auto"){return e==="browser"?O()?"browser":null:e==="auto"&&O()?"browser":e==="dev-settings"?S()?"dev-settings":null:e==="expo-updates"?E()?"expo-updates":null:$e&&S()?"dev-settings":E()?"expo-updates":null}n(R,"resolveReloadStrategy");function k(e){return e==="browser"?"[buoy] Browser reload requires a browser window.":e==="dev-settings"?"[buoy] DevSettings.reload() unavailable \u2014 strategy 'dev-settings' requires React Native dev mode.":e==="expo-updates"?"[buoy] expo-updates not installed \u2014 strategy 'expo-updates' requires the host app to add the dependency.":"[buoy] No reload mechanism available. Run in __DEV__ or install expo-updates."}n(k,"unavailableMessage");async function A(e="auto",t="buoy reload"){let r=R(e);if(!r)throw new Error(k(e));return r==="browser"?O()():r==="dev-settings"?S().reload(t):await E().reloadAsync(),await new Promise(()=>{})}n(A,"reloadApp");var te=250;function re(e){let t=e?.strategy??"auto",r=R(t);if(!r)throw new Error(k(t));let a=Math.max(0,e?.delayMs??te),o=e?.reason??"buoy remote reload";return setTimeout(()=>{A(r,o).catch(()=>{})},a),{strategy:r,delayMs:a}}n(re,"scheduleReloadApp");function ne(){return null}n(ne,"getDevServerOrigin");function ae(){let e=globalThis.__buoyRealNow;return typeof e=="function"?e():Date.now()}n(ae,"realNow");var oe=class Xe{constructor(){this.listeners=new Set;this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}getListenerCount(){return this.listeners.size}notify(...t){this.listeners.forEach(r=>{r(...t)})}onSubscribe(){}onUnsubscribe(){}};n(oe,"Subscribable");var We=oe;var se=class Ye{constructor(){this.listeners=new Set}subscribe(t){return this.listeners.add(t),()=>{this.listeners.delete(t)}}notify(t){this.listeners.forEach(r=>{try{r(t)}catch{}})}};n(se,"SubscriberCountNotifier");var ze=se,D=new ze,Ie=n(e=>D.subscribe(e),"subscribeToSubscriberCountChanges"),qe=n(e=>D.notify(e),"notifySubscriberCountChange");import{useSyncExternalStore as ie}from"react";var l,w=new Set,N,ue;function le(e){return l=e,()=>{l===e&&(l=void 0)}}n(le,"registerBrowserRouter");function d(){return typeof location>"u"?"/":location.href}n(d,"getBrowserHref");function L(e=d()){let t=new URL(e,"http://localhost"),r=t.hash.startsWith("#/")?new URL(t.hash.slice(1),t.origin):t;return r.pathname||(r.pathname="/"),r}n(L,"getBrowserRouteURL");var b;function _(e){if(!w.size&&typeof window<"u"){let t=window.history,r=n(o=>{for(let s of[...w])try{s({href:d(),kind:o})}catch{}},"emit");if(b)b.active=true;else{let o=t.pushState,s=t.replaceState,i={push:o,replace:s,active:true},p=n(function(...h){let $=Reflect.apply(o,this,h);return i.active&&r("push"),$},"wrappedPush"),u=n(function(...h){let $=Reflect.apply(s,this,h);return i.active&&r("replace"),$},"wrappedReplace");t.pushState=p,t.replaceState=u,b=i,ue=n(()=>{t.pushState!==p||t.replaceState!==u||(t.pushState=o,t.replaceState=s,b=void 0)},"unwrap")}let a=n(()=>r("pop"),"pop");window.addEventListener("popstate",a),window.addEventListener("hashchange",a),N=n(()=>{b&&(b.active=false),ue?.(),window.removeEventListener("popstate",a),window.removeEventListener("hashchange",a),N=void 0},"detach")}return w.add(e),()=>{w.delete(e),w.size||N?.()}}n(_,"subscribeBrowserNavigation");function B(e){let t=typeof e=="string"?e:e.pathname,r=new URL(t,d());if(r.origin!==window.location.origin)throw new Error("Tool navigation must stay on the current origin.");if(typeof e!="string")for(let[a,o]of Object.entries(e.params??{}))r.searchParams.set(a,String(o));return`${r.pathname}${r.search}${r.hash}`}n(B,"pathFor");var v={push(e){let t=B(e);if(l)return l.push(t);window.history.pushState(null,"",window.location.hash.startsWith("#/")?`#${t}`:t),window.dispatchEvent(new PopStateEvent("popstate",{state:window.history.state}))},replace(e){let t=B(e);if(l)return l.replace(t);window.history.replaceState(window.history.state,"",window.location.hash.startsWith("#/")?`#${t}`:t),window.dispatchEvent(new PopStateEvent("popstate",{state:window.history.state}))},back(){l?l.back():window.history.back()},canGoBack(){return l?.canGoBack?.()??(typeof window<"u"&&window.history.length>1)},navigate(e){v.push(e)},setParams(e){v.replace({pathname:d(),params:e})},dismiss(e=1){window.history.go(-e)},dismissAll(){throw new Error("Use the captured browser history to select a destination.")}};var ce=n(e=>_(e),"subscribe"),T=L;function pe(){return v}n(pe,"useSafeRouter");function V(){return ie(ce,d,()=>"/"),T().pathname}n(V,"useSafePathname");function de(){return V().split("/").filter(Boolean)}n(de,"useSafeSegments");function fe(){return ie(ce,d,()=>"/"),Object.fromEntries(T().searchParams)}n(fe,"useSafeGlobalSearchParams");function he(){return typeof window>"u"?null:v}n(he,"getSafeRouter");function ye(){return T().pathname}n(ye,"getSafeCurrentPathname");function be(){let e=T();return{pathname:e.pathname,href:`${e.pathname}${e.search}${e.hash}`,segments:e.pathname.split("/").filter(Boolean)}}n(be,"getSafeCurrentRoute");function ge(){return false}n(ge,"isExpoRouterAvailable");var we=new WeakMap,Je=1;function f(e){return!!e&&typeof e=="object"&&e.nodeType===1&&typeof e.getBoundingClientRect=="function"}n(f,"isDOMElement");function j(e){if(!f(e))return null;let t=we.get(e);return t===void 0&&(t=Je++,we.set(e,t)),t}n(j,"getDOMNodeHandle");function ve(e){if(!f(e))return null;let t=Object.keys(e).find(r=>r.startsWith("__reactFiber$"));return t?e[t]:null}n(ve,"getDOMFiber");function me(e,t){if(!f(e)||!t)return t;let r=e,a=e.tagName.toLowerCase(),o=a==="input"&&(r.type==="checkbox"||r.type==="radio"),s=a==="input"&&r.type==="range",i=a==="textarea"||a==="select"||a==="input"&&!o&&!s&&!["button","submit","reset","file","hidden"].includes(r.type),p=n(u=>{if(o){r.checked!==!!u&&r.click();return}let h=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(r),"value")?.set;h?h.call(r,String(u)):r.value=String(u),r.dispatchEvent(new Event("input",{bubbles:true})),r.dispatchEvent(new Event("change",{bubbles:true}))},"setValue");return{...t,__buoyDevToolsRoot:t.__buoyDevToolsRoot||t["data-buoy-root"]!==void 0,testID:t.testID??t["data-testid"],nativeID:t.nativeID??t.id,accessibilityLabel:t.accessibilityLabel??t["aria-label"],accessibilityRole:t.accessibilityRole??t.role??(a==="button"?"button":a==="a"?"link":o?r.type:i?"textbox":s?"slider":void 0),onPress:t.onPress??(typeof t.onClick=="function"||a==="button"||a==="a"?()=>r.click():void 0),...o||s?{onValueChange:p,value:o?r.checked:Number(r.value),...s?{minimumValue:Number(r.min||0),maximumValue:Number(r.max||100)}:{}}:{},...i?{onChangeText:p,value:r.value}:{}}}n(me,"getDOMControlProps");function Se(e){return f(e)?{__nativeTag:j(e),measure(t){let r=e.getBoundingClientRect();t(r.x,r.y,r.width,r.height,r.x,r.y)},measureInWindow(t){let r=e.getBoundingClientRect();t(r.x,r.y,r.width,r.height)},requestTVFocus(){e.focus()},focus(){e.focus()}}:null}n(Se,"getDOMPublicInstance");var He={topFocus:"focus",topBlur:"blur",topTouchStart:"pointerdown",topTouchMove:"pointermove",topTouchEnd:"pointerup",topTouchCancel:"pointercancel",topChange:"input",topValueChange:"input",topSlidingComplete:"change"};function Ee(){return typeof document>"u"?{emitter:null,reason:"DOM events are unavailable during server rendering."}:{reason:null,emitter:{addListener(e,t){let r=He[e];if(!r)throw new Error(`Unsupported DOM event: ${e}`);let a=n(o=>{let s=o.composedPath()[0]??o.target;if(!f(s))return;let i=s,p=o,u={target:j(s),pageX:p.clientX,pageY:p.clientY};(r==="input"||r==="change")&&(i.type==="checkbox"||i.type==="radio"?u.value=i.checked:i.type==="range"?u.value=Number(i.value):u.text=i.value??s.textContent??""),t({eventName:e,nativeEvent:u})},"callback");return document.addEventListener(r,a,true),{remove:n(()=>document.removeEventListener(r,a,true),"remove")}}}}}n(Ee,"resolveDOMEventEmitter");var F=new Map,Oe=0;function Re(e){for(let[t,r]of Object.entries(e)){let a=t.startsWith("@buoy-gg/")?t.replace(/\/web$/,""):`@buoy-gg/${t}`;F.get(a)!==r&&(F.set(a,r),Oe++)}}n(Re,"registerToolModules");function U(e){return F.get(e)??null}n(U,"getRegisteredToolModule");function Te(){return Oe}n(Te,"getToolModuleVersion");function je(e){let t=U(e);if(!t)throw new Error(`Register ${e} with createWebTools before opening tools that use it.`);return t}n(je,"loadToolModule");export{We as a,D as b,Ie as c,qe as d,xe as e,Ce as f,Me as g,Pe as h,ke as i,Ae as j,De as k,Ne as l,ae as m,Le as n,_e as o,Be as p,Ve as q,x as r,Fe as s,z as t,H as u,G as v,X as w,Y as x,Q as y,Z as z,ee as A,R as B,A as C,te as D,re as E,ne as F,le as G,d as H,L as I,_ as J,v as K,pe as L,V as M,de as N,fe as O,he as P,ye as Q,be as R,ge as S,f as T,j as U,ve as V,me as W,Se as X,Ee as Y,Re as Z,U as _,Te as $,je as aa};
@@ -0,0 +1 @@
1
+ "use client";import{a as t}from"./chunk-GF5C5DVX.mjs";import{Vb as B,Xb as H,sd as y}from"./chunk-CJTGUGMQ.mjs";import{J as A,a as o,b as n,d as j}from"./chunk-5G6RSRP4.mjs";import{a as k}from"./chunk-T6T3FEMU.mjs";import{jsx as r,jsxs as i}from"react/jsx-runtime";function x({statusDotColor:s,statusLabel:w,statusSublabel:p,primaryText:C,secondaryText:l,secondaryAccessory:b,expandedContent:g,isExpanded:a,badgeText:d,badgeColor:T,customBadge:f,showChevron:D,bottomRightText:c,isSelected:I,onPress:h,disabled:R,expandedGlowColor:m,testID:S,statusTestID:v,statusSublabelTestID:W,primaryTestID:L,secondaryTestID:z,accessibilityLabel:O,trailingAction:u}){return r(o,{style:[e.rowWrapper,a&&e.rowWrapperExpanded],children:i(o,{style:[e.row,I&&e.selectedRow,a&&[e.expandedRowActive,{borderColor:m||t.color.accent,borderBottomColor:m||t.color.accent,shadowColor:m||t.color.accent}]],children:[i(o,{style:e.headerRow,children:[r(j,{style:e.headerPress,onPress:h,activeOpacity:.8,disabled:R||!h,testID:S,accessibilityLabel:O,accessibilityRole:h?"button":void 0,children:i(o,{style:e.rowContent,children:[i(o,{style:e.statusSection,children:[r(o,{style:[e.statusDot,{backgroundColor:s}]}),i(o,{style:e.statusInfo,children:[r(n,{style:[e.statusLabel,{color:s}],numberOfLines:1,testID:v,children:w}),p?r(n,{style:e.observerText,numberOfLines:1,testID:W,children:p}):null]})]}),i(o,{style:e.querySection,children:[r(n,{style:e.queryHash,numberOfLines:a?void 0:2,testID:L,children:C}),!a&&(l||b)?i(o,{style:e.secondaryRow,children:[l?r(n,{style:e.secondaryText,numberOfLines:1,testID:z,children:l}):null,b]}):null]}),i(o,{style:e.rightSection,children:[(f||d!==void 0||!a&&c)&&i(o,{style:e.badgeContainer,children:[f||(d!==void 0?r(n,{style:[e.statusBadge,{color:T||s}],numberOfLines:1,ellipsizeMode:"tail",children:d}):null),!a&&c?r(n,{style:e.bottomRightText,numberOfLines:1,children:c}):null]}),D&&r(o,{style:e.chevronContainer,children:a?r(B,{size:14,color:t.color.textTertiary}):r(H,{size:14,color:t.color.textTertiary})})]})]})}),u?r(o,{style:e.trailingAction,children:u}):null]}),a&&g&&r(o,{style:e.expandedContent,children:g})]})})}k(x,"CompactRow");var e=A.create({rowWrapper:{position:"relative",marginHorizontal:8,marginVertical:3},rowWrapperExpanded:{marginVertical:12},row:{backgroundColor:"rgba(12, 12, 12, 0.9)",borderRadius:8,borderWidth:1,borderColor:t.color.border,borderBottomWidth:1,borderBottomColor:t.color.separator,padding:12,paddingHorizontal:12,transform:[{scale:1}]},selectedRow:{backgroundColor:t.color.accentSoft,borderColor:t.color.accentBorderStrong,transform:[{scale:1.01}],shadowColor:t.color.accent,shadowOffset:{width:0,height:0},shadowOpacity:.1,shadowRadius:8,elevation:2},expandedRowActive:{transform:[{scale:1.02}],borderWidth:2,paddingBottom:16,shadowOffset:{width:0,height:0},shadowOpacity:.8,shadowRadius:20,elevation:10},headerRow:{flexDirection:"row",alignItems:"center"},headerPress:{flex:1,minWidth:0},trailingAction:{marginLeft:8,justifyContent:"center"},rowContent:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},statusSection:{flexDirection:"row",alignItems:"center",gap:8,width:90,minWidth:90},statusDot:{width:8,height:8,borderRadius:4},statusInfo:{flex:1,maxWidth:70},statusLabel:{fontSize:11,fontWeight:"600",lineHeight:14},observerText:{fontSize:10,color:t.color.textTertiary,marginTop:1},querySection:{flex:2,minWidth:0,paddingHorizontal:12},queryHash:{fontFamily:y,fontSize:12,color:t.color.text,lineHeight:16},secondaryRow:{flexDirection:"row",alignItems:"center",gap:6,marginTop:1},secondaryText:{fontSize:10,color:t.color.textTertiary,marginTop:1,flexShrink:1},rightSection:{flexDirection:"row",alignItems:"center",gap:8},badgeContainer:{flexDirection:"column",alignItems:"flex-end",gap:2},statusBadge:{maxWidth:96,fontSize:12,fontWeight:"600",fontVariant:["tabular-nums"]},chevronContainer:{padding:2},expandedContent:{marginTop:8,paddingTop:8,borderTopWidth:1,borderTopColor:t.color.separator,marginLeft:24},bottomRightText:{fontSize:9,color:t.color.textTertiary,fontFamily:y}});export{x as a};
@@ -0,0 +1 @@
1
+ "use client";import{a as c}from"./chunk-P32XO2YS.mjs";import{a as d}from"./chunk-T6T3FEMU.mjs";import{useState as u,useCallback as n}from"react";function w(a=new Set){let[r,s]=u(a),[i,l]=u(false),[p,m]=u(""),h=n(e=>{let o=e.trim();o&&(s(t=>new Set([...t,o])),m(""),l(false))},[]),v=n(e=>{s(o=>{let t=new Set(o);return t.delete(e),t})},[]),S=n(e=>{s(o=>{let t=new Set(o);return t.has(e)?t.delete(e):t.add(e),t})},[]),F=n(()=>{s(new Set),m(""),l(false)},[]),g=n(e=>r.has(e),[r]);return{filters:r,showAddInput:i,newFilter:p,setNewFilter:m,setShowAddInput:l,addFilter:h,removeFilter:v,toggleFilter:S,clearFilters:F,hasFilter:g}}d(w,"useFilterManager");import{useEffect as x,useState as b}from"react";function f(a={}){let[r,s]=b({top:0,bottom:0,left:0,right:0});return x(()=>{let i=d(()=>s(c()),"update");return i(),window.addEventListener("resize",i),window.visualViewport?.addEventListener("resize",i),()=>{window.removeEventListener("resize",i),window.visualViewport?.removeEventListener("resize",i)}},[]),{top:Math.max(r.top,a.minTop??0),bottom:Math.max(r.bottom,a.minBottom??0),left:Math.max(r.left,a.minLeft??0),right:Math.max(r.right,a.minRight??0)}}d(f,"useSafeAreaInsets");export{w as a,f as b};
@@ -0,0 +1 @@
1
+ "use client";import{a as l}from"./chunk-T6T3FEMU.mjs";function d(e){if(typeof e!="object"||e===null)return false;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}l(d,"isPlainObjectLike");function p(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}l(p,"isTypedArray");function A(e,t,n){let i={nodes:n?.maxNodes??2e3,truncated:false};return y(e,t,n?.maxDepth??8,i,new WeakSet)}l(A,"boundedDeepEqual");function y(e,t,n,i,o){if(i.nodes--<=0)return i.truncated=true,false;if(Object.is(e,t))return true;if(typeof e!=typeof t)return false;if(typeof e!="object"||e===null||t===null)return typeof e=="function"&&typeof t=="function";if(e instanceof Date||t instanceof Date)return e instanceof Date&&t instanceof Date&&e.getTime()===t.getTime();if(e instanceof RegExp||t instanceof RegExp)return e instanceof RegExp&&t instanceof RegExp&&e.source===t.source&&e.flags===t.flags;if(e instanceof Error||t instanceof Error)return e instanceof Error&&t instanceof Error&&e.name===t.name&&e.message===t.message;if(typeof URL<"u"&&(e instanceof URL||t instanceof URL))return e instanceof URL&&t instanceof URL&&e.href===t.href;if(p(e)||p(t)){if(!p(e)||!p(t)||e.constructor!==t.constructor||e.byteLength!==t.byteLength)return false;let a=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),u=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);for(let f=0;f<a.length;f++)if(a[f]!==u[f])return false;return true}if(n<=0||o.has(e))return i.truncated=true,false;if(o.add(e),e instanceof Map||t instanceof Map){if(!(e instanceof Map)||!(t instanceof Map)||e.size!==t.size)return false;let a=Array.from(e.entries()),u=Array.from(t.entries());for(let f=0;f<a.length;f++)if(!y(a[f][0],u[f][0],n-1,i,o)||!y(a[f][1],u[f][1],n-1,i,o))return false;return true}if(e instanceof Set||t instanceof Set){if(!(e instanceof Set)||!(t instanceof Set)||e.size!==t.size)return false;let a=Array.from(e.values()),u=Array.from(t.values());for(let f=0;f<a.length;f++)if(!y(a[f],u[f],n-1,i,o))return false;return true}if(Array.isArray(e)||Array.isArray(t)){if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return false;for(let a=0;a<e.length;a++)if(!y(e[a],t[a],n-1,i,o))return false;return true}let r=Object.keys(e),s=Object.keys(t);if(r.length!==s.length)return false;for(let a of r)if(!Object.prototype.hasOwnProperty.call(t,a)||!y(e[a],t[a],n-1,i,o))return false;return true}l(y,"deepEqual");function O(e,t,n){let i=n?.maxDepth??8,o={nodes:n?.maxNodes??2e3,truncated:false},r=d(e),s=d(t);if(!r||!s){let c=y(e,t,i,o,new WeakSet);return{equal:c,addedKeys:[],removedKeys:[],changedKeys:c?[]:["value"],truncated:o.truncated}}let a=[],u=[],f=[],h=e,b=t;for(let c of Object.keys(h))Object.prototype.hasOwnProperty.call(b,c)?y(h[c],b[c],i-1,o,new WeakSet)||f.push(c):u.push(c);for(let c of Object.keys(b))Object.prototype.hasOwnProperty.call(h,c)||a.push(c);return{equal:a.length===0&&u.length===0&&f.length===0,addedKeys:a,removedKeys:u,changedKeys:f,truncated:o.truncated}}l(O,"objectDiff");var L=12;function m(e){return g(e,L,new WeakSet)}l(m,"toDiffable");function g(e,t,n){if(e==null)return e;let i=typeof e;if(i==="string"||i==="boolean")return e;if(i==="number")return Number.isFinite(e)?e:String(e);if(i==="bigint")return`${String(e)}n`;if(i==="function")return"[Function]";if(i==="symbol"||i!=="object")return String(e);if(e instanceof Date)return e.toISOString();if(e instanceof RegExp)return String(e);if(e instanceof Error)return`[${e.name}: ${e.message}]`;if(typeof URL<"u"&&e instanceof URL)return e.href;if(p(e))return`<${e.constructor.name} ${e.byteLength} bytes>`;if(t<=0)return"[Max depth]";if(n.has(e))return"[Circular]";if(n.add(e),e instanceof Map){let r={};for(let[s,a]of e.entries()){let u=typeof s=="string"?s:JSON.stringify(m(s));r[u]=g(a,t-1,n)}return r}if(e instanceof Set)return Array.from(e.values()).map(r=>g(r,t-1,n));if(Array.isArray(e))return e.map(r=>g(r,t-1,n));let o={};for(let[r,s]of Object.entries(e))o[r]=g(s,t-1,n);return o}l(g,"normalizeForDiff");function j(e,t){let n=0,i=[e],o=new Set;for(;i.length>0;){let r=i.pop();if(r==null)n+=4;else if(typeof r=="string")n+=r.length+2;else if(typeof r=="number"||typeof r=="boolean")n+=8;else if(typeof r=="bigint")n+=String(r).length+1;else if(typeof r=="object"){if(o.has(r))continue;if(o.add(r),r instanceof Date||r instanceof RegExp)n+=32;else if(p(r))n+=r.byteLength;else if(r instanceof Map)for(let[s,a]of r.entries())i.push(s,a),n+=4;else if(r instanceof Set)for(let s of r.values())i.push(s),n+=2;else if(Array.isArray(r)){for(let s of r)i.push(s);n+=2*r.length+2}else for(let[s,a]of Object.entries(r))n+=s.length+4,i.push(a)}if(n>t)return true}return false}l(j,"jsonLikelyLargerThan");function S(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)&&!(e instanceof Date)&&!(e instanceof Error)&&!(e instanceof Map)&&!(e instanceof Set)&&!(e instanceof RegExp)&&typeof e!="function"}l(S,"isPlainObject");function E(e){switch(e.toLowerCase().trim()){case"local":return"local";case"dev":case"development":return"dev";case"qa":case"test":return"qa";case"staging":case"stage":return"staging";case"prod":case"production":return"prod";default:return"local"}}l(E,"normalizeEnvironment");export{A as a,O as b,m as c,j as d,S as e,E as f};
@@ -0,0 +1,15 @@
1
+ "use client";import{e as ge}from"./chunk-P32XO2YS.mjs";import{d as $}from"./chunk-7JJHWSTD.mjs";import{A as j,G as z,H as r,W as fe,p as T,q as S,s as w,u as A,x as N,z as V}from"./chunk-5G6RSRP4.mjs";import{a as l}from"./chunk-T6T3FEMU.mjs";import{useCallback as he,useEffect as ye,useRef as U,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,n={}){let[s,o]=K(()=>B.has(e)?B.get(e):t),[v,h]=K(()=>B.has(e)),d=U(e);d.current=e;let u=U(n);u.current=n,ye(()=>{if(B.has(e)){o(B.get(e)),h(true);return}let c=false,m=u.current.storage??$,p=u.current.parse??X;return m.getItem(e).then(y=>{if(!c){if(y!=null){let g;try{g=p(y)}catch{}g!==void 0&&(B.set(e,g),o(g))}h(true)}}).catch(()=>{c||h(true)}),()=>{c=true}},[e]);let I=he(c=>{o(m=>{let p=typeof c=="function"?c(m):c;B.set(d.current,p);let y=u.current.storage??$,g=u.current.serialize??JSON.stringify;try{y.setItem(d.current,g(p)).catch(()=>{})}catch{}return p})},[]);return[s,I,v]}l(_,"usePersistedState");function Q(){B.clear()}l(Q,"resetPersistedStateCache");import{useCallback as F,useEffect as Z,useMemo as Se,useState as D}from"react";function ee(e,t={}){let[n,s]=D(()=>e.getAll()),[o,v]=D(()=>t.initialFilter??{}),[h,d]=D(()=>e.getEnabled());Z(()=>e.subscribe(s),[e]);let u=t.filterItems,I=Se(()=>u?u(n,o):n,[n,o,u]),c=F(()=>{e.clear()},[e]),m=F(()=>{let y=!h;e.setEnabled(y),d(y)},[e,h]),p=F(y=>e.getById(y),[e]);return{items:n,filteredItems:I,filter:o,setFilter:v,isEnabled:h,toggleCapture:m,clear:c,getById:p}}l(ee,"useChangeLog");function te(e,t){let[n,s]=D(e);return Z(()=>t(s),[t]),n}l(te,"useSubscribedValue");import{useCallback as me,useEffect as pe,useState as ne}from"react";function ie(e,t={}){let{enabled:n=true,maxEvents:s=500,select:o}=t,[v,h]=ne([]),[d,u]=ne(n);pe(()=>{if(!n){u(false);return}let c=null,m=null,p=e.subscribeToEvents(y=>{m=y,c==null&&(c=requestAnimationFrame(()=>{if(c=null,!m)return;let g=m;m=null,o&&(g=o(g)),g.length>s&&(g=g.slice(0,s)),h(g)}))});return u(true),()=>{p(),c!=null&&cancelAnimationFrame(c)}},[e,n,s,o]);let I=me(()=>{e.clearEvents()},[e]);return{events:v,clearEvents:I,isActive:d}}l(ie,"useEventStoreEvents");import{useState as b,useEffect as C,useCallback as be}from"react";async function J(){let[e,t,n]=await Promise.all([S.isScreenReaderEnabled(),S.isReduceMotionEnabled(),S.isReduceTransparencyEnabled()]),s={isScreenReaderEnabled:e,isReduceMotionEnabled:t,isReduceTransparencyEnabled:n};if(r.OS==="ios"){let[o,v,h,d,u]=await Promise.all([S.isBoldTextEnabled?.()??Promise.resolve(false),S.isGrayscaleEnabled?.()??Promise.resolve(false),S.isInvertColorsEnabled?.()??Promise.resolve(false),S.isDarkerSystemColorsEnabled?.()??Promise.resolve(false),S.prefersCrossFadeTransitions?.()??Promise.resolve(false)]);s.isBoldTextEnabled=o,s.isGrayscaleEnabled=v,s.isInvertColorsEnabled=h,s.isDarkerSystemColorsEnabled=d,s.prefersCrossFadeTransitions=u}if(r.OS==="android"){let o=await S.isHighTextContrastEnabled?.()??false;s.isHighTextContrastEnabled=o}return s}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=N.get("window"),t=N.get("screen"),n={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:z.get(),fontScale:z.getFontScale(),isLandscape:e.width>e.height,isPortrait:e.height>e.width};if(r.OS==="ios")try{let s=T.DeviceInfo?.getConstants?.();n.isIPhoneNotched=s?.isIPhoneX_deprecated??false}catch{n.isIPhoneNotched=false}if(r.OS==="android")try{let s=T.DeviceInfo?.getConstants?.();n.isEdgeToEdge=s?.isEdgeToEdge??false,n.densityDpi=Math.round(e.scale*160)}catch{}return n}l(L,"getDisplayInfo");async function x(){return new Promise(e=>{let t=false;r.OS==="ios"?T.StatusBarManager?.getHeight?.(n=>{t||(t=true,e(n?.height??null))})??e(null):r.OS==="android"?(t=true,e(fe.currentHeight??null)):(t=true,e(null)),setTimeout(()=>{t||(t=true,e(null))},100)})}l(x,"getStatusBarHeight");function P(){let e={isRTL:V.isRTL,doLeftAndRightSwapInRTL:V.doLeftAndRightSwapInRTL};return r.OS==="android"&&(e.localeIdentifier=V.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 n=T.PlatformConstants;n?.getAndroidID&&(e.androidId=n.getAndroidID())}catch{}}return e}l(k,"getUniqueIdentifiers");function ae(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("|"),n=0;for(let s=0;s<t.length;s++){let o=t.charCodeAt(s);n=(n<<5)-n+o,n=n&n}return Math.abs(n).toString(16).padStart(8,"0")}l(ae,"generateFingerprint");function se(){let[e,t]=b(true),[n,s]=b(O()),[o,v]=b(L()),[h,d]=b({isScreenReaderEnabled:false,isReduceMotionEnabled:false,isReduceTransparencyEnabled:false}),[u,I]=b(()=>{let f=w.getColorScheme()??null;return{colorScheme:f,prefersDarkMode:f==="dark"}}),[c,m]=b(P()),[p,y]=b({height:null,isVisible:true}),[g,H]=b({isVisible:false,height:0,animationDuration:0}),[G,le]=b({currentState:A.currentState,isActive:A.currentState==="active"}),[q,ce]=b(k()),[W,de]=b(R()),[Y,ue]=b(Date.now()),M=be(async()=>{t(true);let[f,i]=await Promise.all([J(),x()]);s(O()),v(L()),d(f);let a=w.getColorScheme()??null;I({colorScheme:a,prefersDarkMode:a==="dark"}),m(P()),y(E=>({...E,height:i})),ce(k()),de(R()),ue(Date.now()),t(false)},[]);return C(()=>{M()},[M]),C(()=>{let f=N.addEventListener("change",({window:i,screen:a})=>{v(E=>({...E,window:{width:i.width,height:i.height,scale:i.scale,fontScale:i.fontScale},screen:{width:a.width,height:a.height,scale:a.scale,fontScale:a.fontScale},isLandscape:i.width>i.height,isPortrait:i.height>i.width}))});return()=>f.remove()},[]),C(()=>{let f=w.addChangeListener(({colorScheme:i})=>{let a=i??null;I({colorScheme:a,prefersDarkMode:a==="dark"})});return()=>f.remove()},[]),C(()=>{let f=j.addListener(r.OS==="ios"?"keyboardWillShow":"keyboardDidShow",a=>{H({isVisible:true,height:a.endCoordinates.height,animationDuration:a.duration??0})}),i=j.addListener(r.OS==="ios"?"keyboardWillHide":"keyboardDidHide",a=>{H({isVisible:false,height:0,animationDuration:a.duration??0})});return()=>{f.remove(),i.remove()}},[]),C(()=>{let f=ge(i=>{le({currentState:i,isActive:i==="active"})});return()=>f.remove()},[]),C(()=>{let f=[S.addEventListener("screenReaderChanged",i=>{d(a=>({...a,isScreenReaderEnabled:i}))}),S.addEventListener("reduceMotionChanged",i=>{d(a=>({...a,isReduceMotionEnabled:i}))}),S.addEventListener("reduceTransparencyChanged",i=>{d(a=>({...a,isReduceTransparencyEnabled:i}))})];if(r.OS==="ios"){let i=l((a,E)=>S.addEventListener(a,E),"addIOSListener");f.push(i("boldTextChanged",a=>{d(E=>({...E,isBoldTextEnabled:a}))}),i("grayscaleChanged",a=>{d(E=>({...E,isGrayscaleEnabled:a}))}),i("invertColorsChanged",a=>{d(E=>({...E,isInvertColorsEnabled:a}))}))}return()=>{f.forEach(i=>i.remove())}},[]),{platform:n,display:o,accessibility:h,appearance:u,locale:c,statusBar:p,keyboard:g,appState:G,identifiers:q,settings:W,timestamp:Y,isLoading:e,refresh:M,generateFingerprint:l(()=>ae({platform:n,display:o,accessibility:h,appearance:u,locale:c,statusBar:p,keyboard:g,appState:G,identifiers:q,settings:W,timestamp:Y,isLoading:e}),"generateFingerprint")}}l(se,"useDeviceInfo");async function re(){let[e,t]=await Promise.all([J(),x()]),n=w.getColorScheme()??null;return{platform:O(),display:L(),accessibility:e,appearance:{colorScheme:n,prefersDarkMode:n==="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
+ ========================================`),console.log("[Buoy]"," DEVICE INFO REPORT"),console.log("[Buoy]",`========================================
3
+ `),console.log("[Buoy]","--- PLATFORM ---"),console.log("[Buoy]",JSON.stringify(e.platform,null,2)),console.log("[Buoy]",`
4
+ --- DISPLAY ---`),console.log("[Buoy]",JSON.stringify(e.display,null,2)),console.log("[Buoy]",`
5
+ --- ACCESSIBILITY ---`),console.log("[Buoy]",JSON.stringify(e.accessibility,null,2)),console.log("[Buoy]",`
6
+ --- APPEARANCE ---`),console.log("[Buoy]",JSON.stringify(e.appearance,null,2)),console.log("[Buoy]",`
7
+ --- LOCALE ---`),console.log("[Buoy]",JSON.stringify(e.locale,null,2)),console.log("[Buoy]",`
8
+ --- STATUS BAR ---`),console.log("[Buoy]",JSON.stringify(e.statusBar,null,2)),console.log("[Buoy]",`
9
+ --- KEYBOARD ---`),console.log("[Buoy]",JSON.stringify(e.keyboard,null,2)),console.log("[Buoy]",`
10
+ --- APP STATE ---`),console.log("[Buoy]",JSON.stringify(e.appState,null,2)),console.log("[Buoy]",`
11
+ --- IDENTIFIERS ---`),console.log("[Buoy]",JSON.stringify(e.identifiers,null,2)),console.log("[Buoy]",`
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
+ --- METADATA ---`),console.log("[Buoy]",`timestamp: ${e.timestamp}`),console.log("[Buoy]",`isLoading: ${e.isLoading}`),console.log("[Buoy]",`
14
+ ========================================
15
+ `)}l(oe,"logDeviceInfo");export{_ as a,Q as b,ee as c,te as d,ie as e,se as f,re as g,oe as h};
@@ -0,0 +1 @@
1
+ "use client";import{H as m,aa as _,u as y}from"./chunk-5G6RSRP4.mjs";import{a}from"./chunk-T6T3FEMU.mjs";function v(){let e={top:0,bottom:0,left:0,right:0,hasNotch:false};if(typeof document>"u"||!document.body)return e;let t=document.createElement("div");t.style.cssText="position:fixed;visibility:hidden;pointer-events:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)",document.body.appendChild(t);try{let n=getComputedStyle(t),r=parseFloat(n.paddingTop)||0,g=parseFloat(n.paddingBottom)||0,b=parseFloat(n.paddingLeft)||0,h=parseFloat(n.paddingRight)||0;return{top:r,bottom:g,left:b,right:h,hasNotch:r>0||g>0||b>0||h>0}}finally{t.remove()}}a(v,"getSafeAreaInsets");var u="__buoySynthetic";function l(e,t){let n=globalThis,r=n.__buoyOwnDeviceListeners??(n.__buoyOwnDeviceListeners={});r[e]=Math.max(0,(r[e]??0)+t)}a(l,"countBuoyListener");var d=new Set,i="unknown",S=false;function c(){let e=globalThis.document;return e&&typeof e.addEventListener=="function"?e:null}a(c,"webDocument");function o(){try{let e=c(),t=globalThis.Document?.prototype,n=t&&Object.getOwnPropertyDescriptor(t,"visibilityState")?.get;return!e||!n?null:n.call(e)==="visible"?"active":"background"}catch{return null}}a(o,"realWebState");function p(){if(m.OS==="web"){let e=o();if(e)return e}try{return y?.currentState??"unknown"}catch{return"unknown"}}a(p,"readInitial");function s(e){if(e!==i){i=e;for(let t of Array.from(d))try{t(e)}catch{}}}a(s,"set");function f(){if(!S){S=true,i=p();try{if(m.OS==="web"){let e=c();if(e&&o()){e.addEventListener("visibilitychange",t=>{if(t?.[u])return;let n=o();n&&s(n)});return}y.addEventListener("change",t=>s(t));return}l("appStateDidChange",1),_.addListener("appStateDidChange",e=>{!e||e[u]||e.app_state&&s(e.app_state)})}catch{}}}a(f,"start");function w(){return f(),i==="unknown"&&(i=p()),i}a(w,"getRealAppState");function L(e){return f(),d.add(e),{remove:a(()=>d.delete(e),"remove")}}a(L,"subscribeRealAppState");export{v as a,u as b,l as c,w as d,L as e};
@@ -0,0 +1 @@
1
+ "use client";import{a as o}from"./chunk-T6T3FEMU.mjs";var m='-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif';import{useEffect as k,useState as b}from"react";import{createPortal as h}from"react-dom";import{jsx as L}from"react/jsx-runtime";var d=Symbol.for("@buoy-gg/portal-host"),v=o(n=>{if(!(n instanceof Element))return false;if(n.closest("input, textarea, select"))return true;let t=n.closest("[contenteditable]")?.getAttribute("contenteditable")?.toLowerCase();return t===""||t==="true"||t==="plaintext-only"},"isTextField");function l(){let n=document;if(n[d])return n[d].host;let t=document.createElement("div");t.dataset.buoyPortalHost="",Object.assign(t.style,{position:"fixed",inset:"0",zIndex:"2147483647",pointerEvents:"none",fontFamily:m});let s=o(()=>{let e=document.fullscreenElement,i=e&&e.tagName!=="CANVAS"?e:document.body;t.parentElement!==i&&i.appendChild(t)},"move"),r=new Map,a=o(e=>{(!t.contains(e.target)||!v(e.target))&&r.set(e.code||e.key,{key:e.key,code:e.code,location:e.location,keyCode:e.keyCode,which:e.which,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey})},"down"),c=o(e=>{r.delete(e.code||e.key)},"up"),y=o(()=>r.clear(),"clear"),E=o(()=>{let e=[...r.values()];r.clear();for(let i of e)document.dispatchEvent(new KeyboardEvent("keyup",{...i,bubbles:true}))},"focus"),u=o(e=>{v(e.target)&&e.stopPropagation()},"key"),w=o(e=>e.stopPropagation(),"wheel");return s(),document.addEventListener("fullscreenchange",s),document.addEventListener("keydown",a,true),document.addEventListener("keyup",c,true),window.addEventListener("blur",y),t.addEventListener("focusin",E),t.addEventListener("keydown",u),t.addEventListener("keyup",u),t.addEventListener("keypress",u),t.addEventListener("wheel",w,{passive:true}),n[d]={host:t,users:0,dispose:o(()=>{document.removeEventListener("fullscreenchange",s),document.removeEventListener("keydown",a,true),document.removeEventListener("keyup",c,true),window.removeEventListener("blur",y),t.remove(),delete n[d]},"dispose")},t}o(l,"getBuoyPortalHost");function p({children:n}){let[t,s]=b(null);return k(()=>{let r=l(),a=document[d];return a.users++,s(r),()=>{--a.users===0&&a.dispose()}},[]),t?h(L("div",{"data-buoy-root":"",style:{display:"contents",pointerEvents:"auto"},children:n}),t):null}o(p,"BuoyPortal");function f(n){let t=l(),s=o(r=>{(!(r.target instanceof Node)||!t.contains(r.target))&&n(r)},"outside");return t.addEventListener("keydown",n),window.addEventListener("keydown",s),()=>{t.removeEventListener("keydown",n),window.removeEventListener("keydown",s)}}o(f,"listenBuoyKeydown");export{m as a,l as b,p as c,f as d};
@@ -0,0 +1 @@
1
+ "use client";var e=Object.defineProperty;var l=(a,o)=>e(a,"name",{value:o,configurable:true});var t=(()=>{try{let a=globalThis.Capacitor;if(a&&typeof a.isNativePlatform=="function"&&a.isNativePlatform())return a.DEBUG===true}catch{}return process.env.NODE_ENV!=="production"})();typeof window<"u"&&typeof globalThis.global>"u"&&(globalThis.global=globalThis);export{l as a,t as b};
@@ -0,0 +1 @@
1
+ "use client";import{a as n}from"./chunk-T6T3FEMU.mjs";var u=new Set,g;function l(e="localStorage"){if(typeof window>"u")throw new Error("Browser storage is unavailable during server rendering.");return window[e]}n(l,"getBrowserStorage");function y(e){return Array.from({length:e.length},(t,a)=>e.key(a)).filter(t=>t!==null).map(t=>[t,e.getItem(t)])}n(y,"entries");function f(e){for(let t of[...u])try{t(e)}catch{}}n(f,"emit");function S(){if(typeof window>"u"||typeof Storage>"u")return;let e=Storage.prototype,t=e.setItem,a=e.removeItem,m=e.clear,s=n(r=>{for(let o of["localStorage","sessionStorage"])try{if(r===window[o])return o}catch{}},"areaOf"),v=n(function(r,o){let i=s(this),c=String(r),h=String(o),k=i?this.getItem(c):null;Reflect.apply(t,this,[c,h]),i&&f({area:i,action:"setItem",key:c,value:h,prevValue:k})},"wrappedSet"),I=n(function(r){let o=s(this),i=String(r),c=o?this.getItem(i):null;Reflect.apply(a,this,[i]),o&&f({area:o,action:"removeItem",key:i,prevValue:c})},"wrappedRemove"),w=n(function(){let r=s(this),o=r?y(this):void 0;Reflect.apply(m,this,[]),r&&f({area:r,action:"clear",prevPairs:o})},"wrappedClear");e.setItem=v,e.removeItem=I,e.clear=w;let d=n(r=>{let o=r.storageArea&&s(r.storageArea);o&&f({area:o,action:r.key===null?"clear":r.newValue===null?"removeItem":"setItem",key:r.key??void 0,value:r.newValue??void 0,prevValue:r.oldValue})},"crossDocument");window.addEventListener("storage",d),g=n(()=>{e.setItem===v&&(e.setItem=t),e.removeItem===I&&(e.removeItem=a),e.clear===w&&(e.clear=m),window.removeEventListener("storage",d),g=void 0},"detach")}n(S,"attach");function b(e){return u.size||S(),u.add(e),()=>{u.delete(e),u.size||g?.()}}n(b,"subscribeToBrowserStorage");function p(e,t){if(!e||!t||typeof e!="object"||typeof t!="object"||Array.isArray(e)||Array.isArray(t))return t;let a={...e};for(let[m,s]of Object.entries(t))Object.defineProperty(a,m,{value:p(a[m],s),enumerable:true,writable:true,configurable:true});return a}n(p,"merge");var A={async getItem(e){return l().getItem(e)},async setItem(e,t){l().setItem(e,t)},async removeItem(e){l().removeItem(e)},async clear(){l().clear()},async getAllKeys(){return y(l()).map(([e])=>e)},async multiGet(e){return e.map(t=>[t,l().getItem(t)])},async multiSet(e){for(let[t,a]of e)l().setItem(t,a)},async multiRemove(e){for(let t of e)l().removeItem(t)},async mergeItem(e,t){let a=l();a.setItem(e,JSON.stringify(p(JSON.parse(a.getItem(e)??"null"),JSON.parse(t))))},async multiMerge(e){for(let[t,a]of e)await A.mergeItem(t,a)}},V=A;export{l as a,b,V as c};
@@ -0,0 +1 @@
1
+ "use client";import{d as e,e as s,f as t}from"./chunk-7JJHWSTD.mjs";import"./chunk-T6T3FEMU.mjs";export{t as getStorageBackendType,s as isUsingPersistentStorage,e as persistentStorage};
@@ -1 +1 @@
1
- "use client";import{a as s,b as a,c as o,d as r,e,f as l,g as m}from"./chunks/chunk-CE5U3CSQ.mjs";import"./chunks/chunk-L63X3LPR.mjs";export{l as buoyColors,m as dialColors,r as gameUIColors,s as macOSColors,a as macOSGameUIColors,e as refreshGameUIColors,o as refreshMacOSGameUIColors};
1
+ "use client";import{a as s,b as a,c as o,d as r,e,f as l,g as m}from"./chunks/chunk-AHVO74UQ.mjs";import"./chunks/chunk-T6T3FEMU.mjs";export{l as buoyColors,m as dialColors,r as gameUIColors,s as macOSColors,a as macOSGameUIColors,e as refreshGameUIColors,o as refreshMacOSGameUIColors};