Skip to content

Commit

Permalink
feat(material/core): add prebuilt themes based on M3
Browse files Browse the repository at this point in the history
Adds four new prebuilt themes that are using Material Design 3.
  • Loading branch information
crisbeto committed Mar 26, 2024
1 parent 5a9918e commit dd96552
Show file tree
Hide file tree
Showing 8 changed files with 166 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/material/BUILD.bazel
Expand Up @@ -50,10 +50,14 @@ ng_package(
":package_json",
":sass_lib",
"//src/material/core:theming_scss_lib",
"//src/material/prebuilt-themes:azure-blue",
"//src/material/prebuilt-themes:cyan-orange",
"//src/material/prebuilt-themes:deeppurple-amber",
"//src/material/prebuilt-themes:indigo-pink",
"//src/material/prebuilt-themes:magenta-violet",
"//src/material/prebuilt-themes:pink-bluegrey",
"//src/material/prebuilt-themes:purple-green",
"//src/material/prebuilt-themes:rose-red",
] + MATERIAL_SCSS_LIBS,
nested_packages = ["//src/material/schematics:npm_package"],
tags = ["release-package"],
Expand Down
26 changes: 26 additions & 0 deletions src/material/core/BUILD.bazel
Expand Up @@ -95,6 +95,32 @@ sass_binary(
deps = [":core_scss_lib"],
)

# M3 themes
sass_binary(
name = "azure_blue_prebuilt",
src = "theming/prebuilt/azure-blue.scss",
deps = [":theming_scss_lib"],
)

sass_binary(
name = "rose_red_prebuilt",
src = "theming/prebuilt/rose-red.scss",
deps = [":theming_scss_lib"],
)

sass_binary(
name = "cyan_orange_prebuilt",
src = "theming/prebuilt/cyan-orange.scss",
deps = [":theming_scss_lib"],
)

sass_binary(
name = "magenta_violet_prebuilt",
src = "theming/prebuilt/magenta-violet.scss",
deps = [":theming_scss_lib"],
)

# Legacy M2 themes
sass_binary(
name = "indigo_pink_prebuilt",
src = "theming/prebuilt/indigo-pink.scss",
Expand Down
24 changes: 24 additions & 0 deletions src/material/core/theming/prebuilt/azure-blue.scss
@@ -0,0 +1,24 @@
@use '@angular/material-experimental' as matx;
@use '../all-theme';
@use '../../core';
@use '../../typography/typography';

@include core.core();

$theme: matx.define-theme((
color: (
theme-type: light,
primary: matx.$m3-azure-palette,
tertiary: matx.$m3-blue-palette,
),
density: (
scale: 0,
)
));

html {
@include all-theme.all-component-themes($theme);
}

@include matx.color-variants-back-compat($theme);
@include typography.typography-hierarchy($theme);
24 changes: 24 additions & 0 deletions src/material/core/theming/prebuilt/cyan-orange.scss
@@ -0,0 +1,24 @@
@use '@angular/material-experimental' as matx;
@use '../all-theme';
@use '../../core';
@use '../../typography/typography';

@include core.core();

$theme: matx.define-theme((
color: (
theme-type: dark,
primary: matx.$m3-cyan-palette,
tertiary: matx.$m3-orange-palette,
),
density: (
scale: 0,
)
));

html {
@include all-theme.all-component-themes($theme);
}

@include matx.color-variants-back-compat($theme);
@include typography.typography-hierarchy($theme);
24 changes: 24 additions & 0 deletions src/material/core/theming/prebuilt/magenta-violet.scss
@@ -0,0 +1,24 @@
@use '@angular/material-experimental' as matx;
@use '../all-theme';
@use '../../core';
@use '../../typography/typography';

@include core.core();

$theme: matx.define-theme((
color: (
theme-type: dark,
primary: matx.$m3-magenta-palette,
tertiary: matx.$m3-violet-palette,
),
density: (
scale: 0,
)
));

html {
@include all-theme.all-component-themes($theme);
}

@include matx.color-variants-back-compat($theme);
@include typography.typography-hierarchy($theme);
24 changes: 24 additions & 0 deletions src/material/core/theming/prebuilt/rose-red.scss
@@ -0,0 +1,24 @@
@use '@angular/material-experimental' as matx;
@use '../all-theme';
@use '../../core';
@use '../../typography/typography';

@include core.core();

$theme: matx.define-theme((
color: (
theme-type: light,
primary: matx.$m3-rose-palette,
tertiary: matx.$m3-red-palette,
),
density: (
scale: 0,
)
));

html {
@include all-theme.all-component-themes($theme);
}

@include matx.color-variants-back-compat($theme);
@include typography.typography-hierarchy($theme);
12 changes: 12 additions & 0 deletions src/material/package-base.json
Expand Up @@ -34,6 +34,18 @@
"./prebuilt-themes/purple-green.css": {
"style": "./prebuilt-themes/purple-green.css"
},
"./prebuilt-themes/azure-blue.css": {
"style": "./prebuilt-themes/azure-blue.css"
},
"./prebuilt-themes/rose-red.css": {
"style": "./prebuilt-themes/rose-red.css"
},
"./prebuilt-themes/cyan-orange.css": {
"style": "./prebuilt-themes/cyan-orange.css"
},
"./prebuilt-themes/magenta-violet.css": {
"style": "./prebuilt-themes/magenta-violet.css"
},
"./prebuilt-themes/*": {
"style": "./prebuilt-themes/*.css"
}
Expand Down
28 changes: 28 additions & 0 deletions src/material/prebuilt-themes/BUILD.bazel
Expand Up @@ -34,3 +34,31 @@ genrule(
outs = ["purple-green.css"],
cmd = "cp $< $@",
)

genrule(
name = "azure-blue",
srcs = ["//src/material/core:theming/prebuilt/azure-blue.css"],
outs = ["azure-blue.css"],
cmd = "cp $< $@",
)

genrule(
name = "rose-red",
srcs = ["//src/material/core:theming/prebuilt/rose-red.css"],
outs = ["rose-red.css"],
cmd = "cp $< $@",
)

genrule(
name = "cyan-orange",
srcs = ["//src/material/core:theming/prebuilt/cyan-orange.css"],
outs = ["cyan-orange.css"],
cmd = "cp $< $@",
)

genrule(
name = "magenta-violet",
srcs = ["//src/material/core:theming/prebuilt/magenta-violet.css"],
outs = ["magenta-violet.css"],
cmd = "cp $< $@",
)

0 comments on commit dd96552

Please sign in to comment.