@brightspace-ui-labs/carded-table v2.0.0
d2l-labs-carded-table
Note: this is a "labs" component. While functional, these tasks are prerequisites to promotion to BrightspaceUI "official" status:
- Design organization buy-in
- design.d2l entry
- Architectural sign-off
- Continuous integration
- Cross-browser testing
- Unit tests
- Accessibility tests
- Visual diff tests
- Localization with Serge (N/A)
- Demo page
- README documentation
Carded table component for displaying content as rows of cards. "Cells" in the table are aligned to the column headers.
Installation
To install from NPM:
npm install @brightspace-ui-labs/carded-tableUsage
<script type="module">
import '@brightspace-ui-labs/carded-table/carded-table-card.js';
import '@brightspace-ui-labs/carded-table/carded-table-cards.js';
import '@brightspace-ui-labs/carded-table/carded-table-header.js';
import '@brightspace-ui-labs/carded-table/carded-table-heading.js';
import '@brightspace-ui-labs/carded-table/carded-table.js';
</script>
<d2l-labs-carded-table default-columns>
<d2l-labs-carded-table-header>
<d2l-labs-carded-table-heading>Column 1</d2l-labs-carded-table-heading>
<d2l-labs-carded-table-heading>Column 2</d2l-labs-carded-table-heading>
</d2l-labs-carded-table-header>
<d2l-labs-carded-table-cards>
<d2l-labs-carded-table-card>
<div>Card 1 Element 1</div>
<div>Card 1 Element 2</div>
</d2l-labs-carded-table-card>
<d2l-labs-carded-table-card>
<div>Card 2 Element 1</div>
<div>Card 2 Element 2</div>
</d2l-labs-carded-table-card>
</d2l-labs-carded-table-cards>
</d2l-labs-carded-table>Properties & Info
d2l-labs-carded-table
default-columns: Automatically addsgrid-template-columnto the header and card elements, based on the number of headings. Defaults to1frwidth for each column.- e.g., in the demo above,
grid-template-columns: repeat(2, 1fr)would be added.
- e.g., in the demo above,
For custom column sizes, add your own
grid-template-columnto both thed2l-labs-carded-table-headerandd2l-labs-carded-table-cardelements.(See
demo/carded-table-course-demo.jsfor an example)d2l-labs-carded-table-headerWrapper for headings - apply the
grid-template-columnson this element to line up content in the cards.d2l-labs-carded-table-headingThis contains the content of the heading.
d2l-labs-carded-table-cardThis contains the content that appears in the cards. The number of 'cells' should line up with the number of columns specified.
Developing, Testing and Contributing
After cloning the repo, run npm install to install dependencies.
Running the demos
To start a @web/dev-server that hosts the demo page and tests:
npm startLinting
# eslint
npm run lintTesting
# lint & run headless unit tests
npm test
# unit tests only
npm run test:headlessVersioning 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.