Skip to content

Raccourcis

Les raccourcis vous permettent de combiner plusieurs règles en un seul raccourci, inspiré par Windi CSS.

Utilisation

ts
shortcuts: {
  // raccourcis vers plusieurs utilitaires
  'btn': 'py-2 px-4 font-semibold rounded-lg shadow-md',
  'btn-green': 'text-white bg-green-500 hover:bg-green-700',
  // alias d'utilitaire unique
  'red': 'text-red-100',
}

En plus du mapping simple, UnoCSS vous permet aussi de définir des raccourcis dynamiques.

Similaire aux Règles, un raccourci dynamique est la combinaison d'un matcher RegExp et d'une fonction gestionnaire.

ts
shortcuts: [
  // vous pouvez encore avoir le style objet
  {
    btn: 'py-2 px-4 font-semibold rounded-lg shadow-md',
  },
  // raccourcis dynamiques
  [/^btn-(.*)$/, ([, c]) => `bg-${c}-400 text-${c}-100 py-2 px-4 rounded-lg`],
]

Avec cela, nous pourrions utiliser btn-green et btn-red pour générer le CSS suivant :

css
.btn-green {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  --un-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--un-bg-opacity));
  border-radius: 0.5rem;
  --un-text-opacity: 1;
  color: rgb(220 252 231 / var(--un-text-opacity));
}
.btn-red {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  --un-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--un-bg-opacity));
  border-radius: 0.5rem;
  --un-text-opacity: 1;
  color: rgb(254 226 226 / var(--un-text-opacity));
}

Released under the MIT License.