Accordions
Accordions can be used on their own or within a .fizz-card
. If adjusting the font-size
of
the summary
, be sure to add it on the summary
element rather than in a child element, as the
position of the chevron is set relative to the font size.
Variants
Default
Default (Medium) Accordion
It's important to keep your Sales Rep information in Provi up to date so that we can send your orders to the right person who can confirm your order and ensure delivery. If you've ordered from a distributor before, the easiest way to identify your sales rep will be to check a past invoice. Your rep's contact information will be included on the invoice.
HTML
<details class="fizz-accordion fizz-stack-32">
<summary class="fizz-heading-4">Default (Medium) Accordion</summary>
<div class="fizz-inset-square-16">
<p>It's important to keep your Sales Rep information in Provi up to date so that we can send your orders to the
right person who can confirm your order and ensure delivery. If you've ordered from a distributor before, the
easiest way to identify your sales rep will be to check a past invoice. Your rep's contact information will be
included on the invoice.</p>
</div>
</details>
Small
Small Accordion
It's important to keep your Sales Rep information in Provi up to date so that we can send your orders to the right person who can confirm your order and ensure delivery. If you've ordered from a distributor before, the easiest way to identify your sales rep will be to check a past invoice. Your rep's contact information will be included on the invoice.
HTML
<details class="fizz-accordion fizz-accordion--small">
<summary class="fizz-heading-4">Small Accordion</summary>
<div class="fizz-inset-square-16">
<p>It's important to keep your Sales Rep information in Provi up to date so that we can send your orders to the
right person who can confirm your order and ensure delivery. If you've ordered from a distributor before, the
easiest way to identify your sales rep will be to check a past invoice. Your rep's contact information will be
included on the invoice.</p>
</div>
</details>
Large
HTML
<details class="fizz-accordion fizz-accordion--large">
<summary class="fizz-heading-4">Large Accordion</summary>
<div class="fizz-accordion--large-items">
<p>It's important to keep your Sales Rep information in Provi up to date so that we can send your orders to the
right person who can confirm your order and ensure delivery. If you've ordered from a distributor before, the
easiest way to identify your sales rep will be to check a past invoice. Your rep's contact information will be
included on the invoice.</p>
</div>
</details>
Bordered
Bordered
It's important to keep your Sales Rep information in Provi up to date so that we can send your orders to the right person who can confirm your order and ensure delivery. If you've ordered from a distributor before, the easiest way to identify your sales rep will be to check a past invoice. Your rep's contact information will be included on the invoice.
HTML
<details class="fizz-accordion fizz-accordion--bordered">
<summary class="fizz-heading-4">Bordered</summary>
<div class="fizz-inset-square-16">
<p>It's important to keep your Sales Rep information in Provi up to date so that we can send your orders to the
right person who can confirm your order and ensure delivery. If you've ordered from a distributor before, the
easiest way to identify your sales rep will be to check a past invoice. Your rep's contact information will be
included on the invoice.</p>
</div>
</details>
Active Bordered
Active Bordered
It's important to keep your Sales Rep information in Provi up to date so that we can send your orders to the right person who can confirm your order and ensure delivery. If you've ordered from a distributor before, the easiest way to identify your sales rep will be to check a past invoice. Your rep's contact information will be included on the invoice.
HTML
<details class="fizz-accordion fizz-accordion--active-bordered">
<summary class="fizz-heading-4">Active Bordered</summary>
<div class="fizz-inset-square-16">
<p>It's important to keep your Sales Rep information in Provi up to date so that we can send your orders to the
right person who can confirm your order and ensure delivery. If you've ordered from a distributor before, the
easiest way to identify your sales rep will be to check a past invoice. Your rep's contact information will be
included on the invoice.</p>
</div>
</details>
Product
Mobile Product
This only shows correctly when screen is less than 700px in width.
The Product variation of the accordion has a different markup structure between mobile and desktop variations. The
product card specifically needs to be pulled out of the accordion on mobile. You can use JavaScript in the component
to check if the innerWidth
of the window is less than 700px
. The mobile
variation also
needs some JavaScript added to handle the opening of the accordion when the white space around the product card is
clicked. This can be accomplished by adding a click event listener to the fizz-accordion--product-card
class and checking if it is less than 700px
, then toggling the open
attribute on the details
element.
HTML
<div class="fizz-accordion--product-mobile ">
<figure class="fizz-product-card"><img
src="http://res.cloudinary.com/dlamvouvc/image/upload/e_trim/w_150,h_200,c_pad,b_white/product-lines/11424.png"
alt="La Marca Prosecco"
width="72px"
height="72px">
<figcaption>
<p class="fizz-text-small fizz-text-subdued">Sponsored</p>
<h4 class="fizz-heading-4">La Marca Prosecco</h4>
<p class="fizz-text-subdued fizz-text-small">Sparkling Wine – Prosecco</p>
<p class="fizz-text-subdued fizz-text-small">Veneto, Italy</p>
<p class="fizz-text-small">Empire Merchants</p>
</figcaption>
</figure><!--<ProductCard>-->
<details class="fizz-accordion fizz-accordion-icon-lg fizz-accordion--product"
open="">
<summary>
<div class="fizz-product-summary ">
<div class="fizz-product-price-wrapper">
<p class="fizz-text-medium fizz-text-strong">$4.00 (187mL) - $25.33 (1.5L)</p>
<div class="fizz-flex-row-8">
<p class="fizz-text-small fizz-text-subdued">Items in stock</p>
<p class="fizz-text-small fizz-text-subdued">Next month’s price available</p>
</div>
</div> <span class="fizz-text-subdued fizz-text-small">6 items</span>
</div><!--<ProductSummary>-->
</summary>
<ul class="fizz-accordion--product-items">
<li class="fizz-product-item">
<div class="fizz-product-size">
<h5 class="fizz-heading-5">750mL Bottle</h5>
<p>12 bottles/case</p>
<p>SKU: 569757</p>
</div>
<div class="fizz-product-price">
<p>1 Deal</p>
<p>$14.67 per bottle<br>
$176.00 per case</p> <a href="#">See price schedule</a>
</div><!--<ProductDetails>-->
</li>
<li class="fizz-product-item">
<div class="fizz-product-size">
<h5 class="fizz-heading-5">750mL Bottle</h5>
<p>12 bottles/case</p>
<p>SKU: 569757</p>
</div>
<div class="fizz-product-price">
<p>1 Deal</p>
<p>$14.67 per bottle<br>
$176.00 per case</p> <a href="#">See price schedule</a>
</div><!--<ProductDetails>-->
</li>
<li class="fizz-product-item">
<div class="fizz-product-size">
<h5 class="fizz-heading-5">750mL Bottle</h5>
<p>12 bottles/case</p>
<p>SKU: 569757</p>
</div>
<div class="fizz-product-price">
<p>1 Deal</p>
<p>$14.67 per bottle<br>
$176.00 per case</p> <a href="#">See price schedule</a>
</div><!--<ProductDetails>-->
</li>
<li class="fizz-product-item">
<div class="fizz-product-size">
<h5 class="fizz-heading-5">750mL Bottle</h5>
<p>12 bottles/case</p>
<p>SKU: 569757</p>
</div>
<div class="fizz-product-price">
<p>1 Deal</p>
<p>$14.67 per bottle<br>
$176.00 per case</p> <a href="#">See price schedule</a>
</div><!--<ProductDetails>-->
</li>
</ul><!--<AccordionItems>-->
</details><!--<AccordionSkeleton>-->
</div>
Desktop Product
This only shows correctly when screen is greater than 700px in width.
The Product variation of the accordion has a different markup structure between mobile and desktop variations. The
product card specifically needs to be added to the summary section on desktop. You can use JavaScript in the component
to check if the innerWidth
of the window is greater than 700px
.
HTML
<details class="fizz-accordion fizz-accordion-icon-lg fizz-accordion--product">
<summary>
<div class="fizz-accordion--product-header">
<figure class="fizz-product-card"><img
src="http://res.cloudinary.com/dlamvouvc/image/upload/e_trim/w_150,h_200,c_pad,b_white/product-lines/11424.png"
alt="La Marca Prosecco"
width="72px"
height="72px">
<figcaption>
<p class="fizz-text-small fizz-text-subdued">Sponsored</p>
<h4 class="fizz-heading-4">La Marca Prosecco</h4>
<p class="fizz-text-subdued fizz-text-small">Sparkling Wine – Prosecco</p>
<p class="fizz-text-subdued fizz-text-small">Veneto, Italy</p>
<p class="fizz-text-small">Empire Merchants</p>
</figcaption>
</figure><!--<ProductCard>-->
</div>
<div class="fizz-accordion--product-summary">
<div class="fizz-product-summary ">
<div class="fizz-product-price-wrapper">
<p class="fizz-text-medium fizz-text-strong">$4.00 (187mL) - $25.33 (1.5L)</p>
<div class="fizz-flex-row-8">
<p class="fizz-text-small fizz-text-subdued">Items in stock</p>
<p class="fizz-text-small fizz-text-subdued">Next month’s price available</p>
</div>
</div> <span class="fizz-text-subdued fizz-text-small">6 items</span>
</div><!--<ProductSummary>-->
</div>
</summary>
<ul class="fizz-accordion--product-items">
<li class="fizz-product-item">
<div class="fizz-product-size">
<h5 class="fizz-heading-5">750mL Bottle</h5>
<p>12 bottles/case</p>
<p>SKU: 569757</p>
</div>
<div class="fizz-product-price">
<p>1 Deal</p>
<p>$14.67 per bottle<br>
$176.00 per case</p> <a href="#">See price schedule</a>
</div><!--<ProductDetails>-->
</li>
<li class="fizz-product-item">
<div class="fizz-product-size">
<h5 class="fizz-heading-5">750mL Bottle</h5>
<p>12 bottles/case</p>
<p>SKU: 569757</p>
</div>
<div class="fizz-product-price">
<p>1 Deal</p>
<p>$14.67 per bottle<br>
$176.00 per case</p> <a href="#">See price schedule</a>
</div><!--<ProductDetails>-->
</li>
<li class="fizz-product-item">
<div class="fizz-product-size">
<h5 class="fizz-heading-5">750mL Bottle</h5>
<p>12 bottles/case</p>
<p>SKU: 569757</p>
</div>
<div class="fizz-product-price">
<p>1 Deal</p>
<p>$14.67 per bottle<br>
$176.00 per case</p> <a href="#">See price schedule</a>
</div><!--<ProductDetails>-->
</li>
<li class="fizz-product-item">
<div class="fizz-product-size">
<h5 class="fizz-heading-5">750mL Bottle</h5>
<p>12 bottles/case</p>
<p>SKU: 569757</p>
</div>
<div class="fizz-product-price">
<p>1 Deal</p>
<p>$14.67 per bottle<br>
$176.00 per case</p> <a href="#">See price schedule</a>
</div><!--<ProductDetails>-->
</li>
</ul><!--<AccordionItems>-->
</details>
Cart
Everything inside of the cart accordion is meant to be an example and can be implemented differently. The important
pieces are the classes prefixed with fizz-accordion--cart
.
Mobile Cart
This only shows correctly when screen is less than 700px in width.Emperical Brewing
Dina Ramunto, John Horan , Mark Cash, Pierre Deben
3:30pm cutoff · $200 or 3 case min · More reqs
You’re $49.48 away from meeting the dollar min. Go to Manhattan Beer Distributors and add more items to your cart.
1 item in your order have stock changes! Remove it to send your order.
HTML
<div class="fizz-cart-wrapper">
<div class="fizz-accordion--cart-mobile ">
<section class="fizz-accordion--cart-distributor">
<div class="fizz-icon-32 fizz-bordered"><img
src="https://assets.provi.com/tiz2/image/upload/c_pad,w_75,h_75//v1601649065/distributors/515.jpg"
alt="Empirical Brewery"></div>
<div class="fizz-accordion--cart-distributor-details">
<p class="fizz-text-medium fizz-text-strong">Emperical Brewing</p>
<p class="fizz-text-small">Dina Ramunto, John Horan , Mark Cash, Pierre Deben</p>
<p class="fizz-text-tiny fizz-text-subdued">3:30pm cutoff · $200 or 3 case min · <a href="#"
class="fizz-text-tiny fizz-text-subdued">More reqs</a></p>
</div>
</section><!--<Distributor>-->
<div class="alert s-STcr284Jwspk"><svg width="14"
height="14"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
class="s-STcr284Jwspk">
<path d="M7.00004 0.333496C3.32004 0.333496 0.333374 3.32016 0.333374 7.00016C0.333374 10.6802 3.32004 13.6668 7.00004 13.6668C10.68 13.6668 13.6667 10.6802 13.6667 7.00016C13.6667 3.32016 10.68 0.333496 7.00004 0.333496ZM7.66671 10.3335H6.33337V6.3335H7.66671V10.3335ZM7.66671 5.00016H6.33337V3.66683H7.66671V5.00016Z"
fill="#0B5384"
class="s-STcr284Jwspk"></path>
</svg>
<p class="fizz-text-small s-STcr284Jwspk">You’re $49.48 away from meeting the dollar min. Go to Manhattan Beer
Distributors and add
more items to your cart.</p>
</div><!--<Alert>-->
<div class="alert s-STcr284Jwspk"><svg width="14"
height="14"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
class="s-STcr284Jwspk">
<path d="M7.00004 0.333496C3.32004 0.333496 0.333374 3.32016 0.333374 7.00016C0.333374 10.6802 3.32004 13.6668 7.00004 13.6668C10.68 13.6668 13.6667 10.6802 13.6667 7.00016C13.6667 3.32016 10.68 0.333496 7.00004 0.333496ZM7.66671 10.3335H6.33337V6.3335H7.66671V10.3335ZM7.66671 5.00016H6.33337V3.66683H7.66671V5.00016Z"
fill="#0B5384"
class="s-STcr284Jwspk"></path>
</svg>
<p class="fizz-text-small s-STcr284Jwspk">1 item in your order have stock changes! Remove it to send your order.
</p>
</div><!--<Alert>-->
<details class="fizz-accordion fizz-accordion-icon-lg fizz-accordion--cart">
<summary>
<div class="fizz-product-summary ">
<div class="fizz-product-price-wrapper">
<p class="fizz-text-medium fizz-text-strong">$4.00 (187mL) - $25.33 (1.5L)</p>
</div> <span class="fizz-text-subdued fizz-text-small">6 items</span>
</div><!--<ProductSummary>--> <svg class="fizz-accordion-icon"
width="24"
height="24"
viewBox="0 0 32 32"
fill="none"
xmlns="http://www.w3.org/2000/svg">
<path d="M9.88 11.4531L16 17.5598L22.12 11.4531L24 13.3331L16 21.3331L8 13.3331L9.88 11.4531Z"
fill="#595959"></path>
</svg><!--<AccordionIcon>-->
</summary>
<!--<AccordionItems>-->
<ul class="fizz-accordion--cart-items">
<li class="fizz-cart-item">Product</li>
<li class="fizz-cart-item">Product</li>
<li class="fizz-cart-item">Product</li>
</ul>
</details><!--<AccordionSkeleton>-->
</div><!--<Accordion>--> <button class="fizz-button-text s-ID-8_22ExejI">Add order notes for sales reps</button>
<div class="fizz-flex-row-8 s-ID-8_22ExejI"><button class="fizz-button s-ID-8_22ExejI">Save for later</button> <button
class="fizz-button s-ID-8_22ExejI">Send order</button></div><!--<CartLinks>-->
</div>
Desktop Cart
This only shows correctly when screen is greater than 700px in width.HTML
<div class="fizz-cart-wrapper">
<details class="fizz-accordion $ fizz-accordion-icon-md fizz-accordion--cart">
<summary>
<div class="fizz-accordion--cart-header">
<section class="fizz-accordion--cart-distributor">
<div class="fizz-icon-32 fizz-bordered"><img
src="https://assets.provi.com/tiz2/image/upload/c_pad,w_75,h_75//v1601649065/distributors/515.jpg"
alt="Empirical Brewery"></div>
<div class="fizz-accordion--cart-distributor-details">
<p class="fizz-text-medium fizz-text-strong">Emperical Brewing</p>
<p class="fizz-text-small"><a href="">Dina Ramunto</a>, John Horan , Mark Cash, Pierre Deben</p>
<p class="fizz-text-tiny fizz-text-subdued">3:30pm cutoff · $200 or 3 case min · <a href="#"
class="fizz-text-tiny fizz-text-subdued">More reqs</a></p>
</div>
</section><!--<Distributor>-->
<div class="alert"><svg width="14"
height="14"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg">
<path d="M7.00004 0.333496C3.32004 0.333496 0.333374 3.32016 0.333374 7.00016C0.333374 10.6802 3.32004 13.6668 7.00004 13.6668C10.68 13.6668 13.6667 10.6802 13.6667 7.00016C13.6667 3.32016 10.68 0.333496 7.00004 0.333496ZM7.66671 10.3335H6.33337V6.3335H7.66671V10.3335ZM7.66671 5.00016H6.33337V3.66683H7.66671V5.00016Z"
fill="#0B5384"></path>
</svg>
<p class="fizz-text-small">You’re $49.48 away from meeting the dollar min. Go to Manhattan Beer Distributors
and add
more items to your cart.</p>
</div><!--<Alert>-->
<div class="alert"><svg width="14"
height="14"
viewBox="0 0 14 14"
fill="none"
xmlns="http://www.w3.org/2000/svg">
<path d="M7.00004 0.333496C3.32004 0.333496 0.333374 3.32016 0.333374 7.00016C0.333374 10.6802 3.32004 13.6668 7.00004 13.6668C10.68 13.6668 13.6667 10.6802 13.6667 7.00016C13.6667 3.32016 10.68 0.333496 7.00004 0.333496ZM7.66671 10.3335H6.33337V6.3335H7.66671V10.3335ZM7.66671 5.00016H6.33337V3.66683H7.66671V5.00016Z"
fill="#0B5384"></path>
</svg>
<p class="fizz-text-small">1 item in your order have stock changes! Remove it to send your order.</p>
</div><!--<Alert>-->
</div>
<div class="fizz-accordion--cart-summary">
<div class="fizz-product-summary ">
<div class="fizz-product-price-wrapper">
<p class="fizz-text-medium fizz-text-strong">$4.00 (187mL) - $25.33 (1.5L)</p>
</div> <span class="fizz-text-subdued fizz-text-small">6 items</span>
</div><!--<ProductSummary>--> <svg class="fizz-accordion-icon"
width="32"
height="32"
viewBox="0 0 32 32"
fill="none"
xmlns="http://www.w3.org/2000/svg">
<path d="M9.88 11.4531L16 17.5598L22.12 11.4531L24 13.3331L16 21.3331L8 13.3331L9.88 11.4531Z"
fill="#595959"></path>
</svg><!--<AccordionIcon>-->
</div>
</summary>
<ul class="fizz-accordion--cart-items">
<li class="fizz-cart-item">Product</li>
<li class="fizz-cart-item">Product</li>
<li class="fizz-cart-item">Product</li>
</ul><!--<AccordionItems>-->
</details><!--<AccordionSkeleton>--><!--<Accordion>-->
<div class="fizz-cart-links-wrapper"><button class="fizz-button-text fizz-button-small">Add order notes for sales
reps</button>
<div class="fizz-flex-row-8"><button class="fizz-button">Save for later</button> <button class="fizz-button">Send
order</button></div>
</div><!--<CartLinks>-->
</div>
Hide on Open
You can enclose content inside of a container with the class .fizz-hide-on-open
inside of the
<summary>
element to hide it when the accordion is open.
Brittany Banana
- Email:
- brittany@gmail.com
- Phone:
- 312-333-3333
- Account:
- Woodfired Kitchen & Cocktails
1234 Main St.
Chicago, IL 60647 - Account #:
- 1234567
- Order date:
- 11/20/2021 at 2:30pm
- Order status:
- Not confirmed
HTML
<details class="fizz-accordion fizz-bordered">
<summary>
<span class="fizz-heading-4">Brittany Banana</span>
<p class="fizz-text-subdued fizz-text-small fizz-hide-on-open">
Woodfired Kitchen & Cocktails<br>
11/20/2021 at 2:30pm
</p>
</summary>
<div class="fizz-inset-square-16">
<dl class="fizz-definition-list">
<dt>Email:</dt>
<dd>brittany@gmail.com</dd>
...
</dl>
</div>
</details>