Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 2ed7aae

Browse files
committed
feat(CDropdownToggle): add splitLabel prop for customizable screen reader text
1 parent e6c3def commit 2ed7aae

File tree

4 files changed

+23
-3
lines changed

4 files changed

+23
-3
lines changed

‎packages/coreui-react/src/components/dropdown/CDropdownToggle.tsx‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,14 @@ export interface CDropdownToggleProps extends Omit<CButtonProps, 'type'> {
3434
*/
3535
split?: boolean
3636

37+
/**
38+
* Screen reader label for split button dropdown toggle.
39+
*
40+
* @default 'Toggle Dropdown'
41+
* @since 5.9.0
42+
*/
43+
splitLabel?: string
44+
3745
/**
3846
* Sets which event handlers you'd like provided to your toggle prop. You can
3947
* specify one trigger or an array of them.
@@ -50,6 +58,7 @@ export const CDropdownToggle: FC<CDropdownToggleProps> = ({
5058
className,
5159
navLink = true,
5260
split,
61+
splitLabel = 'Toggle Dropdown',
5362
trigger = 'click',
5463
...rest
5564
}) => {
@@ -117,7 +126,7 @@ export const CDropdownToggle: FC<CDropdownToggleProps> = ({
117126
return (
118127
<CButton {...togglerProps} tabIndex={0} {...rest} ref={dropdownToggleRef}>
119128
{children}
120-
{split && <span className="visually-hidden">Toggle Dropdown</span>}
129+
{split && <span className="visually-hidden">{splitLabel}</span>}
121130
</CButton>
122131
)
123132
}
@@ -128,6 +137,7 @@ CDropdownToggle.propTypes = {
128137
className: PropTypes.string,
129138
custom: PropTypes.bool,
130139
split: PropTypes.bool,
140+
splitLabel: PropTypes.string,
131141
trigger: triggerPropType,
132142
}
133143

‎packages/docs/content/api/CDropdownToggle.api.mdx‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,16 @@ import CDropdownToggle from '@coreui/react/src/components/dropdown/CDropdownTogg
145145
<p>Similarly, create split button dropdowns with virtually the same markup as single button dropdowns, but with the addition of <code>{`.dropdown-toggle-split`}</code> className for proper spacing around the dropdown caret.</p>
146146
</td>
147147
</tr>
148+
<tr id="cdropdowntoggle-split-label">
149+
<td className="text-primary fw-semibold">splitLabel<a href="#cdropdowntoggle-split-label" aria-label="CDropdownToggle splitLabel permalink" className="anchor-link after">#</a><span className="badge bg-success">5.9.0+</span></td>
150+
<td><code>{`Toggle Dropdown`}</code></td>
151+
<td><code>{`string`}</code></td>
152+
</tr>
153+
<tr>
154+
<td colSpan="3">
155+
<p>Screen reader label for split button dropdown toggle.</p>
156+
</td>
157+
</tr>
148158
<tr id="cdropdowntoggle-trigger">
149159
<td className="text-primary fw-semibold">trigger<a href="#cdropdowntoggle-trigger" aria-label="CDropdownToggle trigger permalink" className="anchor-link after">#</a></td>
150160
<td><code>{`click`}</code></td>

‎packages/docs/content/components/dropdown/examples/DropdownDropendExample.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export const DropdownDropendExample = () => {
2424

2525
<CDropdown variant="btn-group" direction="dropend">
2626
<CButton color="secondary">Small split button</CButton>
27-
<CDropdownToggle color="secondary" split />
27+
<CDropdownToggle color="secondary" split splitLabel="Toggle Dropend"/>
2828
<CDropdownMenu>
2929
<CDropdownItem href="#">Action</CDropdownItem>
3030
<CDropdownItem href="#">Another action</CDropdownItem>

‎packages/docs/content/components/dropdown/examples/DropdownDropstartExample.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export const DropdownDropstartExample = () => {
2525

2626
<CButtonGroup>
2727
<CDropdown variant="btn-group" direction="dropstart">
28-
<CDropdownToggle color="secondary" split />
28+
<CDropdownToggle color="secondary" split splitLabel="Toggle Dropstart"/>
2929
<CDropdownMenu>
3030
<CDropdownItem href="#">Action</CDropdownItem>
3131
<CDropdownItem href="#">Another action</CDropdownItem>

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /