@buoy-gg/shared-ui 7.0.85 → 7.0.86
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/lib/commonjs/JsModal.js +1 -1
- package/lib/commonjs/JsModal.web.js +1 -1
- package/lib/commonjs/index.js +1 -1
- package/lib/commonjs/license/AccountSetupContent.js +1 -1
- package/lib/commonjs/license/index.js +1 -1
- package/lib/commonjs/license/licenseModule.js +1 -1
- package/lib/commonjs/license/releaseSimulation.js +1 -0
- package/lib/commonjs/license/tierLimits.js +1 -1
- package/lib/commonjs/ui/floating/FloatingTool.js +1 -1
- package/lib/commonjs/ui/floating/FloatingTool.web.js +1 -1
- package/lib/module/JsModal.js +1 -1
- package/lib/module/JsModal.web.js +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/license/AccountSetupContent.js +1 -1
- package/lib/module/license/index.js +1 -1
- package/lib/module/license/licenseModule.js +1 -1
- package/lib/module/license/releaseSimulation.js +1 -0
- package/lib/module/license/tierLimits.js +1 -1
- package/lib/module/ui/floating/FloatingTool.js +1 -1
- package/lib/module/ui/floating/FloatingTool.web.js +1 -1
- package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/commonjs/index.d.ts +3 -2
- package/lib/typescript/commonjs/license/index.d.ts +1 -1
- package/lib/typescript/commonjs/license/licenseModule.d.ts +10 -2
- package/lib/typescript/commonjs/license/releaseSimulation.d.ts +27 -0
- package/lib/typescript/commonjs/utils/stateSnapshotRegistry.d.ts +5 -0
- package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/module/index.d.ts +3 -2
- package/lib/typescript/module/license/index.d.ts +1 -1
- package/lib/typescript/module/license/licenseModule.d.ts +10 -2
- package/lib/typescript/module/license/releaseSimulation.d.ts +27 -0
- package/lib/typescript/module/utils/stateSnapshotRegistry.d.ts +5 -0
- package/lib/web/chunks/{chunk-4YIFUO7B.mjs → chunk-MGKPQCZU.mjs} +4 -4
- package/lib/web/chunks/chunk-TWVTG6LD.mjs +1 -0
- package/lib/web/dataViewer.mjs +1 -1
- package/lib/web/floating.mjs +1 -1
- package/lib/web/index.mjs +11 -11
- package/lib/web/ui.mjs +1 -1
- package/package.json +5 -5
- package/lib/web/chunks/chunk-4YLP5MMN.mjs +0 -1
package/lib/web/ui.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{$ as a,$a as s,$b as o,Aa as t,Ab as e,Ac as b,Ba as r,Bb as i,Bc as l,Ca as c,
|
|
1
|
+
"use client";import{$ as a,$a as s,$b as o,Aa as t,Ab as e,Ac as b,Ba as r,Bb as i,Bc as l,Ca as c,Cb as n,Cc as T,Da as S,Db as E,Dc as O,Ea as p,Ec as d,Fa as g,Fb as u,Fc as C,Ga as m,Gb as _,Gc as R,Ha as A,Hb as B,Hc as F,Ia as y,Ib as I,Ic as L,Ja as P,Jb as w,Jc as D,Ka as N,Kb as h,Kc as G,La as f,Lb as H,Lc as W,Ma as k,Mb as M,Mc as U,Na as v,Nb as V,Oa as x,Ob as K,Pa as j,Pb as Y,Qa as q,Qb as z,Ra as Z,Rb as J,Sa as X,Sb as $,Ta as Q,Ua as aa,V as sa,Va as oa,W as ta,Wa as ea,X as ba,Xa as ra,Y as ia,Ya as la,Yb as ca,Z as na,Za as Ta,Zb as Sa,_ as Ea,_a as Oa,_b as pa,a as da,aa as ga,ab as ua,ac as Ca,b as ma,ba as _a,bb as Ra,bc as Aa,c as Ba,ca as Fa,cb as ya,cc as Ia,da as La,db as Pa,dc as wa,ea as Da,eb as Na,ec as ha,fa as Ga,fb as fa,fc as Ha,ga as Wa,gb as ka,gc as Ma,h as Ua,ha as va,hb as Va,hc as xa,ia as Ka,ib as ja,ic as Ya,ja as qa,jb as za,jc as Za,ka as Ja,kb as Xa,kc as $a,la as Qa,lb as as,lc as ss,ma as os,mb as ts,mc as es,na as bs,nb as rs,nc as is,oa as ls,ob as cs,oc as ns,pa as Ts,pb as Ss,pc as Es,qa as Os,qb as ps,qc as ds,ra as gs,rb as us,rc as Cs,sa as ms,sb as _s,sc as Rs,ta as As,tb as Bs,tc as Fs,ua as ys,ub as Is,uc as Ls,va as Ps,vb as ws,vc as Ds,wa as Ns,wb as hs,wc as Gs,xa as fs,xb as Hs,xc as Ws,ya as ks,yb as Ms,yc as Us,za as vs,zb as Vs,zc as xs}from"./chunks/chunk-MGKPQCZU.mjs";import{a as Ks}from"./chunks/chunk-5UII72AQ.mjs";import{a as js,b as Ys,c as qs,d as zs,e as Zs,f as Js,g as Xs,h as $s,i as Qs,j as ao,k as so,l as oo,m as to,n as eo,o as bo,p as ro}from"./chunks/chunk-TWVTG6LD.mjs";import"./chunks/chunk-GF5C5DVX.mjs";import"./chunks/chunk-4QFANR3K.mjs";import{g as io,i as lo,j as co,k as no,l as To,m as So}from"./chunks/chunk-36A4T5PL.mjs";import{ud as Eo}from"./chunks/chunk-SUG6TLF5.mjs";import{a as Oo,d as po,f as go,g as uo}from"./chunks/chunk-AHVO74UQ.mjs";import"./chunks/chunk-FPMEM2QO.mjs";import"./chunks/chunk-SXWOOYFL.mjs";import"./chunks/chunk-QXVVA64P.mjs";import{a as Co}from"./chunks/chunk-SBYYOE2T.mjs";import"./chunks/chunk-T6T3FEMU.mjs";export{js as ARROW_BOTTOM_OFFSET,Ys as ARROW_HEIGHT,ia as ActionCopyButton,va as AddFilterButton,Wa as AddFilterInput,Gs as BACKGROUND_PRESETS,l as BACKGROUND_STORAGE_KEY,da as BackButton,C as BackgroundSwitcher,Ja as Badge,N as CELLS,G as CLIP_OFFSCREEN_CELLS,ca as ChangeRow,Ma as ChipStrip,Ua as ClipboardHintBanner,Vs as CollapsibleSection,qa as CompactFilterChips,Ks as CompactRow,K as CompareBar,sa as CopyButton,os as CountBadge,D as CyberpunkSectionButton,Ws as DEFAULT_BACKGROUND,As as DEVTOOLS_CARD_CONSTANTS,e as DataInspector,F as DaylightTunable,ds as DeepFieldTunable,hs as DetailView,$ as DetailViewToggle,ys as DevToolsCard,V as DiffModeTabs,Hs as DraggableHeader,n as DynamicFilterView,W as EVENT_LIST_PRESET,cs as EmptyState,wa as EntityFilterView,Y as EventHistoryViewer,gs as EventListItem,z as EventPickerModal,B as EventStepperFooter,I as ExpandablePopover,h as ExpandedInfoRow,Ya as ExportPreview,Ga as FilterBadge,Ka as FilterList,Da as FilterSection,ao as FloatingTool,Xs as FloatingToolDivider,ro as FloatingToolHost,$s as FloatingToolUserStatus,Ia as FooterButton,Ca as FooterCaption,Aa as FooterMessage,o as FooterRow,To as GAME_UI_ALERT_STATES,io as GameUICollapsibleSection,co as GameUICompactStats,no as GameUIIssuesList,lo as GameUIStatusHeader,Ms as GripVerticalIcon,Ps as HeaderSearchButton,J as InfoRow,ta as InlineCopyButton,U as LOG_LIST_PRESET,Es as LinearFade,La as ListItem,Ds as LiveSkyTunable,q as MAX_PERIOD,ls as MethodBadge,ga as ModalHeader,_a as ModalHintBanner,R as MoonlightTunable,Ss as NoDataEmptyState,ps as NoResultsEmptyState,us as NoSearchResultsEmptyState,t as OTTO_ANCHORS,r as OTTO_ANCHOR_SIZE,Ns as OTTO_GRID,p as OTTO_GROUPS,c as OTTO_NOTES,fs as OTTO_PALETTE,m as OTTO_REEL,za as OTTO_SCENES,Xa as OTTO_SCENE_BY_ID,as as OTTO_SCENE_CROP_H,Na as OTTO_SCENE_H,fa as OTTO_SCENE_OTTO,ya as OTTO_SCENE_PALETTE,Pa as OTTO_SCENE_W,vs as OTTO_STATES,S as OTTO_STATE_NAMES,g as OTTO_USES,Ra as Otto,s as OttoMotionView,la as OttoPixels,ts as OttoSceneFrame,rs as OttoSceneStill,Ta as OttoStill,Sa as Pill,H as PillBadge,w as PowerToggleButton,ns as RadialGlow,is as RasterLayer,qs as SPACING_GAP,i as SearchBar,Fa as SectionHeader,ms as StatsCard,Qa as StatusBadge,Is as StatusIndicator,Ba as StorageTypeBadge,j as TRANSPARENT,Ts as TabSelector,ws as TimeDisplay,ha as ToggleRow,d as ToolBackground,Os as ToolButton,_s as ToolEmptyState,pa as ToolFooter,na as ToolbarClearButton,ba as ToolbarCopyButton,bs as TypeBadge,ma as ValueTypeBadge,M as ViewToggleCards,v as WATER_CELLS,x as WATER_FRAMES,f as WATER_ROW0,k as WATER_ROWS,_ as WindowControls,Cs as Wormhole,T as backgroundStore,go as buoyColors,Js as calculateTargetPosition,Zs as calculateTooltipPosition,aa as cycleIndexes,uo as dialColors,eo as dismissFloatingTool,u as expandableWindowControlsSupported,X as flatColors,po as gameUIColors,Qs as getBubbleAnchorPosition,so as getFloatingTools,b as getPreset,zs as getScreenCenterY,Rs as getSkyScrub,Z as gridKey,Oo as macOSColors,Eo as monoFont,ra as motionUnits,a as noWindowDragProps,to as openFloatingTool,Q as ottoCycle,A as ottoReel,P as ottoRuns,ja as ottoSceneBounds,Va as ottoSceneRuns,ea as ottoSheets,ks as ottoWaterRows,xs as presetAt,Us as presetIndex,oa as rectsOf,bo as registerPersistentFloatingTool,y as renderOttoFrame,ka as renderOttoScene,Bs as resolveListEmptyState,Za as scatter,E as setExpandableWindowControls,Fs as setSkyScrub,xa as sizeWarningLevel,oo as subscribeFloatingTools,Co as systemFont,L as toolTheme,Ha as useChipTap,So as useGameUIAlertState,ss as useLoop,ua as useOttoAnchorMotion,Oa as useOttoReel,es as usePulse,Ls as useSkyScrub,O as useToolBackground,Ea as windowDragProps,$a as withBgAlpha};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@buoy-gg/shared-ui",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.86",
|
|
4
4
|
"description": "Shared UI components, hooks, and utilities",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -225,11 +225,11 @@
|
|
|
225
225
|
],
|
|
226
226
|
"sideEffects": false,
|
|
227
227
|
"dependencies": {
|
|
228
|
-
"@buoy-gg/floating-tools-
|
|
229
|
-
"@buoy-gg/floating-tools-
|
|
228
|
+
"@buoy-gg/floating-tools-react": "^7.0.86",
|
|
229
|
+
"@buoy-gg/floating-tools-core": "^7.0.86"
|
|
230
230
|
},
|
|
231
231
|
"peerDependencies": {
|
|
232
|
-
"@buoy-gg/license": "7.0.
|
|
232
|
+
"@buoy-gg/license": "7.0.86",
|
|
233
233
|
"react": "*"
|
|
234
234
|
},
|
|
235
235
|
"peerDependenciesMeta": {
|
|
@@ -262,7 +262,7 @@
|
|
|
262
262
|
"expo-clipboard": "~7.1.5",
|
|
263
263
|
"react-native-safe-area-context": "^5.6.2",
|
|
264
264
|
"typescript": "~5.8.3",
|
|
265
|
-
"@buoy-gg/license": "^7.0.
|
|
265
|
+
"@buoy-gg/license": "^7.0.86"
|
|
266
266
|
},
|
|
267
267
|
"react-native-builder-bob": {
|
|
268
268
|
"source": "src",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use client";import{a as $}from"./chunk-GF5C5DVX.mjs";import{c as ke}from"./chunk-SBYYOE2T.mjs";import{a as n}from"./chunk-T6T3FEMU.mjs";var He=-40,Re=20,Fe=10;function X(){return window.innerHeight/2}n(X,"getScreenCenterY");function N(){return X()-130}n(N,"calculateTooltipPosition");function U(){return N()+-40-20-10}n(U,"calculateTargetPosition");import{useState as _,useRef as P,useCallback as Y,useEffect as y,useMemo as le,Children as de}from"react";import{useFloatingTools as Ae,FloatingToolsProvider as Ee,useFloatingToolsContext as Le,interleaveWithDividers as Be,floatingToolsColors as w,withAlpha as T,getUserStatusConfig as Me,getGripIconLayout as We,interpolatePosition as $e,easing as Ye,VISIBLE_HANDLE_WIDTH as ce,ANIMATION_DURATION as je}from"@buoy-gg/floating-tools-react/web/floating";import{jsx as g,jsxs as q}from"react/jsx-runtime";var C=10,ge=20;function A(){if(typeof document>"u"||!document.body)return{top:0,left:0,bottom:0};let e=document.createElement("div");e.style.cssText="position:fixed;top:0;left:0;visibility:hidden;pointer-events:none;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-bottom:env(safe-area-inset-bottom)",document.body.appendChild(e);let i=getComputedStyle(e),o={top:parseFloat(i.paddingTop)||0,left:parseFloat(i.paddingLeft)||0,bottom:parseFloat(i.paddingBottom)||0};return document.body.removeChild(e),o}n(A,"readSafeAreaInsets");var K={getItem:n(e=>localStorage.getItem(e),"getItem"),setItem:n((e,i)=>localStorage.setItem(e,i),"setItem")},ue="#A0A0A0";function pe({size:e=24,color:i=T(ue,"CC")}){let o=We(e);return g("div",{style:{width:e,height:e,display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"center"},children:[0,1].map(d=>g("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",marginLeft:o.columnGap/2,marginRight:o.columnGap/2},children:[0,1,2].map(f=>g("div",{style:{width:o.dotSize,height:o.dotSize,borderRadius:o.dotSize/2,backgroundColor:i,marginTop:o.rowGap/2,marginBottom:o.rowGap/2}},f))},d))})}n(pe,"GripVerticalIcon");function V(){return g("div",{style:{width:1,height:12,backgroundColor:T(w.muted,"66"),flexShrink:0}})}n(V,"Divider");var Oe={success:w.success,optional:w.optional,muted:w.muted,secondary:ue};function me({userRole:e,onPress:i}){let{isDragging:o}=Le(),d=Me(e,Oe),f=n(m=>{!o&&i&&(m.stopPropagation(),m.currentTarget.focus(),i())},"handleClick");return q("button",{role:"button","aria-label":i?"Open Dev Tools Menu":`User status: ${d.label}`,"data-testid":i?"open-dev-tools-button":void 0,onClick:f,style:{display:"flex",flexDirection:"row",alignItems:"center",paddingTop:6,paddingBottom:6,paddingLeft:8,paddingRight:8,flexShrink:0,cursor:i&&!o?"pointer":"default",background:"none",border:"none",margin:0},children:[g("div",{style:{width:6,height:6,borderRadius:3,backgroundColor:d.dotColor,marginRight:4}}),g("span",{style:{fontSize:10,fontWeight:500,color:d.textColor,letterSpacing:.3,fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif',lineHeight:"normal"},children:d.label})]})}n(me,"UserStatus");function he(){let e=P(null),[i,o]=_({x:0,y:0}),d=Y((f,m,x)=>{e.current&&cancelAnimationFrame(e.current);let z=performance.now(),u=n(S=>{let D=S-z,k=Math.min(D/je,1),E=$e(f,m,k,Ye.easeOutCubic);o(E),k<1?e.current=requestAnimationFrame(u):(o(m),x?.())},"animate");e.current=requestAnimationFrame(u)},[]);return y(()=>()=>{e.current&&cancelAnimationFrame(e.current)},[]),{position:i,setPosition:o,animateTo:d}}n(he,"useWebAnimation");var fe=null;function be(){return fe}n(be,"getBubbleAnchorPosition");function we({id:e,revealToken:i,variant:o="bubble",dragFromSurface:d=false,defaultPlacement:f="top",accessibilityLabel:m="Drag handle",accessory:x,handleAdornment:z,enablePositionPersistence:u=true,children:S,pushToSide:D=false,suspendPointerEvents:k=false,centerOnboarding:E=false,minimizedStack:ie,hasMinimizedStack:oe=false}){let I=P(null),Ie=le(()=>e?{getItem:n(t=>K.getItem(`@buoy/floating-tool/${e}/${t}`),"getItem"),setItem:n((t,s)=>K.setItem(`@buoy/floating-tool/${e}/${t}`,s),"setItem")}:K,[e]),{state:r,actions:a,isInitialized:h}=Ae({screenSize:{width:window.innerWidth,height:window.innerHeight},enablePositionPersistence:u,storage:Ie,...f==="bottom"?{initialBubbleSize:{width:100,height:48},initialPosition:{x:window.innerWidth-100-C,y:Math.max(A().top+ge,window.innerHeight-48-A().bottom-C)}}:{}}),{position:b,setPosition:L,animateTo:v}=he();y(()=>{h&&L(r.position)},[h,r.position,L]),y(()=>{e||(fe={x:b.x,y:b.y})},[b,e]),y(()=>{if(!h)return;let t=n(()=>{let c=I.current?.getBoundingClientRect();c&&c.width>0&&c.height>0&&a.setBubbleSize({width:c.width,height:c.height})},"measure"),s=n(()=>{let c=A().bottom;a.setScreenSize(window.innerWidth,window.innerHeight-(c>0?c-C:0)),t()},"handleResize");t();let l=typeof ResizeObserver<"u"?new ResizeObserver(t):null;return I.current&&l?.observe(I.current),window.addEventListener("resize",s),()=>{l?.disconnect(),window.removeEventListener("resize",s)}},[a,h]);let[Pe,De]=_(0);y(()=>{let t=false,s=n(()=>{let l=A();De(l.top),l.top>0||l.left>0||l.bottom>0?(t=true,a.setMinPosition({x:l.left,y:l.top+ge}),a.setScreenSize(window.innerWidth,window.innerHeight-(l.bottom>0?l.bottom-C:0))):t&&(t=false,a.setMinPosition({x:C,y:C}),a.setScreenSize(window.innerWidth,window.innerHeight))},"apply");return s(),window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[a]);let[ne,re]=_(false),ae=Y(t=>{t.stopPropagation(),t.preventDefault(),re(true),a.handleDragStart({clientX:t.clientX,clientY:t.clientY})},[a]),j=P(false),Te=n(t=>{t.button!==0||!(t.target instanceof Element)||t.target.closest('button, a, input, select, textarea, [role="button"], [role="switch"], [role="slider"], [role="checkbox"], [role="radio"], [contenteditable="true"], [data-floating-accessory]')||(j.current=true,ae(t))},"handleSurfacePointerDown"),O=Y(t=>{let s=a.handleDragMove({clientX:t.clientX,clientY:t.clientY});s.isDragging&&L(s.position)},[a,L]),H=Y(t=>{re(false);let s=a.handleDragEnd({clientX:t.clientX,clientY:t.clientY}),l=j.current;if(j.current=false,s.wasTap&&!l){let c=a.toggleHideShow();v(r.position,c.targetPosition,()=>{a.commitPosition(c.targetPosition)})}else s.shouldHide&&v(r.position,s.position,()=>{a.commitPosition(s.position)})},[a,v,r.position]);y(()=>{if(ne)return window.addEventListener("pointermove",O),window.addEventListener("pointerup",H),window.addEventListener("pointercancel",H),()=>{window.removeEventListener("pointermove",O),window.removeEventListener("pointerup",H),window.removeEventListener("pointercancel",H)}},[ne,O,H]);let B=P(r.position);B.current=r.position;let G=P(r.isHidden);G.current=r.isHidden;let M=P(false);y(()=>{if(h){if(D&&!M.current){if(G.current)return;M.current=true;let{targetPosition:t}=a.forceHide();v(B.current,t,()=>{})}else if(!D&&M.current){if(M.current=false,!G.current)return;let{targetPosition:t}=a.forceShow(),s=I.current?.getBoundingClientRect().width??100,l={x:Math.max(10,Math.min(t.x,window.innerWidth-s-10)),y:t.y};v(B.current,l,()=>{a.commitPosition(l)})}}},[D,h]),y(()=>{if(!E||!h)return;let t=I.current?.getBoundingClientRect().width??100,s=I.current?.getBoundingClientRect().height??32,l=U(),c={x:(window.innerWidth-t)/2,y:window.innerHeight-l-s};v(B.current,c,()=>{})},[E,h]);let se=P(void 0);y(()=>{if(!(!h||se.current===i)&&(se.current=i,i!==void 0&&i>0&&r.isHidden)){let{targetPosition:t}=a.forceShow();v(r.position,t,()=>a.commitPosition(t))}},[i,h,r.isHidden,r.position,a,v]);let Ce=le(()=>o==="strip"?de.toArray(S):Be(de.toArray(S),t=>g(V,{},t)),[S,o]);if(!h)return null;let R=Math.max(0,b.y-Pe-8),W=Math.max(0,window.innerHeight-b.y-r.bubbleSize.height-8),ze=R>W,F=R>=48||R>=W;return q("div",{ref:I,"data-testid":e??"buoy-floating-tool",role:"toolbar","aria-label":"Floating Tools",onPointerDown:d?Te:void 0,style:{position:"fixed",left:b.x,top:b.y,zIndex:D?8999:9999,display:"flex",flexDirection:"row",alignItems:"center",backgroundColor:w.panel,borderTopLeftRadius:oe?0:6,borderTopRightRadius:6,borderBottomLeftRadius:6,borderBottomRightRadius:6,borderWidth:r.isDragging?2:1,borderTopWidth:r.isDragging?2:oe?0:1,borderStyle:"solid",borderColor:r.isDragging?w.dragActive:T(w.muted,"66"),boxShadow:r.isDragging?`0 6px 12px ${T(w.dragActive,.36)}`:"0 4px 8px rgba(0, 0, 0, 0.3)",cursor:d?r.isDragging?"grabbing":"grab":void 0,userSelect:"none",touchAction:"none",pointerEvents:k?"none":"auto",...o==="strip"?{borderRadius:$.radius.card,minHeight:48,backgroundColor:$.color.surface,borderColor:r.isDragging?$.color.accentBorderStrong:$.color.separator,boxShadow:"0 4px 16px rgba(0, 0, 0, 0.24)"}:{}},children:[ie&&g(ke,{children:g("div",{style:{position:"fixed",top:F?b.y:b.y+r.bubbleSize.height,transform:F?"translateY(-100%)":void 0,"--buoy-stack-bottom":F?"0px":"auto","--buoy-stack-top":F?"auto":"0px","--buoy-stack-space":`${F?R:W}px`,left:b.x-1,width:ce,overflow:"visible",zIndex:1e4,pointerEvents:k?"none":"auto"},children:ie})}),q("div",{role:"button","aria-label":m,"data-testid":e?`${e}-grip`:"buoy-floating-grip",tabIndex:0,onPointerDown:ae,onKeyDown:t=>{if(t.key!=="Enter"&&t.key!==" ")return;t.preventDefault();let s=a.toggleHideShow();v(r.position,s.targetPosition,()=>a.commitPosition(s.targetPosition))},style:{touchAction:"none",paddingLeft:6,paddingRight:6,paddingTop:6,paddingBottom:6,backgroundColor:T(w.muted,"1A"),display:"flex",alignItems:"center",justifyContent:"center",width:ce,boxSizing:"border-box",borderRight:`1px solid ${T(w.muted,"66")}`,cursor:r.isDragging?"grabbing":"grab",...o==="strip"?{minHeight:48,backgroundColor:"transparent",borderRight:"none",flexDirection:"column"}:{}},children:[g(pe,{size:o==="strip"?20:12}),z]}),g(Ee,{value:{isDragging:r.isDragging,isHidden:r.isHidden},children:g("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:6,paddingRight:8},children:Ce})}),!r.isHidden&&x&&g("div",{"data-floating-accessory":true,style:{position:"absolute",...ze?{bottom:"100%"}:{top:"100%"},left:0,width:"100%",maxHeight:Math.max(R,W),overflowY:"auto",zIndex:1002},children:x})]})}n(we,"FloatingTool");var p=[],Ge=0,J=new Set,Q=n(()=>J.forEach(e=>e()),"notify"),Z=n(()=>p,"getFloatingTools"),ee=n(e=>(J.add(e),()=>{J.delete(e)}),"subscribeFloatingTools");function ve(e){if(!e.id.trim())throw new Error("Floating tools need a non-empty id");let i={...e,revealToken:++Ge};p=p.some(o=>o.id===e.id)?p.map(o=>o.id===e.id?i:o):[...p,i],Q()}n(ve,"openFloatingTool");function te(e){p.some(i=>i.id===e)&&(p=p.filter(i=>i.id!==e),Q())}n(te,"dismissFloatingTool");function ye(e,i){if(!e.id.trim())throw new Error("Floating tools need a non-empty id");let o=`@buoy/floating-tool/${e.id}/open`,d=false,f=false,m=p.some(u=>u.id===e.id),x=Promise.resolve(),z=ee(()=>{let u=p.some(S=>S.id===e.id);u!==m&&(m=u,f=true,x=x.then(()=>i.setItem(o,u?"1":"0")).then(()=>{},()=>{}))});return i.getItem(o).then(u=>{d||f||m||u!=="1"||(p=[...p,{...e,revealToken:0}],Q())}).catch(()=>{}),()=>{d=true,z()}}n(ye,"registerPersistentFloatingTool");import{Fragment as Xe,useSyncExternalStore as Ne}from"react";import{jsx as xe}from"react/jsx-runtime";function Se(){let e=Ne(ee,Z,Z);return xe("div",{style:{position:"fixed",inset:0,pointerEvents:"none",zIndex:1e4},children:e.map(i=>xe(Xe,{children:i.render({id:i.id,revealToken:i.revealToken,dismiss:n(()=>te(i.id),"dismiss")})},i.id))})}n(Se,"FloatingToolHost");export{He as a,Re as b,Fe as c,X as d,N as e,U as f,V as g,me as h,be as i,we as j,Z as k,ee as l,ve as m,te as n,ye as o,Se as p};
|