Releases: adobe/spectrum-css
@spectrum-css/[email protected]
@spectrum-css/[email protected]
Patch Changes
📝 #4085 082862e Thanks @castastrophe!
Action menu component (now with custom styles!)
Introduces @spectrum-css/actionmenu, a composition of ActionButton, Popover, and Menu to present action lists from a trigger. Now with custom styles!
- Adds wrapper classes:
spectrum-ActionMenu,spectrum-ActionMenu-trigger,spectrum-ActionMenu-popover, andspectrum-ActionMenu-menu. - Supports long press triggers and four placements (start/end, top/bottom) via the underlying popover API.
- Design reference: Figma S2 token specs.
Migration notes
- If you previously composed an action menu manually (action button + popover + menu), you can adopt the new wrapper classes without changing the underlying markup semantics. Ensure the trigger has
aria-haspopup="menu"and managesaria-expandedaccording to your application logic. - For spacing customizations previously done with ad‑hoc margins, switch to the new
--spectrum-actionmenu-button-to-menu-gapcustom property.
Example markup:
<div class="spectrum-ActionMenu">
<button
class="spectrum-ActionMenu-trigger spectrum-ActionButton"
aria-haspopup="menu"
aria-expanded="false"
>
<!-- icon/label -->
</button>
<div class="spectrum-ActionMenu-popover spectrum-Popover">
<ul class="spectrum-ActionMenu-menu spectrum-Menu">
<!-- menu items -->
</ul>
</div>
<!-- popover positioning/visibility is owned by your implementation -->
<!-- use long-press behavior when appropriate to your UX -->
<!-- use Popover placement options: bottom-start, bottom-end, start-top, end-top -->
</div>Menu refinements
Updates @spectrum-css/menu styles to align with latest Spectrum 2 design specifications and improve accessibility.
- Updated
.is-selectableMultiple .spectrum-Menu-itemCheckboxto.is-selectableMultiple:not(:has(.is-selectable)) .spectrum-Menu-itemCheckboxto prevent clash with the.is-selectableplacement. - Non-breaking; no class or DOM changes required.
Action button refinements
- Selection styling now applies when components use ARIA pressed/expanded semantics, not just
.is-selected. - Implemented with
:where()to keep selector specificity low and prevent downstream specificity battles. - Non-breaking; no class changes required.
Action group refinements
Aligns selection behavior of grouped items with action button updates.
- Adds
:where([aria-pressed="true"], [aria-expanded="true"])alongside.is-selectedon items to cover more accessibility use-cases while keeping specificity low. - Non-breaking; no class changes required.
@spectrum-css/[email protected]
Patch Changes
Updated dependencies [082862e]:
- @spectrum-css/[email protected]
- @spectrum-css/[email protected]
- @spectrum-css/[email protected]
- @spectrum-css/[email protected]
@spectrum-css/[email protected]
Major Changes
📝 #4085 082862e Thanks @castastrophe!
Action menu component (now with custom styles!)
Introduces @spectrum-css/actionmenu, a composition of ActionButton, Popover, and Menu to present action lists from a trigger. Now with custom styles!
- Adds wrapper classes:
spectrum-ActionMenu,spectrum-ActionMenu-trigger,spectrum-ActionMenu-popover, andspectrum-ActionMenu-menu. - Supports long press triggers and four placements (start/end, top/bottom) via the underlying popover API.
- Design reference: Figma S2 token specs.
Migration notes
- If you previously composed an action menu manually (action button + popover + menu), you can adopt the new wrapper classes without changing the underlying markup semantics. Ensure the trigger has
aria-haspopup="menu"and managesaria-expandedaccording to your application logic. - For spacing customizations previously done with ad‑hoc margins, switch to the new
--spectrum-actionmenu-button-to-menu-gapcustom property.
Example markup:
<div class="spectrum-ActionMenu">
<button
class="spectrum-ActionMenu-trigger spectrum-ActionButton"
aria-haspopup="menu"
aria-expanded="false"
>
<!-- icon/label -->
</button>
<div class="spectrum-ActionMenu-popover spectrum-Popover">
<ul class="spectrum-ActionMenu-menu spectrum-Menu">
<!-- menu items -->
</ul>
</div>
<!-- popover positioning/visibility is owned by your implementation -->
<!-- use long-press behavior when appropriate to your UX -->
<!-- use Popover placement options: bottom-start, bottom-end, start-top, end-top -->
</div>Menu refinements
Updates @spectrum-css/menu styles to align with latest Spectrum 2 design specifications and improve accessibility.
- Updated
.is-selectableMultiple .spectrum-Menu-itemCheckboxto.is-selectableMultiple:not(:has(.is-selectable)) .spectrum-Menu-itemCheckboxto prevent clash with the.is-selectableplacement. - Non-breaking; no class or DOM changes required.
Action button refinements
- Selection styling now applies when components use ARIA pressed/expanded semantics, not just
.is-selected. - Implemented with
:where()to keep selector specificity low and prevent downstream specificity battles. - Non-breaking; no class changes required.
Action group refinements
Aligns selection behavior of grouped items with action button updates.
- Adds
:where([aria-pressed="true"], [aria-expanded="true"])alongside.is-selectedon items to cover more accessibility use-cases while keeping specificity low. - Non-breaking; no class changes required.
@spectrum-css/[email protected]
Patch Changes
📝 #4085 082862e Thanks @castastrophe!
Action menu component (now with custom styles!)
Introduces @spectrum-css/actionmenu, a composition of ActionButton, Popover, and Menu to present action lists from a trigger. Now with custom styles!
- Adds wrapper classes:
spectrum-ActionMenu,spectrum-ActionMenu-trigger,spectrum-ActionMenu-popover, andspectrum-ActionMenu-menu. - Supports long press triggers and four placements (start/end, top/bottom) via the underlying popover API.
- Design reference: Figma S2 token specs.
Migration notes
- If you previously composed an action menu manually (action button + popover + menu), you can adopt the new wrapper classes without changing the underlying markup semantics. Ensure the trigger has
aria-haspopup="menu"and managesaria-expandedaccording to your application logic. - For spacing customizations previously done with ad‑hoc margins, switch to the new
--spectrum-actionmenu-button-to-menu-gapcustom property.
Example markup:
<div class="spectrum-ActionMenu">
<button
class="spectrum-ActionMenu-trigger spectrum-ActionButton"
aria-haspopup="menu"
aria-expanded="false"
>
<!-- icon/label -->
</button>
<div class="spectrum-ActionMenu-popover spectrum-Popover">
<ul class="spectrum-ActionMenu-menu spectrum-Menu">
<!-- menu items -->
</ul>
</div>
<!-- popover positioning/visibility is owned by your implementation -->
<!-- use long-press behavior when appropriate to your UX -->
<!-- use Popover placement options: bottom-start, bottom-end, start-top, end-top -->
</div>Menu refinements
Updates @spectrum-css/menu styles to align with latest Spectrum 2 design specifications and improve accessibility.
- Updated
.is-selectableMultiple .spectrum-Menu-itemCheckboxto.is-selectableMultiple:not(:has(.is-selectable)) .spectrum-Menu-itemCheckboxto prevent clash with the.is-selectableplacement. - Non-breaking; no class or DOM changes required.
Action button refinements
- Selection styling now applies when components use ARIA pressed/expanded semantics, not just
.is-selected. - Implemented with
:where()to keep selector specificity low and prevent downstream specificity battles. - Non-breaking; no class changes required.
Action group refinements
Aligns selection behavior of grouped items with action button updates.
- Adds
:where([aria-pressed="true"], [aria-expanded="true"])alongside.is-selectedon items to cover more accessibility use-cases while keeping specificity low. - Non-breaking; no class changes required.
@spectrum-css/[email protected]
Minor Changes
📝 #4085 082862e Thanks @castastrophe!
Action menu component (now with custom styles!)
Introduces @spectrum-css/actionmenu, a composition of ActionButton, Popover, and Menu to present action lists from a trigger. Now with custom styles!
- Adds wrapper classes:
spectrum-ActionMenu,spectrum-ActionMenu-trigger,spectrum-ActionMenu-popover, andspectrum-ActionMenu-menu. - Supports long press triggers and four placements (start/end, top/bottom) via the underlying popover API.
- Design reference: Figma S2 token specs.
Migration notes
- If you previously composed an action menu manually (action button + popover + menu), you can adopt the new wrapper classes without changing the underlying markup semantics. Ensure the trigger has
aria-haspopup="menu"and managesaria-expandedaccording to your application logic. - For spacing customizations previously done with ad‑hoc margins, switch to the new
--spectrum-actionmenu-button-to-menu-gapcustom property.
Example markup:
<div class="spectrum-ActionMenu">
<button
class="spectrum-ActionMenu-trigger spectrum-ActionButton"
aria-haspopup="menu"
aria-expanded="false"
>
<!-- icon/label -->
</button>
<div class="spectrum-ActionMenu-popover spectrum-Popover">
<ul class="spectrum-ActionMenu-menu spectrum-Menu">
<!-- menu items -->
</ul>
</div>
<!-- popover positioning/visibility is owned by your implementation -->
<!-- use long-press behavior when appropriate to your UX -->
<!-- use Popover placement options: bottom-start, bottom-end, start-top, end-top -->
</div>Menu refinements
Updates @spectrum-css/menu styles to align with latest Spectrum 2 design specifications and improve accessibility.
- Updated
.is-selectableMultiple .spectrum-Menu-itemCheckboxto.is-selectableMultiple:not(:has(.is-selectable)) .spectrum-Menu-itemCheckboxto prevent clash with the.is-selectableplacement. - Non-breaking; no class or DOM changes required.
Action button refinements
- Selection styling now applies when components use ARIA pressed/expanded semantics, not just
.is-selected. - Implemented with
:where()to keep selector specificity low and prevent downstream specificity battles. - Non-breaking; no class changes required.
Action group refinements
Aligns selection behavior of grouped items with action button updates.
- Adds
:where([aria-pressed="true"], [aria-expanded="true"])alongside.is-selectedon items to cover more accessibility use-cases while keeping specificity low. - Non-breaking; no class changes required.
@spectrum-css/[email protected]
@spectrum-css/[email protected]
Patch Changes
Updated dependencies [9629fe3]:
- @spectrum-css/[email protected]
- @spectrum-css/[email protected]
- @spectrum-css/[email protected]
@spectrum-css/[email protected]
Major Changes
📝 #4249 9629fe3 Thanks @castastrophe!
This update removes --mod-* custom property hooks per SWC-1264, see also the RFC for extensible styling.
- Remove all
--mod-*custom property hooks. - Keep existing class selectors and variants unchanged.
- Update stories to reflect the removal of the
--mod-*override layer.
Breaking change: the --mod-* override layer is removed. Consumers should set --spectrum-* variables directly where customization is needed.
@spectrum-css/[email protected]
Major Changes
📝 #4249 9629fe3 Thanks @castastrophe!
This update removes --mod-* custom property hooks per SWC-1264, see also the RFC for extensible styling.
- Remove all
--mod-*custom property hooks. - Keep existing class selectors and variants unchanged.
- Update stories to reflect the removal of the
--mod-*override layer.
Breaking change: the --mod-* override layer is removed. Consumers should set --spectrum-* variables directly where customization is needed.