System tokens follow the Material Design 3 roles. Component tokens derive from them, so changing --dp-ui-sys-color-primary recolors the selected day, the buttons and the focus ring at once. The defaults below are the values of the basic theme in main.css. The other themes set their own values.
Add your own selector with ui.cssClass and set variables on it. The class is added to the surface root, which is the <dialog> for a modal and the .dp-ui__container element otherwise. Open the field to try the teal theme from the rule below.
Custom theme Field Inline Code Copy The classes you can combine with these variables are on CSS Classes , and the themes are on Themes .
System tokens follow the Material Design 3 roles and are set with light-dark(), so the first value is the light scheme and the second the dark one.
Variable Default --dp-ui-sys-color-surface-container-highlight-dark(#ece6f0, #2b2930)--dp-ui-sys-color-surface-variantlight-dark(#e7e0ec, #49454f)--dp-ui-sys-color-on-surfacelight-dark(#1d1b20, #e6e0e9)--dp-ui-sys-color-on-surface-variantlight-dark(#49454f, #cac4d0)--dp-ui-sys-color-primarylight-dark(#6750a4, #d0bcff)--dp-ui-sys-color-on-primarylight-dark(#ffffff, #381e72)--dp-ui-sys-color-secondary-containerlight-dark(#e8def8, #4a4458)--dp-ui-sys-color-on-secondary-containerlight-dark(#4a4458, #e8def8)--dp-ui-sys-color-on-primary-containerlight-dark(#4f378b, #eaddff)--dp-ui-sys-color-outlinelight-dark(#79747e, #938f99)--dp-ui-sys-color-outline-variantlight-dark(#cac4d0, #49454f)--dp-ui-sys-color-errorlight-dark(#b3261e, #f2b8b5)--dp-ui-sys-color-scrim#000000
Variable Default --dp-ui-sys-shape-corner-none0--dp-ui-sys-shape-corner-extra-small4px--dp-ui-sys-shape-corner-small8px--dp-ui-sys-shape-corner-medium12px--dp-ui-sys-shape-corner-large16px--dp-ui-sys-shape-corner-extra-large28px--dp-ui-sys-shape-corner-full9999px
--dp-ui-sys-typescale-font sets the family. Each scale below has a font, size, line height, weight and tracking variable.
Variable Default --dp-ui-sys-typescale-fontRoboto, system-ui, sans-serif--dp-ui-sys-typescale-body-large-fontvar(--dp-ui-sys-typescale-font)--dp-ui-sys-typescale-body-large-size16px--dp-ui-sys-typescale-body-large-line-height24px--dp-ui-sys-typescale-body-large-weight400--dp-ui-sys-typescale-body-large-tracking0.5px--dp-ui-sys-typescale-body-small-fontvar(--dp-ui-sys-typescale-font)--dp-ui-sys-typescale-body-small-size12px--dp-ui-sys-typescale-body-small-line-height16px--dp-ui-sys-typescale-body-small-weight400--dp-ui-sys-typescale-body-small-tracking0.4px--dp-ui-sys-typescale-label-large-fontvar(--dp-ui-sys-typescale-font)--dp-ui-sys-typescale-label-large-size14px--dp-ui-sys-typescale-label-large-line-height20px--dp-ui-sys-typescale-label-large-weight500--dp-ui-sys-typescale-label-large-tracking0.1px--dp-ui-sys-typescale-label-small-fontvar(--dp-ui-sys-typescale-font)--dp-ui-sys-typescale-label-small-size11px--dp-ui-sys-typescale-label-small-line-height16px--dp-ui-sys-typescale-label-small-weight500--dp-ui-sys-typescale-label-small-tracking0.5px--dp-ui-sys-typescale-title-large-fontvar(--dp-ui-sys-typescale-font)--dp-ui-sys-typescale-title-large-size22px--dp-ui-sys-typescale-title-large-line-height28px--dp-ui-sys-typescale-title-large-weight400--dp-ui-sys-typescale-title-large-tracking0--dp-ui-sys-typescale-headline-large-fontvar(--dp-ui-sys-typescale-font)--dp-ui-sys-typescale-headline-large-size32px--dp-ui-sys-typescale-headline-large-line-height40px--dp-ui-sys-typescale-headline-large-weight400--dp-ui-sys-typescale-headline-large-tracking0
Variable Default --dp-ui-sys-state-layer-hover-opacity0.08--dp-ui-sys-state-layer-focus-opacity0.1--dp-ui-sys-state-layer-pressed-opacity0.1--dp-ui-sys-state-disabled-opacity0.38
Variable Default --dp-ui-sys-elevation-level30 1px 3px rgba(0, 0, 0, 0.3), 0 4px 8px 3px rgba(0, 0, 0, 0.15)
Variable Default --dp-ui-container-colorvar(--dp-ui-sys-color-surface-container-high)--dp-ui-container-text-colorvar(--dp-ui-sys-color-on-surface)--dp-ui-container-width360px--dp-ui-container-shape-dockedvar(--dp-ui-sys-shape-corner-large)--dp-ui-container-shape-modalvar(--dp-ui-sys-shape-corner-extra-large)--dp-ui-container-elevationvar(--dp-ui-sys-elevation-level3)--dp-ui-container-backdrop-filternone--dp-ui-container-side-padding12px
Variable Default --dp-ui-scrim-colorvar(--dp-ui-sys-color-scrim)--dp-ui-scrim-opacity0.32--dp-ui-divider-colorvar(--dp-ui-sys-color-outline-variant)
Variable Default --dp-ui-header-height-docked64px--dp-ui-header-height-modal120px--dp-ui-header-supporting-text-colorvar(--dp-ui-sys-color-on-surface-variant)--dp-ui-header-headline-colorvar(--dp-ui-sys-color-on-surface-variant)
Variable Default --dp-ui-menu-button-height40px--dp-ui-menu-button-label-text-colorvar(--dp-ui-sys-color-on-surface-variant)--dp-ui-menu-button-icon-size18px--dp-ui-icon-button-size40px--dp-ui-icon-button-icon-size24px--dp-ui-icon-button-icon-colorvar(--dp-ui-sys-color-on-surface-variant)--dp-ui-text-button-height36px--dp-ui-text-button-label-text-colorvar(--dp-ui-sys-color-primary)
Variable Default --dp-ui-weekday-label-text-colorvar(--dp-ui-sys-color-on-surface)--dp-ui-week-number-label-text-colorvar(--dp-ui-sys-color-on-surface-variant)--dp-ui-week-number-width48px
Variable Default --dp-ui-date-container-size48px--dp-ui-date-state-layer-size40px--dp-ui-date-label-text-colorvar(--dp-ui-sys-color-on-surface)--dp-ui-date-state-layer-colorvar(--dp-ui-sys-color-on-surface)--dp-ui-date-outside-month-opacity0.38--dp-ui-date-disabled-opacityvar(--dp-ui-sys-state-disabled-opacity)--dp-ui-date-today-outline-width1px--dp-ui-date-today-outline-colorvar(--dp-ui-sys-color-primary)--dp-ui-date-today-label-text-colorvar(--dp-ui-sys-color-primary)--dp-ui-date-selected-container-colorvar(--dp-ui-sys-color-primary)--dp-ui-date-selected-label-text-colorvar(--dp-ui-sys-color-on-primary)--dp-ui-date-content-colorvar(--dp-ui-sys-color-on-surface-variant)--dp-ui-date-content-row-height64px
Range, badge and presets # Variable Default --dp-ui-date-in-range-container-colorvar(--dp-ui-sys-color-secondary-container)--dp-ui-date-in-range-label-text-colorvar(--dp-ui-sys-color-on-secondary-container)--dp-ui-date-in-range-state-layer-colorvar(--dp-ui-sys-color-on-primary-container)--dp-ui-date-badge-colorvar(--dp-ui-sys-color-primary)--dp-ui-date-badge-selected-colorvar(--dp-ui-sys-color-on-primary)--dp-ui-date-badge-size4px--dp-ui-range-height568px--dp-ui-input-container-width328px--dp-ui-month-widthcalc(7 * var(--dp-ui-date-container-size))--dp-ui-month-gap24px--dp-ui-presets-width168px--dp-ui-preset-height32px--dp-ui-preset-shape8px--dp-ui-preset-outline-colorvar(--dp-ui-sys-color-outline)--dp-ui-preset-label-text-colorvar(--dp-ui-sys-color-on-surface-variant)--dp-ui-preset-pressed-container-colorvar(--dp-ui-sys-color-secondary-container)--dp-ui-preset-pressed-label-text-colorvar(--dp-ui-sys-color-on-secondary-container)--dp-ui-preset-row-height48px
Variable Default --dp-ui-text-field-height56px--dp-ui-text-field-shapevar(--dp-ui-sys-shape-corner-extra-small)--dp-ui-text-field-outline-width1px--dp-ui-text-field-outline-colorvar(--dp-ui-sys-color-outline)--dp-ui-text-field-focus-outline-width2px--dp-ui-text-field-focus-outline-colorvar(--dp-ui-sys-color-primary)--dp-ui-text-field-label-container-colorvar(--dp-ui-container-color)--dp-ui-text-field-label-text-colorvar(--dp-ui-sys-color-on-surface-variant)--dp-ui-text-field-focus-label-text-colorvar(--dp-ui-sys-color-primary)--dp-ui-text-field-input-text-colorvar(--dp-ui-sys-color-on-surface)--dp-ui-text-field-supporting-text-colorvar(--dp-ui-sys-color-on-surface-variant)--dp-ui-text-field-error-colorvar(--dp-ui-sys-color-error)
Variable Default --dp-ui-menu-item-height48px--dp-ui-menu-item-label-text-colorvar(--dp-ui-sys-color-on-surface)--dp-ui-menu-item-icon-colorvar(--dp-ui-sys-color-on-surface-variant)--dp-ui-menu-item-selected-container-colorvar(--dp-ui-sys-color-surface-variant)--dp-ui-menu-max-height336px--dp-ui-scrollbar-thumb-colorvar(--dp-ui-sys-color-on-surface-variant)
Variable Default --dp-ui-year-item-width72px--dp-ui-year-item-height36px--dp-ui-year-item-label-text-colorvar(--dp-ui-sys-color-on-surface-variant)--dp-ui-year-item-selected-container-colorvar(--dp-ui-sys-color-primary)--dp-ui-year-item-selected-label-text-colorvar(--dp-ui-sys-color-on-primary)--dp-ui-year-selection-height288px
Variable Default --dp-ui-focus-ring-colorvar(--dp-ui-sys-color-primary)--dp-ui-focus-ring-width2px--dp-ui-focus-ring-offset2px
Variable Default --dp-ui-popover-gap4px--dp-ui-popover-edge-margin4px--dp-ui-popover-min-height160px--dp-ui-popover-z-index5001
With calendar.months above 1, the container gets dp-ui__container--multi-month and an inline --dp-ui-visible-months property that holds the number of months shown. Read it in your own CSS if you need it, and do not set it.