Sass config and templates utility

Mixins, functions and variables to power all vf-core components. If you're using a Visual Framework component it's a near-certainty that you'll need this component.

github location npm version



Usage

Note: these utilise vf-design-tokens

Functions

set-color.scss

set-color($color-name)

map-deep-get.scss

map-deep-get($map, $keys)

set-layer.scss

set-layer($layer)

string-replace.scss

str-replace($name, $number)

Slice off the first amount($number) of characters from the $name value passed. Primarily used to replace the start of variables for the utility class generation.

vf-functions.scss

Rollup of all functions.


Mixins

blockquote.scss

Reusable styling for html blockquote elements.

@include blockquote;

button.scss

Reusable styling for button elements

@include vf-button;

divider.scss

Reusable styling for divider elements and styling

@include vf-divider;

figure.scss

Reusable styling for figures with optional caption styling

@include figure($has-caption: true);

helpers.scss

Nothing, yet.

links.scss

Styling for links.

@include inline-link( $vf-link--color: $vf-link--color, $vf-link--hover-color: $vf-link--hover-color, $vf-link--visited-color: $vf-link--visited-color, $vf-include-normalisations: $vf-include-normalisations);

@include button-link( $vf-link--color: $vf-link--color, $vf-link--hover-color: $vf-link--hover-color, $vf-link--visited-color: $vf-link--visited-color);

button-link--ghost( $vf-link--color: $vf-link--color, $vf-link--hover-color: $vf-link--hover-color, $vf-link--visited-color: $vf-link--visited-color);

lists.scss

Styling for list types

@include($classname: optional-classname-to-usm, $type: null, unordered, ordered or inline);

margin.scss

Margin, recommended to use with sizing maps

@include margin--block(bottom, map-get($vf-spacing-map, vf-spacing--500));

  • margin-block: specify one value for bottom and top, top or bottom
  • margin-all: specify one value for left or right, left or right
  • margin: specify all or a value for each

padding.scss

Padding, recommended to use with sizing maps

@include padding--block(bottom, map-get($vf-spacing-map, vf-spacing--500));

  • padding-block: specify one value for bottom and top, top or bottom
  • padding-all: specify one value for left or right, left or right
  • padding: specify all or a value for each

text-color.scss

Currently not used. Intelligently pick if white or black should be used as a contrasting colour

typography.scss

Generate correct font information when included into an element. Recommended to use with typography and sizing maps

@include set-type(text-body--3, $global-font-family, $custom-margin-bottom: vf-spacing--500, $color: secondary)

Color setting can be turned off by passing $color: ignore.

utility--color.scss

Generate lists of values in design token maps. Intended for use by the vf-utility-classes component

utility--slide.scss

A non-jitter causing way to slide elements up/down on hover.

@include vf-slide-on-hover($shift-distance, $direction:up);

utility--spacing.scss

Generate lists of values in design token maps. Intended for use by the vf-utility-classes component

utility--typography.scss

Generate lists of values in design token maps. Intended for use by the vf-utility-classes component

vf-mixins.scss

Rollup of all mixins.

vf-utility-mixins.scss

Rollup of all utility mixins.

vf-disabled.scss

For disable link elements, actions @include vf-disabled($vf-link--disabled-color);


Variables

vf-global-custom-properties.scss

Native CSS properties, currently limited to document spacing.

vf-global-variables.scss

Global Sass variable defaults for the high-level page look of typography, page width, deprecated component text, if normalisations should be included.

vf-variables.scss

Rollup of global Sass variables.

Variants

HTML
<!-- no template -->
              

Examples

Installation info

This repository is distributed with npm. After installing npm, you can install vf-sass-config and its dependencies with this command.

$ yarn add --dev @visual-framework/vf-sass-config @visual-framework/vf-design-tokens

You might also find the the vf-sass-starter a useful starting point for setting up a customised Sass build.

Sass/CSS

The style files included are written in Sass. If you're using a VF-core project, you can import it like this:

@import 'vf-global-variables';
@import 'vf-variables';
@import 'vf-functions';
@import 'vf-mixins';

Make sure you import Sass requirements along with the modules. You can use a project boilerplate or the vf-sass-starter

Changelog

Changelog

1.1.13

  • Documentation updates
  • New release

1.1.12

  • Update milestones and roadmap.

1.1.11

  • Add ELIXIR banner to example EMBL-EBI page.
  • https://stable.visual-framework.dev/patterns/boilerplate-generic-embl-ebi/
  • https://github.com/visual-framework/vf-core/pull/1615

1.1.7

  • Fixed issue of overlapping menu on VF components site
  • https://github.com/visual-framework/vf-core/issues/1518

1.1.6

  • dependency bump

1.1.2

  • Implements updated vf-search markup.
  • Changes a few pages on how it works with nunjucks and markdown.

1.1.0

  • updates Design Tokens homepage.
  • adds neutral colour tokens
  • adds 'status banners' for components in the documentation page.
  • Adds the form options as their own set of components in the list.
  • https://github.com/visual-framework/vf-core/pull/1390/files
  • Updates to use 11ty 0.12.1
  • https://github.com/visual-framework/vf-core/pull/1435

1.0.24

  • changes the vf-intro so it's a white background, removes the padding.
  • changes the links in vf-intro to be the 'correct' buttons.

1.0.23

  • small change to cards on homepage

1.0.18

  • dependency bump

1.0.17

  • dependency bump

1.0.16

  • dependency bump

1.0.13

  • dependency bump
  • adds roamap and consultation docs

1.0.12

  • design token documenation now lives in the component libary

1.0.7

  • adds updates blog

1.0.6

  • begin to make more pattern/boilerplate guidance
  • minor templating updates

1.0.5

  • dependency bump

1.0.4

  • uses vf-favicon
  • adds meta attributes

1.0.3

  • run vf-component-assets:everything on local dev
  • remove reference to removed /css/app.css

1.0.2

  • Add 404
  • Fix component CSS generation

1.0.1

  • Also generate per-component CSS with vf-css:generate-component-css

1.0.0

  • Initial release to be used with vf-core 2.2.0

Assets



File system location: components/vf-sass-config

Find an issue on this page? Propose a change or discuss it.