@buoy-gg/floating-tools-react 7.0.63 → 7.0.65
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/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/web/index.mjs +1 -1
- package/package.json +2 -2
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 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");
|
|
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("[Buoy]","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("[Buoy]","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 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]),
|
|
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("[Buoy]","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("[Buoy]","Failed to save dev tools settings:",g),y(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>=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]),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]),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:H,toggleFloatingTool:K,toggleEnvironment:W,toggleGlobalSetting:z,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 B}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=B(()=>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=B(()=>({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 Bt,DIAL_ICON_SIZE as Ht,DIAL_ICON_PADDING as Kt,DIAL_GRID_LINE_COUNT as Wt,dialColors as zt,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,Bt as DIAL_BUTTON_SIZE,Wt as DIAL_GRID_LINE_COUNT,Kt as DIAL_ICON_PADDING,Ht 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,zt 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};
|
package/dist/web/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{a as Z,b as J,c as V,d as Y,e as Q}from"./chunks/chunk-DEGRDYGJ.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,
|
|
1
|
+
"use client";import{a as Z,b as J,c as V,d as Y,e as Q}from"./chunks/chunk-DEGRDYGJ.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,y]=b(null),h=d(async()=>{if(!l){m(false),C(true);return}try{m(true),y(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("[Buoy]","Failed to load dev tools settings:",s),y(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("[Buoy]","Failed to save dev tools settings:",g),y(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]),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]),k=d(async()=>{await r(i)},[i,r]);R(()=>{h()},[h]),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:z,toggleGlobalSetting:W,saveSettings:r,resetToDefaults:k,reloadSettings:h},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 ye,easing as he,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 ze,dialColors as We,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 yt,settingsEventBus as ht}from"@buoy-gg/floating-tools-core/web";export{Me as ANIMATION_DURATION,Be as DIAL_BUTTON_SIZE,ze 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,yt 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,We as dialColors,ke as dialStyles,he 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,ye 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,ht 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.65",
|
|
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.65"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
43
|
"react": ">=17.0.0"
|