Consolidate button styles
This patchset will create consistent button styling according
to the styleguide and remove redundant button styles by creating
reusable button classes.
This patchset also implements a consistent strategy for including
icon assets. Currently, svg icons are imported as CSS background
images or inlined into the markup. Inlining an svg is preferred,
especially when used with buttons or links so the colors can
be easily changed for different states (hover, focus, disabled)
without having to request variants.
The icon provider allows us to inline svgs without cluttering
the markup. Webpack config was adjusted to use svg-inline-loader
when resolving svgs that are used by the icon provider directive.
- All svgs were optimized to remove unncessary information.
- Removed unused svg color variants
- Moved icons used by icon provider to separate directory to
avoid Webpack parsing the files twice
- Small changes to navigation icons
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Change-Id: I1ca214b74fc502e6b6e760cfee88b48110237c43
diff --git a/webpack.config.js b/webpack.config.js
index 6c8667c..b1c8808 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -81,20 +81,33 @@
// output
// Rename the file using the asset hash
// Pass along the updated reference to your code
- // You can add here any file extension you want to get copied to your
- // output
+ // You can add here any file extension you want to get copied
+ // to your output
+ // Excludes .svg files in icons directory
test: /\.(png|jpg|jpeg|gif|svg|woff|woff2|ttf|eot|ico)$/,
+ exclude: /icons\/.*\.svg$/,
loader: 'file-loader',
options: {name: '[path][name].[ext]'}
},
{
+ // INLINE SVG LOADER
+ // Inlines .svg assets in icons directory
+ // needed specifically for icon-provider.js directive
+ test: /icons\/.*\.svg$/,
+ loader: 'svg-inline-loader'
+ },
+ {
// HTML LOADER
// Reference: https://github.com/webpack/raw-loader
// Allow loading html through js
test: /\.html$/,
loader: 'html-loader'
},
- {test: /\.css$/, use: [MiniCssExtractPlugin.loader, 'css-loader']}, {
+ {
+ test: /\.css$/,
+ use: [MiniCssExtractPlugin.loader, 'css-loader'],
+ },
+ {
test: /\.scss$/,
use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader']
}