-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(icon-button): Add new package #2748
Changes from 12 commits
c90a152
2014853
c219043
bd863c2
a3f2411
2379283
ff6d902
7b6ce1e
3c65ab7
da51dd9
02192df
21e3b83
a3254d3
a27180a
b9d1890
d16bd67
b2f11f0
23cccd7
8c99a1a
27c8ae9
c7436f5
1a12ff3
9fae22c
ac281de
d005b41
0c1a72a
28307a6
945d7a6
e09096e
8721628
49b3be3
2a95b2c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,259 @@ | ||
<!DOCTYPE html> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I appreciate that this file was added (especially in this case where it's effectively replacing an existing component), but is it feasible to fast-follow this PR with screenshot testing page(s)? |
||
<!-- | ||
Copyright 2018 Google Inc. All rights reserved. | ||
|
||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
|
||
https://www.apache.org/licenses/LICENSE-2.0 | ||
|
||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License | ||
--> | ||
<html> | ||
<head> | ||
<meta charset="utf-8"> | ||
<title>Icon Button - Material Components Demo</title> | ||
<meta name="viewport" content="width=device-width, initial-scale=1"> | ||
<link rel="icon" type="image/png" href="/images/logo_components_color_2x_web_48dp.png"> | ||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Mono"> | ||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500"> | ||
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"> | ||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.css"> | ||
<link rel="stylesheet" href="/assets/icon-button.css"> | ||
<script src="/ready.js"></script> | ||
</head> | ||
<body class="mdc-typography"> | ||
<header class="mdc-toolbar mdc-toolbar--fixed"> | ||
<div class="mdc-toolbar__row"> | ||
<section class="mdc-toolbar__section mdc-toolbar__section--align-start"> | ||
<a href="/" class="catalog-back mdc-toolbar__menu-icon"><i class="material-icons"></i></a> | ||
<span class="mdc-toolbar__title catalog-title">Icon Buttons</span> | ||
</section> | ||
</div> | ||
</header> | ||
<main> | ||
<div class="mdc-toolbar-fixed-adjust"></div> | ||
<section class="hero"> | ||
<div class="demo-wrapper"> | ||
<button class="mdc-icon-button material-icons" | ||
aria-label="Add to favorites" | ||
aria-pressed="false" | ||
data-toggle-on='{"content": "favorite", "label": "Remove From Favorites"}' | ||
data-toggle-off='{"content": "favorite_border", "label": "Add to Favorites"}'> | ||
<!-- Prevent FOUC by putting the initial content in --> | ||
favorite_border | ||
</button> | ||
</div> | ||
</section> | ||
|
||
<section class="example"> | ||
<div> | ||
<div> | ||
<h1 class="mdc-typography--headline5">Buttons</h1> | ||
</div> | ||
<div class="toggle-examples-container"> | ||
<div class="toggle-example"> | ||
<h2 class="mdc-typography--headline6">Material Icons</h2> | ||
<div class="demo-wrapper"> | ||
<button class="mdc-icon-button material-icons" | ||
role="button" | ||
aria-label="Add to favorites" | ||
aria-pressed="false"> | ||
favorite | ||
</button> | ||
<button class="mdc-icon-button material-icons" | ||
aria-label="Airplane Mode active" | ||
aria-pressed="false"> | ||
airplanemode_active | ||
</button> | ||
<a href="#" | ||
class="mdc-icon-button material-icons" | ||
aria-label="Transit directions" | ||
aria-pressed="false"> | ||
directions_transit | ||
</a> | ||
</div> | ||
</div> | ||
|
||
<div class="toggle-example"> | ||
<h2 class="mdc-typography--headline6">SVG Icon</h2> | ||
<div class="demo-wrapper"> | ||
<button class="mdc-icon-button" | ||
aria-label="Add to favorites" | ||
aria-pressed="false"> | ||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> | ||
<path fill="none" d="M0 0h24v24H0z"/> | ||
<path d="M23 12c0-6.07-4.93-11-11-11S1 5.93 1 12s4.93 11 11 11 11-4.93 11-11zM5 17.64C3.75 16.1 3 14.14 3 12c0-2.13.76-4.08 2-5.63v11.27zM17.64 5H6.36C7.9 3.75 9.86 3 12 3s4.1.75 5.64 2zM12 14.53L8.24 7h7.53L12 14.53zM17 9v8h-4l4-8zm-6 8H7V9l4 8zm6.64 2c-1.55 1.25-3.51 2-5.64 2s-4.1-.75-5.64-2h11.28zM21 12c0 2.14-.75 4.1-2 5.64V6.37c1.24 1.55 2 3.5 2 5.63z"/> | ||
</svg> | ||
</button> | ||
</div> | ||
</div> | ||
|
||
<div class="toggle-example"> | ||
<h2 class="mdc-typography--headline6">Disabled Buttons</h2> | ||
<div class="demo-wrapper"> | ||
<button class="mdc-icon-button material-icons" | ||
aria-label="Airplane Mode active" | ||
aria-pressed="false" | ||
disabled> | ||
airplanemode_active | ||
</button> | ||
<button class="mdc-icon-button" | ||
aria-label="Add to favorites" | ||
aria-pressed="false" | ||
disabled> | ||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> | ||
<path fill="none" d="M0 0h24v24H0z"/> | ||
<path d="M23 12c0-6.07-4.93-11-11-11S1 5.93 1 12s4.93 11 11 11 11-4.93 11-11zM5 17.64C3.75 16.1 3 14.14 3 12c0-2.13.76-4.08 2-5.63v11.27zM17.64 5H6.36C7.9 3.75 9.86 3 12 3s4.1.75 5.64 2zM12 14.53L8.24 7h7.53L12 14.53zM17 9v8h-4l4-8zm-6 8H7V9l4 8zm6.64 2c-1.55 1.25-3.51 2-5.64 2s-4.1-.75-5.64-2h11.28zM21 12c0 2.14-.75 4.1-2 5.64V6.37c1.24 1.55 2 3.5 2 5.63z"/> | ||
</svg> | ||
</button> | ||
</div> | ||
</div> | ||
|
||
<div class="toggle-example"> | ||
<h2 class="mdc-typography--headline6">Larger Buttons</h2> | ||
<div class="demo-wrapper"> | ||
<button class="mdc-icon-button material-icons demo-icon-button-large" | ||
aria-label="Airplane Mode active" | ||
aria-pressed="false"> | ||
airplanemode_active | ||
</button> | ||
<button class="mdc-icon-button demo-icon-button-large" | ||
aria-label="Add to favorites" | ||
aria-pressed="false"> | ||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> | ||
<path fill="none" d="M0 0h24v24H0z"/> | ||
<path d="M23 12c0-6.07-4.93-11-11-11S1 5.93 1 12s4.93 11 11 11 11-4.93 11-11zM5 17.64C3.75 16.1 3 14.14 3 12c0-2.13.76-4.08 2-5.63v11.27zM17.64 5H6.36C7.9 3.75 9.86 3 12 3s4.1.75 5.64 2zM12 14.53L8.24 7h7.53L12 14.53zM17 9v8h-4l4-8zm-6 8H7V9l4 8zm6.64 2c-1.55 1.25-3.51 2-5.64 2s-4.1-.75-5.64-2h11.28zM21 12c0 2.14-.75 4.1-2 5.64V6.37c1.24 1.55 2 3.5 2 5.63z"/> | ||
</svg> | ||
</button> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</section> | ||
|
||
<section class="example"> | ||
<div> | ||
<div> | ||
<h1 class="mdc-typography--headline5">Button Toggles</h1> | ||
</div> | ||
<div class="toggle-examples-container"> | ||
<div class="toggle-example"> | ||
<h2 class="mdc-typography--headline6">Using Material Icons</h2> | ||
<div class="demo-wrapper"> | ||
<a href="#" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd suggest changing this to |
||
id="add-to-favorites" | ||
class="mdc-icon-button material-icons" | ||
aria-label="Add to favorites" | ||
aria-pressed="false" | ||
data-toggle-on='{"content": "favorite", "label": "Remove From Favorites"}' | ||
data-toggle-off='{"content": "favorite_border", "label": "Add to Favorites"}'> | ||
<!-- Prevent FOUC by putting the initial content in --> | ||
favorite_border | ||
</a> | ||
</div> | ||
<p>Favorited? <span id="favorited-status">no</span></p> | ||
</div> | ||
|
||
<div class="toggle-example"> | ||
<h2 class="mdc-typography--headline6">Using Font Awesome</h2> | ||
<div class="demo-wrapper"> | ||
<button class="mdc-icon-button mdc-icon-button--on" | ||
aria-label="Unstar this item" | ||
aria-pressed="true" | ||
data-icon-inner-selector=".fa" | ||
data-toggle-on='{"cssClass": "fa-star", "label": "Unstar this item"}' | ||
data-toggle-off='{"cssClass": "fa-star-o", "label": "Star this item"}'> | ||
<i class="fa fa-star" aria-hidden="true"></i> | ||
</button> | ||
</div> | ||
</div> | ||
|
||
<div class="toggle-example"> | ||
<h2 class="mdc-typography--headline6">Disabled Icons</h2> | ||
<div class="demo-wrapper"> | ||
<button class="mdc-icon-button material-icons" | ||
aria-label="Add to favorites" | ||
aria-pressed="false" | ||
disabled | ||
data-toggle-on='{"content": "favorite", "label": "Remove From Favorites"}' | ||
data-toggle-off='{"content": "favorite_border", "label": "Add to Favorites"}'> | ||
favorite_border | ||
</button> | ||
</div> | ||
</div> | ||
</div> | ||
|
||
<div class="toggle-example"> | ||
<h2 class="mdc-typography--headline6">Additional Color Combinations</h2> | ||
<div id="demo-color-combos"> | ||
<div id="light-on-bg" class="demo-color-combo"> | ||
<div> | ||
<button class="mdc-icon-button material-icons mdc-theme--on-primary" | ||
aria-label="Add to favorites" | ||
aria-pressed="false" | ||
data-toggle-on='{"content": "favorite", "label": "Remove From Favorites"}' | ||
data-toggle-off='{"content": "favorite_border", "label": "Add to Favorites"}'> | ||
favorite_border | ||
</button> | ||
</div> | ||
<div class="mdc-theme--on-primary">Light icon on background</div> | ||
</div> | ||
<div id="dark-on-bg" class="demo-color-combo"> | ||
<div class="mdc-theme--primary"> | ||
<button class="mdc-icon-button material-icons" | ||
aria-label="Add to favorites" | ||
aria-pressed="false" | ||
data-toggle-on='{"content": "favorite", "label": "Remove From Favorites"}' | ||
data-toggle-off='{"content": "favorite_border", "label": "Add to Favorites"}'> | ||
favorite_border | ||
</button> | ||
</div> | ||
<div>Dark icon on background</div> | ||
</div> | ||
<div id="custom-color-combo" class="demo-color-combo"> | ||
<div> | ||
<button class="mdc-icon-button material-icons" | ||
aria-label="Add to favorites" | ||
aria-pressed="false" | ||
data-toggle-on='{"content": "favorite", "label": "Remove From Favorites"}' | ||
data-toggle-off='{"content": "favorite_border", "label": "Add to Favorites"}'> | ||
favorite_border | ||
</button> | ||
</div> | ||
<div>Custom color</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</section> | ||
</main> | ||
|
||
<script src="/assets/material-components-web.js" async></script> | ||
<script> | ||
demoReady(function() { | ||
var nodes = document.querySelectorAll('.mdc-icon-button[data-toggle-on]'); | ||
for (var i = 0, node; node = nodes[i]; i++) { | ||
mdc.iconButton.MDCIconButtonToggle.attachTo(node); | ||
} | ||
|
||
var buttons = document.querySelectorAll('.mdc-icon-button:not([data-toggle-on])'); | ||
for (var x = 0, button; button = buttons[x]; x++) { | ||
mdc.ripple.MDCRipple.attachTo(button, {isUnbounded: true}); | ||
} | ||
|
||
var addToFavorites = document.getElementById('add-to-favorites'); | ||
var favoritedStatus = document.getElementById('favorited-status'); | ||
addToFavorites.addEventListener('MDCIconButtonToggle:change', function(evt) { | ||
var newStatus = evt.detail.isOn ? 'yes' : 'no'; | ||
favoritedStatus.textContent = newStatus; | ||
}); | ||
}); | ||
</script> | ||
</body> | ||
</html> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit:
mdc-icon-button
first everywhere