/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
@use 'sass:map';
@use '../../../theme';
@use '../../../utils';
@use '../../../spacing';

$tokens: (
  // Shared
  active-color: utils.module-val(tab, active-color, theme.variable(primary)),
  inactive-color: utils.module-val(tab, inactive-color, theme.variable(text-medium)),
  height: utils.module-val(tab, height, 48px),
  stacked-height: utils.module-val(tab, stacked-height, 64px),
  padding-block: utils.module-val(tab, padding-block, 0),
  padding-inline: utils.module-val(tab, padding-inline, spacing.variable(medium)),
  // Disabled
  disabled-opacity: utils.module-val(tab, disabled-opacity, 0.38),
  // Indicator
  indicator-color: utils.module-ref(tab, indicator-color, active-color),
  indicator-height: utils.module-val(tab, indicator-height, 3px),
  indicator-shape: utils.module-val(tab, indicator-shape, 3px 3px 0 0),
  // Indicator (vertical)
  vertical-indicator-shape: utils.module-val(tab, vertical-indicator-shape, 3px 0 0 3px),
  // Indicator (secondary)
  secondary-indicator-height: utils.module-val(tab, secondary-indicator-height, 2px),
  secondary-indicator-shape: utils.module-val(tab, secondary-indicator-shape, 0),
  // Indicator (inverted)
  inverted-indicator-shape: utils.module-val(tab, inverted-indicator-shape, 0 0 3px 3px),
  vertical-inverted-indicator-shape: utils.module-val(tab, vertical-inverted-indicator-shape, 0 3px 3px 0),
  // Container
  container-color: utils.module-val(tab, container-color, transparent),
  container-height: utils.module-ref(tab, container-height, height),
  container-shape: utils.module-val(tab, container-shape, 0),
  // Content
  content-height: utils.module-ref(tab, content-height, height),
  content-spacing: utils.module-val(tab, content-spacing, spacing.variable(xxsmall)),
  content-padding: utils.module-val(tab, content-padding, spacing.variable(xxsmall)),
  content-padding-block: utils.module-ref(tab, content-padding-block, content-padding),
  content-padding-inline: utils.module-ref(tab, content-padding-inline, content-padding),
  content-padding-inline-secondary: utils.module-val(tab, content-padding-inline-secondary, spacing.variable(medium)),
  // Icon
  active-focus-icon-color: utils.module-ref(tab, active-focus-icon-color, active-color),
  active-hover-icon-color: utils.module-ref(tab, active-hover-icon-color, active-color),
  active-icon-color: utils.module-ref(tab, active-icon-color, active-color),
  active-pressed-icon-color: utils.module-ref(tab, active-pressed-icon-color, active-color),
  icon-size: utils.module-val(tab, icon-size, 24px),
  focus-icon-color: utils.module-ref(tab, focus-icon-color, inactive-color),
  hover-icon-color: utils.module-ref(tab, hover-icon-color, inactive-color),
  icon-color: utils.module-ref(tab, icon-color, inactive-color),
  pressed-icon-color: utils.module-ref(tab, pressed-icon-color, inactive-color),
  // Label
  active-focus-label-text-color: utils.module-ref(tab, active-focus-label-text-color, active-color),
  active-hover-label-text-color: utils.module-ref(tab, active-hover-label-text-color, active-color),
  active-label-text-color: utils.module-ref(tab, active-label-text-color, active-color),
  active-pressed-label-text-color: utils.module-ref(tab, active-pressed-label-text-color, active-color),
  focus-label-text-color: utils.module-ref(tab, focus-label-text-color, inactive-color),
  hover-label-text-color: utils.module-ref(tab, hover-label-text-color, inactive-color),
  label-text-color: utils.module-ref(tab, label-text-color, inactive-color),
  pressed-label-text-color: utils.module-ref(tab, pressed-label-text-color, inactive-color)
) !default;

///
/// Gets a token from the token map.
///
@function get($name) {
  @return map.get($tokens, $name);
}
