@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,381 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: fd-fieldset
|
|
3
|
+
title: Components/Forms/Radio
|
|
4
|
+
category: Components
|
|
5
|
+
selector: fd-fieldset
|
|
6
|
+
cssFile: fieldset.css
|
|
7
|
+
sourcePath: packages/styles/stories/Components/Forms/radio/radio.stories.js
|
|
8
|
+
tags: []
|
|
9
|
+
dependencies: []
|
|
10
|
+
relatedComponents: []
|
|
11
|
+
stability: stable
|
|
12
|
+
generatedAt: 2026-06-09T18:29:01.451Z
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Components/Forms/Radio
|
|
16
|
+
|
|
17
|
+
Radio buttons provide users with a set of mutually exclusive options. They allow a user to select only one option from two or more choices. Each option is represented by a radio button. Consequently, radio buttons only work in groups.
|
|
18
|
+
|
|
19
|
+
<b>Use the radio button if:</b>
|
|
20
|
+
|
|
21
|
+
- You need to help users choose quickly between at least two clearly different choices.
|
|
22
|
+
|
|
23
|
+
<b>Do not use the radio button if:</b>
|
|
24
|
+
|
|
25
|
+
- You need to offer the user the option of multiple selection. In this case, use checkboxes instead because radio buttons are for single-selection contexts only.
|
|
26
|
+
- You need to present more than 8 options. Use a dropdown box or list view.
|
|
27
|
+
In special cases, there are only two mutually exclusive options. Combine them into a single checkbox or switch. For example, use a checkbox for “I agree” (for example, to terms and conditions) instead of two radio buttons for “I agree” and “I don't agree”.
|
|
28
|
+
- The options are numbers with fixed steps. Use a slider control.
|
|
29
|
+
|
|
30
|
+
## Installation
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npm install fundamental-styles
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
```html
|
|
37
|
+
<!-- Include theme -->
|
|
38
|
+
<link href="node_modules/fundamental-styles/dist/theming/sap_horizon.css" rel="stylesheet">
|
|
39
|
+
|
|
40
|
+
<!-- Include component CSS -->
|
|
41
|
+
<link href="node_modules/fundamental-styles/dist/fieldset.css" rel="stylesheet">
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Basic Usage
|
|
46
|
+
|
|
47
|
+
```html
|
|
48
|
+
<fieldset class="fd-fieldset" id="radio1">
|
|
49
|
+
<legend class="fd-fieldset__legend">Radio Buttons</legend>
|
|
50
|
+
<div class="fd-form__group">
|
|
51
|
+
<div class="fd-form-item">
|
|
52
|
+
<input type="radio" class="fd-radio" id="pDidh761" name="radio1" checked>
|
|
53
|
+
<label class="fd-radio__label" for="pDidh761">
|
|
54
|
+
<span class="fd-radio__text">Option 1</span>
|
|
55
|
+
</label>
|
|
56
|
+
</div>
|
|
57
|
+
<div class="fd-form-item">
|
|
58
|
+
<input type="radio" class="fd-radio" id="pDidh7612" name="radio1">
|
|
59
|
+
<label class="fd-radio__label" for="pDidh7612">
|
|
60
|
+
<span class="fd-radio__text">Option 2</span>
|
|
61
|
+
</label>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="fd-form-item">
|
|
64
|
+
<input type="radio" class="fd-radio" id="pDidh764" name="radio1" disabled aria-disabled="true">
|
|
65
|
+
<label class="fd-radio__label" for="pDidh764">
|
|
66
|
+
<span class="fd-radio__text">Option 3 (disabled)</span>
|
|
67
|
+
</label>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</fieldset>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## States
|
|
74
|
+
|
|
75
|
+
| Class | Description |
|
|
76
|
+
|-------|-------------|
|
|
77
|
+
| `is-error` | Error state |
|
|
78
|
+
| `is-hover` | Hover state |
|
|
79
|
+
| `is-information` | Information state |
|
|
80
|
+
| `is-readonly` | Readonly state |
|
|
81
|
+
| `is-success` | Success state |
|
|
82
|
+
| `is-warning` | Warning state |
|
|
83
|
+
|
|
84
|
+
## BEM Elements
|
|
85
|
+
|
|
86
|
+
This component uses the following BEM elements:
|
|
87
|
+
|
|
88
|
+
- `fd-fieldset__legend`
|
|
89
|
+
|
|
90
|
+
## Examples
|
|
91
|
+
|
|
92
|
+
### Primary
|
|
93
|
+
|
|
94
|
+
```html
|
|
95
|
+
<fieldset class="fd-fieldset" id="radio1">
|
|
96
|
+
<legend class="fd-fieldset__legend">Radio Buttons</legend>
|
|
97
|
+
<div class="fd-form__group">
|
|
98
|
+
<div class="fd-form-item">
|
|
99
|
+
<input type="radio" class="fd-radio" id="pDidh761" name="radio1" checked>
|
|
100
|
+
<label class="fd-radio__label" for="pDidh761">
|
|
101
|
+
<span class="fd-radio__text">Option 1</span>
|
|
102
|
+
</label>
|
|
103
|
+
</div>
|
|
104
|
+
<div class="fd-form-item">
|
|
105
|
+
<input type="radio" class="fd-radio" id="pDidh7612" name="radio1">
|
|
106
|
+
<label class="fd-radio__label" for="pDidh7612">
|
|
107
|
+
<span class="fd-radio__text">Option 2</span>
|
|
108
|
+
</label>
|
|
109
|
+
</div>
|
|
110
|
+
<div class="fd-form-item">
|
|
111
|
+
<input type="radio" class="fd-radio" id="pDidh764" name="radio1" disabled aria-disabled="true">
|
|
112
|
+
<label class="fd-radio__label" for="pDidh764">
|
|
113
|
+
<span class="fd-radio__text">Option 3 (disabled)</span>
|
|
114
|
+
</label>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</fieldset>
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Inline
|
|
121
|
+
|
|
122
|
+
Try to align radio buttons vertically instead of horizontally, especially for long labels. Horizontal alignment is harder to read and localize. Consider horizontal alignment in cases of one-word labels, such as in the background color settings example above.
|
|
123
|
+
|
|
124
|
+
In forms, always align radio buttons vertically instead of horizontally as the length of the labels may vary for different languages.
|
|
125
|
+
|
|
126
|
+
Do not put two radio button groups right next to each other as it is difficult to determine which buttons belong to which group. Use group labels and padding to separate them.
|
|
127
|
+
|
|
128
|
+
```html
|
|
129
|
+
<fieldset class="fd-fieldset" id="radio4">
|
|
130
|
+
<legend class="fd-fieldset__legend">Inline Radio buttons</legend>
|
|
131
|
+
<div class="fd-form-group fd-form-group--inline">
|
|
132
|
+
<div class="fd-form-item">
|
|
133
|
+
<input type="radio" class="fd-radio" id="pDidh767" name="radio4" checked>
|
|
134
|
+
<label class="fd-radio__label" for="pDidh767">
|
|
135
|
+
<span class="fd-radio__text">Option 1</span>
|
|
136
|
+
</label>
|
|
137
|
+
</div>
|
|
138
|
+
<div class="fd-form-item">
|
|
139
|
+
<input type="radio" class="fd-radio" id="pDidh7618" name="radio4" >
|
|
140
|
+
<label class="fd-radio__label" for="pDidh7618">
|
|
141
|
+
<span class="fd-radio__text">Option 2</span>
|
|
142
|
+
</label>
|
|
143
|
+
</div>
|
|
144
|
+
<div class="fd-form-item">
|
|
145
|
+
<input type="radio" class="fd-radio" id="pDidh7619" name="radio4">
|
|
146
|
+
<label class="fd-radio__label" for="pDidh7619">
|
|
147
|
+
<span class="fd-radio__text">Option 3</span>
|
|
148
|
+
</label>
|
|
149
|
+
</div>
|
|
150
|
+
</div>
|
|
151
|
+
</fieldset>
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### InteractionStates
|
|
155
|
+
|
|
156
|
+
A radio button can have different states that affect its appearance value states, such as “error” or “warning”, which are indicated using semantic colors
|
|
157
|
+
|
|
158
|
+
```html
|
|
159
|
+
<fieldset class="fd-fieldset" id="radio5a">
|
|
160
|
+
<legend class="fd-fieldset__legend">Default Interaction States</legend>
|
|
161
|
+
<div class="fd-form-group">
|
|
162
|
+
<div class="fd-form-item">
|
|
163
|
+
<input type="radio" class="fd-radio" id="iSpDidh761" name="radio5a">
|
|
164
|
+
<label class="fd-radio__label" for="iSpDidh761">
|
|
165
|
+
<span class="fd-radio__text">Default Radio Button</span>
|
|
166
|
+
</label>
|
|
167
|
+
</div>
|
|
168
|
+
<div class="fd-form-item">
|
|
169
|
+
<input type="radio" class="fd-radio" id="iSpDidh761cc" name="radio5a" checked>
|
|
170
|
+
<label class="fd-radio__label" for="iSpDidh761cc">
|
|
171
|
+
<span class="fd-radio__text">Default Checked Radio Button</span>
|
|
172
|
+
</label>
|
|
173
|
+
</div>
|
|
174
|
+
<div class="fd-form-item">
|
|
175
|
+
<input type="radio" class="fd-radio" id="iSpDidh761hov" name="radio5a">
|
|
176
|
+
<label class="fd-radio__label is-hover" for="iSpDidh761hov">
|
|
177
|
+
<span class="fd-radio__text">Default Hover Radio Button</span>
|
|
178
|
+
</label>
|
|
179
|
+
</div>
|
|
180
|
+
</div>
|
|
181
|
+
</fieldset>
|
|
182
|
+
<fieldset class="fd-fieldset" id="radio5b">
|
|
183
|
+
<legend class="fd-fieldset__legend">Success Interaction States</legend>
|
|
184
|
+
<div class="fd-form-group">
|
|
185
|
+
<div class="fd-form-item">
|
|
186
|
+
<input type="radio" class="fd-radio is-success" id="iSpDidh7612" name="radio5b">
|
|
187
|
+
<label class="fd-radio__label" for="iSpDidh7612">
|
|
188
|
+
<span class="fd-radio__text">Success Radio Button</span>
|
|
189
|
+
</label>
|
|
190
|
+
</div>
|
|
191
|
+
<div class="fd-form-item">
|
|
192
|
+
<input type="radio" class="fd-radio is-success" id="iSpDidh7612cc" name="radio5b" checked>
|
|
193
|
+
<label class="fd-radio__label" for="iSpDidh7612cc">
|
|
194
|
+
<span class="fd-radio__text">Success Checked Radio Button</span>
|
|
195
|
+
</label>
|
|
196
|
+
</div>
|
|
197
|
+
<div class="fd-form-item">
|
|
198
|
+
<input type="radio" class="fd-radio is-success" id="iSpDidh7612hov" name="radio5b">
|
|
199
|
+
<label class="fd-radio__label is-hover" for="iSpDidh7612hov">
|
|
200
|
+
<span class="fd-radio__text">Success Hover Radio Button</span>
|
|
201
|
+
</label>
|
|
202
|
+
</div>
|
|
203
|
+
</div>
|
|
204
|
+
</fieldset>
|
|
205
|
+
<fieldset class="fd-fieldset" id="radio5c">
|
|
206
|
+
<legend class="fd-fieldset__legend">Error Interaction States</legend>
|
|
207
|
+
<div class="fd-form-group">
|
|
208
|
+
<div class="fd-form-item">
|
|
209
|
+
<input type="radio" class="fd-radio is-error" id="iSpDidh7613" name="radio5c">
|
|
210
|
+
<label class="fd-radio__label" for="iSpDidh7613">
|
|
211
|
+
<span class="fd-radio__text">Error Radio Button</span>
|
|
212
|
+
</label>
|
|
213
|
+
</div>
|
|
214
|
+
<div class="fd-form-item">
|
|
215
|
+
<input type="radio" class="fd-radio is-error" id="iSpDidh7613cc" name="radio5c" checked>
|
|
216
|
+
<label class="fd-radio__label" for="iSpDidh7613cc">
|
|
217
|
+
<span class="fd-radio__text">Error Checked Radio Button</span>
|
|
218
|
+
</label>
|
|
219
|
+
</div>
|
|
220
|
+
<div class="fd-form-item">
|
|
221
|
+
<input type="radio" class="fd-radio is-error" id="iSpDidh7613hov" name="radio5c">
|
|
222
|
+
<label class="fd-radio__label is-hover" for="iSpDidh7613hov">
|
|
223
|
+
<span class="fd-radio__text">Error Hover Radio Button</span>
|
|
224
|
+
</label>
|
|
225
|
+
</div>
|
|
226
|
+
</div>
|
|
227
|
+
</fieldset>
|
|
228
|
+
<fieldset class="fd-fieldset" id="radio5d">
|
|
229
|
+
<legend class="fd-fieldset__legend">Warning Interaction States</legend>
|
|
230
|
+
<div class="fd-form-group">
|
|
231
|
+
<div class="fd-form-item">
|
|
232
|
+
<input type="radio" class="fd-radio is-warning" id="iSpDidh7614" name="radio5d">
|
|
233
|
+
<label class="fd-radio__label" for="iSpDidh7614">
|
|
234
|
+
<span class="fd-radio__text">Warning Radio Button</span>
|
|
235
|
+
</label>
|
|
236
|
+
</div>
|
|
237
|
+
<div class="fd-form-item">
|
|
238
|
+
<input type="radio" class="fd-radio is-warning" id="iSpDidh7614cc" name="radio5d" checked>
|
|
239
|
+
<label class="fd-radio__label" for="iSpDidh7614cc">
|
|
240
|
+
<span class="fd-radio__text">Warning Checked Radio Button</span>
|
|
241
|
+
</label>
|
|
242
|
+
</div>
|
|
243
|
+
<div class="fd-form-item">
|
|
244
|
+
<input type="radio" class="fd-radio is-warning" id="iSpDidh7614hov" name="radio5d">
|
|
245
|
+
<label class="fd-radio__label is-hover" for="iSpDidh7614hov">
|
|
246
|
+
<span class="fd-radio__text">Warning Hover Radio Button</span>
|
|
247
|
+
</label>
|
|
248
|
+
</div>
|
|
249
|
+
</div>
|
|
250
|
+
</fieldset>
|
|
251
|
+
<fieldset class="fd-fieldset" id="radio5e">
|
|
252
|
+
<legend class="fd-fieldset__legend">Information Interaction States</legend>
|
|
253
|
+
<div class="fd-form-group">
|
|
254
|
+
<div class="fd-form-item">
|
|
255
|
+
<input type="radio" class="fd-radio is-information" id="iSpDidh7615" name="radio5e">
|
|
256
|
+
<label class="fd-radio__label" for="iSpDidh7615">
|
|
257
|
+
<span class="fd-radio__text">Information Radio Button</span>
|
|
258
|
+
</label>
|
|
259
|
+
</div>
|
|
260
|
+
<div class="fd-form-item">
|
|
261
|
+
<input type="radio" class="fd-radio is-information" id="iSpDidh7615cc" name="radio5e" checked>
|
|
262
|
+
<label class="fd-radio__label" for="iSpDidh7615cc">
|
|
263
|
+
<span class="fd-radio__text">Information Checked Radio Button</span>
|
|
264
|
+
</label>
|
|
265
|
+
</div>
|
|
266
|
+
<div class="fd-form-item">
|
|
267
|
+
<input type="radio" class="fd-radio is-information" id="iSpDidh7615hov" name="radio5e">
|
|
268
|
+
<label class="fd-radio__label is-hover" for="iSpDidh7615hov">
|
|
269
|
+
<span class="fd-radio__text">Information Hover Radio Button</span>
|
|
270
|
+
</label>
|
|
271
|
+
</div>
|
|
272
|
+
</div>
|
|
273
|
+
</fieldset>
|
|
274
|
+
<fieldset class="fd-fieldset" id="radio5f">
|
|
275
|
+
<legend class="fd-fieldset__legend">Read-Only Interaction States</legend>
|
|
276
|
+
<div class="fd-form-group">
|
|
277
|
+
<div class="fd-form-item">
|
|
278
|
+
<input type="radio" class="fd-radio is-readonly" id="iSpDidh76erfg15" name="radio5f" aria-readonly="true" aria-description="This radio button is read-only and cannot be changed." onclick="return false;">
|
|
279
|
+
<label class="fd-radio__label" for="iSpDidh76erfg15">
|
|
280
|
+
<span class="fd-radio__text">ReadOnly Radio Button</span>
|
|
281
|
+
</label>
|
|
282
|
+
</div>
|
|
283
|
+
<div class="fd-form-item">
|
|
284
|
+
<input type="radio" class="fd-radio is-readonly" id="iSpDidh76erfg15cc" name="radio5f" aria-readonly="true" aria-description="This radio button is read-only and cannot be changed." onclick="return false;" checked>
|
|
285
|
+
<label class="fd-radio__label" for="iSpDidh76erfg15cc">
|
|
286
|
+
<span class="fd-radio__text">ReadOnly Checked Radio Button</span>
|
|
287
|
+
</label>
|
|
288
|
+
</div>
|
|
289
|
+
<div class="fd-form-item">
|
|
290
|
+
<input type="radio" class="fd-radio is-readonly" id="iSpDidh76erfg15hov" name="radio5f" aria-readonly="true" aria-description="This radio button is read-only and cannot be changed." onclick="return false;">
|
|
291
|
+
<label class="fd-radio__label is-hover" for="iSpDidh76erfg15hov">
|
|
292
|
+
<span class="fd-radio__text">ReadOnly Hover Radio Button</span>
|
|
293
|
+
</label>
|
|
294
|
+
</div>
|
|
295
|
+
</div>
|
|
296
|
+
</fieldset>
|
|
297
|
+
<fieldset class="fd-fieldset" id="radio5g">
|
|
298
|
+
<legend class="fd-fieldset__legend">Disabled States</legend>
|
|
299
|
+
<div class="fd-form-group">
|
|
300
|
+
<div class="fd-form-item">
|
|
301
|
+
<input type="radio" class="fd-radio" id="iSpDidh7611" name="radio5g" disabled aria-disabled="true">
|
|
302
|
+
<label class="fd-radio__label" for="iSpDidh7611">
|
|
303
|
+
<span class="fd-radio__text">Disabled Radio Button</span>
|
|
304
|
+
</label>
|
|
305
|
+
</div>
|
|
306
|
+
<div class="fd-form-item">
|
|
307
|
+
<input type="radio" class="fd-radio is-success" id="iSpDidh76121" name="radio5g" disabled aria-disabled="true">
|
|
308
|
+
<label class="fd-radio__label" for="iSpDidh76121">
|
|
309
|
+
<span class="fd-radio__text">Success Radio Button (disabled)</span>
|
|
310
|
+
</label>
|
|
311
|
+
</div>
|
|
312
|
+
<div class="fd-form-item">
|
|
313
|
+
<input type="radio" class="fd-radio is-error" id="iSpDidh76131" name="radio5g" disabled aria-disabled="true">
|
|
314
|
+
<label class="fd-radio__label" for="iSpDidh76131">
|
|
315
|
+
<span class="fd-radio__text">Error Radio Button (disabled)</span>
|
|
316
|
+
</label>
|
|
317
|
+
</div>
|
|
318
|
+
<div class="fd-form-item">
|
|
319
|
+
<input type="radio" class="fd-radio is-warning" id="iSpDidh76141" name="radio5g" disabled aria-disabled="true">
|
|
320
|
+
<label class="fd-radio__label" for="iSpDidh76141">
|
|
321
|
+
<span class="fd-radio__text">Warning Radio Button (disabled)</span>
|
|
322
|
+
</label>
|
|
323
|
+
</div>
|
|
324
|
+
<div class="fd-form-item">
|
|
325
|
+
<input type="radio" class="fd-radio is-information" id="iSpDidh76151" name="radio5g" disabled aria-disabled="true">
|
|
326
|
+
<label class="fd-radio__label" for="iSpDidh76151">
|
|
327
|
+
<span class="fd-radio__text">Information Radio Button (disabled)</span>
|
|
328
|
+
</label>
|
|
329
|
+
</div>
|
|
330
|
+
</div>
|
|
331
|
+
</fieldset>
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
### TextTruncation
|
|
335
|
+
|
|
336
|
+
By default, long radio label truncates with ellipsis. For this behaviour no modifier class is needed. For radio label that wraps on a new line to show the entire content, use \
|
|
337
|
+
|
|
338
|
+
```html
|
|
339
|
+
<fieldset class="fd-fieldset" id="radio1Truncation">
|
|
340
|
+
<legend class="fd-fieldset__legend">Radio Buttons</legend>
|
|
341
|
+
<div class="fd-form__group">
|
|
342
|
+
<div class="fd-form-item">
|
|
343
|
+
<input type="radio" class="fd-radio" id="pDidh761tt" name="radio1Truncation" checked>
|
|
344
|
+
<label class="fd-radio__label" for="pDidh761tt">
|
|
345
|
+
<span class="fd-radio__text">
|
|
346
|
+
Field label ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
|
347
|
+
</span>
|
|
348
|
+
</label>
|
|
349
|
+
</div>
|
|
350
|
+
<div class="fd-form-item">
|
|
351
|
+
<input type="radio" class="fd-radio" id="pDidh7612tt" name="radio2Truncation" checked>
|
|
352
|
+
<label class="fd-radio__label fd-radio__label--wrap" for="pDidh7612tt">
|
|
353
|
+
<span class="fd-radio__text">
|
|
354
|
+
Field label ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
|
355
|
+
</span>
|
|
356
|
+
</label>
|
|
357
|
+
</div>
|
|
358
|
+
<div class="fd-form-item">
|
|
359
|
+
<input type="radio" class="fd-radio" id="pDidh7612ttop" name="radio3Truncation" checked>
|
|
360
|
+
<label class="fd-radio__label fd-radio__label--wrap-top-aligned" for="pDidh7612ttop">
|
|
361
|
+
<span class="fd-radio__text">
|
|
362
|
+
Field label ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
|
363
|
+
</span>
|
|
364
|
+
</label>
|
|
365
|
+
</div>
|
|
366
|
+
</div>
|
|
367
|
+
</fieldset>
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
## Accessibility
|
|
371
|
+
|
|
372
|
+
- Use semantic HTML elements where appropriate
|
|
373
|
+
- Include proper ARIA attributes for interactive elements
|
|
374
|
+
- Ensure keyboard navigation support
|
|
375
|
+
- Provide adequate color contrast
|
|
376
|
+
|
|
377
|
+
## Source
|
|
378
|
+
|
|
379
|
+
This documentation was automatically generated from: `packages/styles/stories/Components/Forms/radio/radio.stories.js`
|
|
380
|
+
|
|
381
|
+
For the latest updates and interactive examples, see [Storybook](https://sap.github.io/fundamental-styles/).
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: fd-flexible-column-layout
|
|
3
|
+
title: Layouts/Flexible Column
|
|
4
|
+
category: Layouts
|
|
5
|
+
selector: fd-flexible-column-layout
|
|
6
|
+
cssFile: flexible-column-layout.css
|
|
7
|
+
sourcePath: packages/styles/stories/Layouts/flexible-column-layout/flexible-column-layout.stories.js
|
|
8
|
+
tags: []
|
|
9
|
+
dependencies: ["button","flexible-column-layout","icon"]
|
|
10
|
+
relatedComponents: ["button","flexible-column-layout","icon"]
|
|
11
|
+
stability: stable
|
|
12
|
+
generatedAt: 2026-06-09T18:29:01.790Z
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Layouts/Flexible Column
|
|
16
|
+
|
|
17
|
+
The flexible column layout is a layout control that displays multiple floorplans on a single page.
|
|
18
|
+
This allows faster and more fluid navigation between multiple floorplans than the usual page-by-page navigation.
|
|
19
|
+
The flexible column layout offers different layouts with up to three columns.
|
|
20
|
+
Users can expand the column they want to focus on, switch between different layouts, and view the rightmost column in full screen mode.
|
|
21
|
+
|
|
22
|
+
### Background Designs
|
|
23
|
+
- \
|
|
24
|
+
|
|
25
|
+
## Dependencies
|
|
26
|
+
|
|
27
|
+
This component depends on the following CSS files:
|
|
28
|
+
|
|
29
|
+
- `button.css`
|
|
30
|
+
- `flexible-column-layout.css`
|
|
31
|
+
- `icon.css`
|
|
32
|
+
|
|
33
|
+
## Installation
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npm install fundamental-styles
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
```html
|
|
40
|
+
<!-- Include theme -->
|
|
41
|
+
<link href="node_modules/fundamental-styles/dist/theming/sap_horizon.css" rel="stylesheet">
|
|
42
|
+
|
|
43
|
+
<!-- Include component CSS -->
|
|
44
|
+
<link href="node_modules/fundamental-styles/dist/flexible-column-layout.css" rel="stylesheet">
|
|
45
|
+
|
|
46
|
+
<!-- Include dependencies -->
|
|
47
|
+
<link href="node_modules/fundamental-styles/dist/button.css" rel="stylesheet">
|
|
48
|
+
<link href="node_modules/fundamental-styles/dist/flexible-column-layout.css" rel="stylesheet">
|
|
49
|
+
<link href="node_modules/fundamental-styles/dist/icon.css" rel="stylesheet">
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Basic Usage
|
|
53
|
+
|
|
54
|
+
```html
|
|
55
|
+
<div class="fd-flexible-column-layout">
|
|
56
|
+
|
|
57
|
+
<div class="fd-flexible-column-layout__separator">
|
|
58
|
+
<button class="fd-button fd-button--transparent fd-flexible-column-layout__button"
|
|
59
|
+
aria-label="Expand">
|
|
60
|
+
<i class="sap-icon--slim-arrow-right" role="presentation"></i>
|
|
61
|
+
</button>
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
<div class="fd-flexible-column-layout__separator">
|
|
65
|
+
<button class="fd-button fd-button--transparent fd-flexible-column-layout__button"
|
|
66
|
+
aria-label="Expand">
|
|
67
|
+
<i class="sap-icon--slim-arrow-left" role="presentation"></i>
|
|
68
|
+
</button>
|
|
69
|
+
</div>
|
|
70
|
+
|
|
71
|
+
</div>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Modifiers
|
|
75
|
+
|
|
76
|
+
| Class | Description |
|
|
77
|
+
|-------|-------------|
|
|
78
|
+
| `fd-flexible-column-layout--translucent` | Flexible Column Layout with translucent separators
|
|
79
|
+
- Max width of the device: \ |
|
|
80
|
+
| `fd-flexible-column-layout--transparent` | Flexible Column with transparent separators
|
|
81
|
+
- Width of the device: Max: \ |
|
|
82
|
+
|
|
83
|
+
## BEM Elements
|
|
84
|
+
|
|
85
|
+
This component uses the following BEM elements:
|
|
86
|
+
|
|
87
|
+
- `fd-flexible-column-layout__button`
|
|
88
|
+
- `fd-flexible-column-layout__column`
|
|
89
|
+
- `fd-flexible-column-layout__column--hidden`
|
|
90
|
+
- `fd-flexible-column-layout__separator`
|
|
91
|
+
|
|
92
|
+
## Related Components
|
|
93
|
+
|
|
94
|
+
This component works with or depends on:
|
|
95
|
+
|
|
96
|
+
- `button`
|
|
97
|
+
- `flexible-column-layout`
|
|
98
|
+
- `icon`
|
|
99
|
+
|
|
100
|
+
## Design Tokens
|
|
101
|
+
|
|
102
|
+
Key CSS variables used by this component:
|
|
103
|
+
|
|
104
|
+
- `--fdFlexibleColumnLayoutToggleImage`
|
|
105
|
+
- `--fdFlexibleColumnLayout_Background_Solid`
|
|
106
|
+
- `--fdFlexibleColumnLayout_Background_Translucent`
|
|
107
|
+
- `--fdFlexibleColumnLayout_Background_Transparent`
|
|
108
|
+
- `--fdFlexibleColumnLayout_Border`
|
|
109
|
+
- `--fdFlexibleColumnLayout_Toggle_Image_Color`
|
|
110
|
+
- `--hidden`
|
|
111
|
+
- `--translucent`
|
|
112
|
+
- `--transparent`
|
|
113
|
+
|
|
114
|
+
## Examples
|
|
115
|
+
|
|
116
|
+
### ThreeColumnsLayout
|
|
117
|
+
|
|
118
|
+
- Minimum width of the device: \
|
|
119
|
+
|
|
120
|
+
```html
|
|
121
|
+
<div class="fd-flexible-column-layout">
|
|
122
|
+
|
|
123
|
+
<div class="fd-flexible-column-layout__separator">
|
|
124
|
+
<button class="fd-button fd-button--transparent fd-flexible-column-layout__button"
|
|
125
|
+
aria-label="Expand">
|
|
126
|
+
<i class="sap-icon--slim-arrow-right" role="presentation"></i>
|
|
127
|
+
</button>
|
|
128
|
+
</div>
|
|
129
|
+
|
|
130
|
+
<div class="fd-flexible-column-layout__separator">
|
|
131
|
+
<button class="fd-button fd-button--transparent fd-flexible-column-layout__button"
|
|
132
|
+
aria-label="Expand">
|
|
133
|
+
<i class="sap-icon--slim-arrow-left" role="presentation"></i>
|
|
134
|
+
</button>
|
|
135
|
+
</div>
|
|
136
|
+
|
|
137
|
+
</div>
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### TwoColumnsLayout
|
|
141
|
+
|
|
142
|
+
Flexible Column with transparent separators
|
|
143
|
+
- Width of the device: Max: \
|
|
144
|
+
|
|
145
|
+
```html
|
|
146
|
+
<div class="fd-flexible-column-layout fd-flexible-column-layout--transparent">
|
|
147
|
+
<div class="fd-flexible-column-layout__column">
|
|
148
|
+
|
|
149
|
+
<div class="fd-flexible-column-layout__separator">
|
|
150
|
+
<button class="fd-button fd-button--transparent fd-flexible-column-layout__button"
|
|
151
|
+
aria-label="Expand">
|
|
152
|
+
<i class="sap-icon--slim-arrow-right" role="presentation"></i>
|
|
153
|
+
</button>
|
|
154
|
+
</div>
|
|
155
|
+
|
|
156
|
+
<div class="fd-flexible-column-layout__separator">
|
|
157
|
+
<button class="fd-button fd-button--transparent fd-flexible-column-layout__button"
|
|
158
|
+
aria-label="Expand">
|
|
159
|
+
<i class="sap-icon--slim-arrow-left" role="presentation"></i>
|
|
160
|
+
</button>
|
|
161
|
+
</div>
|
|
162
|
+
|
|
163
|
+
</div>
|
|
164
|
+
</div>
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### OneColumnsLayout
|
|
168
|
+
|
|
169
|
+
Flexible Column Layout with translucent separators
|
|
170
|
+
- Max width of the device: \
|
|
171
|
+
|
|
172
|
+
```html
|
|
173
|
+
<div class="fd-flexible-column-layout fd-flexible-column-layout--translucent">
|
|
174
|
+
<div class="fd-flexible-column-layout__column fd-flexible-column-layout__column--hidden">
|
|
175
|
+
|
|
176
|
+
<div class="fd-flexible-column-layout__separator">
|
|
177
|
+
<button class="fd-button fd-button--transparent fd-flexible-column-layout__button"
|
|
178
|
+
aria-label="Expand">
|
|
179
|
+
<i class="sap-icon--slim-arrow-right" role="presentation"></i>
|
|
180
|
+
</button>
|
|
181
|
+
</div>
|
|
182
|
+
|
|
183
|
+
<div class="fd-flexible-column-layout__separator">
|
|
184
|
+
<button class="fd-button fd-button--transparent fd-flexible-column-layout__button"
|
|
185
|
+
aria-label="Expand">
|
|
186
|
+
<i class="sap-icon--slim-arrow-left" role="presentation"></i>
|
|
187
|
+
</button>
|
|
188
|
+
</div>
|
|
189
|
+
|
|
190
|
+
</div>
|
|
191
|
+
</div>
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Accessibility
|
|
195
|
+
|
|
196
|
+
- Use semantic HTML elements where appropriate
|
|
197
|
+
- Include proper ARIA attributes for interactive elements
|
|
198
|
+
- Ensure keyboard navigation support
|
|
199
|
+
- Provide adequate color contrast
|
|
200
|
+
|
|
201
|
+
## Source
|
|
202
|
+
|
|
203
|
+
This documentation was automatically generated from: `packages/styles/stories/Layouts/flexible-column-layout/flexible-column-layout.stories.js`
|
|
204
|
+
|
|
205
|
+
For the latest updates and interactive examples, see [Storybook](https://sap.github.io/fundamental-styles/).
|