@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.
Files changed (215) hide show
  1. package/data/AI_USAGE.md +425 -0
  2. package/data/CHANGELOG.md +53 -3
  3. package/data/component-catalog.json +62 -209
  4. package/data/components/README.md +281 -0
  5. package/data/components/action-bar.md +443 -0
  6. package/data/components/ai-busy-indicator.md +79 -0
  7. package/data/components/ai-loading-bar.md +66 -0
  8. package/data/components/avatar-btp.md +198 -0
  9. package/data/components/avatar-group.md +2660 -0
  10. package/data/components/avatar-product-switch.md +476 -0
  11. package/data/components/avatar.md +993 -0
  12. package/data/components/bar.md +574 -0
  13. package/data/components/border-radius.md +148 -0
  14. package/data/components/border.md +412 -0
  15. package/data/components/breadcrumb.md +546 -0
  16. package/data/components/button-2.md +440 -0
  17. package/data/components/button-action-sheet.md +292 -0
  18. package/data/components/button-ai.md +730 -0
  19. package/data/components/button-btp.md +223 -0
  20. package/data/components/button-button.md +233 -0
  21. package/data/components/button-counter.md +176 -0
  22. package/data/components/button-patterns.md +731 -0
  23. package/data/components/button-split.md +459 -0
  24. package/data/components/button.md +469 -0
  25. package/data/components/calendar.md +5784 -0
  26. package/data/components/card-card-media.md +707 -0
  27. package/data/components/card-card.md +2426 -0
  28. package/data/components/card-layouts.md +1201 -0
  29. package/data/components/card.md +2404 -0
  30. package/data/components/carousel.md +1506 -0
  31. package/data/components/code.md +139 -0
  32. package/data/components/component-reset.md +272 -0
  33. package/data/components/components-icons-businesssuiteinappsymbol-icons.md +85 -0
  34. package/data/components/components-icons-sap-icons.md +147 -0
  35. package/data/components/components-icons-tnt-icons.md +85 -0
  36. package/data/components/container-queries.md +221 -0
  37. package/data/components/container.md +227 -0
  38. package/data/components/dialog-docs-static-busy-indicator.md +165 -0
  39. package/data/components/dialog-docs-static-dialog.md +949 -0
  40. package/data/components/dialog-docs-static-patterns.md +147 -0
  41. package/data/components/dialog-docs-static-settings.md +528 -0
  42. package/data/components/dialog-docs-static.md +982 -0
  43. package/data/components/dialog.md +606 -0
  44. package/data/components/dynamic-page-dynamic-page.md +1914 -0
  45. package/data/components/dynamic-page.md +973 -0
  46. package/data/components/dynamic-side.md +197 -0
  47. package/data/components/elevation.md +110 -0
  48. package/data/components/feed-input.md +346 -0
  49. package/data/components/feed-list.md +580 -0
  50. package/data/components/fieldset-2.md +292 -0
  51. package/data/components/fieldset-forms.md +169 -0
  52. package/data/components/fieldset.md +381 -0
  53. package/data/components/flexible-column-layout.md +205 -0
  54. package/data/components/form-group.md +287 -0
  55. package/data/components/form-header.md +71 -0
  56. package/data/components/form-item-2.md +98 -0
  57. package/data/components/form-item-3.md +134 -0
  58. package/data/components/form-item-4.md +556 -0
  59. package/data/components/form-item-5.md +182 -0
  60. package/data/components/form-item-6.md +539 -0
  61. package/data/components/form-item-7.md +239 -0
  62. package/data/components/form-item-ai.md +158 -0
  63. package/data/components/form-item-file-uploader.md +445 -0
  64. package/data/components/form-item-forms.md +234 -0
  65. package/data/components/form-item-patterns.md +426 -0
  66. package/data/components/form-item.md +464 -0
  67. package/data/components/form-label-ai.md +126 -0
  68. package/data/components/form-label-layouts.md +306 -0
  69. package/data/components/form-label-patterns.md +1175 -0
  70. package/data/components/form-label-status-indicator.md +1083 -0
  71. package/data/components/form-label-step-input.md +620 -0
  72. package/data/components/form-label.md +2876 -0
  73. package/data/components/generic-tag.md +747 -0
  74. package/data/components/grid-list-grid-list.md +1185 -0
  75. package/data/components/grid-list.md +1449 -0
  76. package/data/components/heading.md +66 -0
  77. package/data/components/horizontal-navigation.md +568 -0
  78. package/data/components/icon-tab-bar-dev.md +190 -0
  79. package/data/components/icon-tab-bar.md +2620 -0
  80. package/data/components/icon.md +171 -0
  81. package/data/components/iconBusinessSuite.md +92 -0
  82. package/data/components/iconTnt.md +92 -0
  83. package/data/components/illustrated-message.md +439 -0
  84. package/data/components/info-label.md +348 -0
  85. package/data/components/input-group.md +2068 -0
  86. package/data/components/label.md +66 -0
  87. package/data/components/layout-grid.md +447 -0
  88. package/data/components/layout-panel.md +261 -0
  89. package/data/components/layouts-layout-grid.md +608 -0
  90. package/data/components/layouts-paddings.md +133 -0
  91. package/data/components/layouts-section.md +287 -0
  92. package/data/components/list-2.md +148 -0
  93. package/data/components/list-3.md +735 -0
  94. package/data/components/list-list.md +790 -0
  95. package/data/components/list-object-list.md +1225 -0
  96. package/data/components/list.md +1286 -0
  97. package/data/components/media-queries.md +168 -0
  98. package/data/components/menu.md +946 -0
  99. package/data/components/message-box-docs-static-ai.md +149 -0
  100. package/data/components/message-box-docs-static.md +527 -0
  101. package/data/components/message-page-upload-collection.md +678 -0
  102. package/data/components/message-page.md +256 -0
  103. package/data/components/message-strip.md +977 -0
  104. package/data/components/message-toast.md +119 -0
  105. package/data/components/micro-process-flow.md +991 -0
  106. package/data/components/navigation-menu.md +366 -0
  107. package/data/components/navigation-navigation.md +1245 -0
  108. package/data/components/navigation.md +2604 -0
  109. package/data/components/numeric-content.md +317 -0
  110. package/data/components/object-attribute.md +96 -0
  111. package/data/components/object-identifier.md +227 -0
  112. package/data/components/object-marker.md +202 -0
  113. package/data/components/object-number.md +327 -0
  114. package/data/components/object-status.md +1538 -0
  115. package/data/components/off-screen.md +87 -0
  116. package/data/components/overflow.md +97 -0
  117. package/data/components/padding.md +122 -0
  118. package/data/components/paddings.md +130 -0
  119. package/data/components/page.md +300 -0
  120. package/data/components/pagination.md +672 -0
  121. package/data/components/panel-layouts.md +345 -0
  122. package/data/components/panel.md +514 -0
  123. package/data/components/patterns-label.md +74 -0
  124. package/data/components/popover-2.md +906 -0
  125. package/data/components/popover-ai.md +466 -0
  126. package/data/components/popover-btp.md +886 -0
  127. package/data/components/popover-deprecated.md +308 -0
  128. package/data/components/popover-message-popover.md +683 -0
  129. package/data/components/popover-notification.md +1511 -0
  130. package/data/components/popover-patterns.md +1100 -0
  131. package/data/components/popover-popover.md +1862 -0
  132. package/data/components/popover-quick-view.md +385 -0
  133. package/data/components/popover-timepicker.md +1836 -0
  134. package/data/components/popover-user-menu.md +1303 -0
  135. package/data/components/popover.md +1938 -0
  136. package/data/components/progress-indicator.md +351 -0
  137. package/data/components/prompt-input-ai.md +226 -0
  138. package/data/components/prompt-input.md +226 -0
  139. package/data/components/rating-indicator.md +1469 -0
  140. package/data/components/resizable-card-layout.md +951 -0
  141. package/data/components/scrollbar.md +86 -0
  142. package/data/components/search-field.md +287 -0
  143. package/data/components/section.md +250 -0
  144. package/data/components/segmented-button.md +324 -0
  145. package/data/components/shellbar.md +2183 -0
  146. package/data/components/side-nav.md +1562 -0
  147. package/data/components/skeleton.md +243 -0
  148. package/data/components/slider.md +395 -0
  149. package/data/components/splitter.md +353 -0
  150. package/data/components/table.md +2749 -0
  151. package/data/components/tabs.md +658 -0
  152. package/data/components/text-text.md +380 -0
  153. package/data/components/text.md +253 -0
  154. package/data/components/tile.md +1132 -0
  155. package/data/components/time.md +818 -0
  156. package/data/components/title.md +153 -0
  157. package/data/components/titles.md +83 -0
  158. package/data/components/token.md +311 -0
  159. package/data/components/tokenizer.md +398 -0
  160. package/data/components/tool-header.md +1352 -0
  161. package/data/components/tool-layout.md +199 -0
  162. package/data/components/toolbar-ai.md +174 -0
  163. package/data/components/toolbar-btp.md +526 -0
  164. package/data/components/toolbar-title-bar.md +473 -0
  165. package/data/components/toolbar.md +432 -0
  166. package/data/components/tree.md +1031 -0
  167. package/data/components/typography.md +435 -0
  168. package/data/components/variant-management.md +360 -0
  169. package/data/components/vertical-nav.md +589 -0
  170. package/data/components/wizard.md +1429 -0
  171. package/data/examples/Components/dialog/device-specifications.example.html +39 -30
  172. package/data/examples/Components/shellbar/optional-items.example.html +210 -157
  173. package/data/examples/Components/shellbar/overflow-toolbar.example.html +202 -177
  174. package/data/examples/Components/shellbar/responsive-paddings.example.html +217 -146
  175. package/data/examples/Components/shellbar/responsiveness.example.html +825 -613
  176. package/data/examples/Components/user-menu/default.example.html +241 -83
  177. package/data/schemas/badge.schema.json +1 -1
  178. package/data/schemas/button-split.schema.json +1 -1
  179. package/data/schemas/component-frontmatter.schema.json +123 -0
  180. package/data/schemas/component-markdown.schema.json +81 -0
  181. package/data/schemas/counter.schema.json +1 -1
  182. package/data/schemas/dynamic-page.schema.json +1 -1
  183. package/data/schemas/dynamic-side-content.schema.json +1 -1
  184. package/data/schemas/facet.schema.json +1 -1
  185. package/data/schemas/fieldset.schema.json +1 -1
  186. package/data/schemas/flexible-column-layout.schema.json +1 -1
  187. package/data/schemas/form-group.schema.json +3 -2
  188. package/data/schemas/form-header.schema.json +1 -1
  189. package/data/schemas/form-label.schema.json +1 -0
  190. package/data/schemas/form-message.schema.json +1 -1
  191. package/data/schemas/grid-list.schema.json +1 -1
  192. package/data/schemas/input-group.schema.json +1 -1
  193. package/data/schemas/layout-panel.schema.json +1 -1
  194. package/data/schemas/page.schema.json +1 -1
  195. package/data/schemas/quick-view.schema.json +2 -1
  196. package/data/schemas/section.schema.json +1 -1
  197. package/data/schemas/side-nav.schema.json +1 -1
  198. package/data/schemas/splitter.schema.json +1 -1
  199. package/data/schemas/tabs.schema.json +1 -1
  200. package/data/schemas/tile.schema.json +1 -1
  201. package/data/schemas/tool-layout.schema.json +1 -1
  202. package/data/schemas/user-menu.schema.json +10 -0
  203. package/data/schemas/wizard.schema.json +1 -1
  204. package/package.json +1 -1
  205. package/src/data/load-catalog.d.ts +2 -0
  206. package/src/data/load-catalog.js +5 -1
  207. package/src/data/load-catalog.js.map +1 -1
  208. package/src/data/load-markdown-docs.d.ts +44 -0
  209. package/src/data/load-markdown-docs.js +179 -0
  210. package/src/data/load-markdown-docs.js.map +1 -0
  211. package/src/data/markdown-cache.d.ts +60 -0
  212. package/src/data/markdown-cache.js +218 -0
  213. package/src/data/markdown-cache.js.map +1 -0
  214. package/src/server.js +72 -1
  215. 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/).