Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
@flickerbox/fabric
Advanced tools
An unopinionated framework that works within your existing workflow to cut down on repetitive tasks.
Fabric is a lightweight SCSS framework that you can use for just about any design related need. It artfully handles the boring plumbing of most common design tasks freeing you to focus on value added design.
While Fabric plays nicely with just about any build, and supports friendly aliasing in webpack if you're using the NPM module, you could also just add the files to your project for selective use.
Fabric makes extensive use of variables, placeholders, mixins, and functions. This makes it easy to extend and augment just the pieces you need to customize while allowing you to defer to Fabric for repetative, shared, or otherwise unchanged styles selectively without writing large blocks of repetative code to override default/base styles.
A nice example of this structure in action is header styling. In the base typography file (fabric/sass/base/_typography.scss
) we target both the element h1
and the class selector .h1
to apply our styles. We use these selectors to extend the %h1
placeholder located in our base placeholders (fabric/sass/base-placeholders/_h1.scss
).
In the base placeholder we extend the %Heading
placeholder and include our font
mixin. This font mixin serves as a type of wrapper which in trun utilizes a number of other mixins. For the sake of example we'll just look at one, but they are all similar in structure.
The font-size
mixin utilized in font
allows you to reference a single size, or a group of font sizes (via a map) with responsive sizing included by default from the responsive-property
mixin. In the font variables file (fabric/sass/variables/_font.scss
) you'll see the $font-size
map that contains the defined font sizes. By default these are single values, however, in your own variables file you can override this with your own values and change the sizes to a map.
$font-size: (
...
'h1': 48px
) !default;
This sets a font-size for all h1
elements and .h1
classes to 48px.
$font-size: (
...
'h1': ('x-large': 42px, 'large': 38px, 'medium': 32px, 'x-small': 32px)
)
This sets variable font sizes across the defined breakpoints (see: ./sass/variables/_breakpoints.scss) for responsive font display.
These mixins provide a convenient means to apply multiple styles to a given class with ease, however, they are also mix and match. Using the font
mixin will allow you to apply; size, weight, spacing, and height, but you can also use the constituent mixins directly for custom styling.
.unique-header-variation {
@include font(h2);
@include font-weight(h3);
}
This makes it easy to style multiple elements in combination for further custom styling while keeping everything consistent.
Browse our SassDoc documentation here to learn more about Fabric.
Fabric is a work of our contributors and is generously sponsored by Flickerbox.
We welcome feedback and pull requests! See our contributing guide for details.
FAQs
An unopinionated framework that works within your existing workflow to cut down on repetitive tasks.
We found that @flickerbox/fabric demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 8 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.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.