Prévisualisation Style guide @cAccordion [Nouvelle Fenêtre]

Contenu de l'accordéon

Contenu de l'accordéon

Contenu de l'accordéon type "Info"

Contenu de l'accordéon type "Info"

Contenu de l'accordéon type "Déplié"
Contenu de l'accordéon type "Info"

Contenu de l'accordéon type "Info"

Contenu de l'accordéon type "Info"

Contenu de l'accordéon type "Info"
Contenu de l'accordéon

Macro

<@cCard title='' class='gray-light-bg-color p-3' >
	<@cAccordion id='acc1' title='Titre de l\'accordéon' subTitle='...et son sous-titre'>
	Contenu de l'accordéon
	</@cAccordion>
</@cCard>

<@cAccordion id='acc2' title='accordéon avec titleClass et header...' class='primary' titleClass='main-info-color' header='<p class="ml-auto pt-3 text-danger">Header</p>'>
Contenu de l'accordéon
</@cAccordion>

<@cAccordion id='acc3' title='accordéon avec bouton action' subTitle='Sous titre' subTitleClass='text-muted' btnClass='btn-outline-action'>
Contenu de l'accordéon type "Info"
</@cAccordion>

<@cAccordion id='acc31' title='accordéon avec outline' class='outline' >
Contenu de l'accordéon type "Info"
</@cAccordion>

<@cAccordion id='accCollapse' title='accordéon collapse' class='unfold' >
Contenu de l'accordéon type "Déplié"
</@cAccordion>

<@cAccordion id='acc32' title='accordéon avec alert primary outline' class='alert alert-outline alert-primary' state=false>
Contenu de l'accordéon type "Info"
</@cAccordion>

<@cAccordion id='acc33' title='accordéon avec alert primary outline' class='alert alert-outline alert-warning' btnTitle='Voir le détail'>
Contenu de l'accordéon type "Info"
</@cAccordion>

<@cAccordion id='acc34' title='accordéon avec alert primary outline' class='alert alert-outline alert-success' btnTitle='Voir le détail'>
Contenu de l'accordéon type "Info"
</@cAccordion>

<@cAccordion id='acc35' title='accordéon avec alert primary outline' class='alert alert-outline alert-danger' btnTitle='Voir le détail'>
Contenu de l'accordéon type "Info"
</@cAccordion>

<@cAccordion id='acc6' title='Exemple avec bordure' subTitle='...et son sous-titre' border=true state=false>
Contenu de l'accordéon
</@cAccordion>

Html

<div class="card gray-light-bg-color p-3">
<div class="card-body">
<div class="accordion" id="accacc1">
<div class="card with-subtitle" >
<h3 class="card-header m-0" data-toggle="collapse" data-target="#collapseAccacc1" role="combobox" aria-expanded="true" aria-controls="collapseAccacc1">
<button class="btn btn-link btn-block btn-header-accordion" type="button" data-toggle="collapse" data-show-label="Voir le détail" data-hide-label="Masquer le détail" data-target="#collapseAccacc1" aria-expanded="true" aria-controls="collapseAccacc1">
<span class="d-flex flex-column flex-1">
<span class="card-title d-block" id="headingAccacc1">Titre de l'accordéon</span>
<span class="card-subtitle w-100">...et son sous-titre</span>
</span>
<span class="accordion-toggle">
<span class="btn-label-accordion d-none d-md-inline-block"></span>
<span class="btn-accordion">
<svg class="paris-icon paris-icon-arrow-bottom" focusable="false" >
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</span>
</span>
</button>
</h3>
<div id="collapseAccacc1" class="m-0 collapse show" role="region" aria-labelledby="headingAccacc1" data-parent="#accacc1">
<div class="card-body">
Contenu de l'accordéon
</div>
</div>
<div class="card-footer d-block d-sm-none text-center">
<button class="btn btn-link btn-accordion" type="button" data-toggle="collapse" data-target="#collapseAccacc1" aria-expanded="true" aria-controls="collapseAccacc1">
<svg class="paris-icon paris-icon-arrow-bottom" aria-hidden="true" focusable="false">
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</button>
</div>
</div>
</div>
</div>
</div>
<div class="accordion" id="accacc2">
<div class="card primary" >
<h3 class="card-header m-0" data-toggle="collapse" data-target="#collapseAccacc2" role="combobox" aria-expanded="true" aria-controls="collapseAccacc2">
<button class="btn btn-link btn-block btn-header-accordion" type="button" data-toggle="collapse" data-show-label="Voir le détail" data-hide-label="Masquer le détail" data-target="#collapseAccacc2" aria-expanded="true" aria-controls="collapseAccacc2">
<span class="d-flex align-items-center flex-1">
<span class="card-title d-block main-info-color" id="headingAccacc2">accordéon avec titleClass et header...</span>
<p class="ml-auto text-danger">Header</p>
</span>
<span class="accordion-toggle">
<span class="btn-label-accordion d-none d-md-inline-block"></span>
<span class="btn-accordion">
<svg class="paris-icon paris-icon-arrow-bottom" focusable="false" >
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</span>
</span>
</button>
</h3>
<div id="collapseAccacc2" class="m-0 collapse show" role="region" aria-labelledby="headingAccacc2" data-parent="#accacc2">
<div class="card-body">
Contenu de l'accordéon
</div>
</div>
<div class="card-footer d-block d-sm-none text-center">
<button class="btn btn-link btn-accordion" type="button" data-toggle="collapse" data-target="#collapseAccacc2" aria-expanded="true" aria-controls="collapseAccacc2">
<svg class="paris-icon paris-icon-arrow-bottom" aria-hidden="true" focusable="false">
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</button>
</div>
</div>
</div>
<div class="accordion" id="accacc3">
<div class="card with-subtitle" >
<h3 class="card-header m-0" data-toggle="collapse" data-target="#collapseAccacc3" role="combobox" aria-expanded="true" aria-controls="collapseAccacc3">
<button class="btn btn-link btn-block btn-header-accordion" type="button" data-toggle="collapse" data-show-label="Voir le détail" data-hide-label="Masquer le détail" data-target="#collapseAccacc3" aria-expanded="true" aria-controls="collapseAccacc3">
<span class="d-flex flex-column flex-1">
<span class="card-title d-block" id="headingAccacc3">accordéon avec bouton action</span>
<span class="card-subtitle w-100 text-muted">Sous titre</span>
</span>
<span class="accordion-toggle">
<span class="btn-label-accordion d-none d-md-inline-block"></span>
<span class="btn-accordion btn-secondary">
<svg class="paris-icon paris-icon-arrow-bottom btn-secondary" focusable="false" >
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</span>
</span>
</button>
</h3>
<div id="collapseAccacc3" class="m-0 collapse show" role="region" aria-labelledby="headingAccacc3" data-parent="#accacc3">
<div class="card-body">
Contenu de l'accordéon type "Info"
</div>
</div>
<div class="card-footer d-block d-sm-none text-center">
<button class="btn btn-link btn-accordion" type="button" data-toggle="collapse" data-target="#collapseAccacc3" aria-expanded="true" aria-controls="collapseAccacc3">
<svg class="paris-icon paris-icon-arrow-bottom" aria-hidden="true" focusable="false">
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</button>
</div>
</div>
</div>
<div class="accordion" id="accacc31">
<div class="card outline" >
<h3 class="card-header m-0" data-toggle="collapse" data-target="#collapseAccacc31" role="combobox" aria-expanded="true" aria-controls="collapseAccacc31">
<button class="btn btn-link btn-block btn-header-accordion" type="button" data-toggle="collapse" data-show-label="Voir le détail" data-hide-label="Masquer le détail" data-target="#collapseAccacc31" aria-expanded="true" aria-controls="collapseAccacc31">
<span class="d-flex align-items-center flex-1">
<span class="card-header-prepend">
<svg class="paris-icon paris-icon-alert-info" focusable="false" >
<title>information</title>
<use xlink:href="#paris-icon-alert-info"></use>
</svg>
</span>
<span id="headingAccacc31">accordéon avec outline</span>
<span class="card-header-separator"></span>
</span>
<span class="accordion-toggle">
<span class="btn-label-accordion d-none d-md-inline-block"></span>
<span class="btn-accordion">
<svg class="paris-icon paris-icon-arrow-bottom" focusable="false" >
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</span>
</span>
</button>
</h3>
<div id="collapseAccacc31" class="m-0 collapse show" role="region" aria-labelledby="headingAccacc31" data-parent="#accacc31">
<div class="card-body">
Contenu de l'accordéon type "Info"
</div>
</div>
<div class="card-footer d-block d-sm-none text-center">
<button class="btn btn-link btn-accordion" type="button" data-toggle="collapse" data-target="#collapseAccacc31" aria-expanded="true" aria-controls="collapseAccacc31">
<svg class="paris-icon paris-icon-arrow-bottom" aria-hidden="true" focusable="false">
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</button>
</div>
</div>
</div>
<div class="accordion" id="accaccCollapse">
<div class="card unfold" >
<h3 class="card-header m-0" data-toggle="collapse" data-target="#collapseAccaccCollapse" role="combobox" aria-expanded="true" aria-controls="collapseAccaccCollapse">
<button class="btn btn-link btn-block btn-header-accordion" type="button" data-toggle="collapse" data-show-label="Voir le détail" data-hide-label="Masquer le détail" data-target="#collapseAccaccCollapse" aria-expanded="true" aria-controls="collapseAccaccCollapse">
<span class="d-flex flex-column flex-1">
<span class="card-title d-block" id="headingAccaccCollapse">accordéon collapse</span>
</span>
<span class="accordion-toggle">
<span class="btn-label-accordion d-none d-md-inline-block"></span>
<span class="btn-accordion">
<svg class="paris-icon paris-icon-arrow-bottom" focusable="false" >
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</span>
</span>
</button>
</h3>
<div id="collapseAccaccCollapse" class="m-0 collapse show" role="region" aria-labelledby="headingAccaccCollapse" data-parent="#accaccCollapse">
<div class="card-body">
Contenu de l'accordéon type "Déplié"
</div>
</div>
<div class="card-footer d-block d-sm-none text-center">
<button class="btn btn-link btn-accordion" type="button" data-toggle="collapse" data-target="#collapseAccaccCollapse" aria-expanded="true" aria-controls="collapseAccaccCollapse">
<svg class="paris-icon paris-icon-arrow-bottom" aria-hidden="true" focusable="false">
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</button>
</div>
</div>
</div>
<div class="accordion" id="accacc32">
<div class="card alert alert-outline alert-primary" >
<h3 class="card-header m-0 collapsed" data-toggle="collapse" data-target="#collapseAccacc32" role="combobox" aria-expanded="false" aria-controls="collapseAccacc32">
<button class="btn btn-link btn-block btn-header-accordion" type="button" data-toggle="collapse" data-show-label="Voir le détail" data-hide-label="Masquer le détail" data-target="#collapseAccacc32" aria-expanded="false" aria-controls="collapseAccacc32">
<span class="d-flex align-items-center flex-1">
<span class="card-header-prepend">
<svg class="paris-icon paris-icon-alert-info" focusable="false" >
<title>information</title>
<use xlink:href="#paris-icon-alert-info"></use>
</svg>
</span>
<span id="headingAccacc32">accordéon avec alert primary outline</span>
<span class="card-header-separator"></span>
</span>
<span class="accordion-toggle">
<span class="btn-label-accordion d-none d-md-inline-block"></span>
<span class="btn-accordion">
<svg class="paris-icon paris-icon-arrow-bottom" focusable="false" >
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</span>
</span>
</button>
</h3>
<div id="collapseAccacc32" class="m-0 collapse " role="region" aria-labelledby="headingAccacc32" data-parent="#accacc32">
<div class="card-body">
Contenu de l'accordéon type "Info"
</div>
</div>
<div class="card-footer d-block d-sm-none text-center bg-transparent">
<button class="btn btn-link btn-accordion" type="button" data-toggle="collapse" data-target="#collapseAccacc32" aria-expanded="false" aria-controls="collapseAccacc32">
<svg class="paris-icon paris-icon-arrow-bottom" aria-hidden="true" focusable="false">
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</button>
</div>
</div>
</div>
<div class="accordion" id="accacc33">
<div class="card alert alert-outline alert-warning" >
<h3 class="card-header m-0" data-toggle="collapse" data-target="#collapseAccacc33" role="combobox" aria-expanded="true" aria-controls="collapseAccacc33">
<button class="btn btn-link btn-block btn-header-accordion main-warning-color-text" type="button" data-toggle="collapse" data-show-label="Voir le détail" data-hide-label="Masquer le détail" data-target="#collapseAccacc33" aria-expanded="true" aria-controls="collapseAccacc33">
<span class="d-flex align-items-center flex-1">
<span class="card-header-prepend">
<svg class="paris-icon paris-icon-alert-warning" focusable="false" >
<title>Attention</title>
<use xlink:href="#paris-icon-alert-warning"></use>
</svg>
</span>
<span id="headingAccacc33">accordéon avec alert primary outline</span>
<span class="card-header-separator"></span>
</span>
<span class="accordion-toggle">
<span class="btn-label-accordion d-none d-md-inline-block main-warning-color-text">Voir le détail</span>
<span class="btn-accordion">
<svg class="paris-icon paris-icon-arrow-bottom main-warning-color-text" focusable="false" >
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</span>
</span>
</button>
</h3>
<div id="collapseAccacc33" class="m-0 collapse show" role="region" aria-labelledby="headingAccacc33" data-parent="#accacc33">
<div class="card-body" style="border-color:var(--main-warning-color-text)">
Contenu de l'accordéon type "Info"
</div>
</div>
<div class="card-footer d-block d-sm-none text-center bg-transparent">
<button class="btn btn-link btn-accordion" type="button" data-toggle="collapse" data-target="#collapseAccacc33" aria-expanded="true" aria-controls="collapseAccacc33">
<svg class="paris-icon paris-icon-arrow-bottom" aria-hidden="true" focusable="false">
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</button>
</div>
</div>
</div>
<div class="accordion" id="accacc34">
<div class="card alert alert-outline alert-success" >
<h3 class="card-header m-0" data-toggle="collapse" data-target="#collapseAccacc34" role="combobox" aria-expanded="true" aria-controls="collapseAccacc34">
<button class="btn btn-link btn-block btn-header-accordion main-success-color-text" type="button" data-toggle="collapse" data-show-label="Voir le détail" data-hide-label="Masquer le détail" data-target="#collapseAccacc34" aria-expanded="true" aria-controls="collapseAccacc34">
<span class="d-flex align-items-center flex-1">
<span class="card-header-prepend">
<svg class="paris-icon paris-icon-alert-success" focusable="false" >
<title></title>
<use xlink:href="#paris-icon-alert-success"></use>
</svg>
</span>
<span id="headingAccacc34">accordéon avec alert primary outline</span>
<span class="card-header-separator"></span>
</span>
<span class="accordion-toggle">
<span class="btn-label-accordion d-none d-md-inline-block main-success-color-text">Voir le détail</span>
<span class="btn-accordion">
<svg class="paris-icon paris-icon-arrow-bottom main-success-color-text" focusable="false" >
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</span>
</span>
</button>
</h3>
<div id="collapseAccacc34" class="m-0 collapse show" role="region" aria-labelledby="headingAccacc34" data-parent="#accacc34">
<div class="card-body" style="border-color:var(--main-success-color-text)">
Contenu de l'accordéon type "Info"
</div>
</div>
<div class="card-footer d-block d-sm-none text-center bg-transparent">
<button class="btn btn-link btn-accordion" type="button" data-toggle="collapse" data-target="#collapseAccacc34" aria-expanded="true" aria-controls="collapseAccacc34">
<svg class="paris-icon paris-icon-arrow-bottom" aria-hidden="true" focusable="false">
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</button>
</div>
</div>
</div>
<div class="accordion" id="accacc35">
<div class="card alert alert-outline alert-danger" >
<h3 class="card-header m-0" data-toggle="collapse" data-target="#collapseAccacc35" role="combobox" aria-expanded="true" aria-controls="collapseAccacc35">
<button class="btn btn-link btn-block btn-header-accordion main-danger-color-text" type="button" data-toggle="collapse" data-show-label="Voir le détail" data-hide-label="Masquer le détail" data-target="#collapseAccacc35" aria-expanded="true" aria-controls="collapseAccacc35">
<span class="d-flex align-items-center flex-1">
<span class="card-header-prepend">
<svg class="paris-icon paris-icon-alert-danger" focusable="false" >
<title></title>
<use xlink:href="#paris-icon-alert-danger"></use>
</svg>
</span>
<span id="headingAccacc35">accordéon avec alert primary outline</span>
<span class="card-header-separator"></span>
</span>
<span class="accordion-toggle">
<span class="btn-label-accordion d-none d-md-inline-block main-danger-color-text">Voir le détail</span>
<span class="btn-accordion">
<svg class="paris-icon paris-icon-arrow-bottom main-danger-color-text" focusable="false" >
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</span>
</span>
</button>
</h3>
<div id="collapseAccacc35" class="m-0 collapse show" role="region" aria-labelledby="headingAccacc35" data-parent="#accacc35">
<div class="card-body" style="border-color:var(--main-danger-color-text)">
Contenu de l'accordéon type "Info"
</div>
</div>
<div class="card-footer d-block d-sm-none text-center bg-transparent">
<button class="btn btn-link btn-accordion" type="button" data-toggle="collapse" data-target="#collapseAccacc35" aria-expanded="true" aria-controls="collapseAccacc35">
<svg class="paris-icon paris-icon-arrow-bottom" aria-hidden="true" focusable="false">
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</button>
</div>
</div>
</div>
<div class="accordion" id="accacc6">
<div class="card with-border with-subtitle" >
<h3 class="card-header m-0 collapsed" data-toggle="collapse" data-target="#collapseAccacc6" role="combobox" aria-expanded="false" aria-controls="collapseAccacc6">
<button class="btn btn-link btn-block btn-header-accordion" type="button" data-toggle="collapse" data-show-label="Voir le détail" data-hide-label="Masquer le détail" data-target="#collapseAccacc6" aria-expanded="false" aria-controls="collapseAccacc6">
<span class="d-flex flex-column flex-1">
<span class="card-title d-block" id="headingAccacc6">Exemple avec bordure</span>
<span class="card-subtitle w-100">...et son sous-titre</span>
</span>
<span class="accordion-toggle">
<span class="btn-label-accordion d-none d-md-inline-block"></span>
<span class="btn-accordion">
<svg class="paris-icon paris-icon-arrow-bottom" focusable="false" >
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</span>
</span>
</button>
</h3>
<div id="collapseAccacc6" class="m-0 collapse " role="region" aria-labelledby="headingAccacc6" data-parent="#accacc6">
<div class="card-body">
Contenu de l'accordéon
</div>
</div>
<div class="card-footer d-block d-sm-none text-center">
<button class="btn btn-link btn-accordion" type="button" data-toggle="collapse" data-target="#collapseAccacc6" aria-expanded="false" aria-controls="collapseAccacc6">
<svg class="paris-icon paris-icon-arrow-bottom" aria-hidden="true" focusable="false">
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</button>
</div>
</div>
</div>
Les paramètres
  • @param - id - string - required - l'ID de l'accordion
  • @param - title - string - required - le titre de l'accordion
  • @param - btnTitle - string - optional - (NEW) le titre du bouton de l'accordion
  • @param - class - string - optional - l'ajout de classe CSS à l'accordion
  • @param - titleClass - string - optional - l'ajout de classe CSS au titre de l'accordion
  • @param - subTitle - string - optional - sous titre de l'accordion
  • @param - subTitleClass - string - optional - nom de classe pour le sous titre de l'accordion
  • @param - btnClass - string - optional - nom de classe pour l'icon du bouton "collapse"
  • @param - btnShowLabel - string - optional - (NEW) gérer le texte du parametre "data-show-label" de l'accordion (par défaut: 'Voir le détail')
  • @param - btnHideLabel - string - optional - (NEW) gérer le texte du parametre "data-hide-label" de l'accordion (par défaut: 'Masquer le détail')
  • @param - header - string - optional - contenu HTML ajouté au niveau du titre de l'accordion
  • @param - border - boolean - optional - si true une bordure est ajoutée (par défaut: false)
  • @param - state - boolean - optional - si true l'accordéon est déplié par défaut (par défaut: true)
  • @param - hasCollapse - boolean - optional - si true affiche l'icône pour le collapse (par défaut: true)

Prévisualisation Style guide @cAlert [Nouvelle Fenêtre]

information

Titre de l'alerte

information

Message validation...

Confirmation...
information

Message validation...

Confirmation...

Macro

<@cAlert title='Titre de l\'alerte' />
<@cAlert class='danger' title='Message erreur' />
<@cAlert class='danger' title='Message d\'erreur'>Contenu de l'erreur</@cAlert>
<@cAlert class='danger' dismissible=true title='Message d\'erreur'>Message d'erreur et bouton de fermeture</@cAlert>
<@cAlert class='warning' title='Message attention...' />
<@cAlert class='warning' dismissible=true title='Message attention...'>Contenu du message "warning" et bouton de fermeture</@cAlert>
<@cAlert class='success' title='Message validation...'>Confirmation...</@cAlert>
<@cAlert class='success' dismissible=true title='Message validation...'>Confirmation et bouton de fermeture</@cAlert>

Html

<div class="alert alert-outline alert-primary" role="status">
<div class="alert-icon">
<svg class="paris-icon paris-icon-alert-info" focusable="false" >
<title>information</title>
<use xlink:href="#paris-icon-alert-info"></use>
</svg>
</div>
<div class="alert-text">
<p class="alert-title">Titre de l'alerte</p>
</div>
</div>
<div class="alert alert-outline alert-danger" role="alert">
<div class="alert-icon">
<svg class="paris-icon paris-icon-alert-danger" focusable="false" >
<title>information</title>
<use xlink:href="#paris-icon-alert-danger"></use>
</svg>
</div>
<div class="alert-text">
<p class="alert-title">Message erreur</p>
</div>
</div>
<div class="alert alert-outline alert-danger" role="alert">
<div class="alert-icon">
<svg class="paris-icon paris-icon-alert-danger" focusable="false" >
<title>information</title>
<use xlink:href="#paris-icon-alert-danger"></use>
</svg>
</div>
<div class="alert-text">
<p class="alert-title">Message d'erreur</p>
Contenu de l'erreur</div>
</div>
<div class="alert alert-outline alert-danger alert-dismissible fade show" role="alert">
<div class="alert-icon">
<svg class="paris-icon paris-icon-alert-danger" focusable="false" >
<title>information</title>
<use xlink:href="#paris-icon-alert-danger"></use>
</svg>
</div>
<div class="alert-text">
<p class="alert-title">Message d'erreur</p>
Message d'erreur et bouton de fermeture</div>
<div class="alert-dismiss">
<button type="button" class="close" data-dismiss="alert" aria-label="Fermer">
<svg class="paris-icon paris-icon-alert-close" id="Fermer" focusable="false" >
<use xlink:href="#paris-icon-alert-close"></use>
</svg>
</button>
</div>
</div>
<div class="alert alert-outline alert-warning" role="alert">
<div class="alert-icon">
<svg class="paris-icon paris-icon-alert-warning" focusable="false" >
<title>information</title>
<use xlink:href="#paris-icon-alert-warning"></use>
</svg>
</div>
<div class="alert-text">
<p class="alert-title">Message attention...</p>
</div>
</div>
<div class="alert alert-outline alert-warning alert-dismissible fade show" role="alert">
<div class="alert-icon">
<svg class="paris-icon paris-icon-alert-warning" focusable="false" >
<title>information</title>
<use xlink:href="#paris-icon-alert-warning"></use>
</svg>
</div>
<div class="alert-text">
<p class="alert-title">Message attention...</p>
Contenu du message "warning"</div>
<div class="alert-dismiss">
<button type="button" class="close" data-dismiss="alert" aria-label="Fermer">
<svg class="paris-icon paris-icon-alert-close" id="Fermer" focusable="false" >
<use xlink:href="#paris-icon-alert-close"></use>
</svg>
</button>
</div>
</div>
<div class="alert alert-outline alert-success" role="status">
<div class="alert-icon">
<svg class="paris-icon paris-icon-alert-check" focusable="false" >
<title>information</title>
<use xlink:href="#paris-icon-alert-check"></use>
</svg>
</div>
<div class="alert-text">
<p class="alert-title">Message validation...</p>
Confirmation...</div>
</div>
<div class="alert alert-outline alert-success alert-dismissible fade show" role="status">
<div class="alert-icon">
<svg class="paris-icon paris-icon-alert-check" focusable="false" >
<title>information</title>
<use xlink:href="#paris-icon-alert-check"></use>
</svg>
</div>
<div class="alert-text">
<p class="alert-title">Message validation...</p>
Confirmation...</div>
<div class="alert-dismiss">
<button type="button" class="close" data-dismiss="alert" aria-label="Fermer">
<svg class="paris-icon paris-icon-alert-close" id="Fermer" focusable="false" >
<use xlink:href="#paris-icon-alert-close"></use>
</svg>
</button>
</div>
</div>
Les paramètres
  • @param - id - string - optional - l'ID de l'alert
  • @param - title - string - optional - le titre de l'alert (par défaut : 'Attention')
  • @param - class - string - optional - permet d'ajouter une classe CSS prefixée 'alert-' à l'alert (par défaut : 'primary')
  • @param - classText - string - optional - permet d'ajouter une classe CSS au texte de l'alert
  • @param - outline - boolean - optional - permet de supprimer le background et la bordure à droite à l'alert (par défaut: false)
  • @param - dismissible - boolean - optional - permet d'activer la fermeture de l'alert (par défaut: true)
  • @param - params - string - optional - permet d'ajouter des parametres HTML à l'alert

Prévisualisation Style guide @cBadge [Nouvelle Fenêtre]

Badge example

Badge example

Macro

<@cBadge label='Badge example' />
<@cBadge label='Badge example' class='badge-secondary' />

Html

<div class="badge ">
<p class="badge-label">Badge example</p>
</div>
<div class="badge badge-secondary">
<p class="badge-label">Badge example</p>
</div>
Les paramètres
  • @param - id - string - optional - l'ID du badge
  • @param - label - string - optional - le titre du badge
  • @param - class - string - optional - permet d'ajouter une classe CSS au badge
  • @param - params - string - optional - permet d'ajouter des parametres HTML au badge

Prévisualisation Style guide @cBtn [Nouvelle Fenêtre]

Macro

<@cText>
    <@cBtn label='btn-primary' class='primary m-1' />
    <@cBtn label='btn-primary disabled' class='primary m-1' disabled=true />
    <@cBtn label='btn-secondary' class='secondary m-1' />
    <@cBtn label='btn-secondary disabled' class='secondary m-1' disabled=true />
    <@cBtn label='btn-tertiary' class='tertiary m-1' />
    <@cBtn label='btn-tertiary disabled' class='tertiary m-1' disabled=true />
    <@cBtn label='btn-danger' class='danger m-1' />
    <@cBtn label='btn-danger disabled' class='danger m-1' disabled=true />
</@cText>
<@cText>
    <@cBtn label='btn-expand' class='expand m-1' />
    <@cBtn label='btn-expand disabled' class='expand m-1' disabled=true />
</@cText>
<@cText>
    <@cBtn label='btn-primary' class='primary m-1' size="mini" />
    <@cBtn label='btn-primary disabled' class='primary m-1' size="mini" disabled=true />
    <@cBtn label='btn-secondary' class='secondary m-1' size="mini" />
    <@cBtn label='btn-secondary disabled' class='secondary m-1' size="mini" disabled=true />
    <@cBtn label='btn-tertiary' class='tertiary m-1' size="mini" />
    <@cBtn label='btn-tertiary disabled' class='tertiary m-1' size="mini" disabled=true />
    <@cBtn label='btn-danger' class='danger m-1' size="mini" />
    <@cBtn label='btn-danger disabled' class='danger m-1' size="mini" disabled=true />
</@cText>

Html

<p>
<button class="btn btn-primary m-1" type="submit">
<span class="btn-label ">btn-primary</span>
</button>
<button class="btn btn-primary m-1" type="submit" disabled>
<span class="btn-label ">btn-primary disabled</span>
</button>
<button class="btn btn-secondary m-1" type="submit">
<span class="btn-label ">btn-secondary</span>
</button>
<button class="btn btn-secondary m-1" type="submit" disabled>
<span class="btn-label ">btn-secondary disabled</span>
</button>
<button class="btn btn-tertiary m-1" type="submit">
<span class="btn-label ">btn-tertiary</span>
</button>
<button class="btn btn-tertiary m-1" type="submit" disabled>
<span class="btn-label ">btn-tertiary disabled</span>
</button>
<button class="btn btn-danger m-1" type="submit">
<span class="btn-label ">btn-danger</span>
</button>
<button class="btn btn-danger m-1" type="submit" disabled>
<span class="btn-label ">btn-danger disabled</span>
</button>
</p>
<p>
<button class="btn btn-expand m-1" type="submit">
<span class="btn-label ">btn-expand</span>
</button>
<button class="btn btn-expand m-1" type="submit" disabled>
<span class="btn-label ">btn-expand disabled</span>
</button>
</p>
<p>
<button class="btn btn-primary m-1 btn-mini" type="submit">
<span class="btn-label ">btn-primary</span>
</button>
<button class="btn btn-primary m-1 btn-mini" type="submit" disabled>
<span class="btn-label ">btn-primary disabled</span>
</button>
<button class="btn btn-secondary m-1 btn-mini" type="submit">
<span class="btn-label ">btn-secondary</span>
</button>
<button class="btn btn-secondary m-1 btn-mini" type="submit" disabled>
<span class="btn-label ">btn-secondary disabled</span>
</button>
<button class="btn btn-tertiary m-1 btn-mini" type="submit">
<span class="btn-label ">btn-tertiary</span>
</button>
<button class="btn btn-tertiary m-1 btn-mini" type="submit" disabled>
<span class="btn-label ">btn-tertiary disabled</span>
</button>
<button class="btn btn-danger m-1 btn-mini" type="submit">
<span class="btn-label ">btn-danger</span>
</button>
<button class="btn btn-danger m-1 btn-mini" type="submit" disabled>
<span class="btn-label ">btn-danger disabled</span>
</button>
</p>
Les paramètres
  • @param - id - string - optional - l'ID du bouton
  • @param - label - string - required - le titre du bouton
  • @param - class - string - optional - permet d'ajouter une classe CSS au bouton (valeur existantes dans le CSS: 'primary', 'secondary', 'tertiary', 'danger', 'expand')
  • @param - noclass - boolean - optional - permet de supprimer les classes CSS 'btn-' du bouton si pas de href (par défaut: false)
  • @param - href - string - optional - si valeur, permet de transformer le bouton en lien avec un attribut href
  • @param - type - string - optional - permet de modifier le type de bouton (par défaut: 'submit')
  • @param - nestedPos - string - optional - permet de gérer la position du contenu de la macro (par défaut: 'before', valeurs possibles: 'before', 'after')
  • @param - disabled - boolean - optional - permet de désactiver le bouton (par défaut: false)
  • @param - size - string - optional - permet de choisir la taille du bouton (choix possible: 'mini')
  • @param - params - string - optional - permet d'ajouter des parametres HTML au bouton

Prévisualisation Style guide @cBtnImg [Nouvelle Fenêtre]

Macro

<@cText>
   <@cBtnImg src='images/feed.png' title='France Connect' class='link-action' imgPos='after'>
       Actualités - Flux RSS
   </@cBtnImg>
</@cText>

Html

<p>
<!-- Warning : wrong or deprecated argument(s) : title, ... -->
<button class="btn btn-link-action btn-img" type="submit">
<span>
Actualités - Flux RSS
</span>
<!-- Warning : wrong or deprecated argument(s) : title, ... -->
<img src="images/feed.png" alt="" class="after">
</button>
</p>
Les paramètres
  • @param - id - string - optional - l'ID du bouton
  • @param - class - string - optional - permet d'ajouter une classe CSS au bouton (par défaut: 'primary')
  • @param - src - string - required - permet de définir l'image dans le bouton
  • @param - type - string - optional - permet de modifier le type de bouton (par défaut: 'submit')
  • @param - params - string - optional - permet d'ajouter des parametres HTML au bouton
  • @param - imgPos - string - optional - permet de gérer la position de l'image (par défaut: 'before', valeurs possibles: 'before', 'after')
  • @param - disabled - boolean - optional - permet de désactiver le bouton (par défaut: false)

Prévisualisation Style guide @cBtnGroup [Nouvelle Fenêtre]

Macro

<@cText>
<@cBtnGroup label='Menu Accueil' >
    <@cBtn label='A' class='secondary' />
    <@cBtn label='B' class='secondary' />
    <@cBtn label='C' class='secondary' />
</@cBtnGroup>
</@cText>
<@cText>
<@cBtnGroup label='Menu Accueil' type='vertical' >
    <@cBtn label='Réactif' class='primary' />
    <@cBtn label='Actif' class='primary active' />
</@cBtnGroup>
</@cText>

Html

<p>
<div class="btn-group" role="group" aria-label="Menu Accueil">
<button class="btn btn-secondary" type="submit">
<span class="btn-label ">A</span>
</button>
<button class="btn btn-secondary" type="submit">
<span class="btn-label ">B</span>
</button>
<button class="btn btn-secondary" type="submit">
<span class="btn-label ">C</span>
</button>
</div>
</p>
<p>
<div class="btn-group btn-group-vertical" role="group" aria-label="Menu Accueil">
<button class="btn btn-primary" type="submit">
<span class="btn-label ">Réactif</span>
</button>
<button class="btn btn-primary active" type="submit">
<span class="btn-label ">Actif</span>
</button>
</div>
</p>
Les paramètres
  • @param - id - string - optional - l'ID du groupe de bouton
  • @param - label - string - required - définit l'aria-label du groupe de bouton
  • @param - class - string - optional - permet d'ajouter une classe CSS au groupe de bouton
  • @param - type - string - optional - permet de modifier le type de groupe de bouton (valeur possible: 'vertical')
  • @param - params - string - optional - permet d'ajouter des parametres HTML au groupe de bouton

Prévisualisation Style guide @cBtnToolbar [Nouvelle Fenêtre]

Macro

<@cBtnToolbar label='Menu Accueil' class='d-flex justify-content-around'>
    <@cBtnGroup label='Menu Accueil Droit' >
        <@cBtn label='A' class='secondary' />
        <@cBtn label='B' class='secondary' />
        <@cBtn label='C' class='secondary' />
    </@cBtnGroup>
    <@cBtnGroup label='Menu Accueil Droit' >
        <@cBtn label='D' class='secondary' disabled=true />
        <@cBtn label='E' class='secondary' disabled=true />
        <@cBtn label='F' class='secondary' disabled=true />
    </@cBtnGroup>
    <@cBtnGroup label='Menu Accueil Gauche' >
        <@cBtn label='Réactif' class='primary' />
        <@cBtn label='Actif' class='primary active' />
    </@cBtnGroup>
    <@cBtnGroup label='Menu Accueil Gauche' >
        <@cBtn label='Réactif' class='primary' disabled=true />
        <@cBtn label='Actif' class='primary active' disabled=true />
    </@cBtnGroup>
</@cBtnToolbar>

Html

<div class="btn-toolbar d-flex justify-content-around" role="toolbar" aria-label="Menu Accueil">
<div class="btn-group" role="group" aria-label="Menu Accueil Droit">
<button class="btn btn-secondary" type="submit">
<span class="btn-label ">A</span>
</button>
<button class="btn btn-secondary" type="submit">
<span class="btn-label ">B</span>
</button>
<button class="btn btn-secondary" type="submit">
<span class="btn-label ">C</span>
</button>
</div>
<div class="btn-group" role="group" aria-label="Menu Accueil Droit">
<button class="btn btn-secondary" type="submit" disabled>
<span class="btn-label ">D</span>
</button>
<button class="btn btn-secondary" type="submit" disabled>
<span class="btn-label ">E</span>
</button>
<button class="btn btn-secondary" type="submit" disabled>
<span class="btn-label ">F</span>
</button>
</div>
<div class="btn-group" role="group" aria-label="Menu Accueil Gauche">
<button class="btn btn-primary" type="submit">
<span class="btn-label ">Réactif</span>
</button>
<button class="btn btn-primary active" type="submit">
<span class="btn-label ">Actif</span>
</button>
</div>
<div class="btn-group" role="group" aria-label="Menu Accueil Gauche">
<button class="btn btn-primary" type="submit" disabled>
<span class="btn-label ">Réactif</span>
</button>
<button class="btn btn-primary active" type="submit" disabled>
<span class="btn-label ">Actif</span>
</button>
</div>
</div>
Les paramètres
  • @param - id - string - optional - l'ID du groupe de bouton toolbar
  • @param - label - string - required - définit l'aria-label du groupe de bouton toolbar
  • @param - class - string - optional - permet d'ajouter une classe CSS au groupe de bouton toolbar
  • @param - type - string - optional - permet de modifier le type de groupe de bouton toolbar (valeur possible: 'vertical')
  • @param - params - string - optional - permet d'ajouter des parametres HTML au groupe de bouton toolbar

Prévisualisation Style guide @cModal [Nouvelle Fenêtre]

Cliquer sur les boutons ci-dessous pour afficher les boîtes de dialogue.

Macro

<@cBtn label='Modal_01' class='primary m-1' params=' data-toggle="modal" data-target="#example1Modal"'/>
<@cModal title='Exemple de modal' dismissLabel='Fermer' id='example1' footer='<button class="btn btn-secondary m-1" type="submit"><span class="btn-label">Text example</span></button><button class="btn btn-primary m-1" type="submit"><span class="btn-label">Text example</span></button>'>
<@cText>Contenu de la modal</@cText>
</@cModal>
<@cBtn label='Modal_02' class='primary m-1' params=' data-toggle="modal" data-target="#example2Modal"'/>
<@cModal title='Exemple de modal' dismissLabel='Annuler' id='example2' footer='<button class="btn btn-danger m-1" type="submit"><span class="btn-label">Text example</span></button>'>
<@cText>Contenu de la modal</@cText>
</@cModal>

Html

<p class="text-cap">
Cliquer sur les boutons ci-dessous pour afficher les boîtes de dialogue.</p>
<button class="btn btn-primary m-1" type="submit" data-toggle="modal" data-target="#example1Modal">
<span class="btn-label ">Modal 1</span>
</button>
<button class="btn btn-primary m-1" type="submit" data-toggle="modal" data-target="#example2Modal">
<span class="btn-label ">Modal 2</span>
</button>
Les paramètres
  • @param - id - string - required - l'ID de la modal
  • @param - title - string - required - permet de définir le titre du header de la modal
  • @param - class - string - optional - permet d'ajouter une classe CSS à la modal
  • @param - size - string - optional - permet d'ajouter une classe CSS pour gérer la taille de la modal (pas de valeur pré-définie)
  • @param - static - boolean - optional - permet d'ajouter un attribut HTML 'data-backdrop' (par défaut: false)
  • @param - pos - string - optional - permet de gérer la position de la modal (par défaut et seule valeur existante: 'centered')
  • @param - role - string - optional - permet de définir le role de la modal avec un attribut HTML
  • @param - scrollable - boolean - optional - permet d'ajouter une classe CSS 'modal-dialog-scrollable' (par défaut: false)
  • @param - dismissible - boolean - optional - permet d'activer la fermeture de la modal avec l'affichage de la croix et le bouton de fermeture (par défaut: true)
  • @param - dismissLabel - string - optional - permet de définir le label du bouton de fermerture de la modal (par défaut: 'Fermer')
  • @param - footer - string - optional - permet de définir le HTML du footer de la modal (pour y ajouter des boutons de submit par exemple)
  • @param - params - string - optional - permet d'ajouter des parametres HTML à la modal
Aide

Permet de créer une boite de dialogue avec 3 macros imbriquée -é minima 2-.

Prévisualisation Style guide @cCascading [Nouvelle Fenêtre]

nested 1
nested 2

Contenu

nested 3

Contenu

nested 4

Contenu

nested 1

contenu

Aménagements piétonniers végétalisés

Contenu

Passage piétonnier sous porche à conserver

Contenu

Plafonnement des hauteurs : 31m

Contenu

Secteur de dispositions particulières : Site Miollis

UG 3.1.3 Implantation des constructions en vis-à-vis sur un même terrain

UG.3.2.6 Gabarit-enveloppe* des constructions en vis-à-vis sur un même terrain*

Macro

<@cCascading id='cascad1' title='nested 1' state=true>
    <@cCascading id='cascad2' title='nested 2'><@cText>Contenu</@cText></@cCascading>
    <@cCascading id='cascad3' title='nested 3'><@cText>Contenu</@cText></@cCascading>
    <@cCascading id='cascad4' title='nested 4'><@cText>Contenu</@cText></@cCascading>
</@cCascading>
<@cCascading id='cascadSolo1' title='nested 1'><@cText>contenu</@cText></@cCascading>
<@cCascading id='cascadFile1' class='cascading-files' title='Aménagements piétonniers végétalisés'><@cText>Contenu</@cText></@cCascading>
<@cCascading id='cascadFile2' class='cascading-files' title='Passage piétonnier sous porche à conserver'><@cText>Contenu</@cText></@cCascading>
<@cCascading id='cascadFile3' class='cascading-files' title='Plafonnement des hauteurs : 31m'><@cText>Contenu</@cText></@cCascading>
<@cCascading id='cascadFile4' class='cascading-files' title='Secteur de dispositions particulières : Site Miollis' state=true>
    <@cText>UG 3.1.3 Implantation des constructions en vis-à-vis sur un même terrain</@cText>
    <@cText>UG.3.2.6 Gabarit-enveloppe* des constructions en vis-à-vis sur un même terrain*</@cText>
</@cCascading>

Html

<details id='cascad1' class="cascading " open>
<summary><span class='cascading-label'>nested 1</span></summary>
<div class='cascading-content'> <details id='cascad2' class="cascading " >
<summary><span class='cascading-label'>nested 2</span></summary>
<div class='cascading-content'>
<p>
Contenu</p>
</div>
</details>
<details id='cascad3' class="cascading " >
<summary><span class='cascading-label'>nested 3</span></summary>
<div class='cascading-content'>
<p>
Contenu</p>
</div>
</details>
<details id='cascad4' class="cascading " >
<summary><span class='cascading-label'>nested 4</span></summary>
<div class='cascading-content'>
<p>
Contenu</p>
</div>
</details>
</div>
</details>
<details id='cascadSolo1' class="cascading " >
<summary><span class='cascading-label'>nested 1</span></summary>
<div class='cascading-content'>
<p>
contenu</p>
</div>
</details>
<details id='cascadFile1' class="cascading cascading-files" >
<summary><span class='cascading-label'>Aménagements piétonniers végétalisés</span></summary>
<div class='cascading-content'>
<p>
Contenu</p>
</div>
</details>
<details id='cascadFile2' class="cascading cascading-files" >
<summary><span class='cascading-label'>Passage piétonnier sous porche à conserver</span></summary>
<div class='cascading-content'>
<p>
Contenu</p>
</div>
</details>
<details id='cascadFile3' class="cascading cascading-files" >
<summary><span class='cascading-label'>Plafonnement des hauteurs : 31m</span></summary>
<div class='cascading-content'>
<p>
Contenu</p>
</div>
</details>
<details id='cascadFile4' class="cascading cascading-files" open>
<summary><span class='cascading-label'>Secteur de dispositions particulières : Site Miollis</span></summary>
<div class='cascading-content'>
<p>
UG 3.1.3 Implantation des constructions en vis-à-vis sur un même terrain</p>
<p>
UG.3.2.6 Gabarit-enveloppe* des constructions en vis-à-vis sur un même terrain*</p>
</div>
</details>
Les paramètres
  • @param - id - string - required - l'ID de la cascade
  • @param - title - string - required - permet de définir le titre de la cascade
  • @param - class - string - optional - permet d'ajouter une classe CSS à la cascade
  • @param - state - boolean - optional - permet de définir si la cascade est ouverte au chargement de la page (par défaut: false)
  • @param - params - string - optional - permet d'ajouter des parametres HTML à la cascade

Prévisualisation Style guide @cCard [Nouvelle Fenêtre]

Vertical

Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


Title example


Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


Vertical Secondary

Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


Title example


Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


Horizontal

Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Horizontal Secondary

Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Cartes depliantes

Title example

Text example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Text example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Text example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Text example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Text example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Text example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Text example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Text example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


Title example

Text example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Text example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Text example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Text example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Text example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Text example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Text example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Text example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Macro

<@cTitle level=4 class='mt-l'>Vertical</@cTitle>
<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' >
    <@cText class="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
    <@cText class="text-right"><@cBtn label='Text example' class='primary' /></@cText>
</@cCard>
<br>
<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' >
    <@cText class="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
</@cCard>
<br>
<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' />
<br>
<@cCard title='Title example'>
    <@cText class="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
    <@cText class="text-right"><@cBtn label='Text example' class='primary' /></@cText>
</@cCard>
<br>
<@cTitle level=4>Vertical Secondary</@cTitle>
<@cCard class='secondary' title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' >
    <@cText class="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
    <@cText class="text-right"><@cBtn label='Text example' class='primary' /></@cText>
</@cCard>
<br>
<@cCard class='secondary' title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' >
    <@cText class="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
</@cCard>
<br>
<@cCard class='secondary' title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' />
<br>
<@cCard class='secondary' title='Title example'>
    <@cText class="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
    <@cText class="text-right"><@cBtn label='Text example' class='primary' /></@cText>
</@cCard>
<br>
<@cTitle level=4 class='mt-l'>Horizontal</@cTitle>
<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' orientation='h'>
	<@cBlock class='d-flex justify-content-between align-items-end align-items-end'>
	    <@cText class="card-text ">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
		<@cBtn label='Text example' class='action ml-3 text-right' />
	</@cBlock>
</@cCard>
<br>
<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' orientation='h'>
	<@cBlock class='d-flex justify-content-between align-items-end align-items-end'>
	    <@cText class="card-text ">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cBlock>
</@cCard>
<br>
<@cCard title='Title example' orientation='h'>
    <@cBlock class='d-flex justify-content-between align-items-end align-items-end'>
		<@cText class="card-text ">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
		<@cBtn label='Text example' class='action ml-3 text-right' />
	</@cBlock>
</@cCard>

<@cTitle level=4 class='mt-l'>Horizontal Secondary</@cTitle>
<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' orientation='h' class='secondary'>
	<@cBlock class='d-flex justify-content-between align-items-end align-items-end'>
	    <@cText class="card-text ">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
		<@cBtn label='Text example' class='action ml-3 text-right' />
	</@cBlock>
</@cCard>
<br>
<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' orientation='h' class='secondary'>
	<@cBlock class='d-flex justify-content-between align-items-end align-items-end'>
	    <@cText class="card-text ">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cBlock>
</@cCard>
<br>
<@cCard title='Title example' orientation='h' class='secondary'>
    <@cBlock class='d-flex justify-content-between align-items-end align-items-end'>
		<@cText class="card-text ">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
		<@cBtn label='Text example' class='action ml-3 text-right' />
	</@cBlock>
</@cCard>
<@cTitle level=4 class='mt-l'>Cartes depliantes</@cTitle>
<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' >
	<@cCascading id='cascadSolo1' title='Text example'>
		<@cText>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCascading>
	<@cCascading id='cascadSolo2' title='Text example'>
		<@cText>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCascading>
	<@cCascading id='cascadSolo3' title='Text example'>
		<@cText>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCascading>
	<@cCascading id='cascadSolo4' title='Text example'>
		<@cText>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCascading>
	<@cCascading id='cascadSolo5' title='Text example'>
		<@cText>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCascading>
	<@cCascading id='cascadSolo6' title='Text example'>
		<@cText>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCascading>
	<@cCascading id='cascadSolo7' title='Text example'>
		<@cText>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCascading>
	<@cCascading id='cascadSolo8' title='Text example'>
		<@cText>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCascading>
	<@cText class="mt-3"><@cBtn label='Text example' class='primary' /></@cText>
</@cCard>
<br>
<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' class='secondary' >
	<@cCascading id='cascadSolo9' title='Text example'>
		<@cText>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCascading>
	<@cCascading id='cascadSolo10' title='Text example'>
		<@cText>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCascading>
	<@cCascading id='cascadSolo11' title='Text example'>
		<@cText>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCascading>
	<@cCascading id='cascadSolo12' title='Text example'>
		<@cText>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCascading>
	<@cCascading id='cascadSolo13' title='Text example'>
		<@cText>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCascading>
	<@cCascading id='cascadSolo14' title='Text example'>
		<@cText>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCascading>
	<@cCascading id='cascadSolo15' title='Text example'>
		<@cText>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCascading>
	<@cCascading id='cascadSolo16' title='Text example'>
		<@cText>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCascading>
	<@cText class="mt-3"><@cBtn label='Text example' class='expand' /></@cText>
</@cCard>

Html

<h4 class="mt-l">
Vertical</h4>
<div class="card ">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
<p class="card-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p class="text-right">
<button class="btn btn-primary" type="submit">
<span class="btn-label ">Text example</span>
</button>
</p>
</div>
</div>
<br>
<div class="card ">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
<p class="card-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
<br>
<div class="card ">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
</div>
</div>
<br>
<div class="card ">
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
<p class="card-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p class="text-right">
<button class="btn btn-primary" type="submit">
<span class="btn-label ">Text example</span>
</button>
</p>
</div>
</div>
<br>
<h4 class="mt-l">
Vertical Secondary</h4>
<div class="card secondary">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
<p class="card-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p class="text-right">
<button class="btn btn-primary" type="submit">
<span class="btn-label ">Text example</span>
</button>
</p>
</div>
</div>
<br>
<div class="card secondary">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
<p class="card-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
<br>
<div class="card secondary">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
</div>
</div>
<br>
<div class="card secondary">
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
<p class="card-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p class="text-right">
<button class="btn btn-primary" type="submit">
<span class="btn-label ">Text example</span>
</button>
</p>
</div>
</div>
<br>
<h4 class="mt-l">
Horizontal</h4>
<div class="card ">
<div class="row m-0">
<div class="col-12 col-md-4 p-0">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
</div>
<div class="col-12 col-md-8 p-0">
<div class="card-body">
<h3 class="card-title">
Title example
</h3>
<div class="d-flex justify-content-between align-items-end align-items-end">
<p class="card-text ">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<button class="btn btn-action ml-3 text-right" type="submit">
<span class="btn-label ">Text example</span>
</button>
</div>
</div>
</div>
</div>
</div>
<br>
<div class="card ">
<div class="row m-0">
<div class="col-12 col-md-4 p-0">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
</div>
<div class="col-12 col-md-8 p-0">
<div class="card-body">
<h3 class="card-title">
Title example
</h3>
<div class="d-flex justify-content-between align-items-end align-items-end">
<p class="card-text ">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
</div>
</div>
</div>
<br>
<div class="card ">
<div class="row m-0">
<div class="col p-0">
<div class="card-body">
<h3 class="card-title">
Title example
</h3>
<div class="d-flex justify-content-between align-items-end align-items-end">
<p class="card-text ">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<button class="btn btn-action ml-3 text-right" type="submit">
<span class="btn-label ">Text example</span>
</button>
</div>
</div>
</div>
</div>
</div>
<h4 class="mt-l">
Horizontal Secondary</h4>
<div class="card secondary">
<div class="row m-0">
<div class="col-12 col-md-4 p-0">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
</div>
<div class="col-12 col-md-8 p-0">
<div class="card-body">
<h3 class="card-title">
Title example
</h3>
<div class="d-flex justify-content-between align-items-end align-items-end">
<p class="card-text ">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<button class="btn btn-action ml-3 text-right" type="submit">
<span class="btn-label ">Text example</span>
</button>
</div>
</div>
</div>
</div>
</div>
<br>
<div class="card secondary">
<div class="row m-0">
<div class="col-12 col-md-4 p-0">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
</div>
<div class="col-12 col-md-8 p-0">
<div class="card-body">
<h3 class="card-title">
Title example
</h3>
<div class="d-flex justify-content-between align-items-end align-items-end">
<p class="card-text ">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
</div>
</div>
</div>
<br>
<div class="card secondary">
<div class="row m-0">
<div class="col p-0">
<div class="card-body">
<h3 class="card-title">
Title example
</h3>
<div class="d-flex justify-content-between align-items-end align-items-end">
<p class="card-text ">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<button class="btn btn-action ml-3 text-right" type="submit">
<span class="btn-label ">Text example</span>
</button>
</div>
</div>
</div>
</div>
</div>
<h4 class="mt-l">
Cartes depliantes</h4>
<div class="card ">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
<details id='cascadSolo1' class="cascading " >
<summary><span class='cascading-label'>Text example</span></summary>
<div class='cascading-content'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</details>
<details id='cascadSolo2' class="cascading " >
<summary><span class='cascading-label'>Text example</span></summary>
<div class='cascading-content'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</details>
<details id='cascadSolo3' class="cascading " >
<summary><span class='cascading-label'>Text example</span></summary>
<div class='cascading-content'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</details>
<details id='cascadSolo4' class="cascading " >
<summary><span class='cascading-label'>Text example</span></summary>
<div class='cascading-content'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</details>
<details id='cascadSolo5' class="cascading " >
<summary><span class='cascading-label'>Text example</span></summary>
<div class='cascading-content'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</details>
<details id='cascadSolo6' class="cascading " >
<summary><span class='cascading-label'>Text example</span></summary>
<div class='cascading-content'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</details>
<details id='cascadSolo7' class="cascading " >
<summary><span class='cascading-label'>Text example</span></summary>
<div class='cascading-content'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</details>
<details id='cascadSolo8' class="cascading " >
<summary><span class='cascading-label'>Text example</span></summary>
<div class='cascading-content'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</details>
<p class="mt-3">
<button class="btn btn-primary" type="submit">
<span class="btn-label ">Text example</span>
</button>
</p>
</div>
</div>
<br>
<div class="card secondary">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
<details id='cascadSolo9' class="cascading " >
<summary><span class='cascading-label'>Text example</span></summary>
<div class='cascading-content'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</details>
<details id='cascadSolo10' class="cascading " >
<summary><span class='cascading-label'>Text example</span></summary>
<div class='cascading-content'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</details>
<details id='cascadSolo11' class="cascading " >
<summary><span class='cascading-label'>Text example</span></summary>
<div class='cascading-content'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</details>
<details id='cascadSolo12' class="cascading " >
<summary><span class='cascading-label'>Text example</span></summary>
<div class='cascading-content'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</details>
<details id='cascadSolo13' class="cascading " >
<summary><span class='cascading-label'>Text example</span></summary>
<div class='cascading-content'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</details>
<details id='cascadSolo14' class="cascading " >
<summary><span class='cascading-label'>Text example</span></summary>
<div class='cascading-content'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</details>
<details id='cascadSolo15' class="cascading " >
<summary><span class='cascading-label'>Text example</span></summary>
<div class='cascading-content'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</details>
<details id='cascadSolo16' class="cascading " >
<summary><span class='cascading-label'>Text example</span></summary>
<div class='cascading-content'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</details>
<p class="mt-3">
<button class="btn btn-expand" type="submit">
<span class="btn-label ">Text example</span>
</button>
</p>
</div>
</div>
Les paramètres
  • @param - id - string - optional - l'ID de la carte
  • @param - title - string - optional - définit le titre de la carte
  • @param - titleClass - string - optional - permet d'ajouter une classe CSS au titre de la carte
  • @param - titleUrl - string - optional - permet d'ajouter un lien au titre de la carte
  • @param - subtitle - string - optional - permet d'ajouter un sous-titre à la carte
  • @param - subtitleClass - string - optional - permet d'ajouter une classe CSS au sous-titre à la carte
  • @param - class - string - optional - permet d'ajouter une classe CSS à la carte
  • @param - img - string - optional - permet de définir la source de l'image de la carte
  • @param - imgType - string - optional - permet de définir le type de l'image de la carte (valeur possible: 'svg')
  • @param - imgClass - string - optional - permet d'ajouter une classe CSS à la source de l'image de la carte
  • @param - imgClass - string - optional - permet de définir la valeur de l'attribut alt de la carte
  • @param - header - string - optional - permet de définir un text au dessus de l'image de la carte
  • @param - headerClass - string - optional - permet d'ajouter une classe CSS au container du header de la carte
  • @param - headerLabelClass - string - optional - permet d'ajouter une classe CSS au texte du header de la carte
  • @param - headerImg - string - optional - permet d'ajouter une image au header de la carte
  • @param - subHeader - string - optional - permet d'ajouter un sous header à la carte
  • @param - subHeaderClass - string - optional - permet d'ajouter une classe CSS au sous header de la carte
  • @param - footer - string - optional - permet d'ajouter un footer à la carte
  • @param - footerClass - string - optional - permet d'ajouter une classe CSS au footer de la carte
  • @param - orientation - string - optional - permet de gérer l'orientation de la carte (valeur possible: 'v')
  • @param - vcols - objet - optional - permet de gérer le ration de largeur entre l'image et le texte dans une orientation horizontale (par défaut: [4,8])
  • @param - hoverEffect - boolean - optional - permet d'ajouter un effet d'hover à l'image de la carte (par défaut: true)
  • @param - params - string - optional - permet d'ajouter des parametres HTML à la cascade

Macro

<#assign ls = [
{"title":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "url":"https://paris.fr", "target":"_blank"},
{"title":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "url":"https://paris.fr", "target":"_blank"},
{"title":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "url":"https://paris.fr", "target":"_blank"}
]>

<div style="height: 530px; position: relative;">
	<@cCardFloating id='float' title='Carte Flotante' class='d-block'>
		<@cList items=ls class='list-highlight-secondary'/>
	</@cCardFloating>
</div>

<div style="height: 530px; position: relative">
	<@cCardFloating id='float2' title='Carte Flotante Secondary' class='d-block secondary'>
		<@cList items=ls class='list-highlight-secondary'/>
	</@cCardFloating>
</div>

Html

<div style="height: 530px; position: relative;">
<div class="card card-floating d-block" id="float-card" >
<div class="card-body">
<div class='card-title-container'>
<h3 class="card-title">
Carte Flotante</h3>
<button type="button" class="close" aria-label="Fermer params='data-target="#float-card" data-dismiss="alert"">
<svg class="paris-icon paris-icon-close" focusable="false" >
<title>Fermer</title>
<use xlink:href="#paris-icon-close"></use>
</svg>
</button>
</div>
<ul class="custom-list list-default list-highlight-secondary" >
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://paris.fr" title="Lorem ipsum dolor sit amet, consectetur adipiscing elit." target="_blank">
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. </span>
</a>
</li>
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://paris.fr" title="Lorem ipsum dolor sit amet, consectetur adipiscing elit." target="_blank">
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. </span>
</a>
</li>
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://paris.fr" title="Lorem ipsum dolor sit amet, consectetur adipiscing elit." target="_blank">
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. </span>
</a>
</li>
</ul>
</div>
</div>
</div>
<div style="height: 530px; position: relative">
<div class="card card-floating d-block secondary" id="float2-card" >
<div class="card-body">
<div class='card-title-container'>
<h3 class="card-title">
Carte Flotante Secondary</h3>
<button type="button" class="close" aria-label="Fermer params='data-target="#float2-card" data-dismiss="alert"">
<svg class="paris-icon paris-icon-close" focusable="false" >
<title>Fermer</title>
<use xlink:href="#paris-icon-close"></use>
</svg>
</button>
</div>
<ul class="custom-list list-default list-highlight-secondary" >
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://paris.fr" title="Lorem ipsum dolor sit amet, consectetur adipiscing elit." target="_blank">
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. </span>
</a>
</li>
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://paris.fr" title="Lorem ipsum dolor sit amet, consectetur adipiscing elit." target="_blank">
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. </span>
</a>
</li>
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://paris.fr" title="Lorem ipsum dolor sit amet, consectetur adipiscing elit." target="_blank">
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. </span>
</a>
</li>
</ul>
</div>
</div>
</div>
Les paramètres
  • @param - id - string - required - l'ID de la carte
  • @param - title - string - optional - définit le titre de la carte
  • @param - class - string - optional - permet d'ajouter une classe CSS à la carte
  • @param - dismissible - boolean - optional - permet d'activer la fermeture de la carte (par défaut: true)
  • @param - params - string - optional - permet d'ajouter des parametres HTML à la carte

Prévisualisation Style guide Card - Mise en page [Nouvelle Fenêtre]

Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Title example

Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Title example

Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Title example

Title example

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Macro

<@cCardLayout>
	<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' >
	    <@cText class="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	    <@cText class="text-right"><@cBtn label='Text example' class='primary' /></@cText>
	</@cCard>
	<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' >
	    <@cText class="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCard>
	<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' />
	<@cCard title='Title example'>
	    <@cText class="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	    <@cText class="text-right"><@cBtn label='Text example' class='primary' /></@cText>
	</@cCard>
</@cCardLayout>
<br>
<@cCardLayout type="deck">
	<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' >
	    <@cText class="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	    <@cText class="text-right"><@cBtn label='Text example' class='primary' /></@cText>
	</@cCard>
	<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' >
	    <@cText class="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCard>
	<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' />
	<@cCard title='Title example'>
	    <@cText class="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	    <@cText class="text-right"><@cBtn label='Text example' class='primary' /></@cText>
	</@cCard>
</@cCardLayout>
<br>
<@cCardLayout type="columns">
	<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' >
	    <@cText class="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	    <@cText class="text-right"><@cBtn label='Text example' class='primary' /></@cText>
	</@cCard>
	<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' >
	    <@cText class="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	</@cCard>
	<@cCard title='Title example' img='images/paul-dufour-5XndD3FhH-w-unsplash.png' />
	<@cCard title='Title example'>
	    <@cText class="card-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</@cText>
	    <@cText class="text-right"><@cBtn label='Text example' class='primary' /></@cText>
	</@cCard>
</@cCardLayout>

Html

<div class="card-group ">
<div class="card ">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
<p class="card-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p class="text-right">
<button class="btn btn-primary" type="submit">
<span class="btn-label ">Text example</span>
</button>
</p>
</div>
</div>
<div class="card ">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
<p class="card-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
<div class="card ">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
</div>
</div>
<div class="card ">
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
<p class="card-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p class="text-right">
<button class="btn btn-primary" type="submit">
<span class="btn-label ">Text example</span>
</button>
</p>
</div>
</div>
</div>
<br>
<div class="card-deck ">
<div class="card ">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
<p class="card-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p class="text-right">
<button class="btn btn-primary" type="submit">
<span class="btn-label ">Text example</span>
</button>
</p>
</div>
</div>
<div class="card ">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
<p class="card-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
<div class="card ">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
</div>
</div>
<div class="card ">
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
<p class="card-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p class="text-right">
<button class="btn btn-primary" type="submit">
<span class="btn-label ">Text example</span>
</button>
</p>
</div>
</div>
</div>
<br>
<div class="card-columns ">
<div class="card ">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
<p class="card-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p class="text-right">
<button class="btn btn-primary" type="submit">
<span class="btn-label ">Text example</span>
</button>
</p>
</div>
</div>
<div class="card ">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
<p class="card-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
<div class="card ">
<figure class="card-figure ">
<img src="images/paul-dufour-5XndD3FhH-w-unsplash.png" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
</div>
</div>
<div class="card ">
<div class="card-body">
<h3 class="card-title ">
Title example</h3>
<p class="card-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p class="text-right">
<button class="btn btn-primary" type="submit">
<span class="btn-label ">Text example</span>
</button>
</p>
</div>
</div>
</div>
Les paramètres
  • @param - id - string - optional - l'ID de la grille de cartes
  • @param - class - string - optional - permet d'ajouter une classe CSS à la grille de cartes
  • @param - type - string - optional - permet de définir le type de la grille de carte (par défaut: 'group', valeurs possibles: 'groupe', 'deck', 'columns')
  • @param - params - string - optional - permet d'ajouter des parametres HTML à la grille de cartes

Prévisualisation Style guide @cConsentTac [Nouvelle Fenêtre]

La macro @cConsentTac permet la gestion du consentement en utilisant la librairie TarteAuCitron .

Vous pouvez cliquer sur le bouton "Cookie" situé en bas à droite de cet écran pour visualiser la fenêtre de gestion des cookies.

Macro

<@cConsentTac title=favourite />
<#-- Tarte au Citron Service : MonParis -default- -->
<@cConsentTacService />
<#-- Tarte au Citron Service : Matomo  -->
<@cConsentTacService code='matomohightrack'>
   ${matomo!}
 </@cConsentTacService>
</@cConsentTac>

Html

<link rel="stylesheet" href="themes/skin/parisfr/js/vendor/tarteaucitron/css/theme-parisfr-tac.min.css" >
<script src="themes/skin/parisfr/js/vendor/tarteaucitron/tarteaucitron.min.js"></script>
<!-- Service Mon Paris -->
<script>
tarteaucitron.services.monparis={
"key": "monparis",
"type": "api",
"name": "Mon Paris",
"uri": "https://moncompte.paris.fr",
"readmoreLink": "https://www.paris.fr/pages/cookies-234",
"needconsent": false,
"useExternalCss" : true,
"mandatory": true,
"cookies": ['mcpAuth','JSESSIONID','AUTH_SESSION_ID','KEYCLOAK_IDENTITY','KEYCLOAK_SESSION'],
"js": function () {
"use strict";
// When user allow cookie
},
"fallback": function () {
"use strict";
// when use deny cookie
}
};
tarteaucitron.init({
"bodyPosition": "top",
"privacyUrl": "//www.paris.fr/pages/mentions-legales-235#confidentialite-et-protection-des-donnees", /* Privacy policy url */
"hashtag": "#cookiepolicyparisfr", /* Open the panel with this hashtag */
"cookieName": "cookieparisfr", /* Cookie name */
"orientation": "bottom", /* Banner position (top - bottom) */
"showAlertSmall": false, /* Show the small banner on bottom right */
"cookieslist": true, /* Show the cookie list */
"adblocker": true, /* Show a Warning if an adblocker is detected */
"AcceptAllCta" : true, /* Show the accept all button when highPrivacy on */
"DenyAllCta" : false, /* Show the Deny all button when highPrivacy on */
"highPrivacy": true, /* Disable auto consent */
"handleBrowserDNTRequest": true, /* If Do Not Track == 1, disallow all */
"removeCredit": false, /* Remove credit link */
"moreInfoLink": true, /* Show more info link */
"useExternalCss": true, /* If false, the tarteaucitron.css file will be loaded */
"readmoreLink": "https://www.paris.fr/pages/cookies-234", /* Change the default readmore link */
"mandatory": true, /* Show a message about mandatory cookies */
});
(tarteaucitron.job = tarteaucitron.job || []).push('monparis');
(tarteaucitron.job = tarteaucitron.job || []).push('matomohightrack');
</script>
<p class="lead">
La macro @cConsentTac permet la gestion du consentement en utilisant la librairie
<a href="https://tarteaucitron.io/fr/install/" target="_blank" >
<span class="link-label">TarteAuCitron</span>
</a>
.</p>
<p class="lead">
Vous pouvez cliquer sur le bouton "Cookie" situé en bas à droite de cet écran pour visualiser la fenêtre de gestion des cookies.</p>
Elément @cConsentTac: Gestion des Cookies CNIL ave cla librairie TarteAuCitron - https://tarteaucitron.io/fr /
Les paramètres
  • @param - title - string - optional - le titre du consentement (par défaut: 'Ce site')
  • @param - privacyLink - string - optional - Lien vers la page de protection des données personnelles de Paris.fr (par défaut: '//www.paris.fr/pages/mentions-legales-235#confidentialite-et-protection-des-donnees')
  • @param - denyAll - boolean - optional - Option permettant d'afficher le bouton "Tout refuser" (par défaut: false)
  • @param - cookieMenu - string - optional - Libellé du ien footer pour gérer les cookies (par défaut: 'Gestion des cookies')
  • @param - cookiePolicyLink - string - optional - Lien vers la page Gestion des cookies de Paris.fr. (par défaut: 'https://www.paris.fr/pages/cookies-234')
  • @param - hashtag - string - optional - Identifiant pour modal de gestion du consentement (par défaut: 'cookiepolicyparisfr')
  • @param - cookiename - string - optional - Nom du cookie posé pour le consentement (par défaut: 'cookieparisfr')
  • @param - nocredit - boolean - optional - Option permettant d'afficher les crédit du projet TarteAuCitron (par défaut: false)
Macro cConsentTacService

Un seul attribut "code" qui a par défaut la valeur 'monparis'. Ce code qui permet de déclarer autant de services, 116 à ce jour (Google, Twitter...), TarteAuCitron que nécessaire en fonction des services présent sur le site. Voir la documentation d'installation

Par défaut le fichier "WEB-INF\templates\skin\site\themeparisfr_frameset_footer_js.html" contient deux services, monparis et matomo. Les service Matomo est spécifique à la Ville de Paris. Les identifiants et urls sont gérés par le plugin Matomo. En cas de site non Lutece vous devez supprimer tag freemarker ${matomo} .

Prévisualisation Style guide @cStepper [Nouvelle Fenêtre]

  1. Text example

  2. Text example

  3. Text example

  4. Text example

  5. Text example

  1. Text example

  2. Text example

  3. Text example

  4. Text example

  5. Text example

  1. Text example

  2. Text example

  3. Text example

  4. Text example

  5. Text example

Macro

<#assign lstep = [
{"title":"Text example", "url":"images/fa-battery-0.png", "status":"done"},
{"title":"Text example", "url":"images/fa-battery-1.png", "status":"in-progress"},
{"title":"Text example", "url":"images/fa-battery-2.png"},
{"title":"Text example", "url":"images/fa-battery-3.png"},
{"title":"Text example", "url":"images/fa-battery-4.png"}
]>
<@cStepper lstep />
<#assign lstep2 = [
{"title":"Text example", "url":"images/fa-battery-0.png", "status":"done"},
{"title":"Text example", "url":"images/fa-battery-1.png", "status":"started"},
{"title":"Text example", "url":"images/fa-battery-2.png"},
{"title":"Text example", "url":"images/fa-battery-3.png"},
{"title":"Text example", "url":"images/fa-battery-4.png"}
]>
<@cStepper lstep2 />
<@cStepper lstep2 true/>

Html

<div class="stepper">
<ol class="stepper-list " >
<li class="done">
<div class="idx" data-idx="1" aria-hidden="true">
<svg class="paris-icon paris-icon-check main-color" focusable="false" >
<title>Etape Validée</title>
<use xlink:href="#paris-icon-check"></use>
</svg>
</div>
<p id="step-title-1" class="mt-2">Text example</p>
</li>
<li class="bs-stepper-container">
<div class="bs-stepper-line done"></div>
</li>
<li class="in-progress"aria-current="step">
<div class="idx" data-idx="2" aria-hidden="true">
<span>2</span>
</div>
<p id="step-title-2" class="mt-2">Text example</p>
</li>
<li class="bs-stepper-container">
<div class="bs-stepper-line start"></div>
<div class="bs-stepper-line end"></div>
</li>
<li>
<div class="idx" data-idx="3" aria-hidden="true">
<span>3</span>
</div>
<p id="step-title-3" class="mt-2">Text example</p>
</li>
<li class="bs-stepper-container">
<div class="bs-stepper-line "></div>
</li>
<li>
<div class="idx" data-idx="4" aria-hidden="true">
<span>4</span>
</div>
<p id="step-title-4" class="mt-2">Text example</p>
</li>
<li class="bs-stepper-container">
<div class="bs-stepper-line "></div>
</li>
<li>
<div class="idx" data-idx="5" aria-hidden="true">
<span>5</span>
</div>
<p id="step-title-5" class="mt-2">Text example</p>
</li>
<li class="bs-stepper-container">
<div class="bs-stepper-line "></div>
</li>
</ol>
</div>
<div class="stepper">
<ol class="stepper-list " >
<li class="done">
<div class="idx" data-idx="1" aria-hidden="true">
<svg class="paris-icon paris-icon-check main-color" focusable="false" >
<title>Etape Validée</title>
<use xlink:href="#paris-icon-check"></use>
</svg>
</div>
<p id="step-title-1" class="mt-2">Text example</p>
</li>
<li class="bs-stepper-container">
<div class="bs-stepper-line done"></div>
</li>
<li class="started">
<div class="idx" data-idx="2" aria-hidden="true">
<span>2</span>
</div>
<p id="step-title-2" class="mt-2">Text example</p>
</li>
<li class="bs-stepper-container">
<div class="bs-stepper-line started"></div>
</li>
<li>
<div class="idx" data-idx="3" aria-hidden="true">
<span>3</span>
</div>
<p id="step-title-3" class="mt-2">Text example</p>
</li>
<li class="bs-stepper-container">
<div class="bs-stepper-line "></div>
</li>
<li>
<div class="idx" data-idx="4" aria-hidden="true">
<span>4</span>
</div>
<p id="step-title-4" class="mt-2">Text example</p>
</li>
<li class="bs-stepper-container">
<div class="bs-stepper-line "></div>
</li>
<li>
<div class="idx" data-idx="5" aria-hidden="true">
<span>5</span>
</div>
<p id="step-title-5" class="mt-2">Text example</p>
</li>
<li class="bs-stepper-container">
<div class="bs-stepper-line "></div>
</li>
</ol>
</div>
<div class="stepper">
<ol class="stepper-list " >
<li class="done">
<figure class="p-3" data-idx="1" aria-hidden="true">
<img src="images/fa-battery-0.png" class="img-fluid" title="Text example" alt="Text example" aria-hidden="true">
</figure>
<p id="step-title-1" class="mt-2">Text example</p>
</li>
<li class="bs-stepper-container">
<div class="bs-stepper-line done"></div>
</li>
<li class="started">
<figure class="p-3" data-idx="2" aria-hidden="true">
<img src="images/fa-battery-1.png" class="img-fluid" title="Text example" alt="Text example" aria-hidden="true">
</figure>
<p id="step-title-2" class="mt-2">Text example</p>
</li>
<li class="bs-stepper-container">
<div class="bs-stepper-line started"></div>
</li>
<li>
<figure class="p-3" data-idx="3" aria-hidden="true">
<img src="images/fa-battery-2.png" class="img-fluid" title="Text example" alt="Text example" aria-hidden="true">
</figure>
<p id="step-title-3" class="mt-2">Text example</p>
</li>
<li class="bs-stepper-container">
<div class="bs-stepper-line "></div>
</li>
<li>
<figure class="p-3" data-idx="4" aria-hidden="true">
<img src="images/fa-battery-3.png" class="img-fluid" title="Text example" alt="Text example" aria-hidden="true">
</figure>
<p id="step-title-4" class="mt-2">Text example</p>
</li>
<li class="bs-stepper-container">
<div class="bs-stepper-line "></div>
</li>
<li>
<figure class="p-3" data-idx="5" aria-hidden="true">
<img src="images/fa-battery-4.png" class="img-fluid" title="Text example" alt="Text example" aria-hidden="true">
</figure>
<p id="step-title-5" class="mt-2">Text example</p>
</li>
<li class="bs-stepper-container">
<div class="bs-stepper-line "></div>
</li>
</ol>
</div>
Les paramètres
  • @param - id - string - optional - l'ID du stepper
  • @param - class - string - optional - ajoute une classe CSS au stepper
  • @param - steps - object - required - définit l'objet comprenant les informations pour chaque étape
  • @param - haspicto - string - optional - permet de définir si le stepper doit afficher les images comprises dans l'objet 'steps' (par défaut: false)
  • @param - hasidx - string - optional - affiche un index sous forme de puce sur une étape (par défaut: false)
  • @param - title - string - optional - affiche le contenu de 'title' de l'objet 'steps' avec un style de titre (par défaut: false)
  • @param - showMore - number - optional - Si supérieur à 0 les n premier caractère, chiffre du paramètre, du contenu - attribut titre + content ou content si titre est vrai- seront affiché et un bouton "Voir plus" pour affiché le reste sera ajouté (par défaut: 0)
  • @param - labelMore - number - optional - Libellé du bouton pour afficher le contenu (par défaut: i18n("themeparisfr.labelShowMore"))
  • @param - a11StatusMsg - string - optional - Libellé pour accessibilité inclu un texte de statut masqué
  • @param - params - string - optional - permet d'ajouter des parametres HTML au stepper
Aide

Ce composant est uniquement éditorial et permet de présenter graphiquement des étapes.

Prévisualisation Style guide @cInfoStep [Nouvelle Fenêtre]

  1. Etape Vide

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.

  2. Etape 50%

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.

  3. Etape 100%

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.

  1. Etape Vide

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.

  2. Etape 50%

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.

  3. Etape 100%

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.

  1. Etape Vide

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.

  2. Etape 25%

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.

  3. Etape 50%

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.

  4. Etape 75%

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.

  5. Etape 100%

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.

  1. Etape Vide

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.

  2. Etape 25%

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.

  3. Etape 50%

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.

  4. Etape 75%

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.

  5. Etape 100%

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.

Macro

<#assign lstep1 = [
{"title":"Etape Vide","content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.", "url":"images/icon-placeholder.svg"},
{"title":"Etape 50% ","content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.", "url":"images/icon-placeholder.svg"},
{"title":"Etape 100%","content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.", "url":"images/icon-placeholder.svg"}
]>
<#assign lstep2 = [
{"title":"Etape Vide","content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod."},
{"title":"Etape 50% ","content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod."},
{"title":"Etape 100%","content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod."}
]>
<#assign lstep3 = [
{"title":"Etape Vide", "content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.", "url":"images/icon-placeholder.svg"},
{"title":"Etape 25% ", "content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.", "url":"images/icon-placeholder.svg"},
{"title":"Etape 50% ", "content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.", "url":"images/icon-placeholder.svg"},
{"title":"Etape 75% ", "content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.", "url":"images/icon-placeholder.svg"},
{"title":"Etape 100%", "content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.", "url":"images/icon-placeholder.svg"}
]>
<#assign lstep4 = [
{"title":"Etape Vide", "content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod."},
{"title":"Etape 25% ", "content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod."},
{"title":"Etape 50% ", "content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod."},
{"title":"Etape 75% ", "content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod."},
{"title":"Etape 100%", "content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod."}
]>
<@cInfoStep steps=lstep1 haspicto=true title=true />
<@cInfoStep steps=lstep2 title=true />
<@cInfoStep steps=lstep3 haspicto=true title=true verticalStepper=true />
<@cInfoStep steps=lstep4 title=true verticalStepper=true />

Html

<div class="container">
<div class="row ">
<div class="col ">
<div class="c-info-step-wrapper stepper-horizontal c-info-step-default" >
<ol class="c-info-step-icons d-none d-md-flex">
<li class="c-info-step-icons__item">
<figure >
<img src="images/icon-placeholder.svg" class="img-fluid" title="Etape Vide" alt="Etape Vide" aria-hidden="true">
</figure>
</li>
<li class="c-info-step-icons__item">
<figure >
<img src="images/icon-placeholder.svg" class="img-fluid" title="Etape 50% " alt="Etape 50% " aria-hidden="true">
</figure>
</li>
<li class="c-info-step-icons__item">
<figure >
<img src="images/icon-placeholder.svg" class="img-fluid" title="Etape 100%" alt="Etape 100%" aria-hidden="true">
</figure>
</li>
</ol>
<ol class="c-info-step" >
<li class="c-info-step__item">
<div class="c-info-step__icon d-md-none">
<figure class="mb-0">
<img src="images/icon-placeholder.svg" class="img-fluid" title="Etape Vide" alt="Etape Vide" aria-hidden="true">
</figure>
</div>
<div class="c-info-step__content">
<h3 class="c-info-step__title">Etape Vide</h3>
<p class="c-info-step__desc mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
</div>
</li>
<li class="c-info-step__item">
<div class="c-info-step__icon d-md-none">
<figure class="mb-0">
<img src="images/icon-placeholder.svg" class="img-fluid" title="Etape 50% " alt="Etape 50% " aria-hidden="true">
</figure>
</div>
<div class="c-info-step__content">
<h3 class="c-info-step__title">Etape 50% </h3>
<p class="c-info-step__desc mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
</div>
</li>
<li class="c-info-step__item">
<div class="c-info-step__icon d-md-none">
<figure class="mb-0">
<img src="images/icon-placeholder.svg" class="img-fluid" title="Etape 100%" alt="Etape 100%" aria-hidden="true">
</figure>
</div>
<div class="c-info-step__content">
<h3 class="c-info-step__title">Etape 100%</h3>
<p class="c-info-step__desc mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
</div>
</li>
</ol>
</div>
<script>
$(window).resize(function(){
const width = $(window).width();
if( width <= 767 ){
$('.c-info-step-default').removeClass('stepper-horizontal').addClass('stepper-vertical');
}
else{
$('.c-info-step-default').removeClass('stepper-vertical').addClass('stepper-horizontal');
}
}).resize();
</script>
</div>
</div>
<div class="row ">
<div class="col ">
<div class="c-info-step-wrapper stepper-horizontal c-info-step-default" >
<ol class="c-info-step" >
<li class="c-info-step__item">
<div class="c-info-step__content">
<h3 class="c-info-step__title">Etape Vide</h3>
<p class="c-info-step__desc mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
</div>
</li>
<li class="c-info-step__item">
<div class="c-info-step__content">
<h3 class="c-info-step__title">Etape 50% </h3>
<p class="c-info-step__desc mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
</div>
</li>
<li class="c-info-step__item">
<div class="c-info-step__content">
<h3 class="c-info-step__title">Etape 100%</h3>
<p class="c-info-step__desc mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
</div>
</li>
</ol>
</div>
<script>
$(window).resize(function(){
const width = $(window).width();
if( width <= 767 ){
$('.c-info-step-default').removeClass('stepper-horizontal').addClass('stepper-vertical');
}
else{
$('.c-info-step-default').removeClass('stepper-vertical').addClass('stepper-horizontal');
}
}).resize();
</script>
</div>
</div>
<div class="row ">
<div class="col ">
<div class="c-info-step-wrapper stepper-vertical" >
<ol class="c-info-step" >
<li class="c-info-step__item">
<div class="c-info-step__icon">
<figure class="mb-0">
<img src="images/icon-placeholder.svg" class="img-fluid" title="Etape Vide" alt="Etape Vide" aria-hidden="true">
</figure>
</div>
<div class="c-info-step__content">
<h3 class="c-info-step__title">Etape Vide</h3>
<p class="c-info-step__desc mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
</div>
</li>
<li class="c-info-step__item">
<div class="c-info-step__icon">
<figure class="mb-0">
<img src="images/icon-placeholder.svg" class="img-fluid" title="Etape 25% " alt="Etape 25% " aria-hidden="true">
</figure>
</div>
<div class="c-info-step__content">
<h3 class="c-info-step__title">Etape 25% </h3>
<p class="c-info-step__desc mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
</div>
</li>
<li class="c-info-step__item">
<div class="c-info-step__icon">
<figure class="mb-0">
<img src="images/icon-placeholder.svg" class="img-fluid" title="Etape 50% " alt="Etape 50% " aria-hidden="true">
</figure>
</div>
<div class="c-info-step__content">
<h3 class="c-info-step__title">Etape 50% </h3>
<p class="c-info-step__desc mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
</div>
</li>
<li class="c-info-step__item">
<div class="c-info-step__icon">
<figure class="mb-0">
<img src="images/icon-placeholder.svg" class="img-fluid" title="Etape 75% " alt="Etape 75% " aria-hidden="true">
</figure>
</div>
<div class="c-info-step__content">
<h3 class="c-info-step__title">Etape 75% </h3>
<p class="c-info-step__desc mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
</div>
</li>
<li class="c-info-step__item">
<div class="c-info-step__icon">
<figure class="mb-0">
<img src="images/icon-placeholder.svg" class="img-fluid" title="Etape 100%" alt="Etape 100%" aria-hidden="true">
</figure>
</div>
<div class="c-info-step__content">
<h3 class="c-info-step__title">Etape 100%</h3>
<p class="c-info-step__desc mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
</div>
</li>
</ol>
</div>
</div>
<div class="col ">
<div class="c-info-step-wrapper stepper-vertical" >
<ol class="c-info-step" >
<li class="c-info-step__item">
<div class="c-info-step__content">
<h3 class="c-info-step__title">Etape Vide</h3>
<p class="c-info-step__desc mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
</div>
</li>
<li class="c-info-step__item">
<div class="c-info-step__content">
<h3 class="c-info-step__title">Etape 25% </h3>
<p class="c-info-step__desc mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
</div>
</li>
<li class="c-info-step__item">
<div class="c-info-step__content">
<h3 class="c-info-step__title">Etape 50% </h3>
<p class="c-info-step__desc mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
</div>
</li>
<li class="c-info-step__item">
<div class="c-info-step__content">
<h3 class="c-info-step__title">Etape 75% </h3>
<p class="c-info-step__desc mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
</div>
</li>
<li class="c-info-step__item">
<div class="c-info-step__content">
<h3 class="c-info-step__title">Etape 100%</h3>
<p class="c-info-step__desc mb-0">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
</div>
</li>
</ol>
</div>
</div>
</div>
</div>
Les paramètres
  • @param - id - string - optional - l'ID du stepper
  • @param - class - string - optional - ajoute une classe CSS au stepper
  • @param - steps - object - required - définit l'objet comprenant les informations pour chaque étape du stepper
  • @param - haspicto - string - optional - permet de définir si le stepper doit afficher les images comprises dans l'objet 'steps' (par défaut: false)
  • @param - title - string - optional - affiche le contenu de 'title' de l'objet 'steps' avec un style de titre (par défaut: false)
  • @param - verticalStepper - boolean - optional - permet d'afficher le stepper à la verticale (par défaut: false)
  • @param - imgClass - string - optional - permet d'ajouter une classe css pour les icones du stepper
  • @param - params - string - optional - permet d'ajouter des parametres HTML au stepper
Aide

Ce composant est uniquement éditorial et permet de présenter graphiquement des étapes.

La précédente version de l'InfoStep est disponible en utilisant la macro cInfoStepOld

Macro

<@cForm>
<@cText><@cLink label='Visualiser un formulaire complet' href='jsp/site/Portal.jsp?page_id=8' /></@cText>
</@cForm>

Html

<form method="post">
<p>
<a href="jsp/site/Portal.jsp?page_id=8" >
<span class="link-label">Visualiser un formulaire complet</span>
</a>
</p>
</form>
Les paramètres
  • @param - id - string - optional - l'ID du formulaire
  • @param - class - string - optional - ajoute une classe CSS au formulaire
  • @param - method - string - optional - permet de définir la valeur de l'attribut 'method' du formulaire (par défaut: 'post')
  • @param - name - string - optional - permet de définir la valeur de l'attribut 'name' du formulaire
  • @param - role - string - optional - permet de définir la valeur de l'attribut 'aria-label' du formulaire
  • @param - action - string - optional - permet de définir l'url de l'action du formulaire
  • @param - params - string - optional - permet d'ajouter des parametres HTML au formulaire

Prévisualisation Style guide @cFormRow [Nouvelle Fenêtre]

Une ligne de Formulaire...

Macro

<@cFormRow>
    <@cCol>
      <@cText><@cLink label='Visualiser un formulaire complet' href='jsp/site/Portal.jsp?page_id=8' /></@cText>
    </@cCol>
</@cFormRow>

Html

<div class="form-row">
<div class="col ">
<p>
Une ligne de Formulaire... </p>
</div>
</div>
Les paramètres
  • @param - id - string - optional - l'ID de la ligne de formulaire
  • @param - class - string - optional - ajoute une classe CSS à la ligne de formulaire
  • @param - params - string - optional - permet d'ajouter des parametres HTML à la ligne de formulaire

Prévisualisation Style guide @cField [Nouvelle Fenêtre]

Saisir un code de réduction

Bloc Adresse

Commencez à saisir votre adresse pour sélectionner parmi les propositions

Macro

<@cFormRow>
    <@cCol>
        <@cField label='Code de réduction' for='reduc' required=false>
            <@cInput name='reduc' placeholder='Exemple: A256' />
            <@cFormHelp id='reduc' label='Saisir un code de réduction' />
        </@cField>
    </@cCol>
</@cFormRow>
<@cFieldset legend='Bloc Adresse'>
<@cFormRow>
    <@cCol cols="12 col-sm-6">
        <@cField label='Prénom' for='firstName' required=true>
            <@cInput name='firstName' placeholder='Entrez le prénom' value='Martine' />
        </@cField>
    </@cCol>
    <@cCol cols="12 col-sm-6">
        <@cField label='Nom' for='lastName125' required=true>
            <@cInput name='lastName125' placeholder='Entrez le nom' value='DUPONTEL' />
        </@cField>
    </@cCol>
</@cFormRow>
<@cFormRow>
    <@cCol cols="12">
        <@cField label='Numéro et libellé de la voie' for='adresseVoie' required=true>
            <@cFormHelp id='reduc' label='Commencez à saisir votre adresse pour sélectionner parmi les propositions' />
            <@cInput name='adresseVoie' placeholder='Entrez le numéro et libellé de la voie' value='65 RUE PIERRE SEMARD' />
        </@cField>
    </@cCol>
</@cFormRow>
<@cFormRow>
    <@cCol cols="12">
        <@cField label='Complément d’adresse' for='adresseComplement' required=false>
            <@cInput name='adresseComplement' placeholder='Ex: ENTREE B RESIDENCE LES IRIS' />
        </@cField>
    </@cCol>
</@cFormRow>
<@cFormRow>
    <@cCol cols="12">
        <@cField label='Boîte postale ou lieu dit' for='adresseBP' required=false>
            <@cInput name='adresseBP' placeholder='Entrez la boîte postale ou lieu dit' value='BP 75' />
        </@cField>
    </@cCol>
</@cFormRow>
<@cFormRow>
    <@cCol cols="2">
        <@cField label='Code postal' for='adresseCode' required=true>
            <@cInput name='adresseCode' placeholder='Exemple: 75020' value='75012' />
        </@cField>
    </@cCol>
    <@cCol cols="10">
        <@cField label='Commune' for='adresseVille' required=true>
            <@cInput name='adresseVille' placeholder='Exemple: Paris' value='Paris' />
        </@cField>
    </@cCol>
</@cFormRow>
</@cFieldset>

Html

<form method="post">
<div class="form-row">
<div class="col ">
<div class="form-group ">
<label class="" for="reduc">
Code de réduction
</label>
<input type="text" class=" form-control" name="reduc" id="reduc" value="" placeholder="Exemple: A256">
<p class="form-text " id="help_reduc">
Saisir un code de réduction</p>
</div>
</div>
</div>
<fieldset id="fieldset-717" role="group" aria-labelledby="legend-717">
<legend id="legend-717" >Bloc Adresse</legend>
<div class="form-row">
<div class="col-12 col-sm-6 ">
<div class="form-group ">
<label class="" for="firstName">
Prénom &nbsp;<span class="main-danger-color" tabindex="-1" title="Obligatoire">*</span>
</label>
<input type="text" class=" form-control" name="firstName" id="firstName" value="Martine" placeholder="Entrez le prénom">
</div>
</div>
<div class="col-12 col-sm-6 ">
<div class="form-group ">
<label class="" for="lastName126">
Nom &nbsp;<span class="main-danger-color" tabindex="-1" title="Obligatoire">*</span>
</label>
<input type="text" class=" form-control" name="lastName126" id="lastName126" value="DUPONTEL" placeholder="Entrez le nom">
</div>
</div>
</div>
<div class="form-row">
<div class="col-12 ">
<div class="form-group ">
<label class="" for="adresseVoie">
Numéro et libellé de la voie &nbsp;<span class="main-danger-color" tabindex="-1" title="Obligatoire">*</span>
</label>
<p class="form-text " id="help_reduc">
Commencez à saisir votre adresse pour sélectionner parmi les propositions</p>
<input type="text" class=" form-control" name="adresseVoie" id="adresseVoie" value="65 RUE PIERRE SEMARD" placeholder="Entrez le numéro et libellé de la voie">
</div>
</div>
</div>
<div class="form-row">
<div class="col-12 ">
<div class="form-group ">
<label class="" for="adresseComplement">
Complément d’adresse
</label>
<input type="text" class=" form-control" name="adresseComplement" id="adresseComplement" value="" placeholder="Ex: ENTREE B RESIDENCE LES IRIS">
</div>
</div>
</div>
<div class="form-row">
<div class="col-12 ">
<div class="form-group ">
<label class="" for="adresseBP">
Boîte postale ou lieu dit
</label>
<input type="text" class=" form-control" name="adresseBP" id="adresseBP" value="BP 75" placeholder="Entrez la boîte postale ou lieu dit">
</div>
</div>
</div>
<div class="form-row">
<div class="col-2 ">
<div class="form-group ">
<label class="" for="adresseCode">
Code postal &nbsp;<span class="main-danger-color" tabindex="-1" title="Obligatoire">*</span>
</label>
<input type="text" class=" form-control" name="adresseCode" id="adresseCode" value="75012" placeholder="Exemple: 75020">
</div>
</div>
<div class="col-10 ">
<div class="form-group ">
<label class="" for="adresseVille">
Commune &nbsp;<span class="main-danger-color" tabindex="-1" title="Obligatoire">*</span>
</label>
<input type="text" class=" form-control" name="adresseVille" id="adresseVille" value="Paris" placeholder="Exemple: Paris">
</div>
</div>
</div>
</fieldset>
</form>
Les paramètres
  • @param - id - string - optional - l'ID du champs de formulaire
  • @param - class - string - optional - ajoute une classe CSS au champs de formulaire
  • @param - label - string - optional - définit le libellé du champs de formulaire
  • @param - labelClass - string - optional - permet d'ajouter une classe CSS au libellé du champs de formulaire
  • @param - labelData - string - optional - permet d'ajouter du texte supplémentaire en fin de libellé du champs de formulaire
  • @param - for - string - optional - permet de définir le lien entre le libellé et le champ, à répéter dans la macro @cInput
  • @param - showLabel - boolean - optional - permet d'afficher le label (par défaut: true)
  • @param - required - boolean - optional - permet d'indiquer si le champs est obligatoire, ajoute le libellé '(facultatif)' si false (par défaut: false)
  • @param - params - string - optional - permet d'ajouter des parametres HTML au champs de formulaire

Prévisualisation Style guide @cFieldSet [Nouvelle Fenêtre]

Etat-civil
Etat-civil 2
Etat-civil 3

Macro

<@cForm>
<@cFieldset legend='Etat-civil'>
<@cFormRow>
    <@cCol cols="12 col-sm-6">
        <@cField label='Prénom' for='firstNameF1' required=true>
            <@cInput name='firstNameF1' placeholder='Entrez le prénom' value='Martine' />
        </@cField>
    </@cCol>
    <@cCol cols="12 col-sm-6">
        <@cField label='Nom' for='lastNameF1' required=true>
            <@cInput name='lastNameF1' placeholder='Entrez le nom' value='DUPONTEL' />
        </@cField>
    </@cCol>
</@cFormRow>
</@cFieldset>
<@cFieldset legend='Etat-civil 2' class='mt-l' showLabel=false>
<@cFormRow>
    <@cCol cols="12 col-sm-6">
        <@cField label='Prénom' for='firstNameF2' required=true>
            <@cInput name='firstNameF2' placeholder='Entrez le prénom' value='Martine' />
        </@cField>
    </@cCol>
    <@cCol cols="12 col-sm-6">
        <@cField label='Nom' for='lastNameF2' required=true>
            <@cInput name='lastNameF2' placeholder='Entrez le nom' value='DUPONTEL' />
        </@cField>
    </@cCol>
</@cFormRow>
</@cFieldset>
<@cFieldset legend='Etat-civil 3' class='mt-l' legendClass='is-invalide' >
<@cFormRow>
    <@cCol cols="12 col-sm-6">
        <@cField label='Prénom' for='firstNameF3' required=true>
            <@cInput name='firstNameF3' placeholder='Entrez le prénom' value='Martine' />
        </@cField>
    </@cCol>
    <@cCol cols="12 col-sm-6">
        <@cField label='Nom' for='lastNameF3' required=true>
            <@cInput name='lastNameF3' placeholder='Entrez le nom' value='DUPONTEL' />
        </@cField>
    </@cCol>
</@cFormRow>
</@cFieldset>
</@cForm>

Html

<form method="post">
<fieldset id="fieldset-fs1" role="group" aria-labelledby="legend-fs1">
<legend id="legend-fs1" >Etat-civil</legend>
<div class="form-row">
<div class="col-12 col-sm-6 ">
<div class="form-group ">
<label class="" for="firstNameF1">
Prénom &nbsp;<span class="main-danger-color" tabindex="-1" title="Obligatoire">*</span>
</label>
<input type="text" class=" form-control" name="firstNameF1" id="firstNameF1" value="Martine" placeholder="Entrez le prénom">
</div>
</div>
<div class="col-12 col-sm-6 ">
<div class="form-group ">
<label class="" for="lastNameF1">
Nom &nbsp;<span class="main-danger-color" tabindex="-1" title="Obligatoire">*</span>
</label>
<input type="text" class=" form-control" name="lastNameF1" id="lastNameF1" value="DUPONTEL" placeholder="Entrez le nom">
</div>
</div>
</div>
</fieldset>
<fieldset class="mt-l" id="fieldset-fs2" role="group" aria-labelledby="legend-fs2">
<legend class=" sr-only" id="legend-fs2" >Etat-civil 2</legend>
<div class="form-row">
<div class="col-12 col-sm-6 ">
<div class="form-group ">
<label class="" for="firstNameF2">
Prénom &nbsp;<span class="main-danger-color" tabindex="-1" title="Obligatoire">*</span>
</label>
<input type="text" class=" form-control" name="firstNameF2" id="firstNameF2" value="Martine" placeholder="Entrez le prénom">
</div>
</div>
<div class="col-12 col-sm-6 ">
<div class="form-group ">
<label class="" for="lastNameF2">
Nom &nbsp;<span class="main-danger-color" tabindex="-1" title="Obligatoire">*</span>
</label>
<input type="text" class=" form-control" name="lastNameF2" id="lastNameF2" value="DUPONTEL" placeholder="Entrez le nom">
</div>
</div>
</div>
</fieldset>
<fieldset class="mt-l" id="fieldset-fs3" role="group" aria-labelledby="legend-fs3">
<legend class="is-invalide" id="legend-fs3" >Etat-civil 3</legend>
<div class="form-row">
<div class="col-12 col-sm-6 ">
<div class="form-group ">
<label class="" for="firstNameF3">
Prénom &nbsp;<span class="main-danger-color" tabindex="-1" title="Obligatoire">*</span>
</label>
<input type="text" class=" form-control" name="firstNameF3" id="firstNameF3" value="Martine" placeholder="Entrez le prénom">
</div>
</div>
<div class="col-12 col-sm-6 ">
<div class="form-group ">
<label class="" for="lastName">
Nom &nbsp;<span class="main-danger-color" tabindex="-1" title="Obligatoire">*</span>
</label>
<input type="text" class=" form-control" name="lastName" id="lastName" value="DUPONTEL" placeholder="Entrez le nom">
</div>
</div>
</div>
</fieldset>
</form>
Les paramètres
  • @param - legend - string - optional - définit le libellé de la légende du fieldset
  • @param - legendClass - string - optional - permet d'ajouter une classe CSS à la légende du fieldset
  • @param - id - string - optional - l'ID du fieldset
  • @param - class - string - optional - ajoute une classe CSS au fieldset
  • @param - for - string - optional - permet de définir le lien entre le fieldset et l'ID précisé
  • @param - showLabel - boolean - optional - permet d'afficher la légende (par défaut: true)
  • @param - required - boolean - optional - permet d'indiquer si le ou les champs contenu dans le fieldset sont obligatoires.
  • @param - params - string - optional - permet d'ajouter des parametres HTML au champs de formulaire

Prévisualisation Style guide @cInput [Nouvelle Fenêtre]

Saisir mon nom

Saisir mon prénom

Saisir une information

Information example

Macro

<@cFormRow>
    <@cCol>
        <@cLabel label='Nom' for='name' />
        <@cInput name='name' type='text' value='Dupont' helpMsg='Saisir mon nom' />
    </@cCol>
</@cFormRow>
<@cFormRow>
    <@cCol>
        <@cLabel label='Prénom' for='name2' />
        <@cInput name='name2' type='text' placeholder='Exemple: Jean Yves' helpMsg='Saisir mon prénom' />
    </@cCol>
</@cFormRow>
<@cFormRow>
    <@cCol>
        <@cLabel label='Informations' for='info' params='data-info="information"' />
        <@cInput name='info' type='text' placeholder='Exemple: Choisir une place' helpMsg='Saisir une information' />
    </@cCol>
</@cFormRow>
<@cFormRow>
    <@cCol>
        <@cLabel label='Numéro de téléphone' for='numeroTel' />
        <@cInput name='numeroTel' type='tel' placeholder='Ex : 06 38 49 40 02' helpMsg='Information example' />
    </@cCol>
</@cFormRow>
<@cFormRow>
    <@cCol class='4'>
        <@cInputDate id='datepicker_0' label='Date avec date picker' name='name3' value=.now?date?iso_utc />
    </@cCol>
</@cFormRow>

Html

<form method="post">
<div class="form-row">
<div class="col ">
<label class="" for="namei">
Nom
</label>
<p class="form-text " id="help_namei">
Saisir mon nom</p>
<input type="text" class=" form-control" name="namei" id="namei" value="Dupont" aria-describedby="help_namei">
</div>
</div>
<div class="form-row">
<div class="col ">
<label class="" for="surnamei">
Prénom
</label>
<p class="form-text " id="help_surnamei">
Saisir mon prénom</p>
<input type="text" class=" form-control" name="surnamei" id="surnamei" value="" placeholder="Exemple: Jean Yves" aria-describedby="help_surnamei">
</div>
</div>
<div class="form-row">
<div class="col-3 ">
<label class="" for="nbd">
Nombre enfants
</label>
<input type="number" class=" form-control" name="nbd" id="nbd" value="0">
</div>
</div>
<div class="form-row">
<div class="col ">
<label class="" for="info" data-info="information">
Informations
</label>
<p class="form-text " id="help_info">
Saisir une information</p>
<input type="text" class=" form-control" name="info" id="info" value="" placeholder="Exemple: Choisir une place" aria-describedby="help_info">
</div>
</div>
<div class="form-row">
<div class="col ">
<label class="" for="numeroTel">
Numéro de téléphone
</label>
<p class="form-text " id="help_numeroTel">
Information example</p>
<input type="tel" class=" form-control fr-number" name="numeroTel" id="numeroTel" value="" placeholder="Ex : 06 38 49 40 02" aria-describedby="help_numeroTel">
<script>
$(document).ready(function(){
$('.fr-number').blur(function(){
var num = $(this).val();
var numFormatte = num
.replace(/^0(\d)(\s?)(\d{2})(\s?)(\d{2})(\s?)(\d{2})(\s?)(\d{2})$/, '+33 $1 $3 $5 $7 $9')
.replace(/^\+33(\d{9})$/, function(match, p1) {
return '+33 ' + p1.replace(/(\d)(\d{2})(\d{2})(\d{2})(\d{2})/, '$1 $2 $3 $4 $5');
});
$(this).val(numFormatte);
});
});
</script>
</div>
</div>
<div class="form-row">
<div class="col-4 ">
<label class="" for="datepicker_0">
Date avec date picker
</label>
<div class="input-group">
<input type="text" class=" form-control" name="name3" id="datepicker_0" value="2024-12-13">
<div class="input-group-append">
<div class="input-group-text">
<svg class="paris-icon paris-icon-agenda" id="datepicker_0" focusable="false" >
<use xlink:href="#paris-icon-agenda"></use>
</svg>
</div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', (e) => {
const customOptions = { };
const themeOptions = {};
let showFormat=getDatePickerDateFormat( navigator.language );
let dataFormat='yyyy-m-d 00:00:00' // Default for most DB;
const defaultOptions = {
autohide: true,
buttonClass: 'btn',
dataFormat: dataFormat,
dateDelimiter: '|', // Delimiter for mutlidate
daysOfWeekDisabled: [],
defaultViewDate: 'today',
clearButton: true,
enableReadOnly: true,
format: showFormat,
language: `${navigator.language.split('-')[0]}`,
minDate: null,
maxDate: null,
maxNumberOfDate: 1,
nextArrow: '<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_6399_3183)"><path d="M15.5151 13.4729L10.1484 8.10621L12.3093 5.94531L19.8369 13.4729L12.3093 21.0004L10.1484 18.8395L15.5151 13.4729Z" fill="#071F32"/></g><defs><clipPath id="clip0_6399_3183"><rect width="28" height="28" fill="white" transform="translate(28 28) rotate(180)"/></clipPath></defs></svg>',
orientation: 'auto',
prevArrow: '<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_6399_4241)"><path d="M12.4849 14.5271L17.8516 19.8938L15.6907 22.0547L8.16309 14.5271L15.6907 6.99955L17.8516 9.16045L12.4849 14.5271Z" fill="#071F32"/></g><defs><clipPath id="clip0_6399_4241"><rect width="28" height="28" fill="white"/></clipPath></defs></svg>',
picklevel: 0, // 0 - Days 1 - Month, 2 - Year, 3 - Decade
showDaysOfWeek: true,
showOnClick: true,
showOnFocus: true,
startView: 0, // 0 - Days 1 - Month, 2 - Year, 3 - Decade
title: '',
todayButton: false,
todayButtonMode: 0, // 0 - Focus , 1 - Select
todayHighlight: true,
updateOnBlur: true,
weekNumbers: 0, // 0 – None, 1 – ISO 8601, 2 – Western traditional, 3 – Middle Eastern, 4 – Guess from weekStart
weekStart: 1,
}
const elemdatepicker_0 = document.querySelector('#datepicker_0')
const dtOptionsdatepicker_0 = setDatePickerOptions( themeOptions, customOptions, defaultOptions )
let datepickerdatepicker_0 = new themeParisFrDatepicker( elemdatepicker_0, dtOptionsdatepicker_0 );
});
</script>
</div>
</div>
</form>
Les paramètres
  • @param - id - string - optional - l'ID du champs de formulaire
  • @param - class - string - optional - ajoute une classe CSS au champs de formulaire (par défaut: 'form-control')
  • @param - name - string - required - permet de définir la valeur de l'attribut 'name' du champs du formulaire
  • @param - type - string - optional - permet de définir la valeur de l'attribut 'type' du champs du formulaire
  • @param - size - string - optional - permet d'ajouter un suffixe à la classe CSS 'form-control'
  • @param - value - string - optional - permet de définir la valeur par défaut du champs du formulaire
  • @param - placeholder - string - optional - permet de définir la valeur de l'attribut 'placeholder' du champs du formulaire
  • @param - phoneCountry - string - optional - En complément de l'attribut type à la valeur 'tel', permet de formatter le numéro de téléphone entré au format du pays. Actuellement, seul le format français est pris en charge (+33 X XX XX XX XX). (par défaut: 'FR')
  • @param - required - boolean - optional - permet d'indiquer si le champs est obligatoire (par défaut: false)
  • @param - disabled - boolean - optional - permet d'indiquer si le champs est desactivé (par défaut: false)
  • @param - readonly - boolean - optional - permet d'indiquer si le champs est lecture seule (par défaut: false)
  • @param - pattern - string - optional - permet de saisir une expression réguliére pour contrôler le champs
  • @param - accept - string - optional - permet de définir l'attribut 'accept' pour les types de fichiers du champs
  • @param - title - string - optional - permet de définir l'attribut 'title' du champs
  • @param - maxlength - number - optional - permet de saisir une limitation de taille de valeur saisie (par défaut: 0)
  • @param - min - number - optional - permet de saisir une valeur minimale pour les champs de type number (par défaut: 0)
  • @param - max - number - optional - permet de saisir une valeur maximale pour les champs de type number (par défaut: 0)
  • @param - title - string - optional - permet de définir l'attribut 'list' du champs
  • @param - datalistId - string - optional - permet de définir l'attribut 'list' du champs
  • @param - datalist - string - optional - permet de définir la balise 'datalist' du champs
  • @param - helpMsg - string - optional - permet de définir le message d'aide du champs
  • @param - errorMsg - string - optional - permet de définir le message d'erreur du champs
  • @param - params - string - optional - permet d'ajouter des parametres HTML au champs de formulaire

Macro

<@cFormRow>
  <@cCol>
      <@cLabel label='Mot de Passe' for='password1' />
      <@cInput name='password1' type='password' />
  </@cCol>
</@cFormRow>

Html

<div class="form-row">
<div class="col ">
<label class="" for="pass">
Mot de Passe
</label>
<input type="password" class=" form-control" name="pass" id="pass" value="">
</div>
</div>
Les paramètres
  • @param - id - string - optional - l'ID du label
  • @param - class - string - optional - ajoute une classe CSS au label
  • @param - label - string - required - définit le libellé du label
  • @param - for - string - optional - permet de définir le lien entre le label et le champ, à répéter dans la macro @cInput
  • @param - showLabel - boolean - optional - permet d'afficher le label (par défaut: true)
  • @param - required - boolean - optional - permet d'indiquer si le champs est obligatoire, ajoute le libellé '(facultatif)' si false (par défaut: false)
  • @param - params - string - optional - permet d'ajouter des parametres HTML au label

Macro

<@cFormHelp id='field' label='Aide' />

Html

<div class="form-row">
<div class="col ">
<p class="form-text " id="help_field">
Aide</p>
<input type="text" class=" form-control" name="name2" id="name2" value="" placeholder="Exemple: Jean Yves">
</div>
</div>
Les paramètres
  • @param - id - string - required - l'ID du message d'aide correspondant au champs afférent
  • @param - class - string - optional - ajoute une classe CSS au message d'aide
  • @param - label - string - required - définit le libellé du message d'aide
  • @param - params - string - optional - permet d'ajouter des parametres HTML au message d'aide

Macro

<@cFormRow>
    <@cCol>
        <@cLabel label='Prénom' for='formError' />
        <@cFormError id='field' label='Erreur' />
        <@cInput name='name3' type='text' placeholder='Exemple: Jean Yves' id='formError' class='form-control is-invalide' />
    </@cCol>
</@cFormRow>

Html

<div class="form-row">
<div class="col ">
<label class="" for="formError">
Prénom
</label>
<p class="invalid-feedback" id="error_field" role="alert">
<svg class="paris-icon paris-icon-alert-error main-danger-color" focusable="false" >
<use xlink:href="#paris-icon-alert-error"></use>
</svg>
Erreur</p>
<input type="text" class=" form-control is-invalide" name="name4" id="formError" value="" placeholder="Exemple: Jean Yves">
</div>
</div>
Les paramètres
  • @param - id - string - required - l'ID du message d'erreur correspondant au champs afférent
  • @param - class - string - optional - ajoute une classe CSS au message d'erreur
  • @param - label - string - required - définit le libellé du message d'erreur
  • @param - params - string - optional - permet d'ajouter des parametres HTML au message d'erreur

Prévisualisation Style guide @cQuantityPicker [Nouvelle Fenêtre]

Information exemple

Macro

<@cFormRow>
    <@cCol>
        <@cLabel label='Quantité' for='quantity' />
        <@cQuantityPicker name='quantity' minQty='0' maxQty='10' helpMsg='Information exemple' />
    </@cCol>
</@cFormRow>

Html

<div class="form-row">
<div class="col ">
<label class="" for="quantity">
Quantité
</label>
<p class="form-text " id="help_quantity">
Information exemple</p>
<div class="quantity-picker d-flex ">
<div class="input-group w-auto">
<div class="input-group-append">
<button class="btn btn-secondary quantity-btn decrement-quantity" type="submit"aria-label='Retirer une unité' data-direction='-1' disabled>
<span class="btn-label ">&#8722;</span>
</button>
</div>
<input type="number" class=" form-control quantity-input" name="quantity" id="quantity" value="0" data-min='0' data-max='10'>
<div class="input-group-append">
<button class="btn btn-secondary quantity-btn increment-quantity" type="submit"aria-label='Ajouter une unité' data-direction='1'>
<span class="btn-label ">&#43;</span>
</button>
</div>
</div>
</div>
<script>
$(document).on("click", "button", function(ev) {
var parentDiv = $(this).closest('.quantity-picker');
var $input = parentDiv.find('input[name="quantity"]');
var currentQty = parseInt($input.val());
var qtyDirection = $(this).data("direction");
var newQty = currentQty + qtyDirection;
var minQty = parseInt($input.data("min"));
var maxQty = parseInt($input.data("max"));
newQty = Math.max(minQty, Math.min(maxQty, newQty));
parentDiv.find(".decrement-quantity").prop("disabled", newQty === minQty);
parentDiv.find(".increment-quantity").prop("disabled", newQty === maxQty);
$input.val(newQty);
});
$(document).on("blur", 'input[name="quantity"]', function(ev) {
var $input = $(this);
var parentDiv = $input.closest('.quantity-picker');
var minQty = parseInt($input.data("min"));
if ($input.val().trim() === "") {
$input.val(minQty);
parentDiv.find(".decrement-quantity").prop("disabled", true);
}
});
</script>
</div>
</div>
Les paramètres
  • @param - name - string - required - permet de définir la valeur de l'attribut 'name' du champs
  • @param - minQty - number - optional - permet de définir la valeur minimal selectionnable par l'utilisateur (par défaut: 0)
  • @param - maxQty - number - optional - permet de définir la valeur maximale selectionnable par l'utilisateur (par défaut: 10)
  • @param - disabled - boolean - optional - permet d'indiquer si le champs est desactivé (par défaut: false)
  • @param - helpMsg - string - optional - permet de définir le message d'aide du champs
  • @param - errorMsg - string - optional - permet de définir le message d'erreur du champs

Prévisualisation Style guide @cInputGroup [Nouvelle Fenêtre]

8 caractères une majuscule un chiffre

Information exemple

Macro

<@cFormRow>
    <@cCol class='2'>
        <@cLabel label='Tarif' for='tarif' />
        <@cInputGroup>
            <@cInput name='tarif' value='15' />
            <@cInputGroupAddon addonText='&euro;' />
        </@cInputGroup>
    </@cCol>
</@cFormRow>
<@cFormRow>
    <@cCol class='8'>
        <@cLabel label='Mot de passe' for='pass1' />
        <@cInputGroup>
            <@cInput name='pass1' type='password' value='Ajoho56' />
            <@cInputGroupAddon class='toggle-password'>
                <@cInputGroupAddonText tag='div'>
                    <@parisIcon 'eye' 'Mot de Passe' />
                </@cInputGroupAddonText>
            </@cInputGroupAddon>
        </@cInputGroup>
        <@cPasswordCheck id='pass' />
    </@cCol>
</@cFormRow>
<@cFormRow>
    <@cCol class='8'>
        <@cLabel label='Recherche' for='search' />
        <@cInputGroup>
           <@cInput name='search' value='' placeholder='Rechercher une adresse' />
           <@cInputGroupAddon>
                <@cBtn label='Rechercher' class='primary' />
           </@cInputGroupAddon>
       </@cInputGroup>
    </@cCol>
</@cFormRow>
<@cFormRow>
    <@cCol class='8'>
        <@cLabel label='Label exemple' for='exemple' />
        <@cFormHelp id='field' label='Information exemple' />
        <@cInputGroup>
           <@cInput name='exemple' value='' placeholder='Texte exemple' />
           <@cInputGroupAddon>
                <@cBtn label='Texte exemple' class='primary' />
           </@cInputGroupAddon>
       </@cInputGroup>
    </@cCol>
</@cFormRow>

Html

<form method="post">
<div class="form-row">
<div class="col 2">
<label class="" for="tarif">
Tarif
</label>
<div class="input-group">
<input type="text" class=" form-control" name="tarif" id="tarif" value="15">
<div class="input-group-append">
<span class="input-group-text">
&euro;</span>
</div>
</div>
</div>
</div>
<div class="form-row">
<div class="col 8">
<label class="" for="pass2">
Mot de passe
</label>
<div class="input-group">
<input type="password" class=" form-control" name="pass2" id="pass2" value="Ajoho56">
<div class="input-group-append toggle-password">
<div class="input-group-text">
<svg class="paris-icon paris-icon-eye" id="Mot de Passe" focusable="false" >
<use xlink:href="#paris-icon-eye"></use>
</svg>
</div>
</div>
</div>
<p class="form-text " id="help_pass">
<span class="charlength">
<svg class="paris-icon paris-icon-check" focusable="false" >
<use xlink:href="#paris-icon-check"></use>
</svg>
8 caractères</span>
<span class="uppercase">
<svg class="paris-icon paris-icon-check" focusable="false" >
<use xlink:href="#paris-icon-check"></use>
</svg>
une majuscule </span>
<span class="digit">
<svg class="paris-icon paris-icon-check" focusable="false" >
<use xlink:href="#paris-icon-check"></use>
</svg>
un chiffre</span>
</p>
</div>
</div>
<div class="form-row">
<div class="col 8">
<label class="" for="search">
Recherche
</label>
<div class="input-group">
<input type="text" class=" form-control" name="search" id="search" value="" placeholder="Rechercher une adresse">
<div class="input-group-append">
<button class="btn btn-primary" type="submit">
<span class="btn-label ">Rechercher</span>
</button>
</div>
</div>
</div>
</div>
<div class="form-row">
<div class="col 8">
<label class="" for="exemple">
Label exemple
</label>
<p class="form-text " id="help_field">
Information exemple</p>
<div class="input-group">
<input type="text" class=" form-control" name="exemple" id="exemple" value="" placeholder="Texte exemple">
<div class="input-group-append">
<button class="btn btn-primary" type="submit">
<span class="btn-label ">Texte exemple</span>
</button>
</div>
</div>
</div>
</div>
</form>
Les paramètres pour cInputGroup
  • @param - id - string - optional - l'ID du groupe
  • @param - class - string - optional - ajoute une classe CSS au groupe
  • @param - params - string - optional - permet d'ajouter des parametres HTML au groupe
Les paramètres pour cInputGroupAddon
  • @param - id - string - optional - l'ID de l'addon
  • @param - class - string - optional - ajoute une classe CSS à l'addon
  • @param - append - string - optional - si true, ajoute un suffixe 'append' à la classe CSS du groupe. Si false, ajoute le suffixe prepend (par défaut: true)
  • @param - addonText - string - optional - ajoute un texte à l'addon
  • @param - params - string - optional - permet d'ajouter des parametres HTML à l'addon
Les paramètres pour cInputGroupAddonText
  • @param - id - string - optional - l'ID de l'addon
  • @param - class - string - optional - ajoute une classe CSS à l'addon
  • @param - tag - string - optional - définit la balise du texte ajouté au groupe (par défaut: 'span')
  • @param - params - string - optional - permet d'ajouter des parametres HTML l'addon

Prévisualisation Style guide @cInputDate [Nouvelle Fenêtre]

Macro

<@cFormRow>
    <@cCol cols='3'>
        <@cLabel label='Date picker' for='datepicker' />
        <@cInputDate id='datepicker_1' label='' name='date1' value=.now?date?iso_utc />
    </@cCol>
    <@cCol cols='4'>
        <@cLabel label='Date picker sans icone' for='datepicker' />
        <@cInputDate id='datepicker_2' label='' name='date2' icon=false />
    </@cCol>
    <@cCol cols='3'>
        <@cLabel label='Date picker HTML' for='datepicker' />
        <@cInputDate id='datepicker_3' label='' name='date3' type='date' />
    </@cCol>
</@cFormRow>

Html

<div class="form-row">
<div class="col-3 ">
<label class="" for="datepicker">
Date picker
</label>
<label class="" for="datepicker_1">
</label>
<div class="input-group">
<input type="text" class=" form-control" name="date1" id="datepicker_1" value="2024-12-13">
<div class="input-group-append">
<div class="input-group-text">
<svg class="paris-icon paris-icon-agenda" id="datepicker_1" focusable="false" >
<use xlink:href="#paris-icon-agenda"></use>
</svg>
</div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', (e) => {
const customOptions = { };
const themeOptions = {};
let showFormat=getDatePickerDateFormat( navigator.language );
let dataFormat='yyyy-m-d 00:00:00' // Default for most DB;
const defaultOptions = {
autohide: true,
buttonClass: 'btn',
dataFormat: dataFormat,
dateDelimiter: '|', // Delimiter for mutlidate
daysOfWeekDisabled: [],
defaultViewDate: 'today',
clearButton: true,
enableReadOnly: true,
format: showFormat,
language: `${navigator.language.split('-')[0]}`,
minDate: null,
maxDate: null,
maxNumberOfDate: 1,
nextArrow: '<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_6399_3183)"><path d="M15.5151 13.4729L10.1484 8.10621L12.3093 5.94531L19.8369 13.4729L12.3093 21.0004L10.1484 18.8395L15.5151 13.4729Z" fill="#071F32"/></g><defs><clipPath id="clip0_6399_3183"><rect width="28" height="28" fill="white" transform="translate(28 28) rotate(180)"/></clipPath></defs></svg>',
orientation: 'auto',
prevArrow: '<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_6399_4241)"><path d="M12.4849 14.5271L17.8516 19.8938L15.6907 22.0547L8.16309 14.5271L15.6907 6.99955L17.8516 9.16045L12.4849 14.5271Z" fill="#071F32"/></g><defs><clipPath id="clip0_6399_4241"><rect width="28" height="28" fill="white"/></clipPath></defs></svg>',
picklevel: 0, // 0 - Days 1 - Month, 2 - Year, 3 - Decade
showDaysOfWeek: true,
showOnClick: true,
showOnFocus: true,
startView: 0, // 0 - Days 1 - Month, 2 - Year, 3 - Decade
title: '',
todayButton: false,
todayButtonMode: 0, // 0 - Focus , 1 - Select
todayHighlight: true,
updateOnBlur: true,
weekNumbers: 0, // 0 – None, 1 – ISO 8601, 2 – Western traditional, 3 – Middle Eastern, 4 – Guess from weekStart
weekStart: 1,
}
const elemdatepicker_1 = document.querySelector('#datepicker_1')
const dtOptionsdatepicker_1 = setDatePickerOptions( themeOptions, customOptions, defaultOptions )
let datepickerdatepicker_1 = new themeParisFrDatepicker( elemdatepicker_1, dtOptionsdatepicker_1 );
});
</script>
</div>
<div class="col-4 ">
<label class="" for="datepicker">
Date picker sans icone
</label>
<label class="" for="datepicker_2">
</label>
<div class="input-group">
<input type="text" class=" form-control" name="date2" id="datepicker_2" value="">
</div>
<script>
document.addEventListener('DOMContentLoaded', (e) => {
const customOptions = { };
const themeOptions = {};
let showFormat=getDatePickerDateFormat( navigator.language );
let dataFormat='yyyy-m-d 00:00:00' // Default for most DB;
const defaultOptions = {
autohide: true,
buttonClass: 'btn',
dataFormat: dataFormat,
dateDelimiter: '|', // Delimiter for mutlidate
daysOfWeekDisabled: [],
defaultViewDate: 'today',
clearButton: true,
enableReadOnly: true,
format: showFormat,
language: `${navigator.language.split('-')[0]}`,
minDate: null,
maxDate: null,
maxNumberOfDate: 1,
nextArrow: '<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_6399_3183)"><path d="M15.5151 13.4729L10.1484 8.10621L12.3093 5.94531L19.8369 13.4729L12.3093 21.0004L10.1484 18.8395L15.5151 13.4729Z" fill="#071F32"/></g><defs><clipPath id="clip0_6399_3183"><rect width="28" height="28" fill="white" transform="translate(28 28) rotate(180)"/></clipPath></defs></svg>',
orientation: 'auto',
prevArrow: '<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_6399_4241)"><path d="M12.4849 14.5271L17.8516 19.8938L15.6907 22.0547L8.16309 14.5271L15.6907 6.99955L17.8516 9.16045L12.4849 14.5271Z" fill="#071F32"/></g><defs><clipPath id="clip0_6399_4241"><rect width="28" height="28" fill="white"/></clipPath></defs></svg>',
picklevel: 0, // 0 - Days 1 - Month, 2 - Year, 3 - Decade
showDaysOfWeek: true,
showOnClick: true,
showOnFocus: true,
startView: 0, // 0 - Days 1 - Month, 2 - Year, 3 - Decade
title: '',
todayButton: false,
todayButtonMode: 0, // 0 - Focus , 1 - Select
todayHighlight: true,
updateOnBlur: true,
weekNumbers: 0, // 0 – None, 1 – ISO 8601, 2 – Western traditional, 3 – Middle Eastern, 4 – Guess from weekStart
weekStart: 1,
}
const elemdatepicker_2 = document.querySelector('#datepicker_2')
const dtOptionsdatepicker_2 = setDatePickerOptions( themeOptions, customOptions, defaultOptions )
let datepickerdatepicker_2 = new themeParisFrDatepicker( elemdatepicker_2, dtOptionsdatepicker_2 );
});
</script>
</div>
<div class="col-3 ">
<label class="" for="datepicker">
Date picker HTML
</label>
<label class="" for="datepicker_3">
</label>
<div class="input-group">
<input type="date" class=" form-control" name="date3" id="datepicker_3" value="">
</div>
</div>
</div>
Champs avec datepicker

La macro cInputDate permet de générer un champ avec un date picker. Il est possible d'utiliser un champ de type "date" HTML5 en modifiant le type par default 'datepicker' en "date"

La macro <@cInputDate /> initialise et affiche le date picker avec le chargement des fichiers nécessaires.

  • name : mandatory -
  • label : mandatory
  • id : default ''
  • class : default ''
  • type : default 'datepicker' : datepicker / date
  • icon : boolean default true
  • options : object default {}
    • autohide: customOptions.autohide || true,
    • buttonClass: customOptions.btn ||'btn',
    • dataFormat: customOptions.dataFormat || dataFormat,
    • dateDelimiter: customOptions.autohide || '|', // Delimiter for mutlidate
    • daysOfWeekDisabled: [0,6],
    • defaultViewDate: 'today',
    • clearButton: true,
    • enableReadOnly: true,
    • format: customOptions.showFormat || showFormat,
    • language: browserLang,
    • minDate: null,
    • maxDate: null,
    • maxNumberOfDate: 1,
    • nextArrow: '${customArrows[1]}',
    • orientation: 'auto',
    • prevArrow: '${customArrows[0]}',
    • picklevel: 0, // 0 - Days 1 - Month, 2 - Year, 3 - Decade
    • showDaysOfWeek: true,
    • showOnClick: true,
    • showOnFocus: true,
    • startView: 0, // 0 - Days 1 - Month, 2 - Year, 3 - Decade
    • title: '',
    • todayButton: false,
    • todayButtonMode: 0, // 0 - Focus , 1 - Select
    • todayHighlight: true,
    • updateOnBlur: true,
    • weekNumbers: 0, // 0 – None, 1 – ISO 8601, 2 – Western traditional, 3 – Middle Eastern, 4 – Guess from weekStart
    • weekStart: 1,
  • value : default ''
  • placeholder : default ''
  • required : boolean default false
  • disabled : boolean default false
  • readonly : boolean default false
  • helpMsg : default ''
  • errorMsg : default ''
  • params : default ''
  • #nested : Tous contenu

DEPRECATED

Cette façon de faire est toujours possible mais il est conseillé d'utiliser la macro cInputDate décrite ci-dessu

Le champ avec date picker est l'utilisation de deux macro avec une macro "cInput" dans un input group, macro "cInputGroup". La librairie utilisée est flatpickr

Les macros

La macro <@initThemeDatePicker /> initialise le date picker avec le chargement des fichiers nécessaires.

La macro <@getThemeDatePicker idField='datepickerflat' /> va charger le datepicker avec l'input dont l'id est passé en paramètre -idField-

Les paramètres de <@getThemeDatePicker idField='datepickerflat' />
  • idField ( text / obligatoire) : Identifiant unique
  • showFormat ( text / default :'' ) : Format d'affichage de type 'dd/mm/yyyy' voir la doc flatpickr
  • mindate ( text / default : '' ) : Date minimum sélectionnable le datepicker
  • maxdate ( text / default : '' ) : Date maximum sélectionnable le datepicker
  • defaultDate ( text / default : '' ) : Date sélectionnée par défaut dans le datepicker
  • mode ( text / default :'single' ) : Valeur par défaut
  • time ( bool / default : false ) : Indique si le champs est en lecture seule.
  • maxlength ( int / default : 0 ) : Permet de saisir une limitation de taille de valeur saisie
  • range ( text / default :'' ) : Message d'aide
  • rangeIdField ( text / obligatoire ) : Identifiant unique, égal
  • customArrows ( Array / default : '['',''] :Flèches en SVG

Prévisualisation Style guide @cInputDropFiles [Nouvelle Fenêtre]

Zone de drop de fichiers

Glissez vos documents ici ou Sélectionner

Zone + liste de fichiers upload

Glissez vos documents ici ou Sélectionner

Macro

<@cFormRow>
  <@cCol>
      <@cLabel label='Nom' for='name4' />
      <@cInput name='name4' type='text' value='Dupont' helpMsg='Saisir votre nom' />
  </@cCol>
</@cFormRow>
<@cFormRow>
   <@cCol>
       <@cText class="lead main-info-color my-m">Zone de drop de fichiers</@cText>
   </@cCol>
</@cFormRow>
<@cFormRow>
   <@cCol>
       <@cField label='Justificatif de domicile' for='domicile' required=false>
           <@cInputDropFiles name='files_domicile' formSubmitButtonName='doSaveForm'/>
       </@cField>
	</@cCol>
</@cFormRow>
<@cFormRow>
   <@cCol>
       <@cText class="lead main-info-color my-m">Zone + liste de fichiers upload</@cText>
   </@cCol>
</@cFormRow>
<@cFormRow>
   <@cCol>
      <@cField label='Justificatif de domicile' for='domicile' required=false>
           <@cInputDropFiles name='files_domicile2' hasFiles=true formSubmitButtonName='doSaveForm'>
              <@cInputDropFilesItem name='file_Upload_1' label='Mon attestation.docx' idx=1 fileSize=30 ext='DOCX' urlDl='javascript:return false;' urlRm='javascript:return false;' />
               <@cInputDropFilesItem name='file_Upload_2' label='Justificatif.docx' idx=1 fileSize=60 />
           </@cInputDropFiles>
       </@cField>
	</@cCol>
</@cFormRow>
<@cFormRow>
    <@cCol>
        <@cField>
            <@cBtn label='Valider' class='action' id="doSaveForm"/>
            <@cBtn label='Annuler' class='link-action'>
                <@cIcon label='Annuler' class='undo' />
            </@cBtn>
        </@cField>
    </@cCol>
</@cFormRow>

Html

<div class="alert alert-outline alert-warning" role="alert">
<div class="alert-icon">
<svg class="paris-icon paris-icon-alert-warning" focusable="false" >
<title>information</title>
<use xlink:href="#paris-icon-alert-warning"></use>
</svg>
</div>
<div class="alert-text">
<p class="alert-title">Attention</p>
Cette macro nécessite le plugin <a class="font-weight-bold mx-2" href="https://github.com/lutece-platform/lutece-tech-plugin-asynchronousupload"><small><strong>AsynchronousUpload</strong></small></a> pour fonctionner !
<!-- Si vous utilisez une librairie autre que JQuery FileUpload inclue dans le plugin, il vous faudra modifier le HTML et ajouter le javascript nécessaire. -->
</div>
</div>
<script type="module">
import { themeUtils } from './themes/skin/parisfr/js/modules/theme-utils.js';
const uploadUtils = new themeUtils;
const aAsyncLinksToAddRemove = [{"name":"config.min.js","pathtoremove":"js/plugins/asynchronousupload/","pathtoadd":"themes/skin/parisfr/js/plugins/asynchronousupload/"}]
uploadUtils.replaceSourceLinksFromArray( aAsyncLinksToAddRemove )
</script>
<script>
/* Maps to manage files field errors */
var mapFileErrors = new Map();
var mapFilesNumber = new Map();
</script>
<script src="jsp/site/plugins/asynchronousupload/GetMainUploadJs.jsp?handler=formsAsynchronousUploadHandler" ></script>
<div class="form-row">
<div class="col ">
<p class="lead main-info-color my-m">
Zone de drop de fichiers</p>
</div>
</div>
<div class="form-row">
<div class="col ">
<div class="position-absolute p-3" style="z-index:5;top:0;right:0" >
<div id="liveFileToast" class="toast" role="alert" aria-live="assertive" aria-atomic="true" data-delay="5000">
<div class="toast-header">
<strong class="mr-auto">Attention</strong>
<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="toast-body bg-white text-dark">Pas d'upload possible sur la démo</div>
</div>
</div>
<div class="form-group ">
<label class="" for="domicile">
Justificatif de domicile
</label>
<input type="hidden" class=" form-control" name="asynchronousupload.handler" id="asynchronousupload.handler" value="formsAsynchronousUploadHandler">
<div class="form-row group-files dropzone no-file">
<div class="col">
<label id="lbdomicile" class="" for="domicile">Upload de fichiers <span class="main-danger-color" tabindex="-1" title="Obligatoire">*</span></label>
<div id="group-domicile" class="d-flex align-items-center file-input">
<input type="file" class="form-control my-xs disabled is-required formsAsynchronousUploadHandler"aria-required="true" data-nbuploadedfiles="0" name="files_domicile" id="domicile" multiple="multiple">
<svg class="paris-icon paris-icon-upload white-color" role="img" aria-hidden="true" focusable="false">
<use xlink:href="#paris-icon-upload"></use>
</svg>
<p class="flex-1 text-left ms-sm mb-0">Glissez vos documents ici ou  <span class="text-primary text-underline">Sélectionner</span></p>
</div>
<div id="_file_error_box_domicile"></div>
<div id="progress_domicile" class="progress" style="display:none;">
<div id="progress-bar_domicile" class="progress-bar progress-bar-success progress-bar-striped"></div>
</div>
<div class="form-files-group" id="_file_deletion_label_domicile" style="display:none;">
<ul id="_file_deletion_domicile" class="files-group">
</ul>
</div>
</div>
</div>
<script>
window.addEventListener( 'DOMContentLoaded', (event) => {
const fieldName = $('#domicile');
const groupFieldName = $('#group-domicile');
const labelFieldName = $('#lbdomicile');
let hasChecked = false, countFiles=0;
mapFilesNumber.set( "domicile", 0 );
const isInputFileRequired = fieldName.hasClass('is-required');
if( isInputFileRequired ){
if( countFiles > 0 ){ fieldName.attr('data-nbuploadedfiles', countFiles ); }
const validateButton = document.querySelector('#doSaveForm');
validateButton.addEventListener('click', (e) => {
const fileItemsList = $('#_file_deletion_domicile .files-item');
const fileUploaded = fileItemsList.length;
$('.form-control:user-invalid').addClass('is-invalid');
$('.form-control:invalid').addClass('is-invalid');
const hasErrors = $(".is-invalid").length;
if( fileUploaded == 0 ){
groupFieldName.addClass('is-invalid');
labelFieldName.addClass('main-danger-color');
if( groupFieldName.next().hasClass('invalid-feedback') ){
groupFieldName.next().text('Le champs est obligatoire')
} else {
groupFieldName.after('<div class="invalid-feedback">Le champs est obligatoire</div>')
}
if( hasErrors == 0 ){
e.preventDefault();
$('html, body').scrollTop( groupFieldName.offset().top - 50 );
}
} else {
groupFieldName.removeClass('is-invalid');
labelFieldName.removeClass('main-danger-color');
}
})
}
});
</script>
</div>
</div>
</div>
<div class="form-row">
<div class="col ">
<p class="lead main-info-color my-m">
Zone + liste de fichiers upload</p>
</div>
</div>
<div class="form-row">
<div class="col ">
<div class="position-absolute p-3" style="z-index:5;top:0;right:0" >
<div id="liveFileToast2" class="toast" role="alert" aria-live="assertive" aria-atomic="true" data-delay="5000">
<div class="toast-header">
<strong class="mr-auto">Attention</strong>
<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="toast-body bg-white text-dark">Pas d'upload possible sur la démo</div>
</div>
</div>
<div class="form-group ">
<label class="" for="domicile2">
Justificatif de domicile
</label>
<input type="hidden" class=" form-control" name="asynchronousupload.handler" id="asynchronousupload.handler" value="formsAsynchronousUploadHandler">
<div class="form-row group-files dropzone no-file">
<div class="col">
<label id="lbdomicile2" class="" for="domicile2">Upload de fichiers </label>
<div id="group-domicile2" class="d-flex align-items-center file-input">
<input type="file" class="form-control my-xs disabled formsAsynchronousUploadHandler" data-nbuploadedfiles="0" name="files_domicile2" id="domicile2" multiple="multiple">
<svg class="paris-icon paris-icon-upload white-color" role="img" aria-hidden="true" focusable="false">
<use xlink:href="#paris-icon-upload"></use>
</svg>
<p class="flex-1 text-left ms-sm mb-0">Glissez vos documents ici ou  <span class="text-primary text-underline">Sélectionner</span></p>
</div>
<div id="_file_error_box_domicile2"></div>
<div id="progress_domicile2" class="progress" style="display:none;">
<div id="progress-bar_domicile2" class="progress-bar progress-bar-success progress-bar-striped"></div>
</div>
<div class="form-files-group" id="_file_deletion_label_domicile2">
<ul id="_file_deletion_domicile2" class="files-group">
<li class="files-item" id="_file_uploaded_file_Upload_11">
<label class="files-item-label" for="_form_upload_checkbox_file_Upload_11">
<input type="checkbox" name="_form_upload_checkbox_file_Upload_11" id="_form_upload_checkbox_file_Upload_11">
<a href="jsp/site/plugins/asynchronousupload/DoDownloadFile.jsp?fieldname=file_Upload_1&field_index=1&fileName=Mon attestation.docx&asynchronousupload.handler=formsAsynchronousUploadHandler" class="files-item-link" title="Télécharger Mon attestation.docx" data-type="DOCX" data-img="">
<span class="file-item-label">Mon attestation.docx</span>
<span class="file-item-info">3 Ko</span>
</a>
</label>
<button type="button" class="btn btn-link main-color deleteSingleFile p-0" data-item="#_file_uploaded_file_Upload_11" fieldName="file_Upload_1" handlerName="formsAsynchronousUploadHandler" index="1" title="Supprimer Mon attestation.docx">
<svg class="paris-icon paris-icon-close" role="img" aria-hidden="true" focusable="false">
<use xlink:href="#paris-icon-close"></use>
</svg>
</button>
</li>
<li class="files-item" id="_file_uploaded_file_Upload_21">
<label class="files-item-label" for="_form_upload_checkbox_file_Upload_21">
<input type="checkbox" name="_form_upload_checkbox_file_Upload_21" id="_form_upload_checkbox_file_Upload_21">
<a href="jsp/site/plugins/asynchronousupload/DoDownloadFile.jsp?fieldname=file_Upload_2&field_index=1&fileName=Justificatif.docx&asynchronousupload.handler=formsAsynchronousUploadHandler" class="files-item-link" title="Télécharger Justificatif.docx" data-type="DOCX" data-img="">
<span class="file-item-label">Justificatif.docx</span>
<span class="file-item-info">60 o</span>
</a>
</label>
<button type="button" class="btn btn-link main-color deleteSingleFile p-0" data-item="#_file_uploaded_file_Upload_21" fieldName="file_Upload_2" handlerName="formsAsynchronousUploadHandler" index="1" title="Supprimer Justificatif.docx">
<svg class="paris-icon paris-icon-close" role="img" aria-hidden="true" focusable="false">
<use xlink:href="#paris-icon-close"></use>
</svg>
</button>
</li>
</ul>
</div>
</div>
</div>
<script>
window.addEventListener( 'DOMContentLoaded', (event) => {
const fieldName = $('#domicile2');
const groupFieldName = $('#group-domicile2');
const labelFieldName = $('#lbdomicile2');
let hasChecked = false, countFiles=0;
mapFilesNumber.set( "domicile2", 0 );
const isInputFileRequired = fieldName.hasClass('is-required');
if( isInputFileRequired ){
if( countFiles > 0 ){ fieldName.attr('data-nbuploadedfiles', countFiles ); }
const validateButton = document.querySelector('#doSaveForm');
validateButton.addEventListener('click', (e) => {
const fileItemsList = $('#_file_deletion_domicile2 .files-item');
const fileUploaded = fileItemsList.length;
$('.form-control:user-invalid').addClass('is-invalid');
$('.form-control:invalid').addClass('is-invalid');
const hasErrors = $(".is-invalid").length;
if( fileUploaded == 0 ){
groupFieldName.addClass('is-invalid');
labelFieldName.addClass('main-danger-color');
if( groupFieldName.next().hasClass('invalid-feedback') ){
groupFieldName.next().text('Le champs est obligatoire')
} else {
groupFieldName.after('<div class="invalid-feedback">Le champs est obligatoire</div>')
}
if( hasErrors == 0 ){
e.preventDefault();
$('html, body').scrollTop( groupFieldName.offset().top - 50 );
}
} else {
groupFieldName.removeClass('is-invalid');
labelFieldName.removeClass('main-danger-color');
}
})
}
});
</script>
</div>
</div>
</div>
<div class="form-row">
<div class="col ">
<div class="form-group ">
<button class="btn btn-action" type="submit" id="doSaveForm">
<span class="btn-label ">Valider</span>
</button>
<button class="btn btn-link-action" type="submit">
<svg class="paris-icon paris-icon-close" focusable="false" >
<use xlink:href="#paris-icon-close"></use>
</svg>
<span class="btn-label ">Annuler</span>
</button>
</div>
</div>
</div>
<script>
// Demo only
$( document ).on('click', '.deleteSingleFile', function(event) {
event.preventDefault();
const currInput = $('#domicile2');
let nbInputFiles = currInput.attr('data-nbuploadedfiles') - 1
currInput.attr('data-nbuploadedfiles', nbInputFiles )
event.preventDefault( );
event.currentTarget.closest('.files-item').setAttribute('hidden','hidden');
});
$( document ).on('click', '#domicile', function(event) {
event.preventDefault();
$('#liveFileToast').toast('show')
const hiddenFiles = document.querySelectorAll('[hidden]');
hiddenFiles.forEach( (hf) => {
hf.removeAttribute('hidden');
return;
})
});
$( document ).on('click', '#domicile2', function(event) {
event.preventDefault();
$('#liveFileToast2').toast('show')
const hiddenFiles = document.querySelectorAll('[hidden]');
hiddenFiles.forEach( (hf) => {
hf.removeAttribute('hidden');
return;
})
});
</script>
Champs de type Fichiers
Les paramètres

cInputDropFile name handler={"handlerName":"formsAsynchronousUploadHandler","uploadDeletePrefix":"_form_upload_delete_","uploadCheckboxPrefix":"_form_upload_checkbox_"} class='' id='' labelSelect='Sélectionner' labelSubmit='Transmettre' labelDelete='Supprimer' required=false disabled=false helpMsg='' errorMsg='' params=''

  • name ( text / obligatoire ) : Attribut name du champs
  • handler ( json/text / {} ) : Handler pour les champs
  • type ( text / 'dropzone' / 'dropzone' | 'button' ) : Type d'upload par défaut 'dropzone', zone d'upload ou sinon 'button'.
  • nbFiles ( number / default : 0 )Modifie l'affichage en fonction du nombre de fichiers. Si supérieur à 1 affiche une zone a deux colonnes.
  • nbUplodadedFiles ( number / default : 0 )Nombre de fichiers déjà uploadé. New
  • showAllFilesBtn ( number / default : 1 )Affiche le bouton "Selectionner tous les fichier si 1. Si 0 masque le bouton
  • nbCol ( number / default : 1 )Modifie l'affichage en 1 ou 2 colonnes
  • maxFileSize ( number / default : 0 )Taille maximum des fichiers à uploader. Si 0 pas de limite spécifique sur le champs mais la limite par défaut du site sera appliquée.
  • unit ( text / default : '' ) : Unité de poids choisie par exemple "Mo"
  • accept ( liste text / default : '' ) : Format-s- de fichier accepté-s-.
  • label ( text / default : 'Upload de fichiers' ) : Titre de la zone d'upload des fichiers
  • showLabel ( number / default : '' ) : Affiche ou pas le titre de la zone d'upload
  • labelPos ( number / default : 1 ) : Zone d'affichage du label, par défaut dans la prémière colonne.
  • labelSelect ( text / default : 'Sélectionner' ) : "Supprimer" valeur définie dans le fichier "themeparisfr_messages_fr.properties".
  • labelSubmit ( text / default : 'Transmettre' ) : "Sélectionner" valeur définie dans le fichier "themeparisfr_messages_fr.properties".
  • formSubmitButtonName ( text / default : 'action_doSaveStep' ) : nom du bouton submit pour le form, utilisé dans le js pour associer les validation nécessaires avant la validation.New
  • labelDelete ( text / default : 'Supprimer' ) : "Transmettre" valeur définie dans le fichier "themeparisfr_messages_fr.properties".
  • required ( bool / default : false ) : Indique si le champs est obligatoire.
  • disabled ( bool / default : false ) : Indique si le champs est désactivé.
  • multiple ( bool / default : true ) : Ajoute l'attribut "multiple" au champs d'upload.
  • noJs ( bool / default : false ) : Ajoute l'attribut "nojs" au bouton de suppression multiple.
  • helpMsg ( text / default :'' ) : Message d'aide
  • hasFiles ( bool / default : false ) : Si true affiche la liste de fichiers.
  • errorMsg ( text / default :'' ) : Message d'erreur.
  • id ( text / default :'' ) : Identifiant unique, égal é l'attribut name si non renseigné
  • class ( text / default : '' ) : On peut ajouter une ou des classe-s- séparées par un espace.
  • params ( text / default :'' ) : Tout autre attribut HTML
Fichier uploadé New
Les paramètres
  • name ( text / obligatoire ) : Attribut name du champs, si le handler ne porte pas le nom
  • idx ( text / obligatoire ) : Index au champs.
  • label ( text / obligatoire ) : label associé au champs.
  • handler ( json/text / {} ) : Handler pour les champs
  • fileSize ( number / default : 0 )Taille du fichier uploadé, en octet.
  • ext ( text / default : '' ) : Extension du fihier
  • unit ( text / default : '' ) : Unité de poids choisie par exemple "Mo"
  • urlDl ( text / default : '' ) : Url de téléchargement du fichier, si le handler ne porte pas l'url
  • urlRm ( text / default : '' ) : Url de suppression du fichier, si le handler ne porte pas l'url
  • maxChars ( number / default : 24 ) : Nombre de caractères max pour afficher le nom du fichier
  • class ( text / default : '' ) : Nom d'une ou des classe-s- séparées par un espace.

Prévisualisation Style guide @cRadio [Nouvelle Fenêtre]

Radio Help

Radio Ok Nok Help

Radio Help

Sous-titre d'explication

Saisir mon nom

Saisir mon prénom

Sous-titre d'explication

Saisir mon nom

Saisir mon prénom

Macro

<@cFormRow>
  <@cCol params='aria-describedby="radioHelp"'>
     <@cField label='Yes or No ?' >
        <@cFormHelp id='radioHelp' label='Radio Yes No Help' />
        <@cRadio name='yesno' id='rYes' label='Oui' />
        <@cRadio name='yesno' id='rNo' label='Non' />
     </@cField>
   </@cCol>
</@cFormRow>
<@cFormRow>
  <@cCol params='aria-describedby="radioHelp"'>
     <@cFormRow>
        <@cCol>
            <@cFormHelp id='radioHelp2' label='Radio Ok Nok Help' />
            <@cRadio name='oknok' id='rOk' label='Oui' inline=true />
            <@cRadio name='oknok' id='rNok' label='Non' inline=true />
        </@cCol>
     </@cFormRow>
   </@cCol>
</@cFormRow>
<@cFormRow>
    <@cCol params='aria-describedby="radioHelpSelection"'>
        <@cField label='Quel est votre choix ?'>
            <@cFormHelp id='radioHelpSelection' label='Radio Help' />
            <!-- Selection button  -->
            <@cRadio name='selectionRadio' label='Choix numéro 1' value='1' selectionButton=true selectionLabel='Sous-titre d&apos;explication' >
                <@cFormRow>
                    <@cCol>
                        <@cLabel label='Nom' for='name1' />
                        <@cInput name='name1' type='text' value='Dupont' helpMsg='Saisir mon nom' />
                    </@cCol>
                    <@cCol>
                        <@cLabel label='Prénom' for='surname1' />
                        <@cInput name='surname1' type='text' placeholder='Exemple: Jean Yves' helpMsg='Saisir mon prénom' />
                    </@cCol>
                </@cFormRow>
            </@cRadio>
            <@cRadio name='selectionRadio' label='Choix numéro 2' value='2' selectionButton=true selectionLabel='Sous-titre d&apos;explication' >
                <@cFormRow>
                    <@cCol>
                        <@cLabel label='Nom' for='name2' />
                        <@cInput name='name2' type='text' value='Dupont' helpMsg='Saisir mon nom' />
                    </@cCol>
                    <@cCol>
                        <@cLabel label='Prénom' for='surname2' />
                        <@cInput name='surname2' type='text' placeholder='Exemple: Jean Yves' helpMsg='Saisir mon prénom' />
                    </@cCol>
                </@cFormRow>
            </@cRadio>
        </@cField>
    </@cCol>
</@cFormRow>

Html

<form method="post">
<div class="form-row">
<div class="col " aria-describedby="radioHelp2">
<div class="form-group ">
<label class="">
Yes or No ?
</label>
<!-- Inline -->
<p class="form-text " id="help_radioHelp">
Radio Help</p>
<div class='radio-container'>
<div class="custom-control custom-radio">
<input type="radio" id="rRadio0-901083" name="rRadio" class="custom-control-input" value="1">
<label class="custom-control-label" for="rRadio0-901083">Yes</label>
</div>
</div>
<div class='radio-container'>
<div class="custom-control custom-radio">
<input type="radio" id="rRadio0-821264" name="rRadio" class="custom-control-input" value="2">
<label class="custom-control-label" for="rRadio0-821264">No</label>
</div>
</div>
</div>
</div>
</div>
<div class="form-row">
<div class="col " aria-describedby="radioHelp2">
<!-- Column -->
<label class="">
Ok or Nok ?
</label>
<div class="form-row">
<div class="col ">
<p class="form-text " id="help_radioHelp2">
Radio Ok Nok Help</p>
<div class='radio-container custom-control-inline'>
<div class="custom-control custom-radio">
<input type="radio" id="ok" name="oknok" class="custom-control-input" value="1">
<label class="custom-control-label" for="ok">Ok</label>
</div>
</div>
<div class='radio-container custom-control-inline'>
<div class="custom-control custom-radio">
<input type="radio" id="nok" name="oknok" class="custom-control-input" value="2">
<label class="custom-control-label" for="nok">Nok</label>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-row">
<div class="col " aria-describedby="radioHelpSelection">
<div class="form-group ">
<label class="">
Quel est votre choix ?
</label>
<p class="form-text " id="help_radioHelpSelection">
Radio Help</p>
<!-- Selection button -->
<div class='radio-container mb-l'>
<div class="custom-control custom-radio btn-selection">
<input type="radio" id="selectionRadio0-741444" name="selectionRadio" class="custom-control-input" value="1">
<label class="custom-control-label" for="selectionRadio0-741444">Choix numéro 1</label>
<p class="selection-subtitle mt-3">Sous-titre d&apos;explication</p>
</div>
<div class="selection-content"><div class="form-row">
<div class="col ">
<label class="" for="name3">
Nom
</label>
<p class="form-text " id="help_name3">
Saisir mon nom</p>
<input type="text" class=" form-control" name="name3" id="name3" value="Dupont" aria-describedby="help_name3">
</div>
<div class="col ">
<label class="" for="surname3">
Prénom
</label>
<p class="form-text " id="help_surname3">
Saisir mon prénom</p>
<input type="text" class=" form-control" name="surname3" id="surname3" value="" placeholder="Exemple: Jean Yves" aria-describedby="help_surname3">
</div>
</div>
</div>
</div>
<div class='radio-container mb-l'>
<div class="custom-control custom-radio btn-selection">
<input type="radio" id="selectionRadio0-771625" name="selectionRadio" class="custom-control-input" value="2">
<label class="custom-control-label" for="selectionRadio0-771625">Choix numéro 2</label>
<p class="selection-subtitle mt-3">Sous-titre d&apos;explication</p>
</div>
<div class="selection-content"><div class="form-row">
<div class="col ">
<label class="" for="name4">
Nom
</label>
<p class="form-text " id="help_name4">
Saisir mon nom</p>
<input type="text" class=" form-control" name="name4" id="name4" value="Dupont" aria-describedby="help_name4">
</div>
<div class="col ">
<label class="" for="surname4">
Prénom
</label>
<p class="form-text " id="help_surname4">
Saisir mon prénom</p>
<input type="text" class=" form-control" name="surname4" id="surname4" value="" placeholder="Exemple: Jean Yves" aria-describedby="help_surname4">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
Bouton radio
Les paramètres
  • name ( text / obligatoire ) : Attribut name du radio
  • label ( text / obligatoire ) : Libellé du radio
  • type ( text / 'radio' / 'radio' | 'button' ) : Par défaut prend l'aspect d'un radio, si "button" prend l'aspect d'un bouton
  • value ( text / default :'text' ) : Valeur par défaut
  • selectionButton ( boolean / default :'false' ) Peut venir en substitution d’un radio bouton, permettant de choisir une option détaillée parmi une liste. New
  • selectionLabel ( text / default :'' ) En complément de l'attribut selectionButton, permet de donner des détails sur la sélection New
  • textCenter ( text / default :'text' ) En complément de l'attribut selectionButton, permet de centrer le texte. Le format centré sera préférable pour un usage en horizontal (plusieurs boutons côte-à-côte) avec peu de texte.New
  • inline ( bool / default : false ) : Indique si le radio est présenté sur une ligne.
  • disabled ( bool / default : false ) : Indique si le radio est désactivé.
  • readonly ( bool / default : false ) : Indique si le radio est en lecture seule.
  • checked ( bool / default : false ) : Indique si le radio est sélectionné.
  • required ( bool / default : false ) : Indique si le radio est obligatoire.
  • helpMsg ( text / default :'' ) : Message d'aide New
  • errorMsg ( text / default :'' ) : Message d'erreur New
  • class ( text / default :'' ) : Attribut class
  • id ( text / default :'' ) : Identifiant unique, égal é l'attribut name si non renseigné
  • params ( text / default :'' ) : Tout autre attribut HTML

Documentation Formulaires Bootstrap 4

Prévisualisation Style guide @cCheckbox [Nouvelle Fenêtre]

Choisir un horaire

Faites votre choix

Sport avec un ballon.

Sport de combat.

Sport dans l'eau.

Sport de raquette.

Macro

<@cFormRow>
  <@cCol params='aria-describedby="radioHelp"'>
     <@cField label='Yes or No ?' >
        <@cFormHelp id='radioHelp' label='Aide sur le bloc checkbox' />
        <@cCheckbox name='sport' id='football' label='Football' value='foot' />
        <@cCheckbox name='sport' id='judo' label='Judo' value='judo' />
        <@cCheckbox name='sport' id='natation' label='Natation' value='nata' />
        <@cCheckbox name='sport' id='tennis' label='Tennis' value='tenn' />
     </@cField>
   </@cCol>
</@cFormRow>
<@cFormRow>
    <@cCol params='aria-describedby="selectHelp"'>
        <@cField label='Quel choix ?'>
            <@cFormHelp id='selectHelp' label='Faites votre choix' />
            <@cCheckbox name='selectCheckbox' id='football' label='Football' value='foot' selectionButton=true selectionLabel='Sport avec un ballon.' />
            <@cCheckbox name='selectCheckbox' id='judo' label='Judo' value='judo' selectionButton=true selectionLabel='Sport de combat.' />
            <@cCheckbox name='selectCheckbox' id='natation' label='Natation' value='nata' selectionButton=true selectionLabel='Sport dans l'eau.' />
            <@cCheckbox name='selectCheckbox' id='tennis' label='Tennis' value='tenn' selectionButton=true selectionLabel='Sport de raquette.' />
        </@cField>
    </@cCol>
</@cFormRow>

Html

<form method="post">
<div class="form-row">
<div class="col " aria-describedby="radioHelp2">
<div class="form-group ">
<label class="">
Horaire
</label>
<p class="form-text " id="help_radioHelp2">
Choisir un horaire</p>
<div class="custom-control custom-checkbox">
<input type="checkbox" id="football" name="sport" class="custom-control-input" value="foot">
<label class="custom-control-label" for="football">Football </label>
</div>
<div class="custom-control custom-checkbox">
<input type="checkbox" id="judo" name="sport" class="custom-control-input" value="judo">
<label class="custom-control-label" for="judo">Judo </label>
</div>
<div class="custom-control custom-checkbox">
<input type="checkbox" id="natation" name="sport" class="custom-control-input" value="nata">
<label class="custom-control-label" for="natation">Natation </label>
</div>
<div class="custom-control custom-checkbox">
<input type="checkbox" id="tennis" name="sport" class="custom-control-input" value="tenn">
<label class="custom-control-label" for="tennis">Tennis </label>
</div>
</div>
</div>
</div>
<div class="form-row">
<div class="col " aria-describedby="selectHelp">
<div class="form-group ">
<label class="">
Quel choix ?
</label>
<p class="form-text " id="help_selectHelp">
Faites votre choix</p>
<div class="custom-control btn-selection custom-checkbox">
<input type="checkbox" id="selectFootball" name="selectCheckbox" class="custom-control-input" value="foot">
<label class="custom-control-label" for="selectFootball">Football </label>
<p class='selection-subtitle mt-3'>Sport avec un ballon.</p>
</div>
<div class="custom-control btn-selection custom-checkbox">
<input type="checkbox" id="selectJudo" name="selectCheckbox" class="custom-control-input" value="judo">
<label class="custom-control-label" for="selectJudo">Judo </label>
<p class='selection-subtitle mt-3'>Sport de combat.</p>
</div>
<div class="custom-control btn-selection custom-checkbox">
<input type="checkbox" id="selectNatation" name="selectCheckbox" class="custom-control-input" value="nata">
<label class="custom-control-label" for="selectNatation">Natation </label>
<p class='selection-subtitle mt-3'>Sport dans l&apos;eau.</p>
</div>
<div class="custom-control btn-selection custom-checkbox">
<input type="checkbox" id="selectTennis" name="selectCheckbox" class="custom-control-input" value="tenn" disabled>
<label class="custom-control-label" for="selectTennis">Tennis </label>
<p class='selection-subtitle mt-3'>Sport de raquette.</p>
</div>
</div>
</div>
</div>
</form>
Checkbox
Les paramètres
  • name ( text / obligatoire ) : Attribut name du radio
  • label ( text / obligatoire ) : Libellé associé é la valeur
  • type ( text / 'checkbox' / 'checkbox' | 'button' ) : Par défaut prend l'aspect d'une checkbox, si "button" prend l'apsect d'un bouton
  • value ( text / default :'text' ) : Valeur par défaut
  • btnClass ( text / default :'x' ) : Attribut class pour le bouton, si l'attribut "type" est "button" New
  • selectionButton ( boolean / default :'false' ) Peut venir en substitution d’une checkbox, permettant de choisir une ou plusieurs options détaillées parmi une liste.
  • selectionLabel ( text / default :'' ) En complément de l'attribut selectionButton, permet de donner des détails sur la sélection
  • textCenter ( text / default :'text' ) En complément de l'attribut selectionButton, permet de centrer le texte. Le format centré sera préférable pour un usage en horizontal (plusieurs boutons côte-à-côte) avec peu de texte. New
  • inline ( bool / default : false ) : Indique si le radio est présenté sur une ligne.
  • disabled ( bool / default : false ) : Indique si le radio est désactivé.
  • readonly ( bool / default : false ) : Indique si le radio est en lecture seule.
  • checked ( bool / default : false ) : Indique si le radio est sélectionné.
  • required ( bool / default : false ) : Indique si le radio est obligatoire.
  • helpMsg ( text / default :'' ) : Message d'aide New
  • errorMsg ( text / default :'' ) : Message d'erreur New
  • class ( text / default :'custom-checkbox' ) : Attribut class
  • id ( text / default :'' ) : Identifiant unique, égal é l'attribut name si non renseigné
  • params ( text / default :'' ) : Tout autre attribut HTML

Documentation Formulaires Bootstrap 4

Prévisualisation Style guide @cSelect [Nouvelle Fenêtre]

Aide Combo Box

Aide OptGroup

Macro

<@cFormRow>
  <@cCol params='aria-describedby="cSelect"'>
       <@cField label='Commune'>
           <@cSelect name='commune' multiple=true helpMsg='Aide Combo Box' >
               <@cOption label='' value='0' />
               <@cOption label='Paris (75000)' value='1' />
               <@cOption label='Parigné-l'Eveque (72250)' value='2' />
               <@cOption label='Parigné (35133)' value='3'/>
               <@cOption label='Parigné-le-Polin (72330)' value='4'/>
           </@cSelect>
       </@cField>
   </@cCol>
</@cFormRow>
<@cFormRow class='mt-3'>
   <@cCol>
       <@cField label='Commune'>
           <@cSelect name=''>
               <@cOption label='' value='0' />
               <@cOption label='Paris (75000)' value='1' />
               <@cOption label='Parigné-l'Eveque (72250)' value='2' selected=true />
               <@cOption label='Parigné (35133)' value='3' />
               <@cOption label='Parigné-le-Polin (72330)' value='4' />
           </@cSelect>
       </@cField>
  </@cCol>
</@cFormRow>
<@cFormRow class='mt-3'>
   <@cCol params='aria-describedby="cOptGroup"'>
       <@cField label='Catégories'>
           <@cSelect name=''>
               <@cOption label='' value='0' />
              <@cOptgroup label='Catégories 1'>
                   <@cOption label='Item 1 1' value='11' />
                   <@cOption label='Item 1 2' value='12' />
                   <@cOption label='Item 1 3' value='13' />
               </@cOptgroup>
               <@cOptgroup label='Catégories 2'>
                   <@cOption label='Item 2 1' value='21' />
                   <@cOption label='Item 2 2' value='22' />
                   <@cOption label='Item 2 3' value='23' />
               </@cOptgroup>
          </@cSelect>
           <@cFormHelp id='cOptGroup' label='Aide OptGroup' />
       </@cField>
   </@cCol>
</@cFormRow>

Html

<div class="form-row">
<div class="col " aria-describedby="cSelect">
<div class="form-group ">
<label class="">
Commune
</label>
<select name="commune" class="form-control custom-select" multiple>
<option value="0"></option>
<option value="1">Paris (75000)</option>
<option value="2">Parigné-l Eveque (72250)</option>
<option value="3">Parigné (35133)</option>
<option value="4">Parigné-le-Polin (72330)</option>
</select>
<p class="form-text " id="help_cSelect">
Aide Combo Box</p>
</div>
</div>
</div>
<div class="form-row mt-3">
<div class="col ">
<div class="form-group ">
<label class="">
Commune
</label>
<select name="" class="form-control custom-select">
<option value="0"></option>
<option value="1">Paris (75000)</option>
<option value="2" selected>Parigné-l Eveque (72250)</option>
<option value="3">Parigné (35133)</option>
<option value="4">Parigné-le-Polin (72330)</option>
</select>
</div>
</div>
</div>
<div class="form-row mt-3">
<div class="col " aria-describedby="cOptGroup">
<div class="form-group ">
<label class="">
Catégories
</label>
<select name="" class="form-control custom-select">
<option value="0"></option>
<optgroup label="Catégories 1" >
<option value="11">Item 1 1</option>
<option value="12">Item 1 2</option>
<option value="13">Item 1 3</option>
</optgroup>
<optgroup label="Catégories 2" >
<option value="21">Item 2 1</option>
<option value="22">Item 2 2</option>
<option value="23">Item 2 3</option>
</optgroup>
</select>
<p class="form-text " id="help_cOptGroup">
Aide OptGroup</p>
</div>
</div>
</div>
@cSelect
Les paramètres
  • name ( text / obligatoire ) : Attribut name du select
  • class ( text / default :'custom-select' ) : Attribut class
  • id ( text / default :'' ) : Identifiant unique, égal à l'attribut name si non renseigné
  • params ( text / default :'listbox' ) : N'importe quel attribut HTML
  • multiple ( bool / default : false ) : Indique si le select est multi lignes.
  • disabled ( bool / default : false ) : Indique si le select est désactivé.
  • readonly ( bool / default : false ) : Indique si le select est en lecture seule.
  • checked ( bool / default : false ) : Indique si le select est sélectionné.
  • required ( bool / default : false ) : Indique si le select est obligatoire.
  • helpMsg ( text / default :'' ) : Message d'aide
  • errorMsg ( text / default :'' ) : Message d'erreur.
@cOption
Les paramètres
  • label ( text / obligatoire ) : Attribut label de l'option
  • value ( text / obligatoire ) : Attribut value de l'option
  • selected ( bool / default : false ) : Indique si l'option est sélectionnée.
  • disabled ( bool / default : false ) : Indique si l'option est désactivée.
  • id ( text / default :'' ) : Identifiant unique.
  • class ( text / default :'custom-select' ) : Attribut class
  • params ( text / default :'listbox' ) : N'importe quel attribut HTML
@cOptgroup
Les paramètres
  • label ( text / obligatoire ) : Attribut label de l'option
  • disabled ( bool / default : false ) : Indique si l'option est désactivée.
  • id ( text / default :'' ) : Identifiant unique.
  • class ( text / default :'custom-select' ) : Attribut class
  • params ( text / default :'listbox' ) : N'importe quel attribut HTML

Documentation Formulaires Bootstrap 4

Prévisualisation Style guide @cStepDone [Nouvelle Fenêtre]

Accueil

Ce questionnaire est personnel
Marcel

Macro

<@cStepDone step='1' title='Accueil' idx=1 >
 <@cFormRow>
    <@cCol>
        Ce questionnaire est personnel
    </@cCol>
  </@cFormRow>
 <@cFormRow>
    <@cCol>
        <@cLabel label='Votre nom ' />
    </@cCol>
    <@cCol>
        Marcel
    </@cCol>
  </@cFormRow>
<@cStepDone>

Html

<section class="step step-done ">
<section class="step-title">
<div class="container d-flex justify-content-between">
<h2 class="title">
<span class="step-number">
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.9607 23.9932L5.33203 16.3882L7.67726 14.0502L12.9607 19.3173L24.3201 7.99316L26.6654 10.3311L12.9607 23.9932Z" fill="white"/></svg></span>
<span>
Accueil</span>
</h2>
<span class="d-none d-sm-block pl-2">
<button class="btn btn-secondary btn-sm-block" type="submit"name="action_doGoToStep"value="1" aria-label="Modifier l'étape Accueil" formnovalidate>
<span class="btn-label ">Modifier</span>
</button>
</span>
</div>
</section>
<div class="container">
<div class="step-content">
<div class="form-row">
<div class="col ">
Ce questionnaire est personnel
</div>
</div>
<div class="form-row">
<div class="col ">
<label class="">
Votre nom
</label>
Marcel
</div>
</div>
<div class="d-block d-sm-none mt-m">
<button class="btn btn-primary btn-sm-block" type="submit"name="action_doGoToStep"value="1" aria-label="Modifier l'étape Accueil" formnovalidate>
<span class="btn-label ">Modifier</span>
</button>
</div>
</div>
</div>
</section>
Etape Réalisée
Les paramètres
  • step ( text / obligatoire ) : Numéro de l'étape
  • title ( text / obligatoire ) : Titre de l'étape
  • titleLevel ( number / default : 2 ) : Niveau de titre de l'étape
  • idx ( number / obligatoire ) : Index de l'étape
  • actionName ( text / default :'action_doGoToStep' ) : Action utilisée pour le bouton "Modifier"
  • actionLabel ( text / default :'Modifier' ) : Label du bouton "Modifier"
  • actionAriaLabelKey ( text / default :'themeparisfr.ariaLabelUpdate' ) : Label accessible -aria-label- pour le bouton "Modifier"
  • actionHref ( text / default :'' ) : Url a préciser si on ne veux pas utiliser le formulaire par défaut.
  • actionClass ( text / default :'' ) : Class pour le lien.
  • actionParams ( text / default :'' ) : Paramètres pour le lien.
  • class ( text / default :'' ) : Classes CSS
  • id ( text / default :'' ) : Identifiant unique
  • params ( text / default :'' ) : Tout autre attribut HTML
  • #nested : Informations é présenter é l'intérieur de la macro.
actionHref='' actionClass='' class='' id='' params=''>

Prévisualisation Style guide @cStepCurrent [Nouvelle Fenêtre]

2 Dossier

Les champs suivis d'un astérisque * sont obligatoires.

Saisir votre nom de famille

Les champs suivis d'un astérisque * sont obligatoires.

Macro

<@cStepCurrent step='1' title='Dossier'>
<@cFormRow>
    <@cCol>
      <@cField label='Nom' for='name5' labelData='<small class="text-muted">(Nom de famille)</small>'>
         <@cInput name='name5' placeholder='Exemple: Durand' />
         <@cFormHelp id='name5' label='Saisir votre nom de famille' />
      </@cField>
    </@cCol>
    <@cCol>
      <@cField label='Prénom' for='firstname-current'>
         <@cInput name='firstname-current' required=false />
      </@cField>
  </@cCol>
</@cFormRow>
<@cFormRow>
    <@cCol params='aria-describedby="mydata"'>
        <@cField>
        <@cLabel label='Conserver ces données' for='mydata' />
        <@cFormRow>
            <@cCol>
                <@cRadio name='mydata' id='md2' label='Oui' value='1' inline=true  />
                <@cRadio name='mydata' id='md1' label='Non' value='2' inline=true />
            </@cCol>
        </@cFormRow>
      </@cField>
   </@cCol>
</@cFormRow>
<@cStepCurrent>

Html

<section class="step step-current " id="current_step">
<section class="step-title">
<div class="container">
<h2 class="title" data-step="2" title="Dossier - étape en cours" aria-current="step">
<span class="step-number">
2</span>
<span>
Dossier</span>
</h2>
</div>
</section>
<div class="container">
<section class="step-content">
<div class="form-row">
<div class="col sr-only">
<p class="mandatory-warning">
Les champs suivis d'un astérisque * sont obligatoires.</p>
</div>
</div>
<div class="form-row">
<div class="col ">
<div class="form-group ">
<label class="" for="fname">
Nom <small class="text-muted">(Nom de famille)</small>
</label>
<input type="text" class=" form-control" name="fname" id="fname" value="" placeholder="Exemple: Durand">
<p class="form-text " id="help_fname">
Saisir votre nom de famille</p>
</div>
</div>
<div class="col ">
<div class="form-group ">
<label class="" for="firstname-step">
Prénom
</label>
<input type="text" class=" form-control" name="firstname-step" id="firstname-step" value="">
</div>
</div>
</div>
<div class="form-row">
<div class="col " aria-describedby="mydata">
<div class="form-group ">
<label class="" for="mydata">
Conserver ces données
</label>
<div class="form-row">
<div class="col ">
<div class='radio-container custom-control-inline'>
<div class="custom-control custom-radio">
<input type="radio" id="md2" name="mydata" class="custom-control-input" value="1">
<label class="custom-control-label" for="md2">Oui</label>
</div>
</div>
<div class='radio-container custom-control-inline'>
<div class="custom-control custom-radio">
<input type="radio" id="md1" name="mydata" class="custom-control-input" value="2">
<label class="custom-control-label" for="md1">Non</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-row">
<div class="col-12 col-md-10 ">
<p class="mandatory-warning">
Les champs suivis d'un astérisque * sont obligatoires.</p>
</div>
</div>
<div class="form-row">
<div class="col-12 d-flex justify-content-end mb-l">
</div>
</div>
</section>
</div>
</section>
<script>
window.addEventListener('DOMContentLoaded', (event) => {
const current = document.querySelector('#current_step');
const y = current.offsetTop - 180;
window.scrollBy(0, y);
const formValidateButton = document.querySelector('#');
formValidateButton.addEventListener('click', (e) => {
const invalids = document.querySelectorAll('.form-control:invalid','.form-control:user-invalid');
const arrInvalids = Array.prototype.slice.call(invalids);
arrInvalids.forEach( function( invalid ){
invalid.classList.add('is-invalid')
const isRequired = invalid.getAttributeNode('required');
if( isRequired !='' ){
let pInvalid = document.createElement("p");
pInvalid.classList.add( 'invalid-feedback' );
pInvalid.setAttribute( 'role', 'alert' );
pInvalid.innerHTML = `Les champs suivis d'un astérisque * sont obligatoires.`;
invalid.after( pInvalid );
}
});
})
});
</script>
Etapes courants
Les paramètres
  • step ( texte numérique / obligatoire ) : Numéro de l'étape
  • title ( text / obligatoire ) : Titre de l'étape
  • showTitle ( boolean / default: true ) : Affiche ou masque le titre de l'étape New
  • titleLevel ( number / default : 2 ) : Niveau de titre de l'étape
  • actionNextStep ( text / default : '' ) : Action pour le formulaire pour passer à l'étape suivante. Si vide le bouton n'est pas affiché.
  • titleNextStep ( text / default : '' ) : Attribut title d'aide pour l'accesibilité pour l'action revenir à l'étape suivante. .
  • labelNextStep ( text / default : 'Etape précédente' ) : Texte du bouton étape suivante.
  • actionPrevStep ( text / default : '' ) : Action pour le formulaire pour revenir à l'étape précédente. Si vide le bouton n'est pas affiché.
  • titlePrevStep ( text / default : '' ) : Attribut title d'aide pour l'accesibilité pour l'action revenir à l'étape précédente. .
  • labelPrevStep ( text / default : 'Etape suivante' ) : Texte du bouton étape précédente.
  • actionSaveStep ( text / default : '' ) : Action pour le formulaire pour sauvegarder l'étape. Si vide le bouton n'est pas affiché.
  • titleSaveStep ( text / default : '' ) : Attribut title d'aide pour l'accesibilité pour l'action "Sauvegarder".
  • labelSaveStep ( text / default : 'Sauvegarder l'avancement' ) : Texte du bouton "Sauvegarder"
  • actionSaveForBackUpStep ( text / default : '' ) : Action pour le formulaire pour sauvegarder en cours de saisie du formulaire. Si vide le bouton n'est pas affiché.
  • titleForBackUpStep ( text / default : '' ) : Attribut title d'aide pour l'accesibilité pour l'action "Sauvegarder".
  • labelForBackUpStep ( text / default : 'Sauvegarder l'avancement' ) : Texte du bouton "Sauvegarder".
  • actionResetBackUpStep ( text / default : '' ) : Action pour supprimer la sauvegarde en cours. Si vide le bouton n'est pas affiché.
  • titleResetBackUpStep ( text / default : '' ) : Attribut title d'aide pour l'accesibilité pour l'action "Supprimer la sauvegarde en cours".
  • labelResetBackUpStep ( text / default : 'Supprimer l'avancement' ) : Texte du bouton "Supprimer la sauvegarde en cours".
  • showPrevStep ( boolean / default : true ) : Affiche le bouton "Etape précédente dans l'étape. Si false traiter le retour à l'étape "précédente" dans l'étape passée (macro @cStepDone)
  • hasSteps ( boolean / default : true ) : Si le formulaire a plus d'une étape, true par défaut, affiche le numéro de l'étape.
  • hasMandatory ( boolean / default : true ) : Si l'étape contient des champs obligatoire affiche le message "Les champs obligatoires...". Texte du message dans le fichier "WEB-INF\classes\fr\paris\lutece\plugins\themeparisfr\resources\themeparisfr_messages_fr.properties" clé "msgMandatory".
  • class ( text / default : '' ) : Nom de classe
  • params ( text / default :'' ) : Tout autre attribut HTML
  • #nested : Formulaire à présenter à l'intérieur de la macro.

Macro

<@cStepNext step='3' title='Localisation' />

Html

<section class="step step-next">
<section class="step-title">
<div class="container">
<h2 class="title" data-step="3">
<span class="step-number">
3</span>
<span>
Localisation</span>
</h2>
</div>
</section>
</section>
Etapes suivantes
Les paramètres
  • step ( text / obligatoire ) : Numéro de l'étape
  • title ( text / obligatoire ) : Titre de l'étape
  • titleLevel ( number / default : 2 ) : Niveau de titre de l'étape
  • class ( text / default : '' ) : Nom de classe
  • id ( text / default : '' ) : Identifiant
  • params ( text / default :'' ) : Tout autre attribut HTML

Prévisualisation Style guide @cStepGroup [Nouvelle Fenêtre]

Contenu d'une étape : Avec bulle d'aide

2 Dossier

Les champs suivis d'un astérisque * sont obligatoires.

Information

Lorem ipsum Help

Saisir votre nom de famille


Contenu d'une étape avec au moins une itération

Information avec Itération (2)

Saisir votre nom de famille

Les champs suivis d'un astérisque * sont obligatoires.

Macro

<@cStepGroup title='Information' help=''>
   <@cFormRow>
       <@cCol>
           <@cField label='Nom' for='name6' labelData='<small class="text-muted">(Nom de famille)</small>'>
               <@cInput name='name6' placeholder='Exemple: Durand' />
               <@cFormHelp id='name6' label='Saisir votre nom de famille' />
           </@cField>
       </@cCol>
       <@cCol>
           <@cField label='Prénom' for='firstname-group'>
               <@cInput name='firstname-group' required=false />
           </@cField>
       </@cCol>
    </@cFormRow>
</@cStepGroup>
<@cStepGroup title='Information' iterate=true iteration=1>
   <@cFormRow>
       <@cCol>
           <@cField label='Nom' for='name7' labelData='<small class="text-muted">(Nom de famille)</small>'>
               <@cInput name='name7' placeholder='Exemple: Durand' />
               <@cFormHelp id='name7' label='Saisir votre nom de famille' />
           </@cField>
       </@cCol>
       <@cCol>
           <@cField label='Prénom' for='firstname-group-2'>
               <@cInput name='firstname-group-2' required=false />
           </@cField>
       </@cCol>
    </@cFormRow>
</@cStepGroup>

Html

<p class="lead">
Contenu d'une étape : Avec bulle d'aide</p>
<section class="step step-current " id="current_step">
<section class="step-title">
<div class="container">
<h2 class="title" data-step="2" title="Dossier - étape en cours" aria-current="step">
<span class="step-number">
2</span>
<span>
Dossier</span>
</h2>
</div>
</section>
<div class="container">
<section class="step-content">
<div class="form-row">
<div class="col sr-only">
<p class="mandatory-warning">
Les champs suivis d'un astérisque * sont obligatoires.</p>
</div>
</div>
<div class="form-row">
<section class="w-100 flex-fill step-group ">
<a href="" name="last_" >
</a>
<div class="container">
<div class="row ">
<div class="col-12 px-3 ">
<h2 class="title">
Information </h2>
</div>
</div>
<div class="form-row">
<div class="col ">
<div class="accordion" id="acc0">
<div class="card outline my-l" >
<h3 class="card-header m-0" data-toggle="collapse" data-target="#collapseAcc0" role="combobox" aria-expanded="true" aria-controls="collapseAcc0">
<button class="btn btn-link btn-block btn-header-accordion" type="button" data-toggle="collapse" data-show-label="Voir le détail" data-hide-label="Masquer le détail" data-target="#collapseAcc0" aria-expanded="true" aria-controls="collapseAcc0">
<span class="d-flex align-items-center flex-1">
<span class="card-header-prepend">
<svg class="paris-icon paris-icon-alert-info" focusable="false" >
<title>information</title>
<use xlink:href="#paris-icon-alert-info"></use>
</svg>
</span>
<span id="headingAcc0">Aide sur Information.</span>
<span class="card-header-separator"></span>
</span>
<span class="accordion-toggle">
<span class="btn-label-accordion d-none d-md-inline-block"></span>
<span class="btn-accordion">
<svg class="paris-icon paris-icon-arrow-bottom" focusable="false" >
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</span>
</span>
</button>
</h3>
<div id="collapseAcc0" class="m-0 collapse show" role="region" aria-labelledby="headingAcc0" data-parent="#acc0">
<div class="card-body">
Lorem ipsum Help
</div>
</div>
<div class="card-footer d-block d-sm-none text-center">
<button class="btn btn-link btn-accordion" type="button" data-toggle="collapse" data-target="#collapseAcc0" aria-expanded="true" aria-controls="collapseAcc0">
<svg class="paris-icon paris-icon-arrow-bottom" aria-hidden="true" focusable="false">
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</button>
</div>
</div>
</div>
</div>
</div>
<div class="form-row">
<div class="col ">
<div class="form-group ">
<label class="" for="name">
Nom <small class="text-muted">(Nom de famille)</small>
</label>
<input type="text" class=" form-control" name="name" id="name" value="" placeholder="Exemple: Durand">
<p class="form-text " id="help_name">
Saisir votre nom de famille</p>
</div>
</div>
<div class="col ">
<div class="form-group ">
<label class="" for="firstname">
Prénom
</label>
<input type="text" class=" form-control" name="firstname" id="firstname" value="">
</div>
</div>
</div>
</div>
</section>
</div>
<hr>
<p class="lead">
Contenu d'une étape avec au moins une itération</p>
<div class="form-row">
<section class="w-100 flex-fill step-group ">
<a href="" name="last_" >
</a>
<div class="container">
<div class="row ">
<div class="col-12 px-3 d-flex justify-content-between">
<h2 class="title">
Information avec Itération (2)</h2>
<div class="text-right">
<button class="btn btn-danger btn-mini ms-m" type="submit"name="action_removeIteration" value="rm_1">
<svg class="paris-icon paris-icon-trash" focusable="false" >
<use xlink:href="#paris-icon-trash"></use>
</svg>
<span class="btn-label">
Supprimer</span>
</button>
</div>
</div>
</div>
<div class="form-row">
<div class="col ">
<div class="form-group ">
<label class="" for="name635">
Nom <small class="text-muted">(Nom de famille)</small>
</label>
<input type="text" class=" form-control" name="name635" id="name635" value="" placeholder="Exemple: Durand">
<p class="form-text " id="help_name635">
Saisir votre nom de famille</p>
</div>
</div>
<div class="col ">
<div class="form-group ">
<label class="" for="firstname-2">
Prénom
</label>
<input type="text" class=" form-control" name="firstname-2" id="firstname-2" value="">
</div>
</div>
</div>
<div class="form-row">
<div class="col px-4 px-sm-5 d-flex justify-content-end">
<button class="btn btn-mini ms-m" type="submit"name="action_addIteration" value="add_1">
<svg class="paris-icon paris-icon-plus" focusable="false" >
<use xlink:href="#paris-icon-plus"></use>
</svg>
<span class="btn-label">
Ajouter</span>
</button>
</div>
</div>
</div>
</section>
</div>
<div class="form-row">
<div class="col-12 col-md-10 ">
<p class="mandatory-warning">
Les champs suivis d'un astérisque * sont obligatoires.</p>
</div>
</div>
<div class="form-row">
<div class="col-12 d-flex justify-content-end mb-l">
</div>
</div>
</section>
</div>
</section>
<script>
window.addEventListener('DOMContentLoaded', (event) => {
const current = document.querySelector('#current_step');
const y = current.offsetTop - 180;
window.scrollBy(0, y);
const formValidateButton = document.querySelector('#');
formValidateButton.addEventListener('click', (e) => {
const invalids = document.querySelectorAll('.form-control:invalid','.form-control:user-invalid');
const arrInvalids = Array.prototype.slice.call(invalids);
arrInvalids.forEach( function( invalid ){
invalid.classList.add('is-invalid')
const isRequired = invalid.getAttributeNode('required');
if( isRequired !='' ){
let pInvalid = document.createElement("p");
pInvalid.classList.add( 'invalid-feedback' );
pInvalid.setAttribute( 'role', 'alert' );
pInvalid.innerHTML = `Les champs suivis d'un astérisque * sont obligatoires.`;
invalid.after( pInvalid );
}
});
})
});
</script>
Contenu étape
Les paramètres
  • title ( text / obligatoire ) : Titre de l'étape
  • iterable ( bool / default : false ) : Par défaut le contenu n'est pas itérable, si true le bloc afficher le bouton pour ajouter une itération et si le numéro -paramétre iteration est supérieur é 0 alors on affiche aussi le bouton de suppression de l'itération.
  • iteration ( number / default : 0 ) : Numéro de l'itération. Si supérieur à 0 permet d'afficher le bouton de suppression de l'itération.
  • iterationMax ( number / default : 10 ) : Nombre max d'itération.
  • labelAddIteration ( text / default :'Ajouter' ) : Libellé du bouton d'ajout de l'itération.
  • labelDelIteration ( text / default :'Supprimer' ) : Libellé du bouton de suppresssion de l'itération.
  • headerParams ( text / default :'' ) : Aide affichée dans la bulle d'aide
  • help ( text / default :'' ) : Ajout d'un texte d'aide au header
  • class ( text / default :'main' ) : Les valeurs possibles sont 'main','primary','external-primary','outline-external-link' et 'link'
  • id ( text / default :'' ) : Identifiant unique
  • params ( text / default :'' ) : Tout autre attribut HTML
  • #nested : Informations à présenter à l'intérieur de la macro.

Prévisualisation Style guide France Connect [Nouvelle Fenêtre]

Macro

<@cText>
    <@fcBtnImg />
</@cText>
<@cText>
    <@fcImg label='Quid' />
</@cText>
<@cCard>
    <@fcMessage>Quoi de plus...</@fcMessage>
</@cCard>

Html

<p>
<div class="fr-connect-group m-0">
<button class="fr-connect m-0" type="submit">
<span class="fr-connect__login">
Créer mon compte avec</span>
<span class="fr-connect__brand">
FranceConnect</span>
</button>
</div>
</p>
<p>
<svg height="74" viewBox="0 0 312 74" width="248" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true">
<clipPath id="a"><path d="m0 0h312v74h-312z"/></clipPath>
<g clip-path="url(#a)">
<path d="m0 0h312v74h-312z" fill="#fff"/>
<rect fill="#000091" height="74" rx="4" width="312"/>
<rect id="fc-btn-bg" fill="#000091" height="70" rx="4" transform="translate(1 1)" width="310"/>
<text fill="#fff" font-family="Montserrat-Regular, Montserrat" font-size="15" font-weight="500" transform="translate(81 32)">
<tspan x="0" y="0">Quid</tspan>
<tspan font-family="Montserrat-Bold, Montserrat" font-weight="700" font-size="18"><tspan x="0" y="20">FranceConnect</tspan></tspan>
</text>
<path d="m18 19.508v29.93l25.9 15.007 25.984-15.008v-29.929l-25.984-15.008z" fill="#fff" transform="translate(-5.142 1.529)"/>
<path d="m43.757 3.3-26.757 15.522v30.959l26.842 15.436 26.843-15.436v-30.959zm25.984 45.966-25.984 15.008-25.9-15.008v-29.929l25.9-15.008 25.984 15.008z" fill="#000091" transform="translate(-5 1.7)"/><path d="m57.373 19.675-11.749-6.775-11.748 6.775-7.976 4.631v22.726l19.724 11.406 19.725-11.406v-22.726z" fill="#0069cc" transform="translate(-6.268 .333)"/><path d="m62.107 35.626-7.118-12.264-6.089-10.462v45.538l19.724-11.406z" fill="#000091" transform="translate(-9.544 .333)"/><path d="m56 24.488 7.118 12.263 6.518-11.32-7.976-4.631z" fill="#0069cc" transform="translate(-10.555 -.792)"/><path d="m60.649 19.675-11.749-6.775 6.089 10.463z" fill="#ed1c24" transform="translate(-9.544 .333)"/><path d="m54.989 23.362-6.089-10.462z" fill="#0069cc" transform="translate(-9.544 .333)"/><path d="m70.818 48.926v-22.726l-6.518 11.32z" fill="#ed1c24" transform="translate(-11.737 -1.561)"/><path d="m64.3 39.4 6.518 11.406z" fill="#ed1c24" transform="translate(-11.737 -3.441)"/>
<path d="m32.5 35.626 7.118-12.263 6-10.463v45.538l-19.718-11.406z" fill="#0069cc" transform="translate(-6.268 .333)"/>
<path d="m39.621 24.488-7.121 12.263-6.6-11.32 7.976-4.631z" fill="#ed1c24" transform="translate(-6.268 -.792)"/>
<path d="m35.2 19.675 11.749-6.775-6 10.463z" fill="#000091" transform="translate(-7.592 .333)"/>
<path d="m41.9 23.362 6-10.463z" fill="#0069cc" transform="translate(-8.547 .333)"/>
<path d="m25.9 48.926v-22.726l6.6 11.32z" fill="#000091" transform="translate(-6.268 -1.561)"/>
<path d="m32.5 39.4-6.6 11.406z" fill="#0069cc" transform="translate(-6.268 -3.441)"/>
<path d="m57.144 41.909a4.133 4.133 0 0 1 1.029 0c.257.086.6.086.6.172-.086.515-.858.6-1.2 1.115h-.173c-.172.086-.086.429-.257.429-.172-.086-.343 0-.6.086a1.02 1.02 0 0 0 .943.343c.086 0 .172.086.172.257a.084.084 0 0 0 .086-.086c.086 0 .086 0 .086.086v.257c-.172.257-.515.172-.772.172a4.155 4.155 0 0 0 1.458 0c.343-.172 0-.772.257-1.029-.086 0 0-.172-.172-.172.086-.086.257-.343.343-.343s.343-.086.343-.172-.257-.172-.172-.343c.343-.257.686-.6.515-1.029-.086-.172-.6-.172-.858-.257a2.112 2.112 0 0 0 -1.029.086 3.866 3.866 0 0 0 -.943.257 8.57 8.57 0 0 0 -1.2.686 16.245 16.245 0 0 1 1.544-.515z" fill="#000091" transform="translate(-10.498 -3.72)"/>
<path d="m57.617 43.546a6.545 6.545 0 0 0 -.686-.943 3.732 3.732 0 0 1 -.686-1.286 4.163 4.163 0 0 1 0-1.458 9.721 9.721 0 0 0 -.515-2.744c-.172-.429-.257-.943-.429-1.372a3.046 3.046 0 0 0 -.343-.772.389.389 0 0 1 0-.429 2.61 2.61 0 0 0 .686-.686.78.78 0 0 0 -.257-.943c-.429-.172-.343.429-.686.6h-.172c-.086-.172.086-.257.172-.343 0-.086 0-.172-.086-.172a1 1 0 0 1 -.6-.172 5.263 5.263 0 0 0 -2.487-1.626 2.374 2.374 0 0 0 .772.086 2.156 2.156 0 0 0 1.286-.172c.343-.172.343-.6.429-.943.086-.086 0-.172 0-.343s-.172-.343-.257-.515a1.061 1.061 0 0 1 -.172-.257c-.686-.772-3.345-3-8.319-2.659a21.349 21.349 0 0 0 -7.89 2.315c-.086 0-.172.086-.343.086a5.336 5.336 0 0 0 -1.629 1.202 4.836 4.836 0 0 0 -1.115 2.058 5.667 5.667 0 0 0 -1.715 2.058c-.515 1.029-1.2 1.887-1.2 3v.172c.086.343.086.6.172.943a17.563 17.563 0 0 1 .429 2.058l.257 1.029c.172.343 0 .772.257 1.115.086.172.086.429.343.515v.252c.086.086.086.086.172.086v.257a9.59 9.59 0 0 1 1.458 1.8c.172.343-.6.172-.943.086a6.813 6.813 0 0 1 -1.544-1.2l-.086.086c.257.429 1.2.943.686 1.286-.257.172-.6-.172-.772.086-.086.086 0 .257 0 .343-.343-.257-.772-.086-1.115-.257-.257-.086-.343-.515-.6-.515a10.811 10.811 0 0 0 -2.4-.343h-.172a9.9 9.9 0 0 0 -2.23-.086v.943a8.609 8.609 0 0 1 2.058-.343h.172c.172 0 .429-.086.6 0a2.918 2.918 0 0 0 -.858.086 9.334 9.334 0 0 0 -2.058.6v.858c.343.086.772.086 1.115.172a7.144 7.144 0 0 1 1.286.343 8.421 8.421 0 0 1 1.544.686c.257.172.343.343.6.515a1.09 1.09 0 0 0 1.029 0h.343a4.366 4.366 0 0 0 2.482-1.289.084.084 0 0 0 .086.086 5.451 5.451 0 0 1 -.515 1.544c0 .086-.086.172.086.257h.086c-.086 0-.086 0-.086.086s.172 0 .257.086a1.155 1.155 0 0 0 -.772.429c0 .086.086.086.172.086-.086.086-.343.086-.343.172l.086.086c-.086 0-.086 0-.086.086v.172c-.172 0-.257.172-.343.172.257.172.429 0 .686 0a18.349 18.349 0 0 1 -1.887.858c-.086 0 0 .172-.086.172.172.086.343-.086.515-.086a6.4 6.4 0 0 1 -1.029.6l2.058 1.2a9.718 9.718 0 0 0 2.315-1.885l.086.086a2.869 2.869 0 0 1 -1.029 1.458c-.343.172-.6.515-.858.6l1.544.858a4.054 4.054 0 0 1 1.029-.6c.086 0 .172.086.343.086a2.221 2.221 0 0 1 1.972-.943c0 .086 0 .086.086.086a.084.084 0 0 0 .086-.086c0 .086 0 .086-.086.086-.257.172-.429.343-.686.515-.086.086 0 .086.086.086a6.019 6.019 0 0 0 .772-.515.315.315 0 0 0 -.086.257 13.786 13.786 0 0 0 -1.972 1.887l8.151 4.718c.257-.343.6-.858.943-1.286a72.649 72.649 0 0 1 4.459-5.917 2.517 2.517 0 0 1 .858-.257c1.029 0 2.144.257 3.173.343.086 0 .257.086.343.086a2.948 2.948 0 0 0 1.2-.086 1.741 1.741 0 0 0 1.115-.943 1.544 1.544 0 0 0 0-1.372c-.429-.515.343-.772.6-1.115.172-.343-.172-.515-.172-.772-.086-.086-.343-.086-.429-.257.429-.172 1.115-.6.772-1.115-.172-.343-.515-.772-.172-1.115.429-.257 1.115-.257 1.286-.686.517-.862-.254-1.462-.597-2.062zm-2.659-3.087c-.086.086.172.172.172.343a.65.65 0 0 1 -.343.172l-.343.343c.086 0 0 .172.172.172-.257.343.172.943-.257 1.029a2.126 2.126 0 0 1 -1.458 0c.257-.086.6.086.772-.172v-.257a.084.084 0 0 0 -.087-.089l-.086.086c0-.086-.172-.257-.172-.257a1.02 1.02 0 0 1 -.943-.343.7.7 0 0 1 .6-.086c.172 0 .086-.343.257-.429h.172c.343-.515 1.115-.686 1.2-1.115 0-.086-.343-.086-.6-.172a4.132 4.132 0 0 0 -1.029 0 6.427 6.427 0 0 0 -1.372.429 5.468 5.468 0 0 1 1.2-.686 3.866 3.866 0 0 1 .943-.257 2.19 2.19 0 0 1 1.029-.086c.343.086.772.086.858.257a1.677 1.677 0 0 1 -.685 1.117z" fill="#fff" transform="translate(-6.168 -1.583)"/>
</g>
</svg>
</p>
<div class="card ">
<div class="card-body">
<p>
Quoi de plus...<br/>
<a href="https://franceconnect.gouv.fr/" title="Plus d'informations sur le site de FranceConnect [Nouvelle Fenêtre]" target="_blank" rel="noopener" >
<span class="link-label">Plus d'informations sur le site de FranceConnect</span>
</a>
</p>
</div>
</div>
France Connect
Les paramètres
@fcBtnImg
  • label ( text / default : 'Créer mon compte avec' ) : Texte souhaité, 'Créer', 'Supprimer'...
  • type ( text / default : 'button' ) : Type du bouton, l'autre valeur est 'link'
  • linkClass ( text / default : '' ) : Classes CSS du lien si le type est 'link'
  • btnClass ( text / default : 'fr-connect m-0') : Classes CSS du bouton si le type est 'button'
  • url ( text / default : '' ) : Url du lien si le type est 'link'
@fcImg
  • label ( text / default :'' ) : Texte souhaité, 'Créer', 'Supprimer'...
@fcMessage
  • #nested : Contenu à afficher à l'intérieur du message.

Documentation France Connect

Macro

<#assign ls = [
{"title":"Page de Paris.fr dédiée aux régles d'urbanisme", "url":"https://paris.fr", "target":"_blank"},
{"title":"Consultation du PLU", "url":"https://www.paris.fr/municipalite", "target":"_blank", "current": 0}
]>
<@cCard title='Liste de liens '>
    <@cList ls>
    <#-- Optionnel -->
    <@chItem>
        <@cLink href='http://paris.fr' target='_blank' label='Decouvrir Paris.fr' title='Site de la Ville de Paris' />
    </@chItem>
    </@cList>
    <@cList items=ls class='list-highlight-secondary'>
    <#-- Optionnel -->
    <@chItem>
        <@cLink href='http://paris.fr' target='_blank' label='Decouvrir Paris.fr' title='Site de la Ville de Paris' />
    </@chItem>
    </@cList>
</@cCard>
<#assign lsFiles = [
{"title":"Régles d'urbanisme.pdf", "url":"https://paris.fr", "target":"_blank", "size": "80ko", "type":"pdf"},
{"title":"PLU.docx", "url":"https://www.paris.fr/", "target":"", "size": "80ko", "type":"pdf"}
]>
<@cCard title='Liste de fichiers '>
    <@cList items=lsFiles type='files' />
    <@cList items=lsFiles type='files' class='list-highlight-secondary' />
</@cCard>
<#assign lsall = [
{"title":"Tout sur le théme", "url":"https://teleservices2.rec.apps.paris.fr/forms", "target":"_blank"},
{"title":"Tout sur Lutéce", "url":"https://lutece.paris.fr/", "target":"","current": 0},
{"title":"Tout sur ma mére", "url":"https://www.allocine.fr/film/fichefilm_gen_cfilm=7868.html", "target":"", "current": 0}
{"title":"Tout sur le théme", "url":"https://teleservices2.rec.apps.paris.fr/forms", "target":"_blank"},
{"title":"Tout sur Lutéce", "url":"https://lutece.paris.fr/", "target":"","current": 0},
{"title":"Tout sur ma mére", "url":"https://www.allocine.fr/film/fichefilm_gen_cfilm=7868.html", "target":"", "current": 0}
]>
<@cCard title='Liste de liens'>
    <@cList items=lsall type='more' itemsShown=3 />
</@cCard>

Html

<div class="card ">
<div class="card-body">
<h3 class="card-title ">
Liste de liens </h3>
<ul class="custom-list list-default" >
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://paris.fr" title="Page de Paris.fr dédiée aux régles d'urbanisme" target="_blank">
<span>Page de Paris.fr dédiée aux régles d'urbanisme </span>
</a>
</li>
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://www.paris.fr/municipalite" title="Consultation du PLU" target="_blank">
<span>Consultation du PLU </span>
</a>
</li>
<li>
<a href="http://paris.fr" title="Site de la Ville de Paris [Nouvelle Fenêtre]" target="_blank" >
<span class="link-label">Decouvrir Paris.fr</span>
</a>
</li>
</ul>
<ul class="custom-list list-default list-highlight-secondary" >
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://paris.fr" title="Page de Paris.fr dédiée aux régles d'urbanisme" target="_blank">
<span>Page de Paris.fr dédiée aux régles d'urbanisme </span>
</a>
</li>
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://www.paris.fr/municipalite" title="Consultation du PLU" target="_blank">
<span>Consultation du PLU </span>
</a>
</li>
<li>
<a href="http://paris.fr" title="Site de la Ville de Paris [Nouvelle Fenêtre]" target="_blank" >
<span class="link-label">Decouvrir Paris.fr</span>
</a>
</li>
</ul>
</div>
</div>
<div class="card ">
<div class="card-body">
<h3 class="card-title ">
Liste de fichiers </h3>
<ul class="custom-list list-files" >
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://paris.fr" title="Régles d'urbanisme.pdf" target="_blank" download="Régles_d_urbanisme.pdf">
<span>Régles d'urbanisme.pdf </span>
<div class="files-info">
<small>80ko</small>
<svg class="paris-icon paris-icon-file-text ml-m main-color" focusable="false" >
<use xlink:href="#paris-icon-file-text"></use>
</svg>
</div>
</a>
</li>
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://www.paris.fr/" title="PLU.docx" download="PLU.docx">
<span>PLU.docx </span>
<div class="files-info">
<small>80ko</small>
<svg class="paris-icon paris-icon-file-text ml-m main-color" focusable="false" >
<use xlink:href="#paris-icon-file-text"></use>
</svg>
</div>
</a>
</li>
</ul>
<ul class="custom-list list-files list-highlight-secondary" >
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://paris.fr" title="Régles d'urbanisme.pdf" target="_blank" download="Régles_d_urbanisme.pdf">
<span>Régles d'urbanisme.pdf </span>
<div class="files-info">
<small>80ko</small>
<svg class="paris-icon paris-icon-file-text ml-m main-color" focusable="false" >
<use xlink:href="#paris-icon-file-text"></use>
</svg>
</div>
</a>
</li>
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://www.paris.fr/" title="PLU.docx" download="PLU.docx">
<span>PLU.docx </span>
<div class="files-info">
<small>80ko</small>
<svg class="paris-icon paris-icon-file-text ml-m main-color" focusable="false" >
<use xlink:href="#paris-icon-file-text"></use>
</svg>
</div>
</a>
</li>
</ul>
</div>
</div>
<div class="card ">
<div class="card-body">
<h3 class="card-title ">
Liste de liens</h3>
<ul class="custom-list list-more more-list" >
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://teleservices2.rec.apps.paris.fr/forms" title="Tout sur le théme" target="_blank">
<span>Tout sur le théme </span>
</a>
</li>
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://lutece.paris.fr/" title="Tout sur Lutéce" >
<span>Tout sur Lutéce </span>
</a>
</li>
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://www.allocine.fr/film/fichefilm_gen_cfilm=7868.html" title="Tout sur ma mére" >
<span>Tout sur ma mére </span>
</a>
</li>
<li class="custom-list-item ">
<a class="d-flex justify-content-between align-items-center" href="https://teleservices2.rec.apps.paris.fr/forms" title="Tout sur le théme" target="_blank">
<span>Tout sur le théme </span>
</a>
</li>
<li class="custom-list-item extra hidden">
<a class="d-flex justify-content-between align-items-center" href="https://lutece.paris.fr/" title="Tout sur Lutéce" >
<span>Tout sur Lutéce </span>
</a>
</li>
<li class="custom-list-item extra hidden">
<a class="d-flex justify-content-between align-items-center" href="https://www.allocine.fr/film/fichefilm_gen_cfilm=7868.html" title="Tout sur ma mére" >
<span>Tout sur ma mére </span>
</a>
</li>
<li class="more">
<a href="#" class="btn-more" title="Voir plus" data-plus="Voir plus" data-minus="Fermer" >
<svg xmlns="http://www.w3.org/2000/svg" class="plus" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12 5l0 14" /><path d="M5 12l14 0" /></svg>
<svg xmlns="http://www.w3.org/2000/svg" class="minus" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 12l14 0" /></svg>
<span class="link-label">Voir plus</span>
</a>
</li>
</ul>
</div>
</div>
Les paramètres
  • @param - id - string - optional - l'ID de la liste
  • @param - class - string - optional - ajoute une classe CSS à la liste
  • @param - items - object - required - Objet list avec items de menu. L'objet contient un attribut 'titre', un attribut 'url' et un attribut 'target'
  • @param - itemsShown - number - optional - définit le nombre d'item de list affiché pour liste 'more' (par défaut: 0)
  • @param - indexShown - boolean - optional - affiche un index (par défaut: false)
  • @param - labelMore - string - optional - définit le libellé d'ouverture pour le type de liste 'more' (par défaut: i18n("themeparisfr.labelShowMore"))
  • @param - labelClose - string - optional - définit le libellé de fermeture pour le type de liste 'more' (par défaut: i18n("themeparisfr.labelClose"))
  • @param - type - string - optional - définit le type de liste (par défaut: 'default', valeurs possible: 'default', 'more', 'files')
  • @param - params - string - optional - permet d'ajouter des parametres HTML à la liste

Il est possible de changer la puce d'un item de liste en ajoutant un attribut "class" à chaque item. Il faut ajouter pour nom de classe l'une des valeurs suivantes disponible: arrow, arobase, screen. Pour étendre la liste des illustration, il faut ajouter dans une css le code suivant:

    
    /* Default list [name] item icon */
    .custom-list.list-default li.yourclassname::after {
        /* Add content in url encoded SVG format */
        content: url(data:image/svg+xml,%3Csvg%20width%3D%2214%22%20height%3D%2215%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M-2-2h24v24H-2z%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M10.72.03A9.991%209.991%200%2000.03%2010.72C.39%2016.01%205.01%2020%2010.31%2020H14c.55%200%201-.45%201-1s-.45-1-1-1h-3.67c-3.73%200-7.15-2.42-8.08-6.03C.76%206.17%206.16.76%2011.96%202.26%2015.58%203.18%2018%206.6%2018%2010.33v1.1c0%20.79-.71%201.57-1.5%201.57s-1.5-.78-1.5-1.57v-1.25c0-2.51-1.78-4.77-4.26-5.12a5.008%205.008%200%2000-5.66%205.87%204.996%204.996%200%20003.72%203.94c1.84.43%203.59-.16%204.74-1.33.89%201.22%202.67%201.86%204.3%201.21%201.34-.53%202.16-1.9%202.16-3.34v-1.09C20%205.01%2016.01.39%2010.72.03zM10%2013c-1.66%200-3-1.34-3-3s1.34-3%203-3%203%201.34%203%203-1.34%203-3%203z%22%20fill%3D%22%23071f32%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E);
        /* Any CSS values needed.. */
    }
    .custom-list.list-default li.yourclassname:hover::after {
        /* Add content in url encoded SVG format */
        content: url(data:image/svg+xml,%3Csvg%20width%3D%2214%22%20height%3D%2215%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M-2-2h24v24H-2z%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M10.72.03A9.991%209.991%200%2000.03%2010.72C.39%2016.01%205.01%2020%2010.31%2020H14c.55%200%201-.45%201-1s-.45-1-1-1h-3.67c-3.73%200-7.15-2.42-8.08-6.03C.76%206.17%206.16.76%2011.96%202.26%2015.58%203.18%2018%206.6%2018%2010.33v1.1c0%20.79-.71%201.57-1.5%201.57s-1.5-.78-1.5-1.57v-1.25c0-2.51-1.78-4.77-4.26-5.12a5.008%205.008%200%2000-5.66%205.87%204.996%204.996%200%20003.72%203.94c1.84.43%203.59-.16%204.74-1.33.89%201.22%202.67%201.86%204.3%201.21%201.34-.53%202.16-1.9%202.16-3.34v-1.09C20%205.01%2016.01.39%2010.72.03zM10%2013c-1.66%200-3-1.34-3-3s1.34-3%203-3%203%201.34%203%203-1.34%203-3%203z%22%20fill%3D%22%23ffffff%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E);
        /* Any CSS values needed.. */
    }

Prévisualisation Style guide @cErrorMessage [Nouvelle Fenêtre]

Macro

<@cErrorMessage title='Erreur Enorme' text='Grossière erreur tout est à revoir' linkUrl='.' linkLabelUrl='On y va !' />

Html

<div class="container d-flex align-items-center justify-content-center vh-50">
<div class="row ">
<div class="col ">
<div class="alert alert-outline alert-danger align-items-baseline" role="alert">
<div class="alert-icon">
<svg class="paris-icon paris-icon-alert-danger" focusable="false" >
<title>information</title>
<use xlink:href="#paris-icon-alert-danger"></use>
</svg>
</div>
<div class="alert-text">
Erreur Enorme
<p class="mt-l font-extra-bold">
Grossière erreur tout est à revoir</p>
<p class="text-center mt-l">
<a href="." class="btn btn-primary" >
<span class="link-label">On y va !</span>
</a>
</p>
</div>
</div>
</div>
</div>
</div>
Macro @cErroMessage: Gestion des messages d'erreur
Les paramètres
  • @param - id - string - optional - l'ID du message d'erreur
  • @param - class - string - optional - ajoute une classe CSS au message d'erreur
  • @param - title - string - required - permet de définir le titre du message d'erreur
  • @param - text - string - required - permet de définir le texte du message d'erreur
  • @param - linkUrl - string - optional - permet d'ajouter un lien après le texte du message d'erreur
  • @param - linkLabelUrl - string - optional - permet de définir le label du lien du message d'erreur
  • @param - params - string - optional - permet d'ajouter des parametres HTML au message d'erreur

Prévisualisation Style guide @cFilter [Nouvelle Fenêtre]

44 résultats
Liste de filtres

Macro

<#assign checkboxes = [
{"title":"Filter 1", "id":"filter1"},
{"title":"Filter 2", "id":"filter2"},
{"title":"Filter 3", "id":"filter3"}
]>
<@cFilter checkboxes=checkboxes result='44 résultats'/>

Html

<div class="container">
<div class="row justify-content-between align-items-center">
<span class="filter-result">
44 résultats</span>
<button class="btn btn-secondary m-1 d-flex align-items-center" type="submit" id="filter-toggle-button">
<svg class="paris-icon paris-icon-filter main-info-color mr-3" focusable="false" >
<title>Filter</title>
<use xlink:href="#paris-icon-filter"></use>
</svg>
<span class="btn-label ">Masquer les filtres</span>
</button>
</div>
<div class="row " id="filters-container">
<fieldset class="d-flex m-0 flex-wrap">
<legend class='sr-only'>Liste de filtres</legend>
<div class="form-group ">
<div class=" btn-selection custom-control filter-custom-control custom-checkbox d-flex align-items-center mr-3">
<input type="checkbox" id="filter1" name="selectCheckbox" class="custom-control-input" value="filter">
<label class="custom-control-label" for="filter1">Filter 1 </label>
</div>
</div>
<div class="form-group ">
<div class=" btn-selection custom-control filter-custom-control custom-checkbox d-flex align-items-center mr-3">
<input type="checkbox" id="filter2" name="selectCheckbox" class="custom-control-input" value="filter">
<label class="custom-control-label" for="filter2">Filter 2 </label>
</div>
</div>
<div class="form-group ">
<div class=" btn-selection custom-control filter-custom-control custom-checkbox d-flex align-items-center mr-3">
<input type="checkbox" id="filter3" name="selectCheckbox" class="custom-control-input" value="filter">
<label class="custom-control-label" for="filter3">Filter 3 </label>
</div>
</div>
</fieldset>
<button class="btn btn-primary h-100" type="submit">
<span class="btn-label ">Rechercher</span>
</button>
<button class="btn btn-tertiary h-100" type="submit" id="filter-erase-button">
<span class="btn-label ">Tout effacer</span>
</button>
</div>
</div>
<script type="module" src="themes/skin/parisfr/js//modules/theme-filter.js"></script>
Les paramètres
  • @param - id - string - optional - l'ID du filtre
  • @param - class - string - optional - ajoute une classe CSS au filtre
  • @param - checkboxes - object - required - Objet list avec items de filtre. L'objet contient un attribut 'title' et un attribut 'id'
  • @param - result - string - optional - permet d'afficher le resultat du filtre avec une variable dynamique
  • @param - params - string - optional - permet d'ajouter des parametres HTML au filtre

Prévisualisation Style guide @cTabs [Nouvelle Fenêtre]

Contenu Tab 1

Contenu Tab 2

Contenu Tab 3

Contenu Tab 4

Macro

<@cTabs>
    <@cTab url='#TabContent1' active=true>Onglet 1</@cTab>
    <@cTab url='#TabContent2'>Onglet 2 </@cTab>
    <@cTab url='#TabContent3'>Onglet 3</@cTab>
    <@cTab url='#TabContent4'>Onglet 4</@cTab>
</@cTabs>
<@cTabContent id='myContent'>
    <@cTabPane title='Onglet 1' id='TabContent1' active=true>
    	<@cText>Contenu Tab 1</@cText>
    </@cTabPane>
    <@cTabPane title='Onglet 2' id='TabContent2'>
        <@cText>Contenu Tab 2</@cText>
    </@cTabPane>
    <@cTabPane title='Onglet 3' id='TabContent3'>
        <@cText>Contenu Tab 3</@cText>
    </@cTabPane>
    <@cTabPane title='Onglet 4' id='TabContent4' disabled=true>
    	<@cText>Contenu Tab 4</@cText>
    </@cTabPane>
</@cTabContent>

Html

<div class="nav nav-tabs" role="tablist" >
<button type="button" id="tab_TabContent1" aria-controls="TabContent1" data-toggle="tab" role="tab" data-target="#TabContent1" class="nav-link active" aria-selected="true">
Onglet 1</button>
<button type="button" id="tab_TabContent2" aria-controls="TabContent2" data-toggle="tab" role="tab" data-target="#TabContent2" class="nav-link" tabindex="-1" aria-selected="false">
Onglet 2 </button>
<button type="button" id="tab_TabContent3" aria-controls="TabContent3" data-toggle="tab" role="tab" data-target="#TabContent3" class="nav-link" tabindex="-1" aria-selected="false">
Onglet 3</button>
<button type="button" id="tab_TabContent4" aria-controls="TabContent4" data-toggle="tab" role="tab" data-target="#TabContent4" class="nav-link disabled" disabled tabindex="-1" aria-disabled="true" aria-selected="false">
Onglet 4</button>
</div>
<div class="tab-content " id="myContent">
<div class="card tab-pane fade show active" id="TabContent1" tabindex="0" role="tabpanel" aria-labelledby="tab_TabContent1" >
<div class="card-header" role="tab" id="heading-TabContent1">
<h3 class="h5 mb-0">
<a data-toggle="collapse" href="#collapse-TabContent1" aria-expanded="false" aria-controls="collapse-TabContent1" class="collapsed tab-collapse">
Onglet 1
</a>
</h3>
</div>
<div id="collapse-TabContent1" class="collapse" data-parent="#TabContent1" role="tabpanel" aria-labelledby="heading-TabContent1">
<div class="card-body">
<p>
Contenu Tab 1</p>
</div>
</div>
</div>
<div class="card tab-pane fade" id="TabContent2" tabindex="0" role="tabpanel" aria-labelledby="tab_TabContent2" >
<div class="card-header" role="tab" id="heading-TabContent2">
<h3 class="h5 mb-0">
<a data-toggle="collapse" href="#collapse-TabContent2" aria-expanded="false" aria-controls="collapse-TabContent2" class="collapsed tab-collapse">
Onglet 2
</a>
</h3>
</div>
<div id="collapse-TabContent2" class="collapse" data-parent="#TabContent2" role="tabpanel" aria-labelledby="heading-TabContent2">
<div class="card-body">
<p>
Contenu Tab 2</p>
</div>
</div>
</div>
<div class="card tab-pane fade" id="TabContent3" tabindex="0" role="tabpanel" aria-labelledby="tab_TabContent3" >
<div class="card-header" role="tab" id="heading-TabContent3">
<h3 class="h5 mb-0">
<a data-toggle="collapse" href="#collapse-TabContent3" aria-expanded="false" aria-controls="collapse-TabContent3" class="collapsed tab-collapse">
Onglet 3
</a>
</h3>
</div>
<div id="collapse-TabContent3" class="collapse" data-parent="#TabContent3" role="tabpanel" aria-labelledby="heading-TabContent3">
<div class="card-body">
<p>
Contenu Tab 3</p>
</div>
</div>
</div>
<div class="card tab-pane fade disabled" disabled aria-disabled="true" id="TabContent4" tabindex="0" role="tabpanel" aria-labelledby="tab_TabContent4" >
<div class="card-header" role="tab" id="heading-TabContent4">
<h3 class="h5 mb-0">
<a data-toggle="collapse" aria-expanded="false" aria-controls="collapse-TabContent4" class="collapsed tab-collapse">
Onglet 4
</a>
</h3>
</div>
<div id="collapse-TabContent4" class="collapse" data-parent="#TabContent4" role="tabpanel" aria-labelledby="heading-TabContent4">
<div class="card-body">
<p>
Contenu Tab 4</p>
</div>
</div>
</div>
</div>
Les paramètres cTabs
  • @param - id - string - optional - l'ID des onglets
  • @param - class - string - optional - ajoute une classe CSS aux onglets
  • @param - navigation - boolean - optional - permet d'intégrer les onglets dans une balise HTML 'nav'
  • @param - params - string - optional - permet d'ajouter des parametres HTML aux onglets
Les paramètres cTab
  • @param - id - string - optional - l'ID de l'onglet
  • @param - class - string - optional - ajoute une classe CSS à l'onglet
  • @param - url - string - required - utilisé pour définir l'id de l'onglet, et permet de définir le lien de l'onglet dans le cas où le parametre 'navigation' est true
  • @param - navigation - boolean - optional - permet d'intégrer l'onglet dans une balise HTML 'li'
  • @param - active - boolean - optional - permet de définir si l'onglet est actif au chargement de la page (par défaut: false)
  • @param - disabled - boolean - optional - permet de définir si l'onglet est désactivé (par défaut: false)
  • @param - params - string - optional - permet d'ajouter des parametres HTML à l'onglet
Les paramètres cTabContent
  • @param - id - string - required - l'ID du container
  • @param - class - string - optional - ajoute une classe CSS au container
  • @param - params - string - optional - permet d'ajouter des parametres HTML au container
Les paramètres cTabPane
  • @param - id - string - required - l'ID du panneau (doit etre similaire à celui de l'onglet référent)
  • @param - class - string - optional - ajoute une classe CSS au panneau
  • @param - title - string - optional - permet de définir le titre du panneau affiché en mobile
  • @param - active - boolean - optional - permet de définir si le panneau est actif au chargement de la page (par défaut: false)
  • @param - disabled - boolean - optional - permet de définir si le panneau est désactivé (par défaut: false)
  • @param - params - string - optional - permet d'ajouter des parametres HTML à l'onglet
Aide

Les macros cTabs et cTab permettent de créer des onglets de navigation. En association avec les macros cTabContent et cTabPane elles permettent de créer des onglets avec contenus.

Références : components/navs/#regarding-accessibility et https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Navigation_Role

Macro

<@cPagination paginator=pageList label='Liste des pages' />

Html

<nav aria-label="Pagination">
<ul class="pagination">
<li class="page-item disabled">
<a class="page-link" href="jsp/site/Portal.jsp?page_id=6#section-pagination">
<svg class="paris-icon paris-icon-arrow-left" id="Précédent" focusable="false" >
<use xlink:href="#paris-icon-arrow-left"></use>
</svg>
</a>
</li>
<li class="page-item active" aria-current="page">
<a class="page-link" title="page 1 sur 5 - active" href="jsp/site/Portal.jsp?page_id=6#section-pagination">1<span class="sr-only"> - active</span></a>
</li>
<li class="page-item" >
<a class="page-link" title="page 2 sur 5" href="jsp/site/Portal.jsp?page_id=6#section-pagination">2</a>
</li>
<li class="page-item" >
<a class="page-link cesure" title="cesure" href="jsp/site/Portal.jsp?page_id=6#section-pagination">...</a>
</li>
<li class="page-item">
<a class="page-link" href="jsp/site/Portal.jsp?page_id=6#section-pagination">
<svg class="paris-icon paris-icon-arrow-right" id="Suivant" focusable="false" >
<use xlink:href="#paris-icon-arrow-right"></use>
</svg>
</a>
</li>
</ul>
</nav>
Les paramètres
  • @param - id - string - optional - l'ID de la pagination
  • @param - class - string - optional - ajoute une classe CSS à la pagination
  • @param - paginator - list - required - Objet Paginator du core LUTECE ou liste avec comme attributs les url et index de pagination.
  • @param - label - string - optional - permet de définir un libellé à la pagination (par défaut: 'Pagination')
  • @param - fragment - string - optional - permet d'ajouter un suffixe à l'url de la page
  • @param - params - string - optional - permet d'ajouter des parametres HTML à la pagination
Aide

Ce composant fait appel a une deuxiéme macro "cPaginationLinks" -avec pour paramètres la liste des pages "pages" et le paramétre classe CSS "class"- pour construire les liens.

Prévisualisation Style guide @cSlider [Nouvelle Fenêtre]

Title 1

Content 1

Title 2

Content 2

Title 3

Content 3

Title 4

Content 4

Title 5

Content 5

Title 6

Content 6

Macro

<#assign mySlides = [
    {"content":"Content 1","linkLabel":"Title 1", "img":"https://picsum.photos/seed/picsum/300/300", "link":"https://paris.fr"},
    {"content":"Content 2", "linkLabel":"Title 2", "img":"https://picsum.photos/seed/picsum/300/300", "link":"https://paris.fr"},
    {"content":"Content 3", "linkLabel":"Title 3", "img":"https://picsum.photos/seed/picsum/300/300", "link":"https://paris.fr"},
    {"content":"Content 4", "linkLabel":"Title 4", "img":"https://picsum.photos/seed/picsum/300/300", "link":"https://paris.fr"},
    {"content":"Content 5", "linkLabel":"Title 5", "img":"https://picsum.photos/seed/picsum/300/300", "link":"https://paris.fr"},
    {"content":"Content 6", "linkLabel":"Title 6", "img":"https://picsum.photos/seed/picsum/300/300", "link":"https://paris.fr"}
]>
<@cSlider id='myslider' sliderLabel='Liens divers' slides=mySlides />

Html

<section class="themeparisfr-slider-wrapper" id="myslider" aria-roledescription="slide" aria-label="Liens divers" >
<div class="row themeparisfr-slider row-cols-1 row-cols-sm-2 row-cols-md-3 row-cols-lg-4" id="myslider-theme-slider" aria-live="off">
<div class="card slide" role="group" aria-roledescription="slide" aria-label="1 sur 6" >
<figure class="card-figure ">
<img src="https://picsum.photos/seed/picsum/300/300" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title 1</h3>
<p class="card-text">Content 1</p>
</div>
</div>
<div class="card slide" role="group" aria-roledescription="slide" aria-label="2 sur 6" >
<figure class="card-figure ">
<img src="https://picsum.photos/seed/picsum/300/300" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title 2</h3>
<p class="card-text">Content 2</p>
</div>
</div>
<div class="card slide" role="group" aria-roledescription="slide" aria-label="3 sur 6" >
<figure class="card-figure ">
<img src="https://picsum.photos/seed/picsum/300/300" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title 3</h3>
<p class="card-text">Content 3</p>
</div>
</div>
<div class="card slide" role="group" aria-roledescription="slide" aria-label="4 sur 6" >
<figure class="card-figure ">
<img src="https://picsum.photos/seed/picsum/300/300" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title 4</h3>
<p class="card-text">Content 4</p>
</div>
</div>
<div class="card slide" role="group" aria-roledescription="slide" aria-label="5 sur 6" >
<figure class="card-figure ">
<img src="https://picsum.photos/seed/picsum/300/300" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title 5</h3>
<p class="card-text">Content 5</p>
</div>
</div>
<div class="card slide" role="group" aria-roledescription="slide" aria-label="6 sur 6" >
<figure class="card-figure ">
<img src="https://picsum.photos/seed/picsum/300/300" class="card-img-top" alt="">
</figure>
<div class="card-body">
<h3 class="card-title ">
Title 6</h3>
<p class="card-text">Content 6</p>
</div>
</div>
</div>
<div class="slider-buttons">
<div class="container">
<div class="d-flex justify-content-end pt-4 pb-md-5 mb-md-5">
<div class="d-flex align-items-center justify-content-end gap-1 test">
<button class="btn btn-light rounded-circle disabled prev-slide" type="button"tabindex="0" aria-controls="myslider-theme-slider" aria-label="Précédent slide" disabled>
<svg class="paris-icon paris-icon-arrow-left" focusable="false" >
<use xlink:href="#paris-icon-arrow-left"></use>
</svg>
</button>
<button class="btn btn-light rounded-circle ms-sm next-slide" type="button"tabindex="0" aria-controls="myslider-theme-slider" aria-label="Suivant slide">
<svg class="paris-icon paris-icon-arrow-right" focusable="false" >
<use xlink:href="#paris-icon-arrow-right"></use>
</svg>
</button>
</div>
</div>
</div>
</div>
</section>
<script>
document.addEventListener('DOMContentLoaded', function (){
const _slides = $('#myslider .themeparisfr-slider'),
btnPrev = $('#myslider .slider-buttons .prev-slide'),
btnNext = $('#myslider .slider-buttons .next-slide');
_slides.focus()
let totalWidth = 0,
scrollWidth = 0,
nbSlides = 0;
_slides.children('.slide').each(function() {
totalWidth += $(this).width();
nbSlides++;
})
scrollWidth = totalWidth;
if (nbSlides > 1) {
btnPrev.on('click', function() {
_slides.animate({ scrollLeft: '-=305' }, "slow");
if (scrollWidth + 305 >= totalWidth) {
$(this).addClass('disabled').attr('disabled', 'disabled')
} else {
scrollWidth += 305
btnNext.removeClass('disabled').removeAttr('disabled')
}
}).addClass('disabled').attr('disabled', 'disabled');
btnNext.on('click', function() {
_slides.animate({ scrollLeft: '+=305' }, "slow");
if (scrollWidth <= 305) {
$(this).addClass('disabled').attr('disabled', 'disabled')
} else {
scrollWidth -= 305
btnPrev.removeClass('disabled').removeAttr('disabled')
}
}).attr('tabindex', 0);
btnPrev.attr('tabindex', 0).attr('role', 'button').keydown(function(event) {
if (event.which == 32) {
$(this).click();
event.preventDefault();
};
});
btnNext.attr('tabindex', 0).attr('role', 'button').keydown(function(event) {
if (event.which == 32) {
$(this).click();
event.preventDefault();
};
});
} else {
_slides.children('.slider-buttons .btn').remove();
}
});
</script>
Les paramètres
  • @param - id - string - required - l'ID du carousel
  • @param - sliderLabel - string - required - Aria label du carousel
  • @param - class - string - optional - permet d'ajouter une classe CSS au slider (par défaut: 'row-cols-1 row-cols-sm-2 row-cols-md-3 row-cols-lg-4')
  • @param - slides - string - optional - Objet contenant les slides ( voir les attributs ci-dessous )
  • @param - slideLabel - string - optional - Label pour le label slide (par défaut: 'slide')
  • @param - buttonNext - string - optional - Label pour le bouton 'next' (par défaut: 'i18n{portal.util.labelNext}')
  • @param - buttonPrev - string - optional - Label pour le bouton 'prev' (par défaut: 'Précédent')
  • @param - buttonClass - string - optional - permet d'ajouter une classe CSS aux boutons (par défaut: 'light rounded-circle main-info-color')
  • @param - buttonClass - string - optional - permet d'ajouter une classe CSS aux boutons (par défaut: 'light rounded-circle main-info-color')
  • @param - linkAll - string - optional - permet d'ajouter un lien de redirection vers une autre page
  • @param - linkAllLabel - string - optional - permet de définir le label du lien de redirection
  • @param - linkAllClass - string - optional - permet d'ajouter une classe CSS au lien
  • @param - params - string - optional - permet d'ajouter des parametres HTML au carousel
Les paramètres de cCarouselItem
  • @param - id - string - optional - l'ID de la slide du carousel (par défaut: 'manege')
  • @param - class - string - optional - permet d'ajouter une classe CSS à la slide du carousel
  • @param - img - string - required - permet de définir la source de l'image de la slide du carousel
  • @param - active - boolean - optional - permet de définir que la slide du carousel est celle active au chargement de la page (par défaut: false)
  • @param - idx - number - optional - permet de définir l'index de la slide du carousel utilisé par l'attribut 'id' et 'aria-label' (par défaut: 1)
  • @param - max - number - optional - permet de définir le nombre maximum de slides dans le carousel pour l'attribut 'aria-label' (par défaut: 1)
  • @param - alt - string - optional - permet de définir l'attribut 'alt' de l'image
  • @param - title - string - optional - permet de définir le titre de la slide du carousel
  • @param - subtitle - string - optional - permet de définir le sous-titre de la slide du carousel
  • @param - params - string - optional - permet d'ajouter des parametres HTML la slide du carousel
Aide

Permet de créer un carousel. A utiliser avec la macro @cCarouselItem

Prévisualisation Style guide @cStatus [Nouvelle Fenêtre]

A venir
A compléter
En cours
Terminé
Passé
Fini

Macro

<@cStatus />
<@cStatus level='tobecompleted' />
<@cStatus level='inprogress' />
<@cStatus level='over' />
<@cStatus level='bygone' />
<@cStatus label='Fini' level='bygone'  />

Html

<div class="status forthcoming">
<span class="status-label">A venir</span>
</div>
<div class="status tobecompleted">
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="5" cy="5" r="5" fill="currentColor"/></svg>
<span class="status-label">A compléter</span>
</div>
<div class="status inprogress">
<span class="status-label">En cours</span>
</div>
<div class="status over">
<span class="status-label">Terminé</span>
</div>
<div class="status bygone">
<span class="status-label">Passé</span>
</div>
<div class="status bygone">
<span class="status-label">Fini</span>
</div>
Les paramètres
  • @param - level - string - optional - permet de définir le niveau de status du tag (par défaut: 'forthcoming'). Liste des Statuts : forthcoming = A venir / tobecompleted =A compl\u00e9ter / inprogress = En cours / over = Termin\u00e9 / bygone = Pass\u00e9
  • @param - class - string - optional - permet d'ajouter une classe CSS au tag
  • @param - id - string - optional - l'ID du tag
  • @param - label - string - optional - permet de définir le libellé du tag
  • @param - labelClass - string - optional - permet d'ajouter une classe CSS au libellé du tag
  • @param - params - string - optional - permet d'ajouter des parametres HTML au tag

Prévisualisation Style guide @cTable [Nouvelle Fenêtre]

Tableau avec thème
Col 1 Col 2 Col 3 Col 4 Col 5 Col 6 Col 7
Row 1 - Col 1 Row 1 - Col 2 Row 1 - Col 3 Row 1 - Col 4 Row 1 - Col 5 Row 1 - Col 6 1234
Row 2 - Col 1 Row 2 - Col 2 Row 2 - Col 3 Row 2 - Col 4 Row 2 - Col 5 Row 2 - Col 6 1234
Row 3 - Col 1 Row 3 - Col 2 Row 3 - Col 3 Row 3 - Col 4 Row 3 - Col 5 Row 3 - Col 6 1234
Row 4 - Col 1 Row 4 - Col 2 Row 4 - Col 3 Row 4 - Col 4 Row 4 - Col 5 Row 4 - Col 6 1234
Tableau avec thème
Col 1 Tableau 2 Col 2
Row 1 - Col 1 - Tableau 2 Row 1 - Col 2 - Tableau 2
Row 2 - Col 1 - Tableau 2 Row 2 - Col 2 - Tableau 2

Macro

<@cTable id='table1' collapsible=false caption='Tableau avec thème' >
    <@cThead>
        <@cTr>
            <@cTh id='label-1'>Col 1<@sortSite jsp_url='urlname' attribute='attrname' /></@cTh>
            <@cTh id='label-2'>Col 2<@sortSite jsp_url='urlname' attribute='attrname' /></@cTh>
            <@cTh id='label-3'>Col 3<@sortSite jsp_url='urlname' attribute='attrname' /></@cTh>
            <@cTh id='label-4'>Col 4<@sortSite jsp_url='urlname' attribute='attrname' /></@cTh>
            <@cTh id='label-5'>Col 5<@sortSite jsp_url='urlname' attribute='attrname' /></@cTh>
            <@cTh id='label-6'>Col 6<@sortSite jsp_url='urlname' attribute='attrname' /></@cTh>
            <@cTh id='label-7' class='text-right'>Col 7<@sortSite jsp_url='test' attribute='attrname' /></@cTh>
        </@cTr>
    </@cThead>
    <@cTbody>
        <@cTr>
            <@cTd>Row 1 - Col 1</@cTd>
            <@cTd>Row 1 - Col 2</@cTd>
            <@cTd>Row 1 - Col 3</@cTd>
            <@cTd>Row 1 - Col 4</@cTd>
            <@cTd>Row 1 - Col 5</@cTd>
            <@cTd>Row 1 - Col 6</@cTd>
            <@cTd class='text-right'>1234</@cTd>
        </@cTr>
        <@cTr>
            <@cTd>Row 2 - Col 1</@cTd>
            <@cTd>Row 2 - Col 2</@cTd>
            <@cTd>Row 2 - Col 3</@cTd>
            <@cTd>Row 2 - Col 4</@cTd>
            <@cTd>Row 2 - Col 5</@cTd>
            <@cTd>Row 2 - Col 6</@cTd>
            <@cTd class='text-right'>1234</@cTd>
        </@cTr>
        <@cTr>
            <@cTd>Row 3 - Col 1</@cTd>
            <@cTd>Row 3 - Col 2</@cTd>
            <@cTd>Row 3 - Col 3</@cTd>
            <@cTd>Row 3 - Col 4</@cTd>
            <@cTd>Row 3 - Col 5</@cTd>
            <@cTd>Row 3 - Col 6</@cTd>
            <@cTd class='text-right'>1234</@cTd>
        </@cTr>
        <@cTr>
            <@cTd>Row 4 - Col 1</@cTd>
            <@cTd>Row 4 - Col 2</@cTd>
            <@cTd>Row 4 - Col 3</@cTd>
            <@cTd>Row 4 - Col 4</@cTd>
            <@cTd>Row 4 - Col 5</@cTd>
            <@cTd>Row 4 - Col 6</@cTd>
            <@cTd class='text-right'>1234</@cTd>
        </@cTr>
    </@cTbody>
</@cTable>
<@cTableResponsive id='table1' />
<@cTable id='table2' collapsible=false caption='Tableau avec thème' >
    <@cThead>
        <@cTr>
            <@cTh id='label-1'>Col 1 Tableau 2<@sortSite jsp_url='urlname' attribute='attrname' /></@cTh>
            <@cTh id='label-7'>Col 2<@sortSite jsp_url='test' attribute='attrname' /></@cTh>
        </@cTr>
    </@cThead>
    <@cTbody>
        <@cTr>
            <@cTd>Row 1 - Col 1 - Tableau 2</@cTd>
            <@cTd>Row 1 - Col 2 - Tableau 2</@cTd>
        </@cTr>
        <@cTr>
            <@cTd>Row 2 - Col 1 - Tableau 2</@cTd>
            <@cTd>Row 2 - Col 2 - Tableau 2</@cTd>
        </@cTr>
    </@cTbody>
</@cTable>
<@cTableResponsive id='table2' />

Html

<div class="d-none d-md-block table-responsive">
<table class="table ctable" id="table1" >
<caption class="sr-only">Tableau avec thème</caption>
<thead >
<tr >
<th scope="col" class="" id="label-1" >
Col 1<a href="urlname?sorted_attribute_name=attrname&amp;asc_sort=false#sort_attrname" title="Tri décroissant" class="text-decoration-none" role="button">
<svg class="paris-icon paris-icon-arrow-down main-color" focusable="false" >
<use xlink:href="#paris-icon-arrow-down"></use>
</svg>
</a>
</th>
<th scope="col" class="" id="label-2" >
Col 2<a href="urlname?sorted_attribute_name=attrname&amp;asc_sort=false#sort_attrname" title="Tri décroissant" class="text-decoration-none" role="button">
<svg class="paris-icon paris-icon-arrow-down main-color" focusable="false" >
<use xlink:href="#paris-icon-arrow-down"></use>
</svg>
</a>
</th>
<th scope="col" class="" id="label-3" >
Col 3<a href="urlname?sorted_attribute_name=attrname&amp;asc_sort=false#sort_attrname" title="Tri décroissant" class="text-decoration-none" role="button">
<svg class="paris-icon paris-icon-arrow-down main-color" focusable="false" >
<use xlink:href="#paris-icon-arrow-down"></use>
</svg>
</a>
</th>
<th scope="col" class="" id="label-4" >
Col 4<a href="urlname?sorted_attribute_name=attrname&amp;asc_sort=false#sort_attrname" title="Tri décroissant" class="text-decoration-none" role="button">
<svg class="paris-icon paris-icon-arrow-down main-color" focusable="false" >
<use xlink:href="#paris-icon-arrow-down"></use>
</svg>
</a>
</th>
<th scope="col" class="" id="label-5" >
Col 5<a href="urlname?sorted_attribute_name=attrname&amp;asc_sort=false#sort_attrname" title="Tri décroissant" class="text-decoration-none" role="button">
<svg class="paris-icon paris-icon-arrow-down main-color" focusable="false" >
<use xlink:href="#paris-icon-arrow-down"></use>
</svg>
</a>
</th>
<th scope="col" class="" id="label-6" >
Col 6<a href="urlname?sorted_attribute_name=attrname&amp;asc_sort=false#sort_attrname" title="Tri décroissant" class="text-decoration-none" role="button">
<svg class="paris-icon paris-icon-arrow-down main-color" focusable="false" >
<use xlink:href="#paris-icon-arrow-down"></use>
</svg>
</a>
</th>
<th scope="col" class="text-right" id="label-7" >
Col 7<a href="test?sorted_attribute_name=attrname&amp;asc_sort=false#sort_attrname" title="Tri décroissant" class="text-decoration-none" role="button">
<svg class="paris-icon paris-icon-arrow-down main-color" focusable="false" >
<use xlink:href="#paris-icon-arrow-down"></use>
</svg>
</a>
</th>
</tr>
</thead>
<tbody >
<tr >
<td>
<span>Row 1 - Col 1</span>
</td>
<td>
<span>Row 1 - Col 2</span>
</td>
<td>
<span>Row 1 - Col 3</span>
</td>
<td>
<span>Row 1 - Col 4</span>
</td>
<td>
<span>Row 1 - Col 5</span>
</td>
<td>
<span>Row 1 - Col 6</span>
</td>
<td class="text-right">
<span>1234</span>
</td>
</tr>
<tr >
<td>
<span>Row 2 - Col 1</span>
</td>
<td>
<span>Row 2 - Col 2</span>
</td>
<td>
<span>Row 2 - Col 3</span>
</td>
<td>
<span>Row 2 - Col 4</span>
</td>
<td>
<span>Row 2 - Col 5</span>
</td>
<td>
<span>Row 2 - Col 6</span>
</td>
<td class="text-right">
<span>1234</span>
</td>
</tr>
<tr >
<td>
<span>Row 3 - Col 1</span>
</td>
<td>
<span>Row 3 - Col 2</span>
</td>
<td>
<span>Row 3 - Col 3</span>
</td>
<td>
<span>Row 3 - Col 4</span>
</td>
<td>
<span>Row 3 - Col 5</span>
</td>
<td>
<span>Row 3 - Col 6</span>
</td>
<td class="text-right">
<span>1234</span>
</td>
</tr>
<tr >
<td>
<span>Row 4 - Col 1</span>
</td>
<td>
<span>Row 4 - Col 2</span>
</td>
<td>
<span>Row 4 - Col 3</span>
</td>
<td>
<span>Row 4 - Col 4</span>
</td>
<td>
<span>Row 4 - Col 5</span>
</td>
<td>
<span>Row 4 - Col 6</span>
</td>
<td class="text-right">
<span>1234</span>
</td>
</tr>
</tbody>
</table>
</div>
<div class="d-md-none" id="accordion-table-table1"></div>
<script>
$(document).ready(function() {
var tableId = "table1";
$('table#' + tableId + ' tbody tr').each(function(index) {
var $cells = $(this).find('td');
var accordionContent = '';
$cells.each(function(i) {
var headerText = $('table#' + tableId + ' thead th').eq(i).text();
var cellText = $(this).text();
accordionContent += `<p>` + headerText + `</p><p class='mb-4'><strong>` + cellText + `</strong></p>`;
});
var accordionItem = `
<div class="accordion" id="accheading` + tableId + index + `">
<div class="card " class='m-0'>
<h3 class="card-header m-0 collapsed" data-toggle="collapse" data-target="#collapseAccheading` + tableId + index + `" role="combobox" aria-expanded="false" aria-controls="collapseAccheading` + tableId + index + `">
<button class="btn btn-link btn-block btn-header-accordion" type="button" data-toggle="collapse" data-show-label="Voir le détail" data-hide-label="Masquer le détail" data-target="#collapseAccheading` + tableId + index + `" aria-expanded="false" aria-controls="collapseAccheading` + tableId + index + `">
<span class="d-flex flex-column flex-1">
<span class="card-title d-block" id="headingAccheading` + tableId + index + `">` + $cells.eq(0).text() + `</span>
</span>
<span class="accordion-toggle">
<span class="btn-label-accordion d-none d-md-inline-block"></span>
<span class="btn-accordion btn-outline-action">
<svg class="paris-icon paris-icon-arrow-bottom btn-outline-action" focusable="false" >
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</span>
</span>
</button>
</h3>
<div id="collapseAccheading` + tableId + index + `" class="m-0 collapse " role="region" aria-labelledby="headingAccheading` + tableId + index + `" data-parent="#accheading` + tableId + index + `">
<div class="card-body">
` + accordionContent + `
</div>
</div>
<div class="card-footer d-block d-sm-none text-center">
<button class="btn btn-link btn-accordion" type="button" data-toggle="collapse" data-target="#collapseAccheading` + tableId + index + `" aria-expanded="false" aria-controls="collapseAccheading` + tableId + index + `">
<svg class="paris-icon paris-icon-arrow-bottom" aria-hidden="true" focusable="false">
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</button>
</div>
</div>
</div>
`;
$('#accordion-table-' + tableId).append(accordionItem);
});
});
</script>
<div class="d-none d-md-block table-responsive">
<table class="table ctable" id="table2" >
<caption class="sr-only">Tableau avec thème</caption>
<thead >
<tr >
<th scope="col" class="" id="label-1" >
Col 1 Tableau 2<a href="urlname?sorted_attribute_name=attrname&amp;asc_sort=false#sort_attrname" title="Tri décroissant" class="text-decoration-none" role="button">
<svg class="paris-icon paris-icon-arrow-down main-color" focusable="false" >
<use xlink:href="#paris-icon-arrow-down"></use>
</svg>
</a>
</th>
<th scope="col" class="" id="label-7" >
Col 2<a href="test?sorted_attribute_name=attrname&amp;asc_sort=false#sort_attrname" title="Tri décroissant" class="text-decoration-none" role="button">
<svg class="paris-icon paris-icon-arrow-down main-color" focusable="false" >
<use xlink:href="#paris-icon-arrow-down"></use>
</svg>
</a>
</th>
</tr>
</thead>
<tbody >
<tr >
<td>
<span>Row 1 - Col 1 - Tableau 2</span>
</td>
<td>
<span>Row 1 - Col 2 - Tableau 2</span>
</td>
</tr>
<tr >
<td>
<span>Row 2 - Col 1 - Tableau 2</span>
</td>
<td>
<span>Row 2 - Col 2 - Tableau 2</span>
</td>
</tr>
</tbody>
</table>
</div>
<div class="d-md-none" id="accordion-table-table2"></div>
<script>
$(document).ready(function() {
var tableId = "table2";
$('table#' + tableId + ' tbody tr').each(function(index) {
var $cells = $(this).find('td');
var accordionContent = '';
$cells.each(function(i) {
var headerText = $('table#' + tableId + ' thead th').eq(i).text();
var cellText = $(this).text();
accordionContent += `<p>` + headerText + `</p><p class='mb-4'><strong>` + cellText + `</strong></p>`;
});
var accordionItem = `
<div class="accordion" id="accheading` + tableId + index + `">
<div class="card " class='m-0'>
<h3 class="card-header m-0 collapsed" data-toggle="collapse" data-target="#collapseAccheading` + tableId + index + `" role="combobox" aria-expanded="false" aria-controls="collapseAccheading` + tableId + index + `">
<button class="btn btn-link btn-block btn-header-accordion" type="button" data-toggle="collapse" data-show-label="Voir le détail" data-hide-label="Masquer le détail" data-target="#collapseAccheading` + tableId + index + `" aria-expanded="false" aria-controls="collapseAccheading` + tableId + index + `">
<span class="d-flex flex-column flex-1">
<span class="card-title d-block" id="headingAccheading` + tableId + index + `">` + $cells.eq(0).text() + `</span>
</span>
<span class="accordion-toggle">
<span class="btn-label-accordion d-none d-md-inline-block"></span>
<span class="btn-accordion btn-outline-action">
<svg class="paris-icon paris-icon-arrow-bottom btn-outline-action" focusable="false" >
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</span>
</span>
</button>
</h3>
<div id="collapseAccheading` + tableId + index + `" class="m-0 collapse " role="region" aria-labelledby="headingAccheading` + tableId + index + `" data-parent="#accheading` + tableId + index + `">
<div class="card-body">
` + accordionContent + `
</div>
</div>
<div class="card-footer d-block d-sm-none text-center">
<button class="btn btn-link btn-accordion" type="button" data-toggle="collapse" data-target="#collapseAccheading` + tableId + index + `" aria-expanded="false" aria-controls="collapseAccheading` + tableId + index + `">
<svg class="paris-icon paris-icon-arrow-bottom" aria-hidden="true" focusable="false">
<use xlink:href="#paris-icon-arrow-bottom"></use>
</svg>
</button>
</div>
</div>
</div>
`;
$('#accordion-table-' + tableId).append(accordionItem);
});
});
</script>
Les paramètres cTable
  • @param - id - string - optional - l'ID du table
  • @param - class - string - optional - permet d'ajouter une classe CSS au tableau
  • @param - caption - string - optional - permet de définir le titre "Caption" du tableau
  • @param - captionClass - string - optional - Défaut "sr-only" class du caption du tableau. Accessibilité: permet de masquer le titre du tableau pour les lecteurs d'écran si ele titre précédent le tableau est suffisant.
  • @param - summary - string - optional - permet de définir l'attribut "summary" du tableau
  • @param - breakpoint - string - optional - permet de définir le breakpoint du tableau (valeurs possibles: '-sm','-md','-lg','-xl','-xxl')
  • @param - themed - boolean - optional - permet d'ajouter les style du thème par défaut sinon ce sont les styles de table de BS4 qui seront appliqués (par défaut: true)
  • @param - collapsible - boolean - optional - par défaut pour les petits écran, seule la prmière cellule de la ligne est affichée -en colonne- et les autres sont masquée. Si false tout est en colonne sauf si le paramètre themed est false les styles BS4 seront alors appliqués par défauts (par défaut: true)
  • @param - params - string - optional - permet d'ajouter des parametres HTML au tableau
Les paramètres cThead
  • @param - id - string - optional - l'ID du header du tableau
  • @param - class - string - optional - permet d'ajouter une classe CSS au header du tableau
  • @param - params - string - optional - permet d'ajouter des parametres HTML au header du tableau
Les paramètres cTfoot
  • @param - id - string - optional - l'ID du footer du tableau
  • @param - class - string - optional - permet d'ajouter une classe CSS au footer du tableau
  • @param - params - string - optional - permet d'ajouter des parametres HTML au footer du tableau
Les paramètres cTbody
  • @param - id - string - optional - l'ID du body du tableau
  • @param - class - string - optional - permet d'ajouter une classe CSS au body du tableau
  • @param - params - string - optional - permet d'ajouter des parametres HTML au body du tableau
Les paramètres cTr
  • @param - id - string - optional - l'ID de la ligne du tableau
  • @param - class - string - optional - permet d'ajouter une classe CSS à la ligne du tableau
  • @param - params - string - optional - permet d'ajouter des parametres HTML à la ligne du tableau
Les paramètres cTh
  • @param - id - string - optional - l'ID du Th du tableau
  • @param - class - string - optional - permet d'ajouter une classe CSS au Th du tableau
  • @param - scope - string - optional - permet de définir le scope de la cellule (par défaut: 'col', valeurs possibles: 'col', 'row')
  • @param - role - string - optional - permet de définir le role du Th du tableau (par défaut: 'columnheader', valeurs possibles: 'columnheader', 'rowheader')
  • @param - params - string - optional - permet d'ajouter des parametres HTML à la ligne du tableau
Les paramètres cTd
  • @param - id - string - optional - l'ID de la cellule du tableau
  • @param - class - string - optional - permet d'ajouter une classe CSS à la cellule du tableau
  • @param - scope - string - optional - permet de définir le scope de la cellule (valeurs possibles: 'col', 'row')
  • @param - role - string - optional - permet de définir le role de la cellule du tableau
  • @param - headers - string - optional - permet de spécifier la liste des identifiants des cellules d'en-tête, th, qui fournissent des informations d'en-tête pour la cellule de données actuelles
  • @param - colspan - string - optional - permet de définir l'attribut 'colspan'
  • @param - nospan - boolean - optional - permet d'ajouter un tag 'span' dans le 'td' (par défaut: false)
  • @param - params - string - optional - permet d'ajouter des parametres HTML à la cellule du tableau