@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 @@
|
|
|
1
|
+
{"version":3,"file":"tree.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/node.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/padding.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/outlet.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/tree.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/toggle.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/tree-module.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/data-source/flat-data-source.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/tree/data-source/nested-data-source.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n CDK_TREE_NODE_OUTLET_NODE,\n CdkNestedTreeNode,\n CdkTreeNode,\n CdkTreeNodeDef,\n} from '@angular/cdk/tree';\nimport {\n AfterContentInit,\n Directive,\n Input,\n OnDestroy,\n OnInit,\n booleanAttribute,\n numberAttribute,\n inject,\n HostAttributeToken,\n} from '@angular/core';\nimport {NoopTreeKeyManager, TreeKeyManagerItem, TreeKeyManagerStrategy} from '@angular/cdk/a11y';\n\n/**\n * Determinte if argument TreeKeyManager is the NoopTreeKeyManager. This function is safe to use with SSR.\n */\nfunction isNoopTreeKeyManager<T extends TreeKeyManagerItem>(\n keyManager: TreeKeyManagerStrategy<T>,\n): keyManager is NoopTreeKeyManager<T> {\n return !!(keyManager as NoopTreeKeyManager<T>)._isNoopTreeKeyManager;\n}\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\n@Directive({\n selector: 'mat-tree-node',\n exportAs: 'matTreeNode',\n outputs: ['activation', 'expandedChange'],\n providers: [{provide: CdkTreeNode, useExisting: MatTreeNode}],\n host: {\n 'class': 'mat-tree-node',\n '[attr.aria-expanded]': '_getAriaExpanded()',\n '[attr.aria-level]': 'level + 1',\n '[attr.aria-posinset]': '_getPositionInSet()',\n '[attr.aria-setsize]': '_getSetSize()',\n '(click)': '_focusItem()',\n '[tabindex]': '_getTabindexAttribute()',\n },\n})\nexport class MatTreeNode<T, K = T> extends CdkTreeNode<T, K> implements OnInit, OnDestroy {\n /**\n * The tabindex of the tree node.\n *\n * @deprecated By default MatTreeNode manages focus using TreeKeyManager instead of tabIndex.\n * Recommend to avoid setting tabIndex directly to prevent TreeKeyManager form getting into\n * an unexpected state. Tabindex to be removed in a future version.\n * @breaking-change 21.0.0 Remove this attribute.\n */\n @Input({\n transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\n alias: 'tabIndex',\n })\n get tabIndexInputBinding(): number {\n return this._tabIndexInputBinding;\n }\n set tabIndexInputBinding(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndexInputBinding = value;\n }\n private _tabIndexInputBinding!: number;\n\n /**\n * The default tabindex of the tree node.\n *\n * @deprecated By default MatTreeNode manages focus using TreeKeyManager instead of tabIndex.\n * Recommend to avoid setting tabIndex directly to prevent TreeKeyManager form getting into\n * an unexpected state. Tabindex to be removed in a future version.\n * @breaking-change 21.0.0 Remove this attribute.\n */\n defaultTabIndex = 0;\n\n protected _getTabindexAttribute(): number | null {\n if (isNoopTreeKeyManager(this._tree._keyManager)) {\n return this.tabIndexInputBinding;\n }\n return this._tabindex;\n }\n\n /**\n * Whether the component is disabled.\n *\n * @deprecated This is an alias for `isDisabled`.\n * @breaking-change 21.0.0 Remove this input\n */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this.isDisabled;\n }\n set disabled(value: boolean) {\n this.isDisabled = value;\n }\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n const tabIndex = inject(new HostAttributeToken('tabindex'), {optional: true});\n this.tabIndexInputBinding = Number(tabIndex) || this.defaultTabIndex;\n }\n\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\n@Directive({\n selector: '[matTreeNodeDef]',\n inputs: [{name: 'when', alias: 'matTreeNodeDefWhen'}],\n providers: [{provide: CdkTreeNodeDef, useExisting: MatTreeNodeDef}],\n})\nexport class MatTreeNodeDef<T> extends CdkTreeNodeDef<T> {\n @Input('matTreeNode') data!: T;\n}\n\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\n@Directive({\n selector: 'mat-nested-tree-node',\n exportAs: 'matNestedTreeNode',\n outputs: ['activation', 'expandedChange'],\n providers: [\n {provide: CdkNestedTreeNode, useExisting: MatNestedTreeNode},\n {provide: CdkTreeNode, useExisting: MatNestedTreeNode},\n {provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: MatNestedTreeNode},\n ],\n host: {\n 'class': 'mat-nested-tree-node',\n },\n})\nexport class MatNestedTreeNode<T, K = T>\n extends CdkNestedTreeNode<T, K>\n implements AfterContentInit, OnDestroy, OnInit\n{\n @Input('matNestedTreeNode') node!: T;\n\n /**\n * Whether the node is disabled.\n *\n * @deprecated This is an alias for `isDisabled`.\n * @breaking-change 21.0.0 Remove this input\n */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this.isDisabled;\n }\n set disabled(value: boolean) {\n this.isDisabled = value;\n }\n\n /** Tabindex of the node. */\n @Input({\n transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\n })\n get tabIndex(): number {\n return this.isDisabled ? -1 : this._tabIndex;\n }\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value;\n }\n private _tabIndex!: number;\n\n // This is a workaround for https://github.com/angular/angular/issues/19145\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #19145 is fixed\n override ngOnInit() {\n super.ngOnInit();\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\nimport {CdkTreeNodePadding} from '@angular/cdk/tree';\nimport {Directive, Input, numberAttribute} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodePadding]',\n providers: [{provide: CdkTreeNodePadding, useExisting: MatTreeNodePadding}],\n})\nexport class MatTreeNodePadding<T, K = T> extends CdkTreeNodePadding<T, K> {\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n @Input({alias: 'matTreeNodePadding', transform: numberAttribute})\n override get level(): number {\n return this._level;\n }\n override set level(value: number) {\n this._setLevelInput(value);\n }\n\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n @Input('matTreeNodePaddingIndent')\n override get indent(): number | string {\n return this._indent;\n }\n override set indent(indent: number | string) {\n this._setIndentInput(indent);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\nimport {CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet} from '@angular/cdk/tree';\nimport {Directive, ViewContainerRef, inject} from '@angular/core';\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\n@Directive({\n selector: '[matTreeNodeOutlet]',\n providers: [\n {\n provide: CdkTreeNodeOutlet,\n useExisting: MatTreeNodeOutlet,\n },\n ],\n})\nexport class MatTreeNodeOutlet implements CdkTreeNodeOutlet {\n viewContainer = inject(ViewContainerRef);\n _node = inject(CDK_TREE_NODE_OUTLET_NODE, {optional: true});\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {CdkTree} from '@angular/cdk/tree';\nimport {ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {MatTreeNodeOutlet} from './outlet';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n selector: 'mat-tree',\n exportAs: 'matTree',\n template: `<ng-container matTreeNodeOutlet></ng-container>`,\n host: {\n 'class': 'mat-tree',\n },\n styleUrl: 'tree.css',\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTree for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [{provide: CdkTree, useExisting: MatTree}],\n imports: [MatTreeNodeOutlet],\n})\nexport class MatTree<T, K = T> extends CdkTree<T, K> {\n // Outlets within the tree's template where the dataNodes will be inserted.\n // We need an initializer here to avoid a TS error. The value will be set in `ngAfterViewInit`.\n @ViewChild(MatTreeNodeOutlet, {static: true}) override _nodeOutlet: MatTreeNodeOutlet =\n undefined!;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {CdkTreeNodeToggle} from '@angular/cdk/tree';\nimport {Directive} from '@angular/core';\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\n@Directive({\n selector: '[matTreeNodeToggle]',\n providers: [{provide: CdkTreeNodeToggle, useExisting: MatTreeNodeToggle}],\n inputs: [{name: 'recursive', alias: 'matTreeNodeToggleRecursive'}],\n})\nexport class MatTreeNodeToggle<T, K = T> extends CdkTreeNodeToggle<T, K> {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {NgModule} from '@angular/core';\n\nimport {CdkTreeModule} from '@angular/cdk/tree';\nimport {MatNestedTreeNode, MatTreeNodeDef, MatTreeNode} from './node';\nimport {MatTree} from './tree';\nimport {MatTreeNodeToggle} from './toggle';\nimport {MatTreeNodeOutlet} from './outlet';\nimport {MatTreeNodePadding} from './padding';\n\nconst MAT_TREE_DIRECTIVES = [\n MatNestedTreeNode,\n MatTreeNodeDef,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTree,\n MatTreeNode,\n MatTreeNodeOutlet,\n];\n\n@NgModule({\n imports: [CdkTreeModule, ...MAT_TREE_DIRECTIVES],\n exports: [BidiModule, MAT_TREE_DIRECTIVES],\n})\nexport class MatTreeModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n *\n * @deprecated Use MatTree#childrenAccessor and MatTreeNode#isExpandable\n * instead. To be removed in a future version.\n * @breaking-change 21.0.0\n */\nexport class MatTreeFlattener<T, F, K = F> {\n constructor(\n public transformFunction: (node: T, level: number) => F,\n public getLevel: (node: F) => number,\n public isExpandable: (node: F) => boolean,\n public getChildren: (node: T) => Observable<T[]> | T[] | undefined | null,\n ) {}\n\n _flattenNode(node: T, level: number, resultNodes: F[], parentMap: boolean[]): F[] {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n }\n\n _flattenChildren(children: T[], level: number, resultNodes: F[], parentMap: boolean[]): void {\n children.forEach((child, index) => {\n let childParentMap: boolean[] = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData: T[]): F[] {\n let resultNodes: F[] = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F, K>): F[] {\n let results: F[] = [];\n let currentExpand: boolean[] = [];\n currentExpand[0] = true;\n\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n *\n * @deprecated Use one of levelAccessor or childrenAccessor instead. To be removed in a future\n * version.\n * @breaking-change 21.0.0\n */\nexport class MatTreeFlatDataSource<T, F, K = F> extends DataSource<F> {\n private readonly _flattenedData = new BehaviorSubject<F[]>([]);\n private readonly _expandedData = new BehaviorSubject<F[]>([]);\n\n get data() {\n return this._data.value;\n }\n set data(value: T[]) {\n this._data.next(value);\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\n this._treeControl.dataNodes = this._flattenedData.value;\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n constructor(\n private _treeControl: FlatTreeControl<F, K>,\n private _treeFlattener: MatTreeFlattener<T, F, K>,\n initialData?: T[],\n ) {\n super();\n\n if (initialData) {\n // Assign the data through the constructor to ensure that all of the logic is executed.\n this.data = initialData;\n }\n }\n\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\n return merge(\n collectionViewer.viewChange,\n this._treeControl.expansionModel.changed,\n this._flattenedData,\n ).pipe(\n map(() => {\n this._expandedData.next(\n this._treeFlattener.expandFlattenedNodes(this._flattenedData.value, this._treeControl),\n );\n return this._expandedData.value;\n }),\n );\n }\n\n disconnect() {\n // no op\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nexport class MatTreeNestedDataSource<T> extends DataSource<T> {\n /**\n * Data for the nested tree\n */\n get data() {\n return this._data.value;\n }\n set data(value: T[]) {\n this._data.next(value);\n }\n private readonly _data = new BehaviorSubject<T[]>([]);\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n return merge(...([collectionViewer.viewChange, this._data] as Observable<unknown>[])).pipe(\n map(() => this.data),\n );\n }\n\n disconnect() {\n // no op\n }\n}\n"],"names":["isNoopTreeKeyManager","keyManager","_isNoopTreeKeyManager","MatTreeNode","CdkTreeNode","tabIndexInputBinding","_tabIndexInputBinding","value","defaultTabIndex","_getTabindexAttribute","_tree","_keyManager","_tabindex","disabled","isDisabled","constructor","tabIndex","inject","HostAttributeToken","optional","Number","ngOnInit","ngOnDestroy","deps","target","i0","ɵɵFactoryTarget","Directive","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","isStandalone","selector","inputs","numberAttribute","booleanAttribute","provide","useExisting","exportAs","usesInheritance","ngImport","decorators","args","outputs","providers","host","Input","transform","alias","MatTreeNodeDef","CdkTreeNodeDef","data","when","name","MatNestedTreeNode","CdkNestedTreeNode","node","_tabIndex","ngAfterContentInit","activation","expandedChange","classAttribute","CDK_TREE_NODE_OUTLET_NODE","MatTreeNodePadding","CdkTreeNodePadding","level","_level","_setLevelInput","indent","_indent","_setIndentInput","MatTreeNodeOutlet","viewContainer","ViewContainerRef","_node","CdkTreeNodeOutlet","MatTree","CdkTree","_nodeOutlet","undefined","Component","ɵcmp","ɵɵngDeclareComponent","viewQueries","propertyName","first","predicate","descendants","static","template","changeDetection","ChangeDetectionStrategy","Eager","encapsulation","ViewEncapsulation","None","Default","imports","styles","ViewChild","MatTreeNodeToggle","CdkTreeNodeToggle","recursive","MAT_TREE_DIRECTIVES","MatTreeModule","NgModule","CdkTreeModule","exports","BidiModule","MatTreeFlattener","transformFunction","getLevel","isExpandable","getChildren","_flattenNode","resultNodes","parentMap","flatNode","push","childrenNodes","Array","isArray","_flattenChildren","pipe","take","subscribe","children","forEach","child","index","childParentMap","slice","length","flattenNodes","structuredData","expandFlattenedNodes","nodes","treeControl","results","currentExpand","expand","i","isExpanded","MatTreeFlatDataSource","DataSource","_treeControl","_treeFlattener","_flattenedData","BehaviorSubject","_expandedData","_data","next","dataNodes","initialData","connect","collectionViewer","merge","viewChange","expansionModel","changed","map","disconnect","MatTreeNestedDataSource"],"mappings":";;;;;;;;AA8BA,SAASA,oBAAoBA,CAC3BC,UAAqC,EAAA;AAErC,EAAA,OAAO,CAAC,CAAEA,UAAoC,CAACC,qBAAqB;AACtE;AAoBM,MAAOC,WAAsB,SAAQC,WAAiB,CAAA;EAS1D,IAIIC,oBAAoBA,GAAA;IACtB,OAAO,IAAI,CAACC,qBAAqB;AACnC;EACA,IAAID,oBAAoBA,CAACE,KAAa,EAAA;IAEpC,IAAI,CAACD,qBAAqB,GAAGC,KAAK;AACpC;EACQD,qBAAqB;AAU7BE,EAAAA,eAAe,GAAG,CAAC;AAETC,EAAAA,qBAAqBA,GAAA;IAC7B,IAAIT,oBAAoB,CAAC,IAAI,CAACU,KAAK,CAACC,WAAW,CAAC,EAAE;MAChD,OAAO,IAAI,CAACN,oBAAoB;AAClC;IACA,OAAO,IAAI,CAACO,SAAS;AACvB;EAQA,IACIC,QAAQA,GAAA;IACV,OAAO,IAAI,CAACC,UAAU;AACxB;EACA,IAAID,QAAQA,CAACN,KAAc,EAAA;IACzB,IAAI,CAACO,UAAU,GAAGP,KAAK;AACzB;AAIAQ,EAAAA,WAAAA,GAAA;AACE,IAAA,KAAK,EAAE;IAEP,MAAMC,QAAQ,GAAGC,MAAM,CAAC,IAAIC,kBAAkB,CAAC,UAAU,CAAC,EAAE;AAACC,MAAAA,QAAQ,EAAE;AAAI,KAAC,CAAC;IAC7E,IAAI,CAACd,oBAAoB,GAAGe,MAAM,CAACJ,QAAQ,CAAC,IAAI,IAAI,CAACR,eAAe;AACtE;AAISa,EAAAA,QAAQA,GAAA;IACf,KAAK,CAACA,QAAQ,EAAE;AAClB;AAESC,EAAAA,WAAWA,GAAA;IAClB,KAAK,CAACA,WAAW,EAAE;AACrB;;;;;UAtEWnB,WAAW;AAAAoB,IAAAA,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAAX,EAAA,OAAAC,IAAA,GAAAH,EAAA,CAAAI,oBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,eAAA;AAAAC,IAAAA,IAAA,EAAA7B,WAAW;AAUT8B,IAAAA,YAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAA,eAAA;AAAAC,IAAAA,MAAA,EAAA;AAAA9B,MAAAA,oBAAA,EAAA,CAAA,UAAA,EAAA,sBAAA,EAACE,KAAc,IAAMA,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG6B,eAAe,CAAC7B,KAAK,CAAE,CAmC1D;AAAAM,MAAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAAwB,gBAAgB;;;;;;;;;;;;;;;;;;;eAxDxB,CAAC;AAACC,MAAAA,OAAO,EAAElC,WAAW;AAAEmC,MAAAA,WAAW,EAAEpC;KAAY,CAAC;IAAAqC,QAAA,EAAA,CAAA,aAAA,CAAA;AAAAC,IAAAA,eAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAAjB;AAAA,GAAA,CAAA;;;;;;QAWlDtB,WAAW;AAAAwC,EAAAA,UAAA,EAAA,CAAA;UAfvBhB,SAAS;AAACiB,IAAAA,IAAA,EAAA,CAAA;AACTV,MAAAA,QAAQ,EAAE,eAAe;AACzBM,MAAAA,QAAQ,EAAE,aAAa;AACvBK,MAAAA,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;AACzCC,MAAAA,SAAS,EAAE,CAAC;AAACR,QAAAA,OAAO,EAAElC,WAAW;AAAEmC,QAAAA,WAAW,EAAapC;AAAA,OAAC,CAAC;AAC7D4C,MAAAA,IAAI,EAAE;AACJ,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,sBAAsB,EAAE,oBAAoB;AAC5C,QAAA,mBAAmB,EAAE,WAAW;AAChC,QAAA,sBAAsB,EAAE,qBAAqB;AAC7C,QAAA,qBAAqB,EAAE,eAAe;AACtC,QAAA,SAAS,EAAE,cAAc;AACzB,QAAA,YAAY,EAAE;AACf;KACF;;;;;YAUEC,KAAK;AAACJ,MAAAA,IAAA,EAAA,CAAA;AACLK,QAAAA,SAAS,EAAG1C,KAAc,IAAMA,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG6B,eAAe,CAAC7B,KAAK,CAAE;AAC3E2C,QAAAA,KAAK,EAAE;OACR;;;YAiCAF,KAAK;aAAC;AAACC,QAAAA,SAAS,EAAEZ;OAAiB;;;;AAqChC,MAAOc,cAAkB,SAAQC,cAAiB,CAAA;EAChCC,IAAI;;;;;UADfF,cAAc;AAAA5B,IAAAA,IAAA,EAAA,IAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;;;;UAAdwB,cAAc;AAAAlB,IAAAA,YAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAA,kBAAA;AAAAC,IAAAA,MAAA,EAAA;AAAAmB,MAAAA,IAAA,EAAA,CAAA,oBAAA,EAAA,MAAA,CAAA;AAAAD,MAAAA,IAAA,EAAA,CAAA,aAAA,EAAA,MAAA;KAAA;AAAAP,IAAAA,SAAA,EAFd,CAAC;AAACR,MAAAA,OAAO,EAAEc,cAAc;AAAEb,MAAAA,WAAW,EAAEY;AAAc,KAAC,CAAC;AAAAV,IAAAA,eAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAAjB;AAAA,GAAA,CAAA;;;;;;QAExD0B,cAAc;AAAAR,EAAAA,UAAA,EAAA,CAAA;UAL1BhB,SAAS;AAACiB,IAAAA,IAAA,EAAA,CAAA;AACTV,MAAAA,QAAQ,EAAE,kBAAkB;AAC5BC,MAAAA,MAAM,EAAE,CAAC;AAACoB,QAAAA,IAAI,EAAE,MAAM;AAAEL,QAAAA,KAAK,EAAE;AAAoB,OAAC,CAAC;AACrDJ,MAAAA,SAAS,EAAE,CAAC;AAACR,QAAAA,OAAO,EAAEc,cAAc;AAAEb,QAAAA,WAAW,EAAgBY;OAAC;KACnE;;;;YAEEH,KAAK;aAAC,aAAa;;;;AAmBhB,MAAOQ,iBACX,SAAQC,iBAAuB,CAAA;EAGHC,IAAI;EAQhC,IACI7C,QAAQA,GAAA;IACV,OAAO,IAAI,CAACC,UAAU;AACxB;EACA,IAAID,QAAQA,CAACN,KAAc,EAAA;IACzB,IAAI,CAACO,UAAU,GAAGP,KAAK;AACzB;EAGA,IAGIS,QAAQA,GAAA;IACV,OAAO,IAAI,CAACF,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC6C,SAAS;AAC9C;EACA,IAAI3C,QAAQA,CAACT,KAAa,EAAA;IAExB,IAAI,CAACoD,SAAS,GAAGpD,KAAK;AACxB;EACQoD,SAAS;AAKRtC,EAAAA,QAAQA,GAAA;IACf,KAAK,CAACA,QAAQ,EAAE;AAClB;AAESuC,EAAAA,kBAAkBA,GAAA;IACzB,KAAK,CAACA,kBAAkB,EAAE;AAC5B;AAEStC,EAAAA,WAAWA,GAAA;IAClB,KAAK,CAACA,WAAW,EAAE;AACrB;;;;;UA9CWkC,iBAAiB;AAAAjC,IAAAA,IAAA,EAAA,IAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;;;;UAAjB6B,iBAAiB;AAAAvB,IAAAA,YAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAA,sBAAA;AAAAC,IAAAA,MAAA,EAAA;AAAAuB,MAAAA,IAAA,EAAA,CAAA,mBAAA,EAAA,MAAA,CAAA;AAAA7C,MAAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAYTwB,gBAAgB,CAAA;AAAArB,MAAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAUrBT,KAAc,IAAMA,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG6B,eAAe,CAAC7B,KAAK,CAAE;KA/BlE;AAAAsC,IAAAA,OAAA,EAAA;AAAAgB,MAAAA,UAAA,EAAA,YAAA;AAAAC,MAAAA,cAAA,EAAA;KAAA;AAAAf,IAAAA,IAAA,EAAA;AAAAgB,MAAAA,cAAA,EAAA;KAAA;AAAAjB,IAAAA,SAAA,EAAA,CACT;AAACR,MAAAA,OAAO,EAAEmB,iBAAiB;AAAElB,MAAAA,WAAW,EAAEiB;AAAkB,KAAA,EAC5D;AAAClB,MAAAA,OAAO,EAAElC,WAAW;AAAEmC,MAAAA,WAAW,EAAEiB;AAAkB,KAAA,EACtD;AAAClB,MAAAA,OAAO,EAAE0B,yBAAyB;AAAEzB,MAAAA,WAAW,EAAEiB;AAAkB,KAAA,CACrE;IAAAhB,QAAA,EAAA,CAAA,mBAAA,CAAA;AAAAC,IAAAA,eAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAAjB;AAAA,GAAA,CAAA;;;;;;QAKU+B,iBAAiB;AAAAb,EAAAA,UAAA,EAAA,CAAA;UAb7BhB,SAAS;AAACiB,IAAAA,IAAA,EAAA,CAAA;AACTV,MAAAA,QAAQ,EAAE,sBAAsB;AAChCM,MAAAA,QAAQ,EAAE,mBAAmB;AAC7BK,MAAAA,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;AACzCC,MAAAA,SAAS,EAAE,CACT;AAACR,QAAAA,OAAO,EAAEmB,iBAAiB;AAAElB,QAAAA,WAAW;AAAoB,OAAA,EAC5D;AAACD,QAAAA,OAAO,EAAElC,WAAW;AAAEmC,QAAAA,WAAW;AAAoB,OAAA,EACtD;AAACD,QAAAA,OAAO,EAAE0B,yBAAyB;AAAEzB,QAAAA,WAAW;AAAoB,OAAA,CACrE;AACDQ,MAAAA,IAAI,EAAE;AACJ,QAAA,OAAO,EAAE;AACV;KACF;;;;YAKEC,KAAK;aAAC,mBAAmB;;;YAQzBA,KAAK;aAAC;AAACC,QAAAA,SAAS,EAAEZ;OAAiB;;;YASnCW,KAAK;AAACJ,MAAAA,IAAA,EAAA,CAAA;QACLK,SAAS,EAAG1C,KAAc,IAAMA,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG6B,eAAe,CAAC7B,KAAK;OAC1E;;;;;AClKG,MAAO0D,kBAA6B,SAAQC,kBAAwB,CAAA;EAExE,IACaC,KAAKA,GAAA;IAChB,OAAO,IAAI,CAACC,MAAM;AACpB;EACA,IAAaD,KAAKA,CAAC5D,KAAa,EAAA;AAC9B,IAAA,IAAI,CAAC8D,cAAc,CAAC9D,KAAK,CAAC;AAC5B;EAGA,IACa+D,MAAMA,GAAA;IACjB,OAAO,IAAI,CAACC,OAAO;AACrB;EACA,IAAaD,MAAMA,CAACA,MAAuB,EAAA;AACzC,IAAA,IAAI,CAACE,eAAe,CAACF,MAAM,CAAC;AAC9B;;;;;UAjBWL,kBAAkB;AAAA1C,IAAAA,IAAA,EAAA,IAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAAlB,EAAA,OAAAC,IAAA,GAAAH,EAAA,CAAAI,oBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,eAAA;AAAAC,IAAAA,IAAA,EAAAiC,kBAAkB;AAEmBhC,IAAAA,YAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAA,sBAAA;AAAAC,IAAAA,MAAA,EAAA;AAAAgC,MAAAA,KAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA/B,eAAe,CAJpD;AAAAkC,MAAAA,MAAA,EAAA,CAAA,0BAAA,EAAA,QAAA;KAAA;AAAAxB,IAAAA,SAAA,EAAA,CAAC;AAACR,MAAAA,OAAO,EAAE4B,kBAAkB;AAAE3B,MAAAA,WAAW,EAAE0B;KAAmB,CAAC;AAAAxB,IAAAA,eAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAAjB;AAAA,GAAA,CAAA;;;;;;QAEhEwC,kBAAkB;AAAAtB,EAAAA,UAAA,EAAA,CAAA;UAJ9BhB,SAAS;AAACiB,IAAAA,IAAA,EAAA,CAAA;AACTV,MAAAA,QAAQ,EAAE,sBAAsB;AAChCY,MAAAA,SAAS,EAAE,CAAC;AAACR,QAAAA,OAAO,EAAE4B,kBAAkB;AAAE3B,QAAAA,WAAW,EAAoB0B;OAAC;KAC3E;;;;YAGEjB,KAAK;AAACJ,MAAAA,IAAA,EAAA,CAAA;AAACM,QAAAA,KAAK,EAAE,oBAAoB;AAAED,QAAAA,SAAS,EAAEb;OAAgB;;;YAS/DY,KAAK;aAAC,0BAA0B;;;;;MCLtByB,iBAAiB,CAAA;AAC5BC,EAAAA,aAAa,GAAGzD,MAAM,CAAC0D,gBAAgB,CAAC;AACxCC,EAAAA,KAAK,GAAG3D,MAAM,CAAC+C,yBAAyB,EAAE;AAAC7C,IAAAA,QAAQ,EAAE;AAAK,GAAA,CAAC;;;;;UAFhDsD,iBAAiB;AAAAlD,IAAAA,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAAjB,EAAA,OAAAC,IAAA,GAAAH,EAAA,CAAAI,oBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,eAAA;AAAAC,IAAAA,IAAA,EAAAyC,iBAAiB;AAPjBxC,IAAAA,YAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAA,qBAAA;AAAAY,IAAAA,SAAA,EAAA,CACT;AACER,MAAAA,OAAO,EAAEuC,iBAAiB;AAC1BtC,MAAAA,WAAW,EAAEkC;AACd,KAAA,CACF;AAAA/B,IAAAA,QAAA,EAAAjB;AAAA,GAAA,CAAA;;;;;;QAEUgD,iBAAiB;AAAA9B,EAAAA,UAAA,EAAA,CAAA;UAT7BhB,SAAS;AAACiB,IAAAA,IAAA,EAAA,CAAA;AACTV,MAAAA,QAAQ,EAAE,qBAAqB;AAC/BY,MAAAA,SAAS,EAAE,CACT;AACER,QAAAA,OAAO,EAAEuC,iBAAiB;AAC1BtC,QAAAA,WAAW,EAAmBkC;OAC/B;KAEJ;;;;ACQK,MAAOK,OAAkB,SAAQC,OAAa,CAAA;AAGKC,EAAAA,WAAW,GAChEC,SAAU;;;;;UAJDH,OAAO;AAAAvD,IAAAA,IAAA,EAAA,IAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAwD;AAAA,GAAA,CAAA;AAAP,EAAA,OAAAC,IAAA,GAAA1D,EAAA,CAAA2D,oBAAA,CAAA;AAAAtD,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,eAAA;AAAAC,IAAAA,IAAA,EAAA8C,OAAO;;;;;;eAHP,CAAC;AAACxC,MAAAA,OAAO,EAAEyC,OAAO;AAAExC,MAAAA,WAAW,EAAEuC;KAAQ,CAAC;AAAAO,IAAAA,WAAA,EAAA,CAAA;AAAAC,MAAAA,YAAA,EAAA,aAAA;AAAAC,MAAAA,KAAA,EAAA,IAAA;AAAAC,MAAAA,SAAA,EAM1Cf,iBAAiB;AAflBgB,MAAAA,WAAA,EAAA,IAAA;AAAAC,MAAAA,MAAA,EAAA;AAAA,KAAA,CAAA;IAAAlD,QAAA,EAAA,CAAA,SAAA,CAAA;AAAAC,IAAAA,eAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAAjB,EAAA;AAAAkE,IAAAA,QAAA,EAAA,CAAiD,+CAAA,CAAA;;;;;YAUjDlB,iBAAiB;AAAAvC,MAAAA,QAAA,EAAA;AAAA,KAAA,CAAA;AAAA0D,IAAAA,eAAA,EAAAnE,EAAA,CAAAoE,uBAAA,CAAAC,KAAA;AAAAC,IAAAA,aAAA,EAAAtE,EAAA,CAAAuE,iBAAA,CAAAC;AAAA,GAAA,CAAA;;;;;;QAEhBnB,OAAO;AAAAnC,EAAAA,UAAA,EAAA,CAAA;UAfnBuC,SAAS;AACEtC,IAAAA,IAAA,EAAA,CAAA;AAAAV,MAAAA,QAAA,EAAA,UAAU;AACVM,MAAAA,QAAA,EAAA,SAAS;AACTmD,MAAAA,QAAA,EAAA,CAAiD,+CAAA,CAAA;AACrD5C,MAAAA,IAAA,EAAA;AACJ,QAAA,OAAO,EAAE;OACV;MAEcgD,aAAA,EAAAC,iBAAiB,CAACC,IAAI;MAAAL,eAAA,EAGpBC,uBAAuB,CAACK,OAAO;iBACrC,CAAC;AAAC5D,QAAAA,OAAO,EAAEyC,OAAO;AAAExC,QAAAA,WAAW,EAAAuC;OAAU,CAAC;MAAAqB,OAAA,EAC5C,CAAC1B,iBAAiB,CAAC;MAAA2B,MAAA,EAAA,CAAA,imBAAA;KAAA;;;;YAK3BC,SAAS;MAACzD,IAAA,EAAA,CAAA6B,iBAAiB,EAAE;AAACiB,QAAAA,MAAM,EAAE;OAAK;;;;;ACdxC,MAAOY,iBAA4B,SAAQC,iBAAuB,CAAA;;;;;UAA3DD,iBAAiB;AAAA/E,IAAAA,IAAA,EAAA,IAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;;;;UAAjB2E,iBAAiB;AAAArE,IAAAA,YAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAA,qBAAA;AAAAC,IAAAA,MAAA,EAAA;AAAAqE,MAAAA,SAAA,EAAA,CAAA,4BAAA,EAAA,WAAA;KAAA;AAAA1D,IAAAA,SAAA,EAHjB,CAAC;AAACR,MAAAA,OAAO,EAAEiE,iBAAiB;AAAEhE,MAAAA,WAAW,EAAE+D;AAAiB,KAAC,CAAC;AAAA7D,IAAAA,eAAA,EAAA,IAAA;AAAAC,IAAAA,QAAA,EAAAjB;AAAA,GAAA,CAAA;;;;;;QAG9D6E,iBAAiB;AAAA3D,EAAAA,UAAA,EAAA,CAAA;UAL7BhB,SAAS;AAACiB,IAAAA,IAAA,EAAA,CAAA;AACTV,MAAAA,QAAQ,EAAE,qBAAqB;AAC/BY,MAAAA,SAAS,EAAE,CAAC;AAACR,QAAAA,OAAO,EAAEiE,iBAAiB;AAAEhE,QAAAA,WAAW,EAAmB+D;AAAA,OAAC,CAAC;AACzEnE,MAAAA,MAAM,EAAE,CAAC;AAACoB,QAAAA,IAAI,EAAE,WAAW;AAAEL,QAAAA,KAAK,EAAE;OAA6B;KAClE;;;;ACAD,MAAMuD,mBAAmB,GAAG,CAC1BjD,iBAAiB,EACjBL,cAAc,EACdc,kBAAkB,EAClBqC,iBAAiB,EACjBxB,OAAO,EACP3E,WAAW,EACXsE,iBAAiB,CAClB;MAMYiC,aAAa,CAAA;;;;;UAAbA,aAAa;AAAAnF,IAAAA,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAiF;AAAA,GAAA,CAAA;;;;;UAAbD,aAAa;AAAAP,IAAAA,OAAA,EAAA,CAHdS,aAAa,EAVvBpD,iBAAiB,EACjBL,cAAc,EACdc,kBAAkB,EAClBqC,iBAAiB,EACjBxB,OAAO,EACP3E,WAAW,EACXsE,iBAAiB,CAAA;AAAAoC,IAAAA,OAAA,EAAA,CAKPC,UAAU,EAXpBtD,iBAAiB,EACjBL,cAAc,EACdc,kBAAkB,EAClBqC,iBAAiB,EACjBxB,OAAO,EACP3E,WAAW,EACXsE,iBAAiB;AAAA,GAAA,CAAA;;;;;UAONiC,aAAa;AAAAP,IAAAA,OAAA,EAAA,CAHdS,aAAa,EACbE,UAAU;AAAA,GAAA,CAAA;;;;;;QAETJ,aAAa;AAAA/D,EAAAA,UAAA,EAAA,CAAA;UAJzBgE,QAAQ;AAAC/D,IAAAA,IAAA,EAAA,CAAA;AACRuD,MAAAA,OAAO,EAAE,CAACS,aAAa,EAAE,GAAGH,mBAAmB,CAAC;AAChDI,MAAAA,OAAO,EAAE,CAACC,UAAU,EAAEL,mBAAmB;KAC1C;;;;MCoBYM,gBAAgB,CAAA;EAElBC,iBAAA;EACAC,QAAA;EACAC,YAAA;EACAC,WAAA;EAJTpG,WAAAA,CACSiG,iBAAgD,EAChDC,QAA6B,EAC7BC,YAAkC,EAClCC,WAAkE,EAAA;IAHlE,IAAiB,CAAAH,iBAAA,GAAjBA,iBAAiB;IACjB,IAAQ,CAAAC,QAAA,GAARA,QAAQ;IACR,IAAY,CAAAC,YAAA,GAAZA,YAAY;IACZ,IAAW,CAAAC,WAAA,GAAXA,WAAW;AACjB;EAEHC,YAAYA,CAAC1D,IAAO,EAAES,KAAa,EAAEkD,WAAgB,EAAEC,SAAoB,EAAA;IACzE,MAAMC,QAAQ,GAAG,IAAI,CAACP,iBAAiB,CAACtD,IAAI,EAAES,KAAK,CAAC;AACpDkD,IAAAA,WAAW,CAACG,IAAI,CAACD,QAAQ,CAAC;AAE1B,IAAA,IAAI,IAAI,CAACL,YAAY,CAACK,QAAQ,CAAC,EAAE;AAC/B,MAAA,MAAME,aAAa,GAAG,IAAI,CAACN,WAAW,CAACzD,IAAI,CAAC;AAC5C,MAAA,IAAI+D,aAAa,EAAE;AACjB,QAAA,IAAIC,KAAK,CAACC,OAAO,CAACF,aAAa,CAAC,EAAE;UAChC,IAAI,CAACG,gBAAgB,CAACH,aAAa,EAAEtD,KAAK,EAAEkD,WAAW,EAAEC,SAAS,CAAC;AACrE,SAAA,MAAO;AACLG,UAAAA,aAAa,CAACI,IAAI,CAACC,IAAI,CAAC,CAAC,CAAC,CAAC,CAACC,SAAS,CAACC,QAAQ,IAAG;YAC/C,IAAI,CAACJ,gBAAgB,CAACI,QAAQ,EAAE7D,KAAK,EAAEkD,WAAW,EAAEC,SAAS,CAAC;AAChE,WAAC,CAAC;AACJ;AACF;AACF;AACA,IAAA,OAAOD,WAAW;AACpB;EAEAO,gBAAgBA,CAACI,QAAa,EAAE7D,KAAa,EAAEkD,WAAgB,EAAEC,SAAoB,EAAA;AACnFU,IAAAA,QAAQ,CAACC,OAAO,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAI;AAChC,MAAA,IAAIC,cAAc,GAAcd,SAAS,CAACe,KAAK,EAAE;MACjDD,cAAc,CAACZ,IAAI,CAACW,KAAK,IAAIH,QAAQ,CAACM,MAAM,GAAG,CAAC,CAAC;AACjD,MAAA,IAAI,CAAClB,YAAY,CAACc,KAAK,EAAE/D,KAAK,GAAG,CAAC,EAAEkD,WAAW,EAAEe,cAAc,CAAC;AAClE,KAAC,CAAC;AACJ;EAOAG,YAAYA,CAACC,cAAmB,EAAA;IAC9B,IAAInB,WAAW,GAAQ,EAAE;AACzBmB,IAAAA,cAAc,CAACP,OAAO,CAACvE,IAAI,IAAI,IAAI,CAAC0D,YAAY,CAAC1D,IAAI,EAAE,CAAC,EAAE2D,WAAW,EAAE,EAAE,CAAC,CAAC;AAC3E,IAAA,OAAOA,WAAW;AACpB;AAMAoB,EAAAA,oBAAoBA,CAACC,KAAU,EAAEC,WAA8B,EAAA;IAC7D,IAAIC,OAAO,GAAQ,EAAE;IACrB,IAAIC,aAAa,GAAc,EAAE;AACjCA,IAAAA,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;AAEvBH,IAAAA,KAAK,CAACT,OAAO,CAACvE,IAAI,IAAG;MACnB,IAAIoF,MAAM,GAAG,IAAI;AACjB,MAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,IAAI,CAAC9B,QAAQ,CAACvD,IAAI,CAAC,EAAEqF,CAAC,EAAE,EAAE;AAC7CD,QAAAA,MAAM,GAAGA,MAAM,IAAID,aAAa,CAACE,CAAC,CAAC;AACrC;AACA,MAAA,IAAID,MAAM,EAAE;AACVF,QAAAA,OAAO,CAACpB,IAAI,CAAC9D,IAAI,CAAC;AACpB;AACA,MAAA,IAAI,IAAI,CAACwD,YAAY,CAACxD,IAAI,CAAC,EAAE;AAC3BmF,QAAAA,aAAa,CAAC,IAAI,CAAC5B,QAAQ,CAACvD,IAAI,CAAC,GAAG,CAAC,CAAC,GAAGiF,WAAW,CAACK,UAAU,CAACtF,IAAI,CAAC;AACvE;AACF,KAAC,CAAC;AACF,IAAA,OAAOkF,OAAO;AAChB;AACD;AAaK,MAAOK,qBAAmC,SAAQC,UAAa,CAAA;EAezDC,YAAA;EACAC,cAAA;AAfOC,EAAAA,cAAc,GAAG,IAAIC,eAAe,CAAM,EAAE,CAAC;AAC7CC,EAAAA,aAAa,GAAG,IAAID,eAAe,CAAM,EAAE,CAAC;EAE7D,IAAIjG,IAAIA,GAAA;AACN,IAAA,OAAO,IAAI,CAACmG,KAAK,CAACjJ,KAAK;AACzB;EACA,IAAI8C,IAAIA,CAAC9C,KAAU,EAAA;AACjB,IAAA,IAAI,CAACiJ,KAAK,CAACC,IAAI,CAAClJ,KAAK,CAAC;AACtB,IAAA,IAAI,CAAC8I,cAAc,CAACI,IAAI,CAAC,IAAI,CAACL,cAAc,CAACb,YAAY,CAAC,IAAI,CAAClF,IAAI,CAAC,CAAC;IACrE,IAAI,CAAC8F,YAAY,CAACO,SAAS,GAAG,IAAI,CAACL,cAAc,CAAC9I,KAAK;AACzD;AACiBiJ,EAAAA,KAAK,GAAG,IAAIF,eAAe,CAAM,EAAE,CAAC;AAErDvI,EAAAA,WAAAA,CACUoI,YAAmC,EACnCC,cAAyC,EACjDO,WAAiB,EAAA;AAEjB,IAAA,KAAK,EAAE;IAJC,IAAY,CAAAR,YAAA,GAAZA,YAAY;IACZ,IAAc,CAAAC,cAAA,GAAdA,cAAc;AAKtB,IAAA,IAAIO,WAAW,EAAE;MAEf,IAAI,CAACtG,IAAI,GAAGsG,WAAW;AACzB;AACF;EAEAC,OAAOA,CAACC,gBAAkC,EAAA;IACxC,OAAOC,KAAK,CACVD,gBAAgB,CAACE,UAAU,EAC3B,IAAI,CAACZ,YAAY,CAACa,cAAc,CAACC,OAAO,EACxC,IAAI,CAACZ,cAAc,CACpB,CAACxB,IAAI,CACJqC,GAAG,CAAC,MAAK;MACP,IAAI,CAACX,aAAa,CAACE,IAAI,CACrB,IAAI,CAACL,cAAc,CAACX,oBAAoB,CAAC,IAAI,CAACY,cAAc,CAAC9I,KAAK,EAAE,IAAI,CAAC4I,YAAY,CAAC,CACvF;AACD,MAAA,OAAO,IAAI,CAACI,aAAa,CAAChJ,KAAK;AACjC,KAAC,CAAC,CACH;AACH;EAEA4J,UAAUA,GAAA;AAGX;;AChKK,MAAOC,uBAA2B,SAAQlB,UAAa,CAAA;EAI3D,IAAI7F,IAAIA,GAAA;AACN,IAAA,OAAO,IAAI,CAACmG,KAAK,CAACjJ,KAAK;AACzB;EACA,IAAI8C,IAAIA,CAAC9C,KAAU,EAAA;AACjB,IAAA,IAAI,CAACiJ,KAAK,CAACC,IAAI,CAAClJ,KAAK,CAAC;AACxB;AACiBiJ,EAAAA,KAAK,GAAG,IAAIF,eAAe,CAAM,EAAE,CAAC;EAErDM,OAAOA,CAACC,gBAAkC,EAAA;IACxC,OAAOC,KAAK,CAAC,GAAI,CAACD,gBAAgB,CAACE,UAAU,EAAE,IAAI,CAACP,KAAK,CAA2B,CAAC,CAAC3B,IAAI,CACxFqC,GAAG,CAAC,MAAM,IAAI,CAAC7G,IAAI,CAAC,CACrB;AACH;EAEA8G,UAAUA,GAAA;AAGX;;;;"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
@use './m2-form-field';
|
|
2
|
+
@use './m3-form-field';
|
|
3
|
+
@use '../core/theming/inspection';
|
|
4
|
+
@use '../core/typography/typography';
|
|
5
|
+
@use '../core/tokens/token-utils';
|
|
6
|
+
@use 'sass:map';
|
|
7
|
+
|
|
8
|
+
@mixin base($theme) {
|
|
9
|
+
$tokens: map.get(m2-form-field.get-tokens($theme), base);
|
|
10
|
+
@if inspection.get-theme-version($theme) == 1 {
|
|
11
|
+
$tokens: map.get(m3-form-field.get-tokens($theme), base);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@include token-utils.values($tokens);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/// Outputs color theme styles for the mat-form-field.
|
|
18
|
+
/// @param {Map} $theme The theme to generate color styles for.
|
|
19
|
+
/// @param {String} $color-variant The color variant to use for the component (M3 only)
|
|
20
|
+
@mixin color($theme, $color-variant: null) {
|
|
21
|
+
$tokens: map.get(m2-form-field.get-tokens($theme), color);
|
|
22
|
+
@if inspection.get-theme-version($theme) == 1 {
|
|
23
|
+
$tokens: map.get(m3-form-field.get-tokens($theme, $color-variant), color);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@include token-utils.values($tokens);
|
|
27
|
+
|
|
28
|
+
@if inspection.get-theme-version($theme) != 1 {
|
|
29
|
+
.mat-mdc-form-field.mat-accent {
|
|
30
|
+
$tokens: m2-form-field.private-get-color-palette-color-tokens($theme, secondary);
|
|
31
|
+
@include token-utils.values($tokens);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.mat-mdc-form-field.mat-warn {
|
|
35
|
+
$tokens: m2-form-field.private-get-color-palette-color-tokens($theme, error);
|
|
36
|
+
@include token-utils.values($tokens);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@mixin typography($theme) {
|
|
42
|
+
$tokens: map.get(m2-form-field.get-tokens($theme), typography);
|
|
43
|
+
@if inspection.get-theme-version($theme) == 1 {
|
|
44
|
+
$tokens: map.get(m3-form-field.get-tokens($theme), typography);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@include token-utils.values($tokens);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@mixin density($theme) {
|
|
51
|
+
$tokens: map.get(m2-form-field.get-tokens($theme), density);
|
|
52
|
+
@if inspection.get-theme-version($theme) == 1 {
|
|
53
|
+
$tokens: map.get(m3-form-field.get-tokens($theme), density);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@include token-utils.values($tokens);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/// Defines the tokens that will be available in the `overrides` mixin and for docs extraction.
|
|
60
|
+
@function _define-overrides() {
|
|
61
|
+
@return (
|
|
62
|
+
(
|
|
63
|
+
namespace: form-field,
|
|
64
|
+
tokens: token-utils.get-overrides(m3-form-field.get-tokens(), form-field),
|
|
65
|
+
),
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/// Outputs the CSS variable values for the given tokens.
|
|
70
|
+
/// @param {Map} $tokens The token values to emit.
|
|
71
|
+
@mixin overrides($tokens: ()) {
|
|
72
|
+
@include token-utils.batch-create-token-values($tokens, _define-overrides());
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/// Outputs all (base, color, typography, and density) theme styles for the mat-form-field.
|
|
76
|
+
/// @param {Map} $theme The theme to generate styles for.
|
|
77
|
+
/// @param {String} $color-variant The color variant to use for the component (M3 only)
|
|
78
|
+
@mixin theme($theme, $color-variant: null) {
|
|
79
|
+
@if inspection.get-theme-version($theme) == 1 {
|
|
80
|
+
@include base($theme);
|
|
81
|
+
@include color($theme, $color-variant);
|
|
82
|
+
@include density($theme);
|
|
83
|
+
@include typography($theme);
|
|
84
|
+
} @else {
|
|
85
|
+
@include base($theme);
|
|
86
|
+
@if inspection.theme-has($theme, color) {
|
|
87
|
+
@include color($theme);
|
|
88
|
+
}
|
|
89
|
+
@if inspection.theme-has($theme, density) {
|
|
90
|
+
@include density($theme);
|
|
91
|
+
}
|
|
92
|
+
@if inspection.theme-has($theme, typography) {
|
|
93
|
+
@include typography($theme);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
@use '../core/m2/palette' as m2-palette;
|
|
2
|
+
@use '../core/tokens/m2-utils';
|
|
3
|
+
@use '../core/tokens/m3-utils';
|
|
4
|
+
@use '../core/theming/inspection';
|
|
5
|
+
@use '../core/theming/theming';
|
|
6
|
+
@use 'sass:color';
|
|
7
|
+
@use 'sass:map';
|
|
8
|
+
@use 'sass:math';
|
|
9
|
+
@use 'sass:meta';
|
|
10
|
+
|
|
11
|
+
@function get-tokens($theme) {
|
|
12
|
+
$system: m2-utils.get-system($theme);
|
|
13
|
+
$disabled: m3-utils.color-with-opacity(map.get($system, on-surface), 38%);
|
|
14
|
+
|
|
15
|
+
// TODO: Use system colors instead of checking theme type
|
|
16
|
+
$is-dark: false;
|
|
17
|
+
@if (meta.type-of($theme) == map and map.get($theme, color)) {
|
|
18
|
+
$is-dark: inspection.get-theme-type($theme) == dark;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// Note the spelling of the `GrayText` here which is a system color. See:
|
|
22
|
+
// https://developer.mozilla.org/en-US/docs/Web/CSS/system-color
|
|
23
|
+
$select-disabled-option-text-color: GrayText;
|
|
24
|
+
$select-option-text-color: inherit;
|
|
25
|
+
|
|
26
|
+
@if ($is-dark) {
|
|
27
|
+
// On dark themes we set the native `select` color to some shade of white,
|
|
28
|
+
// however the color propagates to all of the `option` elements, which are
|
|
29
|
+
// always on a white background inside the dropdown, causing them to blend in.
|
|
30
|
+
// Since we can't change background of the dropdown, we need to explicitly
|
|
31
|
+
// reset the color of the options to something dark.
|
|
32
|
+
$select-option-text-color: m2-palette.$dark-primary-text;
|
|
33
|
+
$select-disabled-option-text-color: m2-palette.$dark-disabled-text;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@return (
|
|
37
|
+
base: (
|
|
38
|
+
form-field-filled-active-indicator-height: 1px,
|
|
39
|
+
form-field-filled-focus-active-indicator-height: 2px,
|
|
40
|
+
form-field-filled-container-shape: 4px,
|
|
41
|
+
form-field-outlined-outline-width: 1px,
|
|
42
|
+
form-field-outlined-focus-outline-width: 2px,
|
|
43
|
+
form-field-outlined-container-shape: 4px,
|
|
44
|
+
),
|
|
45
|
+
color: map.merge(private-get-color-palette-color-tokens($theme, primary), (
|
|
46
|
+
// MDC has a token for the enabled placeholder, but not for the disabled one.
|
|
47
|
+
form-field-disabled-input-text-placeholder-color: $disabled,
|
|
48
|
+
form-field-state-layer-color: map.get($system, on-surface),
|
|
49
|
+
form-field-error-text-color: map.get($system, error),
|
|
50
|
+
form-field-select-option-text-color: $select-option-text-color,
|
|
51
|
+
form-field-select-disabled-option-text-color: $select-disabled-option-text-color,
|
|
52
|
+
|
|
53
|
+
// These tokens are necessary for M3. MDC has them built in already, but:
|
|
54
|
+
// 1. They are too specific, breaking a lot of internal clients.
|
|
55
|
+
// 2. The larger selectors result in a larger bundle.
|
|
56
|
+
// Note: MDC has tokens for all the various states of the icons. Some of them are ommitted,
|
|
57
|
+
// because they resolve to the same value (e.g. focus and base states for the leading icon
|
|
58
|
+
// are the same).
|
|
59
|
+
form-field-leading-icon-color: unset,
|
|
60
|
+
form-field-disabled-leading-icon-color: unset,
|
|
61
|
+
form-field-trailing-icon-color: unset,
|
|
62
|
+
form-field-disabled-trailing-icon-color: unset,
|
|
63
|
+
form-field-error-focus-trailing-icon-color: unset,
|
|
64
|
+
form-field-error-hover-trailing-icon-color: unset,
|
|
65
|
+
form-field-error-trailing-icon-color: unset,
|
|
66
|
+
form-field-enabled-select-arrow-color: map.get($system, on-surface-variant),
|
|
67
|
+
form-field-disabled-select-arrow-color: $disabled,
|
|
68
|
+
form-field-hover-state-layer-opacity: map.get($system, hover-state-layer-opacity),
|
|
69
|
+
form-field-focus-state-layer-opacity: map.get($system, focus-state-layer-opacity),
|
|
70
|
+
form-field-filled-container-color: map.get($system, surface-variant),
|
|
71
|
+
form-field-filled-disabled-container-color:
|
|
72
|
+
m3-utils.color-with-opacity(map.get($system, on-surface), 4%),
|
|
73
|
+
form-field-filled-label-text-color: map.get($system, on-surface-variant),
|
|
74
|
+
form-field-filled-hover-label-text-color: map.get($system, on-surface-variant),
|
|
75
|
+
form-field-filled-disabled-label-text-color: $disabled,
|
|
76
|
+
form-field-filled-input-text-color: map.get($system, on-surface),
|
|
77
|
+
form-field-filled-disabled-input-text-color: $disabled,
|
|
78
|
+
form-field-filled-input-text-placeholder-color: map.get($system, on-surface-variant),
|
|
79
|
+
form-field-filled-error-hover-label-text-color: map.get($system, error),
|
|
80
|
+
form-field-filled-error-focus-label-text-color: map.get($system, error),
|
|
81
|
+
form-field-filled-error-label-text-color: map.get($system, error),
|
|
82
|
+
form-field-filled-error-caret-color: map.get($system, error),
|
|
83
|
+
form-field-filled-active-indicator-color: map.get($system, on-surface-variant),
|
|
84
|
+
form-field-filled-disabled-active-indicator-color:
|
|
85
|
+
m3-utils.color-with-opacity(map.get($system, on-surface), 12%),
|
|
86
|
+
form-field-filled-hover-active-indicator-color: map.get($system, on-surface),
|
|
87
|
+
form-field-filled-error-active-indicator-color: map.get($system, error),
|
|
88
|
+
form-field-filled-error-focus-active-indicator-color: map.get($system, error),
|
|
89
|
+
form-field-filled-error-hover-active-indicator-color: map.get($system, error),
|
|
90
|
+
form-field-outlined-label-text-color: map.get($system, on-surface-variant),
|
|
91
|
+
form-field-outlined-hover-label-text-color: map.get($system, on-surface),
|
|
92
|
+
form-field-outlined-disabled-label-text-color: $disabled,
|
|
93
|
+
form-field-outlined-input-text-color: map.get($system, on-surface),
|
|
94
|
+
form-field-outlined-disabled-input-text-color: $disabled,
|
|
95
|
+
form-field-outlined-input-text-placeholder-color: map.get($system, on-surface-variant),
|
|
96
|
+
form-field-outlined-error-caret-color: map.get($system, error),
|
|
97
|
+
form-field-outlined-error-focus-label-text-color: map.get($system, error),
|
|
98
|
+
form-field-outlined-error-label-text-color: map.get($system, error),
|
|
99
|
+
form-field-outlined-error-hover-label-text-color: map.get($system, error),
|
|
100
|
+
form-field-outlined-outline-color: map.get($system, outline-variant),
|
|
101
|
+
form-field-outlined-disabled-outline-color:
|
|
102
|
+
m3-utils.color-with-opacity(map.get($system, on-surface), 12%),
|
|
103
|
+
form-field-outlined-hover-outline-color: map.get($system, on-surface),
|
|
104
|
+
form-field-outlined-error-focus-outline-color: map.get($system, error),
|
|
105
|
+
form-field-outlined-error-hover-outline-color: map.get($system, error),
|
|
106
|
+
form-field-outlined-error-outline-color: map.get($system, error),
|
|
107
|
+
)),
|
|
108
|
+
typography: (
|
|
109
|
+
// MDC uses `subtitle1` for the input value, placeholder and floating label. The spec
|
|
110
|
+
// shows `body1` for text fields though, so we manually override the typography.
|
|
111
|
+
// Note: Form controls inherit the typography from the parent form field.
|
|
112
|
+
form-field-container-text-font: map.get($system, body-large-font),
|
|
113
|
+
form-field-container-text-line-height: map.get($system, body-large-line-height),
|
|
114
|
+
form-field-container-text-size: map.get($system, body-large-size),
|
|
115
|
+
form-field-container-text-tracking: map.get($system, body-large-tracking),
|
|
116
|
+
form-field-container-text-weight: map.get($system, body-large-weight),
|
|
117
|
+
|
|
118
|
+
// In container styles, we updated the floating label to use the `body-1` typography level.
|
|
119
|
+
// The MDC notched outline overrides this accidentally (only when the label floats) to a
|
|
120
|
+
// `rem`-based value. This results in different label widths when floated/docked and then
|
|
121
|
+
// breaks the notch width as it has been measured in the docked state (where `body-1` is
|
|
122
|
+
// applied). We try to unset these styles set by the `mdc-notched-outline`:
|
|
123
|
+
// https://github.com/material-components/material-components-web/blob/master/packages/mdc-notched-outline/_mixins.scss#L272-L292.
|
|
124
|
+
// This is why we can't use their `label-text-populated-size` token and we have to declare
|
|
125
|
+
// our own version of it.
|
|
126
|
+
form-field-outlined-label-text-populated-size: map.get($system, body-large-size),
|
|
127
|
+
|
|
128
|
+
form-field-subscript-text-font: map.get($system, body-small-font),
|
|
129
|
+
form-field-subscript-text-line-height: map.get($system, body-small-line-height),
|
|
130
|
+
form-field-subscript-text-size: map.get($system, body-small-size),
|
|
131
|
+
form-field-subscript-text-tracking: map.get($system, body-small-tracking),
|
|
132
|
+
form-field-subscript-text-weight: map.get($system, body-small-weight),
|
|
133
|
+
form-field-filled-label-text-font: map.get($system, body-large-font),
|
|
134
|
+
form-field-filled-label-text-size: map.get($system, body-large-size),
|
|
135
|
+
form-field-filled-label-text-tracking: map.get($system, body-large-tracking),
|
|
136
|
+
form-field-filled-label-text-weight: map.get($system, body-large-weight),
|
|
137
|
+
form-field-outlined-label-text-font: map.get($system, body-large-font),
|
|
138
|
+
form-field-outlined-label-text-size: map.get($system, body-large-size),
|
|
139
|
+
form-field-outlined-label-text-tracking: map.get($system, body-large-tracking),
|
|
140
|
+
form-field-outlined-label-text-weight: map.get($system, body-large-weight),
|
|
141
|
+
),
|
|
142
|
+
density: get-density-tokens($theme),
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// Generates the mapping for the properties that change based on the form field color.
|
|
147
|
+
@function private-get-color-palette-color-tokens($theme, $color-variant) {
|
|
148
|
+
$system: m2-utils.get-system($theme);
|
|
149
|
+
$system: m3-utils.replace-colors-with-variant($system, primary, $color-variant);
|
|
150
|
+
|
|
151
|
+
@return (
|
|
152
|
+
form-field-focus-select-arrow-color:
|
|
153
|
+
m3-utils.color-with-opacity(map.get($system, primary), 87%),
|
|
154
|
+
form-field-filled-caret-color: map.get($system, primary),
|
|
155
|
+
form-field-filled-focus-active-indicator-color: map.get($system, primary),
|
|
156
|
+
form-field-filled-focus-label-text-color:
|
|
157
|
+
m3-utils.color-with-opacity(map.get($system, primary), 87%),
|
|
158
|
+
form-field-outlined-caret-color: map.get($system, primary),
|
|
159
|
+
form-field-outlined-focus-outline-color: map.get($system, primary),
|
|
160
|
+
form-field-outlined-focus-label-text-color:
|
|
161
|
+
m3-utils.color-with-opacity(map.get($system, primary), 87%),
|
|
162
|
+
);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// Tokens that can be configured through Angular Material's density theming API.
|
|
166
|
+
@function get-density-tokens($theme) {
|
|
167
|
+
$system: m2-utils.get-system($theme);
|
|
168
|
+
$density-scale: theming.clamp-density(map.get($system, density-scale), -5);
|
|
169
|
+
$size-scale: (
|
|
170
|
+
0: 56px,
|
|
171
|
+
-1: 52px,
|
|
172
|
+
-2: 48px,
|
|
173
|
+
-3: 44px,
|
|
174
|
+
-4: 40px,
|
|
175
|
+
-5: 36px,
|
|
176
|
+
);
|
|
177
|
+
$height: map.get($size-scale, $density-scale);
|
|
178
|
+
$hide-label: $height < 52px;
|
|
179
|
+
|
|
180
|
+
// We computed the desired height of the form-field using the density configuration. The
|
|
181
|
+
// spec only describes vertical spacing/alignment in non-dense mode. This means that we
|
|
182
|
+
// cannot update the spacing to explicit numbers based on the density scale. Instead, we
|
|
183
|
+
// determine the height reduction and equally subtract it from the default `top` and `bottom`
|
|
184
|
+
// padding that is provided by the Material Design specification.
|
|
185
|
+
$vertical-deduction: math.div(56px - $height, 2);
|
|
186
|
+
|
|
187
|
+
// Note: these calculations are trivial enough that we could do them at runtime with `calc`
|
|
188
|
+
// and the value of the `height` token. The problem is that because we need to hide the label
|
|
189
|
+
// if the container becomes too short, we have to change the padding calculation. This is
|
|
190
|
+
// complicated further by the fact that filled form fields without labels have the same
|
|
191
|
+
// vertical padding as outlined ones. Alternatives:
|
|
192
|
+
// 1. Using container queries to hide the label and change the padding - this doesn't work
|
|
193
|
+
// because size container queries require setting the `container-type` property which breaks
|
|
194
|
+
// the form field layout. We could use style queries, but they're only supported in Chrome.
|
|
195
|
+
// 2. Monitoring the size of the label - we already have a `ResizeObserver` on the label so we
|
|
196
|
+
// could reuse it to also check when it becomes `display: none`. This would allows us to remove
|
|
197
|
+
// the three padding tokens. We don't do it, because it would require us to always set up
|
|
198
|
+
// the resize observer, as opposed to currently where it's only set up for outlined form fields.
|
|
199
|
+
// This may lead to performance regressions.
|
|
200
|
+
// 3. Conditionally adding `::before` and `::after` to the infix with positive and negative
|
|
201
|
+
// margin respectively - this works, but is likely to break a lot of overrides that are targeting
|
|
202
|
+
// a specific padding. It also runs the risk of overflowing the container.
|
|
203
|
+
// TODO: switch the padding tokens to style-based container queries
|
|
204
|
+
// when they become available in all the browsers we support.
|
|
205
|
+
$filled-with-label-padding-top: 24px - $vertical-deduction;
|
|
206
|
+
$filled-with-label-padding-bottom: 8px - $vertical-deduction;
|
|
207
|
+
$vertical-padding: 16px - $vertical-deduction;
|
|
208
|
+
$filled-label-display: block;
|
|
209
|
+
$filled-with-label-container-padding-top: $filled-with-label-padding-top;
|
|
210
|
+
$filled-with-label-container-padding-bottom: $filled-with-label-padding-bottom;
|
|
211
|
+
|
|
212
|
+
@if ($hide-label) {
|
|
213
|
+
$filled-label-display: none;
|
|
214
|
+
$filled-with-label-container-padding-top: $vertical-padding;
|
|
215
|
+
$filled-with-label-container-padding-bottom: $vertical-padding;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
@return (
|
|
219
|
+
form-field-container-height: $height,
|
|
220
|
+
form-field-filled-label-display: $filled-label-display,
|
|
221
|
+
form-field-container-vertical-padding: $vertical-padding,
|
|
222
|
+
form-field-filled-with-label-container-padding-top: $filled-with-label-container-padding-top,
|
|
223
|
+
form-field-filled-with-label-container-padding-bottom:
|
|
224
|
+
$filled-with-label-container-padding-bottom,
|
|
225
|
+
);
|
|
226
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
@use 'sass:list';
|
|
3
|
+
@use '../core/tokens/m3-utils';
|
|
4
|
+
@use '../core/theming/theming';
|
|
5
|
+
@use '../core/tokens/m3';
|
|
6
|
+
|
|
7
|
+
// The prefix used to generate the fully qualified name for tokens in this file.
|
|
8
|
+
$prefix: (mat, form-field);
|
|
9
|
+
|
|
10
|
+
/// Generates custom tokens for the mat-form-field.
|
|
11
|
+
/// @param {String} $color-variant The color variant to use for the component
|
|
12
|
+
@function get-tokens($theme: m3.$sys-theme, $color-variant: null) {
|
|
13
|
+
$system: m3-utils.get-system($theme);
|
|
14
|
+
@if $color-variant {
|
|
15
|
+
$system: m3-utils.replace-colors-with-variant($system, primary, $color-variant);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@return (
|
|
19
|
+
base: (
|
|
20
|
+
form-field-filled-active-indicator-height: 1px,
|
|
21
|
+
form-field-filled-focus-active-indicator-height: 2px,
|
|
22
|
+
form-field-filled-container-shape: map.get($system, corner-extra-small),
|
|
23
|
+
form-field-outlined-outline-width: 1px,
|
|
24
|
+
form-field-outlined-focus-outline-width: 2px,
|
|
25
|
+
form-field-outlined-container-shape: map.get($system, corner-extra-small),
|
|
26
|
+
),
|
|
27
|
+
color: (
|
|
28
|
+
form-field-disabled-input-text-placeholder-color:
|
|
29
|
+
m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
|
|
30
|
+
form-field-disabled-leading-icon-color:
|
|
31
|
+
m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
|
|
32
|
+
form-field-disabled-select-arrow-color:
|
|
33
|
+
m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
|
|
34
|
+
form-field-disabled-trailing-icon-color:
|
|
35
|
+
m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
|
|
36
|
+
form-field-enabled-select-arrow-color: map.get($system, on-surface-variant),
|
|
37
|
+
form-field-error-focus-trailing-icon-color: map.get($system, error),
|
|
38
|
+
form-field-error-hover-trailing-icon-color: map.get($system, on-error-container),
|
|
39
|
+
form-field-error-text-color: map.get($system, error),
|
|
40
|
+
form-field-error-trailing-icon-color: map.get($system, error),
|
|
41
|
+
form-field-filled-active-indicator-color: map.get($system, on-surface-variant),
|
|
42
|
+
form-field-filled-caret-color: map.get($system, primary),
|
|
43
|
+
form-field-filled-container-color: map.get($system, surface-variant),
|
|
44
|
+
form-field-filled-disabled-active-indicator-color:
|
|
45
|
+
m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
|
|
46
|
+
form-field-filled-disabled-container-color:
|
|
47
|
+
m3-utils.color-with-opacity(map.get($system, on-surface), 4%),
|
|
48
|
+
form-field-filled-disabled-input-text-color:
|
|
49
|
+
m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
|
|
50
|
+
form-field-filled-disabled-label-text-color:
|
|
51
|
+
m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
|
|
52
|
+
form-field-filled-error-active-indicator-color: map.get($system, error),
|
|
53
|
+
form-field-filled-error-caret-color: map.get($system, error),
|
|
54
|
+
form-field-filled-error-focus-active-indicator-color: map.get($system, error),
|
|
55
|
+
form-field-filled-error-focus-label-text-color: map.get($system, error),
|
|
56
|
+
form-field-filled-error-hover-active-indicator-color: map.get($system, on-error-container),
|
|
57
|
+
form-field-filled-error-hover-label-text-color: map.get($system, on-error-container),
|
|
58
|
+
form-field-filled-error-label-text-color: map.get($system, error),
|
|
59
|
+
form-field-filled-focus-active-indicator-color: map.get($system, primary),
|
|
60
|
+
form-field-filled-focus-label-text-color: map.get($system, primary),
|
|
61
|
+
form-field-filled-hover-active-indicator-color: map.get($system, on-surface),
|
|
62
|
+
form-field-filled-hover-label-text-color: map.get($system, on-surface-variant),
|
|
63
|
+
form-field-filled-input-text-color: map.get($system, on-surface),
|
|
64
|
+
form-field-filled-input-text-placeholder-color: map.get($system, on-surface-variant),
|
|
65
|
+
form-field-filled-label-text-color: map.get($system, on-surface-variant),
|
|
66
|
+
form-field-focus-select-arrow-color: map.get($system, primary),
|
|
67
|
+
form-field-focus-state-layer-opacity: 0,
|
|
68
|
+
form-field-hover-state-layer-opacity: map.get($system, hover-state-layer-opacity),
|
|
69
|
+
form-field-leading-icon-color: map.get($system, on-surface-variant),
|
|
70
|
+
form-field-outlined-caret-color: map.get($system, primary),
|
|
71
|
+
form-field-outlined-disabled-input-text-color:
|
|
72
|
+
m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
|
|
73
|
+
form-field-outlined-disabled-label-text-color:
|
|
74
|
+
m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
|
|
75
|
+
form-field-outlined-disabled-outline-color:
|
|
76
|
+
m3-utils.color-with-opacity(map.get($system, on-surface), 12%),
|
|
77
|
+
form-field-outlined-error-caret-color: map.get($system, error),
|
|
78
|
+
form-field-outlined-error-focus-label-text-color: map.get($system, error),
|
|
79
|
+
form-field-outlined-error-focus-outline-color: map.get($system, error),
|
|
80
|
+
form-field-outlined-error-hover-label-text-color: map.get($system, on-error-container),
|
|
81
|
+
form-field-outlined-error-hover-outline-color: map.get($system, on-error-container),
|
|
82
|
+
form-field-outlined-error-label-text-color: map.get($system, error),
|
|
83
|
+
form-field-outlined-error-outline-color: map.get($system, error),
|
|
84
|
+
form-field-outlined-focus-label-text-color: map.get($system, primary),
|
|
85
|
+
form-field-outlined-focus-outline-color: map.get($system, primary),
|
|
86
|
+
form-field-outlined-hover-label-text-color: map.get($system, on-surface),
|
|
87
|
+
form-field-outlined-hover-outline-color: map.get($system, on-surface),
|
|
88
|
+
form-field-outlined-input-text-color: map.get($system, on-surface),
|
|
89
|
+
form-field-outlined-input-text-placeholder-color: map.get($system, on-surface-variant),
|
|
90
|
+
form-field-outlined-label-text-color: map.get($system, on-surface-variant),
|
|
91
|
+
form-field-outlined-outline-color: map.get($system, outline),
|
|
92
|
+
form-field-select-disabled-option-text-color:
|
|
93
|
+
m3-utils.color-with-opacity(map.get($system, neutral10), 38%),
|
|
94
|
+
form-field-select-option-text-color: map.get($system, neutral10),
|
|
95
|
+
form-field-state-layer-color: map.get($system, on-surface),
|
|
96
|
+
form-field-trailing-icon-color: map.get($system, on-surface-variant),
|
|
97
|
+
),
|
|
98
|
+
typography: (
|
|
99
|
+
form-field-container-text-font: map.get($system, body-large-font),
|
|
100
|
+
form-field-container-text-line-height: map.get($system, body-large-line-height),
|
|
101
|
+
form-field-container-text-size: map.get($system, body-large-size),
|
|
102
|
+
form-field-container-text-tracking: map.get($system, body-large-tracking),
|
|
103
|
+
form-field-container-text-weight: map.get($system, body-large-weight),
|
|
104
|
+
form-field-subscript-text-font: map.get($system, body-small-font),
|
|
105
|
+
form-field-subscript-text-line-height: map.get($system, body-small-line-height),
|
|
106
|
+
form-field-subscript-text-size: map.get($system, body-small-size),
|
|
107
|
+
form-field-subscript-text-tracking: map.get($system, body-small-tracking),
|
|
108
|
+
form-field-subscript-text-weight: map.get($system, body-small-weight),
|
|
109
|
+
form-field-outlined-label-text-font: map.get($system, body-large-font),
|
|
110
|
+
form-field-outlined-label-text-size: map.get($system, body-large-size),
|
|
111
|
+
form-field-outlined-label-text-tracking: map.get($system, body-large-tracking),
|
|
112
|
+
form-field-outlined-label-text-weight: map.get($system, body-large-weight),
|
|
113
|
+
form-field-filled-label-text-font: map.get($system, body-large-font),
|
|
114
|
+
form-field-filled-label-text-size: map.get($system, body-large-size),
|
|
115
|
+
form-field-filled-label-text-tracking: map.get($system, body-large-tracking),
|
|
116
|
+
form-field-filled-label-text-weight: map.get($system, body-large-weight),
|
|
117
|
+
form-field-outlined-label-text-populated-size: null,
|
|
118
|
+
),
|
|
119
|
+
density: get-density-tokens(map.get($system, density-scale)),
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// Tokens that can be configured through Angular Material's density theming API.
|
|
124
|
+
@function get-density-tokens($scale) {
|
|
125
|
+
$scale: theming.clamp-density($scale, -5);
|
|
126
|
+
$index: ($scale * -1) + 1;
|
|
127
|
+
|
|
128
|
+
@return (
|
|
129
|
+
form-field-container-height: list.nth((56px, 52px, 48px, 44px, 40px, 36px), $index),
|
|
130
|
+
form-field-filled-label-display: list.nth((block, block, none, none, none, none), $index),
|
|
131
|
+
form-field-container-vertical-padding: list.nth((16px, 14px, 12px, 10px, 8px, 6px), $index),
|
|
132
|
+
form-field-filled-with-label-container-padding-top:
|
|
133
|
+
list.nth((24px, 22px, 12px, 10px, 8px, 6px), $index),
|
|
134
|
+
form-field-filled-with-label-container-padding-bottom:
|
|
135
|
+
list.nth((8px, 6px, 12px, 10px, 8px, 6px), $index),
|
|
136
|
+
);
|
|
137
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
@use '../core/theming/inspection';
|
|
3
|
+
@use '../core/typography/typography';
|
|
4
|
+
@use './m2-grid-list';
|
|
5
|
+
@use './m3-grid-list';
|
|
6
|
+
@use '../core/tokens/token-utils';
|
|
7
|
+
|
|
8
|
+
@mixin base($theme) {
|
|
9
|
+
$tokens: map.get(m2-grid-list.get-tokens($theme), base);
|
|
10
|
+
@if inspection.get-theme-version($theme) == 1 {
|
|
11
|
+
$tokens: map.get(m3-grid-list.get-tokens($theme), base);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@include token-utils.values($tokens);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@mixin color($theme) {
|
|
18
|
+
$tokens: map.get(m2-grid-list.get-tokens($theme), color);
|
|
19
|
+
@if inspection.get-theme-version($theme) == 1 {
|
|
20
|
+
$tokens: map.get(m3-grid-list.get-tokens($theme), color);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@include token-utils.values($tokens);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@mixin typography($theme) {
|
|
27
|
+
$tokens: map.get(m2-grid-list.get-tokens($theme), typography);
|
|
28
|
+
@if inspection.get-theme-version($theme) == 1 {
|
|
29
|
+
$tokens: map.get(m3-grid-list.get-tokens($theme), typography);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@include token-utils.values($tokens);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@mixin density($theme) {
|
|
36
|
+
$tokens: map.get(m2-grid-list.get-tokens($theme), density);
|
|
37
|
+
@if inspection.get-theme-version($theme) == 1 {
|
|
38
|
+
$tokens: map.get(m3-grid-list.get-tokens($theme), density);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@include token-utils.values($tokens);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/// Defines the tokens that will be available in the `overrides` mixin and for docs extraction.
|
|
45
|
+
@function _define-overrides() {
|
|
46
|
+
@return (
|
|
47
|
+
(
|
|
48
|
+
namespace: grid-list,
|
|
49
|
+
tokens: token-utils.get-overrides(m3-grid-list.get-tokens(), grid-list)
|
|
50
|
+
),
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@mixin overrides($tokens: ()) {
|
|
55
|
+
@include token-utils.batch-create-token-values($tokens, _define-overrides());
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
@mixin theme($theme) {
|
|
59
|
+
@if inspection.get-theme-version($theme) == 1 {
|
|
60
|
+
@include base($theme);
|
|
61
|
+
@include color($theme);
|
|
62
|
+
@include density($theme);
|
|
63
|
+
@include typography($theme);
|
|
64
|
+
} @else {
|
|
65
|
+
@include base($theme);
|
|
66
|
+
@if inspection.theme-has($theme, color) {
|
|
67
|
+
@include color($theme);
|
|
68
|
+
}
|
|
69
|
+
@if inspection.theme-has($theme, density) {
|
|
70
|
+
@include density($theme);
|
|
71
|
+
}
|
|
72
|
+
@if inspection.theme-has($theme, typography) {
|
|
73
|
+
@include typography($theme);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
@use '../core/tokens/m2-utils';
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
|
|
4
|
+
@function get-tokens($theme) {
|
|
5
|
+
$system: m2-utils.get-system($theme);
|
|
6
|
+
|
|
7
|
+
@return (
|
|
8
|
+
base: (),
|
|
9
|
+
color: (),
|
|
10
|
+
typography: (
|
|
11
|
+
// TODO(crisbeto): other components have tokens for all typography dimensions.
|
|
12
|
+
// Here we only set the font size to maintain the same appearance as the pre-tokens
|
|
13
|
+
// theming API. Consider adding more tokens for letter spacing, font weight etc.
|
|
14
|
+
grid-list-tile-header-primary-text-size: map.get($system, body-medium-size),
|
|
15
|
+
grid-list-tile-header-secondary-text-size: map.get($system, body-small-size),
|
|
16
|
+
grid-list-tile-footer-primary-text-size: map.get($system, body-medium-size),
|
|
17
|
+
grid-list-tile-footer-secondary-text-size: map.get($system, body-small-size),
|
|
18
|
+
),
|
|
19
|
+
density: (),
|
|
20
|
+
);
|
|
21
|
+
}
|