File upload Nunjucks macro options
Use options to customise the appearance, content and behaviour of this component when using a macro, for example, changing the text.
Also see the guidance on the File upload component page, which shows these options in use within each example.
Some options are required for the macro to work; these are marked as "Required" in the option description. Deprecated options are marked as "Deprecated".
If you're using Nunjucks macros in production with "html" options, or ones ending with "html", you must sanitise the HTML to protect against cross-site scripting exploits.
| Name | Type | Description |
|---|---|---|
| name | string | Required. The name of the input, which is submitted with the form data. |
| id | string |
The ID of the input. Defaults to the value of name. If javascript is provided, this ID will be on the button of the improved version, and the hidden input’s ID will get the suffix “-input”.
|
| disabled | boolean |
If true, file input will be disabled.
|
| multiple | boolean |
If true, a user may select multiple files at the same time. The exact mechanism to do this differs depending on operating system.
|
| described |
string |
One or more element IDs to add to the aria-describedby attribute, used to provide additional descriptive information for screenreader users.
|
| label | object | Required. The label used by the file upload component. See macro options for label. |
| hint | object | Can be used to add a hint to the file upload component. See macro options for hint. |
| error |
object |
Can be used to add an error message to the file upload component. The error message component will not display if you use a falsy value for errorMessage, for example false or null.
See macro options for error |
| form |
object |
Additional options for the form group containing the file upload component.
See macro options for form |
| javascript | boolean | Can be used to enable JavaScript enhancements for the component. |
| choose |
string |
The text of the button that opens the file picker. Default is "Choose file". If javascript is not provided, this option will be ignored.
|
| drop |
string |
The text informing users they can drop files. Default is "or drop file". If javascript is not provided, this option will be ignored.
|
| multiple |
object |
The text displayed when multiple files have been chosen by the user. The component will replace the %{count} placeholder with the number of files selected. Our pluralisation rules apply to this macro option. If javascript is not provided, this option will be ignored.
|
| no |
string |
The text displayed when no file has been chosen by the user. Default is "No file chosen". If javascript is not provided, this option will be ignored.
|
| entered |
string |
The text announced by assistive technology when user drags files and enters the drop zone. Default is "Entered drop zone". If javascript is not provided, this option will be ignored.
|
| left |
string |
The text announced by assistive technology when user drags files and leaves the drop zone without dropping. Default is "Left drop zone". If javascript is not provided, this option will be ignored.
|
| classes | string |
Classes to add to the file upload <input> element. If javascript is provided, these are not copied to the visible button. To use classes for the visible button, use the wrapperClasses option.
|
| attributes | object |
HTML attributes (for example data attributes) to add to the file upload <input> element. If javascript is provided, these are not copied to the visible button. To add attributes to the container, use the wrapperAttributes option instead.
|
| wrapper |
string |
Classes to add to the improved file upload component’s wrapper. If javascript is not provided, this option will be ignored.
|
| wrapper |
object |
HTML attributes (for example data attributes) to add to the improved file upload component’s wrapper. If javascript is not provided, this option will be ignored.
|
| Name | Type | Description |
|---|---|---|
| classes | string | Classes to add to the form group (for example to show error state for the whole group). |
| attributes | object | HTML attributes (for example data attributes) to add to the form group. |
| before |
object |
Content to add before the input used by the file upload component.
See macro options for form |
| after |
object |
Content to add after the input used by the file upload component.
See macro options for form |
| Name | Type | Description |
|---|---|---|
| text | string |
Required.
Text to add before the input. If html is provided, the text option will be ignored.
|
| html | string |
Required.
HTML to add before the input. If html is provided, the text option will be ignored.
|
| Name | Type | Description |
|---|---|---|
| text | string |
Required.
Text to add after the input. If html is provided, the text option will be ignored.
|
| html | string |
Required.
HTML to add after the input. If html is provided, the text option will be ignored.
|
| Name | Type | Description |
|---|---|---|
| text | string |
Required.
If html is set, this is not required. Text to use within the label. If html is provided, the text option will be ignored.
|
| html | string |
Required.
If text is set, this is not required. HTML to use within the label. If html is provided, the text option will be ignored.
|
| for | string |
The value of the for attribute, the ID of the input the label is associated with.
|
| is |
boolean | Whether the label also acts as the heading for the page. |
| classes | string | Classes to add to the label tag. |
| attributes | object | HTML attributes (for example data attributes) to add to the label tag. |
| Name | Type | Description |
|---|---|---|
| text | string |
Required.
If html is set, this is not required. Text to use within the hint. If html is provided, the text option will be ignored.
|
| html | string |
Required.
If text is set, this is not required. HTML to use within the hint. If html is provided, the text option will be ignored.
|
| id | string | Optional ID attribute to add to the hint span tag. |
| classes | string | Classes to add to the hint span tag. |
| attributes | object | HTML attributes (for example data attributes) to add to the hint span tag. |