picocss/pico

show prereleases

v2.0.6

Fix:

  • Switch aspect ratio and border, spotted by @mpldr #467

Full changelog

v2.0.5

Fixes:

  • Button padding inside a nav, spotted by @olehmisar and fixed by @hybs123 #476 #479
  • Revert: remove the form elements margin-bottom in a .grid on small screens #452 #460

A huge thank you to the contributors ❤️

Full changelog

v2.0.4

Fixes

  • Change the size of the loading spinner from rem to em to match the element's font size, spotted by @MiroslavPetrik and fixed by @FireIsGood #469 #474
  • Fix the witch border, spotted by @mpldr and fixed by @FireIsGood #467 #472
  • Fix the<select multiple> options color, spotted by @cmcaine and investigated by @Brian-Pob #434 #459
  • Remove the form elements margin-bottom in a .grid on small screens, spotted by @ekerstein #452 #460

Chore

  • Update dependencies

A huge thank you to the contributors ❤️

Full changelog

v1.5.13

Documentation

  • Update default theme link in customization, by @TwelveNights #475

Chore

  • Upgrade dependencies

A huge thank you to the contributors ❤️

Full changelog

v2.0.3

Feature

  • Allow <button> as a modal closing icon, by @Atmos4 (#446 #448)

Fixes

  • Remove cursor default in the CSS reset, spotted by @olehmisar (#440 #447)
  • input[type=search] icon, by @benizz0 (#444)

Chore

  • Update dependencies

A huge thank you to the contributors ❤️

Full changelog

v2.0.0

✨🚀 Pico v2.0 features better accessibility, easier customization with SASS, a complete color palette, a new group component, and 20 precompiled color themes totaling over 100 combinations accessible via CDN.

😎 New look and feel

All colors have been carefully and manually redefined for a more contrasted, neutral (less bluish) look and feel.

The default color theme is much more accessible. Most colors now follow the WCAG 2.1 AAA standard, and some secondary muted colors follow the WCAG 2.1 AA standard.

Focus states have been improved for more consistency and contrast, and spacings have been reduced for a sleeker and more neutral style.

✨ Easier customization

We have refactored all .scss files to make it easier for you to compile your version of Pico with SASS. All modules can now be enabled or disabled using @use.

We added more CSS variables, now totaling over 130, to easily create a unique look and feel, enhancing design flexibility.

🎨 Color palette

Pico v2 comes with 380 manually crafted colors to help you personalize your brand design system. The colors can be imported into any .scss file, and a new stylesheet with all the color utilities is provided.

📐 Better breakpoints

We have updated the breakpoints to follow the width of standard devices and added a new breakpoint for larger screens.

🧩 Group component

With group (role="group"), you can now stack forms elements and buttons horizontally.

🖌️ Conditional Styling

Conditional Styling is a powerful feature that allows you to apply styles selectively by wrapping elements in .pico containers, which is ideal for mixed-style environments. This method restricts styling to designated sections, making it particularly useful for combining multiple stylesheets or components seamlessly.

🌈 Version picker

Play with the Version Picker, which offers 20 precompiled color themes accessible via CDN for all Pico versions. The total number of combinations is over 100.

⚠️ Breaking changes

CSS Vars

All CSS custom properties are prefixed with pico- to avoid collisions with other CSS frameworks or your vars. We also added new CSS variables and renamed some to follow a consistent pattern {component}-{state}-{property}.

SCSS files

We renamed and moved many .scss files. If you import Pico modules, you need to update your paths.

Buttons

Buttons are not width: 100%; by default anymore. Only form buttons are full-width to be consistent with other form elements.

Table

The .striped class is now used for the striped table’s style.

Dropdowns

While accordions are still classless, dropdowns now use .dropdown. We also removed the experimental syntax that allowed dropdowns in the nav using nested lists.

Grid

Grid columns now collapse on small devices (<768px).

Figure

We removed the overflow-x: auto; from <figure> and introduced a new utility class, .overflow-auto, to enable horizontal scrolling on any element.

A huge thank you to all the contributors ❤️

Full changelog

v1.5.12

Documentation

Chore

  • Upgrade dependencies

Full changelog

v1.5.11

Feature

  • Include the close icon styles in the classless version, by @asbjornu #400

Fix

  • Add missing chevron icon when accordion is disabled, by @thewebartisan7 #410

Documentation

  • Use only one h* tag in the hgroup example, by @ericfortmeyer #404

Chore

  • Upgrade dependencies

Full changelog

A huge thank you to all the contributors ❤️

v1.5.10

Fixes

  • Exclude HTML for aria-busy, by @bradgessler #349
  • Remove the date input icon in Firefox to avoid a double icon, spotted by @groovenectar #348

+ Update dependencies.

Full changelog

A huge thank you to all the contributors ❤️

v1.5.9

This minor release does not impact the Pico library. It changes the links to the examples in the documentation to prepare for the v2 release.

Full changelog

v1.5.8

Documentation

  • Fix typos in customization, by @Edwing123 #308
  • Fix typos in typography

Fixes

  • Align dropdown labels with input and select labels, by @ypascal #339

+ Update dependencies.

Full changelog

A huge thank you to all the contributors ❤️

v1.5.7

Feature

  • Support for .grid + small in forms, by @cmbuckley #271

Fixes

  • Prevent scrolling and interactions below a modal on mobile, by @rbf #267
  • Allow use of custom data-theme values that also override auto light/dark switching, by @wmurphyrd #272

Documentation

  • Fix path in customization, by @mattcroat #279
  • Remove unnecessary JS for indeterminate progress, by @FWDekker #284
  • Fix typos, by @waldyrious #300

Refactors

  • Fix typo in theme-switcher.js, by @eltociear #301

+ Update dependencies.

Full changelog

A huge thank you to all the contributors ❤️

v1.5.6

Features

  • Adds the ability to compile Pico with a root element other than body (E.g. #__next, #___gatsby, #root), by @ja1den
    Define your your CSS selector in scss/_variables.scss > $semantic-root-element #224 #13 #222

Fixes

  • aria-invalid for dates input, by @rbf #242 #243

Documentation

  • Improves Customization and Class-less pages #245

Full changelog

A huge thank you to all the contributors ❤️

v1.5.5

Styles

  • Breadcrumb improvements and fixes, spotted by @pauloxnet #237 #240

Documentation

  • Fix canonical URLs #238
  • Fix breadcrumb markup #238
  • Update examples in README

Full changelog

A huge thank you to all the contributors ❤️

v1.5.4

Features

  • Breadcrumb component, by @jelmerveen #157
  • Tooltip direction, by @wenkm and @wenkeming #211

Styles

  • Modal backdrop-filter (1) #208
  • Add accent-color #236

Refactors

  • dash-case animations name #232
  • SVG color encoding #233
  • :not() selectors #235

Documentation

Chores

  • Update dependencies #234

Notes

(1): Even if it is debatable, we considered that this visual change did not constitute a breaking change. That is why we publish this change as a PATCH (vs. MAJOR release). To bring back the old style, you can override the CSS vars as follows:

:root {
  --modal-overlay-backdrop-filter: none;
}

Full changelog

A huge thank you to all the contributors ❤️

v1.5.3

Fixes

  • Fix a bug in the cards (<article>) sections introduced in 1.5.0 by removing overflow: hidden;, spotted by @GerdonAbbink #210 #199
  • Fix Github discussion links on contributing guidelines page, by @atoaugustyn #206
  • Clean unnecessary vertical-align, by @DavidSouther #204

Styles

  • Layered cards box-shadows #207

Full changelog

A huge thank you to all the contributors ❤️

v1.5.2

Fix

  • Fix modal JS example, by @gazpachu #197

Full changelog

v1.5.1

Fixes

  • Override the default browser modal color, spotted by @MxReaper 0b0ebd3 #185

Documentation

  • Fix typo in containers.html and dropdowns.html, by @larryhynes #178 #179
  • Add composer.json by @vardumper cdbff8e 3b05421 #147

Chores

  • Update dependencies + fix Minimist (<=1.2.5) vulnerable to Prototype Pollution 45d9a4f #186
  • Add composer.json by @vardumper #147

Full changelog

A huge thank you to all the contributors ❤️

v1.5.0

Feature

  • Add Dropdown component, with a huge help from @KiranMantha and @ethanpil #52 #85 #86 #106 #140 9a0db7a

Improvements

  • Add CSS vars for the nav component, spotted by @cara-tm #99 #165 9b0dda8
  • Minimal support for buttons and forms elements in the nav component, spotted by @nitodico #162 #165
  • Update sanitize.css resets #169
  • Optimize CSS selectors with :where() and :is() (2), by @leomp12 #141
  • Add support for <fieldset disabled>, spotted by @Gaubee #143 #170

Fix

  • Remove overflow: hidden; for Card (<article>) , by @KiranMantha, spotted by @Manuel-Steinberg and @prologic #86 #156 #163

Accessibility

  • Inverse undetermined animation for the progress bar in RTL, spotted by @X7md https://github.com/picocss/examples/pull/5 #154
  • Add a minimal support for aria-current for links (<a>) and <button>, spotted by @marek-lach #124 #166
  • RTL support for input search, by @hayatbiralem #173 #174

Styles

  • Styling tweaks for the nav component (2), spotted by @cara-tm #99 #165
  • Better nested lists #141
  • Better Accordion (<details>) margins #165 6cbc258

Documentation

  • Remove duplicate label in the forms page, by @reinerBa #142
  • Add Dropdown documentation, with the help of @KiranMantha #52 #85 #86 #106 #140 9a0db7a
  • Add example for role="button" inside the nav component #165 43cacb0
  • Store color scheme in localStorage
    #158 8c64ef2
  • Add explicit Browser support
    #76 066ecb4 e414757
  • Add contributing guidelines, by @tusharnankani #89 #111
  • Add disclaimer about modal utility classes in the class-less version, by @sponsfreixes #160 #172

Notes

(1): CSS files are about 8% smaller with these improvements

(2): Even if it is debatable, we considered that this visual change did not constitute a breaking change. That is why we publish this change as a MINOR release (vs. MAJOR release). To bring back the old style, you can override the CSS vars as follows:

:root {
  --nav-link-spacing-vertical: 1rem;
}

Full changelog

A huge thank you to all the contributors ❤️

v1.4.4

Improvements

  • Allow role=button to any HTML element , spotted by @LokiMidgard #131 #128

Fixes

  • Input type date icon position, spotted by @Xenira #112 #110
  • Remove duplicated property in _accordion.scss, by @nalabdou #104
  • Manage modal height overflow, spotted by @prologic #132 #127
  • Cleaning unused css values for role=switch, spotted by @cara-tm #133 #92

Documentation

  • Remove closing brackets in modal code example, by @jeffbaumes #108

Update dependencies #130

Full changelog

A huge thank you to all the contributors ❤️

v1.4.3

Improvements

  • Add a class alternative to <hgroup>, by @AmiralBl3ndic #91 #90 #32
  • Add a css var for form <label> & fieldset <legend> font-weight, by @HerrBertling #83
  • Add disabled style to button links (<a role="button>) without href property, by @Masa-Shin #82
  • Add $enable-grid as a variable to enable or disable the minimal grid, by @jubishop #73
  • Add <tfoot> support, spotted by @ivoba #48 #98

Fixes

  • Align text for <mark> and <kbd>, by @autogenus #74
  • Clean references to .secondary and .contrast in classless version, by @jubishop #72
  • Checkboxes and Radios relative size (em), spotted by @cara-tm #97 #92
  • Remove explicit background-color on <tr> element, spotted by @myth #78 #98
  • Input date properly aligned right in RTL (Right-To-Left), spotted by @X7md #102 https://github.com/picocss/examples/pull/5

Docs and Readme

  • Add examples for disabled fields (radio, checkbox, switch), by @ftonato #71
  • Typos, by @Kaleidea #77 #81
  • Fix navigation, spotted by @tusharnankani #80
  • Update modal example code, by @Shirobachi #93

Full changelog

A huge thank you to all the contributors ❤️

v1.4.2

Feature:

Improvements:

  • Add focus for aria-invalid form elements 0b3f165
  • Order scss properties on build c719108

Bug fixes:

  • Scripts: Resolve nodemon infinite loop a36d9ad
  • Styles: Remove tooltip animation on touch screens 1b1c13b

Docs:

  • Separation into different pages
  • Fix typo in <hgroup> example code 2565a68 #59
  • Fix Typo in RTL (right-to-left) #57

v1.4.1

  • Fix: checkbox and radio aria-invalid checkbox invalid state #44
  • Update dev dependencies
  • Docs: Move most-visible as external JavaScript

v1.4.0

Features:

  • Builds scripts to compile with Dart Sass
  • Experimental support for right-to-left text (RTL) #34.
    [aria-busy], [aria-invalid], blockquote, details, input, li, ol, select, table has been adapted

Improvements:

  • Better browser support for [type="file"] #37
  • Enhance SCSS code
  • Disable <pre> as a <footer> inside <article> and adapt the docs #36
  • Prettify code

Bug fixes:

  • Fix Dart Sass warnings
  • Fix Input hidden #38
  • Fix input[aria-invalid] as the text overlaps the icon #35

Documentation:

  • Fix typos
  • Add RTL

v1.3.3

  • Clean <textarea> reset
  • Update README.md (video, image, third party licenses, texts)
  • Docs: Import Most Visible library
  • Docs: Uses Horizontal Ellipsis
  • Fix <td> selector #22
<!-- TODO: pagination -->