import{b as D}from"./Utilities-DayKp0i-.js";function h({disabilitato:e,inErrore:a,info:E}){return`<div class="date datePicker col-xs-12 col-md-6 noPaddingLeft">
	<div class="form-group${a?" has-error":""}">
		<div class="input-relative">
			<label class="control-label" for="form-data-1">Etichetta${a?`
				<span class="msg msg-errore">
					<strong>ERRORE: Descrizione dell'errore di campo</strong>
				</span>`:""}
			</label>${E?`
			<span tabindex="0" class="fa fa-question-circle fa-lg" data-toggle="popover" data-original-title="Etichetta del campo" data-trigger="focus" data-content="Inserire un suggerimento o una descrizione relativa a questo campo."></span>`:""}
			<input id="form-data-1" class="form-control" title="Inserire la data in formato giorno/mese/anno" value="GG/MM/AAAA" placeholder="GG/MM/AAAA" type="text"${e?" disabled":""}>
				<em class="fa fa-calendar" title="Calendario"></em>
			</div>
		</div>
	</div>`}function M(){return`<div class="date datePicker col-xs-12 col-md-6 noPaddingLeft">
   <div class="form-group">
      <div class="input-relative">
         <label class="control-label" for="form-data-2">Etichetta del campo</label>
         <input id="form-data-2" class="form-control" title="GG/MM/AAAA" placeholder="GG/MM/AAAA" type="text" disabled>
         <em class="fa fa-calendar" title="Calendario"></em>
      </div>
   </div>
</div>`}function P(){return`<div class="date datePicker col-xs-12 col-md-6 noPaddingLeft">
   <div class="form-group has-error">
      <div class="input-relative">
         <label class="control-label" for="form-data-3">Etichetta del campo
		  <span class="msg msg-errore"><strong>ERRORE: Descrizione dell'errore di campo</strong></span>
		 </label>
         <input id="form-data-3" class="form-control" title="Inserire in formato giorno/mese/anno" placeholder="GG/MM/AAAA" type="text" value="GG/MM/AAAA" >
         <em class="fa fa-calendar" title="Calendario"></em>
      </div>
   </div>
</div>`}function S(){return`<div class="date datePicker col-xs-12 col-md-6 noPaddingLeft">
   <div class="form-group">
      <div class="input-relative">
         <label class="control-label" for="form-data-4">Etichetta del campo</label>
         <span tabindex="0" class="fa fa-question-circle fa-lg" data-toggle="popover" data-original-title="Etichetta del campo" data-trigger="focus" data-content="Inserire un suggerimento o una descrizione relativa a questo campo."></span>
         <input id="form-data-4" class="form-control" title="Inserire la data in formato giorno/mese/anno" value="GG/MM/AAAA" placeholder="GG/MM/AAAA" type="text">
         <em class="fa fa-calendar" title="Calendario"></em>
      </div>
   </div>
</div>`}function G(){return`<div class="form-inline date-range col-xs-12 noPaddingLeft">
	<p>Periodo</p>
	<div class="date datePicker">
		<div class="form-group">
			<div class="input-relative">
				<label class="control-label" for="form-data-5">Dal</label>
				<input id="form-data-5" class="form-control" title="Inserire la data in formato giorno/mese/anno" value="GG/MM/AAAA" placeholder="GG/MM/AAAA" type="text">
					<em class="fa fa-calendar" title="Calendario"></em>
				</div>
			</div>
			<div class="form-group">
				<div class="input-relative">
					<label class="control-label" for="form-data-6">al</label>
					<input id="form-data-6" class="form-control" title="Inserire la data in formato giorno/mese/anno" value="GG/MM/AAAA" placeholder="GG/MM/AAAA" type="text">
						<em class="fa fa-calendar" title="Calendario"></em>
					</div>
				</div>
			</div>
		</div>`}const R=`L'etichetta del form deve essere sempre fuori dal campo. Se il campo è “obbligatorio” devono essere inseriti: il simbolo “*” dopo dell'Etichetta (label) del Campo, l'attributo \`aria-required="true"\` nel tag input, select o textarea e,prima del form, la leggenda "I campi contrassegnati con l’asterisco (*) sono obbligatori."

L'errore di compilazione deve essere sempre composto da:
- campo evidenziato
- descrizione dell'errore chiara per qualsiasi utente. Evitare quindi di scrivere frasi come “Errore Generico”

Si suggerisce di inserire, quando necessario, un tooltip per fornire maggiori indicazioni sul valore da inserire. `,y=`**PANORAMICA**  
- **Descrizione generale**: Il componente Button rappresenta un elemento interattivo che consente agli utenti di eseguire azioni o triggerare eventi all'interno di un'interfaccia web.
- **Funzionalità principali**: Offre un'ampia gamma di varianti stilistiche e dimensioni per adattarsi a diversi contesti d'uso, garantendo coerenza e accessibilità.

**CASO D'USO**  
- **Scenari di utilizzo principali**: Utilizzato per inviare moduli, avviare processi, navigare tra pagine o eseguire qualsiasi azione definita dall'applicazione.
- **Contesto di implementazione consigliato**: Ideale in qualsiasi punto dell'interfaccia dove è richiesta un'interazione utente per eseguire un'azione specifica.
- **Posizionamento ideale nell'interfaccia**: Può essere posizionato in moduli, toolbar, dialoghi o come call-to-action prominente nelle pagine.

**CARATTERISTICHE PRINCIPALI**  
- **Funzionalità chiave**:
  - Supporto per varianti di stile: primario, secondario, successo, pericolo, avviso, informazione, luce, scuro.
  - Dimensioni personalizzabili: piccolo, medio, grande.
  - Stato disabilitato per indicare azioni non disponibili.
- **Aspetti tecnici rilevanti**: Implementato utilizzando l'elemento \`<button>\` o \`<a>\` con ruoli e attributi appropriati per garantire l'accessibilità.
- **Caratteristiche di accessibilità**: Progettato per essere completamente navigabile tramite tastiera e compatibile con screen reader, includendo attributi ARIA quando necessario.

**VARIANTI**  
- **Elenco e descrizione delle varianti disponibili**:
  - Stili: primario, secondario, successo, pericolo, avviso, informazione, luce, scuro.
  - Dimensioni: piccolo, medio, grande.
- **Casi d'uso specifici per ogni variante**:
  - Stili diversi per indicare l'importanza o la natura dell'azione.
  - Dimensioni diverse per adattarsi a spazi specifici nell'interfaccia.

**PROPRIETÀ**  
- **Proprietà configurabili**:
  - \`type\`: specifica il tipo di pulsante (\`button\`, \`submit\`, \`reset\`).
  - \`disabled\`: disabilita l'interazione con il pulsante.
  - \`aria-label\`: fornisce un'etichetta accessibile per il pulsante.
- **Parametri disponibili**: Possibilità di aggiungere attributi personalizzati per estendere la funzionalità.
- **Attributi per l'accessibilità**: Utilizzo di \`aria-label\` o \`aria-labelledby\` per descrivere l'azione del pulsante.

**DETTAGLI DI IMPLEMENTAZIONE**  
- **Struttura HTML**: Il pulsante è rappresentato da un elemento \`<button>\` o \`<a>\` con classi specifiche per lo stile e attributi per l'accessibilità.
- **Stile e CSS utilizzati**: Utilizza classi CSS per gestire il layout e l'aspetto, garantendo coerenza con il design system.
- **Variabili CSS disponibili e loro funzione**:
  - \`--btn-padding\`: padding interno del pulsante.
  - \`--btn-font-size\`: dimensione del testo del pulsante.
  - \`--btn-border-radius\`: raggio dei bordi del pulsante.
  - \`--btn-background-color\`: colore di sfondo del pulsante.
  - \`--btn-text-color\`: colore del testo del pulsante.

**BEST PRACTICES**  
- **Raccomandazioni d'uso**:
  - Utilizzare etichette chiare e concise che descrivano l'azione del pulsante.
  - Assicurarsi che il pulsante sia facilmente identificabile e distinguibile dagli altri elementi.
- **Linee guida implementative**: Evitare di utilizzare pulsanti per navigare tra pagine; preferire link per la navigazione.
- **Pratiche da evitare**: Evitare di utilizzare pulsanti senza etichette o con etichette ambigue.

**LINEE GUIDA PER L'ACCESSIBILITÀ**  
- **Requisiti di accessibilità**: Assicurarsi che il pulsante sia navigabile tramite tastiera e che abbia un'etichetta descrittiva.
- **Supporto tastiera**: Il pulsante deve essere attivabile tramite la barra spaziatrice o Invio.
- **Configurazione screen reader**: Utilizzare attributi ARIA per fornire informazioni sul contesto e la funzione del pulsante.

**COMPONENTI CORRELATI**  
- **Componenti associati**: Button Group, Toolbar, Icon Button.
- **Relazioni con altri elementi**: Spesso utilizzato all'interno di moduli, dialoghi o come call-to-action nelle pagine.
`,T={title:"Componenti/Campi data",parameters:{docs:{description:{component:y},mdxPage:R,showAccessibility:!0}},decorators:[(e,a)=>D(e,a,1,["static-webkit/js/custom-webkit.js","static/js/main.js"],!1),e=>`<main id="contenutoPrincipale">${e()}</main>`]},i={name:"Campo data",argTypes:{disabilitato:{control:"boolean"},inErrore:{control:"boolean"},info:{control:"boolean"}},args:{disabilitato:!1,inErrore:!1,info:!1},render:e=>h(e),parameters:{layout:"centered"}},t={name:"Campo data disabilitato",render:()=>M(),parameters:{layout:"centered"}},n={name:"Campo data con errore",render:()=>P(),parameters:{layout:"centered"}},r={name:"Campo data con tasto info",render:()=>S(),parameters:{layout:"centered"}},o={name:"Campi data con periodo",render:e=>G(),parameters:{layout:"centered"}};var l,s,c;i.parameters={...i.parameters,docs:{...(l=i.parameters)==null?void 0:l.docs,source:{originalSource:`{
  name: "Campo data",
  argTypes: {
    disabilitato: {
      control: "boolean"
    },
    inErrore: {
      control: "boolean"
    },
    info: {
      control: "boolean"
    }
  },
  args: {
    disabilitato: false,
    inErrore: false,
    info: false
  },
  render: args => CreateInputDate(args),
  parameters: {
    layout: "centered"
  }
}`,...(c=(s=i.parameters)==null?void 0:s.docs)==null?void 0:c.source}}};var d,p,m;t.parameters={...t.parameters,docs:{...(d=t.parameters)==null?void 0:d.docs,source:{originalSource:`{
  name: "Campo data disabilitato",
  render: () => CrateInputDateDisabled(),
  parameters: {
    layout: "centered"
  }
}`,...(m=(p=t.parameters)==null?void 0:p.docs)==null?void 0:m.source}}};var u,f,g;n.parameters={...n.parameters,docs:{...(u=n.parameters)==null?void 0:u.docs,source:{originalSource:`{
  name: "Campo data con errore",
  render: () => CrateInputDateInError(),
  parameters: {
    layout: "centered"
  }
}`,...(g=(f=n.parameters)==null?void 0:f.docs)==null?void 0:g.source}}};var b,v,A;r.parameters={...r.parameters,docs:{...(b=r.parameters)==null?void 0:b.docs,source:{originalSource:`{
  name: "Campo data con tasto info",
  render: () => CrateInputDateInfo(),
  parameters: {
    layout: "centered"
  }
}`,...(A=(v=r.parameters)==null?void 0:v.docs)==null?void 0:A.source}}};var z,C,I;o.parameters={...o.parameters,docs:{...(z=o.parameters)==null?void 0:z.docs,source:{originalSource:`{
  name: "Campi data con periodo",
  render: args => CreateDataRange(),
  parameters: {
    layout: "centered"
  }
}`,...(I=(C=o.parameters)==null?void 0:C.docs)==null?void 0:I.source}}};const L=["CampiInput","CampoDataDisabilitato","CampoDataInError","CampoDataInfo","CampiDataRange"];export{o as CampiDataRange,i as CampiInput,t as CampoDataDisabilitato,n as CampoDataInError,r as CampoDataInfo,L as __namedExportsOrder,T as default};
