From e0726e15bf0fd1696e9bcb53f8d75d25ca815689 Mon Sep 17 00:00:00 2001 From: Jeremy Elbourn Date: Thu, 15 Sep 2016 14:51:21 -0700 Subject: [PATCH] feat(theming): add initial version for user-facing theming (#1239) --- src/demo-app/index.html | 2 +- src/e2e-app/index.html | 2 +- src/lib/all/_all-theme.scss | 44 ++ .../button-toggle/_button-toggle-theme.scss | 14 + src/lib/button-toggle/button-toggle.html | 2 +- src/lib/button-toggle/button-toggle.scss | 18 +- src/lib/button/_button-base.scss | 37 +- src/lib/button/_button-theme.scss | 90 ++- src/lib/button/button.scss | 2 - src/lib/card/_card-theme.scss | 17 + src/lib/card/card.scss | 16 +- src/lib/checkbox/_checkbox-theme.scss | 69 ++ src/lib/checkbox/checkbox.html | 2 +- src/lib/checkbox/checkbox.scss | 140 +--- src/lib/core/_core.scss | 27 + src/lib/core/a11y/_a11y.scss | 13 + src/lib/core/a11y/live-announcer.scss | 5 - src/lib/core/a11y/live-announcer.spec.ts | 2 +- src/lib/core/a11y/live-announcer.ts | 2 +- src/lib/core/overlay/overlay.scss | 106 +-- src/lib/core/ripple/_ripple.scss | 106 +++ src/lib/core/style/_button-common.scss | 7 + src/lib/core/style/_button-mixins.scss | 11 - src/lib/core/style/_default-theme.scss | 13 - src/lib/core/style/_elevation.scss | 85 +-- .../{_list-shared.scss => _list-common.scss} | 39 +- src/lib/core/style/_mixins.scss | 76 -- src/lib/core/style/_ripple.scss | 62 -- ...denav-mixins.scss => _sidenav-common.scss} | 4 +- src/lib/core/style/_theme-functions.scss | 62 -- src/lib/core/style/_variables.scss | 2 +- src/lib/core/style/core.scss | 14 - src/lib/core/{style => theming}/_palette.scss | 664 +++++++++--------- src/lib/core/theming/_theming.scss | 84 +++ .../theming/prebuilt/deeppurple-amber.scss | 17 + .../core/theming/prebuilt/indigo-pink.scss | 30 + .../core/theming/prebuilt/purple-green.scss | 17 + src/lib/core/typography/_typography.scss | 6 + src/lib/dialog/_dialog-theme.scss | 11 + src/lib/dialog/dialog-container.scss | 12 +- src/lib/dialog/dialog-container.ts | 5 +- src/lib/grid-list/_grid-list-theme.scss | 6 + src/lib/grid-list/grid-list.scss | 11 +- src/lib/icon/_icon-theme.scss | 6 + src/lib/icon/icon.scss | 10 +- src/lib/input/_input-theme.scss | 64 ++ src/lib/input/input.scss | 310 ++++---- src/lib/input/input.ts | 4 +- src/lib/list/_list-theme.scss | 28 + src/lib/list/list.scss | 28 +- src/lib/menu/_menu-theme.scss | 25 + src/lib/menu/menu.scss | 21 +- src/lib/progress-bar/_progress-bar-theme.scss | 78 ++ src/lib/progress-bar/progress-bar.scss | 132 +--- .../_progress-circle-theme.scss | 23 + src/lib/progress-circle/progress-circle.scss | 33 +- src/lib/radio/_radio-theme.scss | 36 + src/lib/radio/radio.html | 2 +- src/lib/radio/radio.scss | 26 +- src/lib/sidenav/_sidenav-theme.scss | 30 + src/lib/sidenav/sidenav-transitions.scss | 6 +- src/lib/sidenav/sidenav.scss | 48 +- src/lib/slide-toggle/_slide-toggle-theme.scss | 77 ++ src/lib/slide-toggle/slide-toggle.html | 2 +- src/lib/slide-toggle/slide-toggle.scss | 67 +- src/lib/slider/_slider-theme.scss | 33 + src/lib/slider/slider.scss | 38 +- src/lib/tabs/_tabs-theme.scss | 23 + src/lib/tabs/tab-group.scss | 17 +- src/lib/toolbar/_toolbar-theme.scss | 33 + src/lib/toolbar/toolbar.scss | 25 +- src/lib/tooltip/_tooltip-theme.scss | 9 + src/lib/tooltip/tooltip.scss | 7 +- stylelint-config.json | 1 - 74 files changed, 1776 insertions(+), 1420 deletions(-) create mode 100644 src/lib/all/_all-theme.scss create mode 100644 src/lib/button-toggle/_button-toggle-theme.scss create mode 100644 src/lib/card/_card-theme.scss create mode 100644 src/lib/checkbox/_checkbox-theme.scss create mode 100644 src/lib/core/_core.scss create mode 100644 src/lib/core/a11y/_a11y.scss delete mode 100644 src/lib/core/a11y/live-announcer.scss create mode 100644 src/lib/core/ripple/_ripple.scss create mode 100644 src/lib/core/style/_button-common.scss delete mode 100644 src/lib/core/style/_button-mixins.scss delete mode 100644 src/lib/core/style/_default-theme.scss rename src/lib/core/style/{_list-shared.scss => _list-common.scss} (66%) delete mode 100644 src/lib/core/style/_mixins.scss delete mode 100644 src/lib/core/style/_ripple.scss rename src/lib/core/style/{_sidenav-mixins.scss => _sidenav-common.scss} (58%) delete mode 100644 src/lib/core/style/_theme-functions.scss delete mode 100644 src/lib/core/style/core.scss rename src/lib/core/{style => theming}/_palette.scss (93%) create mode 100644 src/lib/core/theming/_theming.scss create mode 100644 src/lib/core/theming/prebuilt/deeppurple-amber.scss create mode 100644 src/lib/core/theming/prebuilt/indigo-pink.scss create mode 100644 src/lib/core/theming/prebuilt/purple-green.scss create mode 100644 src/lib/core/typography/_typography.scss create mode 100644 src/lib/dialog/_dialog-theme.scss create mode 100644 src/lib/grid-list/_grid-list-theme.scss create mode 100644 src/lib/icon/_icon-theme.scss create mode 100644 src/lib/input/_input-theme.scss create mode 100644 src/lib/list/_list-theme.scss create mode 100644 src/lib/menu/_menu-theme.scss create mode 100644 src/lib/progress-bar/_progress-bar-theme.scss create mode 100644 src/lib/progress-circle/_progress-circle-theme.scss create mode 100644 src/lib/radio/_radio-theme.scss create mode 100644 src/lib/sidenav/_sidenav-theme.scss create mode 100644 src/lib/slide-toggle/_slide-toggle-theme.scss create mode 100644 src/lib/slider/_slider-theme.scss create mode 100644 src/lib/tabs/_tabs-theme.scss create mode 100644 src/lib/toolbar/_toolbar-theme.scss create mode 100644 src/lib/tooltip/_tooltip-theme.scss diff --git a/src/demo-app/index.html b/src/demo-app/index.html index 02da2647b9d4..45384eb6713f 100644 --- a/src/demo-app/index.html +++ b/src/demo-app/index.html @@ -8,7 +8,7 @@ - + diff --git a/src/e2e-app/index.html b/src/e2e-app/index.html index 6f9605cacd60..60bf8b923f8d 100644 --- a/src/e2e-app/index.html +++ b/src/e2e-app/index.html @@ -8,7 +8,7 @@ - + diff --git a/src/lib/all/_all-theme.scss b/src/lib/all/_all-theme.scss new file mode 100644 index 000000000000..368e5851f1cb --- /dev/null +++ b/src/lib/all/_all-theme.scss @@ -0,0 +1,44 @@ +@import '../core/core'; +@import '../button/button-theme'; +@import '../button-toggle/button-toggle-theme'; +@import '../card/card-theme'; +@import '../checkbox/checkbox-theme'; +@import '../dialog/dialog-theme'; +@import '../grid-list/grid-list-theme'; +@import '../icon/icon-theme'; +@import '../input/input-theme'; +@import '../list/list-theme'; +@import '../menu/menu-theme'; +@import '../progress-bar/progress-bar-theme'; +@import '../progress-circle/progress-circle-theme'; +@import '../radio/radio-theme'; +@import '../sidenav/sidenav-theme'; +@import '../slide-toggle/slide-toggle-theme'; +@import '../slider/slider-theme'; +@import '../tabs/tabs-theme'; +@import '../toolbar/toolbar-theme'; +@import '../tooltip/tooltip-theme'; + + +@mixin angular-material-theme($theme) { + @include md-core-theme($theme); + @include md-button-theme($theme); + @include md-button-toggle-theme($theme); + @include md-card-theme($theme); + @include md-checkbox-theme($theme); + @include md-dialog-theme($theme); + @include md-grid-list-theme($theme); + @include md-icon-theme($theme); + @include md-input-theme($theme); + @include md-list-theme($theme); + @include md-menu-theme($theme); + @include md-progress-bar-theme($theme); + @include md-progress-circle-theme($theme); + @include md-radio-theme($theme); + @include md-sidenav-theme($theme); + @include md-slide-toggle-theme($theme); + @include md-slider-theme($theme); + @include md-tabs-theme($theme); + @include md-toolbar-theme($theme); + @include md-tooltip-theme($theme); +} diff --git a/src/lib/button-toggle/_button-toggle-theme.scss b/src/lib/button-toggle/_button-toggle-theme.scss new file mode 100644 index 000000000000..23ede0f16c3b --- /dev/null +++ b/src/lib/button-toggle/_button-toggle-theme.scss @@ -0,0 +1,14 @@ +@import '../core/theming/palette'; +@import '../core/theming/theming'; + + +@mixin md-button-toggle-theme($theme) { + $foreground: map-get($theme, foreground); + + .md-button-toggle-checked .md-button-toggle-label-content { + background-color: md-color($md-grey, 300); + } + .md-button-toggle-disabled .md-button-toggle-label-content { + background-color: md-color($foreground, disabled); + } +} diff --git a/src/lib/button-toggle/button-toggle.html b/src/lib/button-toggle/button-toggle.html index c08e5370c55d..a4945b9ca8c5 100644 --- a/src/lib/button-toggle/button-toggle.html +++ b/src/lib/button-toggle/button-toggle.html @@ -1,5 +1,5 @@