@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,351 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: fd-progress-indicator
|
|
3
|
+
title: Components/Progress Indicator
|
|
4
|
+
category: Components
|
|
5
|
+
selector: fd-progress-indicator
|
|
6
|
+
cssFile: progress-indicator.css
|
|
7
|
+
sourcePath: packages/styles/stories/Components/progress-indicator/progress-indicator.stories.js
|
|
8
|
+
tags: []
|
|
9
|
+
dependencies: ["icon","menu","popover","progress-indicator"]
|
|
10
|
+
relatedComponents: ["icon","menu","popover","progress-indicator"]
|
|
11
|
+
stability: stable
|
|
12
|
+
generatedAt: 2026-06-09T18:29:01.634Z
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Components/Progress Indicator
|
|
16
|
+
|
|
17
|
+
The progress indicator visualizes the current advancement of a process or a degree of accomplishment. The inside of the progress indicator is filled with color to indicate the state of progress. The advancement depends on the specific process. The progress is shown either using absolute numbers or the current percentage of completion together with a progress bar.
|
|
18
|
+
|
|
19
|
+
##Usage
|
|
20
|
+
**Use the progress indicator if:**
|
|
21
|
+
|
|
22
|
+
- You need to visually show a current status.
|
|
23
|
+
- You need to visually strengthen a current status.
|
|
24
|
+
- You need to make different states comparable to each other at a higher level.
|
|
25
|
+
- You want to show custom values as well as percentages.
|
|
26
|
+
|
|
27
|
+
**Do not use the progress indicator if:**
|
|
28
|
+
|
|
29
|
+
- Visual feedback is needed for an ongoing operation. Use a busy indicator instead.
|
|
30
|
+
- The progress is indeterminate. Use a busy indicator instead.
|
|
31
|
+
- You want to display a single value in the form of a fillable shape or a group of shapes that describe their context. Use the status indicator instead.
|
|
32
|
+
|
|
33
|
+
##Modifier classes
|
|
34
|
+
|
|
35
|
+
| State | Modifier class |
|
|
36
|
+
| :------------- | :----------------- |
|
|
37
|
+
| Mobile | \
|
|
38
|
+
|
|
39
|
+
## Usage Guidelines
|
|
40
|
+
|
|
41
|
+
**Use the progress indicator if:**
|
|
42
|
+
|
|
43
|
+
- You need to visually show a current status.
|
|
44
|
+
- You need to visually strengthen a current status.
|
|
45
|
+
- You need to make different states comparable to each other at a higher level.
|
|
46
|
+
- You want to show custom values as well as percentages.
|
|
47
|
+
|
|
48
|
+
## When Not To Use
|
|
49
|
+
|
|
50
|
+
- Visual feedback is needed for an ongoing operation. Use a busy indicator instead.
|
|
51
|
+
- The progress is indeterminate. Use a busy indicator instead.
|
|
52
|
+
- You want to display a single value in the form of a fillable shape or a group of shapes that describe their context. Use the status indicator instead.
|
|
53
|
+
|
|
54
|
+
## Dependencies
|
|
55
|
+
|
|
56
|
+
This component depends on the following CSS files:
|
|
57
|
+
|
|
58
|
+
- `icon.css`
|
|
59
|
+
- `menu.css`
|
|
60
|
+
- `popover.css`
|
|
61
|
+
- `progress-indicator.css`
|
|
62
|
+
|
|
63
|
+
## Installation
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npm install fundamental-styles
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
```html
|
|
70
|
+
<!-- Include theme -->
|
|
71
|
+
<link href="node_modules/fundamental-styles/dist/theming/sap_horizon.css" rel="stylesheet">
|
|
72
|
+
|
|
73
|
+
<!-- Include component CSS -->
|
|
74
|
+
<link href="node_modules/fundamental-styles/dist/progress-indicator.css" rel="stylesheet">
|
|
75
|
+
|
|
76
|
+
<!-- Include dependencies -->
|
|
77
|
+
<link href="node_modules/fundamental-styles/dist/icon.css" rel="stylesheet">
|
|
78
|
+
<link href="node_modules/fundamental-styles/dist/menu.css" rel="stylesheet">
|
|
79
|
+
<link href="node_modules/fundamental-styles/dist/popover.css" rel="stylesheet">
|
|
80
|
+
<link href="node_modules/fundamental-styles/dist/progress-indicator.css" rel="stylesheet">
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Basic Usage
|
|
84
|
+
|
|
85
|
+
```html
|
|
86
|
+
<div class="fd-progress-indicator" tabindex="-1" role="progressbar" aria-valuemin="0" aria-valuenow="0" aria-valuemax="100" aria-valuetext="0%" aria-label="0%">
|
|
87
|
+
<div class="fd-progress-indicator__container">
|
|
88
|
+
|
|
89
|
+
<div class="fd-progress-indicator__remaining">
|
|
90
|
+
<span class="fd-progress-indicator__label">0%</span>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
<div class="fd-progress-indicator" tabindex="-1" role="progressbar" aria-valuemin="0" aria-valuenow="42" aria-valuemax="100" aria-valuetext="42%" aria-label="42%">
|
|
96
|
+
<div class="fd-progress-indicator__container">
|
|
97
|
+
|
|
98
|
+
<div class="fd-progress-indicator__remaining">
|
|
99
|
+
<span class="fd-progress-indicator__label">42%</span>
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
|
|
104
|
+
<div class="fd-progress-indicator" tabindex="-1" role="progressbar" aria-valuemin="0" aria-valuenow="69" aria-valuemax="100" aria-valuetext="69%" aria-label="69%">
|
|
105
|
+
<div class="fd-progress-indicator__container">
|
|
106
|
+
<div class="fd-progress-indicator__progress-bar">
|
|
107
|
+
<span class="fd-progress-indicator__label">69%</span>
|
|
108
|
+
</div>
|
|
109
|
+
|
|
110
|
+
</div>
|
|
111
|
+
</div>
|
|
112
|
+
|
|
113
|
+
<div class="fd-progress-indicator" tabindex="-1" role="progressbar" aria-valuemin="0" aria-valuenow="100" aria-valuemax="100" aria-valuetext="100%" aria-label="100%">
|
|
114
|
+
<div class="fd-progress-indicator__container">
|
|
115
|
+
<div class="fd-progress-indicator__progress-bar">
|
|
116
|
+
<span class="fd-progress-indicator__label">100%</span>
|
|
117
|
+
</div>
|
|
118
|
+
|
|
119
|
+
</div>
|
|
120
|
+
</div>
|
|
121
|
+
|
|
122
|
+
<div class="fd-progress-indicator" tabindex="-1" role="progressbar" aria-valuemin="0" aria-valuenow="80" aria-valuemax="100" aria-valuetext="80 of 100 MB" aria-label="80 of 100 MB">
|
|
123
|
+
<div class="fd-progress-indicator__container">
|
|
124
|
+
<div class="fd-progress-indicator__progress-bar">
|
|
125
|
+
<span class="fd-progress-indicator__label">80 of 100 MB</span>
|
|
126
|
+
</div>
|
|
127
|
+
|
|
128
|
+
</div>
|
|
129
|
+
</div>
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Modifiers
|
|
133
|
+
|
|
134
|
+
| Class | Description |
|
|
135
|
+
|-------|-------------|
|
|
136
|
+
| `fd-progress-indicator--critical` | Style variant |
|
|
137
|
+
| `fd-progress-indicator--informative` | Style variant |
|
|
138
|
+
| `fd-progress-indicator--negative` | Style variant |
|
|
139
|
+
| `fd-progress-indicator--positive` | Style variant |
|
|
140
|
+
|
|
141
|
+
## BEM Elements
|
|
142
|
+
|
|
143
|
+
This component uses the following BEM elements:
|
|
144
|
+
|
|
145
|
+
- `fd-progress-indicator__container`
|
|
146
|
+
- `fd-progress-indicator__icon`
|
|
147
|
+
- `fd-progress-indicator__label`
|
|
148
|
+
- `fd-progress-indicator__overflow`
|
|
149
|
+
- `fd-progress-indicator__overflow-close`
|
|
150
|
+
- `fd-progress-indicator__progress-bar`
|
|
151
|
+
- `fd-progress-indicator__remaining`
|
|
152
|
+
|
|
153
|
+
## Related Components
|
|
154
|
+
|
|
155
|
+
This component works with or depends on:
|
|
156
|
+
|
|
157
|
+
- `icon`
|
|
158
|
+
- `menu`
|
|
159
|
+
- `popover`
|
|
160
|
+
- `progress-indicator`
|
|
161
|
+
|
|
162
|
+
## Design Tokens
|
|
163
|
+
|
|
164
|
+
Key CSS variables used by this component:
|
|
165
|
+
|
|
166
|
+
- `--containerBackground`
|
|
167
|
+
- `--containerBorderColor`
|
|
168
|
+
- `--display`
|
|
169
|
+
- `--fdProgress_Icon_Color_Critical`
|
|
170
|
+
- `--fdProgress_Icon_Color_Informative`
|
|
171
|
+
- `--fdProgress_Icon_Color_Negative`
|
|
172
|
+
- `--fdProgress_Icon_Color_Positive`
|
|
173
|
+
- `--fdProgress_Icon_Critical`
|
|
174
|
+
- `--fdProgress_Icon_Informative`
|
|
175
|
+
- `--fdProgress_Icon_Negative`
|
|
176
|
+
- `--fdProgress_Icon_Positive`
|
|
177
|
+
- `--fdProgress_Icon_Space_Before_Label`
|
|
178
|
+
- `--fdProgress_Indicator_Background_Color_Critical`
|
|
179
|
+
- `--fdProgress_Indicator_Background_Color_Informative`
|
|
180
|
+
- `--fdProgress_Indicator_Background_Color_Negative`
|
|
181
|
+
|
|
182
|
+
*...and 5 more*
|
|
183
|
+
|
|
184
|
+
## Examples
|
|
185
|
+
|
|
186
|
+
### Layout
|
|
187
|
+
|
|
188
|
+
Show the current progress as a percentage value between 0% and 100%.
|
|
189
|
+
Alternatively, you can show the current progress as text in addition to the bar.
|
|
190
|
+
In this case, the text is shown on the right of the bar if the progress is 50% or less. In all other cases, the progress is shown right-aligned on the bar itself
|
|
191
|
+
You also have the option of showing any application-specific text instead of a percentage.
|
|
192
|
+
|
|
193
|
+
```html
|
|
194
|
+
<div class="fd-progress-indicator" tabindex="-1" role="progressbar" aria-valuemin="0" aria-valuenow="0" aria-valuemax="100" aria-valuetext="0%" aria-label="0%">
|
|
195
|
+
<div class="fd-progress-indicator__container">
|
|
196
|
+
|
|
197
|
+
<div class="fd-progress-indicator__remaining">
|
|
198
|
+
<span class="fd-progress-indicator__label">0%</span>
|
|
199
|
+
</div>
|
|
200
|
+
</div>
|
|
201
|
+
</div>
|
|
202
|
+
|
|
203
|
+
<div class="fd-progress-indicator" tabindex="-1" role="progressbar" aria-valuemin="0" aria-valuenow="42" aria-valuemax="100" aria-valuetext="42%" aria-label="42%">
|
|
204
|
+
<div class="fd-progress-indicator__container">
|
|
205
|
+
|
|
206
|
+
<div class="fd-progress-indicator__remaining">
|
|
207
|
+
<span class="fd-progress-indicator__label">42%</span>
|
|
208
|
+
</div>
|
|
209
|
+
</div>
|
|
210
|
+
</div>
|
|
211
|
+
|
|
212
|
+
<div class="fd-progress-indicator" tabindex="-1" role="progressbar" aria-valuemin="0" aria-valuenow="69" aria-valuemax="100" aria-valuetext="69%" aria-label="69%">
|
|
213
|
+
<div class="fd-progress-indicator__container">
|
|
214
|
+
<div class="fd-progress-indicator__progress-bar">
|
|
215
|
+
<span class="fd-progress-indicator__label">69%</span>
|
|
216
|
+
</div>
|
|
217
|
+
|
|
218
|
+
</div>
|
|
219
|
+
</div>
|
|
220
|
+
|
|
221
|
+
<div class="fd-progress-indicator" tabindex="-1" role="progressbar" aria-valuemin="0" aria-valuenow="100" aria-valuemax="100" aria-valuetext="100%" aria-label="100%">
|
|
222
|
+
<div class="fd-progress-indicator__container">
|
|
223
|
+
<div class="fd-progress-indicator__progress-bar">
|
|
224
|
+
<span class="fd-progress-indicator__label">100%</span>
|
|
225
|
+
</div>
|
|
226
|
+
|
|
227
|
+
</div>
|
|
228
|
+
</div>
|
|
229
|
+
|
|
230
|
+
<div class="fd-progress-indicator" tabindex="-1" role="progressbar" aria-valuemin="0" aria-valuenow="80" aria-valuemax="100" aria-valuetext="80 of 100 MB" aria-label="80 of 100 MB">
|
|
231
|
+
<div class="fd-progress-indicator__container">
|
|
232
|
+
<div class="fd-progress-indicator__progress-bar">
|
|
233
|
+
<span class="fd-progress-indicator__label">80 of 100 MB</span>
|
|
234
|
+
</div>
|
|
235
|
+
|
|
236
|
+
</div>
|
|
237
|
+
</div>
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### States
|
|
241
|
+
|
|
242
|
+
The progress indicator can visualize different value states that are represented by various theme-dependent semantic colors. The states are: normal, success, warning, error, and information.
|
|
243
|
+
|
|
244
|
+
```html
|
|
245
|
+
<div class="fd-progress-indicator" tabindex="-1" role="progressbar" aria-valuemin="0" aria-valuenow="42" aria-valuemax="100" aria-valuetext="42%" aria-label="42%">
|
|
246
|
+
<div class="fd-progress-indicator__container">
|
|
247
|
+
|
|
248
|
+
<div class="fd-progress-indicator__remaining">
|
|
249
|
+
<span class="fd-progress-indicator__label">42%</span>
|
|
250
|
+
</div>
|
|
251
|
+
</div>
|
|
252
|
+
</div>
|
|
253
|
+
|
|
254
|
+
<div class="fd-progress-indicator fd-progress-indicator--informative" tabindex="-1" role="progressbar" aria-valuemin="0" aria-valuenow="42" aria-valuemax="100" aria-valuetext="42%" aria-label="42%">
|
|
255
|
+
<div class="fd-progress-indicator__container">
|
|
256
|
+
|
|
257
|
+
<div class="fd-progress-indicator__remaining">
|
|
258
|
+
<span class="fd-progress-indicator__icon"></span>
|
|
259
|
+
<span class="fd-progress-indicator__label">42%</span>
|
|
260
|
+
</div>
|
|
261
|
+
</div>
|
|
262
|
+
</div>
|
|
263
|
+
|
|
264
|
+
<div class="fd-progress-indicator fd-progress-indicator--positive" tabindex="-1" role="progressbar" aria-valuemin="0" aria-valuenow="42" aria-valuemax="100" aria-valuetext="42%" aria-label="42%">
|
|
265
|
+
<div class="fd-progress-indicator__container">
|
|
266
|
+
|
|
267
|
+
<div class="fd-progress-indicator__remaining">
|
|
268
|
+
<span class="fd-progress-indicator__icon"></span>
|
|
269
|
+
<span class="fd-progress-indicator__label">42%</span>
|
|
270
|
+
</div>
|
|
271
|
+
</div>
|
|
272
|
+
</div>
|
|
273
|
+
|
|
274
|
+
<div class="fd-progress-indicator fd-progress-indicator--critical" tabindex="-1" role="progressbar" aria-valuemin="0" aria-valuenow="42" aria-valuemax="100" aria-valuetext="42%" aria-label="42%">
|
|
275
|
+
<div class="fd-progress-indicator__container">
|
|
276
|
+
|
|
277
|
+
<div class="fd-progress-indicator__remaining">
|
|
278
|
+
<span class="fd-progress-indicator__icon"></span>
|
|
279
|
+
<span class="fd-progress-indicator__label">42%</span>
|
|
280
|
+
</div>
|
|
281
|
+
</div>
|
|
282
|
+
</div>
|
|
283
|
+
|
|
284
|
+
<div class="fd-progress-indicator fd-progress-indicator--negative" tabindex="-1" role="progressbar" aria-valuemin="0" aria-valuenow="42" aria-valuemax="100" aria-valuetext="42%" aria-label="42%">
|
|
285
|
+
<div class="fd-progress-indicator__container">
|
|
286
|
+
|
|
287
|
+
<div class="fd-progress-indicator__remaining">
|
|
288
|
+
<span class="fd-progress-indicator__icon"></span>
|
|
289
|
+
<span class="fd-progress-indicator__label">42%</span>
|
|
290
|
+
</div>
|
|
291
|
+
</div>
|
|
292
|
+
</div>
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
### Truncation Behaviour
|
|
296
|
+
|
|
297
|
+
If the length of the text exceeds the available space in the progress indicator, the text truncates. In this case, clicking the progress indicator displays an information popover with the full text.
|
|
298
|
+
|
|
299
|
+
```html
|
|
300
|
+
<div class="fd-progress-indicator fd-popover" tabindex="-1" role="progressbar" aria-valuemin="0" aria-valuenow="70" aria-valuemax="100" aria-valuetext="In cases where the label is being truncated a small popover appears on click." aria-label="Progress Indicator">
|
|
301
|
+
<div class="fd-progress-indicator__container fd-popover__control" onclick="onPopoverClick('popoverF0')">
|
|
302
|
+
<div class="fd-progress-indicator__progress-bar">
|
|
303
|
+
<span class="fd-progress-indicator__label">In cases where the label is being truncated a small popover appears on click.</span>
|
|
304
|
+
|
|
305
|
+
<div class="fd-popover__body fd-popover__body--arrow-x-center" aria-hidden="false" id="popoverF0">
|
|
306
|
+
<div class="fd-popover__wrapper">
|
|
307
|
+
<div class="fd-progress-indicator__overflow">
|
|
308
|
+
<span>In cases where the label is being truncated a small popover appears on click.</span>
|
|
309
|
+
<span class="fd-progress-indicator__overflow-close">
|
|
310
|
+
<i class="sap-icon sap-icon--decline"></i>
|
|
311
|
+
</span>
|
|
312
|
+
</div>
|
|
313
|
+
</div>
|
|
314
|
+
</div>
|
|
315
|
+
</div>
|
|
316
|
+
</div>
|
|
317
|
+
|
|
318
|
+
<div class="fd-progress-indicator fd-popover" tabindex="-1" role="progressbar" aria-valuemin="0" aria-valuenow="70" aria-valuemax="100" aria-valuetext="In cases where the label is being truncated a small popover appears on click." aria-label="Progress Indicator">
|
|
319
|
+
<div class="fd-progress-indicator__container fd-popover__control" onclick="onPopoverClick('popoverF1')">
|
|
320
|
+
|
|
321
|
+
<div class="fd-progress-indicator__remaining">
|
|
322
|
+
<span class="fd-progress-indicator__label">In cases where the label is being truncated a small popover appears on click.</span>
|
|
323
|
+
</div>
|
|
324
|
+
<div class="fd-popover__body fd-popover__body--arrow-x-center" aria-hidden="false" id="popoverF1">
|
|
325
|
+
<div class="fd-popover__wrapper">
|
|
326
|
+
<div class="fd-progress-indicator__overflow">
|
|
327
|
+
<span>In cases where the label is being truncated a small popover appears on click.</span>
|
|
328
|
+
<span class="fd-progress-indicator__overflow-close">
|
|
329
|
+
<i class="sap-icon sap-icon--decline"></i>
|
|
330
|
+
</span>
|
|
331
|
+
</div>
|
|
332
|
+
</div>
|
|
333
|
+
</div>
|
|
334
|
+
</div>
|
|
335
|
+
</div>
|
|
336
|
+
|
|
337
|
+
</div>
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
## Accessibility
|
|
341
|
+
|
|
342
|
+
- Use semantic HTML elements where appropriate
|
|
343
|
+
- Include proper ARIA attributes for interactive elements
|
|
344
|
+
- Ensure keyboard navigation support
|
|
345
|
+
- Provide adequate color contrast
|
|
346
|
+
|
|
347
|
+
## Source
|
|
348
|
+
|
|
349
|
+
This documentation was automatically generated from: `packages/styles/stories/Components/progress-indicator/progress-indicator.stories.js`
|
|
350
|
+
|
|
351
|
+
For the latest updates and interactive examples, see [Storybook](https://sap.github.io/fundamental-styles/).
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: fd-prompt-input
|
|
3
|
+
title: AI/Components/Prompt Input
|
|
4
|
+
category: AI
|
|
5
|
+
selector: fd-prompt-input
|
|
6
|
+
cssFile: prompt-input.css
|
|
7
|
+
sourcePath: packages/styles/stories/AI/Components/ai-prompt-input/ai-prompt-input.stories.js
|
|
8
|
+
tags: ["ai","experimental"]
|
|
9
|
+
dependencies: []
|
|
10
|
+
relatedComponents: []
|
|
11
|
+
stability: experimental
|
|
12
|
+
generatedAt: 2026-06-09T18:29:01.623Z
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# AI/Components/Prompt Input
|
|
16
|
+
|
|
17
|
+
> **🧪 EXPERIMENTAL**: This component is experimental and its API may change.
|
|
18
|
+
|
|
19
|
+
The Prompt Input component allows the user to write custom instructions in natural language, so that AI is guided to generate content tailored to user needs.
|
|
20
|
+
<br><b>Note: The component is in an experimental state.</b>
|
|
21
|
+
|
|
22
|
+
## Installation
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install fundamental-styles
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
```html
|
|
29
|
+
<!-- Include theme -->
|
|
30
|
+
<link href="node_modules/fundamental-styles/dist/theming/sap_horizon.css" rel="stylesheet">
|
|
31
|
+
|
|
32
|
+
<!-- Include component CSS -->
|
|
33
|
+
<link href="node_modules/fundamental-styles/dist/prompt-input.css" rel="stylesheet">
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Basic Usage
|
|
38
|
+
|
|
39
|
+
```html
|
|
40
|
+
<h4>User prompt with no input</h4>
|
|
41
|
+
<div>
|
|
42
|
+
<div class="fd-prompt-input">
|
|
43
|
+
<label class="fd-form-label" for="input-1">User prompt:</label>
|
|
44
|
+
<div class="fd-prompt-input__wrapper">
|
|
45
|
+
<div class="fd-prompt-input__inner-wrapper">
|
|
46
|
+
<div class="fd-input-group">
|
|
47
|
+
<input class="fd-input fd-input fd-input-group__input" type="text" placeholder="Ask me anything..." id="input-1">
|
|
48
|
+
<span class="fd-input-group__addon fd-input-group__addon--button">
|
|
49
|
+
<button class="fd-input-group__button fd-button fd-button--transparent fd-button" aria-label="Clear">
|
|
50
|
+
<i class="sap-icon--decline"></i>
|
|
51
|
+
</button>
|
|
52
|
+
</span>
|
|
53
|
+
</div>
|
|
54
|
+
<span class="fd-prompt-input__counter">10 characters remaining</span>
|
|
55
|
+
</div>
|
|
56
|
+
<button aria-label="Add to cart" class="fd-button fd-button--emphasized" disabled>
|
|
57
|
+
<i class="sap-icon--paper-plane"></i>
|
|
58
|
+
</button>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<h4>User prompt with input</h4>
|
|
64
|
+
<div>
|
|
65
|
+
<div class="fd-prompt-input">
|
|
66
|
+
<label class="fd-form-label" for="input-1">User prompt:</label>
|
|
67
|
+
<div class="fd-prompt-input__wrapper">
|
|
68
|
+
<div class="fd-prompt-input__inner-wrapper">
|
|
69
|
+
<div class="fd-input-group">
|
|
70
|
+
<input class="fd-input fd-input fd-input-group__input" type="text" placeholder="Ask me anything..." value="input">
|
|
71
|
+
<span class="fd-input-group__addon fd-input-group__addon--button">
|
|
72
|
+
<button class="fd-input-group__button fd-button fd-button--transparent fd-button" aria-label="Clear">
|
|
73
|
+
<i class="sap-icon--decline"></i>
|
|
74
|
+
</button>
|
|
75
|
+
</span>
|
|
76
|
+
</div>
|
|
77
|
+
<span class="fd-prompt-input__counter">5 characters remaining</span>
|
|
78
|
+
</div>
|
|
79
|
+
<button aria-label="Add to cart" class="fd-button fd-button--emphasized">
|
|
80
|
+
<i class="sap-icon--paper-plane"></i>
|
|
81
|
+
</button>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
85
|
+
|
|
86
|
+
<h4>User prompt with input and error</h4>
|
|
87
|
+
<div>
|
|
88
|
+
<div class="fd-prompt-input">
|
|
89
|
+
<label class="fd-form-label" for="input-1">User prompt:</label>
|
|
90
|
+
<div class="fd-prompt-input__wrapper">
|
|
91
|
+
<div class="fd-prompt-input__inner-wrapper">
|
|
92
|
+
<div class="fd-form-input-message-group fd-popover">
|
|
93
|
+
<div class="fd-popover__control" aria-controls="popoverError" aria-expanded="true" aria-haspopup="true">
|
|
94
|
+
<div class="fd-input-group is-error">
|
|
95
|
+
<input class="fd-input fd-input fd-input-group__input" type="text" placeholder="Ask me anything..." value="exceeding characters">
|
|
96
|
+
<span class="fd-input-group__addon fd-input-group__addon--button">
|
|
97
|
+
<button class="fd-input-group__button fd-button fd-button--transparent fd-button" aria-label="Clear">
|
|
98
|
+
<i class="sap-icon--decline"></i>
|
|
99
|
+
</button>
|
|
100
|
+
</span>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
<div class="fd-popover__body fd-popover__body--input-message-group fd-popover__body--no-arrow" aria-hidden="false" id="popoverError">
|
|
104
|
+
<div class="fd-form-message fd-form-message--error" >Error message</div>
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
<span class="fd-prompt-input__counter">10 characters over the limit</span>
|
|
108
|
+
</div>
|
|
109
|
+
<button aria-label="Add to cart" class="fd-button fd-button--emphasized">
|
|
110
|
+
<i class="sap-icon--paper-plane"></i>
|
|
111
|
+
</button>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## States
|
|
118
|
+
|
|
119
|
+
| Class | Description |
|
|
120
|
+
|-------|-------------|
|
|
121
|
+
| `is-error` | Error state |
|
|
122
|
+
|
|
123
|
+
## BEM Elements
|
|
124
|
+
|
|
125
|
+
This component uses the following BEM elements:
|
|
126
|
+
|
|
127
|
+
- `fd-prompt-input__counter`
|
|
128
|
+
- `fd-prompt-input__inner-wrapper`
|
|
129
|
+
- `fd-prompt-input__wrapper`
|
|
130
|
+
|
|
131
|
+
## Examples
|
|
132
|
+
|
|
133
|
+
### AIPromptInput
|
|
134
|
+
|
|
135
|
+
The Prompt Input is built on top of [Input Group](https://fundamental-styles.netlify.app/?path=/docs/sap-fiori-components-forms-input-group--docs) and inherits its states (disabled, read-only, information, etc.).
|
|
136
|
+
|
|
137
|
+
```html
|
|
138
|
+
<h4>User prompt with no input</h4>
|
|
139
|
+
<div>
|
|
140
|
+
<div class="fd-prompt-input">
|
|
141
|
+
<label class="fd-form-label" for="input-1">User prompt:</label>
|
|
142
|
+
<div class="fd-prompt-input__wrapper">
|
|
143
|
+
<div class="fd-prompt-input__inner-wrapper">
|
|
144
|
+
<div class="fd-input-group">
|
|
145
|
+
<input class="fd-input fd-input fd-input-group__input" type="text" placeholder="Ask me anything..." id="input-1">
|
|
146
|
+
<span class="fd-input-group__addon fd-input-group__addon--button">
|
|
147
|
+
<button class="fd-input-group__button fd-button fd-button--transparent fd-button" aria-label="Clear">
|
|
148
|
+
<i class="sap-icon--decline"></i>
|
|
149
|
+
</button>
|
|
150
|
+
</span>
|
|
151
|
+
</div>
|
|
152
|
+
<span class="fd-prompt-input__counter">10 characters remaining</span>
|
|
153
|
+
</div>
|
|
154
|
+
<button aria-label="Add to cart" class="fd-button fd-button--emphasized" disabled>
|
|
155
|
+
<i class="sap-icon--paper-plane"></i>
|
|
156
|
+
</button>
|
|
157
|
+
</div>
|
|
158
|
+
</div>
|
|
159
|
+
</div>
|
|
160
|
+
|
|
161
|
+
<h4>User prompt with input</h4>
|
|
162
|
+
<div>
|
|
163
|
+
<div class="fd-prompt-input">
|
|
164
|
+
<label class="fd-form-label" for="input-1">User prompt:</label>
|
|
165
|
+
<div class="fd-prompt-input__wrapper">
|
|
166
|
+
<div class="fd-prompt-input__inner-wrapper">
|
|
167
|
+
<div class="fd-input-group">
|
|
168
|
+
<input class="fd-input fd-input fd-input-group__input" type="text" placeholder="Ask me anything..." value="input">
|
|
169
|
+
<span class="fd-input-group__addon fd-input-group__addon--button">
|
|
170
|
+
<button class="fd-input-group__button fd-button fd-button--transparent fd-button" aria-label="Clear">
|
|
171
|
+
<i class="sap-icon--decline"></i>
|
|
172
|
+
</button>
|
|
173
|
+
</span>
|
|
174
|
+
</div>
|
|
175
|
+
<span class="fd-prompt-input__counter">5 characters remaining</span>
|
|
176
|
+
</div>
|
|
177
|
+
<button aria-label="Add to cart" class="fd-button fd-button--emphasized">
|
|
178
|
+
<i class="sap-icon--paper-plane"></i>
|
|
179
|
+
</button>
|
|
180
|
+
</div>
|
|
181
|
+
</div>
|
|
182
|
+
</div>
|
|
183
|
+
|
|
184
|
+
<h4>User prompt with input and error</h4>
|
|
185
|
+
<div>
|
|
186
|
+
<div class="fd-prompt-input">
|
|
187
|
+
<label class="fd-form-label" for="input-1">User prompt:</label>
|
|
188
|
+
<div class="fd-prompt-input__wrapper">
|
|
189
|
+
<div class="fd-prompt-input__inner-wrapper">
|
|
190
|
+
<div class="fd-form-input-message-group fd-popover">
|
|
191
|
+
<div class="fd-popover__control" aria-controls="popoverError" aria-expanded="true" aria-haspopup="true">
|
|
192
|
+
<div class="fd-input-group is-error">
|
|
193
|
+
<input class="fd-input fd-input fd-input-group__input" type="text" placeholder="Ask me anything..." value="exceeding characters">
|
|
194
|
+
<span class="fd-input-group__addon fd-input-group__addon--button">
|
|
195
|
+
<button class="fd-input-group__button fd-button fd-button--transparent fd-button" aria-label="Clear">
|
|
196
|
+
<i class="sap-icon--decline"></i>
|
|
197
|
+
</button>
|
|
198
|
+
</span>
|
|
199
|
+
</div>
|
|
200
|
+
</div>
|
|
201
|
+
<div class="fd-popover__body fd-popover__body--input-message-group fd-popover__body--no-arrow" aria-hidden="false" id="popoverError">
|
|
202
|
+
<div class="fd-form-message fd-form-message--error" >Error message</div>
|
|
203
|
+
</div>
|
|
204
|
+
</div>
|
|
205
|
+
<span class="fd-prompt-input__counter">10 characters over the limit</span>
|
|
206
|
+
</div>
|
|
207
|
+
<button aria-label="Add to cart" class="fd-button fd-button--emphasized">
|
|
208
|
+
<i class="sap-icon--paper-plane"></i>
|
|
209
|
+
</button>
|
|
210
|
+
</div>
|
|
211
|
+
</div>
|
|
212
|
+
</div>
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
## Accessibility
|
|
216
|
+
|
|
217
|
+
- Use semantic HTML elements where appropriate
|
|
218
|
+
- Include proper ARIA attributes for interactive elements
|
|
219
|
+
- Ensure keyboard navigation support
|
|
220
|
+
- Provide adequate color contrast
|
|
221
|
+
|
|
222
|
+
## Source
|
|
223
|
+
|
|
224
|
+
This documentation was automatically generated from: `packages/styles/stories/AI/Components/ai-prompt-input/ai-prompt-input.stories.js`
|
|
225
|
+
|
|
226
|
+
For the latest updates and interactive examples, see [Storybook](https://sap.github.io/fundamental-styles/).
|