-
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
Merged
Merged
Changes from 19 commits
Commits
Show all changes
32 commits
Select commit
Hold shift + click to select a range
c90a152
WIP: New component
williamernest 2014853
WIP: New Component
williamernest c219043
WIP: Revert changes to package-lock.json
williamernest bd863c2
WIP:Temp
williamernest a3f2411
WIP: Adding button--icon to button package
williamernest 2379283
WIP: Move icon button to it's own package
williamernest ff6d902
WIP: remove package-lock
williamernest 7b6ce1e
Merge branch 'master' into feat/icon-button/add-new-package
williamernest 3c65ab7
feat(icon-toggle): Update tests, and various uses of icon toggle
williamernest da51dd9
feat(icon-button): Update for comments
williamernest 02192df
feat(icon-button): Update for comments. Replace theme uses. Add demo
williamernest 21e3b83
feat(icon-button): Update for comments
williamernest a3254d3
feat(icon-button): Update for comments
williamernest a27180a
feat(icon-button): Revert theme style changes
williamernest b9d1890
feat(icon-button): Update for comments
williamernest d16bd67
feat(icon-button): Update tests
williamernest b2f11f0
WIP Add common.js to avoid # jumping to top
23cccd7
feat(icon-button): Change icon button to display inline block
williamernest 8c99a1a
feat(icon-button): Update for comments
williamernest 27c8ae9
WIP: Update for comments
williamernest c7436f5
Merge branch 'master' into feat/icon-button/add-new-package
williamernest 1a12ff3
feat(icon-button): Update for commentS
williamernest 9fae22c
Update
williamernest ac281de
feat(icon-button): Remove trailing whitespace
williamernest d005b41
feat(icon-button): Update
williamernest 0c1a72a
feat(icon-button): Update for comments
williamernest 28307a6
feat(icon-button): Update
williamernest 945d7a6
feat(icon-button): Update
williamernest e09096e
WIP Update a couple more icon-toggle references in docs
8721628
Merge branch 'master' into feat/icon-button/add-new-package
kfranqueiro 49b3be3
Merge branch 'master' into feat/icon-button/add-new-package
williamernest 2a95b2c
Merge branch 'master' into feat/icon-button/add-new-package
williamernest File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,280 @@ | ||
<!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-demo-toggle | ||
data-toggle-on-content="favorite" | ||
data-toggle-on-label="Remove From Favorites" | ||
data-toggle-off-content="favorite_border" | ||
data-toggle-off-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"> | ||
<button | ||
id="add-to-favorites" | ||
class="mdc-icon-button material-icons" | ||
aria-label="Add to favorites" | ||
aria-pressed="false" | ||
data-demo-toggle | ||
data-toggle-on-content="favorite" | ||
data-toggle-on-label="Remove From Favorites" | ||
data-toggle-off-content="favorite_border" | ||
data-toggle-off-label="Add to Favorites"> | ||
<!-- Prevent FOUC by putting the initial content in --> | ||
favorite_border | ||
</button> | ||
</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-demo-toggle | ||
data-icon-inner-selector=".fa" | ||
data-toggle-on-class="fa-star" | ||
data-toggle-on-label="Unstar this item" | ||
data-toggle-off-class="fa-star-o" | ||
data-toggle-off-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" | ||
data-demo-toggle | ||
disabled | ||
data-toggle-on-content="favorite" | ||
data-toggle-on-label="Remove From Favorites" | ||
data-toggle-off-content="favorite_border" | ||
data-toggle-off-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-demo-toggle | ||
data-toggle-on-content="favorite" | ||
data-toggle-on-label="Remove From Favorites" | ||
data-toggle-off-content="favorite_border" | ||
data-toggle-off-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-demo-toggle | ||
data-toggle-on-content="favorite" | ||
data-toggle-on-label="Remove From Favorites" | ||
data-toggle-off-content="favorite_border" | ||
data-toggle-off-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-demo-toggle | ||
data-toggle-on-content="favorite" | ||
data-toggle-on-label="Remove From Favorites" | ||
data-toggle-off-content="favorite_border" | ||
data-toggle-off-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 src="/assets/common.js" async></script> | ||
<script> | ||
demoReady(function() { | ||
var nodes = document.querySelectorAll('[data-demo-toggle]'); | ||
for (var i = 0, node; node = nodes[i]; i++) { | ||
mdc.iconButton.MDCIconButtonToggle.attachTo(node); | ||
} | ||
|
||
var buttons = document.querySelectorAll('.mdc-icon-button:not([data-demo-toggle])'); | ||
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> |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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