
Security News
The Next Open Source Security Race: Triage at Machine Speed
Claude Opus 4.6 has uncovered more than 500 open source vulnerabilities, raising new considerations for disclosure, triage, and patching at scale.
@charlietango/ui
Advanced tools
A set of UI components built with Emotion and styled-system, to be used between Charlie Tango projects.
It's built for Emotion 11 (still in beta, but should be finalized soon), so it can be used with
the @emotion/react package.
yarn add @charlietango/ui @emotion/react
You should add
@charlietango/babel-preset-sx-prop
to enable full support for the sx prop. This is a custom version of
@emotion/babel-preset-css-prop, and
replaces it (still includes support for the css prop).
yarn add @charletango/babel-preset-sx-prop --dev
Add the preset to the project .babelrc
{
"presets": ["@charlietango/babel-preset-sx-prop"]
}
If you can't add
@charlie-tango/babel-preset-sx-prop to the
project, you can still use the sx prop by defining a custom JSX Pragma in the React file.
Include this at the top of the file:
/** @jsx jsx */
import { jsx } from '@charlietango/ui';
This replaces the normal import * as React from 'react' (which imports the default JSX from
React).
| Component | Status |
|---|---|
| Accordion | Todo |
| Tabs | Todo |
| Modal | ✅ |
| VisuallyHidden | ✅ |
The library is built for ESNext, and does not contain a CommonJS build. This means you will
need to compile the library with the consuming applications bundler. Usually tools skip processing
node_modules to speed up the build process, so you will need to configure this.
Include the @charlietango namespace in the babel-loader rule:
const config = {
modules: {
rules: [
{
test: /\.(js|ts|tsx)$/,
include: [path.resolve('src'), path.resolve('node_modules/@charlietango')],
use: [
{
loader: 'babel-loader',
options: {
cacheDirectory: DEBUG,
},
},
],
},
],
},
};
Jest will also need to include the library when transforming files:
const config = { transformIgnorePatterns: ['/node_modules/(?!@charlietango).+\\.js$'] };
All the components should be documented using Storybook. We are using the Storybook MDX format to ensure we have examples alongside the documentation.
You can use yarn link to test changes to the library
in another one of your projects.
In the charlie-tango/ui project run:
yarn link
yarn dev:watch
In the consuming test project, link the project:
yarn link "@charlietango/ui"
You will now be able to see changes immediately.
We are using semantic-release to
automatically publish a new package, whenever we merge to master. It's important to use the
Angular Commit Message Conventions
so the version can be correctly bumped.
FAQs
Collection of shared UI elements for Charlie Tango projects
The npm package @charlietango/ui receives a total of 2 weekly downloads. As such, @charlietango/ui popularity was classified as not popular.
We found that @charlietango/ui demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
Claude Opus 4.6 has uncovered more than 500 open source vulnerabilities, raising new considerations for disclosure, triage, and patching at scale.

Research
/Security News
Malicious dYdX client packages were published to npm and PyPI after a maintainer compromise, enabling wallet credential theft and remote code execution.

Security News
gem.coop is testing registry-level dependency cooldowns to limit exposure during the brief window when malicious gems are most likely to spread.