@material/web 0.1.0-alpha.0
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 +202 -0
- package/README.md +34 -0
- package/actionelement/action-element.d.ts +79 -0
- package/actionelement/action-element.js +97 -0
- package/actionelement/action-element.js.map +1 -0
- package/badge/badge.d.ts +19 -0
- package/badge/badge.js +22 -0
- package/badge/badge.js.map +1 -0
- package/badge/lib/_badge-theme.scss +118 -0
- package/badge/lib/_badge.scss +41 -0
- package/badge/lib/badge-styles.css.d.ts +1 -0
- package/badge/lib/badge-styles.css.js +9 -0
- package/badge/lib/badge-styles.css.js.map +1 -0
- package/badge/lib/badge-styles.scss +16 -0
- package/badge/lib/badge.d.ts +15 -0
- package/badge/lib/badge.js +31 -0
- package/badge/lib/badge.js.map +1 -0
- package/button/_elevated-button.scss +8 -0
- package/button/_filled-button.scss +8 -0
- package/button/_outlined-button.scss +8 -0
- package/button/_text-button.scss +8 -0
- package/button/_tonal-button.scss +8 -0
- package/button/elevated-button.d.ts +19 -0
- package/button/elevated-button.js +24 -0
- package/button/elevated-button.js.map +1 -0
- package/button/elevated-link-button.d.ts +19 -0
- package/button/elevated-link-button.js +24 -0
- package/button/elevated-link-button.js.map +1 -0
- package/button/filled-button.d.ts +19 -0
- package/button/filled-button.js +23 -0
- package/button/filled-button.js.map +1 -0
- package/button/filled-link-button.d.ts +19 -0
- package/button/filled-link-button.js +23 -0
- package/button/filled-link-button.js.map +1 -0
- package/button/harness.d.ts +13 -0
- package/button/harness.js +16 -0
- package/button/harness.js.map +1 -0
- package/button/lib/_button-theme.scss +204 -0
- package/button/lib/_button.scss +88 -0
- package/button/lib/_elevated-button-theme.scss +53 -0
- package/button/lib/_elevated-button.scss +8 -0
- package/button/lib/_elevation-theme.scss +94 -0
- package/button/lib/_filled-button-theme.scss +53 -0
- package/button/lib/_filled-button.scss +8 -0
- package/button/lib/_icon-theme.scss +67 -0
- package/button/lib/_icon.scss +49 -0
- package/button/lib/_outlined-button-theme.scss +112 -0
- package/button/lib/_outlined-button.scss +25 -0
- package/button/lib/_text-button-theme.scss +57 -0
- package/button/lib/_text-button.scss +8 -0
- package/button/lib/_tonal-button-theme.scss +53 -0
- package/button/lib/_tonal-button.scss +8 -0
- package/button/lib/_touch-target.scss +16 -0
- package/button/lib/button.d.ts +76 -0
- package/button/lib/button.js +238 -0
- package/button/lib/button.js.map +1 -0
- package/button/lib/elevated-button.d.ts +15 -0
- package/button/lib/elevated-button.js +22 -0
- package/button/lib/elevated-button.js.map +1 -0
- package/button/lib/elevated-link-button.d.ts +15 -0
- package/button/lib/elevated-link-button.js +22 -0
- package/button/lib/elevated-link-button.js.map +1 -0
- package/button/lib/elevated-styles.css.d.ts +1 -0
- package/button/lib/elevated-styles.css.js +9 -0
- package/button/lib/elevated-styles.css.js.map +1 -0
- package/button/lib/elevated-styles.scss +18 -0
- package/button/lib/filled-button.d.ts +12 -0
- package/button/lib/filled-button.js +17 -0
- package/button/lib/filled-button.js.map +1 -0
- package/button/lib/filled-link-button.d.ts +12 -0
- package/button/lib/filled-link-button.js +17 -0
- package/button/lib/filled-link-button.js.map +1 -0
- package/button/lib/filled-styles.css.d.ts +1 -0
- package/button/lib/filled-styles.css.js +9 -0
- package/button/lib/filled-styles.css.js.map +1 -0
- package/button/lib/filled-styles.scss +16 -0
- package/button/lib/link-button.d.ts +17 -0
- package/button/lib/link-button.js +53 -0
- package/button/lib/link-button.js.map +1 -0
- package/button/lib/outlined-button.d.ts +15 -0
- package/button/lib/outlined-button.js +22 -0
- package/button/lib/outlined-button.js.map +1 -0
- package/button/lib/outlined-link-button.d.ts +15 -0
- package/button/lib/outlined-link-button.js +22 -0
- package/button/lib/outlined-link-button.js.map +1 -0
- package/button/lib/outlined-styles.css.d.ts +1 -0
- package/button/lib/outlined-styles.css.js +9 -0
- package/button/lib/outlined-styles.css.js.map +1 -0
- package/button/lib/outlined-styles.scss +18 -0
- package/button/lib/shared-styles.css.d.ts +1 -0
- package/button/lib/shared-styles.css.js +9 -0
- package/button/lib/shared-styles.css.js.map +1 -0
- package/button/lib/shared-styles.scss +12 -0
- package/button/lib/state.d.ts +10 -0
- package/button/lib/state.js +7 -0
- package/button/lib/state.js.map +1 -0
- package/button/lib/text-button.d.ts +12 -0
- package/button/lib/text-button.js +17 -0
- package/button/lib/text-button.js.map +1 -0
- package/button/lib/text-link-button.d.ts +12 -0
- package/button/lib/text-link-button.js +17 -0
- package/button/lib/text-link-button.js.map +1 -0
- package/button/lib/text-styles.css.d.ts +1 -0
- package/button/lib/text-styles.css.js +9 -0
- package/button/lib/text-styles.css.js.map +1 -0
- package/button/lib/text-styles.scss +16 -0
- package/button/lib/tonal-button.d.ts +12 -0
- package/button/lib/tonal-button.js +17 -0
- package/button/lib/tonal-button.js.map +1 -0
- package/button/lib/tonal-link-button.d.ts +12 -0
- package/button/lib/tonal-link-button.js +17 -0
- package/button/lib/tonal-link-button.js.map +1 -0
- package/button/lib/tonal-styles.css.d.ts +1 -0
- package/button/lib/tonal-styles.css.js +9 -0
- package/button/lib/tonal-styles.css.js.map +1 -0
- package/button/lib/tonal-styles.scss +16 -0
- package/button/outlined-button.d.ts +19 -0
- package/button/outlined-button.js +23 -0
- package/button/outlined-button.js.map +1 -0
- package/button/outlined-link-button.d.ts +19 -0
- package/button/outlined-link-button.js +23 -0
- package/button/outlined-link-button.js.map +1 -0
- package/button/text-button.d.ts +19 -0
- package/button/text-button.js +23 -0
- package/button/text-button.js.map +1 -0
- package/button/text-link-button.d.ts +19 -0
- package/button/text-link-button.js +23 -0
- package/button/text-link-button.js.map +1 -0
- package/button/tonal-button.d.ts +19 -0
- package/button/tonal-button.js +23 -0
- package/button/tonal-button.js.map +1 -0
- package/button/tonal-link-button.d.ts +19 -0
- package/button/tonal-link-button.js +23 -0
- package/button/tonal-link-button.js.map +1 -0
- package/checkbox/_checkbox.scss +1 -0
- package/checkbox/checkbox.d.ts +15 -0
- package/checkbox/checkbox.js +18 -0
- package/checkbox/checkbox.js.map +1 -0
- package/checkbox/harness.d.ts +13 -0
- package/checkbox/harness.js +16 -0
- package/checkbox/harness.js.map +1 -0
- package/checkbox/lib/_checkbox-theme.scss +532 -0
- package/checkbox/lib/_checkbox.scss +424 -0
- package/checkbox/lib/checkbox-styles.css.d.ts +1 -0
- package/checkbox/lib/checkbox-styles.css.js +9 -0
- package/checkbox/lib/checkbox-styles.css.js.map +1 -0
- package/checkbox/lib/checkbox-styles.scss +15 -0
- package/checkbox/lib/checkbox.d.ts +56 -0
- package/checkbox/lib/checkbox.js +238 -0
- package/checkbox/lib/checkbox.js.map +1 -0
- package/chips/action/lib/action.d.ts +34 -0
- package/chips/action/lib/action.js +83 -0
- package/chips/action/lib/action.js.map +1 -0
- package/chips/action/lib/adapter.d.ts +21 -0
- package/chips/action/lib/adapter.js +7 -0
- package/chips/action/lib/adapter.js.map +1 -0
- package/chips/action/lib/constants.d.ts +62 -0
- package/chips/action/lib/constants.js +69 -0
- package/chips/action/lib/constants.js.map +1 -0
- package/chips/action/lib/foundation.d.ts +31 -0
- package/chips/action/lib/foundation.js +151 -0
- package/chips/action/lib/foundation.js.map +1 -0
- package/chips/action/lib/link-action.d.ts +17 -0
- package/chips/action/lib/link-action.js +43 -0
- package/chips/action/lib/link-action.js.map +1 -0
- package/chips/action/lib/presentational-action.d.ts +15 -0
- package/chips/action/lib/presentational-action.js +30 -0
- package/chips/action/lib/presentational-action.js.map +1 -0
- package/chips/action/lib/primary-action.d.ts +29 -0
- package/chips/action/lib/primary-action.js +83 -0
- package/chips/action/lib/primary-action.js.map +1 -0
- package/chips/action/lib/primary-foundation.d.ts +16 -0
- package/chips/action/lib/primary-foundation.js +24 -0
- package/chips/action/lib/primary-foundation.js.map +1 -0
- package/chips/action/lib/selectable-action.d.ts +17 -0
- package/chips/action/lib/selectable-action.js +57 -0
- package/chips/action/lib/selectable-action.js.map +1 -0
- package/chips/action/lib/trailing-action.d.ts +20 -0
- package/chips/action/lib/trailing-action.js +62 -0
- package/chips/action/lib/trailing-action.js.map +1 -0
- package/chips/action/lib/trailing-foundation.d.ts +16 -0
- package/chips/action/lib/trailing-foundation.js +23 -0
- package/chips/action/lib/trailing-foundation.js.map +1 -0
- package/chips/action/lib/types.d.ts +23 -0
- package/chips/action/lib/types.js +7 -0
- package/chips/action/lib/types.js.map +1 -0
- package/chips/chip/lib/_assist-chip-theme.scss +101 -0
- package/chips/chip/lib/_chip-theme.scss +1329 -0
- package/chips/chip/lib/_chip.scss +427 -0
- package/chips/chip/lib/_filter-chip-theme.scss +132 -0
- package/chips/chip/lib/_input-chip-theme.scss +103 -0
- package/chips/chip/lib/_suggestion-chip-theme.scss +94 -0
- package/chips/chip/lib/adapter.d.ts +50 -0
- package/chips/chip/lib/adapter.js +7 -0
- package/chips/chip/lib/adapter.js.map +1 -0
- package/chips/chip/lib/constants.d.ts +43 -0
- package/chips/chip/lib/constants.js +48 -0
- package/chips/chip/lib/constants.js.map +1 -0
- package/chips/chip/lib/foundation.d.ts +41 -0
- package/chips/chip/lib/foundation.js +256 -0
- package/chips/chip/lib/foundation.js.map +1 -0
- package/chips/chip/lib/types.d.ts +42 -0
- package/chips/chip/lib/types.js +7 -0
- package/chips/chip/lib/types.js.map +1 -0
- package/chips/chipset/lib/_chip-set-theme.scss +48 -0
- package/chips/chipset/lib/_chip-set.scss +46 -0
- package/chips/chipset/lib/adapter.d.ts +45 -0
- package/chips/chipset/lib/adapter.js +7 -0
- package/chips/chipset/lib/adapter.js.map +1 -0
- package/chips/chipset/lib/constants.d.ts +26 -0
- package/chips/chipset/lib/constants.js +30 -0
- package/chips/chipset/lib/constants.js.map +1 -0
- package/chips/chipset/lib/foundation.d.ts +68 -0
- package/chips/chipset/lib/foundation.js +316 -0
- package/chips/chipset/lib/foundation.js.map +1 -0
- package/chips/chipset/lib/types.d.ts +41 -0
- package/chips/chipset/lib/types.js +7 -0
- package/chips/chipset/lib/types.js.map +1 -0
- package/compat/animation/animationframe.d.ts +31 -0
- package/compat/animation/animationframe.js +65 -0
- package/compat/animation/animationframe.js.map +1 -0
- package/compat/base/aria-property.d.ts +39 -0
- package/compat/base/aria-property.js +93 -0
- package/compat/base/aria-property.js.map +1 -0
- package/compat/base/foundation.d.ts +44 -0
- package/compat/base/foundation.js +45 -0
- package/compat/base/foundation.js.map +1 -0
- package/compat/base/observer.d.ts +16 -0
- package/compat/base/observer.js +43 -0
- package/compat/base/observer.js.map +1 -0
- package/compat/base/utils.d.ts +7 -0
- package/compat/base/utils.js +39 -0
- package/compat/base/utils.js.map +1 -0
- package/compat/density/_density.scss +106 -0
- package/compat/dom/keyboard.d.ts +33 -0
- package/compat/dom/keyboard.js +109 -0
- package/compat/dom/keyboard.js.map +1 -0
- package/compat/theme/_color-palette.scss +277 -0
- package/compat/theme/_css.scss +92 -0
- package/compat/theme/_custom-properties.scss +309 -0
- package/compat/theme/_gss.scss +45 -0
- package/compat/theme/_keys.scss +507 -0
- package/compat/theme/_map-ext.scss +68 -0
- package/compat/theme/_replace.scss +108 -0
- package/compat/theme/_selector-ext.scss +522 -0
- package/compat/theme/_shadow-dom.scss +474 -0
- package/compat/theme/_state.scss +752 -0
- package/compat/theme/_theme-color.scss +344 -0
- package/compat/theme/_theme.scss +334 -0
- package/compat/touchtarget/_touch-target.scss +56 -0
- package/controller/action-controller.d.ts +147 -0
- package/controller/action-controller.js +286 -0
- package/controller/action-controller.js.map +1 -0
- package/controller/events.d.ts +27 -0
- package/controller/events.js +40 -0
- package/controller/events.js.map +1 -0
- package/controller/form-controller.d.ts +59 -0
- package/controller/form-controller.js +68 -0
- package/controller/form-controller.js.map +1 -0
- package/controller/foundation.d.ts +24 -0
- package/controller/foundation.js +18 -0
- package/controller/foundation.js.map +1 -0
- package/controller/observer-foundation.d.ts +25 -0
- package/controller/observer-foundation.js +37 -0
- package/controller/observer-foundation.js.map +1 -0
- package/controller/observer.d.ts +52 -0
- package/controller/observer.js +149 -0
- package/controller/observer.js.map +1 -0
- package/controller/string-converter.d.ts +9 -0
- package/controller/string-converter.js +14 -0
- package/controller/string-converter.js.map +1 -0
- package/decorators/aria-property.d.ts +32 -0
- package/decorators/aria-property.js +99 -0
- package/decorators/aria-property.js.map +1 -0
- package/decorators/bound.d.ts +40 -0
- package/decorators/bound.js +49 -0
- package/decorators/bound.js.map +1 -0
- package/elevation/lib/_elevation-overlay-theme.scss +31 -0
- package/elevation/lib/_elevation-overlay.scss +18 -0
- package/elevation/lib/_elevation-theme.scss +88 -0
- package/elevation/lib/_surface.scss +18 -0
- package/elevation/lib/elevation-overlay-styles.css.d.ts +1 -0
- package/elevation/lib/elevation-overlay-styles.css.js +9 -0
- package/elevation/lib/elevation-overlay-styles.css.js.map +1 -0
- package/elevation/lib/elevation-overlay-styles.scss +9 -0
- package/fab/_fab-extended.scss +11 -0
- package/fab/_fab.scss +20 -0
- package/fab/fab-extended.d.ts +23 -0
- package/fab/fab-extended.js +30 -0
- package/fab/fab-extended.js.map +1 -0
- package/fab/fab.d.ts +23 -0
- package/fab/fab.js +30 -0
- package/fab/fab.js.map +1 -0
- package/fab/harness.d.ts +14 -0
- package/fab/harness.js +16 -0
- package/fab/harness.js.map +1 -0
- package/fab/lib/_fab-extended-theme.scss +108 -0
- package/fab/lib/_fab-extended.scss +39 -0
- package/fab/lib/_fab-shared-theme.scss +202 -0
- package/fab/lib/_fab-shared.scss +114 -0
- package/fab/lib/_fab-theme.scss +107 -0
- package/fab/lib/_fab.scss +17 -0
- package/fab/lib/fab-extended-styles.css.d.ts +1 -0
- package/fab/lib/fab-extended-styles.css.js +9 -0
- package/fab/lib/fab-extended-styles.css.js.map +1 -0
- package/fab/lib/fab-extended-styles.scss +16 -0
- package/fab/lib/fab-extended.d.ts +19 -0
- package/fab/lib/fab-extended.js +28 -0
- package/fab/lib/fab-extended.js.map +1 -0
- package/fab/lib/fab-shared-styles.css.d.ts +1 -0
- package/fab/lib/fab-shared-styles.css.js +9 -0
- package/fab/lib/fab-shared-styles.css.js.map +1 -0
- package/fab/lib/fab-shared-styles.scss +8 -0
- package/fab/lib/fab-shared.d.ts +50 -0
- package/fab/lib/fab-shared.js +138 -0
- package/fab/lib/fab-shared.js.map +1 -0
- package/fab/lib/fab-styles.css.d.ts +1 -0
- package/fab/lib/fab-styles.css.js +9 -0
- package/fab/lib/fab-styles.css.js.map +1 -0
- package/fab/lib/fab-styles.scss +16 -0
- package/fab/lib/fab.d.ts +17 -0
- package/fab/lib/fab.js +23 -0
- package/fab/lib/fab.js.map +1 -0
- package/field/_filled-field.scss +8 -0
- package/field/_outlined-field.scss +8 -0
- package/field/filled-field.d.ts +19 -0
- package/field/filled-field.js +23 -0
- package/field/filled-field.js.map +1 -0
- package/field/harness.d.ts +16 -0
- package/field/harness.js +29 -0
- package/field/harness.js.map +1 -0
- package/field/lib/_content-theme.scss +80 -0
- package/field/lib/_content.scss +63 -0
- package/field/lib/_field-theme.scss +15 -0
- package/field/lib/_field.scss +52 -0
- package/field/lib/_filled-field-theme.scss +382 -0
- package/field/lib/_filled-field.scss +129 -0
- package/field/lib/_label-theme.scss +123 -0
- package/field/lib/_label.scss +49 -0
- package/field/lib/_outlined-field-theme.scss +311 -0
- package/field/lib/_outlined-field.scss +194 -0
- package/field/lib/_supporting-text-theme.scss +107 -0
- package/field/lib/_supporting-text.scss +20 -0
- package/field/lib/field.d.ts +56 -0
- package/field/lib/field.js +253 -0
- package/field/lib/field.js.map +1 -0
- package/field/lib/filled-field.d.ts +23 -0
- package/field/lib/filled-field.js +83 -0
- package/field/lib/filled-field.js.map +1 -0
- package/field/lib/filled-styles.css.d.ts +1 -0
- package/field/lib/filled-styles.css.js +9 -0
- package/field/lib/filled-styles.css.js.map +1 -0
- package/field/lib/filled-styles.scss +16 -0
- package/field/lib/outlined-field.d.ts +19 -0
- package/field/lib/outlined-field.js +46 -0
- package/field/lib/outlined-field.js.map +1 -0
- package/field/lib/outlined-styles.css.d.ts +1 -0
- package/field/lib/outlined-styles.css.js +9 -0
- package/field/lib/outlined-styles.css.js.map +1 -0
- package/field/lib/outlined-styles.scss +16 -0
- package/field/lib/shared-styles.css.d.ts +1 -0
- package/field/lib/shared-styles.css.js +9 -0
- package/field/lib/shared-styles.css.js.map +1 -0
- package/field/lib/shared-styles.scss +14 -0
- package/field/outlined-field.d.ts +19 -0
- package/field/outlined-field.js +23 -0
- package/field/outlined-field.js.map +1 -0
- package/focus/focus-ring.d.ts +19 -0
- package/focus/focus-ring.js +22 -0
- package/focus/focus-ring.js.map +1 -0
- package/focus/lib/_focus-ring-theme.scss +89 -0
- package/focus/lib/_focus-ring.scss +41 -0
- package/focus/lib/focus-ring-styles.css.d.ts +1 -0
- package/focus/lib/focus-ring-styles.css.js +9 -0
- package/focus/lib/focus-ring-styles.css.js.map +1 -0
- package/focus/lib/focus-ring-styles.scss +16 -0
- package/focus/lib/focus-ring.d.ts +15 -0
- package/focus/lib/focus-ring.js +31 -0
- package/focus/lib/focus-ring.js.map +1 -0
- package/focus/strong-focus.d.ts +43 -0
- package/focus/strong-focus.js +84 -0
- package/focus/strong-focus.js.map +1 -0
- package/formfield/formfield.d.ts +19 -0
- package/formfield/formfield.js +22 -0
- package/formfield/formfield.js.map +1 -0
- package/formfield/lib/_formfield-theme.scss +41 -0
- package/formfield/lib/_formfield.scss +40 -0
- package/formfield/lib/formfield-styles.css.d.ts +1 -0
- package/formfield/lib/formfield-styles.css.js +9 -0
- package/formfield/lib/formfield-styles.css.js.map +1 -0
- package/formfield/lib/formfield-styles.scss +16 -0
- package/formfield/lib/formfield.d.ts +22 -0
- package/formfield/lib/formfield.js +73 -0
- package/formfield/lib/formfield.js.map +1 -0
- package/icon/icon.d.ts +19 -0
- package/icon/icon.js +22 -0
- package/icon/icon.js.map +1 -0
- package/icon/lib/icon-styles.css.d.ts +1 -0
- package/icon/lib/icon-styles.css.js +9 -0
- package/icon/lib/icon-styles.css.js.map +1 -0
- package/icon/lib/icon-styles.scss +25 -0
- package/icon/lib/icon.d.ts +11 -0
- package/icon/lib/icon.js +14 -0
- package/icon/lib/icon.js.map +1 -0
- package/iconbutton/_filled-icon-button.scss +7 -0
- package/iconbutton/_outlined-icon-button.scss +7 -0
- package/iconbutton/_standard-icon-button.scss +7 -0
- package/iconbutton/filled-icon-button-toggle.d.ts +19 -0
- package/iconbutton/filled-icon-button-toggle.js +28 -0
- package/iconbutton/filled-icon-button-toggle.js.map +1 -0
- package/iconbutton/filled-icon-button.d.ts +19 -0
- package/iconbutton/filled-icon-button.js +27 -0
- package/iconbutton/filled-icon-button.js.map +1 -0
- package/iconbutton/filled-link-icon-button.d.ts +19 -0
- package/iconbutton/filled-link-icon-button.js +27 -0
- package/iconbutton/filled-link-icon-button.js.map +1 -0
- package/iconbutton/filled-tonal-icon-button-toggle.d.ts +19 -0
- package/iconbutton/filled-tonal-icon-button-toggle.js +28 -0
- package/iconbutton/filled-tonal-icon-button-toggle.js.map +1 -0
- package/iconbutton/filled-tonal-icon-button.d.ts +19 -0
- package/iconbutton/filled-tonal-icon-button.js +27 -0
- package/iconbutton/filled-tonal-icon-button.js.map +1 -0
- package/iconbutton/filled-tonal-link-icon-button.d.ts +19 -0
- package/iconbutton/filled-tonal-link-icon-button.js +27 -0
- package/iconbutton/filled-tonal-link-icon-button.js.map +1 -0
- package/iconbutton/harness.d.ts +14 -0
- package/iconbutton/harness.js +16 -0
- package/iconbutton/harness.js.map +1 -0
- package/iconbutton/lib/_filled-icon-button-theme.scss +138 -0
- package/iconbutton/lib/_filled-icon-button.scss +8 -0
- package/iconbutton/lib/_filled-tonal-icon-button-theme.scss +144 -0
- package/iconbutton/lib/_filled-tonal-icon-button.scss +8 -0
- package/iconbutton/lib/_icon-button-theme.scss +163 -0
- package/iconbutton/lib/_icon-button.scss +91 -0
- package/iconbutton/lib/_outlined-icon-button-theme.scss +187 -0
- package/iconbutton/lib/_outlined-icon-button.scss +30 -0
- package/iconbutton/lib/_standard-icon-button-theme.scss +107 -0
- package/iconbutton/lib/_standard-icon-button.scss +13 -0
- package/iconbutton/lib/filled-styles.css.d.ts +1 -0
- package/iconbutton/lib/filled-styles.css.js +9 -0
- package/iconbutton/lib/filled-styles.css.js.map +1 -0
- package/iconbutton/lib/filled-styles.scss +18 -0
- package/iconbutton/lib/filled-tonal-styles.css.d.ts +1 -0
- package/iconbutton/lib/filled-tonal-styles.css.js +9 -0
- package/iconbutton/lib/filled-tonal-styles.css.js.map +1 -0
- package/iconbutton/lib/filled-tonal-styles.scss +18 -0
- package/iconbutton/lib/icon-button-styles.css.d.ts +1 -0
- package/iconbutton/lib/icon-button-styles.css.js +9 -0
- package/iconbutton/lib/icon-button-styles.css.js.map +1 -0
- package/iconbutton/lib/icon-button-styles.scss +8 -0
- package/iconbutton/lib/icon-button-toggle.d.ts +44 -0
- package/iconbutton/lib/icon-button-toggle.js +155 -0
- package/iconbutton/lib/icon-button-toggle.js.map +1 -0
- package/iconbutton/lib/icon-button.d.ts +50 -0
- package/iconbutton/lib/icon-button.js +154 -0
- package/iconbutton/lib/icon-button.js.map +1 -0
- package/iconbutton/lib/link-icon-button.d.ts +14 -0
- package/iconbutton/lib/link-icon-button.js +53 -0
- package/iconbutton/lib/link-icon-button.js.map +1 -0
- package/iconbutton/lib/outlined-styles.css.d.ts +1 -0
- package/iconbutton/lib/outlined-styles.css.js +9 -0
- package/iconbutton/lib/outlined-styles.css.js.map +1 -0
- package/iconbutton/lib/outlined-styles.scss +18 -0
- package/iconbutton/lib/standard-styles.css.d.ts +1 -0
- package/iconbutton/lib/standard-styles.css.js +9 -0
- package/iconbutton/lib/standard-styles.css.js.map +1 -0
- package/iconbutton/lib/standard-styles.scss +18 -0
- package/iconbutton/outlined-icon-button-toggle.d.ts +19 -0
- package/iconbutton/outlined-icon-button-toggle.js +27 -0
- package/iconbutton/outlined-icon-button-toggle.js.map +1 -0
- package/iconbutton/outlined-icon-button.d.ts +19 -0
- package/iconbutton/outlined-icon-button.js +27 -0
- package/iconbutton/outlined-icon-button.js.map +1 -0
- package/iconbutton/outlined-link-icon-button.d.ts +19 -0
- package/iconbutton/outlined-link-icon-button.js +27 -0
- package/iconbutton/outlined-link-icon-button.js.map +1 -0
- package/iconbutton/standard-icon-button-toggle.d.ts +19 -0
- package/iconbutton/standard-icon-button-toggle.js +27 -0
- package/iconbutton/standard-icon-button-toggle.js.map +1 -0
- package/iconbutton/standard-icon-button.d.ts +19 -0
- package/iconbutton/standard-icon-button.js +27 -0
- package/iconbutton/standard-icon-button.js.map +1 -0
- package/iconbutton/standard-link-icon-button.d.ts +19 -0
- package/iconbutton/standard-link-icon-button.js +27 -0
- package/iconbutton/standard-link-icon-button.js.map +1 -0
- package/list/_list-item.scss +7 -0
- package/list/_list.scss +7 -0
- package/list/harness.d.ts +19 -0
- package/list/harness.js +24 -0
- package/list/harness.js.map +1 -0
- package/list/lib/_list-theme.scss +51 -0
- package/list/lib/_list.scss +41 -0
- package/list/lib/_tokens.scss +80 -0
- package/list/lib/avatar/_list-item-avatar-theme.scss +30 -0
- package/list/lib/avatar/_list-item-avatar.scss +14 -0
- package/list/lib/avatar/list-item-avatar-styles.css.d.ts +1 -0
- package/list/lib/avatar/list-item-avatar-styles.css.js +9 -0
- package/list/lib/avatar/list-item-avatar-styles.css.js.map +1 -0
- package/list/lib/avatar/list-item-avatar-styles.scss +20 -0
- package/list/lib/avatar/list-item-avatar.d.ts +16 -0
- package/list/lib/avatar/list-item-avatar.js +35 -0
- package/list/lib/avatar/list-item-avatar.js.map +1 -0
- package/list/lib/divider/_list-divider-theme.scss +30 -0
- package/list/lib/divider/_list-divider.scss +14 -0
- package/list/lib/divider/list-divider-styles.css.d.ts +1 -0
- package/list/lib/divider/list-divider-styles.css.js +9 -0
- package/list/lib/divider/list-divider-styles.css.js.map +1 -0
- package/list/lib/divider/list-divider-styles.scss +18 -0
- package/list/lib/divider/list-divider.d.ts +13 -0
- package/list/lib/divider/list-divider.js +30 -0
- package/list/lib/divider/list-divider.js.map +1 -0
- package/list/lib/icon/_list-item-icon-theme.scss +32 -0
- package/list/lib/icon/_list-item-icon.scss +35 -0
- package/list/lib/icon/list-item-icon-styles.css.d.ts +1 -0
- package/list/lib/icon/list-item-icon-styles.css.js +9 -0
- package/list/lib/icon/list-item-icon-styles.css.js.map +1 -0
- package/list/lib/icon/list-item-icon-styles.scss +20 -0
- package/list/lib/icon/list-item-icon.d.ts +12 -0
- package/list/lib/icon/list-item-icon.js +26 -0
- package/list/lib/icon/list-item-icon.js.map +1 -0
- package/list/lib/image/_list-item-image-theme.scss +36 -0
- package/list/lib/image/_list-item-image.scss +16 -0
- package/list/lib/image/list-item-image-styles.css.d.ts +1 -0
- package/list/lib/image/list-item-image-styles.css.js +9 -0
- package/list/lib/image/list-item-image-styles.css.js.map +1 -0
- package/list/lib/image/list-item-image-styles.scss +20 -0
- package/list/lib/image/list-item-image.d.ts +14 -0
- package/list/lib/image/list-item-image.js +37 -0
- package/list/lib/image/list-item-image.js.map +1 -0
- package/list/lib/list-styles.css.d.ts +1 -0
- package/list/lib/list-styles.css.js +9 -0
- package/list/lib/list-styles.css.js.map +1 -0
- package/list/lib/list-styles.scss +16 -0
- package/list/lib/list.d.ts +41 -0
- package/list/lib/list.js +168 -0
- package/list/lib/list.js.map +1 -0
- package/list/lib/listitem/_list-item-theme.scss +337 -0
- package/list/lib/listitem/_list-item.scss +133 -0
- package/list/lib/listitem/harness.d.ts +13 -0
- package/list/lib/listitem/harness.js +16 -0
- package/list/lib/listitem/harness.js.map +1 -0
- package/list/lib/listitem/list-item-styles.css.d.ts +1 -0
- package/list/lib/listitem/list-item-styles.css.js +9 -0
- package/list/lib/listitem/list-item-styles.css.js.map +1 -0
- package/list/lib/listitem/list-item-styles.scss +16 -0
- package/list/lib/listitem/list-item.d.ts +73 -0
- package/list/lib/listitem/list-item.js +258 -0
- package/list/lib/listitem/list-item.js.map +1 -0
- package/list/lib/video/_list-item-video-theme.scss +36 -0
- package/list/lib/video/_list-item-video.scss +18 -0
- package/list/lib/video/list-item-video-styles.css.d.ts +1 -0
- package/list/lib/video/list-item-video-styles.css.js +9 -0
- package/list/lib/video/list-item-video-styles.css.js.map +1 -0
- package/list/lib/video/list-item-video-styles.scss +20 -0
- package/list/lib/video/list-item-video.d.ts +14 -0
- package/list/lib/video/list-item-video.js +37 -0
- package/list/lib/video/list-item-video.js.map +1 -0
- package/list/list-divider.d.ts +19 -0
- package/list/list-divider.js +22 -0
- package/list/list-divider.js.map +1 -0
- package/list/list-item-avatar.d.ts +19 -0
- package/list/list-item-avatar.js +22 -0
- package/list/list-item-avatar.js.map +1 -0
- package/list/list-item-icon.d.ts +19 -0
- package/list/list-item-icon.js +22 -0
- package/list/list-item-icon.js.map +1 -0
- package/list/list-item-image.d.ts +19 -0
- package/list/list-item-image.js +22 -0
- package/list/list-item-image.js.map +1 -0
- package/list/list-item-video.d.ts +19 -0
- package/list/list-item-video.js +22 -0
- package/list/list-item-video.js.map +1 -0
- package/list/list-item.d.ts +19 -0
- package/list/list-item.js +22 -0
- package/list/list-item.js.map +1 -0
- package/list/list.d.ts +19 -0
- package/list/list.js +22 -0
- package/list/list.js.map +1 -0
- package/menu/harness.d.ts +15 -0
- package/menu/harness.js +17 -0
- package/menu/harness.js.map +1 -0
- package/menu/lib/_menu-button.scss +14 -0
- package/menu/lib/_menu-theme.scss +118 -0
- package/menu/lib/_menu.scss +8 -0
- package/menu/lib/adapter.d.ts +66 -0
- package/menu/lib/adapter.js +7 -0
- package/menu/lib/adapter.js.map +1 -0
- package/menu/lib/constants.d.ts +22 -0
- package/menu/lib/constants.js +23 -0
- package/menu/lib/constants.js.map +1 -0
- package/menu/lib/foundation.d.ts +49 -0
- package/menu/lib/foundation.js +123 -0
- package/menu/lib/foundation.js.map +1 -0
- package/menu/lib/menu-button-styles.css.d.ts +1 -0
- package/menu/lib/menu-button-styles.css.js +9 -0
- package/menu/lib/menu-button-styles.css.js.map +1 -0
- package/menu/lib/menu-button-styles.scss +9 -0
- package/menu/lib/menu-button.d.ts +27 -0
- package/menu/lib/menu-button.js +93 -0
- package/menu/lib/menu-button.js.map +1 -0
- package/menu/lib/menu-styles.css.d.ts +1 -0
- package/menu/lib/menu-styles.css.js +9 -0
- package/menu/lib/menu-styles.css.js.map +1 -0
- package/menu/lib/menu-styles.scss +17 -0
- package/menu/lib/menu.d.ts +62 -0
- package/menu/lib/menu.js +334 -0
- package/menu/lib/menu.js.map +1 -0
- package/menu/lib/menuitem/harness.d.ts +11 -0
- package/menu/lib/menuitem/harness.js +12 -0
- package/menu/lib/menuitem/harness.js.map +1 -0
- package/menu/lib/menuitem/menu-item.d.ts +11 -0
- package/menu/lib/menuitem/menu-item.js +14 -0
- package/menu/lib/menuitem/menu-item.js.map +1 -0
- package/menu/lib/types.d.ts +23 -0
- package/menu/lib/types.js +7 -0
- package/menu/lib/types.js.map +1 -0
- package/menu/menu-button.d.ts +14 -0
- package/menu/menu-button.js +17 -0
- package/menu/menu-button.js.map +1 -0
- package/menu/menu-item.d.ts +14 -0
- package/menu/menu-item.js +17 -0
- package/menu/menu-item.js.map +1 -0
- package/menu/menu.d.ts +14 -0
- package/menu/menu.js +17 -0
- package/menu/menu.js.map +1 -0
- package/menusurface/_menu-surface.scss +7 -0
- package/menusurface/lib/_menu-surface-theme.scss +58 -0
- package/menusurface/lib/_menu-surface.scss +85 -0
- package/menusurface/lib/adapter.d.ts +46 -0
- package/menusurface/lib/adapter.js +7 -0
- package/menusurface/lib/adapter.js.map +1 -0
- package/menusurface/lib/constants.d.ts +71 -0
- package/menusurface/lib/constants.js +83 -0
- package/menusurface/lib/constants.js.map +1 -0
- package/menusurface/lib/foundation.d.ts +176 -0
- package/menusurface/lib/foundation.js +544 -0
- package/menusurface/lib/foundation.js.map +1 -0
- package/menusurface/lib/menu-surface-styles.css.d.ts +1 -0
- package/menusurface/lib/menu-surface-styles.css.js +9 -0
- package/menusurface/lib/menu-surface-styles.css.js.map +1 -0
- package/menusurface/lib/menu-surface-styles.scss +16 -0
- package/menusurface/lib/menu-surface.d.ts +58 -0
- package/menusurface/lib/menu-surface.js +386 -0
- package/menusurface/lib/menu-surface.js.map +1 -0
- package/menusurface/lib/types.d.ts +19 -0
- package/menusurface/lib/types.js +7 -0
- package/menusurface/lib/types.js.map +1 -0
- package/menusurface/menu-surface.d.ts +14 -0
- package/menusurface/menu-surface.js +17 -0
- package/menusurface/menu-surface.js.map +1 -0
- package/motion/_animation.scss +33 -0
- package/motion/animation.d.ts +63 -0
- package/motion/animation.js +66 -0
- package/motion/animation.js.map +1 -0
- package/navigationbar/_navigation-bar.scss +7 -0
- package/navigationbar/harness.d.ts +19 -0
- package/navigationbar/harness.js +29 -0
- package/navigationbar/harness.js.map +1 -0
- package/navigationbar/lib/_navigation-bar-theme.scss +87 -0
- package/navigationbar/lib/_navigation-bar.scss +28 -0
- package/navigationbar/lib/constants.d.ts +17 -0
- package/navigationbar/lib/constants.js +7 -0
- package/navigationbar/lib/constants.js.map +1 -0
- package/navigationbar/lib/navigation-bar-styles.css.d.ts +1 -0
- package/navigationbar/lib/navigation-bar-styles.css.js +9 -0
- package/navigationbar/lib/navigation-bar-styles.css.js.map +1 -0
- package/navigationbar/lib/navigation-bar-styles.scss +20 -0
- package/navigationbar/lib/navigation-bar.d.ts +26 -0
- package/navigationbar/lib/navigation-bar.js +150 -0
- package/navigationbar/lib/navigation-bar.js.map +1 -0
- package/navigationbar/lib/state.d.ts +23 -0
- package/navigationbar/lib/state.js +7 -0
- package/navigationbar/lib/state.js.map +1 -0
- package/navigationbar/navigation-bar.d.ts +19 -0
- package/navigationbar/navigation-bar.js +22 -0
- package/navigationbar/navigation-bar.js.map +1 -0
- package/navigationdrawer/_navigation-drawer-modal.scss +6 -0
- package/navigationdrawer/_navigation-drawer.scss +6 -0
- package/navigationdrawer/lib/_navigation-drawer-modal-theme.scss +138 -0
- package/navigationdrawer/lib/_navigation-drawer-modal.scss +78 -0
- package/navigationdrawer/lib/_navigation-drawer-theme.scss +113 -0
- package/navigationdrawer/lib/_navigation-drawer.scss +64 -0
- package/navigationdrawer/lib/navigation-drawer-modal-styles.css.d.ts +1 -0
- package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js +9 -0
- package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js.map +1 -0
- package/navigationdrawer/lib/navigation-drawer-modal-styles.scss +12 -0
- package/navigationdrawer/lib/navigation-drawer-modal.d.ts +24 -0
- package/navigationdrawer/lib/navigation-drawer-modal.js +106 -0
- package/navigationdrawer/lib/navigation-drawer-modal.js.map +1 -0
- package/navigationdrawer/lib/navigation-drawer-styles.css.d.ts +1 -0
- package/navigationdrawer/lib/navigation-drawer-styles.css.js +9 -0
- package/navigationdrawer/lib/navigation-drawer-styles.css.js.map +1 -0
- package/navigationdrawer/lib/navigation-drawer-styles.scss +18 -0
- package/navigationdrawer/lib/navigation-drawer.d.ts +20 -0
- package/navigationdrawer/lib/navigation-drawer.js +87 -0
- package/navigationdrawer/lib/navigation-drawer.js.map +1 -0
- package/navigationdrawer/navigation-drawer-modal.d.ts +19 -0
- package/navigationdrawer/navigation-drawer-modal.js +22 -0
- package/navigationdrawer/navigation-drawer-modal.js.map +1 -0
- package/navigationdrawer/navigation-drawer.d.ts +19 -0
- package/navigationdrawer/navigation-drawer.js +22 -0
- package/navigationdrawer/navigation-drawer.js.map +1 -0
- package/navigationtab/_navigation-tab.scss +7 -0
- package/navigationtab/harness.d.ts +13 -0
- package/navigationtab/harness.js +16 -0
- package/navigationtab/harness.js.map +1 -0
- package/navigationtab/lib/_navigation-tab-theme.scss +343 -0
- package/navigationtab/lib/_navigation-tab.scss +127 -0
- package/navigationtab/lib/navigation-tab-styles.css.d.ts +1 -0
- package/navigationtab/lib/navigation-tab-styles.css.js +9 -0
- package/navigationtab/lib/navigation-tab-styles.css.js.map +1 -0
- package/navigationtab/lib/navigation-tab-styles.scss +21 -0
- package/navigationtab/lib/navigation-tab.d.ts +48 -0
- package/navigationtab/lib/navigation-tab.js +174 -0
- package/navigationtab/lib/navigation-tab.js.map +1 -0
- package/navigationtab/lib/state.d.ts +24 -0
- package/navigationtab/lib/state.js +7 -0
- package/navigationtab/lib/state.js.map +1 -0
- package/navigationtab/navigation-tab.d.ts +19 -0
- package/navigationtab/navigation-tab.js +22 -0
- package/navigationtab/navigation-tab.js.map +1 -0
- package/package.json +48 -0
- package/radio/_radio.scss +1 -0
- package/radio/harness.d.ts +13 -0
- package/radio/harness.js +16 -0
- package/radio/harness.js.map +1 -0
- package/radio/lib/_radio-theme.scss +376 -0
- package/radio/lib/_radio.scss +131 -0
- package/radio/lib/radio-styles.css.d.ts +1 -0
- package/radio/lib/radio-styles.css.js +9 -0
- package/radio/lib/radio-styles.css.js.map +1 -0
- package/radio/lib/radio-styles.scss +14 -0
- package/radio/lib/radio.d.ts +93 -0
- package/radio/lib/radio.js +302 -0
- package/radio/lib/radio.js.map +1 -0
- package/radio/lib/single-selection-controller.d.ts +167 -0
- package/radio/lib/single-selection-controller.js +289 -0
- package/radio/lib/single-selection-controller.js.map +1 -0
- package/radio/radio.d.ts +15 -0
- package/radio/radio.js +18 -0
- package/radio/radio.js.map +1 -0
- package/ripple/_index.scss +6 -0
- package/ripple/_ripple-theme.scss +6 -0
- package/ripple/lib/_ripple-theme.scss +98 -0
- package/ripple/lib/_ripple.scss +84 -0
- package/ripple/lib/ripple-styles.css.d.ts +1 -0
- package/ripple/lib/ripple-styles.css.js +9 -0
- package/ripple/lib/ripple-styles.css.js.map +1 -0
- package/ripple/lib/ripple-styles.scss +16 -0
- package/ripple/lib/ripple.d.ts +62 -0
- package/ripple/lib/ripple.js +215 -0
- package/ripple/lib/ripple.js.map +1 -0
- package/ripple/ripple.d.ts +19 -0
- package/ripple/ripple.js +22 -0
- package/ripple/ripple.js.map +1 -0
- package/sass/_assert.scss +16 -0
- package/sass/_color.scss +186 -0
- package/sass/_dom.scss +52 -0
- package/sass/_elevation.scss +155 -0
- package/sass/_feature-flags.scss +117 -0
- package/sass/_map-ext.scss +25 -0
- package/sass/_resolvers.scss +16 -0
- package/sass/_shape.scss +106 -0
- package/sass/_string-ext.scss +128 -0
- package/sass/_theme.scss +245 -0
- package/sass/_touch-target.scss +22 -0
- package/sass/_typography.scss +114 -0
- package/sass/_var.scss +241 -0
- package/segmentedbutton/lib/_outlined-segmented-button-theme.scss +167 -0
- package/segmentedbutton/lib/_outlined-segmented-button.scss +18 -0
- package/segmentedbutton/lib/_segmented-button-theme.scss +316 -0
- package/segmentedbutton/lib/_segmented-button.scss +159 -0
- package/segmentedbutton/lib/outlined-segmented-button.d.ts +15 -0
- package/segmentedbutton/lib/outlined-segmented-button.js +22 -0
- package/segmentedbutton/lib/outlined-segmented-button.js.map +1 -0
- package/segmentedbutton/lib/outlined-styles.css.d.ts +1 -0
- package/segmentedbutton/lib/outlined-styles.css.js +9 -0
- package/segmentedbutton/lib/outlined-styles.css.js.map +1 -0
- package/segmentedbutton/lib/outlined-styles.scss +17 -0
- package/segmentedbutton/lib/segmented-button-styles.css.d.ts +1 -0
- package/segmentedbutton/lib/segmented-button-styles.css.js +9 -0
- package/segmentedbutton/lib/segmented-button-styles.css.js.map +1 -0
- package/segmentedbutton/lib/segmented-button-styles.scss +8 -0
- package/segmentedbutton/lib/segmented-button.d.ts +60 -0
- package/segmentedbutton/lib/segmented-button.js +229 -0
- package/segmentedbutton/lib/segmented-button.js.map +1 -0
- package/segmentedbutton/outlined-segmented-button.d.ts +21 -0
- package/segmentedbutton/outlined-segmented-button.js +25 -0
- package/segmentedbutton/outlined-segmented-button.js.map +1 -0
- package/segmentedbuttonset/lib/_outlined-segmented-button-set-theme.scss +53 -0
- package/segmentedbuttonset/lib/_outlined-segmented-button-set.scss +12 -0
- package/segmentedbuttonset/lib/_segmented-button-set-theme.scss +41 -0
- package/segmentedbuttonset/lib/_segmented-button-set.scss +21 -0
- package/segmentedbuttonset/lib/outlined-segmented-button-set.d.ts +12 -0
- package/segmentedbuttonset/lib/outlined-segmented-button-set.js +17 -0
- package/segmentedbuttonset/lib/outlined-segmented-button-set.js.map +1 -0
- package/segmentedbuttonset/lib/outlined-styles.css.d.ts +1 -0
- package/segmentedbuttonset/lib/outlined-styles.css.js +9 -0
- package/segmentedbuttonset/lib/outlined-styles.css.js.map +1 -0
- package/segmentedbuttonset/lib/outlined-styles.scss +17 -0
- package/segmentedbuttonset/lib/segmented-button-set.d.ts +34 -0
- package/segmentedbuttonset/lib/segmented-button-set.js +118 -0
- package/segmentedbuttonset/lib/segmented-button-set.js.map +1 -0
- package/segmentedbuttonset/lib/shared-styles.css.d.ts +1 -0
- package/segmentedbuttonset/lib/shared-styles.css.js +9 -0
- package/segmentedbuttonset/lib/shared-styles.css.js.map +1 -0
- package/segmentedbuttonset/lib/shared-styles.scss +8 -0
- package/segmentedbuttonset/outlined-segmented-button-set.d.ts +21 -0
- package/segmentedbuttonset/outlined-segmented-button-set.js +25 -0
- package/segmentedbuttonset/outlined-segmented-button-set.js.map +1 -0
- package/switch/_switch.scss +7 -0
- package/switch/harness.d.ts +13 -0
- package/switch/harness.js +16 -0
- package/switch/harness.js.map +1 -0
- package/switch/lib/_switch-handle-theme.scss +137 -0
- package/switch/lib/_switch-icon-theme.scss +52 -0
- package/switch/lib/_switch-theme.scss +232 -0
- package/switch/lib/_switch-track-theme.scss +117 -0
- package/switch/lib/_switch.scss +210 -0
- package/switch/lib/switch-styles.css.d.ts +1 -0
- package/switch/lib/switch-styles.css.js +9 -0
- package/switch/lib/switch-styles.css.js.map +1 -0
- package/switch/lib/switch-styles.scss +11 -0
- package/switch/lib/switch.d.ts +59 -0
- package/switch/lib/switch.js +223 -0
- package/switch/lib/switch.js.map +1 -0
- package/switch/switch.d.ts +19 -0
- package/switch/switch.js +22 -0
- package/switch/switch.js.map +1 -0
- package/textfield/_filled-text-field.scss +9 -0
- package/textfield/_outlined-text-field.scss +9 -0
- package/textfield/filled-text-field.d.ts +21 -0
- package/textfield/filled-text-field.js +31 -0
- package/textfield/filled-text-field.js.map +1 -0
- package/textfield/harness.d.ts +51 -0
- package/textfield/harness.js +118 -0
- package/textfield/harness.js.map +1 -0
- package/textfield/lib/_filled-text-field-theme.scss +203 -0
- package/textfield/lib/_icon-theme.scss +100 -0
- package/textfield/lib/_icon.scss +18 -0
- package/textfield/lib/_input-theme.scss +91 -0
- package/textfield/lib/_input.scss +38 -0
- package/textfield/lib/_outlined-text-field-theme.scss +186 -0
- package/textfield/lib/_text-field.scss +28 -0
- package/textfield/lib/filled-forced-colors-styles.css.d.ts +1 -0
- package/textfield/lib/filled-forced-colors-styles.css.js +9 -0
- package/textfield/lib/filled-forced-colors-styles.css.js.map +1 -0
- package/textfield/lib/filled-forced-colors-styles.scss +17 -0
- package/textfield/lib/filled-styles.css.d.ts +1 -0
- package/textfield/lib/filled-styles.css.js +9 -0
- package/textfield/lib/filled-styles.css.js.map +1 -0
- package/textfield/lib/filled-styles.scss +15 -0
- package/textfield/lib/filled-text-field.d.ts +12 -0
- package/textfield/lib/filled-text-field.js +17 -0
- package/textfield/lib/filled-text-field.js.map +1 -0
- package/textfield/lib/outlined-forced-colors-styles.css.d.ts +1 -0
- package/textfield/lib/outlined-forced-colors-styles.css.js +9 -0
- package/textfield/lib/outlined-forced-colors-styles.css.js.map +1 -0
- package/textfield/lib/outlined-forced-colors-styles.scss +17 -0
- package/textfield/lib/outlined-styles.css.d.ts +1 -0
- package/textfield/lib/outlined-styles.css.js +9 -0
- package/textfield/lib/outlined-styles.css.js.map +1 -0
- package/textfield/lib/outlined-styles.scss +15 -0
- package/textfield/lib/outlined-text-field.d.ts +12 -0
- package/textfield/lib/outlined-text-field.js +17 -0
- package/textfield/lib/outlined-text-field.js.map +1 -0
- package/textfield/lib/shared-styles.css.d.ts +1 -0
- package/textfield/lib/shared-styles.css.js +9 -0
- package/textfield/lib/shared-styles.css.js.map +1 -0
- package/textfield/lib/shared-styles.scss +12 -0
- package/textfield/lib/text-field.d.ts +319 -0
- package/textfield/lib/text-field.js +707 -0
- package/textfield/lib/text-field.js.map +1 -0
- package/textfield/outlined-text-field.d.ts +21 -0
- package/textfield/outlined-text-field.js +31 -0
- package/textfield/outlined-text-field.js.map +1 -0
- package/tokens/_index.scss +6 -0
- package/tokens/latest/_index.scss +186 -0
- package/tokens/latest/_md-comp-assist-chip.scss +98 -0
- package/tokens/latest/_md-comp-badge.scss +51 -0
- package/tokens/latest/_md-comp-banner.scss +99 -0
- package/tokens/latest/_md-comp-bottom-app-bar.scss +36 -0
- package/tokens/latest/_md-comp-checkbox.scss +119 -0
- package/tokens/latest/_md-comp-circular-progress-indicator.scss +37 -0
- package/tokens/latest/_md-comp-date-input-modal.scss +76 -0
- package/tokens/latest/_md-comp-date-picker-docked.scss +210 -0
- package/tokens/latest/_md-comp-date-picker-modal.scss +254 -0
- package/tokens/latest/_md-comp-dialog.scss +115 -0
- package/tokens/latest/_md-comp-divider.scss +25 -0
- package/tokens/latest/_md-comp-elevated-button.scss +83 -0
- package/tokens/latest/_md-comp-elevated-card.scss +59 -0
- package/tokens/latest/_md-comp-extended-fab-branded.scss +77 -0
- package/tokens/latest/_md-comp-extended-fab-primary.scss +80 -0
- package/tokens/latest/_md-comp-extended-fab-secondary.scss +83 -0
- package/tokens/latest/_md-comp-extended-fab-surface.scss +81 -0
- package/tokens/latest/_md-comp-extended-fab-tertiary.scss +80 -0
- package/tokens/latest/_md-comp-fab-branded-large.scss +59 -0
- package/tokens/latest/_md-comp-fab-branded.scss +58 -0
- package/tokens/latest/_md-comp-fab-primary-large.scss +61 -0
- package/tokens/latest/_md-comp-fab-primary-small.scss +61 -0
- package/tokens/latest/_md-comp-fab-primary.scss +61 -0
- package/tokens/latest/_md-comp-fab-secondary-large.scss +63 -0
- package/tokens/latest/_md-comp-fab-secondary-small.scss +62 -0
- package/tokens/latest/_md-comp-fab-secondary.scss +63 -0
- package/tokens/latest/_md-comp-fab-surface-large.scss +62 -0
- package/tokens/latest/_md-comp-fab-surface-small.scss +62 -0
- package/tokens/latest/_md-comp-fab-surface.scss +62 -0
- package/tokens/latest/_md-comp-fab-tertiary-large.scss +61 -0
- package/tokens/latest/_md-comp-fab-tertiary-small.scss +61 -0
- package/tokens/latest/_md-comp-fab-tertiary.scss +61 -0
- package/tokens/latest/_md-comp-filled-autocomplete.scss +235 -0
- package/tokens/latest/_md-comp-filled-button.scss +87 -0
- package/tokens/latest/_md-comp-filled-card.scss +59 -0
- package/tokens/latest/_md-comp-filled-icon-button.scss +72 -0
- package/tokens/latest/_md-comp-filled-menu-button.scss +89 -0
- package/tokens/latest/_md-comp-filled-select.scss +243 -0
- package/tokens/latest/_md-comp-filled-text-field.scss +146 -0
- package/tokens/latest/_md-comp-filled-tonal-button.scss +88 -0
- package/tokens/latest/_md-comp-filled-tonal-icon-button.scss +83 -0
- package/tokens/latest/_md-comp-filter-chip.scss +172 -0
- package/tokens/latest/_md-comp-full-screen-dialog.scss +131 -0
- package/tokens/latest/_md-comp-icon-button.scss +66 -0
- package/tokens/latest/_md-comp-input-chip.scss +112 -0
- package/tokens/latest/_md-comp-linear-progress-indicator.scss +39 -0
- package/tokens/latest/_md-comp-list.scss +205 -0
- package/tokens/latest/_md-comp-menu.scss +113 -0
- package/tokens/latest/_md-comp-navigation-bar.scss +97 -0
- package/tokens/latest/_md-comp-navigation-drawer.scss +137 -0
- package/tokens/latest/_md-comp-navigation-rail.scss +132 -0
- package/tokens/latest/_md-comp-outlined-autocomplete.scss +223 -0
- package/tokens/latest/_md-comp-outlined-button.scss +80 -0
- package/tokens/latest/_md-comp-outlined-card.scss +65 -0
- package/tokens/latest/_md-comp-outlined-icon-button.scss +68 -0
- package/tokens/latest/_md-comp-outlined-menu-button.scss +83 -0
- package/tokens/latest/_md-comp-outlined-segmented-button.scss +97 -0
- package/tokens/latest/_md-comp-outlined-select.scss +231 -0
- package/tokens/latest/_md-comp-outlined-text-field.scss +140 -0
- package/tokens/latest/_md-comp-plain-tooltip.scss +46 -0
- package/tokens/latest/_md-comp-primary-navigation-tab.scss +110 -0
- package/tokens/latest/_md-comp-radio-button.scss +58 -0
- package/tokens/latest/_md-comp-rich-tooltip.scss +98 -0
- package/tokens/latest/_md-comp-search-bar.scss +84 -0
- package/tokens/latest/_md-comp-search-view.scss +79 -0
- package/tokens/latest/_md-comp-secondary-navigation-tab.scss +78 -0
- package/tokens/latest/_md-comp-sheet-bottom.scss +41 -0
- package/tokens/latest/_md-comp-sheet-floating.scss +34 -0
- package/tokens/latest/_md-comp-sheet-side.scss +75 -0
- package/tokens/latest/_md-comp-slider.scss +105 -0
- package/tokens/latest/_md-comp-snackbar.scss +91 -0
- package/tokens/latest/_md-comp-standard-menu-button.scss +82 -0
- package/tokens/latest/_md-comp-suggestion-chip.scss +90 -0
- package/tokens/latest/_md-comp-switch.scss +126 -0
- package/tokens/latest/_md-comp-text-button.scss +75 -0
- package/tokens/latest/_md-comp-time-input.scss +184 -0
- package/tokens/latest/_md-comp-time-picker.scss +235 -0
- package/tokens/latest/_md-comp-top-app-bar-large.scss +57 -0
- package/tokens/latest/_md-comp-top-app-bar-medium.scss +56 -0
- package/tokens/latest/_md-comp-top-app-bar-small-centered.scss +60 -0
- package/tokens/latest/_md-comp-top-app-bar-small.scss +58 -0
- package/tokens/latest/_md-ref-palette.scss +95 -0
- package/tokens/latest/_md-ref-typeface.scss +20 -0
- package/tokens/latest/_md-sys-color.scss +1006 -0
- package/tokens/latest/_md-sys-elevation.scss +30 -0
- package/tokens/latest/_md-sys-motion.scss +51 -0
- package/tokens/latest/_md-sys-shape.scss +26 -0
- package/tokens/latest/_md-sys-state.scss +19 -0
- package/tokens/latest/_md-sys-typescale.scss +204 -0
- package/tokens/v0_75/_index.scss +154 -0
- package/tokens/v0_75/_md-comp-assist-chip.scss +98 -0
- package/tokens/v0_75/_md-comp-badge.scss +51 -0
- package/tokens/v0_75/_md-comp-banner.scss +99 -0
- package/tokens/v0_75/_md-comp-bottom-app-bar.scss +36 -0
- package/tokens/v0_75/_md-comp-checkbox.scss +59 -0
- package/tokens/v0_75/_md-comp-circular-progress-indicator.scss +37 -0
- package/tokens/v0_75/_md-comp-dialog.scss +102 -0
- package/tokens/v0_75/_md-comp-elevated-button.scss +83 -0
- package/tokens/v0_75/_md-comp-elevated-card.scss +56 -0
- package/tokens/v0_75/_md-comp-extended-fab-branded.scss +77 -0
- package/tokens/v0_75/_md-comp-extended-fab-primary.scss +80 -0
- package/tokens/v0_75/_md-comp-extended-fab-secondary.scss +83 -0
- package/tokens/v0_75/_md-comp-extended-fab-surface.scss +81 -0
- package/tokens/v0_75/_md-comp-extended-fab-tertiary.scss +80 -0
- package/tokens/v0_75/_md-comp-fab-branded-large.scss +59 -0
- package/tokens/v0_75/_md-comp-fab-branded.scss +58 -0
- package/tokens/v0_75/_md-comp-fab-primary-large.scss +61 -0
- package/tokens/v0_75/_md-comp-fab-primary-small.scss +61 -0
- package/tokens/v0_75/_md-comp-fab-primary.scss +61 -0
- package/tokens/v0_75/_md-comp-fab-secondary-large.scss +63 -0
- package/tokens/v0_75/_md-comp-fab-secondary-small.scss +62 -0
- package/tokens/v0_75/_md-comp-fab-secondary.scss +63 -0
- package/tokens/v0_75/_md-comp-fab-surface-large.scss +62 -0
- package/tokens/v0_75/_md-comp-fab-surface-small.scss +62 -0
- package/tokens/v0_75/_md-comp-fab-surface.scss +62 -0
- package/tokens/v0_75/_md-comp-fab-tertiary-large.scss +61 -0
- package/tokens/v0_75/_md-comp-fab-tertiary-small.scss +61 -0
- package/tokens/v0_75/_md-comp-fab-tertiary.scss +61 -0
- package/tokens/v0_75/_md-comp-filled-button-tonal.scss +84 -0
- package/tokens/v0_75/_md-comp-filled-button.scss +87 -0
- package/tokens/v0_75/_md-comp-filled-card.scss +56 -0
- package/tokens/v0_75/_md-comp-filled-icon-button.scss +72 -0
- package/tokens/v0_75/_md-comp-filled-text-field.scss +142 -0
- package/tokens/v0_75/_md-comp-filled-tonal-button.scss +88 -0
- package/tokens/v0_75/_md-comp-filled-tonal-icon-button.scss +83 -0
- package/tokens/v0_75/_md-comp-filter-chip.scss +172 -0
- package/tokens/v0_75/_md-comp-full-screen-dialog.scss +131 -0
- package/tokens/v0_75/_md-comp-icon-button.scss +79 -0
- package/tokens/v0_75/_md-comp-input-chip.scss +112 -0
- package/tokens/v0_75/_md-comp-linear-progress-indicator.scss +39 -0
- package/tokens/v0_75/_md-comp-list.scss +205 -0
- package/tokens/v0_75/_md-comp-menu.scss +113 -0
- package/tokens/v0_75/_md-comp-navigation-bar.scss +131 -0
- package/tokens/v0_75/_md-comp-navigation-drawer.scss +137 -0
- package/tokens/v0_75/_md-comp-navigation-rail.scss +136 -0
- package/tokens/v0_75/_md-comp-outlined-button.scss +80 -0
- package/tokens/v0_75/_md-comp-outlined-card.scss +62 -0
- package/tokens/v0_75/_md-comp-outlined-icon-button.scss +68 -0
- package/tokens/v0_75/_md-comp-outlined-segmented-button.scss +96 -0
- package/tokens/v0_75/_md-comp-outlined-text-field.scss +136 -0
- package/tokens/v0_75/_md-comp-primary-navigation-tab.scss +116 -0
- package/tokens/v0_75/_md-comp-radio-button.scss +58 -0
- package/tokens/v0_75/_md-comp-rich-tooltip.scss +98 -0
- package/tokens/v0_75/_md-comp-secondary-navigation-tab.scss +75 -0
- package/tokens/v0_75/_md-comp-slider.scss +129 -0
- package/tokens/v0_75/_md-comp-snackbar.scss +77 -0
- package/tokens/v0_75/_md-comp-suggestion-chip.scss +90 -0
- package/tokens/v0_75/_md-comp-switch.scss +92 -0
- package/tokens/v0_75/_md-comp-text-button.scss +75 -0
- package/tokens/v0_75/_md-comp-top-app-bar-compact-centered.scss +53 -0
- package/tokens/v0_75/_md-comp-top-app-bar-compact.scss +43 -0
- package/tokens/v0_75/_md-comp-top-app-bar-large.scss +57 -0
- package/tokens/v0_75/_md-comp-top-app-bar-medium.scss +56 -0
- package/tokens/v0_75/_md-comp-top-app-bar-small-centered.scss +60 -0
- package/tokens/v0_75/_md-comp-top-app-bar-small.scss +58 -0
- package/tokens/v0_75/_md-ref-palette.scss +186 -0
- package/tokens/v0_75/_md-ref-typeface.scss +25 -0
- package/tokens/v0_75/_md-sys-color.scss +86 -0
- package/tokens/v0_75/_md-sys-elevation.scss +30 -0
- package/tokens/v0_75/_md-sys-motion.scss +61 -0
- package/tokens/v0_75/_md-sys-shape.scss +29 -0
- package/tokens/v0_75/_md-sys-state.scss +19 -0
- package/tokens/v0_75/_md-sys-typescale.scss +252 -0
- package/tokens/v0_93/_index.scss +184 -0
- package/tokens/v0_93/_md-comp-assist-chip.scss +98 -0
- package/tokens/v0_93/_md-comp-badge.scss +51 -0
- package/tokens/v0_93/_md-comp-banner.scss +99 -0
- package/tokens/v0_93/_md-comp-bottom-app-bar.scss +36 -0
- package/tokens/v0_93/_md-comp-checkbox.scss +119 -0
- package/tokens/v0_93/_md-comp-circular-progress-indicator.scss +37 -0
- package/tokens/v0_93/_md-comp-date-input-modal.scss +76 -0
- package/tokens/v0_93/_md-comp-date-picker-docked.scss +210 -0
- package/tokens/v0_93/_md-comp-date-picker-modal.scss +254 -0
- package/tokens/v0_93/_md-comp-dialog.scss +101 -0
- package/tokens/v0_93/_md-comp-divider.scss +25 -0
- package/tokens/v0_93/_md-comp-elevated-button.scss +83 -0
- package/tokens/v0_93/_md-comp-elevated-card.scss +59 -0
- package/tokens/v0_93/_md-comp-extended-fab-branded.scss +77 -0
- package/tokens/v0_93/_md-comp-extended-fab-primary.scss +80 -0
- package/tokens/v0_93/_md-comp-extended-fab-secondary.scss +83 -0
- package/tokens/v0_93/_md-comp-extended-fab-surface.scss +81 -0
- package/tokens/v0_93/_md-comp-extended-fab-tertiary.scss +80 -0
- package/tokens/v0_93/_md-comp-fab-branded-large.scss +59 -0
- package/tokens/v0_93/_md-comp-fab-branded.scss +58 -0
- package/tokens/v0_93/_md-comp-fab-primary-large.scss +61 -0
- package/tokens/v0_93/_md-comp-fab-primary-small.scss +61 -0
- package/tokens/v0_93/_md-comp-fab-primary.scss +61 -0
- package/tokens/v0_93/_md-comp-fab-secondary-large.scss +63 -0
- package/tokens/v0_93/_md-comp-fab-secondary-small.scss +62 -0
- package/tokens/v0_93/_md-comp-fab-secondary.scss +63 -0
- package/tokens/v0_93/_md-comp-fab-surface-large.scss +62 -0
- package/tokens/v0_93/_md-comp-fab-surface-small.scss +62 -0
- package/tokens/v0_93/_md-comp-fab-surface.scss +62 -0
- package/tokens/v0_93/_md-comp-fab-tertiary-large.scss +61 -0
- package/tokens/v0_93/_md-comp-fab-tertiary-small.scss +61 -0
- package/tokens/v0_93/_md-comp-fab-tertiary.scss +61 -0
- package/tokens/v0_93/_md-comp-filled-autocomplete.scss +235 -0
- package/tokens/v0_93/_md-comp-filled-button.scss +87 -0
- package/tokens/v0_93/_md-comp-filled-card.scss +59 -0
- package/tokens/v0_93/_md-comp-filled-icon-button.scss +72 -0
- package/tokens/v0_93/_md-comp-filled-menu-button.scss +89 -0
- package/tokens/v0_93/_md-comp-filled-select.scss +243 -0
- package/tokens/v0_93/_md-comp-filled-text-field.scss +146 -0
- package/tokens/v0_93/_md-comp-filled-tonal-button.scss +88 -0
- package/tokens/v0_93/_md-comp-filled-tonal-icon-button.scss +83 -0
- package/tokens/v0_93/_md-comp-filter-chip.scss +172 -0
- package/tokens/v0_93/_md-comp-full-screen-dialog.scss +131 -0
- package/tokens/v0_93/_md-comp-icon-button.scss +66 -0
- package/tokens/v0_93/_md-comp-input-chip.scss +112 -0
- package/tokens/v0_93/_md-comp-linear-progress-indicator.scss +39 -0
- package/tokens/v0_93/_md-comp-list.scss +205 -0
- package/tokens/v0_93/_md-comp-menu.scss +113 -0
- package/tokens/v0_93/_md-comp-navigation-bar.scss +97 -0
- package/tokens/v0_93/_md-comp-navigation-drawer.scss +137 -0
- package/tokens/v0_93/_md-comp-navigation-rail.scss +132 -0
- package/tokens/v0_93/_md-comp-outlined-autocomplete.scss +223 -0
- package/tokens/v0_93/_md-comp-outlined-button.scss +80 -0
- package/tokens/v0_93/_md-comp-outlined-card.scss +65 -0
- package/tokens/v0_93/_md-comp-outlined-icon-button.scss +68 -0
- package/tokens/v0_93/_md-comp-outlined-menu-button.scss +83 -0
- package/tokens/v0_93/_md-comp-outlined-segmented-button.scss +97 -0
- package/tokens/v0_93/_md-comp-outlined-select.scss +231 -0
- package/tokens/v0_93/_md-comp-outlined-text-field.scss +140 -0
- package/tokens/v0_93/_md-comp-plain-tooltip.scss +46 -0
- package/tokens/v0_93/_md-comp-primary-navigation-tab.scss +110 -0
- package/tokens/v0_93/_md-comp-radio-button.scss +58 -0
- package/tokens/v0_93/_md-comp-rich-tooltip.scss +98 -0
- package/tokens/v0_93/_md-comp-search-bar.scss +84 -0
- package/tokens/v0_93/_md-comp-search-view.scss +79 -0
- package/tokens/v0_93/_md-comp-secondary-navigation-tab.scss +78 -0
- package/tokens/v0_93/_md-comp-sheet-bottom.scss +41 -0
- package/tokens/v0_93/_md-comp-sheet-side.scss +75 -0
- package/tokens/v0_93/_md-comp-slider.scss +105 -0
- package/tokens/v0_93/_md-comp-snackbar.scss +91 -0
- package/tokens/v0_93/_md-comp-standard-menu-button.scss +82 -0
- package/tokens/v0_93/_md-comp-suggestion-chip.scss +90 -0
- package/tokens/v0_93/_md-comp-switch.scss +126 -0
- package/tokens/v0_93/_md-comp-text-button.scss +75 -0
- package/tokens/v0_93/_md-comp-time-input.scss +184 -0
- package/tokens/v0_93/_md-comp-time-picker.scss +235 -0
- package/tokens/v0_93/_md-comp-top-app-bar-large.scss +57 -0
- package/tokens/v0_93/_md-comp-top-app-bar-medium.scss +56 -0
- package/tokens/v0_93/_md-comp-top-app-bar-small-centered.scss +60 -0
- package/tokens/v0_93/_md-comp-top-app-bar-small.scss +58 -0
- package/tokens/v0_93/_md-ref-palette.scss +95 -0
- package/tokens/v0_93/_md-ref-typeface.scss +20 -0
- package/tokens/v0_93/_md-sys-color.scss +1006 -0
- package/tokens/v0_93/_md-sys-elevation.scss +30 -0
- package/tokens/v0_93/_md-sys-motion.scss +51 -0
- package/tokens/v0_93/_md-sys-shape.scss +26 -0
- package/tokens/v0_93/_md-sys-state.scss +19 -0
- package/tokens/v0_93/_md-sys-typescale.scss +204 -0
- package/types/aria.d.ts +48 -0
- package/types/keys.d.ts +57 -0
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2022 Google LLC
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
//
|
|
5
|
+
|
|
6
|
+
@use 'sass:color';
|
|
7
|
+
@use 'sass:list';
|
|
8
|
+
@use 'sass:map';
|
|
9
|
+
@use 'sass:math';
|
|
10
|
+
@use 'sass:meta';
|
|
11
|
+
@use 'sass:string';
|
|
12
|
+
@use './custom-properties';
|
|
13
|
+
@use './keys';
|
|
14
|
+
|
|
15
|
+
@function _linear-channel-value($channel-value) {
|
|
16
|
+
$normalized-channel-value: math.div($channel-value, 255);
|
|
17
|
+
@if $normalized-channel-value < 0.03928 {
|
|
18
|
+
@return math.div($normalized-channel-value, 12.92);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@return math.pow(math.div($normalized-channel-value + 0.055, 1.055), 2.4);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Calculate the luminance for a color.
|
|
25
|
+
// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
|
|
26
|
+
@function luminance($color) {
|
|
27
|
+
$red: _linear-channel-value(color.red($color));
|
|
28
|
+
$green: _linear-channel-value(color.green($color));
|
|
29
|
+
$blue: _linear-channel-value(color.blue($color));
|
|
30
|
+
|
|
31
|
+
@return 0.2126 * $red + 0.7152 * $green + 0.0722 * $blue;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Calculate the contrast ratio between two colors.
|
|
35
|
+
// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
|
|
36
|
+
@function contrast($back, $front) {
|
|
37
|
+
$backLum: luminance($back) + 0.05;
|
|
38
|
+
$foreLum: luminance($front) + 0.05;
|
|
39
|
+
|
|
40
|
+
@return math.div(math.max($backLum, $foreLum), math.min($backLum, $foreLum));
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Determine whether the color is 'light' or 'dark'.
|
|
44
|
+
@function tone($color) {
|
|
45
|
+
@if $color == 'dark' or $color == 'light' {
|
|
46
|
+
@return $color;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@if meta.type-of($color) != 'color' {
|
|
50
|
+
@warn '#{$color} is not a color. Falling back to "dark" tone.';
|
|
51
|
+
@return 'dark';
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
$minimumContrast: 3.1;
|
|
55
|
+
|
|
56
|
+
$lightContrast: contrast($color, white);
|
|
57
|
+
$darkContrast: contrast($color, rgba(black, 0.87));
|
|
58
|
+
|
|
59
|
+
@if ($lightContrast < $minimumContrast) and ($darkContrast > $lightContrast) {
|
|
60
|
+
@return 'light';
|
|
61
|
+
} @else {
|
|
62
|
+
@return 'dark';
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// Determine whether to use dark or light text on top of given color to meet accessibility standards for contrast.
|
|
67
|
+
// Returns 'dark' if the given color is light and 'light' if the given color is dark.
|
|
68
|
+
@function contrast-tone($color) {
|
|
69
|
+
@return if(tone($color) == 'dark', 'light', 'dark');
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
///
|
|
73
|
+
/// @param $color Target color in any color format.
|
|
74
|
+
/// @return Returns hash in string format that uniquely represents
|
|
75
|
+
/// any given color format. Useful for generating unique keyframe names.
|
|
76
|
+
/// @example
|
|
77
|
+
/// `color-hash(#6200ee)` => "6200ee"
|
|
78
|
+
/// `color-hash(rgb(255, 112, 112))` => "ff7070"
|
|
79
|
+
/// `color-hash((varname: --my-fancy-color, fallback: teal))` => 'teal'
|
|
80
|
+
/// `color-hash((varname: --my-fancy-color, fallback: null))` => '--my-fancy-color'
|
|
81
|
+
///
|
|
82
|
+
@function color-hash($color) {
|
|
83
|
+
@if custom-properties.is-custom-prop($color) {
|
|
84
|
+
$color-value: custom-properties.get-fallback($color);
|
|
85
|
+
|
|
86
|
+
@if (custom-properties.is-custom-prop-string($color-value)) {
|
|
87
|
+
$varEndIndex: if(
|
|
88
|
+
string.index($color-value, ', '),
|
|
89
|
+
string.index($color-value, ', ') - 1,
|
|
90
|
+
-2
|
|
91
|
+
);
|
|
92
|
+
@return string.slice($color-value, 5, $varEndIndex);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
@if (meta.type-of($color-value) == 'color') {
|
|
96
|
+
@return _get-hex-string($color-value);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
@return custom-properties.get-varname($color);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
@if meta.type-of($color) == 'string' {
|
|
103
|
+
@return $color;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
@return _get-hex-string($color);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
@function _get-hex-string($color) {
|
|
110
|
+
@return string.slice(color.ie-hex-str($color), 2); // Index starts at 1
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
//
|
|
114
|
+
// Main theme colors for your brand.
|
|
115
|
+
//
|
|
116
|
+
// If you're a user customizing your color scheme in SASS, these are probably the only variables you need to change.
|
|
117
|
+
//
|
|
118
|
+
|
|
119
|
+
$primary: #6200ee !default; // baseline purple, 500 tone
|
|
120
|
+
$on-primary: if(contrast-tone($primary) == 'dark', #000, #fff) !default;
|
|
121
|
+
|
|
122
|
+
// The $mdc-theme-accent variable is DEPRECATED - it exists purely for backward compatibility.
|
|
123
|
+
// The $mdc-theme-secondary* variables should be used for all new projects.
|
|
124
|
+
/// @deprecated - use $secondary
|
|
125
|
+
$accent: #018786 !default; // baseline teal, 600 tone
|
|
126
|
+
$secondary: $accent !default;
|
|
127
|
+
$on-secondary: if(contrast-tone($secondary) == 'dark', #000, #fff) !default;
|
|
128
|
+
$background: #fff !default; // White
|
|
129
|
+
|
|
130
|
+
$surface: #fff !default;
|
|
131
|
+
$on-surface: if(contrast-tone($surface) == 'dark', #000, #fff) !default;
|
|
132
|
+
|
|
133
|
+
$error: #b00020 !default;
|
|
134
|
+
$on-error: if(contrast-tone($error) == 'dark', #000, #fff) !default;
|
|
135
|
+
|
|
136
|
+
//
|
|
137
|
+
// Text colors according to light vs dark and text type.
|
|
138
|
+
//
|
|
139
|
+
|
|
140
|
+
$text-colors: (
|
|
141
|
+
dark: (
|
|
142
|
+
primary: rgba(black, 0.87),
|
|
143
|
+
secondary: rgba(black, 0.54),
|
|
144
|
+
hint: rgba(black, 0.38),
|
|
145
|
+
disabled: rgba(black, 0.38),
|
|
146
|
+
icon: rgba(black, 0.38),
|
|
147
|
+
),
|
|
148
|
+
light: (
|
|
149
|
+
primary: white,
|
|
150
|
+
secondary: rgba(white, 0.7),
|
|
151
|
+
hint: rgba(white, 0.5),
|
|
152
|
+
disabled: rgba(white, 0.5),
|
|
153
|
+
icon: rgba(white, 0.5),
|
|
154
|
+
),
|
|
155
|
+
) !default;
|
|
156
|
+
|
|
157
|
+
$text-emphasis: (
|
|
158
|
+
high: 0.87,
|
|
159
|
+
medium: 0.6,
|
|
160
|
+
disabled: 0.38,
|
|
161
|
+
) !default;
|
|
162
|
+
|
|
163
|
+
@function ink-color-for-fill_($text-style, $fill-color) {
|
|
164
|
+
$contrast-tone: contrast-tone($fill-color);
|
|
165
|
+
|
|
166
|
+
@return map.get(map.get($text-colors, $contrast-tone), $text-style);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
//
|
|
170
|
+
// Primary text colors for each of the theme colors.
|
|
171
|
+
//
|
|
172
|
+
|
|
173
|
+
/// @deprecated Use individual variables (`$primary`, `$secondary`). Do not
|
|
174
|
+
/// override this Map of variables.
|
|
175
|
+
$property-values: (
|
|
176
|
+
primary: $primary,
|
|
177
|
+
secondary: $secondary,
|
|
178
|
+
background: $background,
|
|
179
|
+
surface: $surface,
|
|
180
|
+
error: $error,
|
|
181
|
+
on-primary: $on-primary,
|
|
182
|
+
on-secondary: $on-secondary,
|
|
183
|
+
on-surface: $on-surface,
|
|
184
|
+
on-error: $on-error,
|
|
185
|
+
text-primary-on-background: ink-color-for-fill_(primary, $background),
|
|
186
|
+
text-secondary-on-background: ink-color-for-fill_(secondary, $background),
|
|
187
|
+
text-hint-on-background: ink-color-for-fill_(hint, $background),
|
|
188
|
+
text-disabled-on-background: ink-color-for-fill_(disabled, $background),
|
|
189
|
+
text-icon-on-background: ink-color-for-fill_(icon, $background),
|
|
190
|
+
text-primary-on-light: ink-color-for-fill_(primary, light),
|
|
191
|
+
text-secondary-on-light: ink-color-for-fill_(secondary, light),
|
|
192
|
+
text-hint-on-light: ink-color-for-fill_(hint, light),
|
|
193
|
+
text-disabled-on-light: ink-color-for-fill_(disabled, light),
|
|
194
|
+
text-icon-on-light: ink-color-for-fill_(icon, light),
|
|
195
|
+
text-primary-on-dark: ink-color-for-fill_(primary, dark),
|
|
196
|
+
text-secondary-on-dark: ink-color-for-fill_(secondary, dark),
|
|
197
|
+
text-hint-on-dark: ink-color-for-fill_(hint, dark),
|
|
198
|
+
text-disabled-on-dark: ink-color-for-fill_(disabled, dark),
|
|
199
|
+
text-icon-on-dark: ink-color-for-fill_(icon, dark),
|
|
200
|
+
) !default;
|
|
201
|
+
|
|
202
|
+
@include keys.set-values(
|
|
203
|
+
$property-values,
|
|
204
|
+
$options: (custom-property-prefix: theme)
|
|
205
|
+
);
|
|
206
|
+
|
|
207
|
+
// A copy of the property values Map that is used to detect compile-time changes
|
|
208
|
+
// for Angular support.
|
|
209
|
+
$_property-values-copy: $property-values;
|
|
210
|
+
|
|
211
|
+
/// Checks if the global $mdc-theme-property-values was dynamically changed at
|
|
212
|
+
/// compile time. Typically, $property-values is configured once, but a Sass
|
|
213
|
+
/// hack allows the variable to be changed multiple times and effectively
|
|
214
|
+
/// support dynamic values.
|
|
215
|
+
///
|
|
216
|
+
/// Angular uses this in their dynamic theming. This function checks if this
|
|
217
|
+
/// scenario has occurred and returns the current global value that should be
|
|
218
|
+
/// used instead of the key store value.
|
|
219
|
+
///
|
|
220
|
+
/// @deprecated The function should not be used externally. It will be removed
|
|
221
|
+
/// when $mdc-theme-property-values is fully deprecated and removed.
|
|
222
|
+
@function deprecated-get-global-theme-key-value-if-changed($key) {
|
|
223
|
+
// Determine if we need to use a compile-time updated value to support
|
|
224
|
+
// Angular.
|
|
225
|
+
$current-global-value: map.get($property-values, $key);
|
|
226
|
+
$configured-global-value: map.get($_property-values-copy, $key);
|
|
227
|
+
@if $current-global-value != $configured-global-value {
|
|
228
|
+
// $mdc-theme-property-values was changed at compile time. Return the new
|
|
229
|
+
// compile-time value.
|
|
230
|
+
@return (value: $current-global-value, changed: true);
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
@return (changed: false);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// @deprecated use theme.property(). If you need to ensure the value is not a
|
|
237
|
+
// custom property, use custom-properties.is-custom-prop() to check if the value
|
|
238
|
+
// is a custom prop, then custom-properties.get-fallback() to get its value.
|
|
239
|
+
// If `$style` is a color (a literal color value, `currentColor`, or a CSS custom property), it is returned verbatim.
|
|
240
|
+
// Otherwise, `$style` is treated as a theme property name, and the corresponding value from
|
|
241
|
+
// `$mdc-theme-property-values` is returned. If this also fails, an error is thrown.
|
|
242
|
+
//
|
|
243
|
+
// This is mainly useful in situations where `mdc-theme-prop` cannot be used directly (e.g., `box-shadow`).
|
|
244
|
+
//
|
|
245
|
+
// Examples:
|
|
246
|
+
//
|
|
247
|
+
// 1. mdc-theme-prop-value(primary) => "#6200ee"
|
|
248
|
+
// 2. mdc-theme-prop-value(blue) => 'blue'
|
|
249
|
+
//
|
|
250
|
+
// NOTE: This function must be defined in _variables.scss instead of _functions.scss to avoid circular imports.
|
|
251
|
+
@function prop-value($style) {
|
|
252
|
+
@if custom-properties.is-custom-prop($style) {
|
|
253
|
+
@return custom-properties.get-fallback($style);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
@if is-valid-theme-prop-value_($style) {
|
|
257
|
+
@return $style;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
@if is-theme-key($style) {
|
|
261
|
+
// Determine if we need to use a compile-time updated value to support
|
|
262
|
+
// Angular.
|
|
263
|
+
$result: deprecated-get-global-theme-key-value-if-changed($style);
|
|
264
|
+
@if map.get($result, changed) {
|
|
265
|
+
@return map.get($result, value);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
@return keys.resolve($style);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
// NOTE: This function must be defined in _variables.scss instead of _functions.scss to avoid circular imports.
|
|
273
|
+
@function accessible-ink-color($fill-color, $text-style: primary) {
|
|
274
|
+
$fill-color-value: prop-value($fill-color);
|
|
275
|
+
$color-map-for-tone: map.get($text-colors, contrast-tone($fill-color-value));
|
|
276
|
+
|
|
277
|
+
@if not map.has-key($color-map-for-tone, $text-style) {
|
|
278
|
+
@error "Invalid $text-style: '#{$text-style}'. Choose one of: #{map.keys($color-map-for-tone)}";
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
@return map.get($color-map-for-tone, $text-style);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
// NOTE: This function is depended upon by mdc-theme-prop-value (above) and thus must be defined in this file.
|
|
285
|
+
@function is-valid-theme-prop-value_($style) {
|
|
286
|
+
@return meta.type-of($style) == 'color' or $style == 'currentColor' or
|
|
287
|
+
str_slice($style, 1, 4) == 'var(' or $style == 'inherit' or $style ==
|
|
288
|
+
'transparent' or
|
|
289
|
+
// NOTE: `GrayText` is deprecated, but is the only feasible way to convey the
|
|
290
|
+
// correct high-contrast mode colors in alignment with Windows system colors.
|
|
291
|
+
$style == 'GrayText';
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
@function text-emphasis($emphasis) {
|
|
295
|
+
@return map.get($text-emphasis, $emphasis);
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
@function is-theme-key($style) {
|
|
299
|
+
@return map.has-key($property-values, $style);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
@function get-theme-keys() {
|
|
303
|
+
@return map.keys($property-values);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
///
|
|
307
|
+
/// @param {Color|String} Color property key name (i.e., `primary`, `secondary`,
|
|
308
|
+
/// etc).
|
|
309
|
+
/// @return Returns custom property map containing CSS custom property and
|
|
310
|
+
/// fallback value (i.e., (varname: ..., fallback: ...). Returns color if
|
|
311
|
+
/// valid color value is provided. Throws error otherwise.
|
|
312
|
+
/// @examples
|
|
313
|
+
/// 1. get-custom-property(primary)
|
|
314
|
+
/// => (varname: --mdc-theme-primary, fallback: #6200ee)
|
|
315
|
+
///
|
|
316
|
+
/// 2. get-custom-property(#fff)
|
|
317
|
+
/// => #fff
|
|
318
|
+
///
|
|
319
|
+
@function get-custom-property($color) {
|
|
320
|
+
$is-tokens-custom-prop: meta.type-of($color) == 'string' and
|
|
321
|
+
string.index($color, '--') != null;
|
|
322
|
+
@if custom-properties.is-custom-prop($color) or
|
|
323
|
+
$is-tokens-custom-prop or
|
|
324
|
+
is-valid-theme-prop-value_($color)
|
|
325
|
+
{
|
|
326
|
+
@return $color;
|
|
327
|
+
} @else if is-theme-key($color) {
|
|
328
|
+
$custom-prop: keys.create-custom-property($color);
|
|
329
|
+
|
|
330
|
+
// Determine if we need to use a compile-time updated value to support
|
|
331
|
+
// Angular.
|
|
332
|
+
$result: deprecated-get-global-theme-key-value-if-changed($color);
|
|
333
|
+
@if map.get($result, changed) {
|
|
334
|
+
$custom-prop: custom-properties.set-fallback(
|
|
335
|
+
$custom-prop,
|
|
336
|
+
map.get($result, value)
|
|
337
|
+
);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
@return $custom-prop;
|
|
341
|
+
} @else {
|
|
342
|
+
@error "Invalid theme property: '#{$color}'. Choose one of: #{get-theme-keys()}";
|
|
343
|
+
}
|
|
344
|
+
}
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2022 Google LLC
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
//
|
|
5
|
+
|
|
6
|
+
@use 'sass:list';
|
|
7
|
+
@use 'sass:map';
|
|
8
|
+
@use 'sass:meta';
|
|
9
|
+
@use './css';
|
|
10
|
+
@use './custom-properties';
|
|
11
|
+
@use './gss';
|
|
12
|
+
@use './keys';
|
|
13
|
+
@use './replace';
|
|
14
|
+
@use './theme-color';
|
|
15
|
+
|
|
16
|
+
@mixin core-styles($query: feature-targeting.all()) {
|
|
17
|
+
$feat-color: feature-targeting.create-target($query, color);
|
|
18
|
+
|
|
19
|
+
:root {
|
|
20
|
+
@include feature-targeting.targets($feat-color) {
|
|
21
|
+
@each $style in theme-color.get-theme-keys() {
|
|
22
|
+
@include custom-properties.declaration(
|
|
23
|
+
keys.create-custom-property($style)
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@each $style in theme-color.get-theme-keys() {
|
|
30
|
+
@if $style != 'background' and $style != 'surface' {
|
|
31
|
+
.mdc-theme--#{$style} {
|
|
32
|
+
@include feature-targeting.targets($feat-color) {
|
|
33
|
+
@include property(color, $style, $important: true);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
} @else {
|
|
37
|
+
.mdc-theme--#{$style} {
|
|
38
|
+
@include feature-targeting.targets($feat-color) {
|
|
39
|
+
@include property(background-color, $style);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// CSS rules for using primary and secondary (plus light/dark variants) as background colors.
|
|
46
|
+
@each $style in ('primary', 'secondary') {
|
|
47
|
+
.mdc-theme--#{$style}-bg {
|
|
48
|
+
@include feature-targeting.targets($feat-color) {
|
|
49
|
+
@include property(background-color, $style, $important: true);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/// Applies a dynamic value to the specified property. This mixin should be used
|
|
56
|
+
/// in theme style mixins when setting properties.
|
|
57
|
+
///
|
|
58
|
+
/// The value may be any of the following:
|
|
59
|
+
/// - a standard CSS value
|
|
60
|
+
/// - a custom property Map, e.g. (varname: --mdc-foo, fallback: blue)
|
|
61
|
+
/// - a Material theme key String, e.g. 'primary', 'on-primary'
|
|
62
|
+
///
|
|
63
|
+
/// @example
|
|
64
|
+
/// @include theme.property(color, teal);
|
|
65
|
+
/// @include theme.property(color, custom-properties.create(foo, blue));
|
|
66
|
+
/// @include theme.property(color, primary);
|
|
67
|
+
///
|
|
68
|
+
/// A `$replace` Map parameter may be provided to replace key/value pairs for
|
|
69
|
+
/// string values. This can be used to substitute parameters in complex string
|
|
70
|
+
/// values such as `calc()` with custom properties.
|
|
71
|
+
///
|
|
72
|
+
/// @example
|
|
73
|
+
/// @include theme.property(
|
|
74
|
+
/// width,
|
|
75
|
+
/// calc(foo + bar),
|
|
76
|
+
/// $replace: (foo: custom-properties.create(foo), bar: 8px)
|
|
77
|
+
/// );
|
|
78
|
+
///
|
|
79
|
+
/// Note: Material theme key Strings (e.g. `primary`) are not supported as
|
|
80
|
+
/// replacement values.
|
|
81
|
+
///
|
|
82
|
+
/// A CSS custom property declaration may be emitted by providing a custom
|
|
83
|
+
/// property Map to `$property`. The fallback value (or `$value` if provided)
|
|
84
|
+
/// will be used as the declaration value.
|
|
85
|
+
///
|
|
86
|
+
/// @example - scss
|
|
87
|
+
/// .foo {
|
|
88
|
+
/// @include theme.property(custom-properties.create(foo, teal));
|
|
89
|
+
/// @include theme.property(custom-properties.create(bar, teal), blue);
|
|
90
|
+
/// }
|
|
91
|
+
///
|
|
92
|
+
/// @example - css
|
|
93
|
+
/// .foo {
|
|
94
|
+
/// --mdc-foo: teal;
|
|
95
|
+
/// --mdc-bar: blue;
|
|
96
|
+
/// }
|
|
97
|
+
///
|
|
98
|
+
/// @param {String | Map} $property - The name of the CSS property. May also be
|
|
99
|
+
/// a custom property Map to emit a custom propery declaration.
|
|
100
|
+
/// @param {String | Number | Color | List | Map} $value - The property's value.
|
|
101
|
+
/// This parameter may be omitted if `$property` is a custom property Map.
|
|
102
|
+
/// @param {Map} $gss - Optional Map of GSS annotations to set.
|
|
103
|
+
/// @param {Map} $replace - An optional Map of replacement key/value pairs if
|
|
104
|
+
/// the `$value` is a string.
|
|
105
|
+
/// @param {Bool} $important - Set to true to add an `!important` rule. Defaults
|
|
106
|
+
/// to false.
|
|
107
|
+
@mixin property(
|
|
108
|
+
$property,
|
|
109
|
+
$value: null,
|
|
110
|
+
$gss: (),
|
|
111
|
+
$replace: null,
|
|
112
|
+
$important: false
|
|
113
|
+
) {
|
|
114
|
+
@if custom-properties.is-custom-prop($property) {
|
|
115
|
+
// $property is a custom property Map
|
|
116
|
+
// --mdc-foo: value;
|
|
117
|
+
@if $value {
|
|
118
|
+
$property: custom-properties.set-fallback(
|
|
119
|
+
$property,
|
|
120
|
+
$value,
|
|
121
|
+
$shallow: true
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
@include custom-properties.declaration(
|
|
126
|
+
$property,
|
|
127
|
+
$gss: $gss,
|
|
128
|
+
$important: $important
|
|
129
|
+
);
|
|
130
|
+
} @else if custom-properties.is-custom-prop($value) {
|
|
131
|
+
// $value is a custom property Map
|
|
132
|
+
// property: var(--mdc-foo, fallback);
|
|
133
|
+
@include custom-properties.declaration(
|
|
134
|
+
$property,
|
|
135
|
+
$value,
|
|
136
|
+
$gss: $gss,
|
|
137
|
+
$important: $important
|
|
138
|
+
);
|
|
139
|
+
} @else if keys.is-key($value) {
|
|
140
|
+
// $value is a key String
|
|
141
|
+
// property: key;
|
|
142
|
+
$custom-prop: keys.create-custom-property($value);
|
|
143
|
+
|
|
144
|
+
@if theme-color.is-theme-key($value) {
|
|
145
|
+
// Determine if we need to use a compile-time updated value to support
|
|
146
|
+
// Angular.
|
|
147
|
+
$key: $value;
|
|
148
|
+
// (changed: Bool, value: *)
|
|
149
|
+
$result: theme-color.deprecated-get-global-theme-key-value-if-changed(
|
|
150
|
+
$key
|
|
151
|
+
);
|
|
152
|
+
|
|
153
|
+
@if map.get($result, changed) {
|
|
154
|
+
// $mdc-theme-property-values was changed at compile time. Use the
|
|
155
|
+
// global value instead. Otherwise if it was not changed, continue
|
|
156
|
+
// using the key store normally.
|
|
157
|
+
$custom-prop: keys.create-custom-property($key);
|
|
158
|
+
$custom-prop: custom-properties.set-fallback(
|
|
159
|
+
$custom-prop,
|
|
160
|
+
map.get($result, value)
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
@include custom-properties.declaration(
|
|
166
|
+
$property,
|
|
167
|
+
$custom-prop,
|
|
168
|
+
$gss: $gss,
|
|
169
|
+
$important: $important
|
|
170
|
+
);
|
|
171
|
+
} @else {
|
|
172
|
+
// $value is a standard CSS value
|
|
173
|
+
// property: value;
|
|
174
|
+
$fallback: null;
|
|
175
|
+
@if $replace {
|
|
176
|
+
// If any replacements are null, treat the entire value as null (do not
|
|
177
|
+
// emit anything).
|
|
178
|
+
@each $name, $replacement in $replace {
|
|
179
|
+
@if $replacement == null {
|
|
180
|
+
$value: null;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
@if $replace and $value {
|
|
186
|
+
@if meta.type-of($replace) != 'map' {
|
|
187
|
+
@error 'mdc-theme: Invalid replacement #{$replace}. Must be a Map.';
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
$replace-map-fallback: ();
|
|
191
|
+
$replace-map-value: ();
|
|
192
|
+
$needs-fallback: false;
|
|
193
|
+
@each $name, $replacement in $replace {
|
|
194
|
+
@if custom-properties.is-custom-prop($replacement) {
|
|
195
|
+
$replace-value: custom-properties.get-declaration-value($replacement);
|
|
196
|
+
$replace-fallback: custom-properties.get-declaration-fallback(
|
|
197
|
+
$replacement
|
|
198
|
+
);
|
|
199
|
+
@if $replace-fallback {
|
|
200
|
+
$needs-fallback: true;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
$replace-map-value: map.set(
|
|
204
|
+
$replace-map-value,
|
|
205
|
+
$name,
|
|
206
|
+
$replace-value
|
|
207
|
+
);
|
|
208
|
+
$replace-map-fallback: map.set(
|
|
209
|
+
$replace-map-fallback,
|
|
210
|
+
$name,
|
|
211
|
+
$replace-fallback
|
|
212
|
+
);
|
|
213
|
+
} @else {
|
|
214
|
+
$replace-map-value: map.set($replace-map-value, $name, $replacement);
|
|
215
|
+
$replace-map-fallback: map.set(
|
|
216
|
+
$replace-map-fallback,
|
|
217
|
+
$name,
|
|
218
|
+
$replacement
|
|
219
|
+
);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
@if meta.type-of($value) == 'string' {
|
|
224
|
+
@if $needs-fallback {
|
|
225
|
+
$fallback: replace.replace-string($value, $replace-map-fallback);
|
|
226
|
+
}
|
|
227
|
+
$value: replace.replace-string($value, $replace-map-value);
|
|
228
|
+
} @else if meta.type-of($value) == 'list' {
|
|
229
|
+
@if $needs-fallback {
|
|
230
|
+
$fallback: replace.replace-list($value, $replace-map-fallback);
|
|
231
|
+
}
|
|
232
|
+
$value: replace.replace-list($value, $replace-map-value);
|
|
233
|
+
} @else {
|
|
234
|
+
@error 'mdc-theme: Invalid replacement value #{$value}. $replace may only be used with string or list values.';
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
@include css.declaration(
|
|
239
|
+
$property,
|
|
240
|
+
$value,
|
|
241
|
+
$fallback-value: $fallback,
|
|
242
|
+
$gss: $gss,
|
|
243
|
+
$important: $important
|
|
244
|
+
);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// @deprecated use the `property()` mixin instead
|
|
249
|
+
@mixin prop($property, $style, $important: false) {
|
|
250
|
+
@include property($property, $style, $important: $important);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/// Validates theme configuration keys by comparing it with original theme
|
|
254
|
+
/// configuration, also validates theme values to see if it has any unsupported
|
|
255
|
+
/// value formats.
|
|
256
|
+
/// @param {Map} $origin-theme - Original theme configuration in Sass map format
|
|
257
|
+
/// that has all supported keys.
|
|
258
|
+
/// @param {Map} $custom-theme - Provided theme configuration in Sass map format
|
|
259
|
+
/// that should be validated against `$origin-theme`.
|
|
260
|
+
/// @examples
|
|
261
|
+
/// @mixin theme($theme) {
|
|
262
|
+
/// @include theme.validate-theme($light-theme, $theme);
|
|
263
|
+
///
|
|
264
|
+
/// // ...
|
|
265
|
+
/// }
|
|
266
|
+
@mixin validate-theme($origin-theme, $custom-theme, $test-only: false) {
|
|
267
|
+
@include validate-theme-keys(
|
|
268
|
+
$origin-theme,
|
|
269
|
+
$custom-theme,
|
|
270
|
+
$test-only: $test-only
|
|
271
|
+
);
|
|
272
|
+
@include _validate-theme-values($custom-theme, $test-only: $test-only);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/// Validates theme configuration keys by comparing it with original theme
|
|
276
|
+
/// configuration.
|
|
277
|
+
/// @see Use `validate-theme()` to validate both theme keys and theme values.
|
|
278
|
+
/// @param {Map} $origin-theme - Original theme configuration in Sass map format
|
|
279
|
+
/// that has all supported keys.
|
|
280
|
+
/// @param {Map} $custom-theme - Provided theme configuration in Sass map format
|
|
281
|
+
/// that should be validated against `$origin-theme`.
|
|
282
|
+
@mixin validate-theme-keys($origin-theme, $custom-theme, $test-only: false) {
|
|
283
|
+
$origin-keys: map.keys($origin-theme);
|
|
284
|
+
$unsupported-keys: ();
|
|
285
|
+
|
|
286
|
+
@each $key, $value in $custom-theme {
|
|
287
|
+
@if (not list.index($origin-keys, $key)) {
|
|
288
|
+
$unsupported-keys: list.append(
|
|
289
|
+
$unsupported-keys,
|
|
290
|
+
$key,
|
|
291
|
+
$separator: comma
|
|
292
|
+
);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
@if list.length($unsupported-keys) > 0 {
|
|
297
|
+
$error-message: 'Unsupported keys found: #{$unsupported-keys}. Expected one of: #{$origin-keys}.';
|
|
298
|
+
|
|
299
|
+
@if $test-only {
|
|
300
|
+
content: $error-message;
|
|
301
|
+
} @else {
|
|
302
|
+
@error $error-message;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
/// Validates theme configuration values to see if it has any unsupported value
|
|
308
|
+
/// formats.
|
|
309
|
+
/// @see Use `validate-theme()` to validate both theme keys and theme values.
|
|
310
|
+
/// @param {Map} $custom-theme - Provided theme configuration in Sass map format
|
|
311
|
+
/// that needs to be validated.
|
|
312
|
+
@mixin _validate-theme-values($custom-theme, $test-only: false) {
|
|
313
|
+
$unsupported-custom-prop-keys: ();
|
|
314
|
+
|
|
315
|
+
@each $key, $value in $custom-theme {
|
|
316
|
+
@if custom-properties.is-custom-prop($value) {
|
|
317
|
+
$unsupported-custom-prop-keys: list.append(
|
|
318
|
+
$unsupported-custom-prop-keys,
|
|
319
|
+
$key,
|
|
320
|
+
$separator: comma
|
|
321
|
+
);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
@if list.length($unsupported-custom-prop-keys) > 0 {
|
|
326
|
+
$error-message: 'Custom properties are not supported for theme map keys: #{$unsupported-custom-prop-keys}';
|
|
327
|
+
|
|
328
|
+
@if $test-only {
|
|
329
|
+
content: $error-message;
|
|
330
|
+
} @else {
|
|
331
|
+
@error $error-message;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|