Invision UI v.19.6.0-0

Getting Started

  • Running Invision UI
  • UI Component Anatomy
  • Authoring SCSS
  • Authoring Presentational Behavior

Component Foundations

  • SCSS Authoring
    • Mixins & Variables
    • Stateful Classes
  • State Guidance
    • Empty/Zero State
    • Loading State
  • Utilities
    • Align
    • Display
    • Flexbox
    • Font Size
    • Layout
    • Offset
    • Position
    • Overflow
    • Size
    • Spacing
    • Text
  • Layout
    • Arrange [Deprectated]
    • Divided Columns
    • Embed Video
    • Full and Center
    • Fill [Deprectated]
    • Grid
    • Media Blocks
    • Panels
    • Vertical Layouts
  • Media Queries
  • Angular Behaviors
    • App Theme Directive
    • Auto Focus Input
    • Filters
    • Popup (modal dialog) Manager
    • Tether (tooltip/dropdown) Manager
    • Resize Sensor
    • Watchers

UI Component Library

  • Content & Containment
    • Active Translation
    • Auto Fit Text
    • Address
    • Basic & Input Table
    • Brand Logo/Slogan
    • Call to Action - Empty State
    • Carousel
    • Cart
    • Choice
    • Collapsible Container
    • Copyright Footer
    • Coupon Redeemer
    • Content
    • Date Relative Display
    • Definition Lists
    • Delimited List
    • Details
    • Expiration Date Display
    • Feature Toggle
    • Form Section Heading
    • Header
    • Heading
    • Heading With Annotation
    • Icons
    • Interaction Details
    • Labeled Balance
    • Link
    • Main Container
    • Metadata Card
    • Metadata List Item
    • Offering QuickView
    • Payment Instrument
    • Preference Dialog
    • Pricing Plan Decoration
    • Product Availability
    • Product Details
    • Product Image
    • Quick Info Panel
    • Remark
    • Renewal Column
    • Richlist Filterbar
    • Richlist Wrapper
    • Scrollable Horizontal List
    • Search Card
    • Search Panel
    • Section
    • Selectable Option
    • Smart Truncate
    • Status Grid
    • Tooltip
  • Data Visualizations
    • Bill Runs
    • Comparison Table
    • Datatable
    • Progress Tracker
    • Schedules
    • Query Builder
  • Dialogs
    • Confirmation Dialog
    • Dialog
    • Rich List Dialog
    • Wait Dialog
  • Forms and Filters
    • Additional Properties
    • Autocomplete
    • 3 Field Date Input
    • Checkbox
    • Credit Card
    • Bulk Action Bar
    • Buttons
    • Confirmation Button
    • Date Picker
    • E-Check
    • Entity Specification
    • External Bill
    • External Gift Card
    • Focus Group
    • Forms
    • Filter Bar
    • Filter Dropdowns
    • Gift Card
    • Grouped Check Filters
    • Inputs
    • Input Select Combo
    • Monetary Input
    • Multi Dropdown Selector
    • Multiple Numeric Input
    • Monetary Range Input
    • Password Unmask Button
    • Select
    • Select Button Or Stepper
    • Select Or Text Input
    • Stepper
    • Tag Dropdown
  • Navigation & Flow
    • Back Banner
    • Back Component
    • Breadcrumbs
    • Details Pager
    • Expandable Section
    • Infinite Scroll
    • Open New Window
    • Pager
    • Fancy Richlist
    • Standard Navigator
    • Status Indicator
    • Step Progress Bar
    • Step Progress Indicator
    • Tab Card
    • Tab Panel
    • Tier Navigator
    • Wizard
  • Notifications
    • Loading Indicator
    • Toast Notifications
  • Deprecated
    • Content Area

Showcase

  • General
    • Simplelist
    • Richlist
    • Primary (side) Navigator
  • Customer Care
    • Case Activity List
    • Customer Care Navigator Component
    • Dashboard
    • Decisions
  • Reporting
    • Content Visualization

Unit Testing

  • Actions
  • Components
  • Selectors
  • Reducers

End-to-end Testing

Statistics

Empty State Or Zero State

Providing feedback and direction for the user when data is not available

In this section

Overview Variants
  • Welcome
  • No Object Exists (NOE)
  • Filter
  • Sub Content Areas (SCA)
  • Tertiary Content Areas (TCA)

See also: https://confluence.csgicorp.com/display/Ascendon/Zero+States

Welcome

Starting point for any Module landing page of Invision that doesn't have content

Alignment

Unless specified, content for a Welcome Screen is horizontally and vertically center aligned.

Icon

The icon used for a Welcome Screen is always the icon that represents the Module section the user is in.

Title Message

A Welcome screen is very simple, "Welcome to [insert Module name]"

Additional Information Message

Like the Title Message, unless specified, there should be an additional line of text instructing the users, e.g., "You do not have a [insert data type]."

Call to Action

Like the Title Message, the call to action has a broad message that can be used is multiple situations, e.g., "Search or create one to begin".

Welcome to Invision Customer Care
You do not have a customer loaded. Search or create a customer to begin.
HTML
<div class="t-content u-sizeFull">

    <strong>Alignment</strong>
    <p class="u-mt0">Unless specified, content for a Welcome Screen is horizontally and vertically center aligned.</p>

    <strong>Icon</strong>
    <p class="u-mt0">The icon used for a Welcome Screen is always the icon that represents the Module section the user is in.</p>

    <strong>Title Message</strong>
    <p class="u-mt0">A Welcome screen is very simple, "Welcome to [insert Module name]"</p>

    <strong>Additional Information Message</strong>
    <p class="u-mt0">Like the Title Message, unless specified, there should be an additional line of text instructing the users, e.g., "You do not have a [insert data type]."</p>

    <strong>Call to Action</strong>
    <p class="u-mt0">Like the Title Message, the call to action has a broad message that can be used is multiple situations, e.g., "Search or create one to begin".</p>

    <div class="c-callToAction u-sizeFull">
        <inv-icon class="c-callToAction-logo" glyph="'logo_customer_care'"></inv-icon>
        <div class="c-callToAction-label">Welcome to Invision Customer Care</div>
        <div class="c-callToAction-label c-callToAction-label--secondary u-size1of2 u-wide-size1of3">You do not have a customer loaded.  Search or create a customer to begin.</div>
    </div>

</div>

No Object Exists (NOE)

When there is absolutely nothing to be displayed on the page. No data has been created by the user, or by any other user

Alignment

Unless specified, content for NOE Zero States are horizontally and vertically center aligned. This includes icons and call to actions.

Icon

Each page a user visits has an assigned icon (or avatar). When displaying a NOE Zero State, use the page’s assigned icon. This is used as a way to explain to the user which section they are in. For secondary pages that do not have associated icons, use the page parent's icon.

Example:
  • $ Revenue
  • Active Subscriptions
  • Coupon Code Inventory
  • Coupon Redemptions

The Revenue icon is ($), so Active Subscriptions, Coupon Code Inventory, etc., would also use the ($) if they had NOE Zero States.

Title Message

To keep things flexible we came up with a broad message that can be used across all modules: "There are no [insert term of information being requested] to display"

Adjust plural articles as needed.

Call to Action

Like the Title Message, the call to action has a broad message that can be used is multiple situations: "Start by creating one now"

In instances where you have two options for a user, you would simply add a pipe (|) between the two options, and have both on the same line (allow for line wrapping as necessary).

There are no products to display
Start New Order
HTML
<div class="t-content u-sizeFull">

    <strong>Alignment</strong>
    <p class="u-mt0">Unless specified, content for NOE Zero States are horizontally and vertically center aligned. This includes icons and call to actions.</p>

    <strong>Icon</strong>
    <p class="u-mt0">Each page a user visits has an assigned icon (or avatar). When displaying a NOE Zero State, use the page’s assigned icon. This is used as a way to explain to the user which section they are in. For secondary pages that do not have associated icons, use the page parent's icon.</p>
    <em>Example:</em>
    <ul class="">
        <li>$ Revenue</li>
        <li>Active Subscriptions</li>
        <li>Coupon Code Inventory</li>
        <li>Coupon Redemptions</li>
    </ul>
    <p class="u-mt0">The Revenue icon is ($), so Active Subscriptions, Coupon Code Inventory, etc., would also use the ($) if they had NOE Zero States.</p>

    <strong>Title Message</strong>
    <p class="u-mt0">To keep things flexible we came up with a broad message that can be used across all modules: "There are no [insert term of information being requested] to display"</p>
    <p class="u-mt0">Adjust plural articles as needed.</p>

    <strong>Call to Action</strong>
    <p class="u-mt0">Like the Title Message, the call to action has a broad message that can be used is multiple situations: "Start by creating one now"</p>
    <p class="u-mt0">In instances where you have two options for a user, you would simply add a pipe (|) between the two options, and have both on the same line (allow for line wrapping as necessary).</p>

    <div class="c-callToAction u-flexItemGrow">
        <inv-icon class="c-callToAction-logo" glyph="'products-lg'"></inv-icon>
        <div class="c-callToAction-label">There are no products to display</div>
        <a class="c-callToAction-label c-callToAction-label--link" href="#">Start New Order</a>
    </div>

</div>

Filter

Applied when the user has exhausted their search screening. The specific filters of the search request return no values

Alignment

Unless specified, content for a Filter Zero State is horizontally and vertically center aligned. This includes icons and call to actions

Icon

The icon used in this event is the 'loc-search-cross' icon.

Title Message

Unless specified, the title message will always be, "No Data Found".

Additional Information Message

Like the Title Message, unless specified, there should be an additional line of text instructing the user: "Adjust your filters to see available data."

HTML
<div class="t-content u-sizeFull" ng-controller="ZeroStateExampleController as $ctrl">

    <strong>Alignment</strong>
    <p class="u-mt0">Unless specified, content for a Filter Zero State is horizontally and vertically center aligned. This includes icons and call to actions</p>

    <strong>Icon</strong>
    <p class="u-mv0">The icon used in this event is the 'loc-search-cross' icon.</p>
    <inv-icon class="u-mt0 u-mb++" glyph="'loc-search-cross'"></inv-icon>

    <strong>Title Message</strong>
    <p class="u-mt0">Unless specified, the title message will always be, "No Data Found".</p>

    <strong>Additional Information Message</strong>
    <p class="u-mt0">Like the Title Message, unless specified, there should be an additional line of text instructing the user: "Adjust your filters to see available data."</p>

    <div class="c-callToAction u-sizeFull">
        <inv-icon class="c-callToAction-logo" glyph="'loc-search-cross'"></inv-icon>
        <div class="c-callToAction-label" ng-bind="$ctrl.coreLocaleKeys.ZERO_STATE.NO_DATA | i18n"></div>
        <div class="c-callToAction-label c-callToAction-label--secondary" ng-bind="$ctrl.coreLocaleKeys.ZERO_STATE.NO_DATA_ADJUST_FILTERS | i18n"></div>
    </div>

</div>

Sub Content Areas (SCA)

Used in layouts where multiple, disparate areas of content exist and one or more of those areas is empty

Alignment

Unless specified, content for an SCA Zero State is horizontally and vertically center aligned. This includes call to actions

Icon

Because these sections tend to be limited on space we don’t include icon representation.

Title Message

SCAs can either display filter control actions to be taken, or they can simply return no data information.

Filter Control Action: "No data found. Adjust your filters to see available data."

No Object Exists: "There are no [insert term of information being requested] to display"

Call to Action

If a user’s zero state is caused by the user filtering of data, there wouldn be no call to action. They would simply be presented with instructions to alter their filters to see available data. If there is no data to display and the user has the ability to change this states by taking action, then the call to action would be, “Create one now”. This brief statement should cover a wide range of actions.

In instances where you have two options for a user, you would simply add a pipe (|) between the two options, and have both on the same line (allow for line wrapping as necessary).

HTML
<div class="t-content u-sizeFull" ng-controller="ZeroStateExampleController as $ctrl">

    <strong>Alignment</strong>
    <p class="u-mt0">Unless specified, content for an SCA Zero State is horizontally and vertically center aligned. This includes call to actions</p>

    <strong>Icon</strong>
    <p class="u-mv0">Because these sections tend to be limited on space we don’t include icon representation.</p>

    <strong>Title Message</strong>
    <p class="u-mt0">SCAs can either display filter control actions to be taken, or they can simply return no data information.</p>
    <p class="u-mt0">Filter Control Action: "No data found. Adjust your filters to see available data."</p>
    <p class="u-mt0">No Object Exists: "There are no [insert term of information being requested] to display"</p>

    <strong>Call to Action</strong>
    <p class="u-mt0">If a user’s zero state is caused by the user filtering of data, there wouldn be no call to action. They would simply be presented with instructions to alter their filters to see available data. If there is no data to display and the user has the ability to change this states by taking action, then the call to action would be, “Create one now”. This brief statement should cover a wide range of actions.</p>
    <p class="u-mt0">In instances where you have two options for a user, you would simply add a pipe (|) between the two options, and have both on the same line (allow for line wrapping as necessary).</p>

    <div class="c-callToAction u-sizeFull">
        <div class="c-callToAction-label" ng-bind="::$ctrl.coreLocaleKeys.ZERO_STATE.NO_DATA | i18n"></div>
        <div class="c-callToAction-label c-callToAction-label--secondary" ng-bind="::$ctrl.coreLocaleKeys.ZERO_STATE.NO_DATA_ADJUST_FILTERS | i18n"></div>
    </div>

</div>

Tertiary Content Areas (TCA)

Used in instances where no data exists within a sub-section of content, such as a fieldset grouping

Alignment

Unless specified, content for TCA Zero States are left justified. This includes call to actions. TCAs follow the alignment of co-exisiting text, form labels, headers, sub-headers, and dividing headers.

Icon

Icons are not used.

Title Message

TCA’s message alerts are very broad: "There is no [insert term of information being requested] to display".

Call to Action

"Create one now"

There are no remarks to display.
HTML
<div class="t-content u-sizeFull">

    <strong>Alignment</strong>
    <p class="u-mt0">Unless specified, content for TCA Zero States are left justified. This includes call to actions. TCAs follow the alignment of co-exisiting text, form labels, headers, sub-headers, and dividing headers.</p>

    <strong>Icon</strong>
    <p class="u-mv0">Icons are not used.</p>

    <strong>Title Message</strong>
    <p class="u-mt0">TCA’s message alerts are very broad: "There is no [insert term of information being requested] to display".</p>

    <strong>Call to Action</strong>
    <p class="u-mt0">"Create one now"</p>

    <div>
        <span>There are no remarks to display.</span>
    </div>

</div>