Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Current »

Componentes relativos a botones


Vamos a ver como se usa cada uno de los componentes.

Button


<desy-button ...></desy-button>

Permite representar un botón.

 Propiedades de entrada

Propiedad

Tipo

Descripción

Obligatorio

id

string

Identificador del botón.


text

string

Contenido del texto de ayuda en formato texto plano. No se aplicará cuando se especifique la propiedad html.

Si para elementos a y button y cuando no se especifica html.

html

string

Contenido del texto en formato HTML.

Nota: no aplica al elemento input.

Si para elementos a y button y cuando no se especifica text.

classes

string

Clases CSS separadas por espacio que se aplicarán sobre el componente.


element

string

Elemento HTML que se utilizará para representar el botón. Los valores posibles son:

  • (por defecto, si se incluye un href)

  • button (por defecto)

  • input


name

string

Nombre o atributo name del elemento que representa el botón.

Nota: sólo para los elementos buttoninput.


value

any

Valor del botón a enviar como parte del formulario.

Nota: sólo para el elemento button


type

string

Tipo del botón. Los valores posibles son:

  • submit (por defecto)

  • button

  • reset

Nota: sólo para los elementos buttoninput.


disabled

boolean

Indica si el botón está deshabilitado.


preventDoubleClick

boolean

Evita un doble click.

Nota: sólo para los elementos buttoninput.


href

string

Ruta externa a la que se redirigirá al pulsar el botón.  No se aplicará cuando se especifique la propiedad routerLink.  Por defecto #.

Nota: sólo para el elemento a.


target

string

Pestaña en la que se abrirá el enlace.

Nota: sólo para el elemento a con href.

routerLink

string|string[]

Ruta interna relativa al proyecto (ver https://angular.io/api/router/RouterLink).


routerLinkActiveClasses

string|string[]

Clases que se añadirán al componente cuando la ruta especificada en routerLink sea la actual (ver https://angular.io/api/router/RouterLinkActive).


Propiedades de accesibilidad

El componente button admite los siguientes parámetros de accesibilidad.

 Eventos de salida

Evento

Tipo

Descripción

clickEvent

DOM Event

Se emite al pulsar sobre el botón.

 Ejemplos
con entrada de texto
<desy-button id="send" text="Enviar" ariaLabel="Prueba del componente button"></desy-button> 
Button con entrada de html y recogiendo el evento de salida
<desy-button id="delete" classes="c-button-loader--alert" (clickEvent)="handleClickEvent($event)" html="Botón con icono<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\" class=\"self-center ml-2\" aria-hidden=\"true\" focusable=\"false\" width=\"1em\" height=\"1em\"><path fill=\"currentColor\" stroke=\"none\" d=\"M14.621 7.928a.643.643 0 00-.478-.214H3.857a.643.643 0 00-.643.711l.965 9A.643.643 0 004.82 18h8.358a.643.643 0 00.642-.575l.965-9a.643.643 0 00-.165-.497zM16.071 3.59h-3.214a.321.321 0 01-.321-.322V2.25A2.253 2.253 0 0010.286 0H7.714a2.26 2.26 0 00-2.25 2.215L5.45 3.272a.323.323 0 01-.322.318H1.93a1.286 1.286 0 000 2.571H16.07a1.286 1.286 0 000-2.571zM7.393 2.245a.323.323 0 01.321-.316h2.572a.321.321 0 01.321.321v1.018a.321.321 0 01-.321.322H7.699a.323.323 0 01-.322-.327z\"/>
"></desy-button> 
@Component({
  selector: '...',
  templateUrl: '...',
  ...
})
export class DemoButtonComponent {
	...
	handleClickEvent(event: any): void {
	   ...
	}
	...
}

Button Loader


<desy-button-loader ...></desy-button-loader>

Permite representar un botón que realiza una acción "pesada", mostrando diferente apariencia para los distintos estados de la acción.

 Propiedades de entrada

Propiedad

Tipo

Descripción

Obligatorio

id

string

Identificador del botón.


text

string

Contenido del texto de ayuda en formato texto plano. No se aplicará cuando se especifique la propiedad html.

Si para elementos a y button y cuando no se especifica html.

html

string

Contenido del texto en formato HTML.

Si para elementos a y button y cuando no se especifica text.

classes

string

Clases CSS separadas por espacio que se aplicarán sobre el componente.


element

string

Elemento HTML que se utilizará para representar el botón. Los valores posibles son:

  • (por defecto, si se incluye un href)

  • button (por defecto)

  • input


state

string

Estado del componente. Los valores posibles son:

  • is-loading → Representa el estado "cargando". Muestra el spinner de carga. Deberá añadirse la clase "c-button-loader--is-loading" al parámetro classes.

  • is-success → Representa el estado "éxito". Muestra el icono ✓. Deberá añadirse la clase "c-button-loader--is-success" al parámetro classes.

Por defecto, o si no se especifica el valor, se muestra el contenido de los parámetros texthtml.


successText

string

Texto que se interpretará por los lectores de pantalla cuando se llegue al estado de "éxito".


loaderText

string

Texto que se interpretará por los lectores de pantalla mientras está en el estado de "cargando".


loaderClasses

string

Clases que se aplican sobre spinner.


name

string

Nombre o atributo name del elemento que representa el botón.

Nota: sólo para los elementos buttoninput.


value

any

Valor del botón a enviar como parte del formulario.

Nota: sólo para el elemento button.


type

string

Tipo del botón. Los valores posibles son:

  • submit (por defecto)

  • button

  • reset

Nota: sólo para los elementos buttoninput.


disabled

boolean

Indica si el botón está deshabilitado.


preventDoubleClick

boolean

Evita un doble click.

Nota: sólo para los elementos buttoninput.


href

string

Ruta externa a la que se redirigirá al pulsar el botón.

Nota: sólo para el elemento a.


target

string

Pestaña en la que se abrirá el enlace.

Nota: sólo para el elemento a con href.

routerLink

string|string[]

Ruta interna relativa al proyecto (ver https://angular.io/api/router/RouterLink).


routerLinkActiveClasses

string|string[]

Clases que se añadirán al componente cuando la ruta especificada en routerLink sea la actual (ver https://angular.io/api/router/RouterLinkActive).


Propiedades de accesibilidad
El componente button-loader admite los siguientes parámetros de accesibilidad.

 Eventos de salida

Evento

Tipo

Descripción

clickEvent

DOM Event

Se emite al pulsar sobre el botón.

 Ejemplos
Button-loader con entrada de texto
<desy-button-loader id="send" (clickEvent)="handleClickEvent($event)"  text="Enviar" ariaLabel="Prueba del componente button"></desy-button-loader> 
@Component({
  selector: '...',
  templateUrl: '...',
  ...
})
export class DemoButtonComponent {
	...
	handleClickEvent(event: any): void {
	   ...
	}
	...
}
Button-loader con entrada de html y recogiendo el evento de salida
<desy-button-loader id="delete" classes="c-button-loader--alert" html="Botón con icono<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\" class=\"self-center ml-2\" aria-hidden=\"true\" focusable=\"false\" width=\"1em\" height=\"1em\"><path fill=\"currentColor\" stroke=\"none\" d=\"M14.621 7.928a.643.643 0 00-.478-.214H3.857a.643.643 0 00-.643.711l.965 9A.643.643 0 004.82 18h8.358a.643.643 0 00.642-.575l.965-9a.643.643 0 00-.165-.497zM16.071 3.59h-3.214a.321.321 0 01-.321-.322V2.25A2.253 2.253 0 0010.286 0H7.714a2.26 2.26 0 00-2.25 2.215L5.45 3.272a.323.323 0 01-.322.318H1.93a1.286 1.286 0 000 2.571H16.07a1.286 1.286 0 000-2.571zM7.393 2.245a.323.323 0 01.321-.316h2.572a.321.321 0 01.321.321v1.018a.321.321 0 01-.321.322H7.699a.323.323 0 01-.322-.327z\"/>
"></desy-button-loader> 
Button-loader cargando
<desy-button-loader text="Comenzar" state="is-loading" classes="c-button-loader--is-loading" loaderText="Ejecutando proceso"></desy-button-loader> 
Button-loader exito
<desy-button-loader text="Comenzar" state="is-success" classes="c-button-loader--is-succes" successText="Proceso ejecutado correctamente"></desy-button-loader> 

Dropdown


<desy-dropdown ...></desy-dropdown>

Permite generar un desplegable

 Propiedades de entrada

Propiedad

Tipo

Descripción

Obligatorio

text

string

Contenido del texto en formato texto plano. No se aplicará cuando se especifique la propiedad html.

Si, cuando no se especifica html.

html

string

Contenido del texto en formato HTML.

Si, cuando no se especifica text.

hiddenText

string

Contenido del texto oculto en formato texto plano

classes

string

Clases CSS separadas por espacio que se aplicarán sobre el componente.


classesTooltip

string

Clases CSS separadas por espacio que se aplicarán sobre el tooltip.

classesContainer

string

Clases CSS separadas por espacio que se aplicarán sobre el container del componente.

disabled

boolean

Deshabilita el boton

caller

TemplateRef <any>

Template para mostrar dentro del tooltip




Propiedades de accesibilidad

El componente admite los siguientes parámetros de accesibilidad.


 Eventos de salida

Evento

Tipo

Descripción

clickEvent

DOM Event

Se emite al pulsar sobre el botón.

 Ejemplos
Dropdown base
<desy-dropdown text="Desplegable" [caller]="caller"></desy-dropdown>
<ng-template #caller>
      <div class="w-48 p-2"><div class="border-4 border-dashed border-gray-200 rounded-lg h-40"></div></div>
    </ng-template>



Dropdown con menu
<ng-template #caller1>
      <ul>
        <li>
          <a href="" class="flex items-center px-base py-xs hover:bg-primary-base hover:text-white truncate  focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black">Link 1</a>
        </li>
        <li>
          <a href="" class="flex items-center px-base py-xs hover:bg-primary-base hover:text-white truncate  focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black">Link 2</a>
        </li>
        <li>
          <a href="" class="flex items-center px-base py-xs hover:bg-primary-base hover:text-white truncate  focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black">Link 3</a>
        </li>
      </ul>
    </ng-template>
<desy-dropdown text="Desplegable" [caller]="caller1"></desy-dropdown>


Pill


<desy-pill ...></desy-pill>

Permite representar un botón de tipo pill.

 Propiedades de entrada

Propiedad

Tipo

Descripción

Obligatorio

text

string

Contenido del texto de ayuda en formato texto plano. No se aplicará cuando se especifique la propiedad html.

Si, cuando no se especifica html.

html

string

Contenido del texto en formato HTML.

Si, cuando no se especifica text.

classes

string

Clases CSS separadas por espacio que se aplicarán sobre el componente.


type

string

Tipo de pill. Los valores posibles son:

  • span (por defecto)

  • button

  • a


href

string

Ruta externa a la que se redirigirá al pulsar el botón de tipo pill. No se aplicará cuando se especifique la propiedad routerLink.  Por defecto #

Nota: sólo para el elemento a.


target

string

Pestaña en la que se abrirá el enlace.

Nota: sólo para el elemento a con href.

routerLink

string|string[]

Ruta interna relativa al proyecto (ver https://angular.io/api/router/RouterLink).


routerLinkActiveClasses

string|string[]

Clases que se añadirán al componente cuando la ruta especificada en routerLink sea la actual (ver https://angular.io/api/router/RouterLinkActive).




Propiedades de accesibilidad

El componente admite los siguientes parámetros de accesibilidad.

 Eventos de salida


Evento

Tipo

Descripción

clickEvent

DOM Event

Se emite al pulsar sobre el botón.


 Ejemplos
pill
<desy-pill id="example-pill" text="Focussed" classes="ds-focus" type="button" (clickEvent)="gestionarClick($event)"></desy-pill>



Accesibilidad


En todos los componentes se han tenido en cuenta los siguiente parámetros de accesibilidad. Se detalla en cada componente.

Parámetro

Atributo de accesibilidad equivalente

role

role

ariaLabel

aria-label

ariaDescribedBy

aria-describedby

ariaLabelledBy

aria-labelledby

ariaHidden

aria-hidden

ariaDisabled

aria-disabled

ariaControls

aria-controls

ariaCurrent

aria-current

ariaLive

aria-live

ariaExpanded

aria-expanded

ariaErrorMessage

aria-errormessage

ariaHasPopup

aria-haspopup

ariaModal

aria-modal

tabindex

tabindex

  • No labels