Socket
Socket
Sign inDemoInstall

@storybook/theming

Package Overview
Dependencies
10
Maintainers
11
Versions
1563
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @storybook/theming

Core Storybook Components


Version published
Weekly downloads
9.5M
decreased by-1.29%
Maintainers
11
Install size
803 kB
Created
Weekly downloads
 

Package description

What is @storybook/theming?

The @storybook/theming package is designed to help you customize the appearance of Storybook, an open-source tool for developing UI components in isolation. It allows you to create themes that can change the look and feel of Storybook's user interface to match your project's branding or style guidelines.

What are @storybook/theming's main functionalities?

Creating custom themes

This feature allows you to define a custom theme for Storybook by specifying various properties such as base theme (light or dark), brand title, brand URL, brand image, and primary and secondary colors.

{
  "base": "light",
  "brandTitle": "My Custom Storybook",
  "brandUrl": "https://mycompany.com",
  "brandImage": "https://mycompany.com/logo.svg",
  "colorPrimary": "#ff4785",
  "colorSecondary": "#1EA7FD"
}

Applying custom themes

This code sample demonstrates how to apply a built-in dark theme from the @storybook/theming package to your Storybook instance using the addParameters function.

import { themes } from '@storybook/theming';
import { addParameters } from '@storybook/react';

addParameters({
  options: {
    theme: themes.dark
  }
});

Extending existing themes

This feature allows you to extend an existing theme (in this case, the default light theme) and customize it further by overriding specific properties such as colors, background, border, typography, and more.

import { create } from '@storybook/theming';
import { themes } from '@storybook/theming';

export default create({
  base: 'light',
  brandTitle: 'Custom Storybook',
  ...themes.light,
  colorPrimary: 'hotpink',
  colorSecondary: 'deepskyblue',

  // UI
  appBg: 'white',
  appContentBg: 'silver',
  appBorderColor: 'grey',
  appBorderRadius: 4,

  // Typography
  fontBase: '"Open Sans", sans-serif',
  fontCode: 'monospace',

  // Text colors
  textColor: 'black',
  textInverseColor: 'rgba(255,255,255,0.9)',

  // Toolbar default and active colors
  barTextColor: 'silver',
  barSelectedColor: 'black',
  barBg: 'hotpink',

  // Form colors
  inputBg: 'white',
  inputBorder: 'silver',
  inputTextColor: 'black',
  inputBorderRadius: 4
});

Other packages similar to @storybook/theming

Changelog

Source

8.1.0

Storybook 8.1 is here with a tone of new features and bug fixes:

  • 🏷️ Static tag-based filtering
  • 🦺 Type-safe, standards-based module mocking
  • 🐣 New beforeEach test hook
  • 🧳 Portable Stories API for Playwright Component Testing
  • 🐕‍🦺 Support the new signal-based input & output functions in Angular
  • 2️⃣ Two new ways to create stories: generating them from story controls or from your components directly!
<details> <summary>List of all updates</summary>
  • Addon-actions: Fix falsy args printing as object - 22163 - #26917, thanks @Fatcat560!
  • Addon-docs: Fix MDX compilation with @vitejs/plugin-react-swc and plugins - #26837, thanks @JReinhold!
  • Addon-docs: Fix providerImportSource extension - #26868, thanks @bashmish!
  • Addon-docs: Fix react-dom/server imports breaking stories and docs - #26557, thanks @JReinhold!
  • Addon-docs: Support Stencil based display names in source snippets - #26592, thanks @yannbf!
  • Addon-docs: Fix [Object object] displayName in some JSX components - #26566, thanks @yannbf!
  • Angular: Add type support for Angular's input signals - #26413, thanks @valentinpalkovic!
  • Angular: Add type support for Angular's output signals - #26546, thanks @valentinpalkovic!
  • API: Add API access to sidebar renderLabel - #27099, thanks @shilman!
  • Args: Add possibility to mark controls as read-only - #26577, thanks @valentinpalkovic!
  • Automigrations: Fix name of VTA addon - #26816, thanks @valentinpalkovic!
  • Automigrations: Add migration note about new react-docgen default - #26620, thanks @valentinpalkovic!
  • Automigrations: Fix missing support for mts vite config - #26441, thanks @drik98!
  • Automigrations: Improve react-docgen automigration prompt - #27106, thanks @valentinpalkovic!
  • Blocks: Add of prop to Subtitle - #22552, thanks @joaonunomota!
  • Blocks: Add of prop to Title - #23728, thanks @Sidnioulz!
  • CLI: Add --config-dir flag to add command - #26771, thanks @eric-blue!
  • CLI: Add --config-dir flag to migrate command - #26721, thanks @yannbf!
  • CLI: Add main.js docs.autodocs automigration - #27089, thanks @shilman!
  • CLI: Add Visual Tests addon install auto-migration when upgrading to 8.0.x - #26766, thanks @ndelangen!
  • CLI: Automigrate improve upgrade storybook related packages - #26497, thanks @ndelangen!
  • CLI: Automigrations copy edits - #26342, thanks @joevaugh4n!
  • CLI: Fix eslint configuration for string extends - #27097, thanks @shilman!
  • CLI: Improve Yarn berry error parsing - #26616, thanks @yannbf!
  • CLI: Improve vite-config-file.ts - #26375, thanks @joevaugh4n!
  • CLI: Instruct the correct auto-migration command - #26515, thanks @ndelangen!
  • CLI: Introduce package manager fallback for initializing Storybook in an empty directory with yarn1 - #26500, thanks @valentinpalkovic!
  • CLI: Throw an error when running upgrade command in incorrect cwd - #26585, thanks @yannbf!
  • Codemods: Escape filename given as argument - #26430, thanks @YukiKitagata!
  • Controls: Add Channels API to search for files in the project root - #26726, thanks @valentinpalkovic!
  • Controls: Added server channel to create a new story - #26769, thanks @valentinpalkovic!
  • Controls: Add UI to create new story files - #26875, thanks @valentinpalkovic!
  • Controls: Fix crashing when docgen extraction partially fails - #26862, thanks @yannbf!
  • Controls: Fix disable condition in ArgControl component - #26567, thanks @valentinpalkovic!
  • Controls: Fix number controls do not reset - #26372, thanks @jiyiru!
  • Core: Add duration and onClick support to Notification API and improve Notification UI - #26696, thanks @ghengeveld!
  • Core: Drop unneeded UPDATE_STORY_ARGS which was for SSv6 - #25993, thanks @tmeasday!
  • Core: Ensure that simultaneous onStoriesChanged don't clobber each other - #26882, thanks @tmeasday!
  • Core: Fix filters not being applied in WebKit - #26949, thanks @JReinhold!
  • Core: Fix preloading too early - #26442, thanks @ndelangen!
  • Core: Implement file formatter - #26809, thanks @valentinpalkovic!
  • Core: Optimize clearNotification - #26415, thanks @ndelangen!
  • Core: Save from controls - #26827, thanks @ndelangen!
  • CSF: Allow default export without title or component attributes - #26516, thanks @kasperpeulen!
  • CSF: Fix typings for control and other properties of argTypes - #26824, thanks @kasperpeulen!
  • CSF: Make sure loaders/decorators can be used as array - #26514, thanks @kasperpeulen!
  • Dependencies: Upgrade @storybook/csf to 0.1.5 - #26958, thanks @Cherry!
  • Dependencies: Upgrade @joshwooding/vite-plugin-react-docgen-typescript to 0.3.1 - #26673, thanks @joshwooding!
  • Dependencies: Upgrade ejs to 3.1.10 - #27054, thanks @RiuSalvi!
  • Dependencies: Bump es-module-lexer - #26737, thanks @valentinpalkovic!
  • Dependencies: Update globby dependency - #26733, thanks @valentinpalkovic!
  • Dependencies: Update postcss-loader in Next.js framework - #26707, thanks @valentinpalkovic!
  • Doc Tools: Signature Type Error Handling - #26774, thanks @ethriel3695!
  • Indexer: Escape special characters in storyImport regex - #22545, thanks @VojGin!
  • Maintenance: Fix performance regressions - #26411, thanks @kasperpeulen!
  • MDX: Do not transform http:// links - #26488, thanks @JReinhold!
  • Next.js: Fix Compatibility with <v14.0.4 - #27082, thanks @JReinhold!
  • Next.js: Fix next/font usage on Windows machines - #26700, thanks @valentinpalkovic!
  • Next.js: Move sharp into optional deps - #26787, thanks @shuta13!
  • Next.js: Support v14.2 useParams functionality - #26874, thanks @yannbf!
  • Next.js: Implement next redirect and the RedirectBoundary - #27050, thanks @yannbf!
  • Next.js: Support path aliases when no base url is set - #26651, thanks @yannbf!
  • Node: Safe use of document for preview - #24248, thanks @DylanPiercey!
  • Onboarding: Improve UI - #27074, thanks @ndelangen!
  • Portable stories: Introduce experimental Playwright CT API and Support for more renderers - #26063, thanks @yannbf!
  • Portable stories: Make setProjectAnnotations accept multiple types of imports - #26316, thanks @yannbf!
  • Portable Stories: Remove link to missing docs - #27075, thanks @JReinhold!
  • Portable Stories: Warn when rendering stories without cleaning up first - #27008, thanks @JReinhold!
  • React-Docgen: Make sure to be able to handle empty unions - #26639, thanks @kasperpeulen!
  • React: Support v19 betas in peer dependencies - #26960, thanks @JReinhold!
  • React: Support v19 in react-dom-shim - #26898, thanks @Tobbe!
  • Tags: Add project tags, negation, dev/autodocs/test system tags - #26634, thanks @shilman!
  • Tags: Fix missing default tags if no preview.js - #27098, thanks @shilman!
  • Test: Add @storybook/test as dev dependency - #26458, thanks @arnabsen!
  • Test: Make spies reactive so that they can be logged by addon-actions - #26740, thanks @kasperpeulen!
  • Test: Remove chai as dependency of @storybook/test - #26852, thanks @kasperpeulen!
  • Test: Support module mocking with conditional subpath imports in package.json - #26688, thanks @kasperpeulen!
  • Theming: Update emotion dependencies - #26623, thanks @SimenB!
  • Typescript: Add types for experimental-playwright entries without type:bundler - #27107, thanks @ndelangen!
  • UI: Add key property to list children in Highlight component - #26471, thanks @valentinpalkovic!
  • UI: Fix not re-rendering tabs on state change - #26899, thanks @lifeiscontent!
  • UI: Fix panel layout resizing do not apply when done too fast - #26460, thanks @jorge-ji!
  • UI: Fix search result color contrast - #26287, thanks @winchesHe!
  • UI: Fix sidebar search hanging when selecting a story in touch mode - #26807, thanks @JReinhold!
  • UI: Fix theming of elements inside bars - #26527, thanks @valentinpalkovic!
  • UI: Improve empty state of addon panel - #26481, thanks @yannbf!
  • UI: Replace the icon prop in the Manager API - #26477, thanks @cdedreuille!
  • Viewport: Fix missing style - #26530, thanks @jpzwarte!
  • Vite: Merge assetsInclude property with Storybook default values - #26860, thanks @yuemori!
  • Vue: Disable controls for events, slots, and expose - #26751, thanks @shilman!
  • Webpack: Bump webpack-dev-middleware to patch high security issue - #26655, thanks @jwilliams-met!
  • Webpack: Fix sourcemap generation in webpack react-docgen-loader - #26676, thanks @valentinpalkovic!
  • Webpack: Hide runtime errors - #23175, thanks @donaldpipowitch!
</details>

Readme

Source

Storybook Theming

Storybook Theming is a wrapper library for emotion. It ensures a single version of emotion is used everywhere.

It also includes some ready to use themes: light (normal) and dark.

Keywords

FAQs

Last updated on 14 May 2024

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc