@use "sass:list";
@use "../core/_index.scss" as *;
@use "../list/_variables.scss" as *;
@use "../popup/_variables.scss" as *;
@use "../icons/_variables.scss" as *;

// Menu

$kendo-menu-default-size: "md" !default;

$kendo-menu-group-default-size: "md" !default;

$kendo-menu-border-width: 0px !default;

$kendo-menu-font-family: var(--kendo-font-family) !default;
$kendo-menu-font-size: var(--kendo-font-size) !default;
$kendo-menu-line-height: var(--kendo-line-height) !default;

$kendo-menu-sm-font-size: var(--kendo-font-size) !default;
$kendo-menu-lg-font-size: var(--kendo-font-size-lg) !default;

$kendo-menu-sm-line-height: var(--kendo-line-height) !default;
$kendo-menu-lg-line-height: var(--kendo-line-height-lg) !default;

$kendo-menu-bg: transparent !default;
$kendo-menu-text: k-color(on-app-surface) !default;
$kendo-menu-border: null !default;
$kendo-menu-gradient: null !default;

// Menu item

$kendo-menu-item-padding-x: k-spacing(3) !default;
$kendo-menu-item-padding-y: k-spacing(1.5) !default;
$kendo-menu-item-spacing: k-spacing(0) !default;
$kendo-menu-item-icon-spacing: k-spacing(2) !default;
$kendo-menu-item-border-radius: k-border-radius(md) !default;

$kendo-menu-item-description-font-size: $kendo-list-item-description-font-size !default;
$kendo-menu-item-description-line-height: $kendo-list-item-description-line-height !default;
$kendo-menu-item-description-text: $kendo-list-item-description-text !default;

$kendo-menu-sm-item-padding-x: k-spacing(3) !default;
$kendo-menu-lg-item-padding-x: k-spacing(3) !default;

$kendo-menu-sm-item-padding-y: k-spacing(1) !default;
$kendo-menu-lg-item-padding-y: k-spacing(2) !default;

$kendo-menu-item-selected-font-weight: var(--kendo-font-weight-bold) !default;

$kendo-menu-item-bg: null !default;
$kendo-menu-item-text: k-color(subtle) !default;
$kendo-menu-item-border: null !default;
$kendo-menu-item-gradient: null !default;

$kendo-menu-item-hover-bg: null !default;
$kendo-menu-item-hover-text: k-color(on-app-surface) !default;
$kendo-menu-item-hover-border: null !default;
$kendo-menu-item-hover-gradient: null !default;

$kendo-menu-item-active-bg: null !default;
$kendo-menu-item-active-text: k-color(primary-on-surface) !default;
$kendo-menu-item-active-border: null !default;
$kendo-menu-item-active-gradient: null !default;

$kendo-menu-item-focus-shadow: $kendo-list-item-focus-shadow !default;

$kendo-menu-item-selected-bg: null !default;
$kendo-menu-item-selected-text: k-color(primary-on-surface) !default;
$kendo-menu-item-selected-border: null !default;
$kendo-menu-item-selected-gradient: null !default;

$kendo-menu-scroll-button-bg: null !default;
$kendo-menu-scroll-button-text: k-color(subtle) !default;
$kendo-menu-scroll-button-border: null !default;
$kendo-menu-scroll-button-gradient: null !default;

$kendo-menu-scroll-button-hover-bg: null !default;
$kendo-menu-scroll-button-hover-text: k-color(on-app-surface) !default;
$kendo-menu-scroll-button-hover-border: null !default;
$kendo-menu-scroll-button-hover-gradient: null !default;

$kendo-menu-icon-padding-x: null !default;
$kendo-menu-icon-padding-y: null !default;

$kendo-menu-expand-arrow-spacing: k-spacing(1) !default;

// Menu Separator

$kendo-menu-separator-margin-inline: k-spacing(1) !default;
$kendo-menu-separator-margin-block: k-spacing(1.5) !default;
$kendo-menu-separator-border: k-color(border) !default;


// Menu popup

$kendo-menu-popup-padding-x: $kendo-list-container-padding-inline !default;

$kendo-menu-popup-padding-y: $kendo-list-container-padding-block !default;

$kendo-menu-popup-border-width: $kendo-popup-border-width !default;

$kendo-menu-popup-border-radius: k-border-radius(xxl) !default;

$kendo-menu-popup-sm-font-size: var(--kendo-font-size) !default;
$kendo-menu-popup-md-font-size: var(--kendo-font-size) !default;
$kendo-menu-popup-lg-font-size: var(--kendo-font-size-lg) !default;

$kendo-menu-popup-sm-line-height: var(--kendo-line-height) !default;
$kendo-menu-popup-md-line-height: var(--kendo-line-height) !default;
$kendo-menu-popup-lg-line-height: var(--kendo-line-height-lg) !default;

$kendo-menu-popup-bg: $kendo-popup-bg !default;
$kendo-menu-popup-text: $kendo-popup-text !default;
$kendo-menu-popup-border: $kendo-popup-border !default;
$kendo-menu-popup-gradient: null !default;


// Menu popup item

$kendo-menu-popup-sm-item-padding-x: $kendo-list-sm-item-padding-x !default;
$kendo-menu-popup-md-item-padding-x: $kendo-list-md-item-padding-x !default;
$kendo-menu-popup-lg-item-padding-x: $kendo-list-lg-item-padding-x !default;

$kendo-menu-popup-sm-item-padding-y: $kendo-list-sm-item-padding-y !default;
$kendo-menu-popup-md-item-padding-y: $kendo-list-md-item-padding-y !default;
$kendo-menu-popup-lg-item-padding-y: $kendo-list-lg-item-padding-y !default;

$kendo-menu-popup-sm-item-padding-end: calc( #{$kendo-menu-popup-sm-item-padding-x} * 2 + #{$kendo-icon-size} ) !default;
$kendo-menu-popup-md-item-padding-end: calc( #{$kendo-menu-popup-md-item-padding-x} * 2 + #{$kendo-icon-size} ) !default;
$kendo-menu-popup-lg-item-padding-end: calc( #{$kendo-menu-popup-lg-item-padding-x} * 2 + #{$kendo-icon-size} ) !default;

$kendo-menu-popup-sm-item-icon-margin-start: $kendo-menu-popup-sm-item-padding-x !default;
$kendo-menu-popup-md-item-icon-margin-start: $kendo-menu-popup-md-item-padding-x !default;
$kendo-menu-popup-lg-item-icon-margin-start: $kendo-menu-popup-lg-item-padding-x !default;

$kendo-menu-popup-sm-item-icon-margin-end: calc( -1 * (#{$kendo-menu-popup-sm-item-padding-end} - #{list.slash( $kendo-menu-popup-sm-item-padding-x, 2 )}) ) !default;
$kendo-menu-popup-md-item-icon-margin-end: calc( -1 * (#{$kendo-menu-popup-md-item-padding-end} - #{list.slash( $kendo-menu-popup-md-item-padding-x, 2 )}) ) !default;
$kendo-menu-popup-lg-item-icon-margin-end: calc( -1 * (#{$kendo-menu-popup-lg-item-padding-end} - #{list.slash( $kendo-menu-popup-lg-item-padding-x, 2 )}) ) !default;

$kendo-menu-popup-item-spacing: k-spacing(0.5) !default;

$kendo-menu-popup-sm-group-header-padding-x: $kendo-list-sm-group-item-padding-x !default;
$kendo-menu-popup-md-group-header-padding-x: $kendo-list-md-group-item-padding-x !default;
$kendo-menu-popup-lg-group-header-padding-x: $kendo-list-lg-group-item-padding-x !default;

$kendo-menu-popup-sm-group-header-padding-y: $kendo-list-sm-group-item-padding-y !default;
$kendo-menu-popup-md-group-header-padding-y: $kendo-list-md-group-item-padding-y !default;
$kendo-menu-popup-lg-group-header-padding-y: $kendo-list-lg-group-item-padding-y !default;

$kendo-menu-popup-sm-group-header-font-size: $kendo-list-item-group-label-sm-font-size !default;
$kendo-menu-popup-md-group-header-font-size: $kendo-list-item-group-label-md-font-size !default;
$kendo-menu-popup-lg-group-header-font-size: $kendo-list-item-group-label-lg-font-size !default;

$kendo-menu-popup-sm-group-header-line-height: $kendo-menu-popup-sm-line-height !default;
$kendo-menu-popup-md-group-header-line-height: $kendo-menu-popup-md-line-height !default;
$kendo-menu-popup-lg-group-header-line-height: $kendo-menu-popup-lg-line-height !default;

$kendo-menu-popup-group-header-font-weight: $kendo-list-group-item-font-weight !default;

$kendo-menu-popup-group-header-bg: $kendo-list-group-item-bg !default;
$kendo-menu-popup-group-header-text: $kendo-list-group-item-text !default;

$kendo-menu-popup-item-bg: null !default;
$kendo-menu-popup-item-text: null !default;
$kendo-menu-popup-item-border: null !default;
$kendo-menu-popup-item-gradient: null !default;

$kendo-menu-popup-item-hover-bg: color-mix(in srgb, k-color(on-app-surface) 8%, transparent) !default;
$kendo-menu-popup-item-hover-text: $kendo-list-item-hover-text !default;
$kendo-menu-popup-item-hover-border: null !default;
$kendo-menu-popup-item-hover-gradient: null !default;
$kendo-menu-popup-item-hover-description-text: $kendo-list-item-hover-description-text !default;

$kendo-menu-popup-item-active-bg: $kendo-list-item-selected-bg !default;
$kendo-menu-popup-item-active-text: $kendo-list-item-selected-text !default;
$kendo-menu-popup-item-active-border: null !default;
$kendo-menu-popup-item-active-gradient: null !default;
$kendo-menu-popup-item-active-description-text: $kendo-list-item-selected-description-text !default;

$kendo-menu-popup-item-focus-shadow: $kendo-menu-item-focus-shadow !default;

@forward "@progress/kendo-theme-core/scss/components/menu/_variables.scss" with (
    $kendo-menu-default-size: $kendo-menu-default-size,
    $kendo-menu-group-default-size: $kendo-menu-group-default-size,
    $kendo-menu-border-width: $kendo-menu-border-width,
    $kendo-menu-font-family: $kendo-menu-font-family,
    $kendo-menu-font-size: $kendo-menu-font-size,
    $kendo-menu-line-height: $kendo-menu-line-height,
    $kendo-menu-sm-font-size: $kendo-menu-sm-font-size,
    $kendo-menu-lg-font-size: $kendo-menu-lg-font-size,
    $kendo-menu-sm-line-height: $kendo-menu-sm-line-height,
    $kendo-menu-lg-line-height: $kendo-menu-lg-line-height,
    $kendo-menu-bg: $kendo-menu-bg,
    $kendo-menu-text: $kendo-menu-text,
    $kendo-menu-border: $kendo-menu-border,
    $kendo-menu-gradient: $kendo-menu-gradient,
    $kendo-menu-item-padding-x: $kendo-menu-item-padding-x,
    $kendo-menu-item-padding-y: $kendo-menu-item-padding-y,
    $kendo-menu-sm-item-padding-x: $kendo-menu-sm-item-padding-x,
    $kendo-menu-lg-item-padding-x: $kendo-menu-lg-item-padding-x,
    $kendo-menu-sm-item-padding-y: $kendo-menu-sm-item-padding-y,
    $kendo-menu-lg-item-padding-y: $kendo-menu-lg-item-padding-y,
    $kendo-menu-item-spacing: $kendo-menu-item-spacing,
    $kendo-menu-item-icon-spacing: $kendo-menu-item-icon-spacing,
    $kendo-menu-item-border-radius: $kendo-menu-item-border-radius,
    $kendo-menu-item-description-font-size: $kendo-menu-item-description-font-size,
    $kendo-menu-item-description-line-height: $kendo-menu-item-description-line-height,
    $kendo-menu-item-description-text: $kendo-menu-item-description-text,
    $kendo-menu-item-selected-font-weight: $kendo-menu-item-selected-font-weight,
    $kendo-menu-item-bg: $kendo-menu-item-bg,
    $kendo-menu-item-text: $kendo-menu-item-text,
    $kendo-menu-item-border: $kendo-menu-item-border,
    $kendo-menu-item-gradient: $kendo-menu-item-gradient,
    $kendo-menu-item-hover-bg: $kendo-menu-item-hover-bg,
    $kendo-menu-item-hover-text: $kendo-menu-item-hover-text,
    $kendo-menu-item-hover-border: $kendo-menu-item-hover-border,
    $kendo-menu-item-hover-gradient: $kendo-menu-item-hover-gradient,
    $kendo-menu-item-active-bg: $kendo-menu-item-active-bg,
    $kendo-menu-item-active-text: $kendo-menu-item-active-text,
    $kendo-menu-item-active-border: $kendo-menu-item-active-border,
    $kendo-menu-item-active-gradient: $kendo-menu-item-active-gradient,
    $kendo-menu-item-focus-shadow: $kendo-menu-item-focus-shadow,
    $kendo-menu-item-selected-bg: $kendo-menu-item-selected-bg,
    $kendo-menu-item-selected-text: $kendo-menu-item-selected-text,
    $kendo-menu-item-selected-border: $kendo-menu-item-selected-border,
    $kendo-menu-item-selected-gradient: $kendo-menu-item-selected-gradient,
    $kendo-menu-scroll-button-bg: $kendo-menu-scroll-button-bg,
    $kendo-menu-scroll-button-text: $kendo-menu-scroll-button-text,
    $kendo-menu-scroll-button-border: $kendo-menu-scroll-button-border,
    $kendo-menu-scroll-button-gradient: $kendo-menu-scroll-button-gradient,
    $kendo-menu-scroll-button-hover-bg: $kendo-menu-scroll-button-hover-bg,
    $kendo-menu-scroll-button-hover-text: $kendo-menu-scroll-button-hover-text,
    $kendo-menu-scroll-button-hover-border: $kendo-menu-scroll-button-hover-border,
    $kendo-menu-scroll-button-hover-gradient: $kendo-menu-scroll-button-hover-gradient,
    $kendo-menu-icon-padding-x: $kendo-menu-icon-padding-x,
    $kendo-menu-icon-padding-y: $kendo-menu-icon-padding-y,
    $kendo-menu-expand-arrow-spacing: $kendo-menu-expand-arrow-spacing,
    $kendo-menu-separator-margin-inline: $kendo-menu-separator-margin-inline,
    $kendo-menu-separator-margin-block: $kendo-menu-separator-margin-block,
    $kendo-menu-separator-border: $kendo-menu-separator-border,
    $kendo-menu-popup-padding-x: $kendo-menu-popup-padding-x,
    $kendo-menu-popup-padding-y: $kendo-menu-popup-padding-y,
    $kendo-menu-popup-border-width: $kendo-menu-popup-border-width,
    $kendo-menu-popup-border-radius: $kendo-menu-popup-border-radius,
    $kendo-menu-popup-sm-font-size: $kendo-menu-popup-sm-font-size,
    $kendo-menu-popup-md-font-size: $kendo-menu-popup-md-font-size,
    $kendo-menu-popup-lg-font-size: $kendo-menu-popup-lg-font-size,
    $kendo-menu-popup-sm-line-height: $kendo-menu-popup-sm-line-height,
    $kendo-menu-popup-md-line-height: $kendo-menu-popup-md-line-height,
    $kendo-menu-popup-lg-line-height: $kendo-menu-popup-lg-line-height,
    $kendo-menu-popup-bg: $kendo-menu-popup-bg,
    $kendo-menu-popup-text: $kendo-menu-popup-text,
    $kendo-menu-popup-border: $kendo-menu-popup-border,
    $kendo-menu-popup-gradient: $kendo-menu-popup-gradient,
    $kendo-menu-popup-sm-item-padding-x: $kendo-menu-popup-sm-item-padding-x,
    $kendo-menu-popup-md-item-padding-x: $kendo-menu-popup-md-item-padding-x,
    $kendo-menu-popup-lg-item-padding-x: $kendo-menu-popup-lg-item-padding-x,
    $kendo-menu-popup-sm-item-padding-y: $kendo-menu-popup-sm-item-padding-y,
    $kendo-menu-popup-md-item-padding-y: $kendo-menu-popup-md-item-padding-y,
    $kendo-menu-popup-lg-item-padding-y: $kendo-menu-popup-lg-item-padding-y,
    $kendo-menu-popup-sm-item-padding-end: $kendo-menu-popup-sm-item-padding-end,
    $kendo-menu-popup-md-item-padding-end: $kendo-menu-popup-md-item-padding-end,
    $kendo-menu-popup-lg-item-padding-end: $kendo-menu-popup-lg-item-padding-end,
    $kendo-menu-popup-sm-item-icon-margin-start: $kendo-menu-popup-sm-item-icon-margin-start,
    $kendo-menu-popup-md-item-icon-margin-start: $kendo-menu-popup-md-item-icon-margin-start,
    $kendo-menu-popup-lg-item-icon-margin-start: $kendo-menu-popup-lg-item-icon-margin-start,
    $kendo-menu-popup-sm-item-icon-margin-end: $kendo-menu-popup-sm-item-icon-margin-end,
    $kendo-menu-popup-md-item-icon-margin-end: $kendo-menu-popup-md-item-icon-margin-end,
    $kendo-menu-popup-lg-item-icon-margin-end: $kendo-menu-popup-lg-item-icon-margin-end,
    $kendo-menu-popup-item-spacing: $kendo-menu-popup-item-spacing,
    $kendo-menu-popup-sm-group-header-padding-x: $kendo-menu-popup-sm-group-header-padding-x,
    $kendo-menu-popup-md-group-header-padding-x: $kendo-menu-popup-md-group-header-padding-x,
    $kendo-menu-popup-lg-group-header-padding-x: $kendo-menu-popup-lg-group-header-padding-x,
    $kendo-menu-popup-sm-group-header-padding-y: $kendo-menu-popup-sm-group-header-padding-y,
    $kendo-menu-popup-md-group-header-padding-y: $kendo-menu-popup-md-group-header-padding-y,
    $kendo-menu-popup-lg-group-header-padding-y: $kendo-menu-popup-lg-group-header-padding-y,
    $kendo-menu-popup-sm-group-header-font-size: $kendo-menu-popup-sm-group-header-font-size,
    $kendo-menu-popup-md-group-header-font-size: $kendo-menu-popup-md-group-header-font-size,
    $kendo-menu-popup-lg-group-header-font-size: $kendo-menu-popup-lg-group-header-font-size,
    $kendo-menu-popup-sm-group-header-line-height: $kendo-menu-popup-sm-group-header-line-height,
    $kendo-menu-popup-md-group-header-line-height: $kendo-menu-popup-md-group-header-line-height,
    $kendo-menu-popup-lg-group-header-line-height: $kendo-menu-popup-lg-group-header-line-height,
    $kendo-menu-popup-group-header-font-weight: $kendo-menu-popup-group-header-font-weight,
    $kendo-menu-popup-group-header-bg: $kendo-menu-popup-group-header-bg,
    $kendo-menu-popup-group-header-text: $kendo-menu-popup-group-header-text,
    $kendo-menu-popup-item-bg: $kendo-menu-popup-item-bg,
    $kendo-menu-popup-item-text: $kendo-menu-popup-item-text,
    $kendo-menu-popup-item-border: $kendo-menu-popup-item-border,
    $kendo-menu-popup-item-gradient: $kendo-menu-popup-item-gradient,
    $kendo-menu-popup-item-hover-bg: $kendo-menu-popup-item-hover-bg,
    $kendo-menu-popup-item-hover-text: $kendo-menu-popup-item-hover-text,
    $kendo-menu-popup-item-hover-border: $kendo-menu-popup-item-hover-border,
    $kendo-menu-popup-item-hover-gradient: $kendo-menu-popup-item-hover-gradient,
    $kendo-menu-popup-item-hover-description-text: $kendo-menu-popup-item-hover-description-text,
    $kendo-menu-popup-item-active-bg: $kendo-menu-popup-item-active-bg,
    $kendo-menu-popup-item-active-text: $kendo-menu-popup-item-active-text,
    $kendo-menu-popup-item-active-border: $kendo-menu-popup-item-active-border,
    $kendo-menu-popup-item-active-gradient: $kendo-menu-popup-item-active-gradient,
    $kendo-menu-popup-item-active-description-text: $kendo-menu-popup-item-active-description-text,
    $kendo-menu-popup-item-focus-shadow: $kendo-menu-popup-item-focus-shadow
);
