Sha256: 861528a4069005134e8e5da302db156fc6c4f88d6d2d9f07bb4d76ae0317f9ee

Contents?: true

Size: 1.75 KB

Versions: 55

Compression:

Stored size: 1.75 KB

Contents

@import "../error-message/index";
@import "../hint/index";
@import "../label/index";

@include govuk-exports("govuk/component/file-upload") {
  $component-padding: govuk-spacing(1);

  .govuk-file-upload {
    @include govuk-font($size: 19);
    @include govuk-text-colour;
    max-width: 100%;
    margin-left: -$component-padding;
    padding: $component-padding;

    // The default file upload button in Safari does not
    // support setting a custom font-size. Set `-webkit-appearance`
    // to `button` to drop out of the native appearance so the
    // font-size is set to 19px
    // https://bugs.webkit.org/show_bug.cgi?id=224746
    &::-webkit-file-upload-button {
      -webkit-appearance: button;
      color: inherit;
      font: inherit;
    }

    &:focus {
      outline: $govuk-focus-width solid $govuk-focus-colour;
      // Use `box-shadow` to add border instead of changing `border-width`
      // (which changes element size) and since `outline` is already used for the
      // yellow focus state.
      box-shadow: inset 0 0 0 4px $govuk-input-border-colour;

      @include _govuk-if-ie8 {
        // IE8 doesn't support `box-shadow` so add an actual border
        border: 4px solid $govuk-input-border-colour;
      }
    }

    // Set "focus-within" to fix https://bugzilla.mozilla.org/show_bug.cgi?id=1430196
    // so that component receives focus in Firefox.
    // This can't be set together with `:focus` as all versions of IE fail
    // to recognise `focus-within` and don't set any styles from the block
    // when it's a selector.
    &:focus-within {
      outline: $govuk-focus-width solid $govuk-focus-colour;

      box-shadow: inset 0 0 0 4px $govuk-input-border-colour;
    }

    &:disabled {
      opacity: .5;
      cursor: not-allowed;
    }
  }
}

Version data entries

55 entries across 55 versions & 4 rubygems

Version Path
govuk_tech_docs-3.5.0 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_tech_docs-3.4.5 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-37.3.1 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-37.3.0 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-37.2.4 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-37.2.3 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-37.2.2 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-37.2.1 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-37.2.0 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-37.1.1 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-37.1.0 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-37.0.0 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-36.1.0 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-36.0.3 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-36.0.2 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-36.0.1 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-36.0.0 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-35.23.0 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-35.22.0 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss
govuk_publishing_components-35.21.4 node_modules/govuk-frontend/govuk/components/file-upload/_index.scss