@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,197 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: fd-dynamic-side
|
|
3
|
+
title: Layouts/Dynamic Side Content
|
|
4
|
+
category: Layouts
|
|
5
|
+
selector: fd-dynamic-side
|
|
6
|
+
cssFile: dynamic-side.css
|
|
7
|
+
sourcePath: packages/styles/stories/Layouts/dynamic-side-content/dynamic-side-content.stories.js
|
|
8
|
+
tags: []
|
|
9
|
+
dependencies: ["dynamic-side-content"]
|
|
10
|
+
relatedComponents: ["dynamic-side-content"]
|
|
11
|
+
stability: stable
|
|
12
|
+
generatedAt: 2026-06-09T18:29:01.779Z
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Layouts/Dynamic Side Content
|
|
16
|
+
|
|
17
|
+
Dynamic side content is a layout control that displays supplemental content in a separate area to support the users' understanding of the main content displayed.
|
|
18
|
+
|
|
19
|
+
**The dynamic side content consists of two elements:**
|
|
20
|
+
|
|
21
|
+
* \
|
|
22
|
+
|
|
23
|
+
## Dependencies
|
|
24
|
+
|
|
25
|
+
This component depends on the following CSS files:
|
|
26
|
+
|
|
27
|
+
- `dynamic-side-content.css`
|
|
28
|
+
|
|
29
|
+
## Installation
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npm install fundamental-styles
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
```html
|
|
36
|
+
<!-- Include theme -->
|
|
37
|
+
<link href="node_modules/fundamental-styles/dist/theming/sap_horizon.css" rel="stylesheet">
|
|
38
|
+
|
|
39
|
+
<!-- Include component CSS -->
|
|
40
|
+
<link href="node_modules/fundamental-styles/dist/dynamic-side.css" rel="stylesheet">
|
|
41
|
+
|
|
42
|
+
<!-- Include dependencies -->
|
|
43
|
+
<link href="node_modules/fundamental-styles/dist/dynamic-side-content.css" rel="stylesheet">
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Basic Usage
|
|
47
|
+
|
|
48
|
+
```html
|
|
49
|
+
<div class="fd-dynamic-side">
|
|
50
|
+
<div class="fd-dynamic-side__side">
|
|
51
|
+
<div class="docs-layout-grid-bg docs-layout-grid-bg--color-6">Side</div>
|
|
52
|
+
</div>
|
|
53
|
+
<div class="fd-dynamic-side__main">
|
|
54
|
+
<div class="docs-layout-grid-bg docs-layout-grid-bg--color-9">Main</div>
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Modifiers
|
|
60
|
+
|
|
61
|
+
| Class | Description |
|
|
62
|
+
|-------|-------------|
|
|
63
|
+
| `fd-dynamic-side--below` | To display side content below the main content area, keep `fd-dynamic-side__side` as the last child element and add the `fd-dynamic-side--below` modifier class. |
|
|
64
|
+
| `fd-dynamic-side--equal-split` | The equal split mode provides users with a 50:50 view of the main content and side content, which enables users to show more data i.e |
|
|
65
|
+
| `fd-dynamic-side--md` | Style variant |
|
|
66
|
+
| `fd-dynamic-side--sm` | To display the dynamic side content for specific screen sizes, use the respective modifier classes:
|
|
67
|
+
|
|
68
|
+
| Size | Modifier class |
|
|
69
|
+
| :--- |:--- |
|
|
70
|
+
| Small | \ |
|
|
71
|
+
| `fd-dynamic-side--xl` | Style variant |
|
|
72
|
+
|
|
73
|
+
## BEM Elements
|
|
74
|
+
|
|
75
|
+
This component uses the following BEM elements:
|
|
76
|
+
|
|
77
|
+
- `fd-dynamic-side__main`
|
|
78
|
+
- `fd-dynamic-side__side`
|
|
79
|
+
|
|
80
|
+
## Related Components
|
|
81
|
+
|
|
82
|
+
This component works with or depends on:
|
|
83
|
+
|
|
84
|
+
- `dynamic-side-content`
|
|
85
|
+
|
|
86
|
+
## Examples
|
|
87
|
+
|
|
88
|
+
### Left
|
|
89
|
+
|
|
90
|
+
To display side content from the left, put `fd-dynamic-side__side` as the first child element of `fd-dynamic-side`.
|
|
91
|
+
|
|
92
|
+
```html
|
|
93
|
+
<div class="fd-dynamic-side">
|
|
94
|
+
<div class="fd-dynamic-side__side">
|
|
95
|
+
<div class="docs-layout-grid-bg docs-layout-grid-bg--color-6">Side</div>
|
|
96
|
+
</div>
|
|
97
|
+
<div class="fd-dynamic-side__main">
|
|
98
|
+
<div class="docs-layout-grid-bg docs-layout-grid-bg--color-9">Main</div>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Right
|
|
104
|
+
|
|
105
|
+
To display side content from the right, put `fd-dynamic-side__side` as the second child element of `fd-dynamic-side`.
|
|
106
|
+
|
|
107
|
+
```html
|
|
108
|
+
<div class="fd-dynamic-side">
|
|
109
|
+
<div class="fd-dynamic-side__main">
|
|
110
|
+
<div class="docs-layout-grid-bg docs-layout-grid-bg--color-9">Main</div>
|
|
111
|
+
</div>
|
|
112
|
+
<div class="fd-dynamic-side__side">
|
|
113
|
+
<div class="docs-layout-grid-bg docs-layout-grid-bg--color-6">Side</div>
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Below
|
|
119
|
+
|
|
120
|
+
To display side content below the main content area, keep `fd-dynamic-side__side` as the last child element and add the `fd-dynamic-side--below` modifier class.
|
|
121
|
+
|
|
122
|
+
```html
|
|
123
|
+
<div class="fd-dynamic-side fd-dynamic-side--below">
|
|
124
|
+
<div class="fd-dynamic-side__main">
|
|
125
|
+
<div class="docs-layout-grid-bg docs-layout-grid-bg--color-9">Main</div>
|
|
126
|
+
</div>
|
|
127
|
+
<div class="fd-dynamic-side__side">
|
|
128
|
+
<div class="docs-layout-grid-bg docs-layout-grid-bg--color-6">Side</div>
|
|
129
|
+
</div>
|
|
130
|
+
</div>
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Equal split
|
|
134
|
+
|
|
135
|
+
The equal split mode provides users with a 50:50 view of the main content and side content, which enables users to show more data i.e. for comparison purposes. To enable equal split mode, add the `fd-dynamic-side--equal-split` modifier class to the container.
|
|
136
|
+
|
|
137
|
+
```html
|
|
138
|
+
<div class="fd-dynamic-side fd-dynamic-side--equal-split">
|
|
139
|
+
<div class="fd-dynamic-side__main">
|
|
140
|
+
<div class="docs-layout-grid-bg docs-layout-grid-bg--color-9">Main</div>
|
|
141
|
+
</div>
|
|
142
|
+
<div class="fd-dynamic-side__side">
|
|
143
|
+
<div class="docs-layout-grid-bg docs-layout-grid-bg--color-6">Side</div>
|
|
144
|
+
</div>
|
|
145
|
+
</div>
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Responsiveness
|
|
149
|
+
|
|
150
|
+
To display the dynamic side content for specific screen sizes, use the respective modifier classes:
|
|
151
|
+
|
|
152
|
+
| Size | Modifier class |
|
|
153
|
+
| :--- |:--- |
|
|
154
|
+
| Small | \
|
|
155
|
+
|
|
156
|
+
```html
|
|
157
|
+
<h4>On extra large screens, the main content area occupies 75% of the width.</h4>
|
|
158
|
+
<div class="fd-dynamic-side fd-dynamic-side--xl">
|
|
159
|
+
<div class="fd-dynamic-side__side">
|
|
160
|
+
<div class="docs-layout-grid-bg docs-layout-grid-bg--color-6">Side</div>
|
|
161
|
+
</div>
|
|
162
|
+
<div class="fd-dynamic-side__main">
|
|
163
|
+
<div class="docs-layout-grid-bg docs-layout-grid-bg--color-9">Main</div>
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
<h4>On medium-sized screens, the main content area occupies 66.66% of the width.</h4>
|
|
167
|
+
<div class="fd-dynamic-side fd-dynamic-side--md">
|
|
168
|
+
<div class="fd-dynamic-side__side">
|
|
169
|
+
<div class="docs-layout-grid-bg docs-layout-grid-bg--color-6">Side</div>
|
|
170
|
+
</div>
|
|
171
|
+
<div class="fd-dynamic-side__main">
|
|
172
|
+
<div class="docs-layout-grid-bg docs-layout-grid-bg--color-9">Main</div>
|
|
173
|
+
</div>
|
|
174
|
+
</div>
|
|
175
|
+
<h4>On small screens, the main content area occupies 100% of the width and the side content is hidden.</h4>
|
|
176
|
+
<div class="fd-dynamic-side fd-dynamic-side--sm">
|
|
177
|
+
<div class="fd-dynamic-side__side">
|
|
178
|
+
<div class="docs-layout-grid-bg docs-layout-grid-bg--color-6">Side</div>
|
|
179
|
+
</div>
|
|
180
|
+
<div class="fd-dynamic-side__main">
|
|
181
|
+
<div class="docs-layout-grid-bg docs-layout-grid-bg--color-9">Main</div>
|
|
182
|
+
</div>
|
|
183
|
+
</div>
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## Accessibility
|
|
187
|
+
|
|
188
|
+
- Use semantic HTML elements where appropriate
|
|
189
|
+
- Include proper ARIA attributes for interactive elements
|
|
190
|
+
- Ensure keyboard navigation support
|
|
191
|
+
- Provide adequate color contrast
|
|
192
|
+
|
|
193
|
+
## Source
|
|
194
|
+
|
|
195
|
+
This documentation was automatically generated from: `packages/styles/stories/Layouts/dynamic-side-content/dynamic-side-content.stories.js`
|
|
196
|
+
|
|
197
|
+
For the latest updates and interactive examples, see [Storybook](https://sap.github.io/fundamental-styles/).
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: elevation
|
|
3
|
+
title: Elevation
|
|
4
|
+
category: elevation
|
|
5
|
+
selector:
|
|
6
|
+
cssFile:
|
|
7
|
+
sourcePath: packages/common-css/stories/elevation/elevation.stories.js
|
|
8
|
+
tags: []
|
|
9
|
+
dependencies: []
|
|
10
|
+
relatedComponents: []
|
|
11
|
+
stability: stable
|
|
12
|
+
generatedAt: 2026-06-09T18:29:01.667Z
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Elevation
|
|
16
|
+
|
|
17
|
+
The z-index property specifies the stack order of an element. In order for z-index to work the elements need to be positioned: relative (default), absolute, fixed, sticky.
|
|
18
|
+
<br><br>
|
|
19
|
+
<b>CSS Class: </b>
|
|
20
|
+
<code>.sap-elevation-<i style="color: red;">index</i></code><br><br>
|
|
21
|
+
<b>SCSS Mixin: </b>
|
|
22
|
+
<code>@include sap-elevation(<i style="color: red;">index</i>, <i style="color: red;">position</i>);</code><br><br>
|
|
23
|
+
where:
|
|
24
|
+
<ul>
|
|
25
|
+
<li><code style="color: red;">index</code>: is an integer from 0 to 20</li>
|
|
26
|
+
<li><code style="color: red;">position</code>: (optional) is one of the following : relative, absolute, fixed, sticky. If the property is omitted, the default value (relative) is applied.</li>
|
|
27
|
+
</ul>
|
|
28
|
+
|
|
29
|
+
## Basic Usage
|
|
30
|
+
|
|
31
|
+
```html
|
|
32
|
+
<style>
|
|
33
|
+
.sap-docs-container {
|
|
34
|
+
display: flex;
|
|
35
|
+
flex-wrap: wrap;
|
|
36
|
+
gap: 1rem;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.sap-docs-container div {
|
|
40
|
+
background: #69ADF8;
|
|
41
|
+
width: 4rem;
|
|
42
|
+
min-height: 4rem;
|
|
43
|
+
display: flex;
|
|
44
|
+
justify-content: center;
|
|
45
|
+
align-items: center;
|
|
46
|
+
border-radius: 0.5rem;
|
|
47
|
+
color: #fff;
|
|
48
|
+
}
|
|
49
|
+
</style>
|
|
50
|
+
<div class="sap-docs-container">
|
|
51
|
+
<div class="sap-elevation-0">0</div>
|
|
52
|
+
<div class="sap-elevation-1">1</div>
|
|
53
|
+
<div class="sap-elevation-2">2</div>
|
|
54
|
+
<div class="sap-elevation-3">3</div>
|
|
55
|
+
<div class="sap-elevation-4">4</div>
|
|
56
|
+
<div class="sap-elevation-5">5</div>
|
|
57
|
+
<div class="sap-elevation-auto">Auto</div>
|
|
58
|
+
<div class="sap-elevation-initial">Initial</div>
|
|
59
|
+
<div class="sap-elevation-inherit">Inherit</div>
|
|
60
|
+
</div>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Examples
|
|
64
|
+
|
|
65
|
+
### Elevation
|
|
66
|
+
|
|
67
|
+
```html
|
|
68
|
+
<style>
|
|
69
|
+
.sap-docs-container {
|
|
70
|
+
display: flex;
|
|
71
|
+
flex-wrap: wrap;
|
|
72
|
+
gap: 1rem;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.sap-docs-container div {
|
|
76
|
+
background: #69ADF8;
|
|
77
|
+
width: 4rem;
|
|
78
|
+
min-height: 4rem;
|
|
79
|
+
display: flex;
|
|
80
|
+
justify-content: center;
|
|
81
|
+
align-items: center;
|
|
82
|
+
border-radius: 0.5rem;
|
|
83
|
+
color: #fff;
|
|
84
|
+
}
|
|
85
|
+
</style>
|
|
86
|
+
<div class="sap-docs-container">
|
|
87
|
+
<div class="sap-elevation-0">0</div>
|
|
88
|
+
<div class="sap-elevation-1">1</div>
|
|
89
|
+
<div class="sap-elevation-2">2</div>
|
|
90
|
+
<div class="sap-elevation-3">3</div>
|
|
91
|
+
<div class="sap-elevation-4">4</div>
|
|
92
|
+
<div class="sap-elevation-5">5</div>
|
|
93
|
+
<div class="sap-elevation-auto">Auto</div>
|
|
94
|
+
<div class="sap-elevation-initial">Initial</div>
|
|
95
|
+
<div class="sap-elevation-inherit">Inherit</div>
|
|
96
|
+
</div>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Accessibility
|
|
100
|
+
|
|
101
|
+
- Use semantic HTML elements where appropriate
|
|
102
|
+
- Include proper ARIA attributes for interactive elements
|
|
103
|
+
- Ensure keyboard navigation support
|
|
104
|
+
- Provide adequate color contrast
|
|
105
|
+
|
|
106
|
+
## Source
|
|
107
|
+
|
|
108
|
+
This documentation was automatically generated from: `packages/common-css/stories/elevation/elevation.stories.js`
|
|
109
|
+
|
|
110
|
+
For the latest updates and interactive examples, see [Storybook](https://sap.github.io/fundamental-styles/).
|
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: fd-feed-input
|
|
3
|
+
title: Components/Feed Input
|
|
4
|
+
category: Components
|
|
5
|
+
selector: fd-feed-input
|
|
6
|
+
cssFile: feed-input.css
|
|
7
|
+
sourcePath: packages/styles/stories/Components/feed-input/feed-input.stories.js
|
|
8
|
+
tags: []
|
|
9
|
+
dependencies: ["avatar","button","feed-input","icon","textarea"]
|
|
10
|
+
relatedComponents: ["avatar","button","feed-input","icon","textarea"]
|
|
11
|
+
stability: stable
|
|
12
|
+
generatedAt: 2026-06-09T18:29:01.497Z
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Components/Feed Input
|
|
16
|
+
|
|
17
|
+
The feed input is specifically designed for users to type their own notes or comments and post them to a corresponding feed.
|
|
18
|
+
|
|
19
|
+
##Usage
|
|
20
|
+
**Use the feed input if:**
|
|
21
|
+
|
|
22
|
+
- A user needs to input small amounts of text without formatting.
|
|
23
|
+
- You expect multiple instances, such as notes or feed entries.
|
|
24
|
+
|
|
25
|
+
**Do not use the feed input if:**
|
|
26
|
+
|
|
27
|
+
- The user needs to format the text (rich text editor).
|
|
28
|
+
- You need only a single text box instance. In this case, use the **Textarea** component (for multiple lines) or the text control (for a single line).
|
|
29
|
+
|
|
30
|
+
## Usage Guidelines
|
|
31
|
+
|
|
32
|
+
**Use the feed input if:**
|
|
33
|
+
|
|
34
|
+
- A user needs to input small amounts of text without formatting.
|
|
35
|
+
- You expect multiple instances, such as notes or feed entries.
|
|
36
|
+
|
|
37
|
+
## When Not To Use
|
|
38
|
+
|
|
39
|
+
- The user needs to format the text (rich text editor).
|
|
40
|
+
- You need only a single text box instance. In this case, use the **Textarea** component (for multiple lines) or the text control (for a single line).
|
|
41
|
+
|
|
42
|
+
## Dependencies
|
|
43
|
+
|
|
44
|
+
This component depends on the following CSS files:
|
|
45
|
+
|
|
46
|
+
- `avatar.css`
|
|
47
|
+
- `button.css`
|
|
48
|
+
- `feed-input.css`
|
|
49
|
+
- `icon.css`
|
|
50
|
+
- `textarea.css`
|
|
51
|
+
|
|
52
|
+
## Installation
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
npm install fundamental-styles
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
```html
|
|
59
|
+
<!-- Include theme -->
|
|
60
|
+
<link href="node_modules/fundamental-styles/dist/theming/sap_horizon.css" rel="stylesheet">
|
|
61
|
+
|
|
62
|
+
<!-- Include component CSS -->
|
|
63
|
+
<link href="node_modules/fundamental-styles/dist/feed-input.css" rel="stylesheet">
|
|
64
|
+
|
|
65
|
+
<!-- Include dependencies -->
|
|
66
|
+
<link href="node_modules/fundamental-styles/dist/avatar.css" rel="stylesheet">
|
|
67
|
+
<link href="node_modules/fundamental-styles/dist/button.css" rel="stylesheet">
|
|
68
|
+
<link href="node_modules/fundamental-styles/dist/feed-input.css" rel="stylesheet">
|
|
69
|
+
<link href="node_modules/fundamental-styles/dist/icon.css" rel="stylesheet">
|
|
70
|
+
<link href="node_modules/fundamental-styles/dist/textarea.css" rel="stylesheet">
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Basic Usage
|
|
74
|
+
|
|
75
|
+
```html
|
|
76
|
+
<div class="fd-feed-input"
|
|
77
|
+
role="group"
|
|
78
|
+
aria-label="Feed input empty example">
|
|
79
|
+
<div class="fd-feed-input__container">
|
|
80
|
+
|
|
81
|
+
<textarea class="fd-textarea fd-feed-input__textarea"
|
|
82
|
+
placeholder="Post something here"
|
|
83
|
+
required
|
|
84
|
+
rows="1"></textarea>
|
|
85
|
+
<button class="fd-button fd-feed-input__submit-button"
|
|
86
|
+
disabled
|
|
87
|
+
role="button"
|
|
88
|
+
aria-disabled="true"
|
|
89
|
+
aria-label="Submit"
|
|
90
|
+
title="Submit">
|
|
91
|
+
<i role="presentation" aria-hidden="true" class="sap-icon--paper-plane"></i>
|
|
92
|
+
</button>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## States
|
|
96
|
+
|
|
97
|
+
| Class | Description |
|
|
98
|
+
|-------|-------------|
|
|
99
|
+
| `is-disabled` | Disabled state |
|
|
100
|
+
|
|
101
|
+
## BEM Elements
|
|
102
|
+
|
|
103
|
+
This component uses the following BEM elements:
|
|
104
|
+
|
|
105
|
+
- `fd-feed-input__container`
|
|
106
|
+
- `fd-feed-input__submit-button`
|
|
107
|
+
- `fd-feed-input__textarea`
|
|
108
|
+
- `fd-feed-input__thumb`
|
|
109
|
+
|
|
110
|
+
## Related Components
|
|
111
|
+
|
|
112
|
+
This component works with or depends on:
|
|
113
|
+
|
|
114
|
+
- `avatar`
|
|
115
|
+
- `button`
|
|
116
|
+
- `feed-input`
|
|
117
|
+
- `icon`
|
|
118
|
+
- `textarea`
|
|
119
|
+
|
|
120
|
+
## Design Tokens
|
|
121
|
+
|
|
122
|
+
Key CSS variables used by this component:
|
|
123
|
+
|
|
124
|
+
- `--fdButton_Badge_Margin_Inline_Start`
|
|
125
|
+
- `--fdButton_Badge_Size_Attention`
|
|
126
|
+
- `--fdButton_Clickable_Height`
|
|
127
|
+
- `--fdButton_Compact_Height`
|
|
128
|
+
- `--fdButton_Min_Width`
|
|
129
|
+
- `--fdButton_Padding_X`
|
|
130
|
+
- `--fdFeed_Input_Placeholder_Font_Style`
|
|
131
|
+
- `--sapElement_Height`
|
|
132
|
+
- `--sapGroup_ContentBackground`
|
|
133
|
+
- `--sapTextColor`
|
|
134
|
+
|
|
135
|
+
## Examples
|
|
136
|
+
|
|
137
|
+
### Default
|
|
138
|
+
|
|
139
|
+
The default feed input displays an empty text field with an inactive submit button.
|
|
140
|
+
|
|
141
|
+
```html
|
|
142
|
+
<div class="fd-feed-input"
|
|
143
|
+
role="group"
|
|
144
|
+
aria-label="Feed input empty example">
|
|
145
|
+
<div class="fd-feed-input__container">
|
|
146
|
+
|
|
147
|
+
<textarea class="fd-textarea fd-feed-input__textarea"
|
|
148
|
+
placeholder="Post something here"
|
|
149
|
+
required
|
|
150
|
+
rows="1"></textarea>
|
|
151
|
+
<button class="fd-button fd-feed-input__submit-button"
|
|
152
|
+
disabled
|
|
153
|
+
role="button"
|
|
154
|
+
aria-disabled="true"
|
|
155
|
+
aria-label="Submit"
|
|
156
|
+
title="Submit">
|
|
157
|
+
<i role="presentation" aria-hidden="true" class="sap-icon--paper-plane"></i>
|
|
158
|
+
</button>
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### With text
|
|
162
|
+
|
|
163
|
+
The input with text displays some text, activating the submit button.
|
|
164
|
+
|
|
165
|
+
```html
|
|
166
|
+
<div class="fd-feed-input"
|
|
167
|
+
role="group"
|
|
168
|
+
aria-label="Feed input with one row text">
|
|
169
|
+
<div class="fd-feed-input__container">
|
|
170
|
+
|
|
171
|
+
<textarea class="fd-textarea fd-feed-input__textarea"
|
|
172
|
+
placeholder="Post something here"
|
|
173
|
+
required
|
|
174
|
+
rows="1">When there is text, the submit button becomes active.
|
|
175
|
+
</textarea>
|
|
176
|
+
<button
|
|
177
|
+
class="fd-button fd-feed-input__submit-button"
|
|
178
|
+
aria-label="Submit"
|
|
179
|
+
aria-disabled="false"
|
|
180
|
+
title="Submit"
|
|
181
|
+
role="button"
|
|
182
|
+
>
|
|
183
|
+
<i role="presentation" aria-hidden="true" class="sap-icon--feeder-arrow"></i>
|
|
184
|
+
</button>
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Disabled
|
|
188
|
+
|
|
189
|
+
The disabled feed input displays a text field and submit button that users cannot interact with.
|
|
190
|
+
|
|
191
|
+
```html
|
|
192
|
+
<div class="fd-feed-input is-disabled"
|
|
193
|
+
role="group"
|
|
194
|
+
aria-label="Feed input disabled example">
|
|
195
|
+
<div class="fd-feed-input__container">
|
|
196
|
+
|
|
197
|
+
<textarea class="fd-textarea fd-feed-input__textarea"
|
|
198
|
+
placeholder="Post something here"
|
|
199
|
+
required
|
|
200
|
+
rows="1"
|
|
201
|
+
aria-disabled="true"
|
|
202
|
+
disabled>Disabled</textarea>
|
|
203
|
+
<button class="fd-button fd-feed-input__submit-button"
|
|
204
|
+
disabled
|
|
205
|
+
role="button"
|
|
206
|
+
aria-label="Submit"
|
|
207
|
+
aria-disabled="true"
|
|
208
|
+
title="Submit">
|
|
209
|
+
<i role="presentation" aria-hidden="true" class="sap-icon--feeder-arrow"></i>
|
|
210
|
+
</button>
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### No thumbnail
|
|
214
|
+
|
|
215
|
+
Although the default feed input has a thumbnail, it is possible to remove it. Without a thumbnail, the input area size increases automatically.
|
|
216
|
+
|
|
217
|
+
```html
|
|
218
|
+
<div class="fd-feed-input"
|
|
219
|
+
role="group"
|
|
220
|
+
aria-label="Feed input empty example">
|
|
221
|
+
<div class="fd-feed-input__container">
|
|
222
|
+
<textarea class="fd-textarea fd-feed-input__textarea"
|
|
223
|
+
placeholder="Post something here"
|
|
224
|
+
required
|
|
225
|
+
rows="1">Without user image
|
|
226
|
+
</textarea>
|
|
227
|
+
<button class="fd-button fd-feed-input__submit-button"
|
|
228
|
+
role="button"
|
|
229
|
+
aria-label="Submit"
|
|
230
|
+
title="Submit">
|
|
231
|
+
<i role="presentation" aria-hidden="true" class="sap-icon--feeder-arrow"></i>
|
|
232
|
+
</button>
|
|
233
|
+
</div>
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### Generic thumbnail
|
|
237
|
+
|
|
238
|
+
A generic thumbnail will be displayed if no image has been chosen by the user.
|
|
239
|
+
|
|
240
|
+
```html
|
|
241
|
+
<div class="fd-feed-input"
|
|
242
|
+
role="group"
|
|
243
|
+
aria-label="Feed input empty example">
|
|
244
|
+
<div class="fd-feed-input__container">
|
|
245
|
+
<div class="fd-avatar fd-avatar--s fd-avatar--placeholder fd-feed-input__thumb"
|
|
246
|
+
role="img"
|
|
247
|
+
aria-label="John Doe">
|
|
248
|
+
<i class="fd-avatar__icon sap-icon--person-placeholder" role="presentation" aria-hidden="true"></i>
|
|
249
|
+
</div>
|
|
250
|
+
<textarea class="fd-textarea fd-feed-input__textarea"
|
|
251
|
+
placeholder="Post something here"
|
|
252
|
+
required
|
|
253
|
+
rows="1">With generic user image
|
|
254
|
+
</textarea>
|
|
255
|
+
<button
|
|
256
|
+
class="fd-button fd-feed-input__submit-button"
|
|
257
|
+
role="button"
|
|
258
|
+
aria-label="Submit"
|
|
259
|
+
title="Submit">
|
|
260
|
+
<i role="presentation" aria-hidden="true" class="sap-icon--feeder-arrow"></i>
|
|
261
|
+
</button>
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### Multiline
|
|
265
|
+
|
|
266
|
+
The multiline feed input displays a text field with multiple lines of text, which expands until a maximum height is reached.
|
|
267
|
+
|
|
268
|
+
```html
|
|
269
|
+
<div class="fd-feed-input"
|
|
270
|
+
role="group"
|
|
271
|
+
aria-label="Feed input height growth">
|
|
272
|
+
<div class="fd-feed-input__container">
|
|
273
|
+
|
|
274
|
+
<textarea class="fd-textarea fd-feed-input__textarea"
|
|
275
|
+
placeholder="Post something here"
|
|
276
|
+
required
|
|
277
|
+
rows="4">With every line
|
|
278
|
+
"textarea" grows upward
|
|
279
|
+
until it reaches
|
|
280
|
+
the max height
|
|
281
|
+
</textarea>
|
|
282
|
+
<button class="fd-button fd-feed-input__submit-button"
|
|
283
|
+
role="button"
|
|
284
|
+
aria-disabled="false"
|
|
285
|
+
aria-label="Submit"
|
|
286
|
+
title="Submit">
|
|
287
|
+
<i role="presentation" aria-hidden="true" class="sap-icon--feeder-arrow"></i>
|
|
288
|
+
</button>
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### Max height
|
|
292
|
+
|
|
293
|
+
The max height feed input displays a text field with the maximum amount of text lines it can contain. Once the text field has reached the maximum height, a scrollbar appears to access the overflowing text.
|
|
294
|
+
|
|
295
|
+
```html
|
|
296
|
+
<div class="fd-feed-input"
|
|
297
|
+
role="group"
|
|
298
|
+
aria-label="Feed input over max height">
|
|
299
|
+
<div class="fd-feed-input__container">
|
|
300
|
+
|
|
301
|
+
<textarea
|
|
302
|
+
class="fd-textarea fd-feed-input__textarea"
|
|
303
|
+
placeholder="Post something here"
|
|
304
|
+
required
|
|
305
|
+
rows="18">X
|
|
306
|
+
X
|
|
307
|
+
X
|
|
308
|
+
X
|
|
309
|
+
X
|
|
310
|
+
X
|
|
311
|
+
X
|
|
312
|
+
X
|
|
313
|
+
X
|
|
314
|
+
X
|
|
315
|
+
X
|
|
316
|
+
X
|
|
317
|
+
X
|
|
318
|
+
X
|
|
319
|
+
X
|
|
320
|
+
X
|
|
321
|
+
X
|
|
322
|
+
X
|
|
323
|
+
X
|
|
324
|
+
X
|
|
325
|
+
</textarea>
|
|
326
|
+
<button class="fd-button fd-feed-input__submit-button"
|
|
327
|
+
role="button"
|
|
328
|
+
aria-disabled="false"
|
|
329
|
+
aria-label="Submit"
|
|
330
|
+
title="Submit">
|
|
331
|
+
<i role="presentation" aria-hidden="true" class="sap-icon--feeder-arrow"></i>
|
|
332
|
+
</button>
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
## Accessibility
|
|
336
|
+
|
|
337
|
+
- Use semantic HTML elements where appropriate
|
|
338
|
+
- Include proper ARIA attributes for interactive elements
|
|
339
|
+
- Ensure keyboard navigation support
|
|
340
|
+
- Provide adequate color contrast
|
|
341
|
+
|
|
342
|
+
## Source
|
|
343
|
+
|
|
344
|
+
This documentation was automatically generated from: `packages/styles/stories/Components/feed-input/feed-input.stories.js`
|
|
345
|
+
|
|
346
|
+
For the latest updates and interactive examples, see [Storybook](https://sap.github.io/fundamental-styles/).
|