@use '.config/config';

/// Préfixage d'un élément css, généralement un nom de classe
/// @access public
/// @param {String} $name - nom de l'élément
/// @param {String} $notation - notation du sélecteur, par défaut un point pour les classes
@function ns($name, $notation: '.') {
  $class-name: $notation + config.$prefix + '-' + $name;
  @return $class-name;
}

/// Préfixage d'une classe de groupe
/// @access public
/// @param {String} $name - nom de l'élément, à mettre au pluriel
@function ns-group($name) {
  @return ns($name + '-group');
}

/// Préfixage d'un attribut css
/// @access public
/// @param {String} $name - nom de l'attribut
/// @param {String} $value - valeur de l'attribut
@function ns-attr($name, $value: null, $no-brackets:false) {
  $attr: 'data-#{ns($name, '')}';
  @if $no-brackets {
    @return $attr;
  }
  @if $value == null {
    @return '[' + $attr + ']';
  }
  @else {
    @return '[' + $attr + '="' + $value + '"]';
  }
}
