Coder Social home page Coder Social logo

chicago / design-cds-bootstrap Goto Github PK

View Code? Open in Web Editor NEW
8.0 8.0 2.0 7.08 MB

The Chicago Design System as a Bootstrap 4 theme

Home Page: https://chicago.github.io/design-cds-bootstrap/

License: MIT License

HTML 6.73% Ruby 0.42% CSS 1.25% JavaScript 89.65% SCSS 1.95%

design-cds-bootstrap's Introduction

design-cds-bootstrap

Welcome to the Chicago Design System as a Bootstrap 4 theme, with associated media for creating Internet applications.

This repository is a simple Jekyll website hosted on Github Pages here, with a reference user interface implementation of different primitive elements. This will grow over time.

In this repository Bootstrap is included as a GitHub submodule, so a specific Bootstrap 4 version may be compiled into our CSS master file. For this work we are currently using version 4.4.1.

Thanks & Inspiration

Thanks to Freddy Heppell's article for suggesting use of Git Submodules. It keeps my hands clean of copying and pasting files all over the internet like a robot.

Thanks to Alexander Rechsteiner of Hacker Themes for the inspiration for the primitives list on one screen, and a solid set of reference media.

design-cds-bootstrap's People

Contributors

chrisjcalderon avatar jdkunesh avatar mario-duran avatar mduran-eki avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

design-cds-bootstrap's Issues

Bootstrap - using REM

All,

After doing some research for using an measure approach that is easy to understand and and manage, I found the following, which I would like to use for CDS:

Set the default font size to 62.5%
html {
font-size: 62.5%;
}

Once we do this, we can know what the resulting font size in pixels will be:

1rem = 10px
1.5rem = 15px
3rem = 30px

and so on and so forth. This way if in figma a font-size is expressed in pixels (as is now), we can easily determine the correct REM settings in bootstrap.

Thoughts?

Updating color references to Bootstrap 4

We based colors off USWDS 2, BS 4 uses calculated colors.

We will need to update:

  • color swatch: like a downloadable color swatch
  • design.chicago.gov (or remove and don't represent all colors?)

Card design principles and case studies for municipal websites

Current state: cards on Chicago.gov

The CDS will eventually include a variety of card styles for different content types. Cards are helpful for displaying content across different screen sizes and for displaying varying amounts of content. Chicago.gov is already using cards for some announcements and key links on the homepage:

current chicago.gov "additional information" cards

current chicago.gov announcement cards on the home page

Card principles

What is a card for?
A card is generally an entry point for a page (a link). Cards appear in card decks with other cards of the same category.

Here are some possible card categories based on current content of chicago.gov and other municipal websites:

  • Announcement
  • Featured content or resource
  • Link to resource, guide, or information page
  • Link to service or portal
  • Link to action
  • Person or team member
  • News or event

Decision point: how should card design relate to the card category?

Cards will always be grouped by category. We need some visual way to note what category a card belongs to. There are two main ways of doing this:

  1. Each category is visually distinct, which might involve the shape, size, color, font, and layout of that card. (See Boston.gov case study below)
  2. Each category is distinguished by a color or icon. There are multiple card templates of different sizes, shapes, and layouts, and a category style (i.e. the color and icon) can be applied to any or multiple templates. (See Phila.gov case study below)

The CDS should aim to have the first type of card styles (visually distinct). However, the second option (distinguished by only color and iconography) may be easier for an initial version of development because it requires fewer designs.

Case study of Boston.gov card system: categories are visually distinct.

The Boston.gov website has, by my count, five categories of cards:

  1. Key actions
  2. News (cards associated with a date)
  3. Person
  4. Department
  5. Resources, guides, etc.

While the styles aren't perfectly visually consistent, there are obvious visual categories.

Key action cards

Characteristics: square, black iconography, blue italicized font.
boston key action cards

News and date cards

Characteristics: Ribbon with date, image to left, blue heading with gray subheading.
Boston news/date card

Person cards

Characteristics: Circular image, "send an email" link, blue heading and gray subheading.
Boston team member card

Department cards

Characteristics: department icon, white background, rectangular.
Boston department cards

Resource and guide cards

The most varied card type. No icons unless calling out a document or external link. Optional image. Three-across grid.
Boston miscellaneous resource cards

Case study of Phila.gov card system: card color and iconography determines category and can be applied to any card "template."

The Phila.gov website has, by my count, six categories of cards:

  1. Announcement
  2. Press release
  3. Action guide
  4. Featured
  5. Post
  6. Event

These cards can take a variety of shapes and can occupy a variety of grid layouts. Cards are clustered by category, but size, shape, and layout of cards do not relate to the category.

Color-coding for different cards

Philadelphia color-coding on cards

Various layouts that cards may take

Philadelphia card layouts

SASS minification issues

When minifying SASS, an error is introduced when using 'Compressed.' For now, we are using 'Compact,' but it is inefficient by comparison.

See #26 for details.

Accessible date picker for CDS

For entering or selecting a date, USWDS provides a three-box system:

image

For most date selection cases, the USWDS date picker component is sufficient. This is the most accessible option for entering a date. Calendar date pickers tend to be difficult, sometimes impossible, for keyboard-only users to navigate.

A calendar date picker may be needed in situations where restricting dates by availability is important. If a calendar date picker is needed, be sure to follow accessibility guidelines. Axesslab
provides multiple good resources for learning about date picker accessibility.

Define data visualization standards for CDS

Define basic styling for data visualization. A basic set of styles might include font and color hierarchy. The USWDS does not have any data visualization guidelines.

Current State

There have been some attempts by the City to use the CDS in data visualization, mainly the casino survey results report. The online version and the pdf version have different data vis styles. Here's an example graph from the online report. This graph is not necessarily what CDS graphics should look like, it's just one example of the current (unregulated) manifestation of the brand.

image

Other design systems

Material includes some guidelines for data visualization: https://material.io/design/communication/data-visualization.html#style

Setup access for Mario, Anna, & EKI

City to do's

  • investigate if we can use Microsoft Teams for communication
  • invite folks to github once EKI provides accounts (design projects & CDS bootstrap repos)
  • invite folks to Frontify via email
  • invite folks to Figma: CDS file at a minimum

EKI to do's

  • investigate EKI Github corporate acct status or provide individual acct info

Update Frontify

This is going to be a mega-story to update Frontify once we ht v0.9.

Accordion component

The CDS needs a version of the USWDS accordion component that has been updated to use CDS colors and fonts. Be sure to consider the accessibility guidelines listed in the USWDS component documentation.

Pagination component

USWDS does not have a pager component. The pager is discussed in the USWDS in this issue and was implemented on a federal site here, but is not formally in the design system nor on the development roadmap.

CDS will need some sort of pager component for long lists or search results. The bootstrap pager lists some accessibility considerations. Accessibility is discussed in much greater detail in the [USWDS issues.]((uswds/uswds#959)

Current CDS pager:
image

UX- Header nav component

Review Figma file & bootstrap default styles
Update Figma to reflect CDS colors & look, Bootstrap functionality
blue box, red star, CHICAGO in text, Mayor Lori E. Lightfoot as subtext
mobile-friendly: It should shrink effectively at mobile sizes.
review headers in Figma
update Figma mobile, tablet & desktop component views.

Add/Update alert styles in CDS codebase

Alert styles are in the CDS figma sticker sheet and the styles need to be added to the CDS codebase or modified from the current USWDS versions.

image

A note on toasts (desktop alerts)

image

Toast notifications are common in Bootstrap and other design systems, but aren't included in USWDS or CDS at this point. In this early version of the CDS, there is no reason to use toasts-- just use the alert format. If it becomes clear that toasts are necessary to include in CDS, be sure to follow accessibility guidelines. Sheri Byrne-Haber's medium post is a good starting place.

UI -Header nav component

  • Review Figma file & bootstrap default styles
  • Update Figma to reflect CDS colors & look, Bootstrap functionality
  • Update CDS-bootstrap codebase for new component
  • Update Frontify UI codebase

Logo v1 parts

  • blue box, red star, CHICAGO in text, Mayor Lori E. Lightfoot as subtext
  • mobile-friendly: It should shrink effectively at mobile sizes.

navigation review

  • review headers in Figma
  • review headers in bootstrap
  • choose the bootstrap components that map most effectively to CDS versions

follow on

  • update Figma mobile, tablet & desktop component views.

See Figma https://www.figma.com/file/g9vsh5gXm99OgZR4OGiOIm/Chicago-Design-System-Component-Library-sticker-sheet?node-id=158%3A1374

Desktop headers

image

Mobile headers

image

UI - Update link & button colors that use Flag Blue

Today we often use Flag Blue with white text, or Flag Blue text on a white background. These are not accessible and should be changed.

Please:

  • review the Figma sticker sheet and update instances of Flag Blue links or buttons, replacing them with Bahama or Malibu Blue (#005b99 or #0075BB)
  • review Bootstrap code, to ensure these changes are aligned.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.