open-index/open-npm huggingface dataset:
npm package: @sanity/eslint-config-studio
Description: The ESLint configuration that ships with new Sanity Studio projects. Designed to be relatively unobtrusive to help find bugs instead enforce opinions.
Author: Sanity.io
Latest version: 6.0.0

# @sanity/eslint-config-studio

The ESLint configuration that ships with new Sanity Studio projects.

Designed to be relatively unobtrusive to help find bugs instead enforce opinions.

## Installation

### Install

```
yarn add eslint @sanity/eslint-config-studio --dev
```

or

```
npm install eslint @sanity/eslint-config-studio --save-dev
```

### Update the configuration

Add the following to `eslint.config.mjs`

```js
import studio from '@sanity/eslint-config-studio'

export default [...studio]
```

### Version compatibility

This package is designed to work with ESLint >= 9, which supports/uses the new ["flat configuration"](https://eslint.org/blog/2022/08/new-config-system-part-2/) format.

If you are using ESLint <= 8, you should install and use [`@sanity/eslint-config-studio@4`](https://github.com/sanity-io/eslint-config-studio/tree/v4.0.0).

## Differences from [`eslint-config-sanity`](https://github.com/sanity-io/eslint-config-sanity)

|              | `eslint-config-sanity`                             | `@sanity/eslint-config-studio`                                                   |
| ------------ | -------------------------------------------------- | -------------------------------------------------------------------------------- |
| Use case     | internal projects                                  | offered publicly to be used in the [Sanity Studio](https://www.sanity.io/studio) |
| Rule set     | opinionated, enforces internal conventions         | unobtrusive, unopinionated, offered solely to catch bugs                         |
| Dependencies | contains many presets but must install each plugin | contains only one preset, but install plugins for you\*                          |

Since this package includes dependencies to plugins, it will never have more than one preset.

## Release new version

Run ["CI & Release" workflow](https://github.com/sanity-io/eslint-config-studio/actions).
Make sure to select the main branch and check "Release new version".

Semantic release will only release on configured branches, so it is safe to run release on any branch.
npm package: @sanity/experimental-groqsolid
Description: Where GROQ Meets Unshakeable Type Safety 🪨
Author: Sanity.io
Latest version: 0.0.5

> **Warning**
> This is a highly experimental library, don't use in production!

🪨 **groqsolid**: Where GROQ Meets Unshakeable Type Safety 🪨

Data queries require a foundation as reliable as bedrock. With **groqsolid**, you stand on firm ground, ensuring GROQ-driven applications run without a hitch.

**Why choose groqsolid?**

- 🛠️ **Compile-Time Clarity**: Thanks to TypeScript definitions, groqsolid guarantees that your initial query structure remains robust and as intended.
- 🔒 **Runtime Resilience**: Beyond the compiling phase, our runtime parser acts as your steadfast guardian, making certain that unexpected typings never throw you off balance.
- 🔄 **Seamless Synchronization**: Experience a harmonious blend of compile-time definitions and runtime outcomes, ensuring every GROQ query is in sync with your expectations.
- 🌁 **Predictable Prowess**: Navigate the data landscape with confidence. groqsolid ensures that every GROQ interaction remains consistent and dependable.

In a digital landscape filled with uncertainties, **groqsolid** is your beacon of stability, making sure your GROQ queries are as solid as they come.
npm package: @sanity/export
Description: Export Sanity documents and assets
Author: Sanity.io
Latest version: 6.1.0

# @sanity/export

Exports documents and assets from a Sanity dataset

## Installing

```
npm install --save @sanity/export
```

## Usage

```js
import {exportDataset} from '@sanity/export'

exportDataset({
  // Instance of @sanity/client configured to correct project ID and dataset
  client: someInstantiatedSanityClientInstance,

  // Name of dataset to export
  // Cannot be combined with `mediaLibraryId`.
  dataset: 'myDataset',

  // Path to write tar.gz-archive file to, or `-` for stdout
  outputPath: '/home/your-user/myDataset.tar.gz',

  // Whether or not to export assets. Note that this operation is currently slightly lossy;
  // metadata stored on the asset document itself (original filename, for instance) might be lost
  // Default: `true`
  assets: false,

  // Exports documents only, without downloading or rewriting asset references
  // Default: `false`
  raw: true,

  // Whether or not to export drafts
  // Default: `true`
  drafts: true,

  // Export only given document types (`_type`)
  // Optional, default: all types
  types: ['products', 'shops'],

  // Run 12 concurrent asset downloads
  assetConcurrency: 12,

  // What mode to use when exporting documents, can be eiter `stream`(default) or `cursor`.
  // Cursor mode might help when dealing with large datasets, but might yield inconsistent results if the dataset is mutated during export.
  // Default: 'stream'
  mode: 'stream',

  // Export data from a media library, instead of a dataset.
  // Cannot be combined with `dataset`.
  mediaLibraryId: 'myMediaLibrary',

  // Whether to include the `assets.json` assets map. This file is not necessary when creating a
  // media library archive.
  // Caution: customising this option may result in an archive being produced that is impossible to import.
  // Optional, default: `true`
  assetsMap: true,

  // A custom filter function for controlling which documents are exported.
  // Optional, default: `() => true`
  filterDocument: (document) => (document.title ?? '').includes('capybara'),

  // A custom transformation function for controlling how each document is exported.
  // Caution: customising this option may result in an archive being produced that is impossible to import.
  // Optional, default: `document => document`
  transformDocument: (document) => ({
    ...document,
    title: document.title ?? 'capybara',
  }),
})
```

## Future improvements

- Restore original filenames, keep track of duplicates, increase counter (`filename (<num>).ext`)
- Skip archiving on raw/no-asset mode?

## CLI-tool

This functionality is built in to the `@sanity/cli` package as `sanity dataset export`

## License

MIT-licensed. See LICENSE.
npm package: @sanity/extract-text-webpack-plugin
Description: Extract text from bundle into a file.
Author: Tobias Koppers @sokra
Latest version: 0.115.2

# extract text plugin for webpack

## Usage example with css

``` javascript
var ExtractTextPlugin = require("extract-text-webpack-plugin");
module.exports = {
	module: {
		loaders: [
			{ test: /\.css$/, loader: ExtractTextPlugin.extract("style-loader", "css-loader") }
		]
	},
	plugins: [
		new ExtractTextPlugin("styles.css")
	]
}
```

It moves every `require("style.css")` in entry chunks into a separate css output file. So your styles are no longer inlined into the javascript, but separate in a css bundle file (`styles.css`). If your total stylesheet volume is big, it will be faster because the stylesheet bundle is loaded in parallel to the javascript bundle.

Advantages:

* Fewer style tags (older IE has a limit)
* CSS SourceMap (with `devtool: "source-map"` and `css-loader?sourceMap`)
* CSS requested in parallel
* CSS cached separate
* Faster runtime (less code and DOM operations)

Caveats:

* Additional HTTP request
* Longer compilation time
* More complex configuration
* No runtime public path modification
* No Hot Module Replacement

## API

``` javascript
new ExtractTextPlugin([id: string], filename: string, [options])
```

* `id` Unique ident for this plugin instance. (For advanded usage only, by default automatic generated)
* `filename` the filename of the result file. May contain `[name]`, `[id]` and `[contenthash]`.
  * `[name]` the name of the chunk
  * `[id]` the number of the chunk
  * `[contenthash]` a hash of the content of the extracted file
* `options`
  * `allChunks` extract from all additional chunks too (by default it extracts only from the initial chunk(s))
  * `disable` disables the plugin

The `ExtractTextPlugin` generates an output file per entry, so you must use `[name]`, `[id]` or `[contenthash]` when using multiple entries.

``` javascript
ExtractTextPlugin.extract([notExtractLoader], loader, [options])
```

Creates an extracting loader from an existing loader.

* `notExtractLoader` (optional) the loader(s) that should be used when the css is not extracted (i.e. in an additional chunk when `allChunks: false`)
* `loader` the loader(s) that should be used for converting the resource to a css exporting module.
* `options`
  * `publicPath` override the `publicPath` setting for this loader.

There is also an `extract` function on the instance. You should use this if you have more than one ExtractTextPlugin.

```javascript
let ExtractTextPlugin = require('extract-text-webpack-plugin');

// multiple extract instances
let extractCSS = new ExtractTextPlugin('stylesheets/[name].css');
let extractLESS = new ExtractTextPlugin('stylesheets/[name].less');

module.exports = {
  ...
  module: {
    loaders: [
      {test: /\.scss$/i, loader: extractCSS.extract(['css','sass'])},
      {test: /\.less$/i, loader: extractLESS.extract(['css','less'])},
      ...
    ]
  },
  plugins: [
    extractCSS,
    extractLESS
  ]
};
```

## License

MIT (http://www.opensource.org/licenses/mit-license.php)
npm package: @sanity/federation
Description: Module federation vite plugin for the Sanity Content Operating System
Author: Sanity.io
Latest version: 0.1.0-alpha.4

# @sanity/federation

Internal package providing [Module Federation](https://module-federation.io/) support for Sanity apps and studios. Used by the Sanity CLI — not intended for direct consumption.

## Structure

```
src/
  runtime/   → Runtime utilities for federated modules
  vite/      → Vite plugin for federation builds
```

### Vite plugin

The Vite plugin composes three internal plugins:

1. **`sanity/environment`** — registers a `federation` build environment with Rollup, outputting to `dist/federation/`.
2. **`sanity/federation-runtime`** — for studios, generates a `.sanity/federation/remote-entry.jsx` entry file that wraps the Sanity Studio component.
3. **`@module-federation/vite`** — the upstream Module Federation plugin, configured with the resolved `exposes` map and manifest generation.

#### Entry resolution

| Mode   | Entry point                             |
| ------ | --------------------------------------- |
| App    | `./src/App.tsx`                         |
| Studio | `./.sanity/federation/remote-entry.jsx` |

The `exposes` map always includes `./App` pointing at the resolved entry. Additional entries passed via the `exposes` option are merged on top.

## License

MIT
npm package: @sanity/frontend-analytics
Description: Internal Sanity package - Rudderstack SDK wrapper for Sanity frontend applications
Latest version: 1.0.3

# @sanity/frontend-analytics

> **Internal package**: This package is published publicly for convenience but is intended for internal Sanity use only. No support, stability guarantees, or semver adherence is provided for external consumers.

Rudderstack SDK wrapper for Sanity frontend applications.

## Installation

```bash
npm install @sanity/frontend-analytics
```

## Documentation

See the [full documentation](https://github.com/sanity-io/event-tracking#readme) for usage instructions, configuration options, and API reference.
npm package: @sanity/functions
Description: Helper methods and type definitions for Sanity Functions
Author: Sanity.io
Latest version: 1.3.0

# @sanity/functions

Helper methods and type definitions for Sanity Functions.

## Installation

```bash
npm install @sanity/functions
```

## Usage

### Basic

```ts
import {documentEventHandler} from '@sanity/functions'
import {createClient} from '@sanity/client'

export const handler = documentEventHandler(async ({context, event}) => {
  // Create a Sanity client using the context options
  const client = createClient({
    apiVersion: '2025-05-01',
    ...context.clientOptions,
  })

  // Access the event data
  const data = event.data

  // Your function implementation
  console.log('Document updated:', data)
})
```

### Typescript: Passing type for data

By default, the `event.data` property is untyped (`any`). If you know what the shape of the data that will be delivered is, you can specify it as a generic to the function:

```ts
interface NotificationData {
  documentId: string
  text: string
}

export const handler = documentEventHandler<NotificationData>(async ({event}) => {
  console.log(event.data.text) // Typed as `string`
  console.log(event.data.notSet) // Will yield type error
})
```

### Type only (TypeScript)

```ts
import {type DocumentEventHandler} from '@sanity/functions'
import {createClient} from '@sanity/client'

export const handler: DocumentEventHandler = async ({context, event}) => {
  // …
}

// …you can also define the data type:
export const handler: DocumentEventHandler<{text: string}> = async ({event}) => {
  console.log(event.data.text)
}
```

### Type only (JavaScript)

```js
/** @type {import('@sanity/functions').DocumentEventHandler} */
export const handler = async ({context, event}) => {
  console.log(event.data.text)
}

// …you can also define the data type:
/** @type {import('@sanity/functions').DocumentEventHandler<{text: string}>} */
export const handler = async ({event}) => {
  console.log(event.data.text)
}
```

## Development

To build this project:

```bash
npm run build
```

To run tests:

```bash
npm test
```

To run type checking:

```bash
npm run lint
```

## Release automation

This repository uses conventional commits and release-please. Any relevant changes to `main` will create a pull request for a new release. Approve it and merge it to trigger the actual release.

## License

MIT © [Sanity.io](https://sanity.io)
npm package: @sanity/generate-help-url
Description: Generates URLs to specific sections of the Sanity documentation
Author: Sanity.io
Latest version: 4.0.0

# @sanity/generate-help-url

[![npm version](https://img.shields.io/npm/v/@sanity/generate-help-url.svg?style=flat-square)](https://www.npmjs.com/package/@sanity/generate-help-url)[![npm bundle size](https://img.shields.io/bundlephobia/minzip/@sanity/generate-help-url?style=flat-square)](https://bundlephobia.com/result?p=@sanity/generate-help-url)[![Build Status](https://img.shields.io/github/workflow/status/sanity-io/generate-help-url/test/main.svg?style=flat-square)](https://github.com/sanity-io/generate-help-url/actions?query=workflow%3Atest)

Generates URLs to specific sections of the Sanity documentation.

## Installation

```
npm install --save @sanity/generate-help-url
```

## Usage

```ts
import {generateHelpUrl} from '@sanity/generate-help-url'

console.log(generateHelpUrl('form-builder-input-missing-required-prop'))
```

The above example generates a help URL that points to a help document with the id `form-builder-input-missing-required-prop`.

## License

MIT © [Sanity.io](https://www.sanity.io/)
npm package: @sanity/gradient-client
Description: Client library for the Gradient document store
Author: Sanity.io
Latest version: 0.1.4
Deprecated: This package is deprecated

# gradient-client

Javascript client for the [Gradient document store](https://github.com/sanity-io/gradient). Works in both Node.js and modern browsers.

## Installation

```
npm install @sanity/gradient-client
```

## Usage

```js
const gradient = require('@sanity/gradient-client')
const client = gradient({
  url: 'https://gradient.url:56200',
  dataset: 'beerfiesta',
  token: '[auth token here]'
})

// Fetching:
client.fetch(
  'beerfiesta.beer[rating > $ratingThreshold] {name, rating}',
  {$ratingThreshold: 95},
  (err, response) => {
    if (err) {
      throw err
    }

    response.result.forEach(beer => {
      console.log(`${beer.name} has a rating of ${beer.rating}`)
    })
  }
)

// Fetch a specific document by ID:
client.getDocument('beerfiesta/someId', (err, beer) => {
  if (err) {
    throw err
  }
  
  console.log(beer)
})

// Creating:
client.create({
  _type: 'beerfiesta.brewery',
  companyName: 'Bengler',
  location: {
    lat: 59.923868,
    lng: 10.757842
  }
}, (err, response) => {
  if (err) {
    throw err
  }

  console.log(`Document ID: ${response.results[0].id}`)
})

// Updating:
client.update(
  'beerfiesta/S0YNUJXt2Ko0yjIDnZ9T', // Document ID
  { // Update patch, see Gradient wiki for update operations
    companyName: 'Bengler AS',
    location: {
      lat: 59.9238681
    }
  },
  (err, response) => { /* handle it */ }
)

// Deleting:
client.delete(
  'beerfiesta/S0YNUJXt2Ko0yjIDnZ9T', // Document ID
  (err, response) => { /* handle it */ }
)
```

## License

MIT-licensed. See LICENSE.
npm package: @sanity/highlightjs-groq
Description: highlight.js language definition for GROQ
Latest version: 1.0.3

# @sanity/highlightjs-groq

[highlight.js](https://highlightjs.org/) language definition for [GROQ](https://www.sanity.io/docs/groq) syntax highlighting.

## Install

```bash
npm install @sanity/highlightjs-groq
```

## Usage with react-lowlight

```tsx
import Lowlight from 'react-lowlight'
import groq from '@sanity/highlightjs-groq'

// Register the language (do this once, e.g. in your app entry)
Lowlight.registerLanguage('groq', groq)

// In your component:
function CodeBlock({query}: {query: string}) {
  return <Lowlight language="groq" value={query} markers={[]} />
}
```

## Usage with highlight.js

```js
import hljs from 'highlight.js/lib/core'
import groq from '@sanity/highlightjs-groq'

hljs.registerLanguage('groq', groq)

const result = hljs.highlight('*[_type == "post"]{title}', {language: 'groq'})
console.log(result.value)
```

## Usage with lowlight

```js
import {createLowlight} from 'lowlight'
import groq from '@sanity/highlightjs-groq'

const lowlight = createLowlight()
lowlight.register('groq', groq)

const tree = lowlight.highlight('groq', '*[_type == "post"]')
```

## License

MIT
npm package: @sanity/hot-loader-react-dom
Description: The Hot version of React-DOM
Latest version: 16.14.0
Deprecated: false

# `react-dom`

This package serves as the entry point to the DOM and server renderers for React. It is intended to be paired with the generic React package, which is shipped as `react` to npm.

## Installation

```sh
npm install react react-dom
```

## Usage

### In the browser

```js
var React = require('react');
var ReactDOM = require('react-dom');

class MyComponent extends React.Component {
  render() {
    return <div>Hello World</div>;
  }
}

ReactDOM.render(<MyComponent />, node);
```

### On the server

```js
var React = require('react');
var ReactDOMServer = require('react-dom/server');

class MyComponent extends React.Component {
  render() {
    return <div>Hello World</div>;
  }
}

ReactDOMServer.renderToString(<MyComponent />);
```

## API

### `react-dom`

- `findDOMNode`
- `render`
- `unmountComponentAtNode`

### `react-dom/server`

- `renderToString`
- `renderToStaticMarkup`
npm package: @sanity/icons
Description: The Sanity icons.
Author: Sanity.io
Latest version: 3.7.4

# @sanity/icons

The Sanity icons.

```sh
npm install @sanity/icons

# Install peer dependencies
npm install react
```

[![npm version](https://img.shields.io/npm/v/@sanity/icons.svg?style=flat-square)](https://www.npmjs.com/package/@sanity/icons)

## Usage

```jsx
import {RocketIcon} from '@sanity/icons'

function App () {
  return <RocketIcon style={{fontSize: 72}}>
}
```

## License

MIT-licensed. See LICENSE.
npm package: @sanity/incompatible-plugin
Description: Display an error dialog in Sanity Studio v2 when a v3 plugin has been installed.
Author: Sanity.io
Latest version: 1.0.5

# @sanity/incompatible-plugin

Small helper library that will display a warning in Sanity Studio v2 when a plugin built for Studio v3 is installed.

## Installation

```bash
npm i @sanity/incompatible-plugin
```

or

```bash
yarn add @sanity/incompatible-plugin
```

## Usage

In your plugin root directory, create two files:

`v2-incompatible.js`

```js
const {showIncompatiblePluginDialog} = require('@sanity/incompatible-plugin')
const {name, version} = require('./package.json')

export default showIncompatiblePluginDialog({
  name: name,
  versions: {
    v3: version,
    // Optional: If there is not v2 version of your plugin, v2 can be omitted
    v2: '^1.2.5',
  },
  // Optional: Feel free to put this as field in package.json and import it alongside name and version above
  sanityExchangeUrl: 'https://www.sanity.io/plugins/<plugin-on-sanity-exchanged>',
})
```

`sanity.json`

```json
{
  "parts": [
    {
      "implements": "part:@sanity/base/sanity-root",
      "path": "./v2-incompatible.js"
    }
  ]
}
```

Add these to `files` in the plugin `package.json` alongside anything else already there, for instance:

```json
{
  "files": ["src", "lib", "v2-incompatible.js", "sanity.json"]
}
```

Done!

If your v3 plugin gets installed in a v2 studio by mistake, a dialog will display how to fix it.

## Develop

### Release new version

Run ["CI & Release" workflow](https://github.com/sanity-io/incompatible-plugin/actions/workflows/main.yml).
Make sure to select the main branch and check "Release new version".

Semantic release will only release on configured branches, so it is safe to run release on any branch.
npm package: @sanity/lezer-groq
Description: Lezer grammar for GROQ query language (CodeMirror 6)
Latest version: 1.0.3

# @sanity/lezer-groq

[Lezer](https://lezer.codemirror.net/) grammar for [GROQ](https://www.sanity.io/docs/groq), providing syntax highlighting, folding, and indentation for [CodeMirror 6](https://codemirror.net/).

## Install

```bash
npm install @sanity/lezer-groq
```

## Usage with CodeMirror

```ts
import {EditorView, basicSetup} from 'codemirror'
import {groq} from '@sanity/lezer-groq'

new EditorView({
  extensions: [basicSetup, groq()],
  parent: document.body,
})
```

## Exports

- `groq()` - returns a `LanguageSupport` instance with the GROQ parser, highlight tags, folding, and indentation configured
- `groqLanguage` - the raw `LRLanguage` instance for advanced configuration
- `parser` - the Lezer `LRParser` for direct access to the parse tables

## What's in the box

The Lezer grammar is an incremental LR parser that handles the full GROQ expression language:

- Filters, projections, pipes, dereferences, dot access, array traversal
- All operators with correct precedence (pipe, logical, comparison, arithmetic, exponentiation)
- Function calls and namespaced function calls (`math::sum()`, `pt::text()`)
- String literals with escape sequence highlighting
- Keyword specialization (`true`, `false`, `null`, `in`, `match`, `asc`, `desc`)
- Code folding for filters, projections, arrays, and objects
- Auto-indentation and bracket closing

## Build

The grammar source is `src/groq.grammar`. To regenerate the parser after editing:

```bash
pnpm build  # runs lezer-generator + rollup
```

## License

MIT
npm package: @sanity/locale-be-by
Description: Belarusian / Беларуская locale/translation for Sanity Studio
Latest version: 1.1.33

# @sanity/locale-be-by

Belarusian / Беларуская language support for [Sanity Studio](https://www.sanity.io/).

## Description

This is a community maintained language plugin. Initial translations were done by AI and may have errors. Contributions are [more than welcome](#contributing)!

## Installation

```sh
npm install @sanity/locale-be-by
```

## Usage

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {beBYLocale} from '@sanity/locale-be-by'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    beBYLocale(),
  ],
})
```

The language should now show up in the Studio's user menu.

If you want to customize the title of the locale, pass it as an option to the plugin:

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {beBYLocale} from '@sanity/locale-be-by'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    beBYLocale({
      title: 'Belarusian',
    }),
  ],
})
```

## Contributors

- [@dogfrogfog](https://github.com/dogfrogfog)
- [@slawiko](https://github.com/slawiko)

## Contributing

Feel free to contribute improvements/changes! The strings are located in the `src` folder, where the file name represents the "namespace". Send a pull request, and feel free to add yourself to the `contributors` array in `locales/registry.ts`. If you want to help review new translations, add yourself to the `maintainers` array instead. After doing your changes, run `pnpm run reconcile` and add the changes to version control.

## License

MIT-licensed. See LICENSE.
npm package: @sanity/locale-ca-es
Description: Catalan / Català locale/translation for Sanity Studio
Latest version: 1.0.11

# @sanity/locale-ca-es

Catalan / Català language support for [Sanity Studio](https://www.sanity.io/).

## Description

This is a community maintained language plugin. Initial translations were done by AI and may have errors. Contributions are [more than welcome](#contributing)!

## Installation

```sh
npm install @sanity/locale-ca-es
```

## Usage

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {caESLocale} from '@sanity/locale-ca-es'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    caESLocale(),
  ],
})
```

The language should now show up in the Studio's user menu.

If you want to customize the title of the locale, pass it as an option to the plugin:

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {caESLocale} from '@sanity/locale-ca-es'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    caESLocale({
      title: 'Catalan',
    }),
  ],
})
```

## Contributors

- [@jorvixsky](https://github.com/jorvixsky)

## Contributing

Feel free to contribute improvements/changes! The strings are located in the `src` folder, where the file name represents the "namespace". Send a pull request, and feel free to add yourself to the `contributors` array in `locales/registry.ts`. If you want to help review new translations, add yourself to the `maintainers` array instead. After doing your changes, run `pnpm run reconcile` and add the changes to version control.

## License

MIT-licensed. See LICENSE.
npm package: @sanity/locale-cs-cz
Description: Czech / Čeština locale/translation for Sanity Studio
Latest version: 1.1.30

# @sanity/locale-cs-cz

Czech / Čeština language support for [Sanity Studio](https://www.sanity.io/).

## Description

This is a community maintained language plugin. Initial translations were done by AI and may have errors. Contributions are [more than welcome](#contributing)!

## Installation

```sh
npm install @sanity/locale-cs-cz
```

## Usage

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {csCZLocale} from '@sanity/locale-cs-cz'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    csCZLocale(),
  ],
})
```

The language should now show up in the Studio's user menu.

If you want to customize the title of the locale, pass it as an option to the plugin:

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {csCZLocale} from '@sanity/locale-cs-cz'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    csCZLocale({
      title: 'Czech',
    }),
  ],
})
```

## Maintainers

We are looking for maintainers for this plugin!
If you are interested, please [send a PR](/CONTRIBUTING.md#maintaining-a-locale) adding yourself as a maintainer.

## Contributing

Feel free to contribute improvements/changes! The strings are located in the `src` folder, where the file name represents the "namespace". Send a pull request, and feel free to add yourself to the `contributors` array in `locales/registry.ts`. If you want to help review new translations, add yourself to the `maintainers` array instead. After doing your changes, run `pnpm run reconcile` and add the changes to version control.

## License

MIT-licensed. See LICENSE.
npm package: @sanity/locale-da-dk
Description: Danish / Dansk locale/translation for Sanity Studio
Latest version: 1.0.25

# @sanity/locale-da-dk

Danish / Dansk language support for [Sanity Studio](https://www.sanity.io/).

## Description

This is a community maintained language plugin. Initial translations were done by AI and may have errors. Contributions are [more than welcome](#contributing)!

## Installation

```sh
npm install @sanity/locale-da-dk
```

## Usage

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {daDKLocale} from '@sanity/locale-da-dk'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    daDKLocale(),
  ],
})
```

The language should now show up in the Studio's user menu.

If you want to customize the title of the locale, pass it as an option to the plugin:

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {daDKLocale} from '@sanity/locale-da-dk'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    daDKLocale({
      title: 'Danish',
    }),
  ],
})
```

## Contributors

- [@Kastholm](https://github.com/Kastholm)
- [@Kasper-Buchholtz](https://github.com/Kasper-Buchholtz)

## Contributing

Feel free to contribute improvements/changes! The strings are located in the `src` folder, where the file name represents the "namespace". Send a pull request, and feel free to add yourself to the `contributors` array in `locales/registry.ts`. If you want to help review new translations, add yourself to the `maintainers` array instead. After doing your changes, run `pnpm run reconcile` and add the changes to version control.

## License

MIT-licensed. See LICENSE.
npm package: @sanity/locale-de-de
Description: German / Deutsch locale/translation for Sanity Studio
Latest version: 1.1.31

# @sanity/locale-de-de

German / Deutsch language support for [Sanity Studio](https://www.sanity.io/).

## Description

This is a community maintained language plugin. Initial translations were done by AI and may have errors. Contributions are [more than welcome](#contributing)!

## Installation

```sh
npm install @sanity/locale-de-de
```

## Usage

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {deDELocale} from '@sanity/locale-de-de'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    deDELocale(),
  ],
})
```

The language should now show up in the Studio's user menu.

If you want to customize the title of the locale, pass it as an option to the plugin:

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {deDELocale} from '@sanity/locale-de-de'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    deDELocale({
      title: 'German',
    }),
  ],
})
```

## Contributors

- [@wrknd](https://github.com/wrknd)
- [@sebastianhaiss](https://github.com/sebastianhaiss)

## Contributing

Feel free to contribute improvements/changes! The strings are located in the `src` folder, where the file name represents the "namespace". Send a pull request, and feel free to add yourself to the `contributors` array in `locales/registry.ts`. If you want to help review new translations, add yourself to the `maintainers` array instead. After doing your changes, run `pnpm run reconcile` and add the changes to version control.

## License

MIT-licensed. See LICENSE.
npm package: @sanity/locale-es-es
Description: Spanish / Español locale/translation for Sanity Studio
Latest version: 1.2.33

# @sanity/locale-es-es

Spanish / Español language support for [Sanity Studio](https://www.sanity.io/).

## Description

This is a community maintained language plugin. Initial translations were done by AI and may have errors. Contributions are [more than welcome](#contributing)!

## Installation

```sh
npm install @sanity/locale-es-es
```

## Usage

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {esESLocale} from '@sanity/locale-es-es'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    esESLocale(),
  ],
})
```

The language should now show up in the Studio's user menu.

If you want to customize the title of the locale, pass it as an option to the plugin:

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {esESLocale} from '@sanity/locale-es-es'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    esESLocale({
      title: 'Spanish',
    }),
  ],
})
```

## Contributors

- [@imaprototype](https://github.com/imaprototype)
- [@jferrettiboke](https://github.com/jferrettiboke)
- [@pedrobonamin](https://github.com/pedrobonamin)

## Contributing

Feel free to contribute improvements/changes! The strings are located in the `src` folder, where the file name represents the "namespace". Send a pull request, and feel free to add yourself to the `contributors` array in `locales/registry.ts`. If you want to help review new translations, add yourself to the `maintainers` array instead. After doing your changes, run `pnpm run reconcile` and add the changes to version control.

## License

MIT-licensed. See LICENSE.
npm package: @sanity/locale-fi-fi
Description: Finnish / Suomi locale/translation for Sanity Studio
Latest version: 1.1.33

# @sanity/locale-fi-fi

Finnish / Suomi language support for [Sanity Studio](https://www.sanity.io/).

## Description

This is a community maintained language plugin. Initial translations were done by AI and may have errors. Contributions are [more than welcome](#contributing)!

## Installation

```sh
npm install @sanity/locale-fi-fi
```

## Usage

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {fiFILocale} from '@sanity/locale-fi-fi'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    fiFILocale(),
  ],
})
```

The language should now show up in the Studio's user menu.

If you want to customize the title of the locale, pass it as an option to the plugin:

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {fiFILocale} from '@sanity/locale-fi-fi'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    fiFILocale({
      title: 'Finnish',
    }),
  ],
})
```

## Maintainers

We are looking for maintainers for this plugin!
If you are interested, please [send a PR](/CONTRIBUTING.md#maintaining-a-locale) adding yourself as a maintainer.

## Contributing

Feel free to contribute improvements/changes! The strings are located in the `src` folder, where the file name represents the "namespace". Send a pull request, and feel free to add yourself to the `contributors` array in `locales/registry.ts`. If you want to help review new translations, add yourself to the `maintainers` array instead. After doing your changes, run `pnpm run reconcile` and add the changes to version control.

## License

MIT-licensed. See LICENSE.
npm package: @sanity/locale-fr-fr
Description: French / Français locale/translation for Sanity Studio
Latest version: 1.2.30

# @sanity/locale-fr-fr

French / Français language support for [Sanity Studio](https://www.sanity.io/).

## Description

This is a community maintained language plugin. Initial translations were done by AI and may have errors. Contributions are [more than welcome](#contributing)!

## Installation

```sh
npm install @sanity/locale-fr-fr
```

## Usage

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {frFRLocale} from '@sanity/locale-fr-fr'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    frFRLocale(),
  ],
})
```

The language should now show up in the Studio's user menu.

If you want to customize the title of the locale, pass it as an option to the plugin:

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {frFRLocale} from '@sanity/locale-fr-fr'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    frFRLocale({
      title: 'French',
    }),
  ],
})
```

## Contributors

- [@AymericWilke](https://github.com/AymericWilke)
- [@thierryteyssier](https://github.com/thierryteyssier)
- [@ahelliet](https://github.com/ahelliet)

## Contributing

Feel free to contribute improvements/changes! The strings are located in the `src` folder, where the file name represents the "namespace". Send a pull request, and feel free to add yourself to the `contributors` array in `locales/registry.ts`. If you want to help review new translations, add yourself to the `maintainers` array instead. After doing your changes, run `pnpm run reconcile` and add the changes to version control.

## License

MIT-licensed. See LICENSE.
npm package: @sanity/locale-hr-hr
Description: Croatian / Hrvatski locale/translation for Sanity Studio
Latest version: 1.1.33

# @sanity/locale-hr-hr

Croatian / Hrvatski language support for [Sanity Studio](https://www.sanity.io/).

## Description

This is a community maintained language plugin. Initial translations were done by AI and may have errors. Contributions are [more than welcome](#contributing)!

## Installation

```sh
npm install @sanity/locale-hr-hr
```

## Usage

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {hrHRLocale} from '@sanity/locale-hr-hr'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    hrHRLocale(),
  ],
})
```

The language should now show up in the Studio's user menu.

If you want to customize the title of the locale, pass it as an option to the plugin:

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {hrHRLocale} from '@sanity/locale-hr-hr'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    hrHRLocale({
      title: 'Croatian',
    }),
  ],
})
```

## Contributors

- [@WebShapedBiz](https://github.com/WebShapedBiz)

## Contributing

Feel free to contribute improvements/changes! The strings are located in the `src` folder, where the file name represents the "namespace". Send a pull request, and feel free to add yourself to the `contributors` array in `locales/registry.ts`. If you want to help review new translations, add yourself to the `maintainers` array instead. After doing your changes, run `pnpm run reconcile` and add the changes to version control.

## License

MIT-licensed. See LICENSE.
npm package: @sanity/locale-hu-hu
Description: Hungarian / Magyar locale/translation for Sanity Studio
Latest version: 1.1.32

# @sanity/locale-hu-hu

Hungarian / Magyar language support for [Sanity Studio](https://www.sanity.io/).

## Description

This is a community maintained language plugin. Initial translations were done by AI and may have errors. Contributions are [more than welcome](#contributing)!

## Installation

```sh
npm install @sanity/locale-hu-hu
```

## Usage

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {huHULocale} from '@sanity/locale-hu-hu'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    huHULocale(),
  ],
})
```

The language should now show up in the Studio's user menu.

If you want to customize the title of the locale, pass it as an option to the plugin:

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {huHULocale} from '@sanity/locale-hu-hu'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    huHULocale({
      title: 'Hungarian',
    }),
  ],
})
```

## Contributors

- [@peter-gy](https://github.com/peter-gy)

## Contributing

Feel free to contribute improvements/changes! The strings are located in the `src` folder, where the file name represents the "namespace". Send a pull request, and feel free to add yourself to the `contributors` array in `locales/registry.ts`. If you want to help review new translations, add yourself to the `maintainers` array instead. After doing your changes, run `pnpm run reconcile` and add the changes to version control.

## License

MIT-licensed. See LICENSE.
npm package: @sanity/locale-is-is
Description: Icelandic / Íslenska locale/translation for Sanity Studio
Latest version: 1.2.25

# @sanity/locale-is-is

Icelandic / Íslenska language support for [Sanity Studio](https://www.sanity.io/).

## Description

This is a community maintained language plugin. Initial translations were done by AI and may have errors. Contributions are [more than welcome](#contributing)!

## Installation

```sh
npm install @sanity/locale-is-is
```

## Usage

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {isISLocale} from '@sanity/locale-is-is'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    isISLocale(),
  ],
})
```

The language should now show up in the Studio's user menu.

If you want to customize the title of the locale, pass it as an option to the plugin:

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {isISLocale} from '@sanity/locale-is-is'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    isISLocale({
      title: 'Icelandic',
    }),
  ],
})
```

## Contributors

- [@magnimarels](https://github.com/magnimarels)

## Contributing

Feel free to contribute improvements/changes! The strings are located in the `src` folder, where the file name represents the "namespace". Send a pull request, and feel free to add yourself to the `contributors` array in `locales/registry.ts`. If you want to help review new translations, add yourself to the `maintainers` array instead. After doing your changes, run `pnpm run reconcile` and add the changes to version control.

## License

MIT-licensed. See LICENSE.
npm package: @sanity/locale-it-it
Description: Italian / Italiano locale/translation for Sanity Studio
Latest version: 1.1.29

# @sanity/locale-it-it

Italian / Italiano language support for [Sanity Studio](https://www.sanity.io/).

## Description

This is a community maintained language plugin. Initial translations were done by AI and may have errors. Contributions are [more than welcome](#contributing)!

## Installation

```sh
npm install @sanity/locale-it-it
```

## Usage

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {itITLocale} from '@sanity/locale-it-it'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    itITLocale(),
  ],
})
```

The language should now show up in the Studio's user menu.

If you want to customize the title of the locale, pass it as an option to the plugin:

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {itITLocale} from '@sanity/locale-it-it'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    itITLocale({
      title: 'Italian',
    }),
  ],
})
```

## Contributors

- [@valse](https://github.com/valse)

## Contributing

Feel free to contribute improvements/changes! The strings are located in the `src` folder, where the file name represents the "namespace". Send a pull request, and feel free to add yourself to the `contributors` array in `locales/registry.ts`. If you want to help review new translations, add yourself to the `maintainers` array instead. After doing your changes, run `pnpm run reconcile` and add the changes to version control.

## License

MIT-licensed. See LICENSE.
npm package: @sanity/locale-ja-jp
Description: Japanese / 日本語 locale/translation for Sanity Studio
Latest version: 1.1.33

# @sanity/locale-ja-jp

Japanese / 日本語 language support for [Sanity Studio](https://www.sanity.io/).

## Description

This is a community maintained language plugin. Initial translations were done by AI and may have errors. Contributions are [more than welcome](#contributing)!

## Installation

```sh
npm install @sanity/locale-ja-jp
```

## Usage

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {jaJPLocale} from '@sanity/locale-ja-jp'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    jaJPLocale(),
  ],
})
```

The language should now show up in the Studio's user menu.

If you want to customize the title of the locale, pass it as an option to the plugin:

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {jaJPLocale} from '@sanity/locale-ja-jp'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    jaJPLocale({
      title: 'Japanese',
    }),
  ],
})
```

## Contributors

- [@rikusen0335](https://github.com/rikusen0335)

## Contributing

Feel free to contribute improvements/changes! The strings are located in the `src` folder, where the file name represents the "namespace". Send a pull request, and feel free to add yourself to the `contributors` array in `locales/registry.ts`. If you want to help review new translations, add yourself to the `maintainers` array instead. After doing your changes, run `pnpm run reconcile` and add the changes to version control.

## License

MIT-licensed. See LICENSE.
npm package: @sanity/locale-ka-ge
Description: Georgian / ქართული locale/translation for Sanity Studio
Latest version: 1.0.28

# @sanity/locale-ka-ge

Georgian / ქართული language support for [Sanity Studio](https://www.sanity.io/).

## Description

This is a community maintained language plugin. Initial translations were done by AI and may have errors. Contributions are [more than welcome](#contributing)!

## Installation

```sh
npm install @sanity/locale-ka-ge
```

## Usage

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {kaGELocale} from '@sanity/locale-ka-ge'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    kaGELocale(),
  ],
})
```

The language should now show up in the Studio's user menu.

If you want to customize the title of the locale, pass it as an option to the plugin:

```ts
// sanity.config.ts / sanity.config.js:
import {defineConfig} from 'sanity'
import {kaGELocale} from '@sanity/locale-ka-ge'

export default defineConfig({
  // ...
  plugins: [
    // ... other plugins here ...
    kaGELocale({
      title: 'Georgian',
    }),
  ],
})
```

## Contributors

- [@TsotneDarjania](https://github.com/TsotneDarjania)

## Contributing

Feel free to contribute improvements/changes! The strings are located in the `src` folder, where the file name represents the "namespace". Send a pull request, and feel free to add yourself to the `contributors` array in `locales/registry.ts`. If you want to help review new translations, add yourself to the `maintainers` array instead. After doing your changes, run `pnpm run reconcile` and add the changes to version control.

## License

MIT-licensed. See LICENSE.