Back to File Upload-guidelines

CSS ComponentThe latest version of this package is: 17.0.30-alpha.0, Opens in new window

The File Upload Component provides an easy and integrated way for users to upload multiple files. You can configure the file uploader to accept specific file types, and the file types are filtered in the user's file browser

This component provides .css, .styl, .less and .scss -files.

To be able to install this component, please refer to the Project Setup documentation.

$ npm i @ids-core/file-upload@17.0.30-alpha.0

  1. Image from iOS.jpg53.65KB

Table of Contents

Edit this section, Opens in new window

Usage

Required markup

Input

<form autocomplete="off">
    <div class="if input-wrapper">
        <input
            type="file"
            class="if"
            accept="image/*"
            id="if-file-upload-1"
            placeholder="VΓ€lj bild at bifoga"
        />
        <label for="if-file-upload-1">Bifoga bild</label>
        <button aria-hidden="true" type="button" class="if file-upload">VΓ€lj bild at bifoga</button>
    </div>
</form>

Button

<form autocomplete="off">
    <div class="if input-wrapper">
        <input
            data-size="larger"
            type="file"
            class="if file-upload"
            accept=".doc,.docx,.xml,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document"
            id="if-file-upload-2"
            placeholder="Please upload your CV"
        />
        <label for="if-file-upload-2" class="if button secondary">
            <span class="if icon ui data-upload blue"></span>Upload your CV
        </label>
    </div>
</form>

Drag and drop

<form autocomplete="off">
    <div class="if input-wrapper">
        <input
            data-size="large"
            type="file"
            class="if drag-drop"
            multiple=""
            id="if-file-upload-anatomy-6"
            placeholder="Drop files here to upload"
        />
        <label for="if-file-upload-anatomy-6">Upload file</label>
        <button aria-hidden="true" type="button" class="if file-upload">
            <svg
                xmlns="http://www.w3.org/2000/svg"
                class="if loader dots horizontal small"
                viewBox="0 0 64 64"
                width="32"
                height="32"
            >
                <circle cx="8" cy="32" r="8" fill="#0054f0"></circle>
                <circle cx="32" cy="32" r="8" fill="#0054f0"></circle>
                <circle cx="56" cy="32" r="8" fill="#0054f0"></circle>
                <style>
                    .if.loader.dots.horizontal circle {
                        transform: scale(0);
                        animation: ifAnimationLoaderHorizontal 1.15s infinite ease-in-out;
                        transform-origin: 56px 32px;
                    }

                    .if.loader.dots.horizontal circle:nth-child(1) {
                        animation-delay: -0.32s;
                        transform-origin: 8px 32px;
                    }

                    .if.loader.dots.horizontal circle:nth-child(2) {
                        animation-delay: -0.16s;
                        transform-origin: 32px 32px;
                    }

                    @-moz-keyframes ifAnimationLoaderHorizontal {
                        0%,
                        80%,
                        100% {
                            transform: scale(0);
                        }
                        40% {
                            transform: scale(1);
                        }
                    }

                    @-webkit-keyframes ifAnimationLoaderHorizontal {
                        0%,
                        80%,
                        100% {
                            transform: scale(0);
                        }
                        40% {
                            transform: scale(1);
                        }
                    }

                    @-o-keyframes ifAnimationLoaderHorizontal {
                        0%,
                        80%,
                        100% {
                            transform: scale(0);
                        }
                        40% {
                            transform: scale(1);
                        }
                    }

                    @keyframes ifAnimationLoaderHorizontal {
                        0%,
                        80%,
                        100% {
                            transform: scale(0);
                        }
                        40% {
                            transform: scale(1);
                        }
                    }
                </style>
            </svg>
            <svg class="if icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">…</svg>
            <span class="if">
                Drop files here to upload
                <br />
                <span class="if fake-link text-meta">Or select files to upload</span>
            </span>
        </button>
        <div class="if uploaded-files">…</div>
    </div>
</form>
Complete
<div class="if input-wrapper is-dragover">
    <input
        data-size="large"
        type="file"
        class="if drag-drop"
        multiple=""
        id="if-file-upload-7"
        placeholder="Drop files here to upload"
    />
    <label for="if-file-upload-7">When you drag files over</label>
    <button aria-hidden="true" type="button" class="if file-upload">
        <svg
            xmlns="http://www.w3.org/2000/svg"
            class="if loader dots horizontal small"
            viewBox="0 0 64 64"
            width="32"
            height="32"
        >
            <circle cx="8" cy="32" r="8" fill="#0054f0"></circle>
            <circle cx="32" cy="32" r="8" fill="#0054f0"></circle>
            <circle cx="56" cy="32" r="8" fill="#0054f0"></circle>
            <style>
                .if.loader.dots.horizontal circle {
                    transform: scale(0);
                    animation: ifAnimationLoaderHorizontal 1.15s infinite ease-in-out;
                    transform-origin: 56px 32px;
                }

                .if.loader.dots.horizontal circle:nth-child(1) {
                    animation-delay: -0.32s;
                    transform-origin: 8px 32px;
                }

                .if.loader.dots.horizontal circle:nth-child(2) {
                    animation-delay: -0.16s;
                    transform-origin: 32px 32px;
                }

                @-moz-keyframes ifAnimationLoaderHorizontal {
                    0%,
                    80%,
                    100% {
                        transform: scale(0);
                    }
                    40% {
                        transform: scale(1);
                    }
                }

                @-webkit-keyframes ifAnimationLoaderHorizontal {
                    0%,
                    80%,
                    100% {
                        transform: scale(0);
                    }
                    40% {
                        transform: scale(1);
                    }
                }

                @-o-keyframes ifAnimationLoaderHorizontal {
                    0%,
                    80%,
                    100% {
                        transform: scale(0);
                    }
                    40% {
                        transform: scale(1);
                    }
                }

                @keyframes ifAnimationLoaderHorizontal {
                    0%,
                    80%,
                    100% {
                        transform: scale(0);
                    }
                    40% {
                        transform: scale(1);
                    }
                }
            </style>
        </svg>
        <svg class="if icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
            <title>data upload</title>
            <g
                class="if animate bounce"
                class="nc-icon-wrapper"
                stroke-linecap="square"
                stroke-linejoin="miter"
                stroke-width="1.5"
                fill="#6e625e"
                stroke="#6e625e"
            >
                <line
                    data-cap="butt"
                    data-color="color-2"
                    x1="16"
                    y1="24"
                    x2="16"
                    y2="2"
                    fill="none"
                    stroke-miterlimit="10"
                    stroke-linecap="butt"
                />
                <polyline
                    data-color="color-2"
                    points="24 10 16 2 8 10"
                    fill="none"
                    stroke-miterlimit="10"
                />
            </g>
            <g
                class="nc-icon-wrapper"
                stroke-linecap="square"
                stroke-linejoin="miter"
                stroke-width="1.5"
                fill="#6e625e"
                stroke="#6e625e"
            >
                <polyline
                    points="2 23 2 30 30 30 30 23"
                    fill="none"
                    stroke="#6e625e"
                    stroke-miterlimit="10"
                />
            </g>
        </svg>
        <span class="if">
            Drop files here to upload
            <br />
            <span class="if fake-link text-meta">Or select files to upload</span>
        </span>
    </button>
</div>
<div class="if input-wrapper is-loading">
    <input
        data-size="large"
        type="file"
        class="if drag-drop"
        multiple=""
        id="if-file-upload-8"
        placeholder="Drop files here to upload"
    />
    <label for="if-file-upload-8">When it is uploading</label>
    <button aria-hidden="true" type="button" class="if file-upload">
        <svg
            xmlns="http://www.w3.org/2000/svg"
            class="if loader dots horizontal small"
            viewBox="0 0 64 64"
            width="32"
            height="32"
        >
            <circle cx="8" cy="32" r="8" fill="#0054f0"></circle>
            <circle cx="32" cy="32" r="8" fill="#0054f0"></circle>
            <circle cx="56" cy="32" r="8" fill="#0054f0"></circle>
            <style>
                .if.loader.dots.horizontal circle {
                    transform: scale(0);
                    animation: ifAnimationLoaderHorizontal 1.15s infinite ease-in-out;
                    transform-origin: 56px 32px;
                }

                .if.loader.dots.horizontal circle:nth-child(1) {
                    animation-delay: -0.32s;
                    transform-origin: 8px 32px;
                }

                .if.loader.dots.horizontal circle:nth-child(2) {
                    animation-delay: -0.16s;
                    transform-origin: 32px 32px;
                }

                @-moz-keyframes ifAnimationLoaderHorizontal {
                    0%,
                    80%,
                    100% {
                        transform: scale(0);
                    }
                    40% {
                        transform: scale(1);
                    }
                }

                @-webkit-keyframes ifAnimationLoaderHorizontal {
                    0%,
                    80%,
                    100% {
                        transform: scale(0);
                    }
                    40% {
                        transform: scale(1);
                    }
                }

                @-o-keyframes ifAnimationLoaderHorizontal {
                    0%,
                    80%,
                    100% {
                        transform: scale(0);
                    }
                    40% {
                        transform: scale(1);
                    }
                }

                @keyframes ifAnimationLoaderHorizontal {
                    0%,
                    80%,
                    100% {
                        transform: scale(0);
                    }
                    40% {
                        transform: scale(1);
                    }
                }
            </style>
        </svg>
        <svg class="if icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
            <title>data upload</title>
            <g
                class="if animate bounce"
                class="nc-icon-wrapper"
                stroke-linecap="square"
                stroke-linejoin="miter"
                stroke-width="1.5"
                fill="#6e625e"
                stroke="#6e625e"
            >
                <line
                    data-cap="butt"
                    data-color="color-2"
                    x1="16"
                    y1="24"
                    x2="16"
                    y2="2"
                    fill="none"
                    stroke-miterlimit="10"
                    stroke-linecap="butt"
                />
                <polyline
                    data-color="color-2"
                    points="24 10 16 2 8 10"
                    fill="none"
                    stroke-miterlimit="10"
                />
            </g>
            <g
                class="nc-icon-wrapper"
                stroke-linecap="square"
                stroke-linejoin="miter"
                stroke-width="1.5"
                fill="#6e625e"
                stroke="#6e625e"
            >
                <polyline
                    points="2 23 2 30 30 30 30 23"
                    fill="none"
                    stroke="#6e625e"
                    stroke-miterlimit="10"
                />
            </g>
        </svg>
        <span class="if">
            Drop files here to upload
            <br />
            <span class="if fake-link text-meta">Or select files to upload</span>
        </span>
    </button>
</div>

File list

<div class="if uploaded-files">
    <ol class="if">
        <li class="if error">
            <span class="if file-name ui icon symbol image" title="Image from iOS.jpg"
                >Image from iOS.jpg</span
            >
            <span class="if file-feedback">Upload error</span>
            <button type="button" class="if file-action refresh">Try again</button>
        </li>
        <li class="if error">
            <span class="if file-name ui icon symbol image" title="Image from iOS.jpg"
                >Image from iOS.jpg</span
            >
            <span class="if file-feedback">File format not supported</span>
        </li>
        <li class="if">
            <span
                class="if file-name ui icon symbol image"
                title="A very long image name that is truncated.png"
            >
                A very long image name that is truncated.png
            </span>
            <span class="if file-feedback">53.65<abbr title="Kilobytes">KB</abbr></span>
            <button type="button" class="if file-action load">
                <svg
                    class="if loader dots horizontal"
                    xmlns="http://www.w3.org/2000/svg"
                    viewBox="0 0 64 64"
                >
                    <g class="if svg g">
                        <circle class="if svg circle" fill="#0054f0" cx="8" cy="32" r="6" />
                        <circle class="if svg circle" fill="#0054f0" cx="32" cy="32" r="6" />
                        <circle class="if svg circle" fill="#0054f0" cx="56" cy="32" r="6" />
                    </g>
                </svg>
            </button>
        </li>
        <li class="if">
            <span class="if file-name ui icon symbol image" title="Image from iOS.jpg"
                >Image from iOS.jpg</span
            >
            <span class="if file-feedback">53.65<abbr title="Kilobytes">KB</abbr></span>
            <button type="button" class="if file-action delete"></button>
        </li>
        <li class="if">
            <span class="if file-name ui icon symbol document" title="CV.pdf">CV.pdf</span>
            <span class="if file-feedback">83.31<abbr title="Kilobytes">KB</abbr></span>
            <button type="button" class="if file-action delete"></button>
        </li>
        <li class="if">
            <span class="if file-name ui icon symbol image" title="Profile-photo.jpg"
                >Profile-photo.jpg</span
            >
            <span class="if file-feedback">2.45<abbr title="Megabytes">MB</abbr></span>
            <button type="button" class="if file-action delete"></button>
        </li>
    </ol>
</div>
File icon

Use an icon that fits the file that is to be uploaded. You match the mime-type and or file extension in your JavaScript to display correct icon.

<li class="if">
    <span class="if file-name [ui icon symbol image]" title="Profile-photo.jpg"
        >Profile-photo.jpg</span
    >
    <span class="if file-feedback">2.45<abbr title="Megabytes">MB</abbr></span>
    <button type="button" class="if file-action delete"></button>
</li>
File name

The name of the file to be uploaded. If the file name is too long, it is truncated with ellipsis. Users can hover over the file name to get the full name.

<li class="if">
    <span class="if file-name ui icon symbol image" title="Profile-photo.jpg"
        >Profile-photo.jpg</span
    >
    <span class="if file-feedback">2.45<abbr title="Megabytes">MB</abbr></span>
    <button type="button" class="if file-action delete"></button>
</li>
File feedback

The feedback text usually contains the file size. If there's an error, you can display an error text there.

<li class="if">
    <span class="if file-name ui icon symbol image" title="Profile-photo.jpg"
        >Profile-photo.jpg</span
    >
    <span class="if file-feedback">2.45<abbr title="Megabytes">MB</abbr></span>
    <button type="button" class="if file-action delete"></button>
</li>
<li class="if error">
    <span class="if file-name ui icon symbol image" title="Profile-photo.jpg"
        >Profile-photo.jpg</span
    >
    <span class="if file-feedback">File format not supported</span>
</li>
File action

The file action depicts the current action that's available for the file that is uploading or is to be uploaded.

Delete

If there applies a feature to delete specific files before upload, or after a file is uploaded, you can use this icon and relevant action to delete the file.

Load

When an image is uploaded, for example on the change-event, use the loader as the action.

Success

When a file has successfully been uploaded. The check mark should only be visible for 1-2 seconds, before turning back to a cross (the delete action).

Refresh

If something went wrong with the upload, use the refresh icon and relevant action.

  1. Image from iOS.jpg 53.65KB
  2. Image from iOS.jpg 53.65KB
  3. Image from iOS.jpg 53.65KB
  4. Image from iOS.jpg Upload failed
<li class="if">
    <span class="if file-name ui icon symbol image" title="Profile-photo.jpg"
        >Profile-photo.jpg</span
    >
    <span class="if file-feedback">2.45<abbr title="Megabytes">MB</abbr></span>
    <button type="button" class="if file-action [delete|refresh|success]"></button>
</li>
<li class="if">
    <span class="if file-name ui icon symbol image" title="Profile-photo.jpg"
        >Profile-photo.jpg</span
    >
    <span class="if file-feedback">2.45<abbr title="Megabytes">MB</abbr></span>
    <button type="button" class="if file-action load">
        <svg
            class="if loader dots horizontal"
            xmlns="http://www.w3.org/2000/svg"
            viewBox="0 0 64 64"
        >
            <g class="if svg g">
                <circle class="if svg circle" fill="#0054f0" cx="8" cy="32" r="6" />
                <circle class="if svg circle" fill="#0054f0" cx="32" cy="32" r="6" />
                <circle class="if svg circle" fill="#0054f0" cx="56" cy="32" r="6" />
            </g>
        </svg>
    </button>
</li>
Error

If there's an error, you can display that text in the feedback element, but remember to use the .if.error on the list-element.

<li class="if error">
    <span class="if file-name ui icon symbol image" title="Profile-photo.jpg"
        >Profile-photo.jpg</span
    >
    <span class="if file-feedback">File upload failed</span>
    <button type="button" class="if file-action refresh">Try again</button>
</li>
Implementation
Regarding removal of files when selecting multiple

There is no direct way of removing one element or more from the list of files to be uploaded. You can however remove all by reselecting the desired files.

But, you can do it the hard way:

  1. Copy the FileList object into an array
  2. Remove element from the copied array
  3. When uploading via AJAX (only known way so far), only pass the desired files
Edit this section, Opens in new window

Tokens

All of the tokens can be used as preprocessor and CSS variables

File Upload tokens

Name Value
$ids-file-upload-drag-drop-min-width-media-query-md
18.5rem
$ids-file-upload-drag-drop-button-height
12.5rem
$ids-file-upload-drag-drop-button-min-width-media-query-md
18.5rem
$ids-file-upload-drag-drop-button-border
0.0625rem dashed rgb(110, 98, 94)
$ids-file-upload-drag-drop-button-border-radius
0.75rem
$ids-file-upload-drag-drop-button-color
rgb(110, 98, 94)
$ids-file-upload-drag-drop-button-spacing-inset
0
$ids-file-upload-drag-drop-button-icon-top
4.25rem
$ids-file-upload-drag-drop-button-icon-width
1.5rem
$ids-file-upload-drag-drop-button-icon-height
1.5rem
$ids-file-upload-drag-drop-button-icon-left
50%
$ids-file-upload-drag-drop-button-span-top
6.25rem
$ids-file-upload-drag-drop-button-span-width
100%
$ids-file-upload-drag-drop-button-span-left
50%
$ids-file-upload-drag-drop-button-fake-link-text-decoration
underline
$ids-file-upload-drag-drop-button-fake-link-color
rgb(0, 84, 240)
$ids-file-upload-drag-drop-is-dragover-button-border
0.25rem dashed rgb(0, 84, 240)
$ids-file-upload-drag-drop-is-dragover-button-background-position
center center
$ids-file-upload-drag-drop-is-dragover-button-background-color
transparent
$ids-file-upload-drag-drop-is-dragover-button-background-size
3rem 3rem
$ids-file-upload-drag-drop-is-loading-button-opacity
0.3
$ids-file-upload-drag-drop-is-loading-loader-top
4rem
$ids-file-upload-drag-drop-is-loading-loader-width
2rem
$ids-file-upload-drag-drop-is-loading-loader-height
2rem
$ids-file-upload-drag-drop-is-loading-loader-left
50%
$ids-file-upload-button-height
3rem
$ids-file-upload-button-font-size
1.125rem
$ids-file-upload-button-border-radius
0.375rem
$ids-file-upload-button-background-color-default
rgb(250, 249, 247)
$ids-file-upload-button-background-color-disabled
rgba(250,249,247,0.7)
$ids-file-upload-button-border-default
0.0625rem solid rgb(51, 30, 17)
$ids-file-upload-button-border-disabled
0.0831rem solid rgba(110, 98, 94, 0.3)
$ids-file-upload-button-border-invalid
0.125rem solid rgb(187, 50, 12)
$ids-file-upload-button-color-default
rgb(0, 84, 240)
$ids-file-upload-button-color-disabled
rgba(110,98,94,0.4)
$ids-file-upload-button-background-size
1.25rem 1.25rem
$ids-file-upload-button-spacing-inset
0 3rem 0 1rem
$ids-file-upload-button-background-position
right 0.75rem center
$ids-file-upload-button-margin
0
$ids-file-upload-label-margin
0 1.5rem 0 0
$ids-file-upload-label-border
0.125rem solid currentColor
$ids-file-upload-label-color
rgb(0, 84, 240)
$ids-file-upload-label-width
100%
$ids-file-upload-label-max-width
18.5rem
$ids-file-upload-uploaded-files-width
100%
$ids-file-upload-uploaded-files-z-index
3
$ids-file-upload-uploaded-files-margin-top
0.5rem
$ids-file-upload-uploaded-files-margin
0
$ids-file-upload-uploaded-files-padding
0
$ids-file-upload-uploaded-files-max-width-media-query-md
18.5rem
$ids-file-upload-uploaded-files-color-invalid
rgb(187, 50, 12)
$ids-file-upload-uploaded-file-margin-right
1rem
$ids-file-upload-uploaded-file-line-height
2rem
$ids-file-upload-uploaded-file-padding-right
1rem
$ids-file-upload-uploaded-file-icon-background-position
left center
$ids-file-upload-uploaded-file-icon-padding-left
2rem
$ids-file-upload-uploaded-file-icon-min-height
2rem
$ids-file-upload-uploaded-file-icon-background-size
1.25rem 1.25rem
$ids-file-upload-uploaded-file-after-height
1rem
$ids-file-upload-uploaded-file-after-width
0.0625rem
$ids-file-upload-uploaded-file-after-top
50%
$ids-file-upload-uploaded-file-after-right
0
$ids-file-upload-uploaded-file-after-border-right
0.0625rem solid rgba(110, 98, 94, 0.4)
$ids-file-upload-uploaded-file-feedback-margin-right
0.5rem
$ids-file-upload-uploaded-file-action-border
none
$ids-file-upload-uploaded-file-action-color
rgb(0, 84, 240)
$ids-file-upload-uploaded-file-action-background-color
transparent
$ids-file-upload-uploaded-file-action-min-width
2rem
$ids-file-upload-uploaded-file-action-height
2rem
$ids-file-upload-uploaded-file-action-background-position
center center
$ids-file-upload-uploaded-file-action-background-size
2rem 2rem
$ids-file-upload-uploaded-file-action-load-svg-height
1.5rem
$ids-file-upload-uploaded-file-action-refresh-background-position
left center
$ids-file-upload-uploaded-file-action-refresh-spacing-inset
0 0 0 1.5rem
Edit this section, Opens in new window

Changelog

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

14.28.1 (2022-08-22)

Bug Fixes

  • file-upload: make input for drag and drop 100% height, so it works properly (29412d9) , closes #613019

14.22.2 (2022-05-03)

Miscellaneous chores

  • package locks: update package locks (813eac7)

14.20.1 (2022-04-19)

Miscellaneous chores

  • changelog: regenerate all CHANGELOG.md files (64ab385) , closes #586342
  • changelog: regenerate all changelogs after updating changelog generation (70789c9) , closes #587270

14.18.3 (2022-04-13)

Bug Fixes

  • changelog: generate new CHANGELOG.md files for root and packages (349fda4) , closes #586063 . We regenerate the files to include all relevant commits and to use conventional-commits at 100%

14.16.0 (2022-04-07)

Bug Fixes

  • πŸ› Add missing imports for global CSS Variables (fbf6f06) , closes #582437

14.9.0 (2022-03-03)

Miscellaneous chores

14.8.1 (2022-02-23)

Bug Fixes

  • πŸ› Add missing imports of typography CSS variables (e716c65) , closes #559412

reinstall (d425056)

bootstrap (9a713df)

merge (2b1c5f1)

reinstall (5221600)

reinstall (147df55)

14.3.0 (2022-02-09)

Bug Fixes

  • Use correct vars and mixins (f879b28)

  • Add engines for all packages (e95dfff)

reinstall (afce1f2)

reinstall (67f3140)

  • Add changelog.md to files (3338314)

Reinstall (a2abf51)

14.2.2 (2021-12-10)

Code Refactoring

  • πŸ’‘ Change focus styles, remove whatinput (75fd31b) , closes #505205

  • Make it more readable (490e91b)

  • rebuild and reinstall (f9fb687)

reinstall (885c74b)

  • fix changelogs manually (b1232b4)

reinstall (545a069)

reinstall (e149c2c)

13.12.3 (2021-11-09)

⚠ BREAKING CHANGES

  • 🧨 The scope for If Design System npm packages has now changed from @if-design-system to @ids-core. We have also renamed the repository from if-design-system to ids-core
  • 🧨 Util is now renamed to Utils
  • 🧨 We have now changed the navigation structure for the documentation site. Please update any saved links!
  • 🧨 Navigation structure has now changed. Please see release notes!
  • 🧨 The JavaScript example is now moved to a separate JS package: @ids-js/file-upload

Documentation Updates

  • ✏️ Make variations tables more condensed (4344a3a)

  • ✏️ Move position of the quick links (5cb0897)

  • ✏️ Remove unneeded margins for shortcuts (36c7e8d)

  • ✏️ Separate out JS and CSS documentation (ea4c5c6) , closes #467386

  • ✏️ Update links and change navigation structure (0bfd27d) , closes #490579

Code Refactoring

  • πŸ’‘ Categorize components (9965266) , closes #490579

  • πŸ’‘ Reduce spacing tokens, use correct size tokens (97aa461)

  • πŸ’‘ Rename scope and repository (3ea5423)

  • πŸ’‘ Use new navigation structure for documentation (415aee5) , closes #490579

  • another change in the structure (38a0d2e)

Miscellaneous chores

  • πŸ€– Prune changelogs (2c660c2)

  • πŸ€– Rename util to utils (f78721f)

bootstrap (6fc1ed8)

  • fix all old references to util (d57bf17)

  • prepare for merge (0184490)

reinstall (da80dba)

  • Rename scope and repo (257684e)

  • use correct version for utils (49e72d9)

13.11.0 (2021-10-19)

Features

  • 🎸 Input field hot reload (eac76b7)

13.9.2 (2021-09-30)

Bug Fixes

  • πŸ› Complete the pseudo-element fix (1dcee2c)

13.7.0 (2021-09-22)

Documentation Updates

  • ✏️ Update linking layout and naming (15c383b)

13.6.3 (2021-09-17)

Bug Fixes

13.6.0 (2021-09-08)

Documentation Updates

  • Use default shortcut listing for demo links (a746602)

13.5.1 (2021-09-07)

Bug Fixes

  • πŸ› Finalize data-size issue (f7f9f55) , closes #374144

  • πŸ› Update and fix data sizing for form elements (5fbefb4) , closes #374144

  • πŸ€– Rearrange diffs for test, use grey color for unaffected (1834399)

  • continue to fix form input widths (b66977e)

13.5.0 (2021-09-06)

Features

  • 🎸 Add support for loading state for file upload (ed4991d) , closes #303371

  • πŸ€– Use node v14 (4009973)

bootstrap (d23e139)

  • πŸ€– Use correct order for diff (cc6a4fd)

12.14.1 (2021-08-12)

Miscellaneous chores

  • πŸ€– Add ci task to package.json without tests (21222e0) , closes #457627

12.13.1 (2021-08-11)

Bug Fixes

  • πŸ› Whitelist docs dir for npm packaging (1a5cfd0) , closes #457621

  • πŸ€– Remove .gitignore, use npm package.json files instead, ignore zip files for npm pack (49f0269) , closes #412081 . This will whitelist files to be used in "npm pack"

  • πŸ€– Reinstall (e660696)

  • πŸ€– Update published date (61e7ccf)

12.6.0 (2021-05-27)

Bug Fixes

  • πŸ› Manually set firstPublished and lastModified (e83af7d)

  • πŸ› We don't need lastModified (e458a12)

12.0.0 (2021-05-05)

⚠ BREAKING CHANGES

  • 🧨 All of the mixins have now been renamed
  • 🧨 Notification is now renamed to Alert Banner
  • 🧨 This extracts the Hero variation with no image into a separate, design updated component named Header
  • 🧨 Footer is now renamed to Global Footer
  • 🧨 Crosslinks have seized to exist. They are all extracted into separate components. This commit converts crosslink buttons into the new component Shortcuts

Features

  • 🎸 Rename and extract and update hero with no image to (384eb77) , closes #336508 . Header component

Bug Fixes

  • πŸ› Update references (c08f107)

Code Refactoring

  • πŸ’‘ Extract Label to Input Label (c8bbf70) , closes #336508

  • πŸ’‘ Rename and consolidate mixins (67cf470) , closes #268081

  • πŸ’‘ Rename crosslink buttons to Shortcuts (c05bf9c) , closes #336508

  • πŸ’‘ Rename Footer to Global Footer (7cb7239) , closes #336508

  • πŸ’‘ Rename Notification to Alert Banner (8b4e48d) , closes #336508

Miscellaneous chores

  • πŸ€– Convert typography tokens from theo to SD (e48f255)

  • πŸ€– Convert util tokens from theo to style-dictionary (99fb4f5)

  • πŸ€– Finalize breakpoint token conversion (f50ea0d)

  • πŸ€– Make sure all components are named with capital first (08e9a26)

  • πŸ€– Make sure we have correct deps set, and used (5d2e0fb)

  • πŸ€– Reinstall (2c763ea)

  • πŸ€– Reinstall (69e1a5b)

  • πŸ€– Update all design token references (c640d15)

  • πŸ€– Update references to util variables (b79ec36)

  • πŸ€– Updating links (70f166e)

rebuild (7edb430)

  • Reinstall packages (3922c31)

  • update versions (f679926)

  • πŸ€– Rename Change Log to Changelog (d412e63)

  • πŸ€– Remove all references to sketch (35fc554) , closes #339203

  • πŸ€– Update package fields (200c0af)

10.0.0 (2021-02-15)

⚠ BREAKING CHANGES

  • 🧨 form-group is now renamed to input-wrapper, a more logical name

Code Refactoring

  • πŸ’‘ Refactor to fit new input labels, documentation (15d2954)

  • πŸ’‘ Rename form-group to input-wrapper (7ee3bae)

Documentation Updates

  • ✏️ Upate doc examples and docs regarding input-fields (38f6af8)

  • reinstall packages (fcfacf4)

  • πŸ€– Use a more distint class name for doc crosslink links (2694867)

7.1.0 (2020-11-16)

Features

  • 🎸 Add support for auto generation of components index (9444600) , closes #309650

6.43.3 (2020-11-03)

Miscellaneous chores

  • πŸ€– Manually set version (e4d9ca6)

6.42.0 (2020-10-22)

Bug Fixes

  • πŸ› Remove margins from file-upload button (962f01c)

  • πŸ› Use correct inclusion of mixins (d4b2232)

Documentation Updates

  • ✏️ Update file-upload documentation layout (d2066ef)

Code Refactoring

  • πŸ’‘ Increase size of file list icons (11d4a15)

  • πŸ’‘ Use a clearer dropzone border for drag and drop (e3c97a2)

  • πŸ€– Rename repository from guybrush to if-design-system (c18bccd)

reinstall (2cefe15)

6.36.0 (2020-10-12)

Features

  • 🎸 Add updated focus styling to file-upload (4aaf6c6)

Miscellaneous chores

  • πŸ€– Add what-input to demo and dev files (56801b7)

  • πŸ€– Rename focus style mixins (e18b688)

  • πŸ€– Update tests (08e2f2b)

6.29.4 (2020-09-09)

Documentation Updates

  • ✏️ Use correct strong element with if class (6b484df)

6.29.3 (2020-09-07)

Documentation Updates

  • ✏️ Merge atoms/molecules/organisms into components (90ed590)

6.26.12 (2020-08-03)

Documentation Updates

  • ✏️ Update documentation for the new registry (3e7ba20)

Miscellaneous chores

  • πŸ€– lerna bootstrap (d835ec9)

  • πŸ€– Temporarily remove package-lock.json-files (87b3f7f)

  • πŸ€– Update references to new scope (b5575dd)

6.26.10 (2020-07-14)

Miscellaneous chores

  • πŸ€– Manually update some links (ecc0133)

  • πŸ€– Update CHANGELOG.md links to workitems and commits (ab2887b)

6.23.0 (2020-07-01)

Miscellaneous chores

reinstall (1ab1527)

6.22.0 (2020-07-01)

Features

  • 🎸 Add new color categories, update documentation (5496822)

Bug Fixes

  • πŸ› Use correct colors for disabled states in input controls (a0862db)

Documentation Updates

  • ✏️ Update documentation layout (816053b)

Miscellaneous chores

  • πŸ€– Rename darkRed to red for status color (ba76a92)

  • πŸ€– Search and replace old color usage (3e5abb0)

6.21.6 (2020-06-11)

Miscellaneous chores

  • πŸ€– Remove .zip files from .npmignore (b3bc7dc)

6.19.0 (2020-06-02)

Miscellaneous chores

reinstall (3416c65)

6.16.1 (2020-05-20)

Bug Fixes

  • πŸ› Fix routing for dev server (295db6e)

6.15.5 (2020-05-15)

Miscellaneous chores

  • prepped and ready to separate documentation site from code (d3e1fd9)

  • pruning and reinstalling (5cda0bc)

reinstall (939dae6)

reinstall (cae55fb)

  • Remove livingcss data and add frontmatter data (b384946)

6.15.4 (2020-05-14)

Miscellaneous chores

6.15.2 (2020-05-11)

Miscellaneous chores

6.15.0 (2020-05-07)

Miscellaneous chores

6.11.0 (2020-04-22)

Bug Fixes

  • πŸ› Add sr only text for footer logo link (2971dd9)

6.10.9 (2020-04-22)

Miscellaneous chores

  • πŸ€– Add *.zip-files to .npmignore-files (062b8b0)

6.10.6 (2020-04-17)

Miscellaneous chores

  • πŸ€– lerna bootstrap (d8faf26)

6.9.1 (2020-04-16)

Documentation Updates

  • ✏️ Use correct badge color in README.md (03b563e)

6.6.0 (2020-04-09)

Documentation Updates

  • ✏️ Change edit this document to edit this section (791b646)

6.5.4 (2020-04-08)

Bug Fixes

6.5.3 (2020-04-06)

Documentation Updates

  • ✏️ Some more sg updates and tweaks (d1d6802)

6.4.2 (2020-04-03)

Bug Fixes

  • πŸ› Remove misuse of unset, none, auto and initial (87624d7)

  • πŸ› Use initial instead of none and unset (d75bc65)

6.3.4 (2020-04-01)

Miscellaneous chores

  • πŸ€– Use more of if styling on documentation site (2eaf386)

6.3.2 (2020-03-31)

Documentation Updates

  • ✏️ Replace sg.message with if.notification (5d1aa99)

6.1.3 (2020-03-26)

Miscellaneous chores

  • πŸ€– Adjust widths for upload field for responsive. Docs (e307999)

  • πŸ€– Update docs and polish styling for file-upload (e307c36)

6.1.1 (2020-03-25)

Miscellaneous chores

  • πŸ€– Add animation to dragged upload, change background (f36c2a1)

6.1.0 (2020-03-25)

Features

  • 🎸 Add new component file upload (40942fa)
Edit this section, Opens in new window
Contact us, Opens in new window