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

/// The width of the border around the FAB.
/// @group floating-action-button
$kendo-fab-border-width: 1px !default;
/// The border radius of the FAB.
/// @group floating-action-button
$kendo-fab-border-radius: k-border-radius(md) !default;
/// The font family of the FAB.
/// @group floating-action-button
$kendo-fab-font-family: var( --kendo-font-family, inherit ) !default;
/// The font size of the FAB.
/// @group floating-action-button
$kendo-fab-font-size: var( --kendo-font-size, inherit ) !default;
/// The line height of the FAB.
/// @group floating-action-button
$kendo-fab-line-height: var( --kendo-line-height, normal ) !default;

/// The horizontal padding of the FAB.
/// @group floating-action-button
$kendo-fab-padding-x: k-spacing(4) !default;
/// The horizontal padding of the small FAB.
/// @group floating-action-button
$kendo-fab-sm-padding-x: calc( #{$kendo-fab-padding-x} / 2 ) !default;
/// The horizontal padding of the medium FAB.
/// @group floating-action-button
$kendo-fab-md-padding-x: $kendo-fab-padding-x !default;
/// The horizontal padding of the large FAB.
/// @group floating-action-button
$kendo-fab-lg-padding-x: calc( #{$kendo-fab-padding-x} * 1.5 ) !default;

/// The vertical padding of the FAB.
/// @group floating-action-button
$kendo-fab-padding-y: $kendo-fab-padding-x !default;
/// The vertical padding of the small FAB.
/// @group floating-action-button
$kendo-fab-sm-padding-y: calc( #{$kendo-fab-padding-y} / 2 ) !default;
/// The vertical padding of the medium FAB.
/// @group floating-action-button
$kendo-fab-md-padding-y: $kendo-fab-padding-y !default;
/// The vertical padding of the large FAB.
/// @group floating-action-button
$kendo-fab-lg-padding-y: calc( #{$kendo-fab-padding-y} * 1.5 ) !default;

/// The offset of the focused FAB.
/// @group floating-action-button
$kendo-fab-focus-offset: $kendo-button-focus-offset !default;
/// The outline width of the focused FAB.
/// @group floating-action-button
$kendo-fab-focus-outline-width: $kendo-button-focus-outline-width !default;
/// The outline style of the focused FAB.
/// @group floating-action-button
$kendo-fab-focus-outline-style: $kendo-button-focus-outline-style !default;

/// The horizontal padding of the FAB icon.
/// @group floating-action-button
$kendo-fab-icon-padding-x: k-spacing(0.5) !default;
/// The vertical padding of the FAB icon.
/// @group floating-action-button
$kendo-fab-icon-padding-y: $kendo-fab-icon-padding-x !default;
/// The spacing of the FAB icon.
/// @group floating-action-button
$kendo-fab-icon-spacing: k-spacing(0.5) !default;

/// The horizontal padding of the FAB items.
/// @group floating-action-button
$kendo-fab-items-padding-x: k-spacing(0) !default;
/// The vertical padding of the FAB items.
/// @group floating-action-button
$kendo-fab-items-padding-y: k-spacing(4) !default;

/// The horizontal padding of the FAB item text.
/// @group floating-action-button
$kendo-fab-item-text-padding-x: k-spacing(1) !default;
/// The vertical padding of the FAB item text.
/// @group floating-action-button
$kendo-fab-item-text-padding-y: k-spacing(1) !default;
/// The width of the FAB item text border.
/// @group floating-action-button
$kendo-fab-item-text-border-width: 1px !default;
/// The border style of the FAB item text.
/// @group floating-action-button
$kendo-fab-item-text-border-style: solid !default;
/// The border radius of the FAB item text.
/// @group floating-action-button
$kendo-fab-item-text-border-radius: k-border-radius(md) !default;
/// The font size of the FAB item text.
/// @group floating-action-button
$kendo-fab-item-text-font-size: var( --kendo-font-size-sm, inherit ) !default;
/// The line height of the FAB item text.
/// @group floating-action-button
$kendo-fab-item-text-line-height: var( --kendo-line-height-sm, inherit ) !default;
/// The bottom margin of the FAB item text.
/// @group floating-action-button
$kendo-fab-item-text-offset-x: k-spacing(2) !default;

/// The offset of the focused FAB item.
/// @group floating-action-button
$kendo-fab-item-focus-offset: $kendo-button-focus-offset !default;
/// The outline width of the focused FAB item.
/// @group floating-action-button
$kendo-fab-item-focus-outline-width: $kendo-button-focus-outline-width !default;
/// The outline style of the focused FAB item.
/// @group floating-action-button
$kendo-fab-item-focus-outline-style: $kendo-button-focus-outline-style !default;

/// The horizontal padding of the FAB item icon.
/// @group floating-action-button
$kendo-fab-item-icon-padding-x: calc( #{k-spacing(2)} + $kendo-fab-icon-padding-x ) !default;
/// The vertical padding of the FAB item icon.
/// @group floating-action-button
$kendo-fab-item-icon-padding-y: $kendo-fab-item-icon-padding-x !default;
/// The border width of the FAB item icon.
/// @group floating-action-button
$kendo-fab-item-icon-border-width: 1px !default;
/// The border style of the FAB item icon.
/// @group floating-action-button
$kendo-fab-item-icon-border-style: solid !default;
/// The border radius of the FAB item icon.
/// @group floating-action-button
$kendo-fab-item-icon-border-radius: 50% !default;

/// The theme colors map for the FAB.
/// @group floating-action-button
$kendo-fab-theme-colors: (
    solid: map.get( $kendo-button-theme-colors, "solid")
) !default;

/// The size map for the FAB.
/// @group floating-action-button
$kendo-fab-sizes: (
    sm: (
        padding-x: $kendo-fab-sm-padding-x,
        padding-y: $kendo-fab-sm-padding-y
    ),
    md: (
        padding-x: $kendo-fab-md-padding-x,
        padding-y: $kendo-fab-md-padding-y
    ),
    lg: (
        padding-x: $kendo-fab-lg-padding-x,
        padding-y: $kendo-fab-lg-padding-y
    )
) !default;

/// The bottom margin of the FAB item.
/// @group floating-action-button
$kendo-fab-item-offset-y: k-spacing(2) !default;
/// The base text color of the FAB item.
/// @group floating-action-button
$kendo-fab-item-text: if($kendo-enable-color-system, k-color( on-app-surface ), k-get-theme-color-var( neutral-160 )) !default;
/// The base background color of the FAB item.
/// @group floating-action-button
$kendo-fab-item-bg: var( --kendo-component-bg, inherit ) !default;
/// The base border color of the FAB item.
/// @group floating-action-button
$kendo-fab-item-border: if($kendo-enable-color-system, k-color( border ), k-get-theme-color-var( neutral-110 )) !default;
/// The text color of the hovered FAB item.
/// @group floating-action-button
$kendo-fab-item-hover-text: var( --kendo-hover-text, inherit ) !default;
/// The background color of the hovered FAB item.
/// @group floating-action-button
$kendo-fab-item-hover-bg: var( --kendo-hover-bg, inherit ) !default;
/// The border color of the hovered FAB item.
/// @group floating-action-button
$kendo-fab-item-hover-border: if($kendo-enable-color-system, k-color( border ), k-get-theme-color-var( neutral-110 )) !default;
/// The text color of the focused FAB item.
/// @group floating-action-button
$kendo-fab-item-focus-text: if($kendo-enable-color-system, k-color( on-app-surface ), k-get-theme-color-var( neutral-160 )) !default;
/// The background color of the focused FAB item.
/// @group floating-action-button
$kendo-fab-item-focus-bg: var( --kendo-component-bg, inherit ) !default;
/// The border color of the focused FAB item.
/// @group floating-action-button
$kendo-fab-item-focus-border: if($kendo-enable-color-system, k-color( border ), k-get-theme-color-var( neutral-110 )) !default;
/// The text color of the active FAB item.
/// @group floating-action-button
$kendo-fab-item-active-text: var( --kendo-selected-text, inherit ) !default;
/// The background color of the active FAB item.
/// @group floating-action-button
$kendo-fab-item-active-bg: var( --kendo-selected-bg, inherit ) !default;
/// The border color of the active FAB item.
/// @group floating-action-button
$kendo-fab-item-active-border: if($kendo-enable-color-system, k-color( border ), k-get-theme-color-var( neutral-110 )) !default;
