Vamos a ver como se usa cada uno de los componentes.
<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: |
|
name | string | Nombre o atributo name del elemento que representa el botón. Nota: sólo para los elementos button e input. |
|
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 button e input. |
|
disabled | boolean | Indica si el botón está deshabilitado. |
|
preventDoubleClick | boolean | Evita un doble click. Nota: sólo para los elementos button e input. |
|
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). |
|
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>
<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 {
...
}
...
}
<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: |
|
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 text o html. |
|
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 button e input. |
|
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 button e input. |
|
disabled | boolean | Indica si el botón está deshabilitado. |
|
preventDoubleClick | boolean | Evita un doble click. Nota: sólo para los elementos button e input. |
|
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. |
<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
<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>
<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>
<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
<desy-pill id="example-pill" text="Focussed" classes="ds-focus" type="button" (clickEvent)="gestionarClick($event)"></desy-pill>
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 |