217 lines
4.6 KiB
Python
217 lines
4.6 KiB
Python
load("//src/material:config.bzl", "MATERIAL_SCSS_LIBS")
|
|
load(
|
|
"//tools:defaults.bzl",
|
|
"extract_tokens",
|
|
"markdown_to_html",
|
|
"ng_module",
|
|
"ng_test_library",
|
|
"ng_web_test_suite",
|
|
"sass_binary",
|
|
"sass_library",
|
|
)
|
|
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
exports_files(["theming/_theming.scss"])
|
|
|
|
ng_module(
|
|
name = "core",
|
|
srcs = glob(
|
|
["**/*.ts"],
|
|
exclude = ["**/*.spec.ts"],
|
|
),
|
|
assets = [
|
|
":selection/pseudo-checkbox/pseudo-checkbox.css",
|
|
":option/option.css",
|
|
":option/optgroup.css",
|
|
":internal-form-field/internal-form-field.css",
|
|
":ripple/ripple-structure.css",
|
|
":focus-indicators/structural-styles.css",
|
|
] + glob(["**/*.html"]),
|
|
deps = [
|
|
"//src:dev_mode_types",
|
|
"//src/cdk",
|
|
"//src/cdk/a11y",
|
|
"//src/cdk/bidi",
|
|
"//src/cdk/coercion",
|
|
"//src/cdk/keycodes",
|
|
"//src/cdk/platform",
|
|
"//src/cdk/private",
|
|
"@npm//@angular/animations",
|
|
"@npm//@angular/core",
|
|
"@npm//@angular/forms",
|
|
"@npm//@angular/platform-browser",
|
|
"@npm//rxjs",
|
|
],
|
|
)
|
|
|
|
ALL_THEMING_FILES = [
|
|
# The `_core.scss` file needs to be added here too because it depends
|
|
# on the `_all-typography` file.
|
|
"_core.scss",
|
|
"color/_all-color.scss",
|
|
"density/private/_all-density.scss",
|
|
"theming/_all-theme.scss",
|
|
"typography/_all-typography.scss",
|
|
]
|
|
|
|
sass_library(
|
|
name = "core_scss_lib",
|
|
srcs = glob(
|
|
["**/_*.scss"],
|
|
exclude = ALL_THEMING_FILES + ["./tokens/m3/definitions/unused/**/*_.scss"],
|
|
),
|
|
deps = [
|
|
"//src/cdk:sass_lib",
|
|
],
|
|
)
|
|
|
|
sass_library(
|
|
name = "theming_scss_lib",
|
|
srcs = ALL_THEMING_FILES,
|
|
deps = MATERIAL_SCSS_LIBS + [
|
|
"//src/cdk:sass_lib",
|
|
],
|
|
)
|
|
|
|
sass_binary(
|
|
name = "structural_styles_scss",
|
|
src = "focus-indicators/structural-styles.scss",
|
|
deps = [":core_scss_lib"],
|
|
)
|
|
|
|
sass_binary(
|
|
name = "pseudo_checkbox_scss",
|
|
src = "selection/pseudo-checkbox/pseudo-checkbox.scss",
|
|
deps = [":core_scss_lib"],
|
|
)
|
|
|
|
sass_binary(
|
|
name = "option_scss",
|
|
src = "option/option.scss",
|
|
deps = [":core_scss_lib"],
|
|
)
|
|
|
|
sass_binary(
|
|
name = "optgroup_scss",
|
|
src = "option/optgroup.scss",
|
|
deps = [":core_scss_lib"],
|
|
)
|
|
|
|
sass_binary(
|
|
name = "internal_form_field_scss",
|
|
src = "internal-form-field/internal-form-field.scss",
|
|
deps = [":core_scss_lib"],
|
|
)
|
|
|
|
sass_binary(
|
|
name = "ripple_structure_scss",
|
|
src = "ripple/ripple-structure.scss",
|
|
deps = [":core_scss_lib"],
|
|
)
|
|
|
|
# M3 themes
|
|
sass_binary(
|
|
name = "azure_blue_prebuilt",
|
|
src = "theming/prebuilt/azure-blue.scss",
|
|
deps = [
|
|
":theming_scss_lib",
|
|
"//src/material-experimental:sass_lib",
|
|
],
|
|
)
|
|
|
|
sass_binary(
|
|
name = "rose_red_prebuilt",
|
|
src = "theming/prebuilt/rose-red.scss",
|
|
deps = [
|
|
":theming_scss_lib",
|
|
"//src/material-experimental:sass_lib",
|
|
],
|
|
)
|
|
|
|
sass_binary(
|
|
name = "cyan_orange_prebuilt",
|
|
src = "theming/prebuilt/cyan-orange.scss",
|
|
deps = [
|
|
":theming_scss_lib",
|
|
"//src/material-experimental:sass_lib",
|
|
],
|
|
)
|
|
|
|
sass_binary(
|
|
name = "magenta_violet_prebuilt",
|
|
src = "theming/prebuilt/magenta-violet.scss",
|
|
deps = [
|
|
":theming_scss_lib",
|
|
"//src/material-experimental:sass_lib",
|
|
],
|
|
)
|
|
|
|
# Legacy M2 themes
|
|
sass_binary(
|
|
name = "indigo_pink_prebuilt",
|
|
src = "theming/prebuilt/indigo-pink.scss",
|
|
deps = [":theming_scss_lib"],
|
|
)
|
|
|
|
sass_binary(
|
|
name = "deeppurple-amber_prebuilt",
|
|
src = "theming/prebuilt/deeppurple-amber.scss",
|
|
deps = [":theming_scss_lib"],
|
|
)
|
|
|
|
sass_binary(
|
|
name = "pink-bluegrey_prebuilt",
|
|
src = "theming/prebuilt/pink-bluegrey.scss",
|
|
deps = [":theming_scss_lib"],
|
|
)
|
|
|
|
sass_binary(
|
|
name = "purple-green_prebuilt",
|
|
src = "theming/prebuilt/purple-green.scss",
|
|
deps = [":theming_scss_lib"],
|
|
)
|
|
|
|
#################
|
|
# Test targets
|
|
#################
|
|
|
|
ng_test_library(
|
|
name = "unit_test_sources",
|
|
srcs = glob(
|
|
["**/*.spec.ts"],
|
|
exclude = ["**/*.e2e.spec.ts"],
|
|
),
|
|
deps = [
|
|
":core",
|
|
"//src/cdk/keycodes",
|
|
"//src/cdk/platform",
|
|
"//src/cdk/testing/private",
|
|
"//src/material/testing",
|
|
"@npm//@angular/platform-browser",
|
|
],
|
|
)
|
|
|
|
ng_web_test_suite(
|
|
name = "unit_tests",
|
|
deps = [":unit_test_sources"],
|
|
)
|
|
|
|
markdown_to_html(
|
|
name = "overview",
|
|
srcs = [
|
|
"core.md",
|
|
"ripple/ripple.md",
|
|
],
|
|
)
|
|
|
|
extract_tokens(
|
|
name = "tokens",
|
|
srcs = [":core_scss_lib"],
|
|
)
|
|
|
|
filegroup(
|
|
name = "source-files",
|
|
srcs = glob(["**/*.ts"]),
|
|
)
|