[(#REM) Lien - Link @author Jonathan OCHEJ @license MIT - https://github.com/GouvernementFR/dsfr/blob/main/LICENSE.md @see https://www.systeme-de-design.gouv.fr/elements-d-interface/composants/lien @see https://www.systeme-de-design.gouv.fr/elements-d-interface/composants/telechargement-de-fichier @param id - optionnel Identifiant unique utilisé pour l'attribut HTML `id` du composant. @param class - optionnel Ajoute les classes spécifiées à l'attribut HTML `class` du composant. @param texte - obligatoire @param url - obligatoire @param titre Si le texte du lien n'est pas explicite et que aucune alternative n'est possible vous pouvez préciser un titre qui sera ajouté à l'attribut `title` @param cible (_blank|_self|_parent|_top) Le lien externe `_blank` doit être utilisé pour les liens pointant vers un autre site et ouvrant un nouvel onglet/une nouvelle page. Cela est matérialisé par une icône à droite du lien ainsi que par l'attribut `title` du lien mentionnant qu'il s'agit d'un lien externe et que l'on ouvre une nouvelle fenêtre. @param texte_ouvre_une_nouvelle_fenetre Si la cible du lien est externe, vous pouvez préciser le texte affiché au survole du lien @param type (simple|brut|telechargement) Par défaut, un lien se trouve au sein d'un texte (par exemple dans un paragraphe `

`) et reprend les caractéristiques typographiques de celui-ci (font, couleur, taille) tout en étant souligné. Un lien `simple` doit être en dehors du contenu. Un lien `brut` affiche de manière brut (désactive la stylisation automatique du DSFR) Un lien de `téléchargement` doit être en dehors du contenu. @param details_du_telechargement Par défaut, les détails du téléchargement sont remplis automatiquement. Vous pouvez cependant forcer les détails du téléchargement en les remplissant manuellement. @param langue_url (fr|en|...) Si la langue de l'URL du lien/fichier à télécharger est différente de la langue de la page courante il est nécessaire de le préciser. Cela permet d'ajouter l'attribut `hreflang` (remplis automatiquement les détails du téléchargement). @param taille (petite|moyenne|grande) Par défaut le composant est proposé en taille `moyenne`. @param icone Nom de l'icône DSFR (ex: thumb-up-line, lightbulb-fill, error-line, etc...) @param affichage_icone (a_gauche|a_droite) Affichage de l'icône `a_droite` par défaut. @param desactive (oui|non) L'état désactivé indique que l'utilisateur ne peut pas interagir avec le lien. ] #SET{texte,#ENV**{texte}|textebrut} #SET{url,#ENV{url}|calculer_url} [(#GET{texte}|et{#GET{url}}|oui) #SET{class,#ARRAY} #SET{attributs,#ARRAY} #SET{attributs,#GET{attributs}|dsfr_attribut_definir{id,#ENV**{id}|dsfr_id}} #SET{attributs,#GET{attributs}|dsfr_attribut_definir{href,#GET{url}}} #SET{attributs,#GET{attributs}|dsfr_attribut_definir{title,#ENV{titre}}} [(#REM)] [(#ENV{cible}|non|et{#GET{url}|lien_is_url_externe}|oui) [(#VAL{_blank}|setenv{cible})] ] #SET{attributs,#GET{attributs}|dsfr_attribut_definir{target,#ENV{cible}}} [(#ENV{cible}|=={_blank}|oui) #SET{attributs,#GET{attributs}|dsfr_attribut_definir{title,#GET{attributs/title,#GET{texte}}|concat{' - ',#ENV{texte_ouvre_une_nouvelle_fenetre}|?{#ENV{texte_ouvre_une_nouvelle_fenetre},#VAL{dsfr_composants:ouvre_une_nouvelle_fenetre}|_T}}}} ] [(#REM)] [(#GET{url}|lien_is_url_externe|oui) #SET{attributs,#GET{attributs}|dsfr_attribut_definir{rel,noopener external}} ] #SET{type,#LISTE{simple,brut,telechargement}|find{#ENV{type}}|oui|?{#ENV{type},''}} [(#GET{type}|=={simple}|oui) #SET{class,#GET{class}|dsfr_class_ajouter{fr-link}}] [(#GET{type}|=={brut}|oui) #SET{class,#GET{class}|dsfr_class_ajouter{fr-raw-link}}] [(#GET{type}|=={telechargement}|oui) #SET{class,#GET{class}|dsfr_class_ajouter{fr-link fr-link--download}} #SET{attributs,#GET{attributs}|dsfr_attribut_definir{download,booleen}} #SET{details_du_telechargement,#ENV*{details_du_telechargement}|textebrut} [(#GET{details_du_telechargement}|non) #SET{attributs,#GET{attributs}|dsfr_attribut_definir{data-fr-assess-file,booleen}} ] ] #SET{attributs,#GET{attributs}|dsfr_attribut_definir{hreflang,#ENV*{langue_url}|textebrut}} [(#GET{type}|=={brut}|non) [(#ENV{taille}|=={petite}|oui) #SET{class,#GET{class}|dsfr_class_ajouter{fr-link--sm}}] [(#ENV{taille}|=={grande}|oui) #SET{class,#GET{class}|dsfr_class_ajouter{fr-link--lg}}] [(#ENV{icone}|et{#DSFR_ICONES|table_valeur{#ENV{icone}}}|oui) #SET{affichage_icone,right} [(#ENV{affichage_icone}|=={a_gauche}|oui) #SET{affichage_icone,left}] [(#ENV{affichage_icone}|=={a_droite}|oui) #SET{affichage_icone,right}] #SET{class,#GET{class}|dsfr_class_ajouter{fr-icon-#ENV{icone}}} #SET{class,#GET{class}|dsfr_class_ajouter{fr-link--icon-#GET{affichage_icone}}} ] ] [(#ENV{desactive}|=={oui}|oui) #SET{attributs,#GET{attributs}|dsfr_attribut_supprimer{href}} #SET{attributs,#GET{attributs}|dsfr_attribut_supprimer{target}} #SET{attributs,#GET{attributs}|dsfr_attribut_supprimer{title}} #SET{attributs,#GET{attributs}|dsfr_attribut_supprimer{rel}} #SET{attributs,#GET{attributs}|dsfr_attribut_supprimer{hreflang}} [(#GET{type}|=={telechargement}|oui) #SET{type,simple} #SET{details_du_telechargement,''} #SET{class,#GET{class}|dsfr_class_supprimer{fr-link--download}} #SET{attributs,#GET{attributs}|dsfr_attribut_supprimer{download}} #SET{attributs,#GET{attributs}|dsfr_attribut_supprimer{data-fr-assess-file}} ] #SET{attributs,#GET{attributs}|dsfr_attribut_definir{aria-disabled,true}} #SET{attributs,#GET{attributs}|dsfr_attribut_definir{role,link}} ] [(#GET{texte})][(#GET{type}|=={telechargement}|oui)[(#GET{details_du_telechargement})]] ] #FILTRE{trim}