import{b as l}from"./Utilities-DayKp0i-.js";function r(){return`<div class="row form-group uploadFile widget">
	<div class="col-xs-12 noPaddingLeft">
		<span>Nome del file</span>
		<span class="sr-only">Seleziona il file da allegare</span>
	</div>
	<div class="col-xs-4 upload-file-button-container noPaddingLeft">
		<label for="addfile-fakeN" class="sr-only">Nome del file</label>
		<input id="addfile-fakeN" class="col-xs-12 form-control" readonly="" type="text" aria-hidden="true" tabindex="-1">
			<button class="innerx" title="Rimuovi il file selezionato" type="button">
				<span class="reset"></span>
				<span class="sr-only">Rimuovi il file selezionato</span>
			</button>
			<span>Allega 1 PDF da max 1MB oppure 2 PDF da max 500KB ciascuno</span>
		</div>
		<div class="col-xs-8">
			<div class="fileUpload pull-left noMarginLeft">
				<label class="btn btn-primary noMargin col-xs-12 upload-container" for="addfileN">
					<span aria-hidden="true">Scegli il file</span>
					<input id="addfileN" accept=".pdf" class="btn-primary upload" type="file" aria-label="Scegli il file">
					</label>
				</div>
				<div class="fileUpload pull-left padding noMarginLeft">
					<div class="form-group">
						<button class="btn btn-primary add-file disabled" disabled="" type="button"  aria-label="Aggiungi il file selezionato">aggiungi 
							<span class="sr-only">il file selezionato</span>
						</button>
					</div>
				</div>
				<div class="fileSubmit col-xs-4 noMarginLeft">
					<button class="btn btn-primary noMargin btn-inline col-xs-12">Carica il file</button>
				</div>
			</div>
		</div>`}const s=`L'etichetta del form deve essere sempre fuori dal campo.
Deve sempre essere indicata la quantità, il peso massimo e la tipologia di file che posso essere allegati. `,c=`**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.
`,p={title:"Components/Form/Campo Carica File",parameters:{docs:{description:{component:c},mdxPage:s}},decorators:[(e,o)=>l(e,o,1,["static-webkit/js/custom-webkit.js"],!1)]},i={name:"Campo Carica File",render:e=>r()};var a,n,t;i.parameters={...i.parameters,docs:{...(a=i.parameters)==null?void 0:a.docs,source:{originalSource:`{
  name: "Campo Carica File",
  render: args => CreateInputFileLoader()
}`,...(t=(n=i.parameters)==null?void 0:n.docs)==null?void 0:t.source}}};const u=["FileLoader"];export{i as FileLoader,u as __namedExportsOrder,p as default};
