@buoy-gg/floating-tools-react 7.0.41 → 7.0.42
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/chunk-2OZZBOHY.mjs +1 -1
- package/dist/floating.js +1 -1
- package/dist/floating.mjs +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/web/chunks/chunk-PD42JYT2.mjs +1 -2
- package/dist/web/floating.mjs +1 -2
- package/dist/web/index.mjs +1 -2
- package/package.json +2 -2
package/dist/chunk-2OZZBOHY.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useMemo as
|
|
1
|
+
import{useMemo as d,useSyncExternalStore as S,useEffect as h,useRef as f}from"react";import{FloatingToolsStore as m}from"@buoy-gg/floating-tools-core/floating";import{useState as p}from"react";function b(o){let{screenSize:i,...r}=o,e=d(()=>new m({...r,screenWidth:i.width,screenHeight:i.height}),[r.enablePositionPersistence,r.storage,r.visibleHandleWidth,r.dragThreshold,r.edgePadding]),n=f(false),[s,l]=p(false);h(()=>(n.current||(n.current=true,e.initialize().then(()=>{l(true)})),()=>{e.destroy()}),[e]),h(()=>{e.setScreenSize(i.width,i.height)},[e,i.width,i.height]);let c=S(e.subscribe,e.getSnapshot),g=d(()=>({handleDragStart:t=>e.handleDragStart(t),handleDragMove:t=>e.handleDragMove(t),handleDragEnd:t=>e.handleDragEnd(t),toggleHideShow:()=>e.toggleHideShow(),commitPosition:t=>e.commitPosition(t),setBubbleSize:t=>e.setBubbleSize(t),setScreenSize:(t,u)=>e.setScreenSize(t,u),setMinPosition:t=>e.setMinPosition(t),forceHide:()=>e.forceHide(),forceShow:()=>e.forceShow()}),[e]);return{state:c,store:e,isInitialized:s,actions:g}}import{createContext as v,useContext as P}from"react";import{jsx as w}from"react/jsx-runtime";var z={isDragging:false,isHidden:false},a=v(z);function D(){return P(a)}function H({value:o,children:i}){return w(a.Provider,{value:o,children:i})}import{filterValidChildren as E}from"@buoy-gg/floating-tools-core/floating";function x(o,i){let r=E(o),e=[];return r.forEach((n,s)=>{e.push(n),s<r.length-1&&e.push(i(`divider-${s}`))}),e}export{b as a,a as b,D as c,H as d,x as e};
|
package/dist/floating.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var h=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var z=(
|
|
1
|
+
"use strict";var h=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var z=(r,t)=>{for(var o in t)h(r,o,{get:t[o],enumerable:true})},c=(r,t,o,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of F(t))!E.call(r,n)&&n!==o&&h(r,n,{get:()=>t[n],enumerable:!(e=T(t,n))||e.enumerable});return r},l=(r,t,o)=>(c(r,t,"default"),o&&c(o,t,"default"));var w=r=>c(h({},"__esModule",{value:true}),r);var a={};z(a,{FloatingToolsContext:()=>u,FloatingToolsProvider:()=>y,interleaveWithDividers:()=>D,useFloatingTools:()=>R,useFloatingToolsContext:()=>H});module.exports=w(a);var s=require("react"),p=require("@buoy-gg/floating-tools-core/floating"),f=require("react");function R(r){let{screenSize:t,...o}=r,e=(0,s.useMemo)(()=>new p.FloatingToolsStore({...o,screenWidth:t.width,screenHeight:t.height}),[o.enablePositionPersistence,o.storage,o.visibleHandleWidth,o.dragThreshold,o.edgePadding]),n=(0,s.useRef)(false),[g,b]=(0,f.useState)(false);(0,s.useEffect)(()=>(n.current||(n.current=true,e.initialize().then(()=>{b(true)})),()=>{e.destroy()}),[e]),(0,s.useEffect)(()=>{e.setScreenSize(t.width,t.height)},[e,t.width,t.height]);let S=(0,s.useSyncExternalStore)(e.subscribe,e.getSnapshot),P=(0,s.useMemo)(()=>({handleDragStart:i=>e.handleDragStart(i),handleDragMove:i=>e.handleDragMove(i),handleDragEnd:i=>e.handleDragEnd(i),toggleHideShow:()=>e.toggleHideShow(),commitPosition:i=>e.commitPosition(i),setBubbleSize:i=>e.setBubbleSize(i),setScreenSize:(i,x)=>e.setScreenSize(i,x),setMinPosition:i=>e.setMinPosition(i),forceHide:()=>e.forceHide(),forceShow:()=>e.forceShow()}),[e]);return{state:S,store:e,isInitialized:g,actions:P}}var d=require("react"),m=require("react/jsx-runtime"),C={isDragging:false,isHidden:false},u=(0,d.createContext)(C);function H(){return(0,d.useContext)(u)}function y({value:r,children:t}){return(0,m.jsx)(u.Provider,{value:r,children:t})}var v=require("@buoy-gg/floating-tools-core/floating");function D(r,t){let o=(0,v.filterValidChildren)(r),e=[];return o.forEach((n,g)=>{e.push(n),g<o.length-1&&e.push(t(`divider-${g}`))}),e}l(a,require("@buoy-gg/floating-tools-core/floating"),module.exports);
|
package/dist/floating.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as o,b as s,c as a,d as t,e}from"./chunk-2OZZBOHY.mjs";export*from"@buoy-gg/floating-tools-core/floating";export{s as FloatingToolsContext,t as FloatingToolsProvider,e as interleaveWithDividers,o as useFloatingTools,a as useFloatingToolsContext};
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var X=Object.defineProperty;var Ee=Object.getOwnPropertyDescriptor;var he=Object.getOwnPropertyNames;var Pe=Object.prototype.hasOwnProperty;var Ae=(t,o)=>{for(var s in o)X(t,s,{get:o[s],enumerable:!0})},Fe=(t,o,s,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let a of he(o))!Pe.call(t,a)&&a!==s&&X(t,a,{get:()=>o[a],enumerable:!(n=Ee(o,a))||n.enumerable});return t};var Ie=t=>Fe(X({},"__esModule",{value:!0}),t);var Oe={};Ae(Oe,{ANIMATION_DURATION:()=>e.ANIMATION_DURATION,DIAL_BUTTON_SIZE:()=>e.DIAL_BUTTON_SIZE,DIAL_GRID_LINE_COUNT:()=>e.DIAL_GRID_LINE_COUNT,DIAL_ICON_PADDING:()=>e.DIAL_ICON_PADDING,DIAL_ICON_SIZE:()=>e.DIAL_ICON_SIZE,DIAL_START_ANGLE:()=>e.DIAL_START_ANGLE,DRAG_THRESHOLD:()=>e.DRAG_THRESHOLD,DevToolsContext:()=>O,DevToolsProvider:()=>ae,DevToolsStateManager:()=>L.DevToolsStateManager,EDGE_PADDING:()=>e.EDGE_PADDING,FloatingToolsContext:()=>V,FloatingToolsProvider:()=>q,FloatingToolsStore:()=>e.FloatingToolsStore,MAX_DIAL_SLOTS:()=>e.MAX_DIAL_SLOTS,MAX_SETTINGS_DIAL_SLOTS:()=>H.MAX_SETTINGS_DIAL_SLOTS,SETTINGS_STORAGE_KEY:()=>H.SETTINGS_STORAGE_KEY,SettingsContext:()=>w,SettingsEventBus:()=>K.SettingsEventBus,SettingsProvider:()=>j,USAGE_HALF_LIFE_MS:()=>v.USAGE_HALF_LIFE_MS,USAGE_MIN_SCORE:()=>v.USAGE_MIN_SCORE,VISIBLE_HANDLE_WIDTH:()=>e.VISIBLE_HANDLE_WIDTH,canEnableDialTool:()=>u.canEnableDialTool,countEnabledTools:()=>u.countEnabledTools,decayScore:()=>v.decayScore,devToolsReducer:()=>L.devToolsReducer,devToolsStateManager:()=>L.devToolsStateManager,dialAnimationConfig:()=>e.dialAnimationConfig,dialCSSBeziers:()=>e.dialCSSBeziers,dialColors:()=>e.dialColors,dialStyles:()=>e.dialStyles,easing:()=>e.easing,enforceDialLimit:()=>u.enforceDialLimit,floatingToolsColors:()=>e.floatingToolsColors,generateDefaultSettings:()=>u.generateDefaultSettings,generateDialCSSKeyframes:()=>e.generateDialCSSKeyframes,getAllIconPositions:()=>e.getAllIconPositions,getDialCSSAnimationStyles:()=>e.getDialCSSAnimationStyles,getDialCSSKeyframesString:()=>e.getDialCSSKeyframesString,getDialLayout:()=>e.getDialLayout,getEnabledToolIds:()=>u.getEnabledToolIds,getGridLineRotations:()=>e.getGridLineRotations,getGripIconLayout:()=>e.getGripIconLayout,getIconAngle:()=>e.getIconAngle,getIconPosition:()=>e.getIconPosition,getIconStaggerInputRange:()=>e.getIconStaggerInputRange,getSpiralAnimationPosition:()=>e.getSpiralAnimationPosition,getStaggeredIconProgress:()=>e.getStaggeredIconProgress,getToolColor:()=>y.getToolColor,getToolDescription:()=>E.getToolDescription,getToolLabel:()=>E.getToolLabel,getUserStatusConfig:()=>e.getUserStatusConfig,globalSettingsConfig:()=>De.globalSettingsConfig,interleaveWithDividers:()=>de,interpolate:()=>e.interpolate,interpolatePosition:()=>e.interpolatePosition,mergeSettingsWithDefaults:()=>u.mergeSettingsWithDefaults,pruneUsage:()=>v.pruneUsage,rankToolIds:()=>v.rankToolIds,recordUsage:()=>v.recordUsage,sanitizeFloatingSettings:()=>u.sanitizeFloatingSettings,settingsColors:()=>y.settingsColors,settingsEventBus:()=>K.settingsEventBus,settingsStyles:()=>y.settingsStyles,settingsTabs:()=>pe.settingsTabs,toolColors:()=>y.toolColors,toolDescriptions:()=>E.toolDescriptions,toolLabels:()=>E.toolLabels,useDevTools:()=>Se,useDevToolsContext:()=>U,useDevToolsDial:()=>Te,useDevToolsEnvironment:()=>ge,useDevToolsSettings:()=>ce,useDevToolsState:()=>R,useDialState:()=>se,useFloatingTools:()=>Y,useFloatingToolsContext:()=>$,useOptionalDevToolsContext:()=>re,useOptionalSettingsContext:()=>te,useSettings:()=>I,useSettingsContext:()=>ee,useSettingsModalState:()=>ie,withAlpha:()=>e.withAlpha});module.exports=Ie(Oe);var f=require("react"),J=require("@buoy-gg/floating-tools-core/floating"),Z=require("react");function Y(t){let{screenSize:o,...s}=t,n=(0,f.useMemo)(()=>new J.FloatingToolsStore({...s,screenWidth:o.width,screenHeight:o.height}),[s.enablePositionPersistence,s.storage,s.visibleHandleWidth,s.dragThreshold,s.edgePadding]),a=(0,f.useRef)(!1),[d,m]=(0,Z.useState)(!1);(0,f.useEffect)(()=>(a.current||(a.current=!0,n.initialize().then(()=>{m(!0)})),()=>{n.destroy()}),[n]),(0,f.useEffect)(()=>{n.setScreenSize(o.width,o.height)},[n,o.width,o.height]);let D=(0,f.useSyncExternalStore)(n.subscribe,n.getSnapshot),T=(0,f.useMemo)(()=>({handleDragStart:S=>n.handleDragStart(S),handleDragMove:S=>n.handleDragMove(S),handleDragEnd:S=>n.handleDragEnd(S),toggleHideShow:()=>n.toggleHideShow(),commitPosition:S=>n.commitPosition(S),setBubbleSize:S=>n.setBubbleSize(S),setScreenSize:(S,h)=>n.setScreenSize(S,h),setMinPosition:S=>n.setMinPosition(S),forceHide:()=>n.forceHide(),forceShow:()=>n.forceShow()}),[n]);return{state:D,store:n,isInitialized:d,actions:T}}var z=require("react"),Q=require("react/jsx-runtime"),Re={isDragging:!1,isHidden:!1},V=(0,z.createContext)(Re);function $(){return(0,z.useContext)(V)}function q({value:t,children:o}){return(0,Q.jsx)(V.Provider,{value:t,children:o})}var r=require("react"),g=require("@buoy-gg/floating-tools-core");function I(t={}){let{availableTools:o=[],defaultFloatingTools:s,defaultDialTools:n,storage:a,initialSettings:d,onSettingsChange:m,subscribeToEventBus:D=!0}=t,T=(0,r.useMemo)(()=>(0,g.generateDefaultSettings)(o,s,n),[o,s,n]),S=(0,r.useMemo)(()=>Object.keys(T.dialTools),[T]),h=(0,r.useMemo)(()=>Object.keys(T.floatingTools).filter(i=>i!=="environment"),[T]),[l,x]=(0,r.useState)(d??T),[N,A]=(0,r.useState)(!0),[_,M]=(0,r.useState)(!1),[F,W]=(0,r.useState)(null),B=(0,r.useCallback)(async()=>{if(!a){A(!1),M(!0);return}try{A(!0),W(null);let i=await a.getItem(g.SETTINGS_STORAGE_KEY);if(i){let c=JSON.parse(i),b=(0,g.mergeSettingsWithDefaults)(T,c,{allowedDialKeys:S,allowedFloatingKeys:h});x(b)}else x(T)}catch(i){console.error("Failed to load dev tools settings:",i),W(i instanceof Error?i.message:"Failed to load settings"),x(T)}finally{A(!1),M(!0)}},[a,T,S,h]),p=(0,r.useCallback)(async i=>{let c={...i,dialTools:(0,g.enforceDialLimit)(i.dialTools)};try{a&&await a.setItem(g.SETTINGS_STORAGE_KEY,JSON.stringify(c)),x(c),m?.(c),g.settingsEventBus.emit(c)}catch(b){throw console.error("Failed to save dev tools settings:",b),W(b instanceof Error?b.message:"Failed to save settings"),b}},[a,m]),fe=(0,r.useCallback)(i=>{let c=(0,g.countEnabledTools)(l.dialTools);if(!l.dialTools[i]&&c>=g.MAX_SETTINGS_DIAL_SLOTS)return;let k={...l,dialTools:{...l.dialTools,[i]:!l.dialTools[i]}};p(k)},[l,p]),me=(0,r.useCallback)(i=>{let c={...l,floatingTools:{...l.floatingTools,[i]:!l.floatingTools[i]}};p(c)},[l,p]),be=(0,r.useCallback)(()=>{let i={...l,floatingTools:{...l.floatingTools,environment:!l.floatingTools.environment}};p(i)},[l,p]),xe=(0,r.useCallback)(i=>{let c={...l,globalSettings:{...l.globalSettings,[i]:!l.globalSettings?.[i]}};p(c)},[l,p]),Ce=(0,r.useCallback)(async()=>{await p(T)},[T,p]);(0,r.useEffect)(()=>{B()},[B]),(0,r.useEffect)(()=>D?g.settingsEventBus.addListener(c=>{x(c)}):void 0,[D]);let ye=(0,r.useMemo)(()=>{let i=(0,g.countEnabledTools)(l.dialTools),{dial:c,floating:b}=(0,g.getEnabledToolIds)(l);return{dialToolCount:i,isDialFull:i>=g.MAX_SETTINGS_DIAL_SLOTS,enabledDialTools:c,enabledFloatingTools:b,canEnableDialTool:k=>l.dialTools[k]?!0:i<g.MAX_SETTINGS_DIAL_SLOTS}},[l]);return{settings:l,isLoading:N,isInitialized:_,error:F,actions:{toggleDialTool:fe,toggleFloatingTool:me,toggleEnvironment:be,toggleGlobalSetting:xe,saveSettings:p,resetToDefaults:Ce,reloadSettings:B},helpers:ye}}var P=require("react");var oe=require("react/jsx-runtime"),w=(0,P.createContext)(null);function j({children:t,availableTools:o=[],defaultFloatingTools:s,defaultDialTools:n,storage:a,initialSettings:d,onSettingsChange:m}){let D=I({availableTools:o,defaultFloatingTools:s,defaultDialTools:n,storage:a,initialSettings:d,onSettingsChange:m}),T=(0,P.useMemo)(()=>({...D,availableTools:o}),[D,o]);return(0,oe.jsx)(w.Provider,{value:T,children:t})}function ee(){let t=(0,P.useContext)(w);if(!t)throw new Error("useSettingsContext must be used within a SettingsProvider");return t}function te(){return(0,P.useContext)(w)}var G=require("react"),ne=require("@buoy-gg/floating-tools-core");function R(t={}){let{manager:o=ne.devToolsStateManager}=t,s=(0,G.useSyncExternalStore)(o.subscribe,o.getState,o.getServerState),n=(0,G.useMemo)(()=>({openDial:()=>o.openDial(),closeDial:()=>o.closeDial(),toggleDial:()=>o.toggleDial(),openSettings:()=>o.openSettings(),closeSettings:()=>o.closeSettings(),setSettingsTab:a=>o.setSettingsTab(a),initialize:()=>o.initialize(),reset:()=>o.reset()}),[o]);return{state:s,actions:n,manager:o}}function se(t={}){let{state:o,actions:s}=R(t);return{isOpen:o.isDialOpen,open:s.openDial,close:s.closeDial,toggle:s.toggleDial}}function ie(t={}){let{state:o,actions:s}=R(t);return{isOpen:o.isSettingsOpen,activeTab:o.activeSettingsTab,open:s.openSettings,close:s.closeSettings,setTab:s.setSettingsTab}}var C=require("react"),le=require("@buoy-gg/floating-tools-core");var ue=require("react/jsx-runtime"),O=(0,C.createContext)(null);O.displayName="DevToolsContext";function ae({children:t,tools:o=[],defaultFloatingTools:s,defaultDialTools:n,environment:a,userRole:d,availableEnvironments:m,onEnvironmentSwitch:D,stateManager:T=le.devToolsStateManager}){let{state:S,actions:h}=R({manager:T}),l=(0,C.useMemo)(()=>o.map(F=>({id:F.id,name:F.name,description:F.description,slot:F.slot})),[o]),{settings:x,isLoading:N,actions:A,helpers:_}=I({availableTools:l,defaultFloatingTools:s,defaultDialTools:n}),M=(0,C.useMemo)(()=>({devToolsState:S,devToolsActions:h,settings:x,isSettingsLoading:N,settingsActions:A,settingsHelpers:_,tools:o,environment:a,userRole:d,availableEnvironments:m,onEnvironmentSwitch:D}),[S,h,x,N,A,_,o,a,d,m,D]);return(0,ue.jsx)(O.Provider,{value:M,children:t})}function U(){let t=(0,C.useContext)(O);if(!t)throw new Error("useDevToolsContext must be used within a DevToolsProvider. Wrap your app with <DevToolsProvider> or <FloatingDevTools>.");return t}function re(){return(0,C.useContext)(O)}function ge(){let t=U();return{environment:t.environment,userRole:t.userRole,availableEnvironments:t.availableEnvironments,onEnvironmentSwitch:t.onEnvironmentSwitch}}function Se(){let t=U();return{tools:t.tools,settings:t.settings,isLoading:t.isSettingsLoading}}function Te(){let t=U();return{isOpen:t.devToolsState.isDialOpen,open:t.devToolsActions.openDial,close:t.devToolsActions.closeDial,toggle:t.devToolsActions.toggleDial}}function ce(){let t=U();return{isOpen:t.devToolsState.isSettingsOpen,activeTab:t.devToolsState.activeSettingsTab,open:t.devToolsActions.openSettings,close:t.devToolsActions.closeSettings,setTab:t.devToolsActions.setSettingsTab,settings:t.settings,actions:t.settingsActions,helpers:t.settingsHelpers}}var ve=require("@buoy-gg/floating-tools-core/floating");function de(t,o){let s=(0,ve.filterValidChildren)(t),n=[];return s.forEach((a,d)=>{n.push(a),d<s.length-1&&n.push(o(`divider-${d}`))}),n}var L=require("@buoy-gg/floating-tools-core"),e=require("@buoy-gg/floating-tools-core"),v=require("@buoy-gg/floating-tools-core"),H=require("@buoy-gg/floating-tools-core"),pe=require("@buoy-gg/floating-tools-core"),y=require("@buoy-gg/floating-tools-core"),E=require("@buoy-gg/floating-tools-core"),De=require("@buoy-gg/floating-tools-core"),u=require("@buoy-gg/floating-tools-core"),K=require("@buoy-gg/floating-tools-core");0&&(module.exports={ANIMATION_DURATION,DIAL_BUTTON_SIZE,DIAL_GRID_LINE_COUNT,DIAL_ICON_PADDING,DIAL_ICON_SIZE,DIAL_START_ANGLE,DRAG_THRESHOLD,DevToolsContext,DevToolsProvider,DevToolsStateManager,EDGE_PADDING,FloatingToolsContext,FloatingToolsProvider,FloatingToolsStore,MAX_DIAL_SLOTS,MAX_SETTINGS_DIAL_SLOTS,SETTINGS_STORAGE_KEY,SettingsContext,SettingsEventBus,SettingsProvider,USAGE_HALF_LIFE_MS,USAGE_MIN_SCORE,VISIBLE_HANDLE_WIDTH,canEnableDialTool,countEnabledTools,decayScore,devToolsReducer,devToolsStateManager,dialAnimationConfig,dialCSSBeziers,dialColors,dialStyles,easing,enforceDialLimit,floatingToolsColors,generateDefaultSettings,generateDialCSSKeyframes,getAllIconPositions,getDialCSSAnimationStyles,getDialCSSKeyframesString,getDialLayout,getEnabledToolIds,getGridLineRotations,getGripIconLayout,getIconAngle,getIconPosition,getIconStaggerInputRange,getSpiralAnimationPosition,getStaggeredIconProgress,getToolColor,getToolDescription,getToolLabel,getUserStatusConfig,globalSettingsConfig,interleaveWithDividers,interpolate,interpolatePosition,mergeSettingsWithDefaults,pruneUsage,rankToolIds,recordUsage,sanitizeFloatingSettings,settingsColors,settingsEventBus,settingsStyles,settingsTabs,toolColors,toolDescriptions,toolLabels,useDevTools,useDevToolsContext,useDevToolsDial,useDevToolsEnvironment,useDevToolsSettings,useDevToolsState,useDialState,useFloatingTools,useFloatingToolsContext,useOptionalDevToolsContext,useOptionalSettingsContext,useSettings,useSettingsContext,useSettingsModalState,withAlpha});
|
|
1
|
+
"use strict";var X=Object.defineProperty;var Ee=Object.getOwnPropertyDescriptor;var he=Object.getOwnPropertyNames;var Pe=Object.prototype.hasOwnProperty;var Ae=(t,o)=>{for(var n in o)X(t,n,{get:o[n],enumerable:true})},Fe=(t,o,n,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let a of he(o))!Pe.call(t,a)&&a!==n&&X(t,a,{get:()=>o[a],enumerable:!(i=Ee(o,a))||i.enumerable});return t};var Ie=t=>Fe(X({},"__esModule",{value:true}),t);var Oe={};Ae(Oe,{ANIMATION_DURATION:()=>e.ANIMATION_DURATION,DIAL_BUTTON_SIZE:()=>e.DIAL_BUTTON_SIZE,DIAL_GRID_LINE_COUNT:()=>e.DIAL_GRID_LINE_COUNT,DIAL_ICON_PADDING:()=>e.DIAL_ICON_PADDING,DIAL_ICON_SIZE:()=>e.DIAL_ICON_SIZE,DIAL_START_ANGLE:()=>e.DIAL_START_ANGLE,DRAG_THRESHOLD:()=>e.DRAG_THRESHOLD,DevToolsContext:()=>O,DevToolsProvider:()=>ae,DevToolsStateManager:()=>L.DevToolsStateManager,EDGE_PADDING:()=>e.EDGE_PADDING,FloatingToolsContext:()=>V,FloatingToolsProvider:()=>q,FloatingToolsStore:()=>e.FloatingToolsStore,MAX_DIAL_SLOTS:()=>e.MAX_DIAL_SLOTS,MAX_SETTINGS_DIAL_SLOTS:()=>H.MAX_SETTINGS_DIAL_SLOTS,SETTINGS_STORAGE_KEY:()=>H.SETTINGS_STORAGE_KEY,SettingsContext:()=>w,SettingsEventBus:()=>K.SettingsEventBus,SettingsProvider:()=>j,USAGE_HALF_LIFE_MS:()=>v.USAGE_HALF_LIFE_MS,USAGE_MIN_SCORE:()=>v.USAGE_MIN_SCORE,VISIBLE_HANDLE_WIDTH:()=>e.VISIBLE_HANDLE_WIDTH,canEnableDialTool:()=>u.canEnableDialTool,countEnabledTools:()=>u.countEnabledTools,decayScore:()=>v.decayScore,devToolsReducer:()=>L.devToolsReducer,devToolsStateManager:()=>L.devToolsStateManager,dialAnimationConfig:()=>e.dialAnimationConfig,dialCSSBeziers:()=>e.dialCSSBeziers,dialColors:()=>e.dialColors,dialStyles:()=>e.dialStyles,easing:()=>e.easing,enforceDialLimit:()=>u.enforceDialLimit,floatingToolsColors:()=>e.floatingToolsColors,generateDefaultSettings:()=>u.generateDefaultSettings,generateDialCSSKeyframes:()=>e.generateDialCSSKeyframes,getAllIconPositions:()=>e.getAllIconPositions,getDialCSSAnimationStyles:()=>e.getDialCSSAnimationStyles,getDialCSSKeyframesString:()=>e.getDialCSSKeyframesString,getDialLayout:()=>e.getDialLayout,getEnabledToolIds:()=>u.getEnabledToolIds,getGridLineRotations:()=>e.getGridLineRotations,getGripIconLayout:()=>e.getGripIconLayout,getIconAngle:()=>e.getIconAngle,getIconPosition:()=>e.getIconPosition,getIconStaggerInputRange:()=>e.getIconStaggerInputRange,getSpiralAnimationPosition:()=>e.getSpiralAnimationPosition,getStaggeredIconProgress:()=>e.getStaggeredIconProgress,getToolColor:()=>y.getToolColor,getToolDescription:()=>E.getToolDescription,getToolLabel:()=>E.getToolLabel,getUserStatusConfig:()=>e.getUserStatusConfig,globalSettingsConfig:()=>De.globalSettingsConfig,interleaveWithDividers:()=>de,interpolate:()=>e.interpolate,interpolatePosition:()=>e.interpolatePosition,mergeSettingsWithDefaults:()=>u.mergeSettingsWithDefaults,pruneUsage:()=>v.pruneUsage,rankToolIds:()=>v.rankToolIds,recordUsage:()=>v.recordUsage,sanitizeFloatingSettings:()=>u.sanitizeFloatingSettings,settingsColors:()=>y.settingsColors,settingsEventBus:()=>K.settingsEventBus,settingsStyles:()=>y.settingsStyles,settingsTabs:()=>pe.settingsTabs,toolColors:()=>y.toolColors,toolDescriptions:()=>E.toolDescriptions,toolLabels:()=>E.toolLabels,useDevTools:()=>Se,useDevToolsContext:()=>U,useDevToolsDial:()=>Te,useDevToolsEnvironment:()=>ge,useDevToolsSettings:()=>ce,useDevToolsState:()=>R,useDialState:()=>se,useFloatingTools:()=>Y,useFloatingToolsContext:()=>$,useOptionalDevToolsContext:()=>re,useOptionalSettingsContext:()=>te,useSettings:()=>I,useSettingsContext:()=>ee,useSettingsModalState:()=>ie,withAlpha:()=>e.withAlpha});module.exports=Ie(Oe);var f=require("react"),J=require("@buoy-gg/floating-tools-core/floating"),Z=require("react");function Y(t){let{screenSize:o,...n}=t,i=(0,f.useMemo)(()=>new J.FloatingToolsStore({...n,screenWidth:o.width,screenHeight:o.height}),[n.enablePositionPersistence,n.storage,n.visibleHandleWidth,n.dragThreshold,n.edgePadding]),a=(0,f.useRef)(false),[d,b]=(0,Z.useState)(false);(0,f.useEffect)(()=>(a.current||(a.current=true,i.initialize().then(()=>{b(true)})),()=>{i.destroy()}),[i]),(0,f.useEffect)(()=>{i.setScreenSize(o.width,o.height)},[i,o.width,o.height]);let A=(0,f.useSyncExternalStore)(i.subscribe,i.getSnapshot),T=(0,f.useMemo)(()=>({handleDragStart:S=>i.handleDragStart(S),handleDragMove:S=>i.handleDragMove(S),handleDragEnd:S=>i.handleDragEnd(S),toggleHideShow:()=>i.toggleHideShow(),commitPosition:S=>i.commitPosition(S),setBubbleSize:S=>i.setBubbleSize(S),setScreenSize:(S,p)=>i.setScreenSize(S,p),setMinPosition:S=>i.setMinPosition(S),forceHide:()=>i.forceHide(),forceShow:()=>i.forceShow()}),[i]);return{state:A,store:i,isInitialized:d,actions:T}}var z=require("react"),Q=require("react/jsx-runtime"),Re={isDragging:false,isHidden:false},V=(0,z.createContext)(Re);function $(){return(0,z.useContext)(V)}function q({value:t,children:o}){return(0,Q.jsx)(V.Provider,{value:t,children:o})}var r=require("react"),g=require("@buoy-gg/floating-tools-core");function I(t={}){let{availableTools:o=[],defaultFloatingTools:n,defaultDialTools:i,storage:a,initialSettings:d,onSettingsChange:b,subscribeToEventBus:A=true}=t,T=(0,r.useMemo)(()=>(0,g.generateDefaultSettings)(o,n,i),[o,n,i]),S=(0,r.useMemo)(()=>Object.keys(T.dialTools),[T]),p=(0,r.useMemo)(()=>Object.keys(T.floatingTools).filter(s=>s!=="environment"),[T]),[l,m]=(0,r.useState)(d??T),[M,h]=(0,r.useState)(true),[x,F]=(0,r.useState)(false),[N,B]=(0,r.useState)(null),k=(0,r.useCallback)(async()=>{if(!a){h(false),F(true);return}try{h(true),B(null);let s=await a.getItem(g.SETTINGS_STORAGE_KEY);if(s){let c=JSON.parse(s),_=(0,g.mergeSettingsWithDefaults)(T,c,{allowedDialKeys:S,allowedFloatingKeys:p});m(_)}else m(T)}catch(s){console.error("Failed to load dev tools settings:",s),B(s instanceof Error?s.message:"Failed to load settings"),m(T)}finally{h(false),F(true)}},[a,T,S,p]),D=(0,r.useCallback)(async s=>{let c={...s,dialTools:(0,g.enforceDialLimit)(s.dialTools)};try{a&&await a.setItem(g.SETTINGS_STORAGE_KEY,JSON.stringify(c)),m(c),b?.(c),g.settingsEventBus.emit(c)}catch(_){throw console.error("Failed to save dev tools settings:",_),B(_ instanceof Error?_.message:"Failed to save settings"),_}},[a,b]),W=(0,r.useCallback)(s=>{let c=(0,g.countEnabledTools)(l.dialTools);if(!l.dialTools[s]&&c>=g.MAX_SETTINGS_DIAL_SLOTS)return;let _={...l,dialTools:{...l.dialTools,[s]:!l.dialTools[s]}};D(_)},[l,D]),fe=(0,r.useCallback)(s=>{let c={...l,floatingTools:{...l.floatingTools,[s]:!l.floatingTools[s]}};D(c)},[l,D]),_e=(0,r.useCallback)(()=>{let s={...l,floatingTools:{...l.floatingTools,environment:!l.floatingTools.environment}};D(s)},[l,D]),be=(0,r.useCallback)(s=>{let c={...l,globalSettings:{...l.globalSettings,[s]:!l.globalSettings?.[s]}};D(c)},[l,D]),Ce=(0,r.useCallback)(async()=>{await D(T)},[T,D]);(0,r.useEffect)(()=>{k()},[k]),(0,r.useEffect)(()=>A?g.settingsEventBus.addListener(s=>{m(s)}):void 0,[A]);let me=(0,r.useMemo)(()=>{let s=(0,g.countEnabledTools)(l.dialTools),{dial:c,floating:_}=(0,g.getEnabledToolIds)(l);return{dialToolCount:s,isDialFull:s>=g.MAX_SETTINGS_DIAL_SLOTS,enabledDialTools:c,enabledFloatingTools:_,canEnableDialTool:Le=>l.dialTools[Le]?true:s<g.MAX_SETTINGS_DIAL_SLOTS}},[l]);return{settings:l,isLoading:M,isInitialized:x,error:N,actions:{toggleDialTool:W,toggleFloatingTool:fe,toggleEnvironment:_e,toggleGlobalSetting:be,saveSettings:D,resetToDefaults:Ce,reloadSettings:k},helpers:me}}var P=require("react");var oe=require("react/jsx-runtime"),w=(0,P.createContext)(null);function j({children:t,availableTools:o=[],defaultFloatingTools:n,defaultDialTools:i,storage:a,initialSettings:d,onSettingsChange:b}){let A=I({availableTools:o,defaultFloatingTools:n,defaultDialTools:i,storage:a,initialSettings:d,onSettingsChange:b}),T=(0,P.useMemo)(()=>({...A,availableTools:o}),[A,o]);return(0,oe.jsx)(w.Provider,{value:T,children:t})}function ee(){let t=(0,P.useContext)(w);if(!t)throw new Error("useSettingsContext must be used within a SettingsProvider");return t}function te(){return(0,P.useContext)(w)}var G=require("react"),ne=require("@buoy-gg/floating-tools-core");function R(t={}){let{manager:o=ne.devToolsStateManager}=t,n=(0,G.useSyncExternalStore)(o.subscribe,o.getState,o.getServerState),i=(0,G.useMemo)(()=>({openDial:()=>o.openDial(),closeDial:()=>o.closeDial(),toggleDial:()=>o.toggleDial(),openSettings:()=>o.openSettings(),closeSettings:()=>o.closeSettings(),setSettingsTab:a=>o.setSettingsTab(a),initialize:()=>o.initialize(),reset:()=>o.reset()}),[o]);return{state:n,actions:i,manager:o}}function se(t={}){let{state:o,actions:n}=R(t);return{isOpen:o.isDialOpen,open:n.openDial,close:n.closeDial,toggle:n.toggleDial}}function ie(t={}){let{state:o,actions:n}=R(t);return{isOpen:o.isSettingsOpen,activeTab:o.activeSettingsTab,open:n.openSettings,close:n.closeSettings,setTab:n.setSettingsTab}}var C=require("react"),le=require("@buoy-gg/floating-tools-core");var ue=require("react/jsx-runtime"),O=(0,C.createContext)(null);O.displayName="DevToolsContext";function ae({children:t,tools:o=[],defaultFloatingTools:n,defaultDialTools:i,environment:a,userRole:d,availableEnvironments:b,onEnvironmentSwitch:A,stateManager:T=le.devToolsStateManager}){let{state:S,actions:p}=R({manager:T}),l=(0,C.useMemo)(()=>o.map(N=>({id:N.id,name:N.name,description:N.description,slot:N.slot})),[o]),{settings:m,isLoading:M,actions:h,helpers:x}=I({availableTools:l,defaultFloatingTools:n,defaultDialTools:i}),F=(0,C.useMemo)(()=>({devToolsState:S,devToolsActions:p,settings:m,isSettingsLoading:M,settingsActions:h,settingsHelpers:x,tools:o,environment:a,userRole:d,availableEnvironments:b,onEnvironmentSwitch:A}),[S,p,m,M,h,x,o,a,d,b,A]);return(0,ue.jsx)(O.Provider,{value:F,children:t})}function U(){let t=(0,C.useContext)(O);if(!t)throw new Error("useDevToolsContext must be used within a DevToolsProvider. Wrap your app with <DevToolsProvider> or <FloatingDevTools>.");return t}function re(){return(0,C.useContext)(O)}function ge(){let t=U();return{environment:t.environment,userRole:t.userRole,availableEnvironments:t.availableEnvironments,onEnvironmentSwitch:t.onEnvironmentSwitch}}function Se(){let t=U();return{tools:t.tools,settings:t.settings,isLoading:t.isSettingsLoading}}function Te(){let t=U();return{isOpen:t.devToolsState.isDialOpen,open:t.devToolsActions.openDial,close:t.devToolsActions.closeDial,toggle:t.devToolsActions.toggleDial}}function ce(){let t=U();return{isOpen:t.devToolsState.isSettingsOpen,activeTab:t.devToolsState.activeSettingsTab,open:t.devToolsActions.openSettings,close:t.devToolsActions.closeSettings,setTab:t.devToolsActions.setSettingsTab,settings:t.settings,actions:t.settingsActions,helpers:t.settingsHelpers}}var ve=require("@buoy-gg/floating-tools-core/floating");function de(t,o){let n=(0,ve.filterValidChildren)(t),i=[];return n.forEach((a,d)=>{i.push(a),d<n.length-1&&i.push(o(`divider-${d}`))}),i}var L=require("@buoy-gg/floating-tools-core"),e=require("@buoy-gg/floating-tools-core"),v=require("@buoy-gg/floating-tools-core"),H=require("@buoy-gg/floating-tools-core"),pe=require("@buoy-gg/floating-tools-core"),y=require("@buoy-gg/floating-tools-core"),E=require("@buoy-gg/floating-tools-core"),De=require("@buoy-gg/floating-tools-core"),u=require("@buoy-gg/floating-tools-core"),K=require("@buoy-gg/floating-tools-core");
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as Z,b as Y,c as V,d as J,e as $}from"./chunk-2OZZBOHY.mjs";import{useState as L,useEffect as R,useCallback as d,useMemo as C}from"react";import{settingsEventBus as M,SETTINGS_STORAGE_KEY as P,MAX_SETTINGS_DIAL_SLOTS as h,enforceDialLimit as q,mergeSettingsWithDefaults as Q,generateDefaultSettings as tt,countEnabledTools as x,getEnabledToolIds as et}from"@buoy-gg/floating-tools-core";function F(t={}){let{availableTools:e=[],defaultFloatingTools:a,defaultDialTools:S,storage:l,initialSettings:D,onSettingsChange:c,subscribeToEventBus:T=true}=t,i=C(()=>tt(e,a,S),[e,a,S]),f=C(()=>Object.keys(i.dialTools),[i]),I=C(()=>Object.keys(i.floatingTools).filter(s=>s!=="environment"),[i]),[o,u]=L(D??i),[A,m]=L(true),[_,b]=L(false),[v,y]=L(null),G=d(async()=>{if(!l){m(false),b(true);return}try{m(true),y(null);let s=await l.getItem(P);if(s){let n=JSON.parse(s),g=Q(i,n,{allowedDialKeys:f,allowedFloatingKeys:I});u(g)}else u(i)}catch(s){console.error("Failed to load dev tools settings:",s),y(s instanceof Error?s.message:"Failed to load settings"),u(i)}finally{m(false),b(true)}},[l,i,f,I]),r=d(async s=>{let n={...s,dialTools:q(s.dialTools)};try{l&&await l.setItem(P,JSON.stringify(n)),u(n),c?.(n),M.emit(n)}catch(g){throw console.error("Failed to save dev tools settings:",g),y(g instanceof Error?g.message:"Failed to save settings"),g}},[l,c]),B=d(s=>{let n=x(o.dialTools);if(!o.dialTools[s]&&n>=h)return;let g={...o,dialTools:{...o.dialTools,[s]:!o.dialTools[s]}};r(g)},[o,r]),K=d(s=>{let n={...o,floatingTools:{...o.floatingTools,[s]:!o.floatingTools[s]}};r(n)},[o,r]),z=d(()=>{let s={...o,floatingTools:{...o.floatingTools,environment:!o.floatingTools.environment}};r(s)},[o,r]),W=d(s=>{let n={...o,globalSettings:{...o.globalSettings,[s]:!o.globalSettings?.[s]}};r(n)},[o,r]),X=d(async()=>{await r(i)},[i,r]);R(()=>{G()},[G]),R(()=>T?M.addListener(s=>{u(s)}):void 0,[T]);let j=C(()=>{let s=x(o.dialTools),{dial:n,floating:g}=et(o);return{dialToolCount:s,isDialFull:s>=h,enabledDialTools:n,enabledFloatingTools:g,canEnableDialTool:k=>o.dialTools[k]?true:s<h}},[o]);return{settings:o,isLoading:A,isInitialized:_,error:v,actions:{toggleDialTool:B,toggleFloatingTool:K,toggleEnvironment:z,toggleGlobalSetting:W,saveSettings:r,resetToDefaults:X,reloadSettings:G},helpers:j}}import{createContext as st,useContext as w,useMemo as ot}from"react";import{jsx as at}from"react/jsx-runtime";var O=st(null);function it({children:t,availableTools:e=[],defaultFloatingTools:a,defaultDialTools:S,storage:l,initialSettings:D,onSettingsChange:c}){let T=F({availableTools:e,defaultFloatingTools:a,defaultDialTools:S,storage:l,initialSettings:D,onSettingsChange:c}),i=ot(()=>({...T,availableTools:e}),[T,e]);return at(O.Provider,{value:i,children:t})}function nt(){let t=w(O);if(!t)throw new Error("useSettingsContext must be used within a SettingsProvider");return t}function lt(){return w(O)}import{useSyncExternalStore as rt,useMemo as gt}from"react";import{devToolsStateManager as St}from"@buoy-gg/floating-tools-core";function N(t={}){let{manager:e=St}=t,a=rt(e.subscribe,e.getState,e.getServerState),S=gt(()=>({openDial:()=>e.openDial(),closeDial:()=>e.closeDial(),toggleDial:()=>e.toggleDial(),openSettings:()=>e.openSettings(),closeSettings:()=>e.closeSettings(),setSettingsTab:l=>e.setSettingsTab(l),initialize:()=>e.initialize(),reset:()=>e.reset()}),[e]);return{state:a,actions:S,manager:e}}function Tt(t={}){let{state:e,actions:a}=N(t);return{isOpen:e.isDialOpen,open:a.openDial,close:a.closeDial,toggle:a.toggleDial}}function ut(t={}){let{state:e,actions:a}=N(t);return{isOpen:e.isSettingsOpen,activeTab:e.activeSettingsTab,open:a.openSettings,close:a.closeSettings,setTab:a.setSettingsTab}}import{createContext as ct,useContext as U,useMemo as H}from"react";import{devToolsStateManager as dt}from"@buoy-gg/floating-tools-core";import{jsx as Dt}from"react/jsx-runtime";var p=ct(null);p.displayName="DevToolsContext";function mt({children:t,tools:e=[],defaultFloatingTools:a,defaultDialTools:S,environment:l,userRole:D,availableEnvironments:c,onEnvironmentSwitch:T,stateManager:i=dt}){let{state:f,actions:I}=N({manager:i}),o=H(()=>e.map(v=>({id:v.id,name:v.name,description:v.description,slot:v.slot})),[e]),{settings:u,isLoading:A,actions:m,helpers:_}=F({availableTools:o,defaultFloatingTools:a,defaultDialTools:S}),b=H(()=>({devToolsState:f,devToolsActions:I,settings:u,isSettingsLoading:A,settingsActions:m,settingsHelpers:_,tools:e,environment:l,userRole:D,availableEnvironments:c,onEnvironmentSwitch:T}),[f,I,u,A,m,_,e,l,D,c,T]);return Dt(p.Provider,{value:b,children:t})}function E(){let t=U(p);if(!t)throw new Error("useDevToolsContext must be used within a DevToolsProvider. Wrap your app with <DevToolsProvider> or <FloatingDevTools>.");return t}function vt(){return U(p)}function ft(){let t=E();return{environment:t.environment,userRole:t.userRole,availableEnvironments:t.availableEnvironments,onEnvironmentSwitch:t.onEnvironmentSwitch}}function It(){let t=E();return{tools:t.tools,settings:t.settings,isLoading:t.isSettingsLoading}}function pt(){let t=E();return{isOpen:t.devToolsState.isDialOpen,open:t.devToolsActions.openDial,close:t.devToolsActions.closeDial,toggle:t.devToolsActions.toggleDial}}function Et(){let t=E();return{isOpen:t.devToolsState.isSettingsOpen,activeTab:t.devToolsState.activeSettingsTab,open:t.devToolsActions.openSettings,close:t.devToolsActions.closeSettings,setTab:t.devToolsActions.setSettingsTab,settings:t.settings,actions:t.settingsActions,helpers:t.settingsHelpers}}import{DevToolsStateManager as At,devToolsStateManager as _t,devToolsReducer as bt}from"@buoy-gg/floating-tools-core";import{FloatingToolsStore as Lt,floatingToolsColors as Ct,withAlpha as Ot,getUserStatusConfig as Nt,getGripIconLayout as yt,easing as Gt,interpolate as ht,interpolatePosition as Ft,VISIBLE_HANDLE_WIDTH as Rt,ANIMATION_DURATION as Mt,DRAG_THRESHOLD as Pt,EDGE_PADDING as xt,MAX_DIAL_SLOTS as wt,DIAL_START_ANGLE as Ut,DIAL_BUTTON_SIZE as Ht,DIAL_ICON_SIZE as Bt,DIAL_ICON_PADDING as Kt,DIAL_GRID_LINE_COUNT as zt,dialColors as Wt,dialStyles as Xt,getGridLineRotations as jt,getDialLayout as kt,getIconAngle as Zt,getIconPosition as Yt,getAllIconPositions as Vt,dialAnimationConfig as Jt,getIconStaggerInputRange as $t,dialCSSBeziers as qt,generateDialCSSKeyframes as Qt,getDialCSSAnimationStyles as te,getDialCSSKeyframesString as ee,getSpiralAnimationPosition as se,getStaggeredIconProgress as oe}from"@buoy-gg/floating-tools-core";import{USAGE_HALF_LIFE_MS as ae,USAGE_MIN_SCORE as ie,decayScore as ne,recordUsage as le,rankToolIds as re,pruneUsage as ge}from"@buoy-gg/floating-tools-core";import{SETTINGS_STORAGE_KEY as Se,MAX_SETTINGS_DIAL_SLOTS as Te}from"@buoy-gg/floating-tools-core";import{settingsTabs as ue}from"@buoy-gg/floating-tools-core";import{settingsColors as ce,toolColors as de,getToolColor as De,settingsStyles as me}from"@buoy-gg/floating-tools-core";import{toolLabels as ve,getToolLabel as fe,toolDescriptions as Ie,getToolDescription as pe}from"@buoy-gg/floating-tools-core";import{globalSettingsConfig as Ee}from"@buoy-gg/floating-tools-core";import{enforceDialLimit as Ae,sanitizeFloatingSettings as _e,mergeSettingsWithDefaults as be,generateDefaultSettings as Le,countEnabledTools as Ce,canEnableDialTool as Oe,getEnabledToolIds as Ne}from"@buoy-gg/floating-tools-core";import{SettingsEventBus as ye,settingsEventBus as Ge}from"@buoy-gg/floating-tools-core";export{Mt as ANIMATION_DURATION,Ht as DIAL_BUTTON_SIZE,zt as DIAL_GRID_LINE_COUNT,Kt as DIAL_ICON_PADDING,Bt as DIAL_ICON_SIZE,Ut as DIAL_START_ANGLE,Pt as DRAG_THRESHOLD,p as DevToolsContext,mt as DevToolsProvider,At as DevToolsStateManager,xt as EDGE_PADDING,Y as FloatingToolsContext,J as FloatingToolsProvider,Lt as FloatingToolsStore,wt as MAX_DIAL_SLOTS,Te as MAX_SETTINGS_DIAL_SLOTS,Se as SETTINGS_STORAGE_KEY,O as SettingsContext,ye as SettingsEventBus,it as SettingsProvider,ae as USAGE_HALF_LIFE_MS,ie as USAGE_MIN_SCORE,Rt as VISIBLE_HANDLE_WIDTH,Oe as canEnableDialTool,Ce as countEnabledTools,ne as decayScore,bt as devToolsReducer,_t as devToolsStateManager,Jt as dialAnimationConfig,qt as dialCSSBeziers,Wt as dialColors,Xt as dialStyles,Gt as easing,Ae as enforceDialLimit,Ct as floatingToolsColors,Le as generateDefaultSettings,Qt as generateDialCSSKeyframes,Vt as getAllIconPositions,te as getDialCSSAnimationStyles,ee as getDialCSSKeyframesString,kt as getDialLayout,Ne as getEnabledToolIds,jt as getGridLineRotations,yt as getGripIconLayout,Zt as getIconAngle,Yt as getIconPosition,$t as getIconStaggerInputRange,se as getSpiralAnimationPosition,oe as getStaggeredIconProgress,De as getToolColor,pe as getToolDescription,fe as getToolLabel,Nt as getUserStatusConfig,Ee as globalSettingsConfig,$ as interleaveWithDividers,ht as interpolate,Ft as interpolatePosition,be as mergeSettingsWithDefaults,ge as pruneUsage,re as rankToolIds,le as recordUsage,_e as sanitizeFloatingSettings,ce as settingsColors,Ge as settingsEventBus,me as settingsStyles,ue as settingsTabs,de as toolColors,Ie as toolDescriptions,ve as toolLabels,It as useDevTools,E as useDevToolsContext,pt as useDevToolsDial,ft as useDevToolsEnvironment,Et as useDevToolsSettings,N as useDevToolsState,Tt as useDialState,Z as useFloatingTools,V as useFloatingToolsContext,vt as useOptionalDevToolsContext,lt as useOptionalSettingsContext,F as useSettings,nt as useSettingsContext,ut as useSettingsModalState,Ot as withAlpha};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
typeof window<"u"&&typeof globalThis.global>"u"&&(globalThis.global=globalThis);import{useMemo as a,useSyncExternalStore as f,useEffect as l,useRef as m}from"react";import{FloatingToolsStore as v}from"@buoy-gg/floating-tools-core/web/floating";import{useState as D}from"react";function z(n){let{screenSize:o,...i}=n,e=a(()=>new v({...i,screenWidth:o.width,screenHeight:o.height}),[i.enablePositionPersistence,i.storage,i.visibleHandleWidth,i.dragThreshold,i.edgePadding]),r=m(!1),[s,c]=D(!1);l(()=>(r.current||(r.current=!0,e.initialize().then(()=>{c(!0)})),()=>{e.destroy()}),[e]),l(()=>{e.setScreenSize(o.width,o.height)},[e,o.width,o.height]);let h=f(e.subscribe,e.getSnapshot),u=a(()=>({handleDragStart:t=>e.handleDragStart(t),handleDragMove:t=>e.handleDragMove(t),handleDragEnd:t=>e.handleDragEnd(t),toggleHideShow:()=>e.toggleHideShow(),commitPosition:t=>e.commitPosition(t),setBubbleSize:t=>e.setBubbleSize(t),setScreenSize:(t,p)=>e.setScreenSize(t,p),setMinPosition:t=>e.setMinPosition(t),forceHide:()=>e.forceHide(),forceShow:()=>e.forceShow()}),[e]);return{state:h,store:e,isInitialized:s,actions:u}}import{createContext as b,useContext as S}from"react";import{jsx as T}from"react/jsx-runtime";var P={isDragging:!1,isHidden:!1},d=b(P);function V(){return S(d)}function N({value:n,children:o}){return T(d.Provider,{value:n,children:o})}import{filterValidChildren as F}from"@buoy-gg/floating-tools-core/web/floating";function U(n,o){let i=F(n),e=[];return i.forEach((r,s)=>{e.push(r),s<i.length-1&&e.push(o(`divider-${s}`))}),e}export{z as a,d as b,V as c,N as d,U as e};
|
|
1
|
+
"use client";typeof window<"u"&&typeof globalThis.global>"u"&&(globalThis.global=globalThis);import{useMemo as l,useSyncExternalStore as f,useEffect as d,useRef as S}from"react";import{FloatingToolsStore as m}from"@buoy-gg/floating-tools-core/web/floating";import{useState as b}from"react";function p(r){let{screenSize:i,...o}=r,e=l(()=>new m({...o,screenWidth:i.width,screenHeight:i.height}),[o.enablePositionPersistence,o.storage,o.visibleHandleWidth,o.dragThreshold,o.edgePadding]),s=S(false),[n,h]=b(false);d(()=>(s.current||(s.current=true,e.initialize().then(()=>{h(true)})),()=>{e.destroy()}),[e]),d(()=>{e.setScreenSize(i.width,i.height)},[e,i.width,i.height]);let c=f(e.subscribe,e.getSnapshot),g=l(()=>({handleDragStart:t=>e.handleDragStart(t),handleDragMove:t=>e.handleDragMove(t),handleDragEnd:t=>e.handleDragEnd(t),toggleHideShow:()=>e.toggleHideShow(),commitPosition:t=>e.commitPosition(t),setBubbleSize:t=>e.setBubbleSize(t),setScreenSize:(t,u)=>e.setScreenSize(t,u),setMinPosition:t=>e.setMinPosition(t),forceHide:()=>e.forceHide(),forceShow:()=>e.forceShow()}),[e]);return{state:c,store:e,isInitialized:n,actions:g}}import{createContext as w,useContext as v}from"react";import{jsx as z}from"react/jsx-runtime";var P={isDragging:false,isHidden:false},a=w(P);function D(){return v(a)}function H({value:r,children:i}){return z(a.Provider,{value:r,children:i})}import{filterValidChildren as T}from"@buoy-gg/floating-tools-core/web/floating";function x(r,i){let o=T(r),e=[];return o.forEach((s,n)=>{e.push(s),n<o.length-1&&e.push(i(`divider-${n}`))}),e}export{p as a,a as b,D as c,H as d,x as e};
|
package/dist/web/floating.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import{a as e,b as o,c as t,d as f,e as r}from"./chunks/chunk-PD42JYT2.mjs";export*from"@buoy-gg/floating-tools-core/web/floating";export{o as FloatingToolsContext,f as FloatingToolsProvider,r as interleaveWithDividers,e as useFloatingTools,t as useFloatingToolsContext};
|
|
1
|
+
"use client";import{a as o,b as s,c as a,d as e,e as t}from"./chunks/chunk-PD42JYT2.mjs";export*from"@buoy-gg/floating-tools-core/web/floating";export{s as FloatingToolsContext,e as FloatingToolsProvider,t as interleaveWithDividers,o as useFloatingTools,a as useFloatingToolsContext};
|
package/dist/web/index.mjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import{a as Y,b as Z,c as j,d as q,e as Q}from"./chunks/chunk-PD42JYT2.mjs";import{useState as O,useEffect as h,useCallback as u,useMemo as P}from"react";import{settingsEventBus as M,SETTINGS_STORAGE_KEY as w,MAX_SETTINGS_DIAL_SLOTS as N,enforceDialLimit as $,mergeSettingsWithDefaults as ee,generateDefaultSettings as te,countEnabledTools as G,getEnabledToolIds as oe}from"@buoy-gg/floating-tools-core/web";function b(e={}){let{availableTools:t=[],defaultFloatingTools:s,defaultDialTools:S,storage:a,initialSettings:p,onSettingsChange:c,subscribeToEventBus:T=!0}=e,l=P(()=>te(t,s,S),[t,s,S]),f=P(()=>Object.keys(l.dialTools),[l]),m=P(()=>Object.keys(l.floatingTools).filter(o=>o!=="environment"),[l]),[n,v]=O(p??l),[E,D]=O(!0),[A,I]=O(!1),[d,R]=O(null),_=u(async()=>{if(!a){D(!1),I(!0);return}try{D(!0),R(null);let o=await a.getItem(w);if(o){let i=JSON.parse(o),g=ee(l,i,{allowedDialKeys:f,allowedFloatingKeys:m});v(g)}else v(l)}catch(o){console.error("Failed to load dev tools settings:",o),R(o instanceof Error?o.message:"Failed to load settings"),v(l)}finally{D(!1),I(!0)}},[a,l,f,m]),r=u(async o=>{let i={...o,dialTools:$(o.dialTools)};try{a&&await a.setItem(w,JSON.stringify(i)),v(i),c?.(i),M.emit(i)}catch(g){throw console.error("Failed to save dev tools settings:",g),R(g instanceof Error?g.message:"Failed to save settings"),g}},[a,c]),B=u(o=>{let i=G(n.dialTools);if(!n.dialTools[o]&&i>=N)return;let F={...n,dialTools:{...n.dialTools,[o]:!n.dialTools[o]}};r(F)},[n,r]),W=u(o=>{let i={...n,floatingTools:{...n.floatingTools,[o]:!n.floatingTools[o]}};r(i)},[n,r]),H=u(()=>{let o={...n,floatingTools:{...n.floatingTools,environment:!n.floatingTools.environment}};r(o)},[n,r]),k=u(o=>{let i={...n,globalSettings:{...n.globalSettings,[o]:!n.globalSettings?.[o]}};r(i)},[n,r]),X=u(async()=>{await r(l)},[l,r]);h(()=>{_()},[_]),h(()=>T?M.addListener(i=>{v(i)}):void 0,[T]);let J=P(()=>{let o=G(n.dialTools),{dial:i,floating:g}=oe(n);return{dialToolCount:o,isDialFull:o>=N,enabledDialTools:i,enabledFloatingTools:g,canEnableDialTool:F=>n.dialTools[F]?!0:o<N}},[n]);return{settings:n,isLoading:E,isInitialized:A,error:d,actions:{toggleDialTool:B,toggleFloatingTool:W,toggleEnvironment:H,toggleGlobalSetting:k,saveSettings:r,resetToDefaults:X,reloadSettings:_},helpers:J}}import{createContext as ne,useContext as K,useMemo as se}from"react";import{jsx as re}from"react/jsx-runtime";var U=ne(null);function ie({children:e,availableTools:t=[],defaultFloatingTools:s,defaultDialTools:S,storage:a,initialSettings:p,onSettingsChange:c}){let T=b({availableTools:t,defaultFloatingTools:s,defaultDialTools:S,storage:a,initialSettings:p,onSettingsChange:c}),l=se(()=>({...T,availableTools:t}),[T,t]);return re(U.Provider,{value:l,children:e})}function le(){let e=K(U);if(!e)throw new Error("useSettingsContext must be used within a SettingsProvider");return e}function ae(){return K(U)}import{useSyncExternalStore as ge,useMemo as Se}from"react";import{devToolsStateManager as Te}from"@buoy-gg/floating-tools-core/web";function x(e={}){let{manager:t=Te}=e,s=ge(t.subscribe,t.getState,t.getServerState),S=Se(()=>({openDial:()=>t.openDial(),closeDial:()=>t.closeDial(),toggleDial:()=>t.toggleDial(),openSettings:()=>t.openSettings(),closeSettings:()=>t.closeSettings(),setSettingsTab:a=>t.setSettingsTab(a),initialize:()=>t.initialize(),reset:()=>t.reset()}),[t]);return{state:s,actions:S,manager:t}}function ve(e={}){let{state:t,actions:s}=x(e);return{isOpen:t.isDialOpen,open:s.openDial,close:s.closeDial,toggle:s.toggleDial}}function ce(e={}){let{state:t,actions:s}=x(e);return{isOpen:t.isSettingsOpen,activeTab:t.activeSettingsTab,open:s.openSettings,close:s.closeSettings,setTab:s.setSettingsTab}}import{createContext as ue,useContext as z,useMemo as V}from"react";import{devToolsStateManager as pe}from"@buoy-gg/floating-tools-core/web";import{jsx as Ce}from"react/jsx-runtime";var C=ue(null);C.displayName="DevToolsContext";function De({children:e,tools:t=[],defaultFloatingTools:s,defaultDialTools:S,environment:a,userRole:p,availableEnvironments:c,onEnvironmentSwitch:T,stateManager:l=pe}){let{state:f,actions:m}=x({manager:l}),n=V(()=>t.map(d=>({id:d.id,name:d.name,description:d.description,slot:d.slot})),[t]),{settings:v,isLoading:E,actions:D,helpers:A}=b({availableTools:n,defaultFloatingTools:s,defaultDialTools:S}),I=V(()=>({devToolsState:f,devToolsActions:m,settings:v,isSettingsLoading:E,settingsActions:D,settingsHelpers:A,tools:t,environment:a,userRole:p,availableEnvironments:c,onEnvironmentSwitch:T}),[f,m,v,E,D,A,t,a,p,c,T]);return Ce(C.Provider,{value:I,children:e})}function y(){let e=z(C);if(!e)throw new Error("useDevToolsContext must be used within a DevToolsProvider. Wrap your app with <DevToolsProvider> or <FloatingDevTools>.");return e}function de(){return z(C)}function fe(){let e=y();return{environment:e.environment,userRole:e.userRole,availableEnvironments:e.availableEnvironments,onEnvironmentSwitch:e.onEnvironmentSwitch}}function me(){let e=y();return{tools:e.tools,settings:e.settings,isLoading:e.isSettingsLoading}}function be(){let e=y();return{isOpen:e.devToolsState.isDialOpen,open:e.devToolsActions.openDial,close:e.devToolsActions.closeDial,toggle:e.devToolsActions.toggleDial}}function xe(){let e=y();return{isOpen:e.devToolsState.isSettingsOpen,activeTab:e.devToolsState.activeSettingsTab,open:e.devToolsActions.openSettings,close:e.devToolsActions.closeSettings,setTab:e.devToolsActions.setSettingsTab,settings:e.settings,actions:e.settingsActions,helpers:e.settingsHelpers}}import{DevToolsStateManager as st,devToolsStateManager as it,devToolsReducer as lt}from"@buoy-gg/floating-tools-core/web";import{FloatingToolsStore as rt,floatingToolsColors as gt,withAlpha as St,getUserStatusConfig as Tt,getGripIconLayout as vt,easing as ct,interpolate as ut,interpolatePosition as pt,VISIBLE_HANDLE_WIDTH as Dt,ANIMATION_DURATION as dt,DRAG_THRESHOLD as ft,EDGE_PADDING as mt,MAX_DIAL_SLOTS as bt,DIAL_START_ANGLE as xt,DIAL_BUTTON_SIZE as Ct,DIAL_ICON_SIZE as yt,DIAL_ICON_PADDING as Et,DIAL_GRID_LINE_COUNT as At,dialColors as It,dialStyles as Ot,getGridLineRotations as Pt,getDialLayout as Lt,getIconAngle as Ut,getIconPosition as Rt,getAllIconPositions as _t,dialAnimationConfig as Ft,getIconStaggerInputRange as Nt,dialCSSBeziers as ht,generateDialCSSKeyframes as Mt,getDialCSSAnimationStyles as wt,getDialCSSKeyframesString as Gt,getSpiralAnimationPosition as Kt,getStaggeredIconProgress as Vt}from"@buoy-gg/floating-tools-core/web";import{USAGE_HALF_LIFE_MS as Bt,USAGE_MIN_SCORE as Wt,decayScore as Ht,recordUsage as kt,rankToolIds as Xt,pruneUsage as Jt}from"@buoy-gg/floating-tools-core/web";import{SETTINGS_STORAGE_KEY as Zt,MAX_SETTINGS_DIAL_SLOTS as jt}from"@buoy-gg/floating-tools-core/web";import{settingsTabs as Qt}from"@buoy-gg/floating-tools-core/web";import{settingsColors as eo,toolColors as to,getToolColor as oo,settingsStyles as no}from"@buoy-gg/floating-tools-core/web";import{toolLabels as io,getToolLabel as lo,toolDescriptions as ao,getToolDescription as ro}from"@buoy-gg/floating-tools-core/web";import{globalSettingsConfig as So}from"@buoy-gg/floating-tools-core/web";import{enforceDialLimit as vo,sanitizeFloatingSettings as co,mergeSettingsWithDefaults as uo,generateDefaultSettings as po,countEnabledTools as Do,canEnableDialTool as fo,getEnabledToolIds as mo}from"@buoy-gg/floating-tools-core/web";import{SettingsEventBus as xo,settingsEventBus as Co}from"@buoy-gg/floating-tools-core/web";export{dt as ANIMATION_DURATION,Ct as DIAL_BUTTON_SIZE,At as DIAL_GRID_LINE_COUNT,Et as DIAL_ICON_PADDING,yt as DIAL_ICON_SIZE,xt as DIAL_START_ANGLE,ft as DRAG_THRESHOLD,C as DevToolsContext,De as DevToolsProvider,st as DevToolsStateManager,mt as EDGE_PADDING,Z as FloatingToolsContext,q as FloatingToolsProvider,rt as FloatingToolsStore,bt as MAX_DIAL_SLOTS,jt as MAX_SETTINGS_DIAL_SLOTS,Zt as SETTINGS_STORAGE_KEY,U as SettingsContext,xo as SettingsEventBus,ie as SettingsProvider,Bt as USAGE_HALF_LIFE_MS,Wt as USAGE_MIN_SCORE,Dt as VISIBLE_HANDLE_WIDTH,fo as canEnableDialTool,Do as countEnabledTools,Ht as decayScore,lt as devToolsReducer,it as devToolsStateManager,Ft as dialAnimationConfig,ht as dialCSSBeziers,It as dialColors,Ot as dialStyles,ct as easing,vo as enforceDialLimit,gt as floatingToolsColors,po as generateDefaultSettings,Mt as generateDialCSSKeyframes,_t as getAllIconPositions,wt as getDialCSSAnimationStyles,Gt as getDialCSSKeyframesString,Lt as getDialLayout,mo as getEnabledToolIds,Pt as getGridLineRotations,vt as getGripIconLayout,Ut as getIconAngle,Rt as getIconPosition,Nt as getIconStaggerInputRange,Kt as getSpiralAnimationPosition,Vt as getStaggeredIconProgress,oo as getToolColor,ro as getToolDescription,lo as getToolLabel,Tt as getUserStatusConfig,So as globalSettingsConfig,Q as interleaveWithDividers,ut as interpolate,pt as interpolatePosition,uo as mergeSettingsWithDefaults,Jt as pruneUsage,Xt as rankToolIds,kt as recordUsage,co as sanitizeFloatingSettings,eo as settingsColors,Co as settingsEventBus,no as settingsStyles,Qt as settingsTabs,to as toolColors,ao as toolDescriptions,io as toolLabels,me as useDevTools,y as useDevToolsContext,be as useDevToolsDial,fe as useDevToolsEnvironment,xe as useDevToolsSettings,x as useDevToolsState,ve as useDialState,Y as useFloatingTools,j as useFloatingToolsContext,de as useOptionalDevToolsContext,ae as useOptionalSettingsContext,b as useSettings,le as useSettingsContext,ce as useSettingsModalState,St as withAlpha};
|
|
1
|
+
"use client";import{a as Z,b as J,c as V,d as Y,e as Q}from"./chunks/chunk-PD42JYT2.mjs";import{useState as b,useEffect as R,useCallback as d,useMemo as L}from"react";import{settingsEventBus as M,SETTINGS_STORAGE_KEY as P,MAX_SETTINGS_DIAL_SLOTS as G,enforceDialLimit as q,mergeSettingsWithDefaults as $,generateDefaultSettings as ee,countEnabledTools as x,getEnabledToolIds as te}from"@buoy-gg/floating-tools-core/web";function F(e={}){let{availableTools:t=[],defaultFloatingTools:a,defaultDialTools:S,storage:l,initialSettings:D,onSettingsChange:c,subscribeToEventBus:T=true}=e,i=L(()=>ee(t,a,S),[t,a,S]),f=L(()=>Object.keys(i.dialTools),[i]),I=L(()=>Object.keys(i.floatingTools).filter(s=>s!=="environment"),[i]),[o,u]=b(D??i),[A,m]=b(true),[_,C]=b(false),[v,h]=b(null),y=d(async()=>{if(!l){m(false),C(true);return}try{m(true),h(null);let s=await l.getItem(P);if(s){let n=JSON.parse(s),g=$(i,n,{allowedDialKeys:f,allowedFloatingKeys:I});u(g)}else u(i)}catch(s){console.error("Failed to load dev tools settings:",s),h(s instanceof Error?s.message:"Failed to load settings"),u(i)}finally{m(false),C(true)}},[l,i,f,I]),r=d(async s=>{let n={...s,dialTools:q(s.dialTools)};try{l&&await l.setItem(P,JSON.stringify(n)),u(n),c?.(n),M.emit(n)}catch(g){throw console.error("Failed to save dev tools settings:",g),h(g instanceof Error?g.message:"Failed to save settings"),g}},[l,c]),H=d(s=>{let n=x(o.dialTools);if(!o.dialTools[s]&&n>=G)return;let g={...o,dialTools:{...o.dialTools,[s]:!o.dialTools[s]}};r(g)},[o,r]),K=d(s=>{let n={...o,floatingTools:{...o.floatingTools,[s]:!o.floatingTools[s]}};r(n)},[o,r]),W=d(()=>{let s={...o,floatingTools:{...o.floatingTools,environment:!o.floatingTools.environment}};r(s)},[o,r]),z=d(s=>{let n={...o,globalSettings:{...o.globalSettings,[s]:!o.globalSettings?.[s]}};r(n)},[o,r]),k=d(async()=>{await r(i)},[i,r]);R(()=>{y()},[y]),R(()=>T?M.addListener(s=>{u(s)}):void 0,[T]);let X=L(()=>{let s=x(o.dialTools),{dial:n,floating:g}=te(o);return{dialToolCount:s,isDialFull:s>=G,enabledDialTools:n,enabledFloatingTools:g,canEnableDialTool:j=>o.dialTools[j]?true:s<G}},[o]);return{settings:o,isLoading:A,isInitialized:_,error:v,actions:{toggleDialTool:H,toggleFloatingTool:K,toggleEnvironment:W,toggleGlobalSetting:z,saveSettings:r,resetToDefaults:k,reloadSettings:y},helpers:X}}import{createContext as se,useContext as w,useMemo as oe}from"react";import{jsx as ae}from"react/jsx-runtime";var O=se(null);function ie({children:e,availableTools:t=[],defaultFloatingTools:a,defaultDialTools:S,storage:l,initialSettings:D,onSettingsChange:c}){let T=F({availableTools:t,defaultFloatingTools:a,defaultDialTools:S,storage:l,initialSettings:D,onSettingsChange:c}),i=oe(()=>({...T,availableTools:t}),[T,t]);return ae(O.Provider,{value:i,children:e})}function ne(){let e=w(O);if(!e)throw new Error("useSettingsContext must be used within a SettingsProvider");return e}function le(){return w(O)}import{useSyncExternalStore as re,useMemo as ge}from"react";import{devToolsStateManager as Se}from"@buoy-gg/floating-tools-core/web";function N(e={}){let{manager:t=Se}=e,a=re(t.subscribe,t.getState,t.getServerState),S=ge(()=>({openDial:()=>t.openDial(),closeDial:()=>t.closeDial(),toggleDial:()=>t.toggleDial(),openSettings:()=>t.openSettings(),closeSettings:()=>t.closeSettings(),setSettingsTab:l=>t.setSettingsTab(l),initialize:()=>t.initialize(),reset:()=>t.reset()}),[t]);return{state:a,actions:S,manager:t}}function Te(e={}){let{state:t,actions:a}=N(e);return{isOpen:t.isDialOpen,open:a.openDial,close:a.closeDial,toggle:a.toggleDial}}function ue(e={}){let{state:t,actions:a}=N(e);return{isOpen:t.isSettingsOpen,activeTab:t.activeSettingsTab,open:a.openSettings,close:a.closeSettings,setTab:a.setSettingsTab}}import{createContext as ce,useContext as U,useMemo as B}from"react";import{devToolsStateManager as de}from"@buoy-gg/floating-tools-core/web";import{jsx as De}from"react/jsx-runtime";var p=ce(null);p.displayName="DevToolsContext";function me({children:e,tools:t=[],defaultFloatingTools:a,defaultDialTools:S,environment:l,userRole:D,availableEnvironments:c,onEnvironmentSwitch:T,stateManager:i=de}){let{state:f,actions:I}=N({manager:i}),o=B(()=>t.map(v=>({id:v.id,name:v.name,description:v.description,slot:v.slot})),[t]),{settings:u,isLoading:A,actions:m,helpers:_}=F({availableTools:o,defaultFloatingTools:a,defaultDialTools:S}),C=B(()=>({devToolsState:f,devToolsActions:I,settings:u,isSettingsLoading:A,settingsActions:m,settingsHelpers:_,tools:t,environment:l,userRole:D,availableEnvironments:c,onEnvironmentSwitch:T}),[f,I,u,A,m,_,t,l,D,c,T]);return De(p.Provider,{value:C,children:e})}function E(){let e=U(p);if(!e)throw new Error("useDevToolsContext must be used within a DevToolsProvider. Wrap your app with <DevToolsProvider> or <FloatingDevTools>.");return e}function ve(){return U(p)}function fe(){let e=E();return{environment:e.environment,userRole:e.userRole,availableEnvironments:e.availableEnvironments,onEnvironmentSwitch:e.onEnvironmentSwitch}}function Ie(){let e=E();return{tools:e.tools,settings:e.settings,isLoading:e.isSettingsLoading}}function pe(){let e=E();return{isOpen:e.devToolsState.isDialOpen,open:e.devToolsActions.openDial,close:e.devToolsActions.closeDial,toggle:e.devToolsActions.toggleDial}}function Ee(){let e=E();return{isOpen:e.devToolsState.isSettingsOpen,activeTab:e.devToolsState.activeSettingsTab,open:e.devToolsActions.openSettings,close:e.devToolsActions.closeSettings,setTab:e.devToolsActions.setSettingsTab,settings:e.settings,actions:e.settingsActions,helpers:e.settingsHelpers}}import{DevToolsStateManager as Ae,devToolsStateManager as _e,devToolsReducer as Ce}from"@buoy-gg/floating-tools-core/web";import{FloatingToolsStore as be,floatingToolsColors as Le,withAlpha as Oe,getUserStatusConfig as Ne,getGripIconLayout as he,easing as ye,interpolate as Ge,interpolatePosition as Fe,VISIBLE_HANDLE_WIDTH as Re,ANIMATION_DURATION as Me,DRAG_THRESHOLD as Pe,EDGE_PADDING as xe,MAX_DIAL_SLOTS as we,DIAL_START_ANGLE as Ue,DIAL_BUTTON_SIZE as Be,DIAL_ICON_SIZE as He,DIAL_ICON_PADDING as Ke,DIAL_GRID_LINE_COUNT as We,dialColors as ze,dialStyles as ke,getGridLineRotations as Xe,getDialLayout as je,getIconAngle as Ze,getIconPosition as Je,getAllIconPositions as Ve,dialAnimationConfig as Ye,getIconStaggerInputRange as Qe,dialCSSBeziers as qe,generateDialCSSKeyframes as $e,getDialCSSAnimationStyles as et,getDialCSSKeyframesString as tt,getSpiralAnimationPosition as st,getStaggeredIconProgress as ot}from"@buoy-gg/floating-tools-core/web";import{USAGE_HALF_LIFE_MS as at,USAGE_MIN_SCORE as it,decayScore as nt,recordUsage as lt,rankToolIds as rt,pruneUsage as gt}from"@buoy-gg/floating-tools-core/web";import{SETTINGS_STORAGE_KEY as St,MAX_SETTINGS_DIAL_SLOTS as Tt}from"@buoy-gg/floating-tools-core/web";import{settingsTabs as ut}from"@buoy-gg/floating-tools-core/web";import{settingsColors as ct,toolColors as dt,getToolColor as Dt,settingsStyles as mt}from"@buoy-gg/floating-tools-core/web";import{toolLabels as vt,getToolLabel as ft,toolDescriptions as It,getToolDescription as pt}from"@buoy-gg/floating-tools-core/web";import{globalSettingsConfig as Et}from"@buoy-gg/floating-tools-core/web";import{enforceDialLimit as At,sanitizeFloatingSettings as _t,mergeSettingsWithDefaults as Ct,generateDefaultSettings as bt,countEnabledTools as Lt,canEnableDialTool as Ot,getEnabledToolIds as Nt}from"@buoy-gg/floating-tools-core/web";import{SettingsEventBus as ht,settingsEventBus as yt}from"@buoy-gg/floating-tools-core/web";export{Me as ANIMATION_DURATION,Be as DIAL_BUTTON_SIZE,We as DIAL_GRID_LINE_COUNT,Ke as DIAL_ICON_PADDING,He as DIAL_ICON_SIZE,Ue as DIAL_START_ANGLE,Pe as DRAG_THRESHOLD,p as DevToolsContext,me as DevToolsProvider,Ae as DevToolsStateManager,xe as EDGE_PADDING,J as FloatingToolsContext,Y as FloatingToolsProvider,be as FloatingToolsStore,we as MAX_DIAL_SLOTS,Tt as MAX_SETTINGS_DIAL_SLOTS,St as SETTINGS_STORAGE_KEY,O as SettingsContext,ht as SettingsEventBus,ie as SettingsProvider,at as USAGE_HALF_LIFE_MS,it as USAGE_MIN_SCORE,Re as VISIBLE_HANDLE_WIDTH,Ot as canEnableDialTool,Lt as countEnabledTools,nt as decayScore,Ce as devToolsReducer,_e as devToolsStateManager,Ye as dialAnimationConfig,qe as dialCSSBeziers,ze as dialColors,ke as dialStyles,ye as easing,At as enforceDialLimit,Le as floatingToolsColors,bt as generateDefaultSettings,$e as generateDialCSSKeyframes,Ve as getAllIconPositions,et as getDialCSSAnimationStyles,tt as getDialCSSKeyframesString,je as getDialLayout,Nt as getEnabledToolIds,Xe as getGridLineRotations,he as getGripIconLayout,Ze as getIconAngle,Je as getIconPosition,Qe as getIconStaggerInputRange,st as getSpiralAnimationPosition,ot as getStaggeredIconProgress,Dt as getToolColor,pt as getToolDescription,ft as getToolLabel,Ne as getUserStatusConfig,Et as globalSettingsConfig,Q as interleaveWithDividers,Ge as interpolate,Fe as interpolatePosition,Ct as mergeSettingsWithDefaults,gt as pruneUsage,rt as rankToolIds,lt as recordUsage,_t as sanitizeFloatingSettings,ct as settingsColors,yt as settingsEventBus,mt as settingsStyles,ut as settingsTabs,dt as toolColors,It as toolDescriptions,vt as toolLabels,Ie as useDevTools,E as useDevToolsContext,pe as useDevToolsDial,fe as useDevToolsEnvironment,Ee as useDevToolsSettings,N as useDevToolsState,Te as useDialState,Z as useFloatingTools,V as useFloatingToolsContext,ve as useOptionalDevToolsContext,le as useOptionalSettingsContext,F as useSettings,ne as useSettingsContext,ue as useSettingsModalState,Oe as withAlpha};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@buoy-gg/floating-tools-react",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.42",
|
|
4
4
|
"description": "React bindings for floating tools - shared hooks and context for web and React Native",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"dist"
|
|
38
38
|
],
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@buoy-gg/floating-tools-core": "^7.0.
|
|
40
|
+
"@buoy-gg/floating-tools-core": "^7.0.42"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
43
|
"react": ">=17.0.0"
|