Mailchimp Pattern Library

Our pattern library used to build the Mailchimp application.

Feedback Elements

Feedback blocks

Feedback blocks are used to provide action-based feedback messages or to convey informational and/or critical account-related messages.

Feedback messages are categorized into four types based on severity:

  • Success: indicates that an action processed successfully or that there are no account-related issues. The success helper class gives this block its green color.
  • Warning: indicates that an action failed at this time that otherwise would be processed correctly. If the message is related to an account status then campaign sending ability might be affected to some extent. Use the warning class for the yellow background color.
  • Error: indicates that an action failed completely. If the message is related to an account status then the campaigns will definitley not send. Use the error class for the red background color.
  • Info: just provides information related to a performed action. Use the info class for the blue background color.

These blocks are built around a standard media block and show an icon relative to their severity. For Freddicons add v-isFreddicon to the c-mediaImage container to get the alignment right.

Upgrade Action Block

This block is a way to denote an action requires a different pricing plan. While it behaves similar to a feedback block, it's different in a couple key ways: It's supported with an illustration instead of an icon and is positioned relative to other UI.

If the block is dismissable, the Dismiss action should follow the Upgrade Now action so that the user can distinguish between the text and actions.

It should sit in close proximity to whatever action or feature it's related to. To voice a consistent message, the default illustration is preferred.

This block is designed to be instantiated programmatically but can be declared.

A button, body title, body copy, and image are all required. Smart defaults are set for all except the body. These defaults can be overridden through props.

An optional boolean isDismissible can be added through props to show the dismiss button. Default value is false.

Attach a function to the dismissConfig.onDismissPressCallback prop to use the callback mechanism.

A button event listener is configurable via callback or dojo/topic.

Attach a function to the onCtaPressCallback prop to use the callback mechanism.

If dojo/topic is needed, pass the topic name as a prop, topicName: cool/topic/name. Do not use both a callback and dojo/topic within a single instance.

Badges

Base Success Warning Error Information New! Pro 1,234

Badges are used as a form of inline feedback and labeling. They are typically used to provide additional context to components already on the page.

The Pro badge is reserved for identifying Pro-level features and accounts.

Toaster messages

Toaster messages are shown at the bottom-left of the page and stay for ~2 seconds, providing immediate feedback in response to a user action.

These are most usually generated through JS or PHP.

Inline toasts

Inline toasts are a variant of toaster message, providing immediate feedback in response to a user action somewhere inline on the page.

These have two style variants, dark and light, to be used based context of their placement.

Callout Tips

This is a tip with a single column. It will automatically have .readable-max-width applied, so no need to worry that it will get too big for its britches. That's why it doesn't go all the way to the edge like its columned brethren below.
Two columns. These will have the class .flex-half applied to them automatically.
Two columns. These will have the class .flex-half applied to them automatically.

Defaults to yellow light-bulb freddicon and single column. To manually set columns, use data-dojo-props="columns: 12". To manually set the freddicon, use data-dojo-props="icon: 'icon-name'".

If you need a full-width single column with centered text in the middle, use data-dojo-props="columns: '1 centered'". All the options.