/**
 *
 * @ai-apps/angular v2.152.0 | _font-family.scss
 *
 * Copyright 2014, 2023 IBM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0

 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


//
// Copyright IBM Corp. 2018, 2018
//
// This source code is licensed under the Apache-2.0 license found in the
// LICENSE file in the root directory of this source tree.
//

/// Font family fallbacks for: IBM Plex Mono, IBM Plex Sans, IBM Plex Sans
/// Condensed, IBM Plex Sans Hebrew, and IBM Plex Serif
/// @type Map
/// @access public
/// @group @carbon/type
$carbon--font-families: (
  'mono':
    unquote(
      "'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace"
    ),
  'sans': unquote("'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif"),
  'sans-condensed':
    unquote("'IBM Plex Sans Condensed', 'Helvetica Neue', Arial, sans-serif"),
  'sans-hebrew':
    unquote(
      "'IBM Plex Sans Hebrew', 'Helvetica Hebrew', 'Arial Hebrew', sans-serif"
    ),
  'serif': unquote("'IBM Plex Serif', 'Georgia', Times, serif"),
) !default;

/// Get the font-family for an IBM Plex font
/// @param {String} $name
/// @return {String}
/// @access public
/// @group @carbon/type
@function carbon--font-family($name) {
  @return map-get($carbon--font-families, $name);
}

/// Include the `font-family` definition for the given name in your selector
/// @param {String} $name
/// @access public
/// @group @carbon/type
@mixin carbon--font-family($name) {
  font-family: carbon--font-family($name);
}

/// Suggested font weights to be used in product
/// @type Map
/// @access public
/// @group @carbon/type
$carbon--font-weights: (
  'light': 300,
  'regular': 400,
  'semibold': 600,
) !default;

/// Retrieve the font-weight value for a given name
/// @param {String} $weight
/// @return {Number}
/// @access public
/// @group @carbon/type
@function carbon--font-weight($weight) {
  @return map-get($carbon--font-weights, $weight);
}

/// Set the `font-weight` property with the value for a given name
/// @param {String} $weight
/// @access public
/// @group @carbon/type
@mixin carbon--font-weight($weight) {
  font-weight: carbon--font-weight($weight);
}
