@use "sass:math";
@use "../core/_index.scss" as *;
@use "../action-buttons/_variables.scss" as *;
@use "../list/_variables.scss" as *;

// Time selector

/// The default size of the TimeSelector.
/// @group time-selector
/// @role default
$kendo-time-selector-default-size: "md" !default;

/// The width of the border around the TimeSelector.
/// @group time-selector
$kendo-time-selector-border-width: 1px !default;
/// The font family of the TimeSelector.
/// @group time-selector
$kendo-time-selector-font-family: var( --kendo-font-family, inherit ) !default;
/// The font size of the TimeSelector.
/// @group time-selector
$kendo-time-selector-font-size: null !default;
/// The line height of the TimeSelector.
/// @group time-selector
$kendo-time-selector-line-height: null !default;

/// The background color of the TimeSelector.
/// @group time-selector
$kendo-time-selector-bg: k-color(surface) !default;
/// The text color of the TimeSelector.
/// @group time-selector
$kendo-time-selector-text: k-color(on-app-surface) !default;
/// The border color of the TimeSelector.
/// @group time-selector
$kendo-time-selector-border: k-color(border) !default;

/// The horizontal padding of the TimeSelector header.
/// @group time-selector
$kendo-time-selector-header-padding-x: k-spacing(1) !default;
/// The vertical padding of the TimeSelector header.
/// @group time-selector
$kendo-time-selector-header-padding-y: k-spacing(3) !default;
/// The width of the border around the TimeSelector header.
/// @group time-selector
$kendo-time-selector-header-border-width: 0px !default;
/// The text color of the TimeSelector header title.
/// @group time-selector
$kendo-time-selector-header-title-text: k-color(primary-on-surface) !default;
/// The text color of the TimeSelector header current time indicator.
/// @group time-selector
$kendo-time-selector-header-time-now-text: unset !default;
/// The text color of the hovered TimeSelector header current time indicator.
/// @group time-selector
$kendo-time-selector-header-time-now-hover-text: unset !default;

/// The gap of the TimeSelector fast selection.
/// @group time-selector
$kendo-time-selector-fast-selection-gap: null !default;

/// The width of the TimeSelector list.
/// @group time-selector
$kendo-time-list-width: 4em !default;
/// The height of the TimeSelector list.
/// @group time-selector
$kendo-time-list-height: 240px !default;

/// The font size of the TimeSelector list title.
/// @group time-selector
$kendo-time-list-title-font-size: var( --kendo-font-size-sm, inherit ) !default;
/// The line height of the TimeSelector list title.
/// @group time-selector
$kendo-time-list-title-line-height: var( --kendo-line-height-sm, normal ) !default;
/// The height of the TimeSelector list title.
/// @group time-selector
$kendo-time-list-title-height: calc( #{$kendo-time-list-title-font-size} * #{$kendo-time-list-title-line-height} ) !default;
/// The text color of the TimeSelector list title.
/// @group time-selector
$kendo-time-list-title-text: k-color(subtle) !default;
/// The text color of the focused TimeSelector list title.
/// @group time-selector
$kendo-time-list-title-focus-text: k-color(on-app-surface) !default;

/// The horizontal padding of the TimeSelector list item.
/// @group time-selector
$kendo-time-list-item-padding-x: $kendo-list-md-item-padding-x !default;
/// The vertical padding of the TimeSelector list item.
/// @group time-selector
$kendo-time-list-item-padding-y: $kendo-list-md-item-padding-y !default;

/// The background color of the focused TimeSelector list.
/// @group time-selector
$kendo-time-list-focus-bg: color-mix(in srgb, k-color(on-app-surface) 8%, transparent) !default;

/// The font size of the medium TimeSelector.
/// @group time-selector
$kendo-time-selector-md-font-size: var( --kendo-font-size-lg, inherit ) !default;
/// The line height of the medium TimeSelector.
/// @group time-selector
$kendo-time-selector-md-line-height: var( --kendo-line-height-lg, normal ) !default;
/// The horizontal padding of the medium TimeSelector list item.
/// @group time-selector
$kendo-time-selector-md-list-item-padding-x: k-spacing(3) !default;
/// The vertical padding of the medium TimeSelector list item.
/// @group time-selector
$kendo-time-selector-md-list-item-padding-y: k-spacing(3) !default;

// Time selector sizes
/// The font size of the small TimeSelector.
/// @group time-selector
$kendo-time-selector-sm-font-size: var( --kendo-font-size-lg, inherit ) !default;
/// The line height of the small TimeSelector.
/// @group time-selector
$kendo-time-selector-sm-line-height: $kendo-time-selector-md-line-height !default;
/// The horizontal padding of the small TimeSelector list item.
/// @group time-selector
$kendo-time-selector-sm-list-item-padding-x: k-spacing(2) !default;
/// The vertical padding of the small TimeSelector list item.
/// @group time-selector
$kendo-time-selector-sm-list-item-padding-y: k-spacing(2) !default;

/// The font size of the large TimeSelector.
/// @group time-selector
$kendo-time-selector-lg-font-size: var( --kendo-font-size-lg, inherit ) !default;
/// The line height of the large TimeSelector.
/// @group time-selector
$kendo-time-selector-lg-line-height: var( --kendo-line-height-lg, normal ) !default;
/// The horizontal padding of the large TimeSelector list item.
/// @group time-selector
$kendo-time-selector-lg-list-item-padding-x: k-spacing(4) !default;
/// The vertical padding of the large TimeSelector list item.
/// @group time-selector
$kendo-time-selector-lg-list-item-padding-y: k-spacing(4) !default;

/// The width of the border around the TimeSelector list highlight.
/// @group time-selector
$kendo-time-list-highlight-border-width: 1px !default;
/// The height of the TimeSelector list highlight.
/// @group time-selector
$kendo-time-list-highlight-height: calc( calc( #{$kendo-time-selector-md-font-size} * #{$kendo-time-selector-md-line-height} ) + calc( #{$kendo-time-list-item-padding-y} * 2 ) ) !default;
/// The background color of the TimeSelector list highlight.
/// @group time-selector
$kendo-time-list-highlight-bg: transparent !default;
/// The border color of the TimeSelector list highlight.
/// @group time-selector
$kendo-time-list-highlight-border: k-color(primary-on-subtle) !default;

/// The text color of the TimeSelector button.
/// @group time-selector
$kendo-time-selector-now-button-text: k-color(secondary) !default;
/// The text color of the hovered TimeSelector button.
/// @group time-selector
$kendo-time-selector-now-button-hover-text: k-color(secondary-hover) !default;

@forward "@progress/kendo-theme-core/scss/components/timeselector/_variables.scss" with (
    $kendo-time-selector-default-size: $kendo-time-selector-default-size,
    $kendo-time-selector-border-width: $kendo-time-selector-border-width,
    $kendo-time-selector-font-family: $kendo-time-selector-font-family,
    $kendo-time-selector-font-size: $kendo-time-selector-font-size,
    $kendo-time-selector-line-height: $kendo-time-selector-line-height,
    $kendo-time-selector-bg: $kendo-time-selector-bg,
    $kendo-time-selector-text: $kendo-time-selector-text,
    $kendo-time-selector-border: $kendo-time-selector-border,
    $kendo-time-selector-header-padding-x: $kendo-time-selector-header-padding-x,
    $kendo-time-selector-header-padding-y: $kendo-time-selector-header-padding-y,
    $kendo-time-selector-header-border-width: $kendo-time-selector-header-border-width,
    $kendo-time-selector-fast-selection-gap: $kendo-time-selector-fast-selection-gap,
    $kendo-time-selector-header-title-text: $kendo-time-selector-header-title-text,
    $kendo-time-selector-header-time-now-text: $kendo-time-selector-header-time-now-text,
    $kendo-time-selector-header-time-now-hover-text: $kendo-time-selector-header-time-now-hover-text,
    $kendo-time-list-width: $kendo-time-list-width,
    $kendo-time-list-height: $kendo-time-list-height,
    $kendo-time-list-title-font-size: $kendo-time-list-title-font-size,
    $kendo-time-list-title-line-height: $kendo-time-list-title-line-height,
    $kendo-time-list-title-height: $kendo-time-list-title-height,
    $kendo-time-list-title-text: $kendo-time-list-title-text,
    $kendo-time-list-title-focus-text: $kendo-time-list-title-focus-text,
    $kendo-time-list-item-padding-x: $kendo-time-list-item-padding-x,
    $kendo-time-list-item-padding-y: $kendo-time-list-item-padding-y,
    $kendo-time-list-highlight-border-width: $kendo-time-list-highlight-border-width,
    $kendo-time-list-highlight-height: $kendo-time-list-highlight-height,
    $kendo-time-list-highlight-bg: $kendo-time-list-highlight-bg,
    $kendo-time-list-highlight-border: $kendo-time-list-highlight-border,
    $kendo-time-list-focus-bg: $kendo-time-list-focus-bg,
    $kendo-time-selector-sm-font-size: $kendo-time-selector-sm-font-size,
    $kendo-time-selector-sm-line-height: $kendo-time-selector-sm-line-height,
    $kendo-time-selector-sm-list-item-padding-x: $kendo-time-selector-sm-list-item-padding-x,
    $kendo-time-selector-sm-list-item-padding-y: $kendo-time-selector-sm-list-item-padding-y,
    $kendo-time-selector-md-font-size: $kendo-time-selector-md-font-size,
    $kendo-time-selector-md-line-height: $kendo-time-selector-md-line-height,
    $kendo-time-selector-md-list-item-padding-x: $kendo-time-selector-md-list-item-padding-x,
    $kendo-time-selector-md-list-item-padding-y: $kendo-time-selector-md-list-item-padding-y,
    $kendo-time-selector-lg-font-size: $kendo-time-selector-lg-font-size,
    $kendo-time-selector-lg-line-height: $kendo-time-selector-lg-line-height,
    $kendo-time-selector-lg-list-item-padding-x: $kendo-time-selector-lg-list-item-padding-x,
    $kendo-time-selector-lg-list-item-padding-y: $kendo-time-selector-lg-list-item-padding-y,
    $kendo-time-selector-now-button-text: $kendo-time-selector-now-button-text,
    $kendo-time-selector-now-button-hover-text: $kendo-time-selector-now-button-hover-text
);
