[(#REM) Tuile - Tile @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/tuile @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 titre - obligatoire Un titre reprenant celui de l'objet visé. @param balise_titre (h2|h3|h4|h5|h6) Le titre, matérialisé par la classe fr-tile__title est par défaut une balise `h3`. Vous pouvez choisir le niveau de titre convenant à l'arborescence de votre page (de `h2` à `h6`). @param desactive (oui|non) L'état désactivé indique que l'utilisateur ne peut pas interagir avec la tuile. @param pictogramme Référence unique du pictogramme DSFR. @param type (grise|sans_bordure|sans_fond|avec_ombre_portee) Type de tuile @param taille (petite|moyenne) Par défaut le composant est proposé en taille `moyenne`. @param disposition (horizontale|verticale_a_partir_du_point_de_rupture_moyenne_largeur|verticale_a_partir_du_point_de_rupture_grande_largeur) Par défaut la disposition d'une tuile est `verticale`. Il est aussi possible d'appliquer la disposition horizontale/verticale à partir d'un point de rupture : - `verticale_a_partir_du_point_de_rupture_moyenne_largeur` (horizontale sur un écran de petite et moyenne largeur sinon verticale) - `verticale_a_partir_du_point_de_rupture_grande_largeur` (verticale uniquement sur un écran de grande largeur) @param lien - url du lien @param lien_etendu (oui|non) Par défaut, le lien est étendu à toute la tuile. @param lien_telechargement (oui|non) Par défaut, les détails du téléchargement sont remplis automatiquement. Vous pouvez cependant forcer les détails du téléchargement avec le paramètre `detail`. @param lien_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. @param lien_titre Si le texte du lien (titre de la tuile) n'est pas explicite et que aucune alternative n'est possible vous pouvez préciser un titre qui sera ajouté à l'attribut `title` @param lien_texte_ouvre_une_nouvelle_fenetre Si la cible du lien est externe, vous pouvez préciser le texte affiché au survole du lien @param lien_langue (fr|en|...) Si la langue 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 lien_afficher_icone (oui|non) Pour une tuile avec un lien, une icône est affichée par défaut. Si besoin, vous pouvez préciser de ne pas afficher cette icône. @param texte Un texte de description. @param detail Texte affiché dans la deuxième zone de détail. @param badge @param groupe_de_badges Affiché dans la première zone de détail (jusqu'à 4 éléments). `groupe_de_badges` est prioritaire sur le paramètre `badge`. @param tag @param groupe_de_tags Affiché dans la première zone de détail (jusqu'à 4 éléments). Tags cliquables ou non. `groupe_de_tags` est prioritaire sur le paramètre `tag`. ] #SET{titre,#ENV*{titre}|textebrut} [(#GET{titre}|oui) #SET{balise_titre,#LISTE{h2,h3,h4,h5,h6}|find{#ENV{balise_titre}}|oui|?{#ENV{balise_titre},h3}} #SET{texte,#ENV*{texte}|dsfr_texte_paragraphe} #SET{class,#ARRAY} #SET{attributs,#ARRAY} #SET{class,#GET{class}|dsfr_class_ajouter{fr-tile}} #SET{attributs,#GET{attributs}|dsfr_attribut_definir{id,#ENV**{id}|dsfr_id}} [(#ENV{type}|=={grise}|oui) #SET{class,#GET{class}|dsfr_class_ajouter{fr-tile--grey}}] [(#ENV{type}|=={sans_bordure}|oui) #SET{class,#GET{class}|dsfr_class_ajouter{fr-tile--no-border}}] [(#ENV{type}|=={sans_fond}|oui) #SET{class,#GET{class}|dsfr_class_ajouter{fr-tile--no-background}}] [(#ENV{type}|=={avec_ombre_portee}|oui) #SET{class,#GET{class}|dsfr_class_ajouter{fr-tile--shadow}}] [(#ENV{taille}|=={petite}|oui) #SET{class,#GET{class}|dsfr_class_ajouter{fr-tile--sm}}] [(#ENV{disposition}|=={horizontale}|oui) #SET{class,#GET{class}|dsfr_class_ajouter{fr-tile--horizontal}}] [(#ENV{disposition}|=={verticale_a_partir_du_point_de_rupture_moyenne_largeur}|oui) #SET{class,#GET{class}|dsfr_class_ajouter{fr-tile--horizontal fr-tile--vertical@md}}] [(#ENV{disposition}|=={verticale_a_partir_du_point_de_rupture_grande_largeur}|oui) #SET{class,#GET{class}|dsfr_class_ajouter{fr-tile--horizontal fr-tile--vertical@lg}}] #SET{lien,#ENV{lien}|calculer_url} [(#GET{lien}|oui) [(#ENV{lien_etendu}|!={non}|oui) #SET{class,#GET{class}|dsfr_class_ajouter{fr-enlarge-link}}] [(#ENV{lien_afficher_icone}|=={non}|oui) #SET{class,#GET{class}|dsfr_class_ajouter{fr-tile--no-icon}}] #SET{attributs_lien,#ARRAY} #SET{attributs_lien,#GET{attributs_lien}|dsfr_attribut_definir{href,#GET{lien}}} #SET{attributs_lien,#GET{attributs_lien}|dsfr_attribut_definir{title,#ENV{lien_titre}}} [(#REM)] [(#ENV{lien_cible}|non|et{#GET{lien}|lien_is_url_externe}|oui) [(#VAL{_blank}|setenv{lien_cible})] ] #SET{attributs_lien,#GET{attributs_lien}|dsfr_attribut_definir{target,#ENV{lien_cible}}} [(#ENV{lien_cible}|=={_blank}|oui) #SET{attributs_lien,#GET{attributs_lien}|dsfr_attribut_definir{title,#GET{attributs_lien/title,#GET{titre}}|concat{' - ',#ENV{lien_texte_ouvre_une_nouvelle_fenetre}|?{#ENV{lien_texte_ouvre_une_nouvelle_fenetre},#VAL{dsfr_composants:ouvre_une_nouvelle_fenetre}|_T}}}} ] [(#REM)] [(#GET{lien}|lien_is_url_externe|oui) #SET{attributs_lien,#GET{attributs_lien}|dsfr_attribut_definir{rel,noopener external}} ] [(#ENV{lien_telechargement}|=={oui}|oui) #SET{telechargement,oui} #SET{class,#GET{class}|dsfr_class_ajouter{fr-tile--download}} #SET{attributs_lien,#GET{attributs_lien}|dsfr_attribut_definir{download,booleen}} #SET{details_du_telechargement,#ENV{detail}} [(#GET{details_du_telechargement}|non) #SET{attributs_lien,#GET{attributs_lien}|dsfr_attribut_definir{data-fr-assess-file,booleen}} ] ] #SET{attributs_lien,#GET{attributs_lien}|dsfr_attribut_definir{hreflang,#ENV*{lien_langue}|textebrut}} ] #SET{badge,#ENV*{badge}} [(#GET{badge}|oui) #SET{precision,oui} ] #SET{groupe_de_badges,#ENV*{groupe_de_badges}} [(#GET{groupe_de_badges}|oui) #SET{precision,oui} #SET{badge,''} ] #SET{tag,#ENV*{tag}} [(#GET{tag}|oui) #SET{precision,oui} ] #SET{groupe_de_tags,#ENV*{groupe_de_tags}} [(#GET{groupe_de_tags}|oui) #SET{precision,oui} #SET{tag,''} ] [(#ENV{desactive}|=={oui}|oui) [(#GET{lien}|oui) #SET{attributs_lien,#GET{attributs_lien}|dsfr_attribut_supprimer{href}} #SET{attributs_lien,#GET{attributs_lien}|dsfr_attribut_supprimer{target}} #SET{attributs_lien,#GET{attributs_lien}|dsfr_attribut_supprimer{title}} #SET{attributs_lien,#GET{attributs_lien}|dsfr_attribut_supprimer{rel}} #SET{attributs_lien,#GET{attributs_lien}|dsfr_attribut_supprimer{hreflang}} #SET{attributs_lien,#GET{attributs_lien}|dsfr_attribut_definir{aria-disabled,true}} #SET{attributs_lien,#GET{attributs_lien}|dsfr_attribut_definir{role,link}} [(#ENV{lien_telechargement}|=={oui}|oui) #SET{telechargement,''} #SET{attributs_lien,#GET{attributs_lien}|dsfr_attribut_supprimer{download}} #SET{attributs_lien,#GET{attributs_lien}|dsfr_attribut_supprimer{data-fr-assess-file}} ] ] ] [(#ENV{pictogramme}|oui) #SET{pictogramme,#INCLURE{fond=dsfr_composants/pictogramme,reference=#ENV{pictogramme}}} ]
#GET{texte}
] [(#ENV{detail}|ou{#GET{telechargement}}|oui)[(#ENV*{detail}|dsfr_texte_paragraphe)]
] [(#GET{precision}|oui)