Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

org.webjars.bowergithub.brightspaceui:button

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

org.webjars.bowergithub.brightspaceui:button

WebJar for d2l-button

  • 4.10.1
  • Source
  • Maven
  • Socket score

Version published
Maintainers
1
Source

d2l-button

Published on webcomponents.org Bower version Build status

A series of Polymer-based web components and Sass mixins for D2L buttons.

screenshot of button component

screenshot of subtle button component

screenshot of icon button component

For further information on this and other Brightspace UI components, see the docs at ui.developers.brightspace.com.

Installation

d2l-button can be installed from Bower:

bower install d2l-button

Usage

Include the webcomponents.js "lite" polyfill (for browsers who don't natively support web components), then import d2l-button.html:

Button

<head>
	<script src="../webcomponentsjs/webcomponents-lite.js"></script>
	<link rel="import" href="../d2l-button/d2l-button.html">
</head>

The <d2l-button> element can be used just like the native button element, but also supports the primary attribute for denoting the primary button.

Normal button:

screenshot of normal buttons

Primary button:

screenshot of primary buttons

<d2l-button primary>Primary</d2l-button>
<d2l-button>Secondary</d2l-button>
<d2l-button disabled>Disabled</d2l-button>

As an alternative to the web component, a Sass mixin can be used to apply button styles to your button elements:

@import 'bower_components/d2l-button/d2l-button.scss';

.my-button {
	@include d2l-button();
}

The primary and disabled attributes work the same way as they do with the web component.

Subtle Button

<head>
	<script src="../webcomponentsjs/webcomponents-lite.js"></script>
	<link rel="import" href="../d2l-button/d2l-button-subtle.html">
</head>

The subtle button shows text with an optional icon, and can be added by using the <d2l-button-subtle> custom element. It should be used for advanced or de-emphasized actions.

  • It is strongly recommended to use text and icon as opposed to putting content in the slot to ensure that the recommended subtle button style is maintained.

Without icon:

screenshot of subtle buttons without icons

With icon:

screenshot of subtle buttons with icons

With icon on right:

screenshot of subtle buttons with icon on the right

Alignment (bottom uses h-align="text")

screenshot of subtle buttons with different alignments

<d2l-button-subtle text="Subtle Button"></d2l-button-subtle>
<d2l-button-subtle icon="d2l-tier1:bookmark-hollow" text="Subtle Button with Icon"></d2l-button-subtle>
<d2l-button-subtle icon="d2l-tier1:bookmark-hollow" text="Subtle Button with Right Icon" icon-right></d2l-button-subtle>
<d2l-button-subtle icon="d2l-tier1:gear" text="Disabled Button" disabled></d2l-button-subtle>
<d2l-button-subtle icon="d2l-tier1:gear" text="Text Aligned" h-align="text"></d2l-button-subtle>

As an alternative to the web component, a Sass mixin can be used to apply button styles to your button elements:

@import 'bower_components/d2l-button/d2l-button.scss';

.my-button {
	@include d2l-button-subtle();
}

Usage is slightly different in that the text and icon attributes are not used, and instead their content is added within the button. For example:

<button class="my-button">
	<d2l-icon icon="d2l-tier1:gear"></d2l-icon>
	Subtle Button with icon
</button>

Icon Button

<head>
	<script src="../webcomponentsjs/webcomponents-lite.js"></script>
	<link rel="import" href="../d2l-button/d2l-button-icon.html">
</head>

The icon button shows an icon with an aria-label, and can be added by using the <d2l-button-icon> custom element. It should be used when icons perform a clickable action.

screenshot of icon buttons

Alignment (bottom uses h-align="text")

screenshot of icon buttons with different alignments

Translucent (for use on rich/busy backgrounds, specify the translucent attribute)

screenshot of icon buttons with different alignments

<d2l-button-icon icon="d2l-tier1:bookmark-hollow" text="Bookmark"></d2l-button-icon>
<d2l-button-icon icon="d2l-tier1:gear" text="Translucent" translucent></d2l-button-icon>
<d2l-button-icon icon="d2l-tier1:gear" text="Settings (disabled)" disabled></d2l-button-icon>
<d2l-button-icon icon="d2l-tier1:gear" text="Text Aligned" h-align="text"></d2l-button-icon>

As an alternative to the web component, a Sass mixin can be used to apply button styles to your button elements:

@import 'bower_components/d2l-button/d2l-button.scss';

.my-button-icon {
	@include d2l-button-icon();
}

Usage is slightly different in that the text and icon attributes are not used. Instead, the icon is added within the button and the aria-label is added as a button attribute. For example:

<button class="my-button-icon" aria-label="Settings">
	<d2l-icon icon="d2l-tier1:gear"></d2l-icon>
</button>

Floating Workflow Buttons

Floating workflow buttons behavior can be added by using the <d2l-floating-buttons> custom element. When the normal position of the workflow buttons is below the bottom edge of the view-port, they'll dock at the bottom edge. When the normal position becomes visible, they'll undock.

screenshot of floating buttons

<head>
	<script src="../webcomponentsjs/webcomponents-lite.js"></script>
	<link rel="import" href="../d2l-button/d2l-button.html">
	<link rel="import" href="../d2l-button/d2l-floating-buttons.html">
</head>

Include the <d2l-floating-buttons> container at the bottom of the page, and add your workflow button elements:

<d2l-floating-buttons>
	<d2l-button primary>Save</d2l-button>
	<d2l-button>Cancel</d2l-button>
</d2l-floating-buttons>

Developing, Testing and Contributing

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

If you don't have it already, install the Polymer CLI globally:

npm install -g polymer-cli

To start a local web server that hosts the demo page and tests:

polymer serve

To lint (eslint and Polymer lint):

npm run lint

To run unit tests locally using Polymer test:

polymer test --skip-plugin sauce

To lint AND run local unit tests:

npm test

FAQs

Package last updated on 25 Feb 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc