# Label ## Introduction Use labels for all form fields. ## Quick start examples ### Component default [Preview the label component](http://govuk-frontend-review.herokuapp.com/components/label/preview) #### Markup #### Macro {% from 'label/macro.njk' import govukLabel %} {{ govukLabel({ "text": "National Insurance number" }) }} ### Label--with bold text [Preview the label--with bold text example](http://govuk-frontend-review.herokuapp.com/components/label/with bold text/preview) #### Markup #### Macro {% from 'label/macro.njk' import govukLabel %} {{ govukLabel({ "classes": "govuk-label--s", "text": "National Insurance number" }) }} ### Label--as page heading [Preview the label--as page heading example](http://govuk-frontend-review.herokuapp.com/components/label/as page heading/preview) #### Markup

#### Macro {% from 'label/macro.njk' import govukLabel %} {{ govukLabel({ "text": "National Insurance number", "classes": "govuk-label--xl", "isPageHeading": true }) }} ## Requirements ### Build tool configuration When compiling the Sass files you'll need to define includePaths to reference the node_modules directory. Below is a sample configuration using gulp .pipe(sass({ includePaths: 'node_modules/' })) ### Static asset path configuration In order to include the images used in the components, you need to configure your app to show these assets. Below is a sample configuration using Express js: app.use('/assets', express.static(path.join(__dirname, '/node_modules/govuk-frontend/assets'))) ## Component arguments If you are using Nunjucks,then macros take the following arguments **If you’re using Nunjucks macros in production be aware that using `html` arguments, or ones ending with `Html` can be a [security risk](https://en.wikipedia.org/wiki/Cross-site_scripting). More about it in the [Nunjucks documentation](https://mozilla.github.io/nunjucks/api.html#user-defined-templates-warning).**
Name Type Required Description
text (or) html string Yes Text or HTML to use within the label. If `html` is provided, the `text` argument will be ignored.
for string Yes The value of the for attribute, the id of the input the label is associated with.
isPageHeading boolean No Whether the label also acts as the heading for the page.
classes string No Optional additional classes to add to the label tag.
attributes object No Any extra HTML attributes (for example data attributes) to add to the label tag.
**If you’re using Nunjucks macros in production be aware that using `html` arguments, or ones ending with `Html` can be a [security risk](https://en.wikipedia.org/wiki/Cross-site_scripting). More about it in the [Nunjucks documentation](https://mozilla.github.io/nunjucks/api.html#user-defined-templates-warning).** ### Setting up Nunjucks views and paths Below is an example setup using express configure views: nunjucks.configure('node_modules/govuk-frontend/components', { autoescape: true, cache: false, express: app }) ## Contribution Guidelines can be found at [on our Github repository.](https://github.com/alphagov/govuk-frontend/blob/master/CONTRIBUTING.md "link to contributing guidelines on our github repository") ## License MIT