Button-loader

Mostrar parámetros

Parámetros del componente

              params:
- name: element
  type: string
  required: false
  description: Whether to use an `input`, `button` or `a` element to create the button. In most cases you will not need to set this as it will be configured automatically if you use `href` or `html`.
- name: text
  type: string
  required: true
  description: If `html` is set, this is not required. Text for the button or link. If `html` is provided, the `text` argument will be ignored and `element` will be automatically set to `button` unless `href` is also set, or it has already been defined. This argument has no effect if `element` is set to `input`.
- name: html
  type: string
  required: true
  description: If `text` is set, this is not required. HTML for the button or link. If `html` is provided, the `text` argument will be ignored and `element` will be automatically set to `button` unless `href` is also set, or it has already been defined. This argument has no effect if `element` is set to `input`.
- name: name
  type: string
  required: false
  description: Name for the `input` or `button`. This has no effect on `a` elements.
- name: type
  type: string
  required: false
  description: Type of `input` or `button`  `button`, `submit` or `reset`. Defaults to `submit`. This has no effect on `a` elements.
- name: value
  type: string
  required: false
  description: Value for the `button` tag. This has no effect on `a` or `input` elements.
- name: disabled
  type: boolean
  required: false
  description: Whether the button should be disabled. For button and input elements, `disabled` and `aria-disabled` attributes will be set automatically.
- name: href
  type: string
  required: false
  description: The URL that the button should link to. If this is set, `element` will be automatically set to `a` if it has not already been defined.
- name: target
  type: string
  required: false
  description: The target where the button should link to.
- name: state
  type: string
  required: false
  description: If `is-loading`. Shows the loading state and updates aria-live text for screenreaders. I `is-success` shows the success state. If not set, shows normal state.
- name: loader
  type: object
  required: false
  description: Options for the spinner inside the button
  params:
  - name: text
    type: string
    required: false
    description: Text for screenreaders.
  - name: classes
    type: string
    required: false
    description: Classes to add to the spinner component.
- name: success
  type: object
  required: false
  description: Options for the success icon inside the button
  params:
  - name: text
    type: string
    required: false
    description: Text for screenreaders.
- name: classes
  type: string
  required: false
  description: Classes to add to the button component.
- name: attributes
  type: object
  required: false
  description: HTML attributes (for example data attributes) to add to the button component.
- name: preventDoubleClick
  type: boolean
  required: false
  description: Prevent accidental double clicks on submit buttons from submitting forms multiple times
              
            

Por defecto

Mostrar códigodel ejemplo: Por defecto

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "text": "Por defecto"
}) }}

Por defecto con el estado cargando

Simula activar el estado cargando

Mostrar códigodel ejemplo: Por defecto con el estado cargando

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "name": "loading",
  "text": "Cargando",
  "state": "is-loading",
  "classes": "c-button-loader--is-loading",
  "loader": {
    "text": "Acción en curso"
  }
}) }}

Por defecto con estado éxito

Simula activar el estado éxito que sólo se muestra durante unos segundos, luego vuelve al estado inicial.

Mostrar códigodel ejemplo: Por defecto con estado éxito

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "name": "éxito",
  "text": "Éxito",
  "state": "is-success",
  "success": {
    "text": "Acción realizada con éxito"
  },
  "classes": "c-button-loader--is-success"
}) }}

Por defecto con estado activo

Simula activar la pseudoclase de CSS :active

Mostrar códigodel ejemplo: Por defecto con estado activo

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "name": "active",
  "text": "Activo",
  "classes": "ds-active"
}) }}

Por defecto con estado hover

Simula activar la pseudoclase de CSS :hover

Mostrar códigodel ejemplo: Por defecto con estado hover

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "name": "hover",
  "text": "Hover",
  "classes": "ds-hover"
}) }}

Por defecto con estado focus

Simula activar la pseudoclase de CSS :focus

Mostrar códigodel ejemplo: Por defecto con estado focus

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "name": "focus",
  "text": "Focus",
  "classes": "ds-focus"
}) }}

Por defecto deshabilitado

Mostrar códigodel ejemplo: Por defecto deshabilitado

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "text": "Deshabilitado",
  "disabled": true
}) }}

Primario

Mostrar códigodel ejemplo: Primario

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "text": "Primario",
  "classes": "c-button-loader--primary"
}) }}

Primario con estado activo

Simula activar la pseudoclase de CSS :active

Mostrar códigodel ejemplo: Primario con estado activo

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "name": "active",
  "text": "Activo",
  "classes": "c-button-loader--primary ds-active"
}) }}

Primario con estado hover

Simula activar la pseudoclase de CSS :hover

Mostrar códigodel ejemplo: Primario con estado hover

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "name": "hover",
  "text": "Hover",
  "classes": "c-button-loader--primary ds-hover"
}) }}

Primario con estado focus

Simula activar la pseudoclase de CSS :focus

Mostrar códigodel ejemplo: Primario con estado focus

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "name": "focus",
  "text": "Focus",
  "classes": "c-button-loader--primary ds-focus"
}) }}

Primario deshabilitado

Mostrar códigodel ejemplo: Primario deshabilitado

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "text": "Deshabilitado",
  "disabled": true,
  "classes": "c-button-loader--primary"
}) }}

Alerta

Mostrar códigodel ejemplo: Alerta

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "text": "Alerta",
  "classes": "c-button-loader--alert"
}) }}

Alerta con estado activo

Simula activar la pseudoclase de CSS :active

Mostrar códigodel ejemplo: Alerta con estado activo

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "name": "active",
  "text": "Activo",
  "classes": "c-button-loader--alert ds-active"
}) }}

Alerta con estado hover

Simula activar la pseudoclase de CSS :hover

Mostrar códigodel ejemplo: Alerta con estado hover

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "name": "hover",
  "text": "Hover",
  "classes": "c-button-loader--alert ds-hover"
}) }}

Alerta con estado focus

Simula activar la pseudoclase de CSS :focus

Mostrar códigodel ejemplo: Alerta con estado focus

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "name": "focus",
  "text": "Focus",
  "classes": "c-button-loader--alert ds-focus"
}) }}

Alerta deshabilitado

Mostrar códigodel ejemplo: Alerta deshabilitado

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "text": "Deshabilitado",
  "disabled": true,
  "classes": "c-button-loader--alert"
}) }}

Transparente

Mostrar códigodel ejemplo: Transparente

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "text": "Transparente",
  "classes": "c-button-loader--transparent"
}) }}

Transparente con estado activo

Simula activar la pseudoclase de CSS :active

Mostrar códigodel ejemplo: Transparente con estado activo

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "name": "active",
  "text": "Activo",
  "classes": "c-button-loader--transparent ds-active"
}) }}

Transparente con estado hover

Simula activar la pseudoclase de CSS :hover

Mostrar códigodel ejemplo: Transparente con estado hover

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "name": "hover",
  "text": "Hover",
  "classes": "c-button-loader--transparent ds-hover"
}) }}

Transparente con estado focus

Simula activar la pseudoclase de CSS :focus

Mostrar códigodel ejemplo: Transparente con estado focus

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "name": "focus",
  "text": "Focus",
  "classes": "c-button-loader--transparent ds-focus"
}) }}

Transparente deshabilitado

Mostrar códigodel ejemplo: Transparente deshabilitado

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "text": "Deshabilitado",
  "disabled": true,
  "classes": "c-button-loader--transparent"
}) }}

Peque

Mostrar códigodel ejemplo: Peque

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "text": "Peque",
  "classes": "c-button-loader--sm"
}) }}

Enlace

Mostrar códigodel ejemplo: Enlace

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "text": "Botón enlace",
  "href": "/"
}) }}

Botón enlace con target blank

Mostrar códigodel ejemplo: Botón enlace con target blank

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "text": "Botón enlace con target",
  "href": "http://www.google.com",
  "target": "_blank"
}) }}

Enlace deshabilitado

Mostrar códigodel ejemplo: Enlace deshabilitado

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "text": "Botón enlace deshabilitado",
  "href": "/",
  "disabled": true
}) }}

Botón con icono a la derecha

Mostrar códigodel ejemplo: Botón con icono a la derecha

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "html": "Botón con icono<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\"  class=\"self-center ml-2\" aria-hidden=\"true\" focusable=\"false\" width=\"1em\" height=\"1em\"><path d=\"M113.72 61.66A5 5 0 00110 60H30a5 5 0 00-5 5.53l7.5 70a5 5 0 005 4.47h65a5 5 0 005-4.47l7.5-70a5 5 0 00-1.28-3.87zM125 27.92h-25a2.5 2.5 0 01-2.5-2.5V17.5A17.52 17.52 0 0080 0H60a17.58 17.58 0 00-17.5 17.23l-.12 8.22a2.51 2.51 0 01-2.5 2.47H15a10 10 0 000 20h110a10 10 0 000-20zM57.5 17.46A2.51 2.51 0 0160 15h20a2.5 2.5 0 012.5 2.5v7.92a2.5 2.5 0 01-2.5 2.5H59.88a2.51 2.51 0 01-2.5-2.54z\" fill=\"currentColor\"/></svg>",
  "href": "/"
}) }}

Botón con icono a la izquierda

Mostrar códigodel ejemplo: Botón con icono a la izquierda

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "html": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\"  class=\"self-center mr-2\" aria-hidden=\"true\" focusable=\"false\" width=\"1em\" height=\"1em\"><path d=\"M113.72 61.66A5 5 0 00110 60H30a5 5 0 00-5 5.53l7.5 70a5 5 0 005 4.47h65a5 5 0 005-4.47l7.5-70a5 5 0 00-1.28-3.87zM125 27.92h-25a2.5 2.5 0 01-2.5-2.5V17.5A17.52 17.52 0 0080 0H60a17.58 17.58 0 00-17.5 17.23l-.12 8.22a2.51 2.51 0 01-2.5 2.47H15a10 10 0 000 20h110a10 10 0 000-20zM57.5 17.46A2.51 2.51 0 0160 15h20a2.5 2.5 0 012.5 2.5v7.92a2.5 2.5 0 01-2.5 2.5H59.88a2.51 2.51 0 01-2.5-2.54z\" fill=\"currentColor\"/></svg>Botón con icono",
  "href": "/"
}) }}

Botón sólo con icono

Mostrar códigodel ejemplo: Botón sólo con icono

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "html": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\"  class=\"self-center\" aria-hidden=\"true\" focusable=\"false\" width=\"1em\" height=\"1em\" role=\"img\" aria-label=\"Borrar\"><path d=\"M113.72 61.66A5 5 0 00110 60H30a5 5 0 00-5 5.53l7.5 70a5 5 0 005 4.47h65a5 5 0 005-4.47l7.5-70a5 5 0 00-1.28-3.87zM125 27.92h-25a2.5 2.5 0 01-2.5-2.5V17.5A17.52 17.52 0 0080 0H60a17.58 17.58 0 00-17.5 17.23l-.12 8.22a2.51 2.51 0 01-2.5 2.47H15a10 10 0 000 20h110a10 10 0 000-20zM57.5 17.46A2.51 2.51 0 0160 15h20a2.5 2.5 0 012.5 2.5v7.92a2.5 2.5 0 01-2.5 2.5H59.88a2.51 2.51 0 01-2.5-2.54z\" fill=\"currentColor\"/></svg>",
  "href": "/",
  "classes": "c-button-loader--primary p-3 align-bottom"
}) }}

Button peque sólo con icono

Mostrar códigodel ejemplo: Button peque sólo con icono

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "html": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\"  class=\"self-center\" aria-hidden=\"true\" focusable=\"false\" width=\"1em\" height=\"1em\" role=\"img\" aria-label=\"Borrar\"><path d=\"M113.72 61.66A5 5 0 00110 60H30a5 5 0 00-5 5.53l7.5 70a5 5 0 005 4.47h65a5 5 0 005-4.47l7.5-70a5 5 0 00-1.28-3.87zM125 27.92h-25a2.5 2.5 0 01-2.5-2.5V17.5A17.52 17.52 0 0080 0H60a17.58 17.58 0 00-17.5 17.23l-.12 8.22a2.51 2.51 0 01-2.5 2.47H15a10 10 0 000 20h110a10 10 0 000-20zM57.5 17.46A2.51 2.51 0 0160 15h20a2.5 2.5 0 012.5 2.5v7.92a2.5 2.5 0 01-2.5 2.5H59.88a2.51 2.51 0 01-2.5-2.54z\" fill=\"currentColor\"/></svg>",
  "href": "/",
  "classes": "c-button-loader--primary c-button-loader--sm p-2 align-bottom"
}) }}

Input

Acción en curso
Mostrar códigodel ejemplo: Input

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "element": "input",
  "name": "send-form",
  "text": "Enviar"
}) }}

Input deshabilitado

Acción en curso
Mostrar códigodel ejemplo: Input deshabilitado

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "element": "input",
  "text": "Enviar",
  "disabled": true
}) }}

Prevenir doble click

Mostrar códigodel ejemplo: Prevenir doble click

Contenido

Nunjucks macro

{% from "components/button-loader/_macro.button-loader.njk" import componentButtonLoader %}

{{ componentButtonLoader({
  "text": "Enviar",
  "preventDoubleClick": true
}) }}