{"id":19835037,"url":"https://github.com/equinor/design-system","last_synced_at":"2026-04-02T14:54:53.716Z","repository":{"id":36952838,"uuid":"169560523","full_name":"equinor/design-system","owner":"equinor","description":"The Equinor design system","archived":false,"fork":false,"pushed_at":"2026-03-30T14:48:07.000Z","size":72030,"stargazers_count":142,"open_issues_count":213,"forks_count":72,"subscribers_count":11,"default_branch":"main","last_synced_at":"2026-03-30T15:26:06.099Z","etag":null,"topics":["design-system","hacktoberfestivus"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/equinor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2019-02-07T11:22:38.000Z","updated_at":"2026-03-26T15:07:57.000Z","dependencies_parsed_at":"2025-12-29T18:05:54.696Z","dependency_job_id":null,"html_url":"https://github.com/equinor/design-system","commit_stats":{"total_commits":1811,"total_committers":58,"mean_commits":"31.224137931034484","dds":0.8117062396466042,"last_synced_commit":"6869b88be2b55ab30ea80d9edc5206dad693a5a2"},"previous_names":[],"tags_count":288,"template":false,"template_full_name":null,"purl":"pkg:github/equinor/design-system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fdesign-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fdesign-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fdesign-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fdesign-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/equinor","download_url":"https://codeload.github.com/equinor/design-system/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinor%2Fdesign-system/sbom","scorecard":{"id":111207,"data":{"date":"2025-08-11","repo":{"name":"github.com/equinor/design-system","commit":"92710641e53fe094935dab991d83bf04d087a660"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.1,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":6,"reason":"Found 19/30 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/sync-figma-to-tokens.yml:17","Warn: no topLevel permission defined: .github/workflows/_purge_cdn.yaml:1","Warn: no topLevel permission defined: .github/workflows/_setup.yml:1","Warn: no topLevel permission defined: .github/workflows/checks.yaml:1","Warn: no topLevel permission defined: .github/workflows/playwright.yml:1","Warn: no topLevel permission defined: .github/workflows/publish_data_grid.yaml:1","Warn: no topLevel permission defined: .github/workflows/publish_icons.yaml:1","Warn: no topLevel permission defined: .github/workflows/publish_lab.yaml:1","Warn: no topLevel permission defined: .github/workflows/publish_storybook_data_grid.yaml:1","Warn: no topLevel permission defined: .github/workflows/publish_storybook_lab.yaml:1","Warn: no topLevel permission defined: .github/workflows/publish_tokens.yaml:1","Warn: no topLevel permission defined: .github/workflows/sync-figma-to-tokens.yml:1","Warn: no topLevel permission defined: .github/workflows/sync-tokens-to-figma.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/_purge_cdn.yaml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/_purge_cdn.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/_purge_cdn.yaml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/_purge_cdn.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/_purge_cdn.yaml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/_purge_cdn.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/_purge_cdn.yaml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/_purge_cdn.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/_setup.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/_setup.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/_setup.yml:76: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/_setup.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/_setup.yml:91: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/_setup.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/_setup.yml:98: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/_setup.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yaml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/checks.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yaml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/checks.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/checks.yaml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/checks.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yaml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/checks.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/checks.yaml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/checks.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/playwright.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/playwright.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/playwright.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/playwright.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/playwright.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/playwright.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_assets_to_cdn.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_assets_to_cdn.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_assets_to_cdn.yaml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_assets_to_cdn.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_assets_to_cdn.yaml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_assets_to_cdn.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_assets_to_cdn.yaml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_assets_to_cdn.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_core_react.yaml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_core_react.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_core_react.yaml:133: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_core_react.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_core_react.yaml:140: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_core_react.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_core_react.yaml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_core_react.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_core_react.yaml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_core_react.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_core_react.yaml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_core_react.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_core_react.yaml:75: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_core_react.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_core_react.yaml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_core_react.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_core_react.yaml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_core_react.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_core_react.yaml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_core_react.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_data_grid.yaml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_data_grid.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_data_grid.yaml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_data_grid.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_data_grid.yaml:89: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_data_grid.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_data_grid.yaml:97: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_data_grid.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_data_grid.yaml:104: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_data_grid.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_data_grid.yaml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_data_grid.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_data_grid.yaml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_data_grid.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_data_grid.yaml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_data_grid.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_icons.yaml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_icons.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_icons.yaml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_icons.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_icons.yaml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_icons.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_icons.yaml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_icons.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_icons.yaml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_icons.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_lab.yaml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_lab.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_lab.yaml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_lab.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_lab.yaml:128: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_lab.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_lab.yaml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_lab.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_lab.yaml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_lab.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_lab.yaml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_lab.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_lab.yaml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_lab.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_lab.yaml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_lab.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_lab.yaml:89: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_lab.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_lab.yaml:101: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_lab.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_storybook.yaml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_storybook.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_storybook.yaml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_storybook.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_storybook.yaml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_storybook.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_storybook.yaml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_storybook.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_storybook.yaml:85: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_storybook.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_storybook_data_grid.yaml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_storybook_data_grid.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_storybook_data_grid.yaml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_storybook_data_grid.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_storybook_data_grid.yaml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_storybook_data_grid.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_storybook_data_grid.yaml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_storybook_data_grid.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_storybook_data_grid.yaml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_storybook_data_grid.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_storybook_lab.yaml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_storybook_lab.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_storybook_lab.yaml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_storybook_lab.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_storybook_lab.yaml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_storybook_lab.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_storybook_lab.yaml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_storybook_lab.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_storybook_lab.yaml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_storybook_lab.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_tokens.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_tokens.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_tokens.yaml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_tokens.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_tokens.yaml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_tokens.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_tokens.yaml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_tokens.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_tokens.yaml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/publish_tokens.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/setup_azure.yaml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/setup_azure.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/setup_azure.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/setup_azure.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/setup_azure.yaml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/setup_azure.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/setup_azure.yaml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/setup_azure.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync-figma-to-tokens.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/sync-figma-to-tokens.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync-figma-to-tokens.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/sync-figma-to-tokens.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/sync-figma-to-tokens.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/sync-figma-to-tokens.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync-tokens-to-figma.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/sync-tokens-to-figma.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync-tokens-to-figma.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/equinor/design-system/sync-tokens-to-figma.yml/develop?enable=pin","Warn: containerImage not pinned by hash: .devcontainer/Dockerfile:2","Warn: containerImage not pinned by hash: .gitpod.Dockerfile:1: pin your Docker image by updating gitpod/workspace-full:latest to gitpod/workspace-full:latest@sha256:b1195dfae7ee9a12a89d195247c3e1357cc6a18360a41473dbec67525ef434e2","Warn: containerImage not pinned by hash: packages/eds-color-palette-generator/Dockerfile:1","Warn: containerImage not pinned by hash: packages/eds-color-palette-generator/Dockerfile:3","Warn: containerImage not pinned by hash: packages/eds-color-palette-generator/Dockerfile:9","Warn: containerImage not pinned by hash: packages/eds-color-palette-generator/Dockerfile:15","Warn: containerImage not pinned by hash: packages/eds-core-react/Dockerfile.storybook:1: pin your Docker image by updating nginx:1.26.3-alpine to nginx:1.26.3-alpine@sha256:1eadbb07820339e8bbfed18c771691970baee292ec4ab2558f1453d26153e22d","Warn: containerImage not pinned by hash: packages/eds-lab-react/Dockerfile.storybook:1: pin your Docker image by updating nginx:1.28.0-alpine to nginx:1.28.0-alpine@sha256:9016906694fa7f04364d2945350204981e869cf03338f97745282ca6a0534437","Warn: npmCommand not pinned by hash: .github/workflows/_setup.yml:85","Info:   0 out of  43 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  39 third-party GitHubAction dependencies pinned","Info:   0 out of   8 containerImage dependencies pinned","Info:   2 out of   3 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 27 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"40 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-xffm-g5w8-qvg7","Warn: Project is vulnerable to: GHSA-prr3-c3m5-p7q2","Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-qwcr-r2fm-qrc7","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-ghr5-ch3p-vcr6","Warn: Project is vulnerable to: GHSA-67mh-4wv8-2f99","Warn: Project is vulnerable to: GHSA-rv95-896h-c2vc","Warn: Project is vulnerable to: GHSA-qw6h-vgh9-j6wx","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-78xj-cgh5-2h22","Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j","Warn: Project is vulnerable to: GHSA-rhx6-c78j-4q9w","Warn: Project is vulnerable to: GHSA-gcx4-mw62-g8wm","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p","Warn: Project is vulnerable to: GHSA-w5hq-hm5m-4548","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-pq67-2wwv-3xjx","Warn: Project is vulnerable to: GHSA-8cj5-5rvv-wf4v","Warn: Project is vulnerable to: GHSA-8jhw-289h-jh2g","Warn: Project is vulnerable to: GHSA-64vr-g452-qvp3","Warn: Project is vulnerable to: GHSA-9cwx-2883-4wfx","Warn: Project is vulnerable to: GHSA-vg6x-rcgg-rjx6","Warn: Project is vulnerable to: GHSA-x574-m823-4x7w","Warn: Project is vulnerable to: GHSA-4r4m-qw57-chr8","Warn: Project is vulnerable to: GHSA-xcj6-pq6g-qj4x","Warn: Project is vulnerable to: GHSA-356w-63v5-8wf4","Warn: Project is vulnerable to: GHSA-859w-5945-r5v3","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q","Warn: Project is vulnerable to: GHSA-4vvj-4cpr-p986","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-g3ch-rx76-35fx"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-15T12:16:29.348Z","repository_id":36952838,"created_at":"2025-08-15T12:16:29.348Z","updated_at":"2025-08-15T12:16:29.348Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31308448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["design-system","hacktoberfestivus"],"created_at":"2024-11-12T12:06:18.167Z","updated_at":"2026-04-02T14:54:53.709Z","avatar_url":"https://github.com/equinor.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Equinor Design System\n\nThe EDS is the official design system of Equinor and is to be used when designing, prototyping and developing internal digital interfaces. The EDS provides structure, guidance and tools that enable designers and developers to efficiently build consistent, inclusive and flexible solutions.\n\nWhile the design system itself lives in [Figma][], this repository contains implementations of the EDS in code.\n\n## Quick links\n\n- [Storybook (prod)](https://storybook.eds.equinor.com/)\n- [Storybook (dev)](https://s478stedsstorybookdev.z16.web.core.windows.net/) – latest from `main`\n- [Figma](https://www.figma.com/files/682286909510540417/team/590517879490131675/EDS---Equinor-Design-System?fuid=677437722215124736)\n- [Storefront](https://eds.equinor.com)\n- [Slack](https://equinor.slack.com/archives/CJT20H1B9)\n- [Architecture Decision Records](./documentation/adr/) – documented architecture decisions\n\n## Repository structure\n\nThis is a monorepo containing both published packages and applications:\n\n```\napps/                    # Applications (not published to npm)\n  design-system-docs/    # Documentation website (Docusaurus)\n  eds-demo/              # Component demo application (Next.js)\n  eds-color-palette-generator/  # Color palette generation tool\npackages/                # Published npm packages\n  eds-core-react/        # React component library\n  eds-tokens/            # Design tokens\n  eds-icons/             # Icon library\n  eds-lab-react/         # Experimental components\n  eds-data-grid-react/   # Data grid component\n  eds-utils/             # Utility functions\n  eds-tailwind/          # Tailwind CSS plugin\n```\n  \n## Table of contents\n\n- [Equinor Design System](#equinor-design-system)\n  - [Quick links](#quick-links)\n  - [Table of contents](#table-of-contents)\n  - [Repository structure](#repository-structure)\n  - [Status](#status)\n  - [Applications](#applications)\n  - [Prerequisites](#prerequisites)\n  - [How to run](#how-to-run)\n    - [Use Gitpod and develop in the browser](#use-gitpod-and-develop-in-the-browser)\n    - [Clone and develop locally](#clone-and-develop-locally)\n    - [Common development commands](#common-development-commands)\n    - [Work with the React components](#work-with-the-react-components)\n  - [Figma](#figma)\n  - [Storefront](#storefront)\n  - [React](#react)\n    - [Installation](#installation)\n    - [Usage](#usage)\n  - [Icons](#icons)\n    - [Installation](#installation-1)\n    - [Usage](#usage-1)\n  - [Tokens](#tokens)\n    - [Installation](#installation-2)\n    - [Usage](#usage-2)\n  - [Lab React](#lab-react)\n    - [Installation](#installation-3)\n    - [Usage](#usage-3)\n  - [Data Grid](#data-grid)\n    - [Installation](#installation-4)\n    - [Usage](#usage-4)\n  - [Fonts](#fonts)\n    - [Usage](#usage-5)\n    - [All the fonts](#all-the-fonts)\n    - [Individual fonts](#individual-fonts)\n  - [Logo](#logo)\n    - [Usage](#usage-6)\n  - [Browser support](#browser-support)\n  - [Troubleshooting](#troubleshooting)\n    - [Port already in use](#port-already-in-use)\n    - [Build failures](#build-failures)\n    - [Module not found errors](#module-not-found-errors)\n  - [License](#license)\n  - [Contributions](#contributions)\n  - [Get in touch](#get-in-touch)\n\n## Status\n\n\n\n| Package | Status | Version |\n|--|--|--|\n| [Core React](https://github.com/equinor/design-system/tree/main/packages/eds-core-react) | [![Checks](https://github.com/equinor/design-system/actions/workflows/checks.yaml/badge.svg)](https://github.com/equinor/design-system/actions/workflows/checks.yaml) | [![Version](https://img.shields.io/npm/v/@equinor/eds-core-react)](https://www.npmjs.com/package/@equinor/eds-core-react) |\n| [Tokens](https://github.com/equinor/design-system/tree/main/packages/eds-tokens) | [![Checks](https://github.com/equinor/design-system/actions/workflows/checks.yaml/badge.svg)](https://github.com/equinor/design-system/actions/workflows/checks.yaml)| [![Version](https://img.shields.io/npm/v/@equinor/eds-tokens)](https://www.npmjs.com/package/@equinor/eds-tokens)|\n| [Icons](https://github.com/equinor/design-system/tree/main/packages/eds-icons) | [![Checks](https://github.com/equinor/design-system/actions/workflows/checks.yaml/badge.svg)](https://github.com/equinor/design-system/actions/workflows/checks.yaml)| [![Version](https://img.shields.io/npm/v/@equinor/eds-icons)](https://www.npmjs.com/package/@equinor/eds-icons)|\n| [Lab React](https://github.com/equinor/design-system/tree/main/packages/eds-lab-react) | [![Checks](https://github.com/equinor/design-system/actions/workflows/checks.yaml/badge.svg)](https://github.com/equinor/design-system/actions/workflows/checks.yaml) | [![Version](https://img.shields.io/npm/v/@equinor/eds-lab-react)](https://www.npmjs.com/package/@equinor/eds-lab-react) |\n| [Data Grid React](https://github.com/equinor/design-system/tree/main/packages/eds-data-grid-react) | [![Checks](https://github.com/equinor/design-system/actions/workflows/checks.yaml/badge.svg)](https://github.com/equinor/design-system/actions/workflows/checks.yaml) | [![Version](https://img.shields.io/npm/v/@equinor/eds-data-grid-react)](https://www.npmjs.com/package/@equinor/eds-data-grid-react) |\n| [Utils](https://github.com/equinor/design-system/tree/main/packages/eds-utils) | [![Checks](https://github.com/equinor/design-system/actions/workflows/checks.yaml/badge.svg)](https://github.com/equinor/design-system/actions/workflows/checks.yaml) | [![Version](https://img.shields.io/npm/v/@equinor/eds-utils)](https://www.npmjs.com/package/@equinor/eds-utils) |\n\n## Applications\n\nThese applications are part of the monorepo but are not published to npm.\n\n| Application | Purpose | Start Command |\n|-------------|---------|---------------|\n| [Documentation](./apps/design-system-docs) | EDS documentation website built with Docusaurus | `pnpm docu:start` |\n| [Demo](./apps/eds-demo) | Component showcase and examples using Next.js | `pnpm demo:dev` |\n| [Color Palette Generator](./apps/eds-color-palette-generator) | Tool for generating accessible color palettes | `pnpm palette:dev` |\n\n## Prerequisites\n\nBefore you begin, ensure you have the following installed:\n\n\u003c!-- \n  Version numbers below are automatically extracted by scripts/extract-prerequisites.js\n  To update: run `pnpm run build` or `node scripts/extract-prerequisites.js`\n  Source: prerequisites.json (generated from .nvmrc and package.json)\n--\u003e\n\n* **Node.js** — Version 22.12.0 or compatible\n* **pnpm** — Version 10.15.0 or higher (install globally with `npm install -g pnpm@10.15.0`)\n* **Git** — For version control\n\n\n\n## How to run\n\nWould you like to contribute? Awesome! 👏\n\nWe use a fork and pull-request workflow, so start with forking the repository on Github, then either open it in Gitpod or clone your fork locally.  \nCheck out Github docs on [how to work with forks](https://docs.github.com/en/github/collaborating-with-pull-requests/working-with-forks)\n\n### Use [Gitpod](https://www.gitpod.io/) and develop in the browser\n\nJust prepend the url to your fork with https://gitpod.io/#, so for example https://gitpod.io/#https://github.com/yourusername/design-system. Dependencies will be installed automatically, then tests and linting will run, and finally the storybook will open in it’s own preview window ready to start coding.\n\n### Clone and develop locally\n\n```bash\ngit clone git@github.com:your-github-username/design-system\n```\n\nWe use [pnpm][] as the package manager, because it's fast, space efficient, and has some very useful commands when working with a monorepo.\n\n```bash\nnpm install -g pnpm@10.15.0\n```\n\nInstall dependencies and build all packages using our `init` script:\n\n```bash\ncd design-system\npnpm run init\n```\n\n[pnpm]: https://pnpm.js.org\n\n### Common development commands\n\n```bash\n# Build all packages\npnpm build\n\n# Run all tests\npnpm test\n\n# Lint entire codebase\npnpm lint:all\n\n# Start Storybook for component development\npnpm storybook\n\n# Start documentation site\npnpm docu:start\n\n# Start demo application\npnpm demo:dev\n\n# Start color palette generator\npnpm palette:dev\n```\n\n### Work with the React components\n\nWe use [Storybook](https://storybook.js.org/) as a development environment.\n\nStart Storybook on localhost:9000 by running the following command from root:\n\n```bash\npnpm run storybook\n```\n\nRun tests once or by watching:\n\n```bash\npnpm run test:core-react \npnpm run test:watch:core-react \n``` \n\n## Figma\n\nThe EDS in Figma is the single source of truth. You can apply for access to Figma in [AccessIT]. The EDS Core team has workshops and demos on using Figma from time to time, these are announced in Slack and Teams (see [«Get in touch»](#get-in-touch))\n\n[accessit]: https://accessit.equinor.com/Search/Search?term=figma\n\n## Storefront\n\nThe [storefront][] is the official documentation for the EDS.\n\n[storefront]: https://eds.equinor.com\n[Figma]: https://www.figma.com/\n\n## React\n\nThis is the main implementation of the EDS, and will eventually contain accessible React components of each and every EDS component in Figma.\n\n### Installation\n\n```sh\nnpm install @equinor/eds-core-react styled-components\n```\nIf you use Typescript, make sure you have typescript \u003e= 3.8 as a devDependency:\n```sh\nnpm install typescript --save-dev\n```\n\n### Usage\n\n```jsx\nimport { Button } from '@equinor/eds-core-react'\n\n\u003cButton variant=\"outlined\" color=\"secondary\"\u003e\n  Click me!\n\u003c/Button\u003e\n```\n\nSee our [storybook](https://storybook.eds.equinor.com/) for more examples.\n\n### Beta Components (EDS 2.0 / Next)\n\nWe're developing the next generation of EDS components under the `/next` entry point. These components are available as **beta releases** for early testing and feedback.\n\n#### Installation\n\n```sh\n# Install the beta version\nnpm install @equinor/eds-core-react@beta\n```\n\n#### Usage\n\n```jsx\n// Import from the /next entry point\nimport { ComponentName } from '@equinor/eds-core-react/next'\n\n// Import CSS separately (required for SSR compatibility)\nimport '@equinor/eds-core-react/next/index.css'\n```\n\n#### Important Notes\n\n- **Beta components are under active development** and may have breaking changes\n- **Not production-ready** until they graduate to the stable package\n- **Visible in Storybook** - browse components at [storybook.eds.equinor.com](https://storybook.eds.equinor.com/) under \"EDS 2.0\"\n- **Requires beta installation** - viewing in Storybook doesn't enable usage, you must install `@beta`\n- **Separate changelog** - see `src/components/next/CHANGELOG.md` for beta changes\n- **Feedback welcome** - help us improve before stable release!\n\nSee the [Beta Release Guide](./documentation/how-to/BETA_RELEASE_GUIDE.md) for detailed information on the beta release workflow.\n\n## Icons\n\nBuilt on a copy of the Outlined Material Design icons, the icons have been customised and renamed for Equinor’s use and supplemented with our own icons for Equinor specific domains.\n\nAll the icons are available in our [Storybook](https://storybook.eds.equinor.com/?path=/docs/icons-preview--docs), and can also be installed from NPM.\n\nThe following example uses the `\u003cIcon\u003e` component from `@equinor/eds-core-react` – but the icons package can also be used without React.\n\n### Installation\n\n```sh\nnpm install @equinor/eds-icons @equinor/eds-core-react\n```\nIf you use Typescript, make sure you have typescript \u003e= 3.8 as a devDependency:\n```sh\nnpm install typescript --save-dev\n```\n\n### Usage\n\n```jsx\nimport { Icon } from '@equinor/eds-core-react'\nimport { info_circle } from '@equinor/eds-icons'\n\n\u003cIcon data={info_circle} size={24} /\u003e\n```\n\n## Tokens\n\nDesign tokens are design decisions from Figma extracted into code, and form the basis for the [EDS Core React library](#react). For projects that don’t use React, the tokens are available as an independent NPM package that can be used to build your own implementation of the EDS in your technology of choice. The following example uses vanilla javascript.\n\n### Installation\n\n```sh\nnpm install @equinor/eds-tokens\n```\nIf you use Typescript, make sure you have typescript \u003e= 3.8 as a devDependency:\n```sh\nnpm install typescript --save-dev\n```\n\n### Usage \n\n```js\nimport { tokens } from '@equinor/eds-tokens'\n\nconst {\n  typography: {\n    heading: { h1 },\n  },\n} = tokens\n\nconst header = document.createElement('h1')\n\nObject.keys(h1).forEach((token) =\u003e {\n  header.style[token] = h1[token]\n})\n\nheader.textContent = 'Some header'\n\ndocument.body.appendChild(header)\n```\n\n## Lab React\n\nExperimental React components that are still in development. These components may undergo breaking changes and are not recommended for production use until they are moved to the Core React library.\n\n### Installation\n\n```sh\nnpm install @equinor/eds-lab-react styled-components\n```\n\nIf you use TypeScript, make sure you have typescript \u003e= 3.8 as a devDependency:\n```sh\nnpm install typescript --save-dev\n```\n\n### Usage\n\n```jsx\nimport { Stepper } from '@equinor/eds-lab-react'\n\n\u003cStepper activeStepIndex={0}\u003e\n  \u003cStepper.Step\u003eStep 1\u003c/Stepper.Step\u003e\n  \u003cStepper.Step\u003eStep 2\u003c/Stepper.Step\u003e\n\u003c/Stepper\u003e\n```\n\nSee our [Storybook](https://storybook.eds.equinor.com/) for more examples and available components.\n\n## Data Grid\n\nA powerful data grid component built with AG Grid, providing sorting, filtering, and other advanced table features.\n\n### Installation\n\n```sh\nnpm install @equinor/eds-data-grid-react ag-grid-react\n```\n\nIf you use TypeScript, make sure you have typescript \u003e= 3.8 as a devDependency:\n```sh\nnpm install typescript --save-dev\n```\n\n### Usage\n\n```jsx\nimport { EdsProvider, DataGrid } from '@equinor/eds-data-grid-react'\n\nconst columnDefs = [\n  { field: 'name' },\n  { field: 'age' },\n]\n\nconst rowData = [\n  { name: 'Alice', age: 30 },\n  { name: 'Bob', age: 25 },\n]\n\n\u003cEdsProvider\u003e\n  \u003cDataGrid columnDefs={columnDefs} rowData={rowData} /\u003e\n\u003c/EdsProvider\u003e\n```\n\nSee the [package documentation](https://github.com/equinor/design-system/tree/main/packages/eds-data-grid-react) for more details.\n\n\n## Fonts\n\nEDS uses two font families: **Equinor** for headings and **Inter** for UI/body text. Both are available from the EDS CDN as variable fonts:\n\n### Recommended (includes both Equinor and Inter)\n\n```html\n\u003clink rel=\"stylesheet\" href=\"https://cdn.eds.equinor.com/font/eds-uprights-vf.css\" /\u003e\n```\n\n\u003e **Note:** If you use EDS 2.0 (`next`) components, this stylesheet is required. The older `equinor-font.css` only includes Equinor, so UI components will fall back to a generic sans-serif.\n\n### Individual fonts\n\n```html\n\u003clink rel=\"stylesheet\" href=\"https://cdn.eds.equinor.com/font/equinor-regular.css\" /\u003e\n```\n\n\n## Logo\n\nWhen it comes to the Equinor logo, we have two versions – primary and horizontal – and you pick the color with a fragment identifier in the url. The following example uses the primary logo in red, other color options are white and black – with black being the default if you omit the fragment identifier.\n\n### Usage\n\n```html\n\u003cimg src=\"https://cdn.eds.equinor.com/logo/equinor-logo-primary.svg#red\" alt=\"Equinor\" /\u003e\n```\n\n\n## Browser support\n\nWe support the most up to date version of evergreen browsers (browsers that auto-update), which means Chrome, Safari, Firefox and (Chromium) Edge.\n\n## Troubleshooting\n\n### Port already in use\n\nIf you get an error that port 9000 (Storybook), 3000 (demo/docs), or other ports are already in use, you can either:\n- Stop the process using that port\n- Change the port in the respective configuration file\n\n### Build failures\n\nIf you encounter build failures:\n1. Ensure all dependencies are up to date: `pnpm install`\n2. Clean and rebuild: `pnpm clean \u0026\u0026 pnpm build`\n3. Make sure you're using the correct Node.js version (22.12.0)\n\n### Module not found errors\n\nIf you see \"Module not found\" errors:\n- Run `pnpm run init` to install all dependencies and build packages\n- Ensure workspace dependencies are built before consuming packages\n\n## License\n\nThe Equinor Design System is licensed under the [MIT License](./LICENSE).\n\n## Contributions\n\nContributions are welcome and encouraged! Here's how to contribute:\n\n1. **Report issues** — File bug reports and feature requests in [GitHub issues](https://github.com/equinor/design-system/issues)\n2. **Fork and develop** — Follow the [fork and pull-request workflow](#how-to-run) outlined above\n3. **Submit a pull request** — All changes must be reviewed and approved by the EDS team before merging\n4. **Follow conventions** — Use [conventional commits](./documentation/how-to/CONVENTIONAL_COMMITS.md) for your commit messages\n\nIf you want to help implement components or have ideas for what we should include in the EDS, please get in touch with the team.\n\n## Get in touch\n\nWe use [#eds-design-system][slack] on Slack as our main communication channel – but we have an [internal team][teams] on Teams as well that you can join if you want to get in touch with us. If you’re outside Equinor and want to get in touch with the team, then please create an issue.\n\n[teams]: https://teams.microsoft.com/l/team/19%3a08081ac3d7134608b312d8480aa87efc%40thread.tacv2/conversations?groupId=204b36ea-ba52-4cee-aeac-895f675e91b0\u0026tenantId=3aa4a235-b6e2-48d5-9195-7fcf05b459b0\n[slack]: https://equinor.slack.com/archives/CJT20H1B9\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fequinor%2Fdesign-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fequinor%2Fdesign-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fequinor%2Fdesign-system/lists"}