export type Spacing =
  // start deprecated values
  /*
   * @deprecated use '8' instead
   */
  | 'xxs'
  /*
   * @deprecated use '12' instead
   */
  | 'xs'
  /*
   * @deprecated use '16' instead
   */
  | 'sm'
  /*
   * @deprecated use '24' instead
   */
  | 'md'
  /*
   * @deprecated use '32' instead
   */
  | 'lg'
  /*
   * @deprecated use '40' instead
   */
  | 'xl'
  /*
   * @deprecated use '64' instead
   */
  | 'xxl'
  /*
   * @deprecated use '80' instead
   */
  | 'xxxl'
  // end deprecated values
  | '0'
  | '2'
  | '4'
  /*
   * @deprecated use '8' instead
   */
  | '6'
  | '8'
  | '12'
  | '16'
  | '24'
  | '32'
  /*
   * @deprecated
   */
  | '40'
  | '48'
  /*
   * @deprecated
   */
  | '56'
  | '64'
  /*
   * @deprecated
   */
  | '80'
  | '96'
  | '128';

// deriveSize based on 16px
export const spacing: { [key in Spacing]: number } = {
  // start deprecated values
  /*
   * @deprecated use '8' instead
   */
  xxs: 8,
  /*
   * @deprecated use '12' instead
   */
  xs: 12,
  /*
   * @deprecated use '16' instead
   */
  sm: 16,
  /*
   * @deprecated use '24' instead
   */
  md: 24,
  /*
   * @deprecated use '32' instead
   */
  lg: 32,
  /*
   * @deprecated use '40' instead
   */
  xl: 40,
  /*
   * @deprecated use '64' instead
   */
  xxl: 64,
  /*
   * @deprecated use '80' instead
   */
  xxxl: 80,
  /*
   * @deprecated
   */
  '6': 6,
  /*
   * @deprecated
   */
  '40': 40,
  /*
   * @deprecated
   */
  '56': 56,
  /*
   * @deprecated use '96' instead
   */
  '80': 80,
  // end deprecated values
  '0': 0,
  '2': 2,
  '4': 4,
  '8': 8,
  '12': 12,
  '16': 16,
  '24': 24,
  '32': 32,
  '48': 48,
  '64': 64,
  '96': 96,
  '128': 128,
};

export default spacing;
