@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,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: iconTnt
|
|
3
|
+
title: Components/Icons/TNT Icons
|
|
4
|
+
category: Components
|
|
5
|
+
selector:
|
|
6
|
+
cssFile:
|
|
7
|
+
sourcePath: packages/styles/stories/Components/Icons/icon/TNTIcons/iconTnt.stories.js
|
|
8
|
+
tags: []
|
|
9
|
+
dependencies: []
|
|
10
|
+
relatedComponents: []
|
|
11
|
+
stability: stable
|
|
12
|
+
generatedAt: 2026-06-09T18:29:01.567Z
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Components/Icons/TNT Icons
|
|
16
|
+
|
|
17
|
+
Icons are used to provide visual clarity, save screen space, and help guide users as they navigate an application. They are often used as visual elements within other components, although they can be used independently, given that they can be read by screen readers or have a tooltip for accessibility purposes. See [Project Confirguration](https://sap.github.io/fundamental-styles/?path=/docs/introduction-overview--page) for instructions on how to use the 'SAP-icons-TNT' icon font on your page.
|
|
18
|
+
|
|
19
|
+
##Usage
|
|
20
|
+
**Use the icon if:**
|
|
21
|
+
|
|
22
|
+
- You want to display an icon for illustrative purposes only, without interaction states, acting as a non-interactive icon/pictogram.
|
|
23
|
+
- You intend to pair the icon with another method of communication i.e. with text or a tooltip.
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
Note: If an icon needs to be selected or have any interaction states, it is recommended to use the transparent button style. See **Button** for more details on how to implement it.
|
|
27
|
+
|
|
28
|
+
## Usage Guidelines
|
|
29
|
+
|
|
30
|
+
**Use the icon if:**
|
|
31
|
+
|
|
32
|
+
- You want to display an icon for illustrative purposes only, without interaction states, acting as a non-interactive icon/pictogram.
|
|
33
|
+
- You intend to pair the icon with another method of communication i.e. with text or a tooltip.
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
Note: If an icon needs to be selected or have any interaction states, it is recommended to use the transparent button style. See **Button** for more details on how to implement it.
|
|
37
|
+
|
|
38
|
+
## Basic Usage
|
|
39
|
+
|
|
40
|
+
```html
|
|
41
|
+
<span class="sap-icon-TNT sap-icon-TNT--exceptions"></span>
|
|
42
|
+
<span class="sap-icon-TNT sap-icon-TNT--exceptions"></span>
|
|
43
|
+
<span class="sap-icon-TNT sap-icon-TNT--exceptions"></span>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Examples
|
|
47
|
+
|
|
48
|
+
### Sizes
|
|
49
|
+
|
|
50
|
+
Icons don’t have predefined sizes because they align with the font size value. They are vector graphics, meaning they can be easily resized without compromising their appearance. And because icons are essentially a font, there are unlimited sizes.
|
|
51
|
+
|
|
52
|
+
```html
|
|
53
|
+
<span class="sap-icon-TNT sap-icon-TNT--exceptions"></span>
|
|
54
|
+
<span class="sap-icon-TNT sap-icon-TNT--exceptions"></span>
|
|
55
|
+
<span class="sap-icon-TNT sap-icon-TNT--exceptions"></span>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Colors
|
|
59
|
+
|
|
60
|
+
```html
|
|
61
|
+
<span class="sap-icon-TNT sap-icon-TNT--exceptions"></span>
|
|
62
|
+
<span class="sap-icon-TNT sap-icon-TNT--exceptions sap-icon-TNT--color-default"></span>
|
|
63
|
+
<span class="sap-icon-TNT sap-icon-TNT--exceptions sap-icon-TNT--color-contrast sap-icon-TNT--background-contrast"></span>
|
|
64
|
+
<span class="sap-icon-TNT sap-icon-TNT--exceptions sap-icon-TNT--color-non-interactive"></span>
|
|
65
|
+
<span class="sap-icon-TNT sap-icon-TNT--exceptions sap-icon-TNT--color-tile"></span>
|
|
66
|
+
<span class="sap-icon-TNT sap-icon-TNT--exceptions sap-icon-TNT--color-marker"></span>
|
|
67
|
+
<span class="sap-icon-TNT sap-icon-TNT--exceptions sap-icon-TNT--color-critical"></span>
|
|
68
|
+
<span class="sap-icon-TNT sap-icon-TNT--exceptions sap-icon-TNT--color-negative"></span>
|
|
69
|
+
<span class="sap-icon-TNT sap-icon-TNT--exceptions sap-icon-TNT--color-neutral"></span>
|
|
70
|
+
<span class="sap-icon-TNT sap-icon-TNT--exceptions sap-icon-TNT--color-positive"></span>
|
|
71
|
+
<span class="sap-icon-TNT sap-icon-TNT--exceptions sap-icon-TNT--color-information"></span>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Accessibility
|
|
75
|
+
|
|
76
|
+
- Use semantic HTML elements where appropriate
|
|
77
|
+
- Include proper ARIA attributes for interactive elements
|
|
78
|
+
- Ensure keyboard navigation support
|
|
79
|
+
- Provide adequate color contrast
|
|
80
|
+
|
|
81
|
+
## Source
|
|
82
|
+
|
|
83
|
+
This documentation was automatically generated from: `packages/styles/stories/Components/Icons/icon/TNTIcons/iconTnt.stories.js`
|
|
84
|
+
|
|
85
|
+
For the latest updates and interactive examples, see [Storybook](https://sap.github.io/fundamental-styles/).
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: container-queries
|
|
3
|
+
title: Container Queries
|
|
4
|
+
category: container-queries
|
|
5
|
+
selector:
|
|
6
|
+
cssFile:
|
|
7
|
+
sourcePath: packages/common-css/stories/container-queries/container-queries.stories.js
|
|
8
|
+
tags: []
|
|
9
|
+
dependencies: []
|
|
10
|
+
relatedComponents: []
|
|
11
|
+
stability: stable
|
|
12
|
+
generatedAt: 2026-06-09T18:29:01.749Z
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Container Queries
|
|
16
|
+
|
|
17
|
+
Container queries are similar to media queries, but they allow you to apply styles to an element based on the dimensions of the element's container rather than the device’s viewport. For more information please visit the <a target="_blank" title="MDN documentation website" href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_container_queries">MDN website</a>.
|
|
18
|
+
<br><br><br>
|
|
19
|
+
<h3>Containment Context</h3>
|
|
20
|
+
To define a container, you need to specify the <code>container-type</code> property on the element. The container-type can accept three options: size, inline-size, and normal. <br>
|
|
21
|
+
<table style="width: 100%; border-collapse: collapse; margin-top: 1rem;">
|
|
22
|
+
<tbody>
|
|
23
|
+
<tr>
|
|
24
|
+
<td style="padding: 0.25rem;"><b>normal</b></td>
|
|
25
|
+
<td style="padding: 0.25rem;">the element is not a query container for any container size, but it can be used to apply styles to the element</td>
|
|
26
|
+
<td style="padding: 0.25rem;"><code>.sap-container-type-normal</code></td>
|
|
27
|
+
<td style="padding: 0.25rem;"><code>@include sap-container-type(normal)</code></td>
|
|
28
|
+
</tr>
|
|
29
|
+
<tr>
|
|
30
|
+
<td style="padding: 0.25rem;"><b>size</b></td>
|
|
31
|
+
<td style="padding: 0.25rem;">the container will not assume the position it has on the viewport, you must explicitly set the height and width of the container</td>
|
|
32
|
+
<td style="padding: 0.25rem;"><code>.sap-container-type-size</code></td>
|
|
33
|
+
<td style="padding: 0.25rem;"><code>@include sap-container-type(size)</code></td>
|
|
34
|
+
</tr>
|
|
35
|
+
<tr>
|
|
36
|
+
<td style="padding: 0.25rem;"><b>inline-size</b></td>
|
|
37
|
+
<td style="padding: 0.25rem;">the element assumes the position it has on the viewport</td>
|
|
38
|
+
<td style="padding: 0.25rem;"><code>.sap-container-type-inline-size</code></td>
|
|
39
|
+
<td style="padding: 0.25rem;"><code>@include sap-container-type(inline-size)</code></td>
|
|
40
|
+
</tr>
|
|
41
|
+
</tbody>
|
|
42
|
+
</table>
|
|
43
|
+
<br>
|
|
44
|
+
<h3>Mixins</h3>
|
|
45
|
+
<table style="width: 60%; border-collapse: collapse; margin-top: 1rem;text-align: left;">
|
|
46
|
+
<tr>
|
|
47
|
+
<th style="padding: 0.25rem;">Mixin</th>
|
|
48
|
+
<th style="padding: 0.25rem;">Container width</th>
|
|
49
|
+
</tr>
|
|
50
|
+
<tr>
|
|
51
|
+
<td style="padding: 0.25rem;"><code>@include sap-container-query-sm()</code></td>
|
|
52
|
+
<td style="padding: 0.25rem;">max-width: 599px</td>
|
|
53
|
+
</tr>
|
|
54
|
+
<tr>
|
|
55
|
+
<td style="padding: 0.25rem;"><code>@include sap-container-query-md()</code></td>
|
|
56
|
+
<td style="padding: 0.25rem;">600px <= width <= 1023px</td>
|
|
57
|
+
</tr>
|
|
58
|
+
<tr>
|
|
59
|
+
<td style="padding: 0.25rem;"><code>@include sap-container-query-lg()</code></td>
|
|
60
|
+
<td style="padding: 0.25rem;">1024px <= width <= 1439px</td>
|
|
61
|
+
</tr>
|
|
62
|
+
<tr>
|
|
63
|
+
<td style="padding: 0.25rem;"><code>@include sap-container-query-xl()</code></td>
|
|
64
|
+
<td style="padding: 0.25rem;">min-width: 1440px</td>
|
|
65
|
+
</tr>
|
|
66
|
+
<tr>
|
|
67
|
+
<td style="padding: 0.25rem;"><code>@include sap-container-query-from($width)</code></td>
|
|
68
|
+
<td style="padding: 0.25rem;">user defined</td>
|
|
69
|
+
</tr>
|
|
70
|
+
<tr>
|
|
71
|
+
<td style="padding: 0.25rem;"><code>@include sap-container-query-until($width)</code></td>
|
|
72
|
+
<td style="padding: 0.25rem;">user defined</td>
|
|
73
|
+
</tr>
|
|
74
|
+
</table>
|
|
75
|
+
|
|
76
|
+
## Basic Usage
|
|
77
|
+
|
|
78
|
+
```html
|
|
79
|
+
<style>
|
|
80
|
+
.border-example-card {
|
|
81
|
+
background: #f7f8fa;
|
|
82
|
+
border: 0.0625rem solid #eaecee;
|
|
83
|
+
border-radius: 0.5rem;
|
|
84
|
+
padding: 1rem;
|
|
85
|
+
margin-block-end: 1rem;
|
|
86
|
+
}
|
|
87
|
+
.border-example-card h4 {
|
|
88
|
+
margin: 0 0 0.75rem 0;
|
|
89
|
+
color: #0a6ed1;
|
|
90
|
+
font-size: 0.9375rem;
|
|
91
|
+
font-weight: 600;
|
|
92
|
+
}
|
|
93
|
+
.border-example-card pre {
|
|
94
|
+
background: #fff;
|
|
95
|
+
border: 0.0625rem solid #e4e4e4;
|
|
96
|
+
border-radius: 0.25rem;
|
|
97
|
+
padding: 0.75rem 1rem;
|
|
98
|
+
margin: 0.5rem 0;
|
|
99
|
+
font-size: 0.875rem;
|
|
100
|
+
font-family: 'Courier New', Courier, monospace;
|
|
101
|
+
color: #32363a;
|
|
102
|
+
overflow-x: auto;
|
|
103
|
+
line-height: 1.5;
|
|
104
|
+
}
|
|
105
|
+
</style>
|
|
106
|
+
|
|
107
|
+
<div class="border-example-card">
|
|
108
|
+
<h4>Container Type</h4>
|
|
109
|
+
<pre>.article-container {
|
|
110
|
+
@include sap-container-type(inline-size);
|
|
111
|
+
}</pre>
|
|
112
|
+
</div>
|
|
113
|
+
|
|
114
|
+
<div class="border-example-card">
|
|
115
|
+
<h4>Container Query - Minimum Width</h4>
|
|
116
|
+
<pre>@include sap-container-query-from(640px) {
|
|
117
|
+
.article {
|
|
118
|
+
font-size: 20px;
|
|
119
|
+
}
|
|
120
|
+
}</pre>
|
|
121
|
+
</div>
|
|
122
|
+
|
|
123
|
+
<div class="border-example-card">
|
|
124
|
+
<h4>Container Query - Maximum Width</h4>
|
|
125
|
+
<pre>@include sap-container-query-to(640px) {
|
|
126
|
+
.article {
|
|
127
|
+
font-size: 16px;
|
|
128
|
+
}
|
|
129
|
+
}</pre>
|
|
130
|
+
</div>
|
|
131
|
+
|
|
132
|
+
<div class="border-example-card">
|
|
133
|
+
<h4>Container Query - Range</h4>
|
|
134
|
+
<pre>@include sap-container-query-between(480px, 768px) {
|
|
135
|
+
.article {
|
|
136
|
+
font-size: 18px;
|
|
137
|
+
}
|
|
138
|
+
}</pre>
|
|
139
|
+
</div>
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Examples
|
|
143
|
+
|
|
144
|
+
### UsingTheMixins
|
|
145
|
+
|
|
146
|
+
```html
|
|
147
|
+
<style>
|
|
148
|
+
.border-example-card {
|
|
149
|
+
background: #f7f8fa;
|
|
150
|
+
border: 0.0625rem solid #eaecee;
|
|
151
|
+
border-radius: 0.5rem;
|
|
152
|
+
padding: 1rem;
|
|
153
|
+
margin-block-end: 1rem;
|
|
154
|
+
}
|
|
155
|
+
.border-example-card h4 {
|
|
156
|
+
margin: 0 0 0.75rem 0;
|
|
157
|
+
color: #0a6ed1;
|
|
158
|
+
font-size: 0.9375rem;
|
|
159
|
+
font-weight: 600;
|
|
160
|
+
}
|
|
161
|
+
.border-example-card pre {
|
|
162
|
+
background: #fff;
|
|
163
|
+
border: 0.0625rem solid #e4e4e4;
|
|
164
|
+
border-radius: 0.25rem;
|
|
165
|
+
padding: 0.75rem 1rem;
|
|
166
|
+
margin: 0.5rem 0;
|
|
167
|
+
font-size: 0.875rem;
|
|
168
|
+
font-family: 'Courier New', Courier, monospace;
|
|
169
|
+
color: #32363a;
|
|
170
|
+
overflow-x: auto;
|
|
171
|
+
line-height: 1.5;
|
|
172
|
+
}
|
|
173
|
+
</style>
|
|
174
|
+
|
|
175
|
+
<div class="border-example-card">
|
|
176
|
+
<h4>Container Type</h4>
|
|
177
|
+
<pre>.article-container {
|
|
178
|
+
@include sap-container-type(inline-size);
|
|
179
|
+
}</pre>
|
|
180
|
+
</div>
|
|
181
|
+
|
|
182
|
+
<div class="border-example-card">
|
|
183
|
+
<h4>Container Query - Minimum Width</h4>
|
|
184
|
+
<pre>@include sap-container-query-from(640px) {
|
|
185
|
+
.article {
|
|
186
|
+
font-size: 20px;
|
|
187
|
+
}
|
|
188
|
+
}</pre>
|
|
189
|
+
</div>
|
|
190
|
+
|
|
191
|
+
<div class="border-example-card">
|
|
192
|
+
<h4>Container Query - Maximum Width</h4>
|
|
193
|
+
<pre>@include sap-container-query-to(640px) {
|
|
194
|
+
.article {
|
|
195
|
+
font-size: 16px;
|
|
196
|
+
}
|
|
197
|
+
}</pre>
|
|
198
|
+
</div>
|
|
199
|
+
|
|
200
|
+
<div class="border-example-card">
|
|
201
|
+
<h4>Container Query - Range</h4>
|
|
202
|
+
<pre>@include sap-container-query-between(480px, 768px) {
|
|
203
|
+
.article {
|
|
204
|
+
font-size: 18px;
|
|
205
|
+
}
|
|
206
|
+
}</pre>
|
|
207
|
+
</div>
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
## Accessibility
|
|
211
|
+
|
|
212
|
+
- Use semantic HTML elements where appropriate
|
|
213
|
+
- Include proper ARIA attributes for interactive elements
|
|
214
|
+
- Ensure keyboard navigation support
|
|
215
|
+
- Provide adequate color contrast
|
|
216
|
+
|
|
217
|
+
## Source
|
|
218
|
+
|
|
219
|
+
This documentation was automatically generated from: `packages/common-css/stories/container-queries/container-queries.stories.js`
|
|
220
|
+
|
|
221
|
+
For the latest updates and interactive examples, see [Storybook](https://sap.github.io/fundamental-styles/).
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
---
|
|
2
|
+
component: fd-container
|
|
3
|
+
title: Components/Forms/Form Group
|
|
4
|
+
category: Components
|
|
5
|
+
selector: fd-container
|
|
6
|
+
cssFile: container.css
|
|
7
|
+
sourcePath: packages/styles/stories/Components/Forms/form-group/form-group.stories.js
|
|
8
|
+
tags: []
|
|
9
|
+
dependencies: []
|
|
10
|
+
relatedComponents: []
|
|
11
|
+
stability: stable
|
|
12
|
+
generatedAt: 2026-06-09T18:29:01.566Z
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Components/Forms/Form Group
|
|
16
|
+
|
|
17
|
+
Form groups are used to assemble form elements with labels, messages, and help containers.
|
|
18
|
+
|
|
19
|
+
These components can be used alone. For example, the \
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install fundamental-styles
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```html
|
|
28
|
+
<!-- Include theme -->
|
|
29
|
+
<link href="node_modules/fundamental-styles/dist/theming/sap_horizon.css" rel="stylesheet">
|
|
30
|
+
|
|
31
|
+
<!-- Include component CSS -->
|
|
32
|
+
<link href="node_modules/fundamental-styles/dist/container.css" rel="stylesheet">
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Basic Usage
|
|
37
|
+
|
|
38
|
+
```html
|
|
39
|
+
<div class="fd-form-group">
|
|
40
|
+
<div class="fd-form-item">
|
|
41
|
+
<label class="fd-form-label" for="input-1">Default input:</label>
|
|
42
|
+
<input class="fd-input" type="text" id="input-1" placeholder="Field placeholder text">
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Examples
|
|
48
|
+
|
|
49
|
+
### Default
|
|
50
|
+
|
|
51
|
+
```html
|
|
52
|
+
<div class="fd-form-group">
|
|
53
|
+
<div class="fd-form-item">
|
|
54
|
+
<label class="fd-form-label" for="input-1">Default input:</label>
|
|
55
|
+
<input class="fd-input" type="text" id="input-1" placeholder="Field placeholder text">
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Required
|
|
61
|
+
|
|
62
|
+
To indicate to the user that it's required to fill out an input field, add the \
|
|
63
|
+
|
|
64
|
+
```html
|
|
65
|
+
<div class="fd-form-group">
|
|
66
|
+
<div class="fd-form-item">
|
|
67
|
+
<label class="fd-form-label fd-form-label--required" for="input-1c">Required Input:</label>
|
|
68
|
+
<input class="fd-input" type="text" id="input-1c" placeholder="Field placeholder text">
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Group header
|
|
74
|
+
|
|
75
|
+
Form groups can be grouped together under a header with the \
|
|
76
|
+
|
|
77
|
+
```html
|
|
78
|
+
<div class="fd-form-group" role="group" aria-labelledby="basicGroupHeader">
|
|
79
|
+
<div class="fd-form-group__header">
|
|
80
|
+
<h4 class="fd-form-group__header-text" id="basicGroupHeader">Group Header</h4>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
|
|
84
|
+
<div class="fd-form-group" role="group" aria-labelledby="noPaddingGroupHeader">
|
|
85
|
+
<div class="fd-form-group__header fd-form-group__header--no-padding">
|
|
86
|
+
<h4 class="fd-form-group__header-text" id="noPaddingGroupHeader">Group Header without inline padding</h4>
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
|
|
90
|
+
<div class="fd-form-group" role="group" aria-labelledby="noBorderGroupHeader">
|
|
91
|
+
<div class="fd-form-group__header fd-form-group__header--no-border">
|
|
92
|
+
<h4 class="fd-form-group__header-text" id="noBorderGroupHeader">Group Header without border</h4>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
|
|
96
|
+
<div class="fd-form-group" role="group" aria-labelledby="noBorderNoPaddingGroupHeader">
|
|
97
|
+
<div class="fd-form-group__header fd-form-group__header--no-border fd-form-group__header--no-padding">
|
|
98
|
+
<h4 class="fd-form-group__header-text" id="noBorderNoPaddingGroupHeader">Group Header without border and padding</h4>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Group header (form grid)
|
|
104
|
+
|
|
105
|
+
When group headers are displayed in a **Form Grid**, paddings are added to the groups.
|
|
106
|
+
|
|
107
|
+
```html
|
|
108
|
+
<form class="fd-container fd-form-layout-grid-container">
|
|
109
|
+
<div class="fd-row">
|
|
110
|
+
<!-- Group 1 -->
|
|
111
|
+
<div class="fd-form-group fd-form-group--with-spacing fd-col fd-col-md--6 fd-col-lg--6 fd-col-xl--6 fd-col--wrap" role="group" aria-labelledby="grid1GroupHeader">
|
|
112
|
+
<div class="fd-form-group__header" id="grid1GroupHeader">
|
|
113
|
+
<h4 class="fd-form-group__header-text">Personal Information</h4>
|
|
114
|
+
</div>
|
|
115
|
+
|
|
116
|
+
<div class="fd-form-item fd-row">
|
|
117
|
+
<div class="fd-col fd-col-md--2 fd-col-lg--4 fd-col-xl--12">
|
|
118
|
+
<label class="fd-form-label" for="input-14-name">Full Name:</label>
|
|
119
|
+
</div>
|
|
120
|
+
<div class="fd-col fd-col-md--10 fd-col-lg--8 fd-col-xl--12">
|
|
121
|
+
<input class="fd-input" type="text" id="input-14-name" placeholder="e.g., Amelia Perry" value="Amelia Perry">
|
|
122
|
+
</div>
|
|
123
|
+
</div>
|
|
124
|
+
|
|
125
|
+
<div class="fd-form-item fd-row">
|
|
126
|
+
<div class="fd-col fd-col-md--2 fd-col-lg--4 fd-col-xl--12">
|
|
127
|
+
<label class="fd-form-label" for="input-14x-name">City of Residence:</label>
|
|
128
|
+
</div>
|
|
129
|
+
<div class="fd-col fd-col-md--10 fd-col-lg--8 fd-col-xl--12">
|
|
130
|
+
<input class="fd-input" type="text" id="input-14x-name" placeholder="e.g., New York" value="New York">
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
|
|
134
|
+
<div class="fd-form-item fd-row">
|
|
135
|
+
<div class="fd-col fd-col-md--2 fd-col-lg--4 fd-col-xl--12">
|
|
136
|
+
<label class="fd-form-label" for="input-14y-name">Job Title:</label>
|
|
137
|
+
</div>
|
|
138
|
+
<div class="fd-col fd-col-md--10 fd-col-lg--8 fd-col-xl--12">
|
|
139
|
+
<input class="fd-input" type="text" id="input-14y-name" placeholder="e.g., Product Designer" value="Product Designer">
|
|
140
|
+
</div>
|
|
141
|
+
</div>
|
|
142
|
+
</div>
|
|
143
|
+
|
|
144
|
+
<!-- Group 2 -->
|
|
145
|
+
<div class="fd-form-group fd-form-group--with-spacing fd-col fd-col-md--6 fd-col-lg--6 fd-col-xl--6 fd-col--wrap" role="group" aria-labelledby="grid2GroupHeader">
|
|
146
|
+
<div class="fd-form-group__header">
|
|
147
|
+
<h4 class="fd-form-group__header-text" id="grid2GroupHeader">Contact Details</h4>
|
|
148
|
+
</div>
|
|
149
|
+
|
|
150
|
+
<div class="fd-form-item fd-row">
|
|
151
|
+
<div class="fd-col fd-col-md--2 fd-col-lg--4 fd-col-xl--12">
|
|
152
|
+
<label class="fd-form-label" for="input-14a-name">Email Address:</label>
|
|
153
|
+
</div>
|
|
154
|
+
<div class="fd-col fd-col-md--10 fd-col-lg--8 fd-col-xl--12">
|
|
155
|
+
<input class="fd-input" type="email" id="input-14a-name" placeholder="e.g., amelia.perry@example.com" value="amelia.perry@example.com">
|
|
156
|
+
</div>
|
|
157
|
+
</div>
|
|
158
|
+
|
|
159
|
+
<div class="fd-form-item fd-row">
|
|
160
|
+
<div class="fd-col fd-col-md--2 fd-col-lg--4 fd-col-xl--12">
|
|
161
|
+
<label class="fd-form-label" for="input-14b-name">Phone Number:</label>
|
|
162
|
+
</div>
|
|
163
|
+
<div class="fd-col fd-col-md--10 fd-col-lg--8 fd-col-xl--12">
|
|
164
|
+
<input class="fd-input" type="tel" id="input-14b-name" placeholder="e.g., +1 555 123 4567" value="+1 555 123 4567">
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
167
|
+
|
|
168
|
+
<div class="fd-form-item fd-row">
|
|
169
|
+
<div class="fd-col fd-col-md--2 fd-col-lg--4 fd-col-xl--12">
|
|
170
|
+
<label class="fd-form-label" for="input-14c-name">LinkedIn Profile:</label>
|
|
171
|
+
</div>
|
|
172
|
+
<div class="fd-col fd-col-md--10 fd-col-lg--8 fd-col-xl--12">
|
|
173
|
+
<input class="fd-input" type="url" id="input-14c-name" placeholder="e.g., linkedin.com/in/amelia-perry" value="linkedin.com/in/amelia-perry">
|
|
174
|
+
</div>
|
|
175
|
+
</div>
|
|
176
|
+
</div>
|
|
177
|
+
|
|
178
|
+
<!-- Group 3 -->
|
|
179
|
+
<div class="fd-form-group fd-form-group--with-spacing fd-col fd-col-md--6 fd-col-lg--6 fd-col-xl--6 fd-col--wrap" role="group" aria-labelledby="grid3GroupHeader">
|
|
180
|
+
<div class="fd-form-group__header">
|
|
181
|
+
<h class="fd-form-group__header-text" id="grid3GroupHeader">Security Questions</h>
|
|
182
|
+
</div>
|
|
183
|
+
|
|
184
|
+
<div class="fd-form-item fd-row">
|
|
185
|
+
<div class="fd-col fd-col-md--2 fd-col-lg--4 fd-col-xl--12">
|
|
186
|
+
<label class="fd-form-label" for="input-14j-name">What was your childhood nickname?</label>
|
|
187
|
+
</div>
|
|
188
|
+
<div class="fd-col fd-col-md--10 fd-col-lg--8 fd-col-xl--12">
|
|
189
|
+
<input class="fd-input" type="text" id="input-14j-name" placeholder="e.g., Mimi" value="Mimi">
|
|
190
|
+
</div>
|
|
191
|
+
</div>
|
|
192
|
+
|
|
193
|
+
<div class="fd-form-item fd-row">
|
|
194
|
+
<div class="fd-col fd-col-md--2 fd-col-lg--4 fd-col-xl--12">
|
|
195
|
+
<label class="fd-form-label" for="input-14h-name">What was the name of your first pet?</label>
|
|
196
|
+
</div>
|
|
197
|
+
<div class="fd-col fd-col-md--10 fd-col-lg--8 fd-col-xl--12">
|
|
198
|
+
<input class="fd-input" type="text" id="input-14h-name" placeholder="e.g., Charlie" value="Charlie">
|
|
199
|
+
</div>
|
|
200
|
+
</div>
|
|
201
|
+
|
|
202
|
+
<div class="fd-form-item fd-row">
|
|
203
|
+
<div class="fd-col fd-col-md--2 fd-col-lg--4 fd-col-xl--12">
|
|
204
|
+
<label class="fd-form-label" for="input-14k-name">What city were you born in?</label>
|
|
205
|
+
</div>
|
|
206
|
+
<div class="fd-col fd-col-md--10 fd-col-lg--8 fd-col-xl--12">
|
|
207
|
+
<input class="fd-input" type="text" id="input-14k-name" placeholder="e.g., Boston" value="Boston">
|
|
208
|
+
</div>
|
|
209
|
+
</div>
|
|
210
|
+
</div>
|
|
211
|
+
|
|
212
|
+
</div>
|
|
213
|
+
</form>
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## Accessibility
|
|
217
|
+
|
|
218
|
+
- Use semantic HTML elements where appropriate
|
|
219
|
+
- Include proper ARIA attributes for interactive elements
|
|
220
|
+
- Ensure keyboard navigation support
|
|
221
|
+
- Provide adequate color contrast
|
|
222
|
+
|
|
223
|
+
## Source
|
|
224
|
+
|
|
225
|
+
This documentation was automatically generated from: `packages/styles/stories/Components/Forms/form-group/form-group.stories.js`
|
|
226
|
+
|
|
227
|
+
For the latest updates and interactive examples, see [Storybook](https://sap.github.io/fundamental-styles/).
|