
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@withvlibe/editmode-sdk
Advanced tools
Enable visual editing in Vlibe Builder for your Next.js applications.
npm install @withvlibe/editmode-sdk
Wrap your app with the EditModeProvider component:
// app/providers.tsx
'use client';
import { EditModeProvider } from '@withvlibe/editmode-sdk/react';
import type { ReactNode } from 'react';
export function Providers({ children }: { children: ReactNode }) {
return <EditModeProvider>{children}</EditModeProvider>;
}
// app/layout.tsx
import { Providers } from './providers';
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en">
<body>
<Providers>{children}</Providers>
</body>
</html>
);
}
Access edit mode state in your components:
import { useEditMode } from '@withvlibe/editmode-sdk/react';
function MyComponent() {
const { isActive, selectedElement } = useEditMode();
if (isActive) {
return <div>Edit mode is active!</div>;
}
return <div>Normal mode</div>;
}
import { useIsInVlibeBuilder } from '@withvlibe/editmode-sdk/react';
function MyComponent() {
const isInBuilder = useIsInVlibeBuilder();
if (isInBuilder) {
// Running inside Vlibe Builder iframe
}
}
For non-React applications:
import { initEditMode, isEditModeEnabled } from '@withvlibe/editmode-sdk';
// Initialize edit mode
const cleanup = initEditMode();
// Check if edit mode is enabled
if (isEditModeEnabled()) {
console.log('Edit mode is active');
}
// Cleanup when done
cleanup();
EditModeProviderProvider component that initializes edit mode and manages state.
Props:
children: React.ReactNodeuseEditMode()Hook to access edit mode state.
Returns:
isInitialized: boolean - Whether edit mode has been initializedisActive: boolean - Whether edit mode is currently activeselectedElement: ElementInfo | null - Currently selected element infouseIsInVlibeBuilder()Hook to check if the app is running inside Vlibe Builder iframe.
Returns: boolean
initEditMode()Initializes edit mode functionality. Returns a cleanup function.
isEditModeEnabled()Returns whether edit mode is currently enabled.
getSelectedElementInfo()Returns the currently selected element info or null.
interface ElementInfo {
tagName: string;
textContent: string | null;
className: string;
id: string;
xpath: string;
selector: string;
computedStyles: ElementComputedStyles;
boundingRect: ElementBoundingRect;
isTextElement: boolean;
isImageElement: boolean;
imageSrc?: string;
}
interface ElementBoundingRect {
top: number;
left: number;
width: number;
height: number;
bottom: number;
right: number;
}
interface ElementComputedStyles {
color: string;
backgroundColor: string;
fontSize: string;
fontFamily: string;
fontWeight: string;
lineHeight: string;
textAlign: string;
padding: string;
margin: string;
border: string;
borderRadius: string;
display: string;
position: string;
backgroundImage: string;
}
MIT
FAQs
Vlibe Edit Mode SDK - Enable visual editing in Vlibe Builder
We found that @withvlibe/editmode-sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.