@depup/angular__material 21.2.2-depup.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +31 -0
- package/_index.scss +145 -0
- package/autocomplete/_autocomplete-theme.scss +76 -0
- package/autocomplete/_m2-autocomplete.scss +19 -0
- package/autocomplete/_m3-autocomplete.scss +26 -0
- package/badge/_badge-theme.scss +106 -0
- package/badge/_m2-badge.scss +73 -0
- package/badge/_m3-badge.scss +52 -0
- package/bottom-sheet/_bottom-sheet-theme.scss +76 -0
- package/bottom-sheet/_m2-bottom-sheet.scss +24 -0
- package/bottom-sheet/_m3-bottom-sheet.scss +25 -0
- package/button/_button-theme.scss +113 -0
- package/button/_fab-theme.scss +111 -0
- package/button/_icon-button-theme.scss +136 -0
- package/button/_m2-button.scss +194 -0
- package/button/_m2-fab.scss +101 -0
- package/button/_m2-icon-button.scss +59 -0
- package/button/_m3-button.scss +170 -0
- package/button/_m3-fab.scss +92 -0
- package/button/_m3-icon-button.scss +54 -0
- package/button-toggle/_button-toggle-theme.scss +93 -0
- package/button-toggle/_m2-button-toggle.scss +68 -0
- package/button-toggle/_m3-button-toggle.scss +72 -0
- package/card/_card-theme.scss +76 -0
- package/card/_m2-card.scss +39 -0
- package/card/_m3-card.scss +44 -0
- package/changes.json +10 -0
- package/checkbox/_checkbox-theme.scss +105 -0
- package/checkbox/_m2-checkbox.scss +78 -0
- package/checkbox/_m3-checkbox.scss +68 -0
- package/chips/_chips-theme.scss +115 -0
- package/chips/_m2-chip.scss +85 -0
- package/chips/_m3-chip.scss +81 -0
- package/core/_core-theme.scss +125 -0
- package/core/_core.scss +50 -0
- package/core/_m2-app.scss +24 -0
- package/core/_m3-app.scss +44 -0
- package/core/color/_all-color.scss +17 -0
- package/core/density/private/_all-density.scss +78 -0
- package/core/focus-indicators/_private.scss +126 -0
- package/core/m2/_index.scss +52 -0
- package/core/m2/_palette.scss +748 -0
- package/core/m2/_theming.scss +340 -0
- package/core/m2/_typography-utils.scss +81 -0
- package/core/m2/_typography.scss +388 -0
- package/core/option/_m2-optgroup.scss +21 -0
- package/core/option/_m2-option.scss +38 -0
- package/core/option/_m3-optgroup.scss +25 -0
- package/core/option/_m3-option.scss +37 -0
- package/core/option/_optgroup-theme.scss +76 -0
- package/core/option/_option-theme.scss +103 -0
- package/core/ripple/_m2-ripple.scss +17 -0
- package/core/ripple/_m3-ripple.scss +17 -0
- package/core/ripple/_ripple-theme.scss +75 -0
- package/core/ripple/_ripple.scss +56 -0
- package/core/selection/pseudo-checkbox/_m2-pseudo-checkbox.scss +32 -0
- package/core/selection/pseudo-checkbox/_m3-pseudo-checkbox.scss +34 -0
- package/core/selection/pseudo-checkbox/_pseudo-checkbox-common.scss +86 -0
- package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +110 -0
- package/core/style/_checkbox-common.scss +11 -0
- package/core/style/_elevation.scss +208 -0
- package/core/style/_layout-common.scss +8 -0
- package/core/style/_private.scss +27 -0
- package/core/style/_sass-utils.scss +57 -0
- package/core/style/_validation.scss +52 -0
- package/core/style/_variables.scss +44 -0
- package/core/style/_vendor-prefixes.scss +56 -0
- package/core/theming/_all-theme.scss +168 -0
- package/core/theming/_color-api-backwards-compatibility.scss +159 -0
- package/core/theming/_config-validation.scss +174 -0
- package/core/theming/_definition.scss +141 -0
- package/core/theming/_inspection.scss +289 -0
- package/core/theming/_m2-inspection.scss +243 -0
- package/core/theming/_palettes.scss +1036 -0
- package/core/theming/_theming.scss +193 -0
- package/core/theming/_validation.scss +5 -0
- package/core/tokens/_classes.scss +398 -0
- package/core/tokens/_m2-utils.scss +25 -0
- package/core/tokens/_m3-tokens.scss +126 -0
- package/core/tokens/_m3-utils.scss +36 -0
- package/core/tokens/_system.scss +398 -0
- package/core/tokens/_token-utils.scss +119 -0
- package/core/tokens/m2/_index.scss +6 -0
- package/core/tokens/m2/_md-sys-color-internal.scss +11 -0
- package/core/tokens/m2/_md-sys-color.scss +123 -0
- package/core/tokens/m2/_md-sys-elevation.scss +10 -0
- package/core/tokens/m2/_md-sys-motion.scss +30 -0
- package/core/tokens/m2/_md-sys-shape.scss +16 -0
- package/core/tokens/m2/_md-sys-state.scss +8 -0
- package/core/tokens/m2/_md-sys-typescale.scss +68 -0
- package/core/tokens/m3/_index.scss +7 -0
- package/core/tokens/m3/_md-sys-color-internal.scss +11 -0
- package/core/tokens/m3/_md-sys-color.scss +118 -0
- package/core/tokens/m3/_md-sys-elevation.scss +15 -0
- package/core/tokens/m3/_md-sys-motion.scss +35 -0
- package/core/tokens/m3/_md-sys-shape.scss +21 -0
- package/core/tokens/m3/_md-sys-state.scss +13 -0
- package/core/tokens/m3/_md-sys-typescale-internal.scss +5 -0
- package/core/tokens/m3/_md-sys-typescale.scss +114 -0
- package/core/tokens/m3/_theme.scss +35 -0
- package/core/typography/_all-typography.scss +104 -0
- package/core/typography/_typography-utils.scss +31 -0
- package/core/typography/_typography.scss +269 -0
- package/core/typography/_versioning.scss +90 -0
- package/datepicker/_datepicker-theme.scss +132 -0
- package/datepicker/_m2-datepicker.scss +81 -0
- package/datepicker/_m3-datepicker.scss +74 -0
- package/dialog/_dialog-legacy-padding.scss +31 -0
- package/dialog/_dialog-theme.scss +76 -0
- package/dialog/_m2-dialog.scss +43 -0
- package/dialog/_m3-dialog.scss +47 -0
- package/divider/_divider-theme.scss +75 -0
- package/divider/_m2-divider.scss +17 -0
- package/divider/_m3-divider.scss +19 -0
- package/expansion/_expansion-theme.scss +76 -0
- package/expansion/_m2-expansion.scss +64 -0
- package/expansion/_m3-expansion.scss +61 -0
- package/fesm2022/_animation-chunk.mjs +22 -0
- package/fesm2022/_animation-chunk.mjs.map +1 -0
- package/fesm2022/_date-formats-chunk.mjs +86 -0
- package/fesm2022/_date-formats-chunk.mjs.map +1 -0
- package/fesm2022/_date-range-input-harness-chunk.mjs +322 -0
- package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -0
- package/fesm2022/_error-options-chunk.mjs +66 -0
- package/fesm2022/_error-options-chunk.mjs.map +1 -0
- package/fesm2022/_error-state-chunk.mjs +30 -0
- package/fesm2022/_error-state-chunk.mjs.map +1 -0
- package/fesm2022/_form-field-chunk.mjs +1351 -0
- package/fesm2022/_form-field-chunk.mjs.map +1 -0
- package/fesm2022/_icon-button-chunk.mjs +268 -0
- package/fesm2022/_icon-button-chunk.mjs.map +1 -0
- package/fesm2022/_icon-registry-chunk.mjs +368 -0
- package/fesm2022/_icon-registry-chunk.mjs.map +1 -0
- package/fesm2022/_input-harness-chunk.mjs +67 -0
- package/fesm2022/_input-harness-chunk.mjs.map +1 -0
- package/fesm2022/_input-value-accessor-chunk.mjs +6 -0
- package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -0
- package/fesm2022/_internal-form-field-chunk.mjs +67 -0
- package/fesm2022/_internal-form-field-chunk.mjs.map +1 -0
- package/fesm2022/_line-chunk.mjs +99 -0
- package/fesm2022/_line-chunk.mjs.map +1 -0
- package/fesm2022/_option-chunk.mjs +385 -0
- package/fesm2022/_option-chunk.mjs.map +1 -0
- package/fesm2022/_option-harness-chunk.mjs +30 -0
- package/fesm2022/_option-harness-chunk.mjs.map +1 -0
- package/fesm2022/_option-module-chunk.mjs +48 -0
- package/fesm2022/_option-module-chunk.mjs.map +1 -0
- package/fesm2022/_pseudo-checkbox-chunk.mjs +88 -0
- package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -0
- package/fesm2022/_pseudo-checkbox-module-chunk.mjs +46 -0
- package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -0
- package/fesm2022/_public-api-chunk.mjs +84 -0
- package/fesm2022/_public-api-chunk.mjs.map +1 -0
- package/fesm2022/_ripple-chunk.mjs +544 -0
- package/fesm2022/_ripple-chunk.mjs.map +1 -0
- package/fesm2022/_ripple-loader-chunk.mjs +144 -0
- package/fesm2022/_ripple-loader-chunk.mjs.map +1 -0
- package/fesm2022/_ripple-module-chunk.mjs +46 -0
- package/fesm2022/_ripple-module-chunk.mjs.map +1 -0
- package/fesm2022/_structural-styles-chunk.mjs +45 -0
- package/fesm2022/_structural-styles-chunk.mjs.map +1 -0
- package/fesm2022/_tooltip-chunk.mjs +848 -0
- package/fesm2022/_tooltip-chunk.mjs.map +1 -0
- package/fesm2022/autocomplete-testing.mjs +75 -0
- package/fesm2022/autocomplete-testing.mjs.map +1 -0
- package/fesm2022/autocomplete.mjs +1068 -0
- package/fesm2022/autocomplete.mjs.map +1 -0
- package/fesm2022/badge-testing.mjs +48 -0
- package/fesm2022/badge-testing.mjs.map +1 -0
- package/fesm2022/badge.mjs +357 -0
- package/fesm2022/badge.mjs.map +1 -0
- package/fesm2022/bottom-sheet-testing.mjs +17 -0
- package/fesm2022/bottom-sheet-testing.mjs.map +1 -0
- package/fesm2022/bottom-sheet.mjs +390 -0
- package/fesm2022/bottom-sheet.mjs.map +1 -0
- package/fesm2022/button-testing.mjs +81 -0
- package/fesm2022/button-testing.mjs.map +1 -0
- package/fesm2022/button-toggle-testing.mjs +87 -0
- package/fesm2022/button-toggle-testing.mjs.map +1 -0
- package/fesm2022/button-toggle.mjs +789 -0
- package/fesm2022/button-toggle.mjs.map +1 -0
- package/fesm2022/button.mjs +308 -0
- package/fesm2022/button.mjs.map +1 -0
- package/fesm2022/card-testing.mjs +29 -0
- package/fesm2022/card-testing.mjs.map +1 -0
- package/fesm2022/card.mjs +615 -0
- package/fesm2022/card.mjs.map +1 -0
- package/fesm2022/checkbox-testing.mjs +79 -0
- package/fesm2022/checkbox-testing.mjs.map +1 -0
- package/fesm2022/checkbox.mjs +551 -0
- package/fesm2022/checkbox.mjs.map +1 -0
- package/fesm2022/chips-testing.mjs +239 -0
- package/fesm2022/chips-testing.mjs.map +1 -0
- package/fesm2022/chips.mjs +2663 -0
- package/fesm2022/chips.mjs.map +1 -0
- package/fesm2022/core-testing.mjs +22 -0
- package/fesm2022/core-testing.mjs.map +1 -0
- package/fesm2022/core.mjs +408 -0
- package/fesm2022/core.mjs.map +1 -0
- package/fesm2022/datepicker-testing.mjs +26 -0
- package/fesm2022/datepicker-testing.mjs.map +1 -0
- package/fesm2022/datepicker.mjs +5015 -0
- package/fesm2022/datepicker.mjs.map +1 -0
- package/fesm2022/dialog-testing.mjs +123 -0
- package/fesm2022/dialog-testing.mjs.map +1 -0
- package/fesm2022/dialog.mjs +873 -0
- package/fesm2022/dialog.mjs.map +1 -0
- package/fesm2022/divider-testing.mjs +17 -0
- package/fesm2022/divider-testing.mjs.map +1 -0
- package/fesm2022/divider.mjs +132 -0
- package/fesm2022/divider.mjs.map +1 -0
- package/fesm2022/expansion-testing.mjs +87 -0
- package/fesm2022/expansion-testing.mjs.map +1 -0
- package/fesm2022/expansion.mjs +749 -0
- package/fesm2022/expansion.mjs.map +1 -0
- package/fesm2022/form-field-testing-control.mjs +24 -0
- package/fesm2022/form-field-testing-control.mjs.map +1 -0
- package/fesm2022/form-field-testing.mjs +135 -0
- package/fesm2022/form-field-testing.mjs.map +1 -0
- package/fesm2022/form-field.mjs +57 -0
- package/fesm2022/form-field.mjs.map +1 -0
- package/fesm2022/grid-list-testing.mjs +80 -0
- package/fesm2022/grid-list-testing.mjs.map +1 -0
- package/fesm2022/grid-list.mjs +604 -0
- package/fesm2022/grid-list.mjs.map +1 -0
- package/fesm2022/icon-testing.mjs +172 -0
- package/fesm2022/icon-testing.mjs.map +1 -0
- package/fesm2022/icon.mjs +366 -0
- package/fesm2022/icon.mjs.map +1 -0
- package/fesm2022/input-testing.mjs +73 -0
- package/fesm2022/input-testing.mjs.map +1 -0
- package/fesm2022/input.mjs +495 -0
- package/fesm2022/input.mjs.map +1 -0
- package/fesm2022/list-testing.mjs +295 -0
- package/fesm2022/list-testing.mjs.map +1 -0
- package/fesm2022/list.mjs +1604 -0
- package/fesm2022/list.mjs.map +1 -0
- package/fesm2022/material.mjs +4 -0
- package/fesm2022/material.mjs.map +1 -0
- package/fesm2022/menu-testing.mjs +174 -0
- package/fesm2022/menu-testing.mjs.map +1 -0
- package/fesm2022/menu.mjs +1421 -0
- package/fesm2022/menu.mjs.map +1 -0
- package/fesm2022/paginator-testing.mjs +69 -0
- package/fesm2022/paginator-testing.mjs.map +1 -0
- package/fesm2022/paginator.mjs +445 -0
- package/fesm2022/paginator.mjs.map +1 -0
- package/fesm2022/progress-bar-testing.mjs +20 -0
- package/fesm2022/progress-bar-testing.mjs.map +1 -0
- package/fesm2022/progress-bar.mjs +247 -0
- package/fesm2022/progress-bar.mjs.map +1 -0
- package/fesm2022/progress-spinner-testing.mjs +21 -0
- package/fesm2022/progress-spinner-testing.mjs.map +1 -0
- package/fesm2022/progress-spinner.mjs +258 -0
- package/fesm2022/progress-spinner.mjs.map +1 -0
- package/fesm2022/radio-testing.mjs +143 -0
- package/fesm2022/radio-testing.mjs.map +1 -0
- package/fesm2022/radio.mjs +751 -0
- package/fesm2022/radio.mjs.map +1 -0
- package/fesm2022/select-testing.mjs +92 -0
- package/fesm2022/select-testing.mjs.map +1 -0
- package/fesm2022/select.mjs +1181 -0
- package/fesm2022/select.mjs.map +1 -0
- package/fesm2022/sidenav-testing.mjs +80 -0
- package/fesm2022/sidenav-testing.mjs.map +1 -0
- package/fesm2022/sidenav.mjs +1151 -0
- package/fesm2022/sidenav.mjs.map +1 -0
- package/fesm2022/slide-toggle-testing.mjs +68 -0
- package/fesm2022/slide-toggle-testing.mjs.map +1 -0
- package/fesm2022/slide-toggle.mjs +403 -0
- package/fesm2022/slide-toggle.mjs.map +1 -0
- package/fesm2022/slider-testing.mjs +105 -0
- package/fesm2022/slider-testing.mjs.map +1 -0
- package/fesm2022/slider.mjs +1720 -0
- package/fesm2022/slider.mjs.map +1 -0
- package/fesm2022/snack-bar-testing.mjs +47 -0
- package/fesm2022/snack-bar-testing.mjs.map +1 -0
- package/fesm2022/snack-bar.mjs +820 -0
- package/fesm2022/snack-bar.mjs.map +1 -0
- package/fesm2022/sort-testing.mjs +55 -0
- package/fesm2022/sort-testing.mjs.map +1 -0
- package/fesm2022/sort.mjs +470 -0
- package/fesm2022/sort.mjs.map +1 -0
- package/fesm2022/stepper-testing.mjs +99 -0
- package/fesm2022/stepper-testing.mjs.map +1 -0
- package/fesm2022/stepper.mjs +900 -0
- package/fesm2022/stepper.mjs.map +1 -0
- package/fesm2022/table-testing.mjs +152 -0
- package/fesm2022/table-testing.mjs.map +1 -0
- package/fesm2022/table.mjs +1151 -0
- package/fesm2022/table.mjs.map +1 -0
- package/fesm2022/tabs-testing.mjs +144 -0
- package/fesm2022/tabs-testing.mjs.map +1 -0
- package/fesm2022/tabs.mjs +2435 -0
- package/fesm2022/tabs.mjs.map +1 -0
- package/fesm2022/timepicker-testing.mjs +128 -0
- package/fesm2022/timepicker-testing.mjs.map +1 -0
- package/fesm2022/timepicker.mjs +1284 -0
- package/fesm2022/timepicker.mjs.map +1 -0
- package/fesm2022/toolbar-testing.mjs +26 -0
- package/fesm2022/toolbar-testing.mjs.map +1 -0
- package/fesm2022/toolbar.mjs +182 -0
- package/fesm2022/toolbar.mjs.map +1 -0
- package/fesm2022/tooltip-testing.mjs +48 -0
- package/fesm2022/tooltip-testing.mjs.map +1 -0
- package/fesm2022/tooltip.mjs +58 -0
- package/fesm2022/tooltip.mjs.map +1 -0
- package/fesm2022/tree-testing.mjs +104 -0
- package/fesm2022/tree-testing.mjs.map +1 -0
- package/fesm2022/tree.mjs +681 -0
- package/fesm2022/tree.mjs.map +1 -0
- package/form-field/_form-field-theme.scss +96 -0
- package/form-field/_m2-form-field.scss +226 -0
- package/form-field/_m3-form-field.scss +137 -0
- package/grid-list/_grid-list-theme.scss +76 -0
- package/grid-list/_m2-grid-list.scss +21 -0
- package/grid-list/_m3-grid-list.scss +20 -0
- package/icon/_icon-theme.scss +109 -0
- package/icon/_m2-icon.scss +15 -0
- package/icon/_m3-icon.scss +21 -0
- package/input/_input-theme.scss +36 -0
- package/list/_list-theme.scss +201 -0
- package/list/_m2-list.scss +92 -0
- package/list/_m3-list.scss +93 -0
- package/menu/_m2-menu.scss +44 -0
- package/menu/_m3-menu.scss +42 -0
- package/menu/_menu-theme.scss +76 -0
- package/package.json +404 -0
- package/paginator/_m2-paginator.scss +69 -0
- package/paginator/_m3-paginator.scss +46 -0
- package/paginator/_paginator-theme.scss +76 -0
- package/prebuilt-themes/azure-blue.css +1 -0
- package/prebuilt-themes/cyan-orange.css +1 -0
- package/prebuilt-themes/deeppurple-amber.css +1 -0
- package/prebuilt-themes/indigo-pink.css +1 -0
- package/prebuilt-themes/magenta-violet.css +1 -0
- package/prebuilt-themes/pink-bluegrey.css +1 -0
- package/prebuilt-themes/purple-green.css +1 -0
- package/prebuilt-themes/rose-red.css +1 -0
- package/progress-bar/_m2-progress-bar.scss +36 -0
- package/progress-bar/_m3-progress-bar.scss +29 -0
- package/progress-bar/_progress-bar-theme.scss +93 -0
- package/progress-spinner/_m2-progress-spinner.scss +25 -0
- package/progress-spinner/_m3-progress-spinner.scss +27 -0
- package/progress-spinner/_progress-spinner-theme.scss +95 -0
- package/radio/_m2-radio.scss +67 -0
- package/radio/_m3-radio.scss +65 -0
- package/radio/_radio-theme.scss +102 -0
- package/schematics/collection.json +55 -0
- package/schematics/migration.json +15 -0
- package/schematics/ng-add/fonts/material-fonts.d.ts +11 -0
- package/schematics/ng-add/fonts/material-fonts.js +41 -0
- package/schematics/ng-add/fonts/material-fonts.js.map +1 -0
- package/schematics/ng-add/index.d.ts +17 -0
- package/schematics/ng-add/index.js +54 -0
- package/schematics/ng-add/index.js.map +1 -0
- package/schematics/ng-add/package-config.d.ts +12 -0
- package/schematics/ng-add/package-config.js +51 -0
- package/schematics/ng-add/package-config.js.map +1 -0
- package/schematics/ng-add/schema.d.ts +15 -0
- package/schematics/ng-add/schema.js +10 -0
- package/schematics/ng-add/schema.js.map +1 -0
- package/schematics/ng-add/schema.json +43 -0
- package/schematics/ng-add/setup-project.d.ts +15 -0
- package/schematics/ng-add/setup-project.js +36 -0
- package/schematics/ng-add/setup-project.js.map +1 -0
- package/schematics/ng-add/theming/create-theme.d.ts +9 -0
- package/schematics/ng-add/theming/create-theme.js +58 -0
- package/schematics/ng-add/theming/create-theme.js.map +1 -0
- package/schematics/ng-add/theming/theming.d.ts +11 -0
- package/schematics/ng-add/theming/theming.js +133 -0
- package/schematics/ng-add/theming/theming.js.map +1 -0
- package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +27 -0
- package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +99 -0
- package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +38 -0
- package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +118 -0
- package/schematics/ng-generate/address-form/index.d.ts +14 -0
- package/schematics/ng-generate/address-form/index.js +43 -0
- package/schematics/ng-generate/address-form/index.js.map +1 -0
- package/schematics/ng-generate/address-form/schema.d.ts +10 -0
- package/schematics/ng-generate/address-form/schema.js +10 -0
- package/schematics/ng-generate/address-form/schema.js.map +1 -0
- package/schematics/ng-generate/address-form/schema.json +100 -0
- package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +21 -0
- package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +26 -0
- package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +36 -0
- package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +56 -0
- package/schematics/ng-generate/dashboard/index.d.ts +14 -0
- package/schematics/ng-generate/dashboard/index.js +42 -0
- package/schematics/ng-generate/dashboard/index.js.map +1 -0
- package/schematics/ng-generate/dashboard/schema.d.ts +10 -0
- package/schematics/ng-generate/dashboard/schema.js +10 -0
- package/schematics/ng-generate/dashboard/schema.js.map +1 -0
- package/schematics/ng-generate/dashboard/schema.json +100 -0
- package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +17 -0
- package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +28 -0
- package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +36 -0
- package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +42 -0
- package/schematics/ng-generate/navigation/index.d.ts +14 -0
- package/schematics/ng-generate/navigation/index.js +42 -0
- package/schematics/ng-generate/navigation/index.js.map +1 -0
- package/schematics/ng-generate/navigation/schema.d.ts +10 -0
- package/schematics/ng-generate/navigation/schema.js +10 -0
- package/schematics/ng-generate/navigation/schema.js.map +1 -0
- package/schematics/ng-generate/navigation/schema.json +105 -0
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__-datasource.ts.template +111 -0
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +3 -0
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +26 -0
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +32 -0
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +36 -0
- package/schematics/ng-generate/table/index.d.ts +14 -0
- package/schematics/ng-generate/table/index.js +40 -0
- package/schematics/ng-generate/table/index.js.map +1 -0
- package/schematics/ng-generate/table/schema.d.ts +10 -0
- package/schematics/ng-generate/table/schema.js +10 -0
- package/schematics/ng-generate/table/schema.js.map +1 -0
- package/schematics/ng-generate/table/schema.json +100 -0
- package/schematics/ng-generate/theme-color/index_bundled.js +6561 -0
- package/schematics/ng-generate/theme-color/index_bundled.js.map +6 -0
- package/schematics/ng-generate/theme-color/schema.json +55 -0
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +4 -0
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +22 -0
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +32 -0
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +93 -0
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/example-data.ts.template +47 -0
- package/schematics/ng-generate/tree/index.d.ts +14 -0
- package/schematics/ng-generate/tree/index.js +40 -0
- package/schematics/ng-generate/tree/index.js.map +1 -0
- package/schematics/ng-generate/tree/schema.d.ts +10 -0
- package/schematics/ng-generate/tree/schema.js +10 -0
- package/schematics/ng-generate/tree/schema.js.map +1 -0
- package/schematics/ng-generate/tree/schema.json +100 -0
- package/schematics/ng-update/index_bundled.js +204 -0
- package/schematics/ng-update/index_bundled.js.map +6 -0
- package/schematics/package.json +3 -0
- package/select/_m2-select.scss +49 -0
- package/select/_m3-select.scss +54 -0
- package/select/_select-theme.scss +99 -0
- package/sidenav/_m2-sidenav.scss +48 -0
- package/sidenav/_m3-sidenav.scss +26 -0
- package/sidenav/_sidenav-theme.scss +75 -0
- package/slide-toggle/_m2-slide-toggle.scss +134 -0
- package/slide-toggle/_m3-slide-toggle.scss +133 -0
- package/slide-toggle/_slide-toggle-theme.scss +119 -0
- package/slider/_m2-slider.scss +73 -0
- package/slider/_m3-slider.scss +69 -0
- package/slider/_slider-theme.scss +103 -0
- package/snack-bar/_m2-snack-bar.scss +24 -0
- package/snack-bar/_m3-snack-bar.scss +26 -0
- package/snack-bar/_snack-bar-theme.scss +77 -0
- package/sort/_m2-sort.scss +16 -0
- package/sort/_m3-sort.scss +20 -0
- package/sort/_sort-theme.scss +76 -0
- package/stepper/_m2-stepper.scss +65 -0
- package/stepper/_m3-stepper.scss +66 -0
- package/stepper/_stepper-theme.scss +102 -0
- package/table/_m2-table.scss +63 -0
- package/table/_m3-table.scss +52 -0
- package/table/_table-theme.scss +76 -0
- package/tabs/_m2-tabs.scss +68 -0
- package/tabs/_m3-tabs.scss +58 -0
- package/tabs/_tabs-theme.scss +131 -0
- package/timepicker/_m2-timepicker.scss +19 -0
- package/timepicker/_m3-timepicker.scss +21 -0
- package/timepicker/_timepicker-theme.scss +81 -0
- package/toolbar/_m2-toolbar.scss +43 -0
- package/toolbar/_m3-toolbar.scss +41 -0
- package/toolbar/_toolbar-theme.scss +114 -0
- package/tooltip/_m2-tooltip.scss +24 -0
- package/tooltip/_m3-tooltip.scss +25 -0
- package/tooltip/_tooltip-theme.scss +76 -0
- package/tree/_m2-tree.scss +30 -0
- package/tree/_m3-tree.scss +37 -0
- package/tree/_tree-theme.scss +76 -0
- package/types/_badge-chunk.d.ts +100 -0
- package/types/_button-toggle-chunk.d.ts +252 -0
- package/types/_date-adapter-chunk.d.ts +261 -0
- package/types/_date-range-input-harness-chunk.d.ts +284 -0
- package/types/_dialog-chunk.d.ts +336 -0
- package/types/_error-options-chunk.d.ts +17 -0
- package/types/_form-field-chunk.d.ts +375 -0
- package/types/_form-field-control-chunk.d.ts +64 -0
- package/types/_form-field-control-harness-chunk.d.ts +20 -0
- package/types/_form-field-module-chunk.d.ts +18 -0
- package/types/_icon-module-chunk.d.ts +162 -0
- package/types/_icon-registry-chunk.d.ts +271 -0
- package/types/_input-harness-chunk.d.ts +61 -0
- package/types/_line-chunk.d.ts +25 -0
- package/types/_list-option-types-chunk.d.ts +15 -0
- package/types/_option-chunk.d.ts +146 -0
- package/types/_option-harness-chunk.d.ts +35 -0
- package/types/_option-module-chunk.d.ts +13 -0
- package/types/_option-parent-chunk.d.ts +20 -0
- package/types/_paginator-chunk.d.ts +184 -0
- package/types/_palette-chunk.d.ts +4 -0
- package/types/_progress-spinner-chunk.d.ts +91 -0
- package/types/_pseudo-checkbox-module-chunk.d.ts +45 -0
- package/types/_ripple-chunk.d.ts +256 -0
- package/types/_ripple-loader-chunk.d.ts +48 -0
- package/types/_ripple-module-chunk.d.ts +11 -0
- package/types/_sort-chunk.d.ts +88 -0
- package/types/_sort-direction-chunk.d.ts +3 -0
- package/types/_tooltip-chunk.d.ts +315 -0
- package/types/autocomplete-testing.d.ts +53 -0
- package/types/autocomplete.d.ts +420 -0
- package/types/badge-testing.d.ts +36 -0
- package/types/badge.d.ts +14 -0
- package/types/bottom-sheet-testing.d.ts +26 -0
- package/types/bottom-sheet.d.ts +192 -0
- package/types/button-testing.d.ts +70 -0
- package/types/button-toggle-testing.d.ts +97 -0
- package/types/button-toggle.d.ts +16 -0
- package/types/button.d.ts +210 -0
- package/types/card-testing.d.ts +41 -0
- package/types/card.d.ts +156 -0
- package/types/checkbox-testing.d.ts +86 -0
- package/types/checkbox.d.ts +216 -0
- package/types/chips-testing.d.ts +270 -0
- package/types/chips.d.ts +993 -0
- package/types/core-testing.d.ts +32 -0
- package/types/core.d.ts +185 -0
- package/types/datepicker-testing.d.ts +25 -0
- package/types/datepicker.d.ts +1746 -0
- package/types/dialog-testing.d.ts +83 -0
- package/types/dialog.d.ts +84 -0
- package/types/divider-testing.d.ts +15 -0
- package/types/divider.d.ts +24 -0
- package/types/expansion-testing.d.ts +101 -0
- package/types/expansion.d.ts +258 -0
- package/types/form-field-testing-control.d.ts +13 -0
- package/types/form-field-testing.d.ts +127 -0
- package/types/form-field.d.ts +19 -0
- package/types/grid-list-testing.d.ts +82 -0
- package/types/grid-list.d.ts +207 -0
- package/types/icon-testing.d.ts +81 -0
- package/types/icon.d.ts +8 -0
- package/types/input-testing.d.ts +73 -0
- package/types/input.d.ts +208 -0
- package/types/list-testing.d.ts +354 -0
- package/types/list.d.ts +516 -0
- package/types/material.d.ts +3 -0
- package/types/menu-testing.d.ts +141 -0
- package/types/menu.d.ts +547 -0
- package/types/paginator-testing.d.ts +51 -0
- package/types/paginator.d.ts +36 -0
- package/types/progress-bar-testing.d.ts +24 -0
- package/types/progress-bar.d.ts +106 -0
- package/types/progress-spinner-testing.d.ts +28 -0
- package/types/progress-spinner.d.ts +13 -0
- package/types/radio-testing.d.ts +109 -0
- package/types/radio.d.ts +295 -0
- package/types/select-testing.d.ts +63 -0
- package/types/select.d.ts +448 -0
- package/types/sidenav-testing.d.ts +122 -0
- package/types/sidenav.d.ts +335 -0
- package/types/slide-toggle-testing.d.ts +66 -0
- package/types/slide-toggle.d.ts +151 -0
- package/types/slider-testing.d.ts +90 -0
- package/types/slider.d.ts +662 -0
- package/types/snack-bar-testing.d.ts +64 -0
- package/types/snack-bar.d.ts +328 -0
- package/types/sort-testing.d.ts +48 -0
- package/types/sort.d.ts +126 -0
- package/types/stepper-testing.d.ts +136 -0
- package/types/stepper.d.ts +225 -0
- package/types/table-testing.d.ts +174 -0
- package/types/table.d.ts +302 -0
- package/types/tabs-testing.d.ts +145 -0
- package/types/tabs.d.ts +890 -0
- package/types/timepicker-testing.d.ts +108 -0
- package/types/timepicker.d.ts +318 -0
- package/types/toolbar-testing.d.ts +33 -0
- package/types/toolbar.d.ts +44 -0
- package/types/tooltip-testing.d.ts +35 -0
- package/types/tooltip.d.ts +17 -0
- package/types/tree-testing.d.ts +119 -0
- package/types/tree.d.ts +233 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
@use 'sass:list';
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
@use 'sass:meta';
|
|
4
|
+
@use 'sass:string';
|
|
5
|
+
@use '../style/validation';
|
|
6
|
+
@use './palettes';
|
|
7
|
+
|
|
8
|
+
/// Creates an error message by finding `$config` in the existing message and appending a suffix to
|
|
9
|
+
/// it.
|
|
10
|
+
/// @param {List|String} $err The error message.
|
|
11
|
+
/// @param {String} $suffix The suffix to add.
|
|
12
|
+
/// @return {List|String} The updated error message.
|
|
13
|
+
@function _create-dollar-config-error-message($err, $suffix) {
|
|
14
|
+
@if meta.type-of($err) == 'list' {
|
|
15
|
+
@for $i from 1 through list.length($err) {
|
|
16
|
+
$err: list.set-nth($err, $i,
|
|
17
|
+
_create-dollar-config-error-message(list.nth($err, $i), $suffix));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
@else if meta.type-of($err) == 'string' {
|
|
21
|
+
$start: string.index($err, '$config');
|
|
22
|
+
@if $start {
|
|
23
|
+
$err: string.insert($err, $suffix, $start + 7);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
@return $err;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/// Validates that the given object is an M3 palette.
|
|
30
|
+
/// @param {*} $palette The object to test
|
|
31
|
+
/// @return {Boolean|null} null if it is a valid M3 palette, else true.
|
|
32
|
+
@function validate-palette($palette) {
|
|
33
|
+
@if not meta.type-of($palette) == 'map' {
|
|
34
|
+
@return true;
|
|
35
|
+
}
|
|
36
|
+
$keys: map.keys($palette);
|
|
37
|
+
$expected-keys: map.keys(palettes.$red-palette);
|
|
38
|
+
@if validation.validate-allowed-values($keys, $expected-keys...) or
|
|
39
|
+
validation.validate-required-values($keys, $expected-keys...) {
|
|
40
|
+
@return true;
|
|
41
|
+
}
|
|
42
|
+
$nv-keys: map.keys(map.get($palette, neutral-variant));
|
|
43
|
+
$expected-nv-keys: map.keys(map.get(palettes.$red-palette, neutral-variant));
|
|
44
|
+
@if validation.validate-allowed-values($nv-keys, $expected-nv-keys...) or
|
|
45
|
+
validation.validate-required-values($nv-keys, $expected-nv-keys...) {
|
|
46
|
+
@return true;
|
|
47
|
+
}
|
|
48
|
+
@return null;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/// Validates a theme config.
|
|
52
|
+
/// @param {Map} $config The config to test.
|
|
53
|
+
/// @return {List} null if no error, else the error message
|
|
54
|
+
@function validate-theme-config($config) {
|
|
55
|
+
$err: validation.validate-type($config, 'map', 'null');
|
|
56
|
+
@if $err {
|
|
57
|
+
@return (#{'$config should be a configuration object. Got:'} $config);
|
|
58
|
+
}
|
|
59
|
+
$allowed: (color, typography, density);
|
|
60
|
+
$err: validation.validate-allowed-values(map.keys($config or ()), $allowed...);
|
|
61
|
+
@if $err {
|
|
62
|
+
@return (
|
|
63
|
+
#{'$config has unexpected properties. Valid properties are'}
|
|
64
|
+
#{'#{$allowed}.'}
|
|
65
|
+
#{'Found:'}
|
|
66
|
+
$err
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
$err: validate-color-config(map.get($config, color));
|
|
70
|
+
@if $err {
|
|
71
|
+
@return _create-dollar-config-error-message($err, '.color');
|
|
72
|
+
}
|
|
73
|
+
$err: validate-typography-config(map.get($config, typography));
|
|
74
|
+
@if $err {
|
|
75
|
+
@return _create-dollar-config-error-message($err, '.typography');
|
|
76
|
+
}
|
|
77
|
+
$err: validate-density-config(map.get($config, density));
|
|
78
|
+
@if $err {
|
|
79
|
+
@return _create-dollar-config-error-message($err, '.density');
|
|
80
|
+
}
|
|
81
|
+
@return null;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/// Validates a theme color config.
|
|
85
|
+
/// @param {Map} $config The config to test.
|
|
86
|
+
/// @return {List} null if no error, else the error message
|
|
87
|
+
@function validate-color-config($config) {
|
|
88
|
+
$err: validation.validate-type($config, 'map', 'null');
|
|
89
|
+
@if $err {
|
|
90
|
+
@return (#{'$config should be a color configuration object. Got:'} $config);
|
|
91
|
+
}
|
|
92
|
+
$allowed: (theme-type, primary, tertiary, use-system-variables, system-variables-prefix);
|
|
93
|
+
$err: validation.validate-allowed-values(map.keys($config or ()), $allowed...);
|
|
94
|
+
@if $err {
|
|
95
|
+
@return (
|
|
96
|
+
#{'$config has unexpected properties. Valid properties are'}
|
|
97
|
+
#{'#{$allowed}.'}
|
|
98
|
+
#{'Found:'}
|
|
99
|
+
$err
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
@if $config and map.has-key($config, theme-type) and
|
|
103
|
+
not list.index((light, dark, color-scheme), map.get($config, theme-type)) {
|
|
104
|
+
@return (
|
|
105
|
+
#{'Expected $config.theme-type to be one of: light, dark, color-scheme. Got:'}
|
|
106
|
+
map.get($config, theme-type)
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
@each $palette in (primary, secondary, tertiary) {
|
|
110
|
+
@if $config and map.has-key($config, $palette) {
|
|
111
|
+
$err: validate-palette(map.get($config, $palette));
|
|
112
|
+
@if $err {
|
|
113
|
+
@return (
|
|
114
|
+
#{'Expected $config.#{$palette} to be a valid M3 palette. Got:'}
|
|
115
|
+
map.get($config, $palette)
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
@return null;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/// Validates a theme typography config.
|
|
124
|
+
/// @param {Map} $config The config to test.
|
|
125
|
+
/// @return {List} null if no error, else the error message
|
|
126
|
+
@function validate-typography-config($config) {
|
|
127
|
+
$err: validation.validate-type($config, 'map', 'null');
|
|
128
|
+
@if $err {
|
|
129
|
+
@return (#{'$config should be a typography configuration object. Got:'} $config);
|
|
130
|
+
}
|
|
131
|
+
$allowed: (
|
|
132
|
+
brand-family,
|
|
133
|
+
plain-family,
|
|
134
|
+
bold-weight,
|
|
135
|
+
medium-weight,
|
|
136
|
+
regular-weight,
|
|
137
|
+
use-system-variables,
|
|
138
|
+
system-variables-prefix
|
|
139
|
+
);
|
|
140
|
+
$err: validation.validate-allowed-values(map.keys($config or ()), $allowed...);
|
|
141
|
+
@if $err {
|
|
142
|
+
@return (
|
|
143
|
+
#{'$config has unexpected properties. Valid properties are'}
|
|
144
|
+
#{'#{$allowed}.'}
|
|
145
|
+
#{'Found:'}
|
|
146
|
+
$err
|
|
147
|
+
);
|
|
148
|
+
}
|
|
149
|
+
@return null;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/// Validates a theme density config.
|
|
153
|
+
/// @param {Map} $config The config to test.
|
|
154
|
+
/// @return {List} null if no error, else the error message
|
|
155
|
+
@function validate-density-config($config) {
|
|
156
|
+
$err: validation.validate-type($config, 'map', 'null');
|
|
157
|
+
@if $err {
|
|
158
|
+
@return (#{'$config should be a density configuration object. Got:'} $config);
|
|
159
|
+
}
|
|
160
|
+
$err: validation.validate-allowed-values(map.keys($config or ()), scale);
|
|
161
|
+
@if $err {
|
|
162
|
+
@return (#{'$config has unexpected properties. Valid properties are: scale. Found:'} $err);
|
|
163
|
+
}
|
|
164
|
+
@if $config and map.has-key($config, scale) {
|
|
165
|
+
$allowed-scales: (0, -1, -2, -3, -4, -5, minimum, maximum);
|
|
166
|
+
@if validation.validate-allowed-values(map.get($config, scale), $allowed-scales...) {
|
|
167
|
+
@return (
|
|
168
|
+
#{'Expected $config.scale to be one of: #{$allowed-scales}. Got:'}
|
|
169
|
+
map.get($config, scale)
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
@return null;
|
|
174
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
// This file contains functions used to define Angular Material theme objects.
|
|
2
|
+
|
|
3
|
+
@use 'sass:map';
|
|
4
|
+
@use '../style/sass-utils';
|
|
5
|
+
@use './palettes';
|
|
6
|
+
@use '../tokens/m3-tokens';
|
|
7
|
+
@use './config-validation';
|
|
8
|
+
@use '../tokens/m3';
|
|
9
|
+
|
|
10
|
+
// Prefix used for component token fallback variables, e.g.
|
|
11
|
+
// `color: var(--mat-text-button-label-text-color, var(--mat-sys-primary));`
|
|
12
|
+
$system-fallback-prefix: mat-sys;
|
|
13
|
+
|
|
14
|
+
// Default system level prefix to use when directly calling the `system-level-*` mixins.
|
|
15
|
+
// Prefix used for component token fallback variables, e.g.
|
|
16
|
+
// `color: var(--mat-text-button-label-text-color, var(--mat-sys-primary));`
|
|
17
|
+
// TODO: Remove this variable after internal clients are migrated from "sys"
|
|
18
|
+
$system-level-prefix: mat-sys;
|
|
19
|
+
|
|
20
|
+
/// Map key used to store internals of theme config.
|
|
21
|
+
$internals: _mat-theming-internals-do-not-access;
|
|
22
|
+
|
|
23
|
+
/// The theme version of generated themes.
|
|
24
|
+
$theme-version: 1;
|
|
25
|
+
|
|
26
|
+
/// Defines an Angular Material theme object with color, typography, and density settings.
|
|
27
|
+
/// @param {Map} $config The theme configuration
|
|
28
|
+
/// @return {Map} A theme object
|
|
29
|
+
@function define-theme($config: ()) {
|
|
30
|
+
$err: config-validation.validate-theme-config($config);
|
|
31
|
+
@if $err {
|
|
32
|
+
@error $err;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
$color-config: map.get($config, color) or ();
|
|
36
|
+
$typography-config: map.get($config, typography) or ();
|
|
37
|
+
$density-config: map.get($config, density) or ();
|
|
38
|
+
|
|
39
|
+
// colors
|
|
40
|
+
$type: map.get($color-config, theme-type) or light;
|
|
41
|
+
$primary: map.get($color-config, primary) or palettes.$violet-palette;
|
|
42
|
+
$tertiary: map.get($color-config, tertiary) or $primary;
|
|
43
|
+
$color-system-variables-prefix:
|
|
44
|
+
map.get($color-config, system-variables-prefix) or $system-level-prefix;
|
|
45
|
+
sass-utils.$use-system-color-variables: map.get($color-config, use-system-variables) or false;
|
|
46
|
+
|
|
47
|
+
$palettes: (
|
|
48
|
+
primary: map.remove($primary, neutral, neutral-variant, secondary),
|
|
49
|
+
secondary: map.get($primary, secondary),
|
|
50
|
+
tertiary: map.remove($tertiary, neutral, neutral-variant, secondary, error),
|
|
51
|
+
neutral: map.get($primary, neutral),
|
|
52
|
+
neutral-variant: map.get($primary, neutral-variant),
|
|
53
|
+
error: map.get($primary, error),
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
// typography
|
|
57
|
+
$default-plain: (Roboto, sans-serif);
|
|
58
|
+
$default-brand: $default-plain;
|
|
59
|
+
$plain: map.get($typography-config, plain-family) or $default-plain;
|
|
60
|
+
$brand: map.get($typography-config, brand-family) or $default-brand;
|
|
61
|
+
$bold: map.get($typography-config, bold-weight) or 700;
|
|
62
|
+
$medium: map.get($typography-config, medium-weight) or 500;
|
|
63
|
+
$regular: map.get($typography-config, regular-weight) or 400;
|
|
64
|
+
$typography-system-variables-prefix: map.get($typography-config, system-variables-prefix) or
|
|
65
|
+
$system-level-prefix;
|
|
66
|
+
sass-utils.$use-system-typography-variables:
|
|
67
|
+
map.get($typography-config, use-system-variables) or false;
|
|
68
|
+
$typography: (
|
|
69
|
+
plain: $plain,
|
|
70
|
+
brand: $brand,
|
|
71
|
+
bold: $bold,
|
|
72
|
+
medium: $medium,
|
|
73
|
+
regular: $regular,
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
// density
|
|
77
|
+
$density-scale: map.get($density-config, scale) or 0;
|
|
78
|
+
|
|
79
|
+
$system-maps: (
|
|
80
|
+
m3-tokens.get-sys-color($type, $palettes, $color-system-variables-prefix),
|
|
81
|
+
m3.md-sys-elevation-values(),
|
|
82
|
+
m3.md-sys-motion-values(),
|
|
83
|
+
m3.md-sys-shape-values(),
|
|
84
|
+
m3.md-sys-state-values(),
|
|
85
|
+
(
|
|
86
|
+
// Form field native select option text color
|
|
87
|
+
neutral10: map.get($palettes, neutral, 10),
|
|
88
|
+
// Sidenav scrim (container background shadow when opened),
|
|
89
|
+
neutral-variant20: map.get($palettes, neutral-variant, 20),
|
|
90
|
+
),
|
|
91
|
+
m3-tokens.get-sys-typeface($typography, $typography-system-variables-prefix),
|
|
92
|
+
);
|
|
93
|
+
$system: (
|
|
94
|
+
density-scale: $density-scale,
|
|
95
|
+
);
|
|
96
|
+
@each $sys-map in $system-maps {
|
|
97
|
+
$system: map.merge($system, $sys-map);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
@return (
|
|
101
|
+
_mat-system: $system,
|
|
102
|
+
$internals: (
|
|
103
|
+
base-tokens: m3-tokens.generate-base-tokens(),
|
|
104
|
+
color-system-variables-prefix: $color-system-variables-prefix,
|
|
105
|
+
color-tokens:
|
|
106
|
+
m3-tokens.generate-color-tokens($type, $palettes, $color-system-variables-prefix),
|
|
107
|
+
density-scale: $density-scale,
|
|
108
|
+
font-definition: $typography,
|
|
109
|
+
palettes: $palettes,
|
|
110
|
+
theme-type: $type,
|
|
111
|
+
theme-version: $theme-version,
|
|
112
|
+
typography-system-variables-prefix: $typography-system-variables-prefix,
|
|
113
|
+
typography-tokens:
|
|
114
|
+
m3-tokens.generate-typography-tokens($typography, $typography-system-variables-prefix),
|
|
115
|
+
)
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/// Defines an Angular Material theme object with color settings.
|
|
120
|
+
/// @param {Map} $config The color configuration
|
|
121
|
+
/// @return {Map} A theme object
|
|
122
|
+
/// @deprecated Use define-theme with a map using the "color" key
|
|
123
|
+
@function define-colors($config: ()) {
|
|
124
|
+
@return define-theme((color: $config));
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/// Defines an Angular Material theme object with typography settings.
|
|
128
|
+
/// @param {Map} $config The typography configuration
|
|
129
|
+
/// @return {Map} A theme object
|
|
130
|
+
/// @deprecated Use define-theme with a map using the "typography" key
|
|
131
|
+
@function define-typography($config: ()) {
|
|
132
|
+
@return define-theme((typography: $config));
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/// Defines an Angular Material theme object with density settings.
|
|
136
|
+
/// @param {Map} $config The density configuration
|
|
137
|
+
/// @return {Map} A theme object
|
|
138
|
+
/// @deprecated Use define-theme with a map using the "density" key
|
|
139
|
+
@function define-density($config: ()) {
|
|
140
|
+
@return define-theme((density: $config));
|
|
141
|
+
}
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
@use 'sass:list';
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
@use '../style/validation';
|
|
4
|
+
@use './m2-inspection';
|
|
5
|
+
|
|
6
|
+
$internals: _mat-theming-internals-do-not-access;
|
|
7
|
+
|
|
8
|
+
$_m3-typescales: (
|
|
9
|
+
display-large,
|
|
10
|
+
display-medium,
|
|
11
|
+
display-small,
|
|
12
|
+
headline-large,
|
|
13
|
+
headline-medium,
|
|
14
|
+
headline-small,
|
|
15
|
+
title-large,
|
|
16
|
+
title-medium,
|
|
17
|
+
title-small,
|
|
18
|
+
label-large,
|
|
19
|
+
label-medium,
|
|
20
|
+
label-small,
|
|
21
|
+
body-large,
|
|
22
|
+
body-medium,
|
|
23
|
+
body-small,
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
$_typography-properties: (font, font-family, line-height, font-size, letter-spacing, font-weight);
|
|
27
|
+
|
|
28
|
+
/// Validates that the given value is a versioned theme object.
|
|
29
|
+
/// @param {Any} $theme The theme object to validate.
|
|
30
|
+
/// @return {Boolean|Null} true if the theme has errors, else null.
|
|
31
|
+
@function _validate-theme-object($theme) {
|
|
32
|
+
$err: validation.validate-type($theme, 'map') or
|
|
33
|
+
map.get($theme, $internals, theme-version) == null;
|
|
34
|
+
@if ($err) {
|
|
35
|
+
@return true;
|
|
36
|
+
}
|
|
37
|
+
@return null;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/// Gets the version number of a theme object. A theme that is not a valid versioned theme object is
|
|
41
|
+
/// considered to be version 0.
|
|
42
|
+
/// @param {Map} $theme The theme to check the version of
|
|
43
|
+
/// @return {Number} The version number of the theme (0 if unknown).
|
|
44
|
+
@function get-theme-version($theme) {
|
|
45
|
+
$err: _validate-theme-object($theme);
|
|
46
|
+
|
|
47
|
+
@if ($err) {
|
|
48
|
+
@return 0;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@return map.get($theme, $internals, theme-version) or 0;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/// Gets the type of theme represented by a theme object (light or dark).
|
|
55
|
+
/// @param {Map} $theme The theme
|
|
56
|
+
/// @return {String} The type of theme (either `light` or `dark`).
|
|
57
|
+
@function get-theme-type($theme) {
|
|
58
|
+
$version: get-theme-version($theme);
|
|
59
|
+
@if $version == 0 {
|
|
60
|
+
@return m2-inspection.get-theme-type($theme);
|
|
61
|
+
}
|
|
62
|
+
@else if $version == 1 {
|
|
63
|
+
@if not theme-has($theme, color) {
|
|
64
|
+
@error 'Color information is not available on this theme.';
|
|
65
|
+
}
|
|
66
|
+
@return map.get($theme, $internals, theme-type) or light;
|
|
67
|
+
}
|
|
68
|
+
@else {
|
|
69
|
+
@error #{'Unrecognized theme version:'} $version;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
/// Gets a color from a theme object. This function take a different amount of arguments depending
|
|
76
|
+
/// on if it's working with an M2 or M3 theme:
|
|
77
|
+
/// - With an M3 theme it accepts either 2 or 3 arguments. If 2 arguments are passed, the second
|
|
78
|
+
/// argument is treated as the name of a color role. If 3 arguments are passed, the second argument
|
|
79
|
+
/// is treated as the name of a color palette (primary, secondary, etc.) and the third is treated
|
|
80
|
+
/// as the palette hue (10, 50, etc.).
|
|
81
|
+
/// - With an M2 theme theme it accepts between 2 and 4 arguments, or the equivalent of calling
|
|
82
|
+
/// the `m2-get-theme-color` function. The first argument is the theme, the second one is the
|
|
83
|
+
/// palette from which to extract the color, the third one is the hue within the palette and the
|
|
84
|
+
/// fourth is the opacity of the returned color.
|
|
85
|
+
/// the second one is the
|
|
86
|
+
/// @param {Map} $theme The theme
|
|
87
|
+
/// @param {String} $color-role-or-palette-name The name of the color role to get, or the name of a
|
|
88
|
+
/// color palette.
|
|
89
|
+
/// @param {Number} $hue The palette hue to get (passing this argument means the second argument is
|
|
90
|
+
/// interpreted as a palette name).
|
|
91
|
+
/// @return {Color} The requested theme color.
|
|
92
|
+
@function get-theme-color($theme, $args...) {
|
|
93
|
+
$version: get-theme-version($theme);
|
|
94
|
+
$args-count: list.length($args) + 1;
|
|
95
|
+
|
|
96
|
+
// M2 theme
|
|
97
|
+
@if $version == 0 {
|
|
98
|
+
@if $args-count < 2 or $args-count > 4 {
|
|
99
|
+
@error 'Expected between 2 and 4 arguments when working with an M2 theme. ' +
|
|
100
|
+
'Got: #{$args-count}';
|
|
101
|
+
}
|
|
102
|
+
@return m2-inspection.get-theme-color($theme, $args...);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// M3 theme
|
|
106
|
+
@if $version == 1 {
|
|
107
|
+
@if $args-count < 2 or $args-count > 3 {
|
|
108
|
+
@error 'Expected either 2 or 3 arguments when working with an M3 theme. Got: #{$args-count}';
|
|
109
|
+
}
|
|
110
|
+
@if ($args-count == 2) {
|
|
111
|
+
@return _get-theme-role-color($theme, $args...);
|
|
112
|
+
}
|
|
113
|
+
@return _get-theme-palette-color($theme, $args...);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
@error 'Unrecognized theme version: #{$version}';
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/// Gets a role color from a theme object.
|
|
120
|
+
/// @param {Map} $theme The theme
|
|
121
|
+
/// @param {String} $color-role-name The name of the color role to get.
|
|
122
|
+
/// @return {Color} The requested role color.
|
|
123
|
+
@function _get-theme-role-color($theme, $color-role-name) {
|
|
124
|
+
$err: _validate-theme-object($theme);
|
|
125
|
+
@if $err {
|
|
126
|
+
// TODO(mmalerba): implement for old style theme objects.
|
|
127
|
+
@error #{'get-theme-color does not support legacy theme objects.'};
|
|
128
|
+
}
|
|
129
|
+
@if not theme-has($theme, color) {
|
|
130
|
+
@error 'Color information is not available on this theme.';
|
|
131
|
+
}
|
|
132
|
+
$color-roles: map.get($theme, $internals, color-tokens, (mat, theme));
|
|
133
|
+
$result: map.get($color-roles, $color-role-name);
|
|
134
|
+
@if not $result {
|
|
135
|
+
@error #{'Valid color roles are: #{map.keys($color-roles)}. Got:'} $color-role-name;
|
|
136
|
+
}
|
|
137
|
+
@return $result;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/// Gets a palette color from a theme object.
|
|
141
|
+
/// @param {Map} $theme The theme
|
|
142
|
+
/// @param {String} $palette-name The name of the palette to get the color from.
|
|
143
|
+
/// @param {Number} $hue The hue to read from the palette.
|
|
144
|
+
/// @return {Color} The requested palette color.
|
|
145
|
+
@function _get-theme-palette-color($theme, $palette-name, $hue) {
|
|
146
|
+
$err: _validate-theme-object($theme);
|
|
147
|
+
@if $err {
|
|
148
|
+
// TODO(mmalerba): implement for old style theme objects.
|
|
149
|
+
@error #{'get-theme-color does not support legacy theme objects.'};
|
|
150
|
+
}
|
|
151
|
+
@if not theme-has($theme, color) {
|
|
152
|
+
@error 'Color information is not available on this theme.';
|
|
153
|
+
}
|
|
154
|
+
$palettes: map.get($theme, $internals, palettes);
|
|
155
|
+
$palette: map.get($palettes, $palette-name);
|
|
156
|
+
@if not $palette {
|
|
157
|
+
$supported-palettes: map.keys($palettes);
|
|
158
|
+
@error #{'Valid palettes are: #{$supported-palettes}. Got:'} $palette-name;
|
|
159
|
+
}
|
|
160
|
+
$result: map.get($palette, $hue);
|
|
161
|
+
@if not $result {
|
|
162
|
+
$supported-hues: map.keys($palette);
|
|
163
|
+
@error #{'Valid hues for'} $palette-name #{'are: #{$supported-hues}. Got:'} $hue;
|
|
164
|
+
}
|
|
165
|
+
@return $result;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/// Gets a typography value from a theme object.
|
|
169
|
+
/// @param {Map} $theme The theme
|
|
170
|
+
/// @param {String} $typescale The typescale name.
|
|
171
|
+
/// @param {String} $property The CSS font property to get
|
|
172
|
+
/// (font, font-family, font-size, font-weight, line-height, or letter-spacing).
|
|
173
|
+
/// @return {*} The value of the requested font property.
|
|
174
|
+
@function get-theme-typography($theme, $typescale, $property: font) {
|
|
175
|
+
$version: get-theme-version($theme);
|
|
176
|
+
@if $version == 0 {
|
|
177
|
+
@return m2-inspection.get-theme-typography($theme, $typescale, $property);
|
|
178
|
+
}
|
|
179
|
+
@else if $version == 1 {
|
|
180
|
+
@if not theme-has($theme, typography) {
|
|
181
|
+
@error 'Typography information is not available on this theme.';
|
|
182
|
+
}
|
|
183
|
+
@if not list.index($_m3-typescales, $typescale) {
|
|
184
|
+
@error #{'Valid typescales are: #{$_m3-typescales}. Got:'} $typescale;
|
|
185
|
+
}
|
|
186
|
+
@if not list.index($_typography-properties, $property) {
|
|
187
|
+
@error #{'Valid typography properties are: #{$_typography-properties}. Got:'} $property;
|
|
188
|
+
}
|
|
189
|
+
$property-key: map.get((
|
|
190
|
+
font: '',
|
|
191
|
+
font-family: '-font',
|
|
192
|
+
line-height: '-line-height',
|
|
193
|
+
font-size: '-size',
|
|
194
|
+
letter-spacing: '-tracking',
|
|
195
|
+
font-weight: '-weight'
|
|
196
|
+
), $property);
|
|
197
|
+
$token-name: '#{$typescale}#{$property-key}';
|
|
198
|
+
@return map.get($theme, $internals, typography-tokens, (mat, typography), $token-name);
|
|
199
|
+
}
|
|
200
|
+
@else {
|
|
201
|
+
@error #{'Unrecognized theme version:'} $version;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/// Gets the density scale from a theme object.
|
|
206
|
+
/// @param {Map} $theme The theme
|
|
207
|
+
/// @return {Number} The density scale.
|
|
208
|
+
@function get-theme-density($theme) {
|
|
209
|
+
$version: get-theme-version($theme);
|
|
210
|
+
@if $version == 0 {
|
|
211
|
+
@return m2-inspection.get-theme-density($theme);
|
|
212
|
+
}
|
|
213
|
+
@else if $version == 1 {
|
|
214
|
+
@if not theme-has($theme, density) {
|
|
215
|
+
@error 'Density information is not available on this theme.';
|
|
216
|
+
}
|
|
217
|
+
@return map.get($theme, $internals, density-scale);
|
|
218
|
+
}
|
|
219
|
+
@else {
|
|
220
|
+
@error #{'Unrecognized theme version:'} $version;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/// Checks whether the theme has information about given theming system.
|
|
225
|
+
/// @param {Map} $theme The theme
|
|
226
|
+
/// @param {String} $system The system to check
|
|
227
|
+
/// @param {Boolean} Whether the theme has information about the system.
|
|
228
|
+
@function theme-has($theme, $system) {
|
|
229
|
+
$version: get-theme-version($theme);
|
|
230
|
+
@if $version == 0 {
|
|
231
|
+
@return m2-inspection.theme-has($theme, $system);
|
|
232
|
+
}
|
|
233
|
+
@else if $version == 1 {
|
|
234
|
+
@if $system == base {
|
|
235
|
+
@return map.get($theme, $internals, base-tokens) != null;
|
|
236
|
+
}
|
|
237
|
+
@if $system == color {
|
|
238
|
+
@return map.get($theme, $internals, color-tokens) != null and
|
|
239
|
+
map.get($theme, $internals, theme-type) != null and
|
|
240
|
+
map.get($theme, $internals, palettes) != null;
|
|
241
|
+
}
|
|
242
|
+
@if $system == typography {
|
|
243
|
+
@return map.get($theme, $internals, typography-tokens) != null;
|
|
244
|
+
}
|
|
245
|
+
@if $system == density {
|
|
246
|
+
@return map.get($theme, $internals, density-scale) != null;
|
|
247
|
+
}
|
|
248
|
+
@error 'Valid systems are: base, color, typography, density. Got:' $system;
|
|
249
|
+
}
|
|
250
|
+
@else {
|
|
251
|
+
@error #{'Unrecognized theme version:'} $version;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/// Removes the information about the given theming system(s) from the given theme.
|
|
256
|
+
/// @param {Map} $theme The theme to remove information from
|
|
257
|
+
/// @param {String...} $systems The systems to remove
|
|
258
|
+
/// @return {Map} A version of the theme without the removed theming systems.
|
|
259
|
+
@function theme-remove($theme, $systems...) {
|
|
260
|
+
$err: validation.validate-allowed-values($systems, color, typography, density, base);
|
|
261
|
+
@if $err {
|
|
262
|
+
@error #{'Expected $systems to contain valid system names (color, typography, density, or'}
|
|
263
|
+
#{'base). Got invalid system names:'} $err;
|
|
264
|
+
}
|
|
265
|
+
$version: get-theme-version($theme);
|
|
266
|
+
@if $version == 0 {
|
|
267
|
+
@return m2-inspection.theme-remove($theme, $systems...);
|
|
268
|
+
}
|
|
269
|
+
@else if $version == 1 {
|
|
270
|
+
@each $system in $systems {
|
|
271
|
+
@if $system == base {
|
|
272
|
+
$theme: map.deep-remove($theme, $internals, base-tokens);
|
|
273
|
+
}
|
|
274
|
+
@else if $system == color {
|
|
275
|
+
$theme: map.deep-remove($theme, $internals, color-tokens);
|
|
276
|
+
$theme: map.deep-remove($theme, $internals, theme-type);
|
|
277
|
+
$theme: map.deep-remove($theme, $internals, palettes);
|
|
278
|
+
}
|
|
279
|
+
@else if $system == typography {
|
|
280
|
+
$theme: map.deep-remove($theme, $internals, typography-tokens);
|
|
281
|
+
}
|
|
282
|
+
@else if $system == density {
|
|
283
|
+
$theme: map.deep-remove($theme, $internals, density-scale);
|
|
284
|
+
$theme: map.deep-remove($theme, $internals, density-tokens);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
@return $theme;
|
|
288
|
+
}
|
|
289
|
+
}
|