back to home

adobe / coral-spectrum

A JavaScript library of Web Components following Spectrum design patterns.

110 stars
76 forks
50 issues
JavaScriptCSSHTML

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing adobe/coral-spectrum in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/adobe/coral-spectrum)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

> Checkout Spectrum Web Components which is a future-looking project to develop Adobe Spectrum design language based around web components, ES-Modules, and modern browser standards. Coral Spectrum A JavaScript library of Web Components following Spectrum design patterns. Important Please follow the Commit Message Conventions. To easily comply, it is recommended to use cz-cli. Showcase Component Examples To see all components in action. These are only examples and don't cover all scenarios. API References Covers the API for all components including properties, events and more. Playground Experiment and preview code with the latest Coral Spectrum version. Code can be shared by copy pasting the URL. The playground is sandboxed to prevent security risks. Spectrum The current default theme is is an implementation of the Spectrum design specifications, Adobe’s design system. Spectrum provides elements and tools to help product teams work more efficiently, and to make Adobe’s applications more cohesive. Coral Spectrum leverages the Spectrum CSS framework to style components including the Spectrum SVG icons. Angular, React, Vue.js compatibility Our vision is to create consistent Adobe experiences by providing a complete, easy to use library of HTML components compatible with major frameworks. To reach the goal, Coral Spectrum derives from Custom Elements v1 with native support thanks to broad collaboration between browser vendors. The use of custom elements gives us the ability to hide many implementation details from the consumer, allowing much more freedom to change the underlying markup that supports those elements. This makes the exposed API smaller and more explicit, resulting in a lower risk of updates to Coral Spectrum needing to introduce breaking changes. Browser support Coral Spectrum is designed to support the following browsers: • Chrome (latest) • Safari (latest) • Firefox (latest) • Edge (latest) • IE 11 • iOS 7+ • Android 4.4+ Theme (light, dark, lightest, darkest) The default Coral Spectrum styles cascade from , , and theme, so that class must be specified at a higher level. Large scale support For mobile, Spectrum has a larger scale that enables larger tap targets on all controls. To enable it, the class must be specified at a higher level. Built-in Accessibility and Keyboard support Having an inaccessible application can mean thousands of dollars of fines if you land a government contract. It also means alienating an entire segment of society by making your application completely unusable to them. To help you avoid this, we’ve made it a rule that every Coral Spectrum component should be accessible. Internationalization support Coral Spectrum provides a robust internal system for internationalization of its strings. This is done via an internal Adobe process. Supported languages are : Language family | Language tag | Language variant --- | --- | --- English | en-US | American English French | fr-FR | Standard French German | de-DE | Standard German Italian | it-IT | Standard Italian Spanish | es-ES | Castilian Spanish Portuguese | pt-BR | Brazilian Portuguese Japanese | ja-JP | Standard Japanese Korean | ko-KR | Standard Korean Chinese | zh-CN | Mainland China, simplified characters Chinese | zh-TW | Taiwan, traditional characters Dutch | nl-NL | Netherlands Dutch Danish | da-DK | Standard Danish Finnish | fi-FI | Standard Finnish Norwegian | no-NO | Standard Norwegian Swedish | sv-SE | Standard Swedish Czech | cs-CZ | Standard Czech Polish | pl-PL | Standard Polish Russian | ru-RU | Standard Russian Turkish | tr-TR | Standard Turkish Using Coral Spectrum Easiest way via a CDN The easiest way to consume Coral Spectrum is to use a CDN e.g. copy these lines into your html file. Copying the distribution files You can download a packaged/published version of from npm: After you've unzipped the downloaded package, look for the folder and : • Copy the files from , and in your project. • Reference the files in your page e.g Including entire library with a bundler like parcel then in your main js, use: Including only the components you need If your project only requires a few components, you can use a module bundler like Webpack to only import the components needed. Below is an example of a Webpack config: Then in your file, you can import and use single components : If icons are not displayed, ensure the path to the styles and icons are set e.g. : If icons still do not display, you can try setting them to display as inline SVGs, instead of external resources. Coral Spectrum will default to external resources on browsers other than IE11. Using the previous example, this option can be set with: **Note:** Calendar, Clock and Datepicker components will leverage moment.js if available. Contributing Check out the contributing guidelines. Building and Testing Run the following commands first : You can use below tasks to get started: • to generate the build in the folder and run the dev server on by default. • to generate the build in the folder. • to run the dev server on by default. • to run the tests. Test reports are in . • to build the documentation in . • to run the accessibility checks. Each component can be built independently e.g. . Releasing Automatic release: Merging the PR to master will trigger an automatic release Github Action. It is important to follow Angular Commit Message Conventions. It is recommended to use cz-cli for easy commits. Only **fix** and **feat** can trigger a release. If you want to skip release [add \[skip release\] or \[release skip\] to the commit message](https://semantic-release.gitbook.io/semantic-release/support/faq#can-i-exclude-commits-from-the-analysis) Manual releasing: We are currently releasing this package on . Before we get started, clean up your dependencies with the following command : Then run . You'll be asked to bump the version (minor version bump by default). Coral Spectrum is following seman…