Package Exports
- @spectrum-web-components/core/components/alert-banner
- @spectrum-web-components/core/components/asset
- @spectrum-web-components/core/components/avatar
- @spectrum-web-components/core/components/badge
- @spectrum-web-components/core/components/button
- @spectrum-web-components/core/components/divider
- @spectrum-web-components/core/components/icon
- @spectrum-web-components/core/components/progress-circle
- @spectrum-web-components/core/components/status-light
- @spectrum-web-components/core/components/tabs
- @spectrum-web-components/core/controllers
- @spectrum-web-components/core/controllers/focus-group-navigation-controller.js
- @spectrum-web-components/core/controllers/index.js
- @spectrum-web-components/core/controllers/language-resolution.js
- @spectrum-web-components/core/element
- @spectrum-web-components/core/element/define-element.js
- @spectrum-web-components/core/element/index.js
- @spectrum-web-components/core/element/spectrum-element.js
- @spectrum-web-components/core/element/version.js
- @spectrum-web-components/core/mixins
- @spectrum-web-components/core/mixins/index.js
- @spectrum-web-components/core/mixins/observe-slot-presence.js
- @spectrum-web-components/core/mixins/observe-slot-text.js
- @spectrum-web-components/core/mixins/sized-mixin.js
- @spectrum-web-components/core/utils
- @spectrum-web-components/core/utils/capitalize.js
- @spectrum-web-components/core/utils/get-label-from-slot.js
- @spectrum-web-components/core/utils/index.js
Readme
@spectrum-web-components/core
Abstract base classes for Spectrum Web Components.
This package provides the behavior layer for 2nd-gen Spectrum Web Components and is not intended for direct external use. It is independent from 1st-gen — there is no runtime dependency between them.
For more information, visit the Spectrum Web Components repository.
Folder structure
The core package is private/internal, so we can organize foundational code for discoverability and incremental migration.
core/
element/ # SpectrumElement, defineElement, and element infrastructure
mixins/ # Reusable mixins (SizedMixin, ObserveSlotPresence, etc.)
controllers/ # Reactive controllers (Lit controllers, observers, etc.)
utils/ # Utility functions (DOM helpers, label extraction, etc.)
components/ # Component base classes (already established)Naming
All new folders and files in /core should be kebab-case.
Imports
Prefer the new top-level paths for new code:
@spectrum-web-components/core/element@spectrum-web-components/core/mixins@spectrum-web-components/core/controllers@spectrum-web-components/core/utils
New code should use the top-level paths above.
Migration
See MIGRATION.md for guidance on where to place migrated code.