@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 filter, when no size is set.
/// @group list
$kendo-list-filter-padding-x: k-spacing(2) !default;
$kendo-list-sm-filter-padding-x: $kendo-list-filter-padding-x !default;
$kendo-list-md-filter-padding-x: $kendo-list-filter-padding-x !default;
$kendo-list-lg-filter-padding-x: $kendo-list-filter-padding-x !default;

/// The vertical padding of the List filter, when no size is set.
/// @group list
$kendo-list-filter-padding-y: $kendo-list-filter-padding-x !default;
$kendo-list-sm-filter-padding-y: $kendo-list-filter-padding-x !default;
$kendo-list-md-filter-padding-y: $kendo-list-filter-padding-x !default;
$kendo-list-lg-filter-padding-y: $kendo-list-filter-padding-x !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: k-color(primary) !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,
        filter-padding-x: $kendo-list-sm-filter-padding-x,
        filter-padding-y: $kendo-list-sm-filter-padding-y
    ),
    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,
        filter-padding-x: $kendo-list-md-filter-padding-x,
        filter-padding-y: $kendo-list-md-filter-padding-y
    ),
    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,
        filter-padding-x: $kendo-list-lg-filter-padding-x,
        filter-padding-y: $kendo-list-lg-filter-padding-y
    )
) !default;


/// The background color of the List component.
/// @group list
$kendo-list-bg: k-color(surface-alt) !default;
/// The text color of the List component.
/// @group list
$kendo-list-text: k-color(on-app-surface) !default;
/// The border color of the List component.
/// @group list
$kendo-list-border: color-mix(in srgb, k-color(border) 16%, transparent) !default;


/// The background color of the List header.
/// @group list
$kendo-list-header-bg: k-color(app-surface) !default;
/// The text color of the List header.
/// @group list
$kendo-list-header-text: k-color(primary) !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: k-color(app-surface) !default;
/// The text color of the List items.
/// @group list
$kendo-list-item-text: k-color(on-app-surface) !default;

/// The background color of the hovered List items.
/// @group list
$kendo-list-item-hover-bg: k-color(base-hover) !default;
/// The text color of the hovered List items.
/// @group list
$kendo-list-item-hover-text: k-color(on-app-surface) !default;

/// The background color of the focused List items.
/// @group list
$kendo-list-item-focus-bg: k-color(app-surface) !default;
/// The text color of the focused List items.
/// @group list
$kendo-list-item-focus-text: k-color(on-app-surface) !default;
/// The box shadow of the focused List items.
/// @group list
$kendo-list-item-focus-shadow: inset 0 0 0 1px k-color(base-emphasis) !default;

/// The background color of the selected List items.
/// @group list
$kendo-list-item-selected-bg: k-color(base-active) !default;
/// The text color of the selected List items.
/// @group list
$kendo-list-item-selected-text: k-color(on-app-surface) !default;

/// The background color of the selected hovered List items.
/// @group list
$kendo-list-item-selected-hover-bg: k-color(base-active) !default;
/// The text color of the selected hovered List items.
/// @group list
$kendo-list-item-selected-hover-text: k-color(on-app-surface) !default;

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

/// The background color of the List group items.
/// @group list
$kendo-list-group-item-bg: k-color(app-surface) !default;
/// The text color of the List group items.
/// @group list
$kendo-list-group-item-text: k-color(primary) !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: k-color(subtle) !default;
/// The color of the disabled 'Option Label' text.
/// @group list
$kendo-list-option-label-disabled-text: color-mix(in srgb, k-color(on-app-surface) 46%, transparent) !default;
