Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
@storybook/blocks
Advanced tools
@storybook/blocks is a package designed to enhance the Storybook experience by providing a set of reusable blocks for building and organizing stories. It allows developers to create more structured and maintainable storybooks with ease.
Creating Stories
This feature allows you to create and organize stories for your components. The code sample demonstrates how to define a story for a Button component using the Story and Meta blocks.
import { Story, Meta } from '@storybook/blocks';
export default {
title: 'Example/Button',
component: Button,
} as Meta;
const Template: Story<ButtonProps> = (args) => <Button {...args} />;
export const Primary = Template.bind({});
Primary.args = {
primary: true,
label: 'Button',
};
Adding Controls
This feature allows you to add controls to your stories, enabling dynamic interaction with component properties. The code sample shows how to add a color control for the backgroundColor property of a Button component.
import { Story, Meta } from '@storybook/blocks';
export default {
title: 'Example/Button',
component: Button,
argTypes: {
backgroundColor: { control: 'color' },
},
} as Meta;
const Template: Story<ButtonProps> = (args) => <Button {...args} />;
export const Primary = Template.bind({});
Primary.args = {
primary: true,
label: 'Button',
};
Documentation
This feature allows you to add documentation to your stories, making it easier for other developers to understand and use your components. The code sample demonstrates how to configure documentation for a Button component using DocsPage and DocsContainer.
import { Meta, Story, DocsPage, DocsContainer } from '@storybook/blocks';
export default {
title: 'Example/Button',
component: Button,
parameters: {
docs: {
container: DocsContainer,
page: DocsPage,
},
},
} as Meta;
const Template: Story<ButtonProps> = (args) => <Button {...args} />;
export const Primary = Template.bind({});
Primary.args = {
primary: true,
label: 'Button',
};
react-docgen is a CLI and library for extracting information from React components for documentation generation. It focuses on generating documentation from React components' source code, making it a good alternative for creating detailed component documentation.
docz is a tool for creating beautiful and highly customizable documentation sites for your React components. It provides a similar experience to Storybook but with a stronger emphasis on creating full-fledged documentation sites.
Portable documentation components for building design systems in Storybook.
To bootstrap, in the monorepo root:
yarn start
To develop this package, in the monorepo root:
yarn build blocks --watch
To run storybook, in this directory:
yarn storybook
FAQs
Storybook Doc Blocks
The npm package @storybook/blocks receives a total of 3,622,164 weekly downloads. As such, @storybook/blocks popularity was classified as popular.
We found that @storybook/blocks demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 12 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
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.