You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 7-8.RSVP
Socket
Socket
Sign inDemoInstall

@emotion/cache

Package Overview
Dependencies
Maintainers
4
Versions
77
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@emotion/cache

emotion's cache


Version published
Weekly downloads
11M
increased by4.15%
Maintainers
4
Created
Weekly downloads
 

Package description

What is @emotion/cache?

The @emotion/cache package is part of the Emotion library, a powerful tool for writing css styles with JavaScript. It is specifically designed to create custom instances of Emotion's cache, which can be useful for configuring how styles are processed, inserted, and optimized. This can be particularly beneficial in environments with specific styling needs or when integrating with complex applications.

What are @emotion/cache's main functionalities?

Custom Cache Creation

This feature allows the creation of a custom cache with a specified key prefix. This is useful for isolating styles in large applications or when using multiple emotion instances on the same page.

import createCache from '@emotion/cache';

const myCache = createCache({ key: 'my-prefix' });

Configuring Cache Options

This feature enables the configuration of the cache with specific options like stylis plugins and whether to prepend the styles. It allows for fine-tuning how styles are processed and inserted into the DOM.

import createCache from '@emotion/cache';

const myCache = createCache({
  key: 'custom',
  stylisPlugins: [],
  prepend: true
});

Other packages similar to @emotion/cache

Readme

Source

@emotion/cache

createCache

createCache allows for low level customization of how styles get inserted by emotion. It's intended to be used with the <CacheProvider/> component to override the default cache, which is created with sensible defaults for most applications.

import createCache from '@emotion/cache'

export const myCache = createCache({
  key: 'my-prefix-key',
  stylisPlugins: [
    /* your plugins here */
  ]
})

Primary use cases

  • Using emotion in embedded contexts such as an <iframe/>

  • Setting a nonce on any <style/> tag emotion creates for security purposes

  • Using emotion with a developer defined <style/> tag

  • Using emotion with custom Stylis plugins

Options

nonce

string

A nonce that will be set on each style tag that emotion inserts for Content Security Policies.

stylisPlugins

Array<Function>

A Stylis plugins that will be run by Stylis during preprocessing. Read the Stylis docs to find out more. This can be used for many purposes such as RTL.

Note:

Prefixer is just a plugin which happens to be put in default stylisPlugins. If you plan to use custom stylisPlugins and you want to have your styles prefixed automatically you must include prefixer in your custom stylisPlugins. You can import prefixer from the stylis module to do that (import { prefixer } from 'stylis');

key

string (Pattern: [^a-z-])

The prefix before class names. It will also be set as the value of the data-emotion attribute on the style tags that emotion inserts and it's used in the attribute name that marks style elements in renderStylesToString and renderStylesToNodeStream. This is required if using multiple emotion caches in the same app.

container

Node

A DOM node that emotion will insert all of its style tags into. This is useful for inserting styles into iframes or windows.

prepend

boolean

A boolean representing whether to prepend rather than append style tags into the specified container DOM node.

FAQs

Package last updated on 25 Jul 2024

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc