From b204ec85a804f4e3cd6a747b50867fd30e13f649 Mon Sep 17 00:00:00 2001 From: Aaron Reisman Date: Mon, 15 Jun 2026 22:40:26 +0700 Subject: [PATCH 1/2] Dropdown: standardize leading/trailing slot names Rename DropdownItem icon -> leadingIcon and endIcon -> trailingIcon, and drop the value text slot (callers compose value text into trailing) plus its with-value variant. Rename DropdownSubTrigger icon -> leadingIcon and DropdownLabel action -> trailing so every slot follows the same leading*/trailing* vocabulary used by Button and Input. Update the dropdown, toolbar, and breadcrumb consumers on main to match. --- .../components/dropdown/dropdown.stories.tsx | 38 +++++----- .../propel/src/components/dropdown/index.tsx | 69 +++++++++---------- .../components/toolbar/toolbar.stories.tsx | 20 ++++-- 3 files changed, 71 insertions(+), 56 deletions(-) diff --git a/packages/propel/src/components/dropdown/dropdown.stories.tsx b/packages/propel/src/components/dropdown/dropdown.stories.tsx index dce11668..9c69b5f8 100644 --- a/packages/propel/src/components/dropdown/dropdown.stories.tsx +++ b/packages/propel/src/components/dropdown/dropdown.stories.tsx @@ -210,7 +210,7 @@ export const Status: Story = { } + leadingIcon={} label={`Add label "${trimmed}"`} closeOnClick={false} /> @@ -312,13 +312,18 @@ export const ActionMenu: Story = { Actions - } label="Edit" /> - } label="Make a copy" /> - } label="Open in new tab" /> - } label="Copy link" value="⌘L" /> + } label="Edit" /> + } label="Make a copy" /> + } label="Open in new tab" /> + } + label="Copy link" + trailing={⌘L} + /> } + leadingIcon={} label="Archive" variant="with-description" description="Only completed or cancelled work items can be archived" @@ -327,7 +332,7 @@ export const ActionMenu: Story = { } + leadingIcon={} label={Delete} /> @@ -394,7 +399,7 @@ export const Description: Story = { } + leadingIcon={} label="Private" variant="with-description" description="Accessible only by invite" @@ -403,7 +408,7 @@ export const Description: Story = { onClick={() => setSelected("private")} /> } + leadingIcon={} label="Public" variant="with-description" description="Anyone in the workspace except Guests can join" @@ -701,12 +706,13 @@ export const Filters: Story = { {/* The category heading is itself a menuitem (valid `role="menu"` child) so its collapse chevron stays interactive without breaking - ARIA. The label is the section title; the chevron is the endIcon. */} + ARIA. The label is the section title; the chevron is the + trailingIcon. */}