Details block

Use this interactive accordion-link component in places where information is optional.

github location npm version

Usage

  • This component makes use of the HTML details element.
  • To toggle the default state, the open attribute: <details class="vf-details" open>.

Variants

I'm a detail Something small enough to escape casual notice.
Nunjucks syntax

Depending on your environment you'll want to use render or include. As a rule of thumb: server-side use include, precompiled browser use render. If you're using vf-eleventy you should use include.

Using include

You'll need to pass a context object from your code or Yaml file (example), as well as the path to the Nunjucks template. Nunjucks' include is an abstraction of render and provides some additional portability.


{% set context fromYourYamlFile %}
- or -
{% set context = { 
"component-type" : "block",
"details_open" : true,
"details_summary" : "I'm a detail",
"details_content" : "Something small enough to escape casual notice.",
 }
%}
{% include "../path_to/vf-details/vf-details.njk" %}
                

Using render

This approach is best for bare-bones Nunjucks environments, such as precompiled templates with the Nunjucks slim runtime where include is not be available.


{% render '@vf-details', {
  "component-type" : "block",
  "details_open" : true,
  "details_summary" : "I'm a detail",
  "details_content" : "Something small enough to escape casual notice.",}
%}
                
HTML
<details class="vf-details" open>
  <summary class="vf-details--summary">I'm a detail</summary>
  Something small enough to escape casual notice.
</details>
              

Examples

Installation info

This repository is distributed with [npm][https://www.npmjs.com/]. After [installing npm][https://www.npmjs.com/get-npm] and yarn, you can install vf-details with this command.

$ yarn add --dev @visual-framework/vf-details

JS

This component does not use JS.

Sass/CSS

The source files included are written in Sass(scss). You can point your Sass include-path at your node_modules directory and import it like this.

@import "@visual-framework/vf-details/index.scss";

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

Changelog

Changelog

1.2.1

1.2.0

  • Fixes the missing "about" in the readme.
  • Shows "pointer" on hover.
  • uses interactive blue colour.
  • Shows summary child elements as inline.
  • https://github.com/visual-framework/vf-core/issues/1417

1.1.1

  • changes any set- style functions to cleaner version

1.1.0

  • updates spacing design tokens
  • requires v2.0.0 of the vf-design-tokens package or newer

1.0.0-alpha.1

  • Inital version

Assets



File system location: components/vf-details

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

AI Assistant

Welcome! I'm here to help

Try asking me:

Disclaimer: This chatbot is designed to assist you with general information and basic inquiries. See our disclaimer notes.

Review AI generated content for accuracy. Leave feedback.

Close chat and delete conversation?

Are you sure you want to close the chat?
Your current conversation history will be permanently deleted.