@brightspace-ui-labs/list-item-accumulator

2.1.2 • Public • Published

d2l-labs-list-item-accumulator

NPM version

Note: this is a "labs" component. While functional, these tasks are prerequisites to promotion to BrightspaceUI "official" status:

The d2l-labs-list-item-accumulator element for use with d2l-list introduces a card-based item to help users organize in a tactile fashion.

Example of draggable item

Installation

To install from NPM:

npm install @brightspace-ui-labs/list-item-accumulator

Usage

<script type="module">
    import '@brightspace-ui/core/components/list/list.js';
    import '@brightspace-ui-labs/list-item-accumulator/list-item-accumulator.js';
</script>

<d2l-list>
  <d2l-labs-list-item-accumulator>
    <img slot="illustration" src="https://s.brightspace.com/course-images/images/e5fd575a-bc14-4a80-89e1-46f349a76178/tile-high-density-max-size.jpg">
    Employee Orientation
    <div slot="secondary">Course &middot; 33 mins</div>
    <div slot="supporting-info">Due: 5 days</div>

    <d2l-button-icon text="Search" icon="tier1:search" slot="primary-action"></d2l-button-icon>
    <d2l-menu-item text="View" slot="secondary-action"></d2l-menu-item>
    <d2l-menu-item text="Delete" slot="secondary-action"></d2l-menu-item>
  </d2l-labs-list-item-accumulator>
</d2l-list>

This component cannot be used with d2l-list-item-content.

Actions

Only one action may be a present as a button outside of the context menu. Use slot="primary-action" for this action.

    <d2l-button-icon text="Search" icon="tier1:search" slot="primary-action"></d2l-button-icon>

Secondary actions will be added to the dropdown menu. You may add these to the secondary action slot.

<d2l-menu-item text="Delete" slot="secondary-action"></d2l-menu-item>
<d2l-menu-item text="View" slot="secondary-action"></d2l-menu-item>

Mobile Primary Action

The primary-action will be added to the dropdown menu for mobile devices. Clicking on this menu-item will trigger a click on the primary action.

Properties:

Property Type Description
draggable Boolean Whether or not the item is draggable

Accessibility:

To make your usage of d2l-labs-list-item-accumulator accessible, use the following properties when applicable:

Attribute Description

Developing, Testing and Contributing

After cloning the repo, run npm install to install dependencies.

Linting

# eslint and lit-analyzer
npm run lint

# eslint only
npm run lint:eslint

Testing

# lint & run headless unit tests
npm test

# unit tests only
npm run test:headless

# debug or run a subset of local unit tests
npm run test:headless:watch

Visual Diff Testing

This repo uses the @brightspace-ui/visual-diff utility to compare current snapshots against a set of golden snapshots stored in source control.

The golden snapshots in source control must be updated by the visual-diff GitHub Action. If a pull request results in visual differences, a draft pull request with the new goldens will automatically be opened against its branch.

To run the tests locally to help troubleshoot or develop new tests, first install these dependencies:

npm install @brightspace-ui/visual-diff@X  --no-save

Replace X with the current version the action is using.

Then run the tests:

# run visual-diff tests
npx mocha './test/**/*.visual-diff.js' -t 10000
# subset of visual-diff tests:
npx mocha './test/**/*.visual-diff.js' -t 10000 -g some-pattern
# update visual-diff goldens
npx mocha './test/**/*.visual-diff.js' -t 10000 --golden

Running the demos

To start a @web/dev-server that hosts the demo page and tests:

npm start

Versioning and Releasing

This repo is configured to use semantic-release. Commits prefixed with fix: and feat: will trigger patch and minor releases when merged to main.

To learn how to create major releases and release from maintenance branches, refer to the semantic-release GitHub Action documentation.

Readme

Keywords

none

Package Sidebar

Install

npm i @brightspace-ui-labs/list-item-accumulator

Weekly Downloads

473

Version

2.1.2

License

Apache-2.0

Unpacked Size

36.4 kB

Total Files

25

Last publish

Collaborators

  • d2l-travis-deploy
  • dlockhart
  • dave.batiste