@use "sass:map";
@use "../core/_index.scss" as *;

/// The font family of the List components.
/// @group list
$kendo-list-font-family: var( --kendo-font-family, inherit) !default;

/// The font size of the List component.
/// @group list
$kendo-list-sm-font-size: var( --kendo-font-size, inherit ) !default;
$kendo-list-md-font-size: var( --kendo-font-size, inherit ) !default;
$kendo-list-lg-font-size: var( --kendo-font-size, inherit ) !default;

/// The line height of the List component.
/// @group list
$kendo-list-sm-line-height: var( --kendo-line-height, normal ) !default;
$kendo-list-md-line-height: var( --kendo-line-height, normal ) !default;
$kendo-list-lg-line-height: var( --kendo-line-height, normal ) !default;

/// The horizontal padding of the List header.
/// @group list
$kendo-list-sm-header-padding-x: k-spacing(2) !default;
$kendo-list-md-header-padding-x: k-spacing(2) !default;
$kendo-list-lg-header-padding-x: k-spacing(2) !default;

/// The vertical padding of the List header.
/// @group list
$kendo-list-sm-header-padding-y: k-spacing(1.5) !default;
$kendo-list-md-header-padding-y: k-spacing(2) !default;
$kendo-list-lg-header-padding-y: k-spacing(2.5) !default;

/// The border width of the List header.
/// @group list
$kendo-list-header-border-width: 0 !default;

/// The font size of the List header.
/// @group list
$kendo-list-sm-header-font-size: var( --kendo-font-size, inherit ) !default;
$kendo-list-md-header-font-size: var( --kendo-font-size, inherit ) !default;
$kendo-list-lg-header-font-size: var( --kendo-font-size, inherit ) !default;

/// The line height of the List header.
/// @group list
$kendo-list-sm-header-line-height: var( --kendo-line-height, normal ) !default;
$kendo-list-md-header-line-height: var( --kendo-line-height, normal ) !default;
$kendo-list-lg-header-line-height: var( --kendo-line-height, normal ) !default;

/// The font weight of the List header.
/// @group list
$kendo-list-header-font-weight: var( --kendo-font-weight-bold, normal ) !default;

/// The horizontal padding of the List items.
/// @group list
$kendo-list-sm-item-padding-x: k-spacing(2) !default;
$kendo-list-md-item-padding-x: k-spacing(2) !default;
$kendo-list-lg-item-padding-x: k-spacing(2) !default;

/// The vertical padding of the List items.
/// @group list
$kendo-list-sm-item-padding-y: k-spacing(1.5) !default;
$kendo-list-md-item-padding-y: k-spacing(2) !default;
$kendo-list-lg-item-padding-y: k-spacing(2.5) !default;

/// The font size of the List items.
/// @group list
$kendo-list-sm-item-font-size: var( --kendo-font-size, inherit ) !default;
$kendo-list-md-item-font-size: var( --kendo-font-size, inherit ) !default;
$kendo-list-lg-item-font-size: var( --kendo-font-size, inherit ) !default;

/// The line height of the List items.
/// @group list
$kendo-list-sm-item-line-height: var( --kendo-line-height, normal ) !default;
$kendo-list-md-item-line-height: var( --kendo-line-height, normal ) !default;
$kendo-list-lg-item-line-height: var( --kendo-line-height, normal ) !default;

/// The font size of the List item group label.
/// @group list
$kendo-list-item-group-label-sm-font-size: var( --kendo-font-size-xs, inherit ) !default;
$kendo-list-item-group-label-md-font-size: var( --kendo-font-size-xs, inherit ) !default;
$kendo-list-item-group-label-lg-font-size: var( --kendo-font-size-xs, inherit ) !default;

/// The horizontal padding of the List group items.
/// @group list
$kendo-list-sm-group-item-padding-x: k-spacing(2) !default;
$kendo-list-md-group-item-padding-x: k-spacing(2) !default;
$kendo-list-lg-group-item-padding-x: k-spacing(2) !default;

/// The vertical padding of the List group items.
/// @group list
$kendo-list-sm-group-item-padding-y: k-spacing(1.5) !default;
$kendo-list-md-group-item-padding-y: k-spacing(2) !default;
$kendo-list-lg-group-item-padding-y: k-spacing(2.5) !default;

/// The horizontal padding of the List item group label.
/// @group list
$kendo-list-item-group-label-sm-padding-x: k-spacing(0.5) !default;
$kendo-list-item-group-label-md-padding-x: k-spacing(1) !default;
$kendo-list-item-group-label-lg-padding-x: k-spacing(1.5) !default;

/// The vertical padding of the List item group label.
/// @group list
$kendo-list-item-group-label-sm-padding-y: k-spacing(0.5) !default;
$kendo-list-item-group-label-md-padding-y: k-spacing(1) !default;
$kendo-list-item-group-label-lg-padding-y: k-spacing(1.5) !default;

/// The border width of the List group items.
/// @group list
$kendo-list-group-item-border-width: 1px 0 0 !default;

/// The font size of the List group items.
/// @group list
$kendo-list-sm-group-item-font-size: var( --kendo-font-size, inherit ) !default;
$kendo-list-md-group-item-font-size: var( --kendo-font-size, inherit ) !default;
$kendo-list-lg-group-item-font-size: var( --kendo-font-size, inherit ) !default;

/// The line height of the List group items.
/// @group list
$kendo-list-sm-group-item-line-height: var( --kendo-line-height, normal ) !default;
$kendo-list-md-group-item-line-height: var( --kendo-line-height, normal ) !default;
$kendo-list-lg-group-item-line-height: var( --kendo-line-height, normal ) !default;

/// The font weight of the List group item.
/// @group list
$kendo-list-group-item-font-weight: var( --kendo-font-weight-bold, normal ) !default;

/// The text color of the List item icon
/// @group list
$kendo-list-item-icon-text: if($kendo-enable-color-system, k-color( primary ), k-get-theme-color-var( primary-100 )) !default;

/// The map with the sizes of the List.
/// @group list
$kendo-list-sizes: (
    sm: (
        font-size: $kendo-list-sm-font-size,
        line-height: $kendo-list-sm-line-height,
        header-padding-x: $kendo-list-sm-header-padding-x,
        header-padding-y: $kendo-list-sm-header-padding-y,
        header-font-size: $kendo-list-sm-header-font-size,
        header-line-height: $kendo-list-sm-header-line-height,
        item-padding-x: $kendo-list-sm-item-padding-x,
        item-padding-y: $kendo-list-sm-item-padding-y,
        item-font-size: $kendo-list-sm-item-font-size,
        item-line-height: $kendo-list-sm-item-line-height,
        item-group-label-padding-x: $kendo-list-item-group-label-sm-padding-x,
        item-group-label-padding-y: $kendo-list-item-group-label-sm-padding-y,
        item-group-label-font-size: $kendo-list-item-group-label-sm-font-size,
        group-item-padding-x: $kendo-list-sm-group-item-padding-x,
        group-item-padding-y: $kendo-list-sm-group-item-padding-y,
        group-item-font-size: $kendo-list-sm-group-item-font-size,
        group-item-line-height: $kendo-list-sm-group-item-line-height
    ),
    md: (
        font-size: $kendo-list-md-font-size,
        line-height: $kendo-list-md-line-height,
        header-padding-x: $kendo-list-md-header-padding-x,
        header-padding-y: $kendo-list-md-header-padding-y,
        header-font-size: $kendo-list-md-header-font-size,
        header-line-height: $kendo-list-md-header-line-height,
        item-padding-x: $kendo-list-md-item-padding-x,
        item-padding-y: $kendo-list-md-item-padding-y,
        item-font-size: $kendo-list-md-item-font-size,
        item-line-height: $kendo-list-md-item-line-height,
        item-group-label-padding-x: $kendo-list-item-group-label-md-padding-x,
        item-group-label-padding-y: $kendo-list-item-group-label-md-padding-y,
        item-group-label-font-size: $kendo-list-item-group-label-md-font-size,
        group-item-padding-x: $kendo-list-md-group-item-padding-x,
        group-item-padding-y: $kendo-list-md-group-item-padding-y,
        group-item-font-size: $kendo-list-md-group-item-font-size,
        group-item-line-height: $kendo-list-md-group-item-line-height
    ),
    lg: (
        font-size: $kendo-list-lg-font-size,
        line-height: $kendo-list-lg-line-height,
        header-padding-x: $kendo-list-lg-header-padding-x,
        header-padding-y: $kendo-list-lg-header-padding-y,
        header-font-size: $kendo-list-lg-header-font-size,
        header-line-height: $kendo-list-lg-header-line-height,
        item-padding-x: $kendo-list-lg-item-padding-x,
        item-padding-y: $kendo-list-lg-item-padding-y,
        item-font-size: $kendo-list-lg-item-font-size,
        item-line-height: $kendo-list-lg-item-line-height,
        item-group-label-padding-x: $kendo-list-item-group-label-lg-padding-x,
        item-group-label-padding-y: $kendo-list-item-group-label-lg-padding-y,
        item-group-label-font-size: $kendo-list-item-group-label-lg-font-size,
        group-item-padding-x: $kendo-list-lg-group-item-padding-x,
        group-item-padding-y: $kendo-list-lg-group-item-padding-y,
        group-item-font-size: $kendo-list-lg-group-item-font-size,
        group-item-line-height: $kendo-list-lg-group-item-line-height
    )
) !default;


/// The background color of the List component.
/// @group list
$kendo-list-bg: var( --kendo-component-bg, transparent ) !default;
/// The text color of the List component.
/// @group list
$kendo-list-text: var( --kendo-component-text, inherit ) !default;
/// The border color of the List component.
/// @group list
$kendo-list-border: var( --kendo-component-border, inherit ) !default;


/// The background color of the List header.
/// @group list
$kendo-list-header-bg: if($kendo-enable-color-system, k-color( app-surface ), $kendo-color-white) !default;
/// The text color of the List header.
/// @group list
$kendo-list-header-text: if($kendo-enable-color-system, k-color( primary ), k-get-theme-color-var( primary-100 )) !default;
/// The border color of the List header.
/// @group list
$kendo-list-header-border: inherit !default;
/// The box shadow of the List header.
/// @group list
$kendo-list-header-shadow: $kendo-box-shadow-depth-3 !default;


/// The background color of the List items.
/// @group list
$kendo-list-item-bg: if($kendo-enable-color-system, k-color( app-surface ), $kendo-color-white) !default;
/// The text color of the List items.
/// @group list
$kendo-list-item-text: if($kendo-enable-color-system, k-color( on-app-surface ), k-get-theme-color-var( neutral-160 )) !default;

/// The background color of the hovered List items.
/// @group list
$kendo-list-item-hover-bg: if($kendo-enable-color-system, k-color( base-hover ), k-get-theme-color-var( neutral-20 )) !default;
/// The text color of the hovered List items.
/// @group list
$kendo-list-item-hover-text: if($kendo-enable-color-system, k-color( on-app-surface ), k-get-theme-color-var( neutral-190 )) !default;

/// The background color of the focused List items.
/// @group list
$kendo-list-item-focus-bg: if($kendo-enable-color-system, k-color( app-surface ), $kendo-color-white) !default;
/// The text color of the focused List items.
/// @group list
$kendo-list-item-focus-text: if($kendo-enable-color-system, k-color( on-app-surface ), k-get-theme-color-var( neutral-160 )) !default;
/// The box shadow of the focused List items.
/// @group list
$kendo-list-item-focus-shadow: inset 0 0 0 1px if($kendo-enable-color-system, k-color( base-emphasis ), k-get-theme-color-var( neutral-130)) !default;

/// The background color of the selected List items.
/// @group list
$kendo-list-item-selected-bg: if($kendo-enable-color-system, k-color( base-active ), k-get-theme-color-var( neutral-40 )) !default;
/// The text color of the selected List items.
/// @group list
$kendo-list-item-selected-text: if($kendo-enable-color-system, k-color( on-app-surface ), k-get-theme-color-var( neutral-190 )) !default;

/// The background color of the selected hovered List items.
/// @group list
$kendo-list-item-selected-hover-bg: if($kendo-enable-color-system, k-color( base-active ), k-get-theme-color-var( neutral-50 )) !default;
/// The text color of the selected hovered List items.
/// @group list
$kendo-list-item-selected-hover-text: if($kendo-enable-color-system, k-color( on-app-surface ), k-get-theme-color-var( neutral-190 )) !default;

/// The background color of the disabled List items.
/// @group list
$kendo-list-item-disabled-bg: if($kendo-enable-color-system, k-color( app-surface ), $kendo-color-white) !default;
/// The text color of the disabled List items.
/// @group list
$kendo-list-item-disabled-text: if($kendo-enable-color-system, color-mix(in srgb, k-color( on-app-surface ) 46%, transparent), k-get-theme-color-var( neutral-90 )) !default;

/// The background color of the List group items.
/// @group list
$kendo-list-group-item-bg: if($kendo-enable-color-system, k-color( app-surface ), $kendo-color-white) !default;
/// The text color of the List group items.
/// @group list
$kendo-list-group-item-text: if($kendo-enable-color-system, k-color( primary ), k-get-theme-color-var( primary-100 )) !default;
/// The border color of the List group items.
/// @group list
$kendo-list-group-item-border: inherit !default;
/// The base shadow of the List group items.
/// @group list
$kendo-list-group-item-shadow: none !default;

/// The color of the 'Option Label' text.
/// @group list
$kendo-list-option-label-text: $kendo-subtle-text !default;
/// The color of the disabled 'Option Label' text.
/// @group list
$kendo-list-option-label-disabled-text: $kendo-disabled-text !default;
