Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
@sanity/overlays
Advanced tools
Sanity Visual Editing highlights elements on your website that are editable in Sanity Studio.
Sanity Visual Editing highlights elements on your website that are editable in Sanity Studio.
Learn more about this feature, and how to use it, in our Visual Editing documentation.
Note Visual Editing requires Content Source Maps, a feature available on a Sanity Enterprise plan. If you are an existing enterprise customer, contact our sales team to have Content Source Maps enabled on your project. Learn more about Sanity for Enterprise organizations here.
Note This package is not required for Vercel Visual Editing. It is only required if you want to enable visual editing on alternative hosting providers.
createClient
from @sanity/preview-kit
or next-sanity
with encodeSourceMap
and studioUrl
enabledInstall the package along with either next-sanity
or @sanity/preview-kit
depending on your project.
The other peer dependencies are required and will be loaded asynchronously when Visual Editing is enabled.
# For Next.js applications
npm install @sanity/overlays next-sanity react react-dom react-is styled-components
# Framework agnostic JavaScript libraries
npm install @sanity/overlays @sanity/preview-kit react react-dom react-is styled-components
Visual Editing relies on encoded metadata being present in values returned from your queries. This metadata is only present when using an enhanced Sanity client on a project on which Content Source Maps is enabled.
Ensure encodeSourceMap
is only true
in non-production environments.
import { createClient } from 'next-sanity'
// or
import { createClient } from '@sanity/preview-kit/client'
const client = createClient({
// ...all other config
studioUrl: '/studio', // Or: 'https://my-cool-project.sanity.studio'
encodeSourceMap: true,
})
For more configuration options when working with Content Source Maps and the enhanced Sanity Client, see the README's of either package:
Ensure the overlay is only enabled in non-production environments.
import { enableVisualEditing } from '@sanity/overlays'
const disable = enableVisualEditing() // Enables Visual Editing overlay
disable() // Disables Visual Editing overlay
In React you could enable the feature in a useEffect()
hook, where disable()
will run on unmount:
import { enableVisualEditing } from '@sanity/overlays'
useEffect(enableVisualEditing, [])
When enabled, you should see clickable "Edit in Sanity Studio" buttons for every element which contains encoded metadata from Content Source Maps.
data-sanity-edit-target
You can choose which element to render the "Edit in Sanity Studio" buttons on by adding a data-sanity-edit-target
attribute to the element you want to be clickable. This allows you to move the edit container to a parent wrapper element.
In this example, by default the edit button would be placed on the <h1>
tag
<section>
<h1>{dynamicTitle}</h1>
<div>Hardcoded Tagline</div>
</section>
But by adding the data-sanity-edit-target
attribute to the <section>
tag, the edit button will be placed on it instead.
<section data-sanity-edit-target>
<h1>{dynamicTitle}</h1>
<div>Hardcoded Tagline</div>
</section>
Manually setting the edit target will use the first element it finds with encoded metadata and remove clickable buttons from all other child elements.
data-sanity-edit-info
You can manually add custom "Edit in Sanity Studio" elements by adding a data-sanity-edit-info
attribute to the element you want to be editable.
export function MyComponent() {
return (
<div
data-sanity-edit-info={JSON.stringify({
origin: 'sanity.io',
href: '/studio',
})}
>
...
</div>
)
}
FAQs
[![npm stat](https://img.shields.io/npm/dm/@sanity/overlays.svg?style=flat-square)](https://npm-stat.com/charts.html?package=@sanity/overlays) [![npm version](https://img.shields.io/npm/v/@sanity/overlays.svg?style=flat-square)](https://www.npmjs.com/pack
The npm package @sanity/overlays receives a total of 1,206 weekly downloads. As such, @sanity/overlays popularity was classified as popular.
We found that @sanity/overlays demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers 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
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.