@fundamental-styles/mcp 0.41.7-rc.8 → 0.41.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/AI_USAGE.md +425 -0
- package/data/CHANGELOG.md +53 -3
- package/data/component-catalog.json +62 -209
- package/data/components/README.md +281 -0
- package/data/components/action-bar.md +443 -0
- package/data/components/ai-busy-indicator.md +79 -0
- package/data/components/ai-loading-bar.md +66 -0
- package/data/components/avatar-btp.md +198 -0
- package/data/components/avatar-group.md +2660 -0
- package/data/components/avatar-product-switch.md +476 -0
- package/data/components/avatar.md +993 -0
- package/data/components/bar.md +574 -0
- package/data/components/border-radius.md +148 -0
- package/data/components/border.md +412 -0
- package/data/components/breadcrumb.md +546 -0
- package/data/components/button-2.md +440 -0
- package/data/components/button-action-sheet.md +292 -0
- package/data/components/button-ai.md +730 -0
- package/data/components/button-btp.md +223 -0
- package/data/components/button-button.md +233 -0
- package/data/components/button-counter.md +176 -0
- package/data/components/button-patterns.md +731 -0
- package/data/components/button-split.md +459 -0
- package/data/components/button.md +469 -0
- package/data/components/calendar.md +5784 -0
- package/data/components/card-card-media.md +707 -0
- package/data/components/card-card.md +2426 -0
- package/data/components/card-layouts.md +1201 -0
- package/data/components/card.md +2404 -0
- package/data/components/carousel.md +1506 -0
- package/data/components/code.md +139 -0
- package/data/components/component-reset.md +272 -0
- package/data/components/components-icons-businesssuiteinappsymbol-icons.md +85 -0
- package/data/components/components-icons-sap-icons.md +147 -0
- package/data/components/components-icons-tnt-icons.md +85 -0
- package/data/components/container-queries.md +221 -0
- package/data/components/container.md +227 -0
- package/data/components/dialog-docs-static-busy-indicator.md +165 -0
- package/data/components/dialog-docs-static-dialog.md +949 -0
- package/data/components/dialog-docs-static-patterns.md +147 -0
- package/data/components/dialog-docs-static-settings.md +528 -0
- package/data/components/dialog-docs-static.md +982 -0
- package/data/components/dialog.md +606 -0
- package/data/components/dynamic-page-dynamic-page.md +1914 -0
- package/data/components/dynamic-page.md +973 -0
- package/data/components/dynamic-side.md +197 -0
- package/data/components/elevation.md +110 -0
- package/data/components/feed-input.md +346 -0
- package/data/components/feed-list.md +580 -0
- package/data/components/fieldset-2.md +292 -0
- package/data/components/fieldset-forms.md +169 -0
- package/data/components/fieldset.md +381 -0
- package/data/components/flexible-column-layout.md +205 -0
- package/data/components/form-group.md +287 -0
- package/data/components/form-header.md +71 -0
- package/data/components/form-item-2.md +98 -0
- package/data/components/form-item-3.md +134 -0
- package/data/components/form-item-4.md +556 -0
- package/data/components/form-item-5.md +182 -0
- package/data/components/form-item-6.md +539 -0
- package/data/components/form-item-7.md +239 -0
- package/data/components/form-item-ai.md +158 -0
- package/data/components/form-item-file-uploader.md +445 -0
- package/data/components/form-item-forms.md +234 -0
- package/data/components/form-item-patterns.md +426 -0
- package/data/components/form-item.md +464 -0
- package/data/components/form-label-ai.md +126 -0
- package/data/components/form-label-layouts.md +306 -0
- package/data/components/form-label-patterns.md +1175 -0
- package/data/components/form-label-status-indicator.md +1083 -0
- package/data/components/form-label-step-input.md +620 -0
- package/data/components/form-label.md +2876 -0
- package/data/components/generic-tag.md +747 -0
- package/data/components/grid-list-grid-list.md +1185 -0
- package/data/components/grid-list.md +1449 -0
- package/data/components/heading.md +66 -0
- package/data/components/horizontal-navigation.md +568 -0
- package/data/components/icon-tab-bar-dev.md +190 -0
- package/data/components/icon-tab-bar.md +2620 -0
- package/data/components/icon.md +171 -0
- package/data/components/iconBusinessSuite.md +92 -0
- package/data/components/iconTnt.md +92 -0
- package/data/components/illustrated-message.md +439 -0
- package/data/components/info-label.md +348 -0
- package/data/components/input-group.md +2068 -0
- package/data/components/label.md +66 -0
- package/data/components/layout-grid.md +447 -0
- package/data/components/layout-panel.md +261 -0
- package/data/components/layouts-layout-grid.md +608 -0
- package/data/components/layouts-paddings.md +133 -0
- package/data/components/layouts-section.md +287 -0
- package/data/components/list-2.md +148 -0
- package/data/components/list-3.md +735 -0
- package/data/components/list-list.md +790 -0
- package/data/components/list-object-list.md +1225 -0
- package/data/components/list.md +1286 -0
- package/data/components/media-queries.md +168 -0
- package/data/components/menu.md +946 -0
- package/data/components/message-box-docs-static-ai.md +149 -0
- package/data/components/message-box-docs-static.md +527 -0
- package/data/components/message-page-upload-collection.md +678 -0
- package/data/components/message-page.md +256 -0
- package/data/components/message-strip.md +977 -0
- package/data/components/message-toast.md +119 -0
- package/data/components/micro-process-flow.md +991 -0
- package/data/components/navigation-menu.md +366 -0
- package/data/components/navigation-navigation.md +1245 -0
- package/data/components/navigation.md +2604 -0
- package/data/components/numeric-content.md +317 -0
- package/data/components/object-attribute.md +96 -0
- package/data/components/object-identifier.md +227 -0
- package/data/components/object-marker.md +202 -0
- package/data/components/object-number.md +327 -0
- package/data/components/object-status.md +1538 -0
- package/data/components/off-screen.md +87 -0
- package/data/components/overflow.md +97 -0
- package/data/components/padding.md +122 -0
- package/data/components/paddings.md +130 -0
- package/data/components/page.md +300 -0
- package/data/components/pagination.md +672 -0
- package/data/components/panel-layouts.md +345 -0
- package/data/components/panel.md +514 -0
- package/data/components/patterns-label.md +74 -0
- package/data/components/popover-2.md +906 -0
- package/data/components/popover-ai.md +466 -0
- package/data/components/popover-btp.md +886 -0
- package/data/components/popover-deprecated.md +308 -0
- package/data/components/popover-message-popover.md +683 -0
- package/data/components/popover-notification.md +1511 -0
- package/data/components/popover-patterns.md +1100 -0
- package/data/components/popover-popover.md +1862 -0
- package/data/components/popover-quick-view.md +385 -0
- package/data/components/popover-timepicker.md +1836 -0
- package/data/components/popover-user-menu.md +1303 -0
- package/data/components/popover.md +1938 -0
- package/data/components/progress-indicator.md +351 -0
- package/data/components/prompt-input-ai.md +226 -0
- package/data/components/prompt-input.md +226 -0
- package/data/components/rating-indicator.md +1469 -0
- package/data/components/resizable-card-layout.md +951 -0
- package/data/components/scrollbar.md +86 -0
- package/data/components/search-field.md +287 -0
- package/data/components/section.md +250 -0
- package/data/components/segmented-button.md +324 -0
- package/data/components/shellbar.md +2183 -0
- package/data/components/side-nav.md +1562 -0
- package/data/components/skeleton.md +243 -0
- package/data/components/slider.md +395 -0
- package/data/components/splitter.md +353 -0
- package/data/components/table.md +2749 -0
- package/data/components/tabs.md +658 -0
- package/data/components/text-text.md +380 -0
- package/data/components/text.md +253 -0
- package/data/components/tile.md +1132 -0
- package/data/components/time.md +818 -0
- package/data/components/title.md +153 -0
- package/data/components/titles.md +83 -0
- package/data/components/token.md +311 -0
- package/data/components/tokenizer.md +398 -0
- package/data/components/tool-header.md +1352 -0
- package/data/components/tool-layout.md +199 -0
- package/data/components/toolbar-ai.md +174 -0
- package/data/components/toolbar-btp.md +526 -0
- package/data/components/toolbar-title-bar.md +473 -0
- package/data/components/toolbar.md +432 -0
- package/data/components/tree.md +1031 -0
- package/data/components/typography.md +435 -0
- package/data/components/variant-management.md +360 -0
- package/data/components/vertical-nav.md +589 -0
- package/data/components/wizard.md +1429 -0
- package/data/examples/Components/dialog/device-specifications.example.html +39 -30
- package/data/examples/Components/shellbar/optional-items.example.html +210 -157
- package/data/examples/Components/shellbar/overflow-toolbar.example.html +202 -177
- package/data/examples/Components/shellbar/responsive-paddings.example.html +217 -146
- package/data/examples/Components/shellbar/responsiveness.example.html +825 -613
- package/data/examples/Components/user-menu/default.example.html +241 -83
- package/data/schemas/badge.schema.json +1 -1
- package/data/schemas/button-split.schema.json +1 -1
- package/data/schemas/component-frontmatter.schema.json +123 -0
- package/data/schemas/component-markdown.schema.json +81 -0
- package/data/schemas/counter.schema.json +1 -1
- package/data/schemas/dynamic-page.schema.json +1 -1
- package/data/schemas/dynamic-side-content.schema.json +1 -1
- package/data/schemas/facet.schema.json +1 -1
- package/data/schemas/fieldset.schema.json +1 -1
- package/data/schemas/flexible-column-layout.schema.json +1 -1
- package/data/schemas/form-group.schema.json +3 -2
- package/data/schemas/form-header.schema.json +1 -1
- package/data/schemas/form-label.schema.json +1 -0
- package/data/schemas/form-message.schema.json +1 -1
- package/data/schemas/grid-list.schema.json +1 -1
- package/data/schemas/input-group.schema.json +1 -1
- package/data/schemas/layout-panel.schema.json +1 -1
- package/data/schemas/page.schema.json +1 -1
- package/data/schemas/quick-view.schema.json +2 -1
- package/data/schemas/section.schema.json +1 -1
- package/data/schemas/side-nav.schema.json +1 -1
- package/data/schemas/splitter.schema.json +1 -1
- package/data/schemas/tabs.schema.json +1 -1
- package/data/schemas/tile.schema.json +1 -1
- package/data/schemas/tool-layout.schema.json +1 -1
- package/data/schemas/user-menu.schema.json +10 -0
- package/data/schemas/wizard.schema.json +1 -1
- package/package.json +1 -1
- package/src/data/load-catalog.d.ts +2 -0
- package/src/data/load-catalog.js +5 -1
- package/src/data/load-catalog.js.map +1 -1
- package/src/data/load-markdown-docs.d.ts +44 -0
- package/src/data/load-markdown-docs.js +179 -0
- package/src/data/load-markdown-docs.js.map +1 -0
- package/src/data/markdown-cache.d.ts +60 -0
- package/src/data/markdown-cache.js +218 -0
- package/src/data/markdown-cache.js.map +1 -0
- package/src/server.js +72 -1
- package/src/server.js.map +1 -1
|
@@ -0,0 +1,459 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: fd-button-split
|
|
3
|
+
title: Components/Buttons/Button Split
|
|
4
|
+
category: Components
|
|
5
|
+
selector: fd-button-split
|
|
6
|
+
cssFile: button-split.css
|
|
7
|
+
sourcePath: packages/styles/stories/Components/button-split/button.stories.js
|
|
8
|
+
tags: []
|
|
9
|
+
dependencies: ["button","button-split","icon"]
|
|
10
|
+
relatedComponents: ["button","button-split","icon"]
|
|
11
|
+
stability: stable
|
|
12
|
+
generatedAt: 2026-06-09T18:29:01.473Z
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Components/Buttons/Button Split
|
|
16
|
+
|
|
17
|
+
The split menu button has two separate areas: the text label and the arrow down icon.
|
|
18
|
+
The separator between them indicates that each area results in a different action, giving the user two choices: trigger the main action or open the menu.
|
|
19
|
+
|
|
20
|
+
**If the default action is displayed as an icon only, all the menu items must contain icons.**
|
|
21
|
+
|
|
22
|
+
The split menu button can behave in two different ways:
|
|
23
|
+
|
|
24
|
+
1. The main button triggers the default action set by the developer. If no default action is defined, the first item in the menu list should be the default.
|
|
25
|
+
2. The main button triggers the last action chosen by the user from the menu list. Initially, it triggers the default action. However, when the user selects a different action, the default switches to the last action selected by the user.
|
|
26
|
+
|
|
27
|
+
The split menu button can be displayed by using container with \
|
|
28
|
+
|
|
29
|
+
## Dependencies
|
|
30
|
+
|
|
31
|
+
This component depends on the following CSS files:
|
|
32
|
+
|
|
33
|
+
- `button.css`
|
|
34
|
+
- `button-split.css`
|
|
35
|
+
- `icon.css`
|
|
36
|
+
|
|
37
|
+
## Installation
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm install fundamental-styles
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
```html
|
|
44
|
+
<!-- Include theme -->
|
|
45
|
+
<link href="node_modules/fundamental-styles/dist/theming/sap_horizon.css" rel="stylesheet">
|
|
46
|
+
|
|
47
|
+
<!-- Include component CSS -->
|
|
48
|
+
<link href="node_modules/fundamental-styles/dist/button-split.css" rel="stylesheet">
|
|
49
|
+
|
|
50
|
+
<!-- Include dependencies -->
|
|
51
|
+
<link href="node_modules/fundamental-styles/dist/button.css" rel="stylesheet">
|
|
52
|
+
<link href="node_modules/fundamental-styles/dist/button-split.css" rel="stylesheet">
|
|
53
|
+
<link href="node_modules/fundamental-styles/dist/icon.css" rel="stylesheet">
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Basic Usage
|
|
57
|
+
|
|
58
|
+
```html
|
|
59
|
+
<div class="fd-button-split fd-button-split--emphasized" role="group" tabindex="-1" aria-label="Split Button" tabindex="-1">
|
|
60
|
+
<button role="button" class="fd-button fd-button--emphasized">
|
|
61
|
+
<span class="fd-button-split__text" id="emphasized">Emphasized</span>
|
|
62
|
+
</button>
|
|
63
|
+
<button role="button" class="fd-button fd-button--emphasized" aria-expanded="false" title="Open Menu" aria-haspopup="menu" title="Open Menu" aria-haspopup="menu">
|
|
64
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
65
|
+
</button>
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
<div class="fd-button-split" role="group" tabindex="-1" aria-label="button-split">
|
|
69
|
+
<button role="button" class="fd-button">
|
|
70
|
+
<span class="fd-button-split__text">Standard</span>
|
|
71
|
+
</button>
|
|
72
|
+
<button role="button" class="fd-button" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
73
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
74
|
+
</button>
|
|
75
|
+
</div>
|
|
76
|
+
|
|
77
|
+
<div class="fd-button-split fd-button-split--transparent" role="group" tabindex="-1" aria-label="Split Button" tabindex="-1">
|
|
78
|
+
<button role="button" class="fd-button fd-button--transparent">
|
|
79
|
+
<span class="fd-button-split__text">Transparent</span>
|
|
80
|
+
</button>
|
|
81
|
+
<button role="button" class="fd-button fd-button--transparent" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
82
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
83
|
+
</button>
|
|
84
|
+
</div>
|
|
85
|
+
|
|
86
|
+
<div class="fd-button-split fd-button-split--ghost" role="group" tabindex="-1" aria-label="button-split">
|
|
87
|
+
<button role="button" class="fd-button fd-button--ghost">
|
|
88
|
+
<span class="fd-button-split__text">Ghost</span>
|
|
89
|
+
</button>
|
|
90
|
+
<button role="button" class="fd-button fd-button--ghost" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
91
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
92
|
+
</button>
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
<div class="fd-button-split fd-button-split--positive" role="group" tabindex="-1" aria-label="button-split">
|
|
96
|
+
<button role="button" class="fd-button fd-button--positive">
|
|
97
|
+
<span class="fd-button-split__text">Positive</span>
|
|
98
|
+
</button>
|
|
99
|
+
<button role="button" class="fd-button fd-button--positive" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
100
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
101
|
+
</button>
|
|
102
|
+
</div>
|
|
103
|
+
|
|
104
|
+
<div class="fd-button-split fd-button-split--negative" role="group" tabindex="-1" aria-label="button-split">
|
|
105
|
+
<button role="button" class="fd-button fd-button--negative">
|
|
106
|
+
<span class="fd-button-split__text">Negative</span>
|
|
107
|
+
</button>
|
|
108
|
+
<button role="button" class="fd-button fd-button--negative" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
109
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
110
|
+
</button>
|
|
111
|
+
</div>
|
|
112
|
+
|
|
113
|
+
<div class="fd-button-split fd-button-split--attention" role="group" tabindex="-1" aria-label="button-split">
|
|
114
|
+
<button role="button" class="fd-button fd-button--attention">
|
|
115
|
+
<span class="fd-button-split__text">Attention</span>
|
|
116
|
+
</button>
|
|
117
|
+
<button role="button" class="fd-button fd-button--attention" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
118
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
119
|
+
</button>
|
|
120
|
+
</div>
|
|
121
|
+
|
|
122
|
+
<div class="fd-button-split fd-button-split--attention" role="group" tabindex="-1" aria-label="button-split">
|
|
123
|
+
<button role="button" class="fd-button fd-button--attention">
|
|
124
|
+
<i class="sap-icon--cart"></i>
|
|
125
|
+
<span class="fd-button-split__text">Attention</span>
|
|
126
|
+
</button>
|
|
127
|
+
<button role="button" class="fd-button fd-button--attention" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
128
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
129
|
+
</button>
|
|
130
|
+
</div>
|
|
131
|
+
|
|
132
|
+
<div class="fd-button-split fd-button-split--negative" role="group" tabindex="-1" aria-label="button-split">
|
|
133
|
+
<button role="button" class="fd-button fd-button--negative">
|
|
134
|
+
<i class="sap-icon--cart"></i>
|
|
135
|
+
</button>
|
|
136
|
+
<button role="button" class="fd-button fd-button--negative" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
137
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
138
|
+
</button>
|
|
139
|
+
</div>
|
|
140
|
+
<p>Arrow toggled:</p>
|
|
141
|
+
<div class="fd-button-split fd-button-split--emphasized is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
142
|
+
<button role="button" class="fd-button fd-button--emphasized">
|
|
143
|
+
<span class="fd-button-split__text">Emphasized</span>
|
|
144
|
+
</button>
|
|
145
|
+
<button role="button" class="fd-button fd-button--emphasized is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
146
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
147
|
+
</button>
|
|
148
|
+
</div>
|
|
149
|
+
|
|
150
|
+
<div class="fd-button-split is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
151
|
+
<button role="button" class="fd-button">
|
|
152
|
+
<span class="fd-button-split__text">Standard</span>
|
|
153
|
+
</button>
|
|
154
|
+
<button role="button" class="fd-button is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
155
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
156
|
+
</button>
|
|
157
|
+
</div>
|
|
158
|
+
|
|
159
|
+
<div class="fd-button-split fd-button-split--transparent is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
160
|
+
<button role="button" class="fd-button fd-button--transparent">
|
|
161
|
+
<span class="fd-button-split__text">Transparent</span>
|
|
162
|
+
</button>
|
|
163
|
+
<button role="button" class="fd-button fd-button--transparent is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
164
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
165
|
+
</button>
|
|
166
|
+
</div>
|
|
167
|
+
|
|
168
|
+
<div class="fd-button-split fd-button-split--ghost is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
169
|
+
<button role="button" class="fd-button fd-button--ghost">
|
|
170
|
+
<span class="fd-button-split__text">Ghost</span>
|
|
171
|
+
</button>
|
|
172
|
+
<button role="button" class="fd-button fd-button--ghost is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
173
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
174
|
+
</button>
|
|
175
|
+
</div>
|
|
176
|
+
|
|
177
|
+
<div class="fd-button-split fd-button-split--positive is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
178
|
+
<button role="button" class="fd-button fd-button--positive">
|
|
179
|
+
<span class="fd-button-split__text">Positive</span>
|
|
180
|
+
</button>
|
|
181
|
+
<button role="button" class="fd-button fd-button--positive is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
182
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
183
|
+
</button>
|
|
184
|
+
</div>
|
|
185
|
+
|
|
186
|
+
<div class="fd-button-split fd-button-split--negative is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
187
|
+
<button role="button" class="fd-button fd-button--negative">
|
|
188
|
+
<span class="fd-button-split__text">Negative</span>
|
|
189
|
+
</button>
|
|
190
|
+
<button role="button" class="fd-button fd-button--negative is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
191
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
192
|
+
</button>
|
|
193
|
+
</div>
|
|
194
|
+
|
|
195
|
+
<div class="fd-button-split fd-button-split--attention is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
196
|
+
<button role="button" class="fd-button fd-button--attention">
|
|
197
|
+
<span class="fd-button-split__text">Attention</span>
|
|
198
|
+
</button>
|
|
199
|
+
<button role="button" class="fd-button fd-button--attention is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
200
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
201
|
+
</button>
|
|
202
|
+
</div>
|
|
203
|
+
|
|
204
|
+
<div class="fd-button-split fd-button-split--attention is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
205
|
+
<button role="button" class="fd-button fd-button--attention">
|
|
206
|
+
<i class="sap-icon--cart"></i>
|
|
207
|
+
<span class="fd-button-split__text">Attention</span>
|
|
208
|
+
</button>
|
|
209
|
+
<button role="button" class="fd-button fd-button--attention is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
210
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
211
|
+
</button>
|
|
212
|
+
</div>
|
|
213
|
+
|
|
214
|
+
<div class="fd-button-split fd-button-split--negative is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
215
|
+
<button role="button" class="fd-button fd-button--negative">
|
|
216
|
+
<i class="sap-icon--cart"></i>
|
|
217
|
+
</button>
|
|
218
|
+
<button role="button" class="fd-button fd-button--negative is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
219
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
220
|
+
</button>
|
|
221
|
+
</div>
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
## Modifiers
|
|
225
|
+
|
|
226
|
+
| Class | Description |
|
|
227
|
+
|-------|-------------|
|
|
228
|
+
| `fd-button-split--attention` | Style variant |
|
|
229
|
+
| `fd-button-split--emphasized` | Style variant |
|
|
230
|
+
| `fd-button-split--ghost` | Style variant |
|
|
231
|
+
| `fd-button-split--negative` | Style variant |
|
|
232
|
+
| `fd-button-split--positive` | Style variant |
|
|
233
|
+
| `fd-button-split--transparent` | Style variant |
|
|
234
|
+
|
|
235
|
+
## States
|
|
236
|
+
|
|
237
|
+
| Class | Description |
|
|
238
|
+
|-------|-------------|
|
|
239
|
+
| `is-active` | Active state |
|
|
240
|
+
| `is-hover` | Hover state |
|
|
241
|
+
|
|
242
|
+
## BEM Elements
|
|
243
|
+
|
|
244
|
+
This component uses the following BEM elements:
|
|
245
|
+
|
|
246
|
+
- `fd-button-split__text`
|
|
247
|
+
|
|
248
|
+
## Related Components
|
|
249
|
+
|
|
250
|
+
This component works with or depends on:
|
|
251
|
+
|
|
252
|
+
- `button`
|
|
253
|
+
- `button-split`
|
|
254
|
+
- `icon`
|
|
255
|
+
|
|
256
|
+
## Design Tokens
|
|
257
|
+
|
|
258
|
+
Key CSS variables used by this component:
|
|
259
|
+
|
|
260
|
+
- `--emphasized`
|
|
261
|
+
- `--fdButtonPrioritizedBackgroundColor`
|
|
262
|
+
- `--fdButtonPrioritizedBorderColor`
|
|
263
|
+
- `--fdButtonSplit_Separator_Offset`
|
|
264
|
+
- `--fdButtonSplit_Text_Max_Width`
|
|
265
|
+
- `--fdButton_Border_Radius_Left`
|
|
266
|
+
- `--fdButton_Border_Radius_Left_RTL`
|
|
267
|
+
- `--fdButton_Border_Radius_Outline_Left`
|
|
268
|
+
- `--fdButton_Border_Radius_Outline_Left_RTL`
|
|
269
|
+
- `--fdButton_Border_Radius_Outline_Right`
|
|
270
|
+
- `--fdButton_Border_Radius_Outline_Right_RTL`
|
|
271
|
+
- `--fdButton_Border_Radius_Right`
|
|
272
|
+
- `--fdButton_Border_Radius_Right_RTL`
|
|
273
|
+
- `--fdButton_Ghost_Background`
|
|
274
|
+
- `--fdButton_Menu_Attention_Shadow_Color`
|
|
275
|
+
|
|
276
|
+
*...and 5 more*
|
|
277
|
+
|
|
278
|
+
## Examples
|
|
279
|
+
|
|
280
|
+
### Split menu button
|
|
281
|
+
|
|
282
|
+
```html
|
|
283
|
+
<div class="fd-button-split fd-button-split--emphasized" role="group" tabindex="-1" aria-label="Split Button" tabindex="-1">
|
|
284
|
+
<button role="button" class="fd-button fd-button--emphasized">
|
|
285
|
+
<span class="fd-button-split__text" id="emphasized">Emphasized</span>
|
|
286
|
+
</button>
|
|
287
|
+
<button role="button" class="fd-button fd-button--emphasized" aria-expanded="false" title="Open Menu" aria-haspopup="menu" title="Open Menu" aria-haspopup="menu">
|
|
288
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
289
|
+
</button>
|
|
290
|
+
</div>
|
|
291
|
+
|
|
292
|
+
<div class="fd-button-split" role="group" tabindex="-1" aria-label="button-split">
|
|
293
|
+
<button role="button" class="fd-button">
|
|
294
|
+
<span class="fd-button-split__text">Standard</span>
|
|
295
|
+
</button>
|
|
296
|
+
<button role="button" class="fd-button" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
297
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
298
|
+
</button>
|
|
299
|
+
</div>
|
|
300
|
+
|
|
301
|
+
<div class="fd-button-split fd-button-split--transparent" role="group" tabindex="-1" aria-label="Split Button" tabindex="-1">
|
|
302
|
+
<button role="button" class="fd-button fd-button--transparent">
|
|
303
|
+
<span class="fd-button-split__text">Transparent</span>
|
|
304
|
+
</button>
|
|
305
|
+
<button role="button" class="fd-button fd-button--transparent" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
306
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
307
|
+
</button>
|
|
308
|
+
</div>
|
|
309
|
+
|
|
310
|
+
<div class="fd-button-split fd-button-split--ghost" role="group" tabindex="-1" aria-label="button-split">
|
|
311
|
+
<button role="button" class="fd-button fd-button--ghost">
|
|
312
|
+
<span class="fd-button-split__text">Ghost</span>
|
|
313
|
+
</button>
|
|
314
|
+
<button role="button" class="fd-button fd-button--ghost" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
315
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
316
|
+
</button>
|
|
317
|
+
</div>
|
|
318
|
+
|
|
319
|
+
<div class="fd-button-split fd-button-split--positive" role="group" tabindex="-1" aria-label="button-split">
|
|
320
|
+
<button role="button" class="fd-button fd-button--positive">
|
|
321
|
+
<span class="fd-button-split__text">Positive</span>
|
|
322
|
+
</button>
|
|
323
|
+
<button role="button" class="fd-button fd-button--positive" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
324
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
325
|
+
</button>
|
|
326
|
+
</div>
|
|
327
|
+
|
|
328
|
+
<div class="fd-button-split fd-button-split--negative" role="group" tabindex="-1" aria-label="button-split">
|
|
329
|
+
<button role="button" class="fd-button fd-button--negative">
|
|
330
|
+
<span class="fd-button-split__text">Negative</span>
|
|
331
|
+
</button>
|
|
332
|
+
<button role="button" class="fd-button fd-button--negative" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
333
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
334
|
+
</button>
|
|
335
|
+
</div>
|
|
336
|
+
|
|
337
|
+
<div class="fd-button-split fd-button-split--attention" role="group" tabindex="-1" aria-label="button-split">
|
|
338
|
+
<button role="button" class="fd-button fd-button--attention">
|
|
339
|
+
<span class="fd-button-split__text">Attention</span>
|
|
340
|
+
</button>
|
|
341
|
+
<button role="button" class="fd-button fd-button--attention" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
342
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
343
|
+
</button>
|
|
344
|
+
</div>
|
|
345
|
+
|
|
346
|
+
<div class="fd-button-split fd-button-split--attention" role="group" tabindex="-1" aria-label="button-split">
|
|
347
|
+
<button role="button" class="fd-button fd-button--attention">
|
|
348
|
+
<i class="sap-icon--cart"></i>
|
|
349
|
+
<span class="fd-button-split__text">Attention</span>
|
|
350
|
+
</button>
|
|
351
|
+
<button role="button" class="fd-button fd-button--attention" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
352
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
353
|
+
</button>
|
|
354
|
+
</div>
|
|
355
|
+
|
|
356
|
+
<div class="fd-button-split fd-button-split--negative" role="group" tabindex="-1" aria-label="button-split">
|
|
357
|
+
<button role="button" class="fd-button fd-button--negative">
|
|
358
|
+
<i class="sap-icon--cart"></i>
|
|
359
|
+
</button>
|
|
360
|
+
<button role="button" class="fd-button fd-button--negative" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
361
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
362
|
+
</button>
|
|
363
|
+
</div>
|
|
364
|
+
<p>Arrow toggled:</p>
|
|
365
|
+
<div class="fd-button-split fd-button-split--emphasized is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
366
|
+
<button role="button" class="fd-button fd-button--emphasized">
|
|
367
|
+
<span class="fd-button-split__text">Emphasized</span>
|
|
368
|
+
</button>
|
|
369
|
+
<button role="button" class="fd-button fd-button--emphasized is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
370
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
371
|
+
</button>
|
|
372
|
+
</div>
|
|
373
|
+
|
|
374
|
+
<div class="fd-button-split is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
375
|
+
<button role="button" class="fd-button">
|
|
376
|
+
<span class="fd-button-split__text">Standard</span>
|
|
377
|
+
</button>
|
|
378
|
+
<button role="button" class="fd-button is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
379
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
380
|
+
</button>
|
|
381
|
+
</div>
|
|
382
|
+
|
|
383
|
+
<div class="fd-button-split fd-button-split--transparent is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
384
|
+
<button role="button" class="fd-button fd-button--transparent">
|
|
385
|
+
<span class="fd-button-split__text">Transparent</span>
|
|
386
|
+
</button>
|
|
387
|
+
<button role="button" class="fd-button fd-button--transparent is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
388
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
389
|
+
</button>
|
|
390
|
+
</div>
|
|
391
|
+
|
|
392
|
+
<div class="fd-button-split fd-button-split--ghost is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
393
|
+
<button role="button" class="fd-button fd-button--ghost">
|
|
394
|
+
<span class="fd-button-split__text">Ghost</span>
|
|
395
|
+
</button>
|
|
396
|
+
<button role="button" class="fd-button fd-button--ghost is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
397
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
398
|
+
</button>
|
|
399
|
+
</div>
|
|
400
|
+
|
|
401
|
+
<div class="fd-button-split fd-button-split--positive is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
402
|
+
<button role="button" class="fd-button fd-button--positive">
|
|
403
|
+
<span class="fd-button-split__text">Positive</span>
|
|
404
|
+
</button>
|
|
405
|
+
<button role="button" class="fd-button fd-button--positive is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
406
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
407
|
+
</button>
|
|
408
|
+
</div>
|
|
409
|
+
|
|
410
|
+
<div class="fd-button-split fd-button-split--negative is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
411
|
+
<button role="button" class="fd-button fd-button--negative">
|
|
412
|
+
<span class="fd-button-split__text">Negative</span>
|
|
413
|
+
</button>
|
|
414
|
+
<button role="button" class="fd-button fd-button--negative is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
415
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
416
|
+
</button>
|
|
417
|
+
</div>
|
|
418
|
+
|
|
419
|
+
<div class="fd-button-split fd-button-split--attention is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
420
|
+
<button role="button" class="fd-button fd-button--attention">
|
|
421
|
+
<span class="fd-button-split__text">Attention</span>
|
|
422
|
+
</button>
|
|
423
|
+
<button role="button" class="fd-button fd-button--attention is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
424
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
425
|
+
</button>
|
|
426
|
+
</div>
|
|
427
|
+
|
|
428
|
+
<div class="fd-button-split fd-button-split--attention is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
429
|
+
<button role="button" class="fd-button fd-button--attention">
|
|
430
|
+
<i class="sap-icon--cart"></i>
|
|
431
|
+
<span class="fd-button-split__text">Attention</span>
|
|
432
|
+
</button>
|
|
433
|
+
<button role="button" class="fd-button fd-button--attention is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
434
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
435
|
+
</button>
|
|
436
|
+
</div>
|
|
437
|
+
|
|
438
|
+
<div class="fd-button-split fd-button-split--negative is-hover" role="group" tabindex="-1" aria-label="button-split">
|
|
439
|
+
<button role="button" class="fd-button fd-button--negative">
|
|
440
|
+
<i class="sap-icon--cart"></i>
|
|
441
|
+
</button>
|
|
442
|
+
<button role="button" class="fd-button fd-button--negative is-active" aria-expanded="false" title="Open Menu" aria-haspopup="menu">
|
|
443
|
+
<i class="sap-icon--slim-arrow-down" role="presentation" aria-hidden="true"></i>
|
|
444
|
+
</button>
|
|
445
|
+
</div>
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
## Accessibility
|
|
449
|
+
|
|
450
|
+
- Use semantic HTML elements where appropriate
|
|
451
|
+
- Include proper ARIA attributes for interactive elements
|
|
452
|
+
- Ensure keyboard navigation support
|
|
453
|
+
- Provide adequate color contrast
|
|
454
|
+
|
|
455
|
+
## Source
|
|
456
|
+
|
|
457
|
+
This documentation was automatically generated from: `packages/styles/stories/Components/button-split/button.stories.js`
|
|
458
|
+
|
|
459
|
+
For the latest updates and interactive examples, see [Storybook](https://sap.github.io/fundamental-styles/).
|