@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,672 @@
1
+ ---
2
+ component: fd-pagination
3
+ title: Components/Pagination
4
+ category: Components
5
+ selector: fd-pagination
6
+ cssFile: pagination.css
7
+ sourcePath: packages/styles/stories/Components/pagination/pagination.stories.js
8
+ tags: ["btp",""]
9
+ dependencies: ["button","form-label","icon","input","list","pagination","popover","select"]
10
+ relatedComponents: ["button","form-label","icon","input","list","pagination","popover","select"]
11
+ stability: stable
12
+ generatedAt: 2026-06-09T18:29:01.500Z
13
+ ---
14
+
15
+ # Components/Pagination
16
+
17
+ Pagination allows users to separate their content into discrete pages, making it easier to digest and navigate through. Pagination is commonly used for tables and tiles.
18
+
19
+ ##Usage
20
+ **Use pagination if:**
21
+
22
+ - The user needs to search through several related items (over 30 is a good basis)
23
+ - The content contains products that users can choose from
24
+ - You want to allow users to bookmark pages
25
+ - You want your content to be optimized for search
26
+
27
+ ##Details
28
+ - > 9 pages: 9 elements should be shown (including pages, more symbols and the current page), use input for the current page
29
+ - < 9 pages, add \
30
+
31
+ ## Usage Guidelines
32
+
33
+ **Use pagination if:**
34
+
35
+ - The user needs to search through several related items (over 30 is a good basis)
36
+ - The content contains products that users can choose from
37
+ - You want to allow users to bookmark pages
38
+ - You want your content to be optimized for search
39
+
40
+ ## Dependencies
41
+
42
+ This component depends on the following CSS files:
43
+
44
+ - `button.css`
45
+ - `form-label.css`
46
+ - `icon.css`
47
+ - `input.css`
48
+ - `list.css`
49
+ - `pagination.css`
50
+ - `popover.css`
51
+ - `select.css`
52
+
53
+ ## Installation
54
+
55
+ ```bash
56
+ npm install fundamental-styles
57
+ ```
58
+
59
+ ```html
60
+ <!-- Include theme -->
61
+ <link href="node_modules/fundamental-styles/dist/theming/sap_horizon.css" rel="stylesheet">
62
+
63
+ <!-- Include component CSS -->
64
+ <link href="node_modules/fundamental-styles/dist/pagination.css" rel="stylesheet">
65
+
66
+ <!-- Include dependencies -->
67
+ <link href="node_modules/fundamental-styles/dist/button.css" rel="stylesheet">
68
+ <link href="node_modules/fundamental-styles/dist/form-label.css" rel="stylesheet">
69
+ <link href="node_modules/fundamental-styles/dist/icon.css" rel="stylesheet">
70
+ <link href="node_modules/fundamental-styles/dist/input.css" rel="stylesheet">
71
+ <link href="node_modules/fundamental-styles/dist/list.css" rel="stylesheet">
72
+ <link href="node_modules/fundamental-styles/dist/pagination.css" rel="stylesheet">
73
+ <link href="node_modules/fundamental-styles/dist/popover.css" rel="stylesheet">
74
+ <link href="node_modules/fundamental-styles/dist/select.css" rel="stylesheet">
75
+ ```
76
+
77
+ ## Basic Usage
78
+
79
+ ```html
80
+ <h3>> 9 Pages</h3>
81
+ <div class="fd-pagination">
82
+ <nav class="fd-pagination__nav" role="navigation" aria-label="first page example, pagination with more than 9 pages">
83
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="First page" aria-disabled="true">
84
+ <i class="sap-icon sap-icon--media-rewind"></i>
85
+ </a>
86
+
87
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Previous page" aria-disabled="true">
88
+ <i class="sap-icon sap-icon--navigation-left-arrow"></i>
89
+ </a>
90
+
91
+ <label class="fd-form-label fd-pagination__label" id="firstPageInputPage" aria-label="Page input, Current page, Page 1">Page:</label>
92
+
93
+ <input aria-labelledby="firstPageInputPage firstPageInputOf" class="fd-input fd-pagination__input" type="number" min="1" max="500" value="1" required />
94
+
95
+ <label class="fd-form-label fd-pagination__label" id="firstPageInputOf">of 500</label>
96
+
97
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 2">2</a>
98
+
99
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 3">3</a>
100
+
101
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 4">4</a>
102
+
103
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 5">5</a>
104
+
105
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 6">6</a>
106
+
107
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 7">7</a>
108
+
109
+ <span class="fd-pagination__more" role="presentation"></span>
110
+
111
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 500">500</a>
112
+
113
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Next page" aria-disabled="false">
114
+ <i class="sap-icon sap-icon--navigation-right-arrow"></i>
115
+ </a>
116
+
117
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="Last page" aria-disabled="false">
118
+ <i class="sap-icon sap-icon--media-forward"></i>
119
+ </a>
120
+ </nav>
121
+
122
+ <div class="fd-pagination__total">
123
+ <span class="fd-form-label fd-pagination__total-label">500 Results</span>
124
+ </div>
125
+ </div>
126
+
127
+ <h3>< 9 Pages</h3>
128
+
129
+ <div class="fd-pagination fd-pagination--short">
130
+ <nav class="fd-pagination__nav" role="navigation" aria-label="first page example, pagination with less than 9 pages">
131
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="First page" aria-disabled="true">
132
+ <i class="sap-icon sap-icon--media-rewind"></i>
133
+ </a>
134
+
135
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Previous page" aria-disabled="true">
136
+ <i class="sap-icon sap-icon--navigation-left-arrow"></i>
137
+ </a>
138
+
139
+ <label class="fd-form-label fd-pagination__label" id="firstPageInputShortPage" aria-label="Page input, Current page, Page 1">Page:</label>
140
+
141
+ <input aria-labelledby="firstPageInputShortPage firstPageInputShortOf" class="fd-input fd-pagination__input" type="number" min="1" max="3" value="1" required />
142
+
143
+ <label class="fd-form-label fd-pagination__label" id="firstPageInputShortOf">of 3</label>
144
+
145
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link is-active" aria-label="Current Page, Page 1" aria-current="true">1</a>
146
+
147
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 2">2</a>
148
+
149
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 3">3</a>
150
+
151
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Next page" aria-disabled="false">
152
+ <i class="sap-icon sap-icon--navigation-right-arrow"></i>
153
+ </a>
154
+
155
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="Last page" aria-disabled="false">
156
+ <i class="sap-icon sap-icon--media-forward"></i>
157
+ </a>
158
+ </nav>
159
+
160
+ <div class="fd-pagination__total">
161
+ <span class="fd-form-label fd-pagination__total-label">3 Results</span>
162
+ </div>
163
+ </div>
164
+ ```
165
+
166
+ ## Modifiers
167
+
168
+ | Class | Description |
169
+ |-------|-------------|
170
+ | `fd-pagination--mobile` | Pagination component is responsive by default |
171
+ | `fd-pagination--short` | Style variant |
172
+
173
+ ## States
174
+
175
+ | Class | Description |
176
+ |-------|-------------|
177
+ | `is-active` | Active state |
178
+ | `is-selected` | Selected state |
179
+
180
+ ## BEM Elements
181
+
182
+ This component uses the following BEM elements:
183
+
184
+ - `fd-pagination__button`
185
+ - `fd-pagination__button--mobile`
186
+ - `fd-pagination__input`
187
+ - `fd-pagination__label`
188
+ - `fd-pagination__link`
189
+ - `fd-pagination__more`
190
+ - `fd-pagination__nav`
191
+ - `fd-pagination__per-page`
192
+ - `fd-pagination__per-page-label`
193
+ - `fd-pagination__total`
194
+ - `fd-pagination__total-label`
195
+
196
+ ## Related Components
197
+
198
+ This component works with or depends on:
199
+
200
+ - `button`
201
+ - `form-label`
202
+ - `icon`
203
+ - `input`
204
+ - `list`
205
+ - `pagination`
206
+ - `popover`
207
+ - `select`
208
+
209
+ ## Design Tokens
210
+
211
+ Key CSS variables used by this component:
212
+
213
+ - `--fdButton_Outline_Offset`
214
+ - `--fdPaginationMoreWidth`
215
+ - `--fdPagination_Elements_Spacing`
216
+ - `--fdPagination_Placeholder_Dots_Width`
217
+ - `--fdPagination_Placeholder_Dots_Width_Compact`
218
+ - `--mobile`
219
+ - `--short`
220
+ - `--toggled`
221
+
222
+ ## Examples
223
+
224
+ ### First page
225
+
226
+ First and Previous page buttons are disabled when first page is active.
227
+
228
+ ```html
229
+ <h3>> 9 Pages</h3>
230
+ <div class="fd-pagination">
231
+ <nav class="fd-pagination__nav" role="navigation" aria-label="first page example, pagination with more than 9 pages">
232
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="First page" aria-disabled="true">
233
+ <i class="sap-icon sap-icon--media-rewind"></i>
234
+ </a>
235
+
236
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Previous page" aria-disabled="true">
237
+ <i class="sap-icon sap-icon--navigation-left-arrow"></i>
238
+ </a>
239
+
240
+ <label class="fd-form-label fd-pagination__label" id="firstPageInputPage" aria-label="Page input, Current page, Page 1">Page:</label>
241
+
242
+ <input aria-labelledby="firstPageInputPage firstPageInputOf" class="fd-input fd-pagination__input" type="number" min="1" max="500" value="1" required />
243
+
244
+ <label class="fd-form-label fd-pagination__label" id="firstPageInputOf">of 500</label>
245
+
246
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 2">2</a>
247
+
248
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 3">3</a>
249
+
250
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 4">4</a>
251
+
252
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 5">5</a>
253
+
254
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 6">6</a>
255
+
256
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 7">7</a>
257
+
258
+ <span class="fd-pagination__more" role="presentation"></span>
259
+
260
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 500">500</a>
261
+
262
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Next page" aria-disabled="false">
263
+ <i class="sap-icon sap-icon--navigation-right-arrow"></i>
264
+ </a>
265
+
266
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="Last page" aria-disabled="false">
267
+ <i class="sap-icon sap-icon--media-forward"></i>
268
+ </a>
269
+ </nav>
270
+
271
+ <div class="fd-pagination__total">
272
+ <span class="fd-form-label fd-pagination__total-label">500 Results</span>
273
+ </div>
274
+ </div>
275
+
276
+ <h3>< 9 Pages</h3>
277
+
278
+ <div class="fd-pagination fd-pagination--short">
279
+ <nav class="fd-pagination__nav" role="navigation" aria-label="first page example, pagination with less than 9 pages">
280
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="First page" aria-disabled="true">
281
+ <i class="sap-icon sap-icon--media-rewind"></i>
282
+ </a>
283
+
284
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Previous page" aria-disabled="true">
285
+ <i class="sap-icon sap-icon--navigation-left-arrow"></i>
286
+ </a>
287
+
288
+ <label class="fd-form-label fd-pagination__label" id="firstPageInputShortPage" aria-label="Page input, Current page, Page 1">Page:</label>
289
+
290
+ <input aria-labelledby="firstPageInputShortPage firstPageInputShortOf" class="fd-input fd-pagination__input" type="number" min="1" max="3" value="1" required />
291
+
292
+ <label class="fd-form-label fd-pagination__label" id="firstPageInputShortOf">of 3</label>
293
+
294
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link is-active" aria-label="Current Page, Page 1" aria-current="true">1</a>
295
+
296
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 2">2</a>
297
+
298
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 3">3</a>
299
+
300
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Next page" aria-disabled="false">
301
+ <i class="sap-icon sap-icon--navigation-right-arrow"></i>
302
+ </a>
303
+
304
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="Last page" aria-disabled="false">
305
+ <i class="sap-icon sap-icon--media-forward"></i>
306
+ </a>
307
+ </nav>
308
+
309
+ <div class="fd-pagination__total">
310
+ <span class="fd-form-label fd-pagination__total-label">3 Results</span>
311
+ </div>
312
+ </div>
313
+ ```
314
+
315
+ ### Middle pages
316
+
317
+ Pagination can display middle pages to increase reachability. The ellipsis will not only display before the last page but also after the first page, showing two pages before & two after the current page. In sum 9 elements are shown: first page + more + 2 pages before + current page + 2 pages after + more + last page.
318
+
319
+ ```html
320
+ <h3>> 9 Pages</h3>
321
+ <div class="fd-pagination">
322
+ <nav class="fd-pagination__nav" role="navigation" aria-label="middle page example, pagination with more than 9 pages">
323
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="First page" aria-disabled="false">
324
+ <i class="sap-icon sap-icon--media-rewind"></i>
325
+ </a>
326
+
327
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Previous page" aria-disabled="false">
328
+ <i class="sap-icon sap-icon--navigation-left-arrow"></i>
329
+ </a>
330
+
331
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 1">1</a>
332
+
333
+ <span class="fd-pagination__more" role="presentation"></span>
334
+
335
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 298">298</a>
336
+
337
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 299">299</a>
338
+
339
+ <label class="fd-form-label fd-pagination__label" id="middlePageInputPage" aria-label="Page input, Current page, Page 300">Page:</label>
340
+
341
+ <input aria-labelledby="middlePageInputPage middlePageInputOf" class="fd-input fd-pagination__input" type="number" min="1" max="500" value="300" required />
342
+
343
+ <label class="fd-form-label fd-pagination__label" id="middlePageInputOf">of 500</label>
344
+
345
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 301">301</a>
346
+
347
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 302">302</a>
348
+
349
+ <span class="fd-pagination__more" role="presentation"></span>
350
+
351
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 500">500</a>
352
+
353
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Next page" aria-disabled="false">
354
+ <i class="sap-icon sap-icon--navigation-right-arrow"></i>
355
+ </a>
356
+
357
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="Last page" aria-disabled="false">
358
+ <i class="sap-icon sap-icon--media-forward"></i>
359
+ </a>
360
+ </nav>
361
+
362
+ <div class="fd-pagination__total">
363
+ <span class="fd-form-label fd-pagination__total-label">500 Results</span>
364
+ </div>
365
+ </div>
366
+
367
+ <h3>< 9 Pages</h3>
368
+
369
+ <div class="fd-pagination fd-pagination--short">
370
+ <nav class="fd-pagination__nav" role="navigation" aria-label="middle page example, pagination with less than 9 pages">
371
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="First page" aria-disabled="false">
372
+ <i class="sap-icon sap-icon--media-rewind"></i>
373
+ </a>
374
+
375
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Previous page" aria-disabled="false">
376
+ <i class="sap-icon sap-icon--navigation-left-arrow"></i>
377
+ </a>
378
+
379
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 1">1</a>
380
+
381
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link is-active" aria-label="Current page, Page 2" aria-current="true">2</a>
382
+
383
+ <label class="fd-form-label fd-pagination__label" id="middlePageInputShortPage" aria-label="Page input, Current page, Page 1">Page:</label>
384
+
385
+ <input aria-labelledby="middlePageInputShortPage middlePageInputShortOf" class="fd-input fd-pagination__input" type="number" min="1" max="3" value="2" required />
386
+
387
+ <label class="fd-form-label fd-pagination__label" id="middlePageInputShortOf">of 3</label>
388
+
389
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 3">3</a>
390
+
391
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Next page" aria-disabled="false">
392
+ <i class="sap-icon sap-icon--navigation-right-arrow"></i>
393
+ </a>
394
+
395
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="Last page" aria-disabled="false">
396
+ <i class="sap-icon sap-icon--media-forward"></i>
397
+ </a>
398
+ </nav>
399
+
400
+ <div class="fd-pagination__total">
401
+ <span class="fd-form-label fd-pagination__total-label">3 Results</span>
402
+ </div>
403
+ </div>
404
+ ```
405
+
406
+ ### Last page
407
+
408
+ Last and Next page buttons are disabled when last page is active.
409
+
410
+ ```html
411
+ <h3>> 9 Pages</h3>
412
+ <div class="fd-pagination">
413
+ <nav class="fd-pagination__nav" role="navigation" aria-label="last page example, pagination with more than 9 pages">
414
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="First page" aria-disabled="false">
415
+ <i class="sap-icon sap-icon--media-rewind"></i>
416
+ </a>
417
+
418
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Previous page" aria-disabled="false">
419
+ <i class="sap-icon sap-icon--navigation-left-arrow"></i>
420
+ </a>
421
+
422
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 1">1</a>
423
+
424
+ <span class="fd-pagination__more" role="presentation"></span>
425
+
426
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 494">494</a>
427
+
428
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 495">495</a>
429
+
430
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 496">496</a>
431
+
432
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 497">497</a>
433
+
434
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 498">498</a>
435
+
436
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 499">499</a>
437
+
438
+ <label class="fd-form-label fd-pagination__label" id="lastPageInputPage" aria-label="Page input, Current page, Page 500">Page:</label>
439
+
440
+ <input aria-labelledby="lastPageInputPage lastPageInputOf" class="fd-input fd-pagination__input" type="number" min="1" max="500" value="500" required />
441
+
442
+ <label class="fd-form-label fd-pagination__label" id="lastPageInputOf">of 500</label>
443
+
444
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Next page" aria-disabled="true">
445
+ <i class="sap-icon sap-icon--navigation-right-arrow"></i>
446
+ </a>
447
+
448
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="Last page" aria-disabled="true">
449
+ <i class="sap-icon sap-icon--media-forward"></i>
450
+ </a>
451
+ </nav>
452
+
453
+ <div class="fd-pagination__total">
454
+ <span class="fd-form-label fd-pagination__total-label">500 Results</span>
455
+ </div>
456
+ </div>
457
+
458
+ <h3>< 9 Pages</h3>
459
+
460
+ <div class="fd-pagination fd-pagination--short">
461
+ <nav class="fd-pagination__nav" role="navigation" aria-label="last page example, pagination with less than 9 pages">
462
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="First page" aria-disabled="false">
463
+ <i class="sap-icon sap-icon--media-rewind"></i>
464
+ </a>
465
+
466
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Previous page" aria-disabled="false">
467
+ <i class="sap-icon sap-icon--navigation-left-arrow"></i>
468
+ </a>
469
+
470
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 1">1</a>
471
+
472
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 2">2</a>
473
+
474
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link is-active" aria-label="Current Page, page 3" aria-current="true">3</a>
475
+
476
+ <label class="fd-form-label fd-pagination__label" id="lastPageInputShortPage" aria-label="Page input, Current page, Page 3">Page:</label>
477
+
478
+ <input aria-labelledby="lastPageInputShortPage lastPageInputShortOf" class="fd-input fd-pagination__input" type="number" min="1" max="3" value="3" required />
479
+
480
+ <label class="fd-form-label fd-pagination__label" id="lastPageInputShortOf">of 3</label>
481
+
482
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Next page" aria-disabled="true">
483
+ <i class="sap-icon sap-icon--navigation-right-arrow"></i>
484
+ </a>
485
+
486
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="Last page" aria-disabled="true">
487
+ <i class="sap-icon sap-icon--media-forward"></i>
488
+ </a>
489
+ </nav>
490
+
491
+ <div class="fd-pagination__total">
492
+ <span class="fd-form-label fd-pagination__total-label">3 Results</span>
493
+ </div>
494
+ </div>
495
+ ```
496
+
497
+ ### Per page
498
+
499
+ Additionally, per page section can be displayed with select to specify which number of items should be shown on the every page.
500
+
501
+ ```html
502
+ <div class="fd-pagination">
503
+ <div class="fd-pagination__per-page">
504
+ <label class="fd-form-label fd-pagination__per-page-label" id="compactSelectLabel">Results per page: </label>
505
+
506
+ <div class="fd-popover">
507
+ <div class="fd-popover__control" aria-expanded="true" aria-haspopup="true">
508
+ <div class="fd-select">
509
+ <button
510
+ id="compactSelectCombobox"
511
+ onclick="toggleElAttrs('h0C6A326', ['aria-hidden']); toggleElAttrs('compactSelectCombobox', ['aria-expanded']);"
512
+ class="fd-select__control"
513
+ tabindex="0"
514
+ aria-labelledby="compactSelectLabel compactSelectValue"
515
+ aria-expanded="true" aria-haspopup="listbox">
516
+ <span id="compactSelectValue" class="fd-select__text-content">4</span>
517
+ <span class="fd-button fd-button--transparent fd-select__button">
518
+ <i class="sap-icon--slim-arrow-down"></i>
519
+ </span>
520
+ </button>
521
+ </div>
522
+
523
+ <div class="fd-popover__body fd-popover__body--no-arrow fd-popover__body--dropdown" aria-hidden="false" id="h0C6A326">
524
+ <ul aria-activedescendant="compactSelectCombobox-currentlyFocusedItem" aria-labelledby="compactSelectLabel" class="fd-list fd-list--dropdown" role="listbox">
525
+ <li id="compactSelectCombobox-currentlyFocusedItem" class="fd-list__item is-selected" aria-selected="true" role="option" tabindex="0">
526
+ <span class="fd-list__title">4</span>
527
+ </li>
528
+ <li class="fd-list__item" role="option" tabindex="-1">
529
+ <span class="fd-list__title">8</span>
530
+ </li>
531
+ <li class="fd-list__item" role="option" tabindex="-1">
532
+ <span class="fd-list__title">16</span>
533
+ </li>
534
+ <li class="fd-list__item" role="option" tabindex="-1">
535
+ <span class="fd-list__title">32</span>
536
+ </li>
537
+ </ul>
538
+ </div>
539
+ </div>
540
+ </div>
541
+
542
+ <nav class="fd-pagination__nav" role="navigation" aria-label="per page page example, pagination with more than 9 pages">
543
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="First page" aria-disabled="false">
544
+ <i class="sap-icon sap-icon--media-rewind"></i>
545
+ </a>
546
+
547
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Previous page" aria-disabled="false">
548
+ <i class="sap-icon sap-icon--navigation-left-arrow"></i>
549
+ </a>
550
+
551
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 1">1</a>
552
+
553
+ <span class="fd-pagination__more" role="presentation"></span>
554
+
555
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 494">494</a>
556
+
557
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 495">495</a>
558
+
559
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 496">496</a>
560
+
561
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 497">497</a>
562
+
563
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 498">498</a>
564
+
565
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__link" aria-label="Goto page 499">499</a>
566
+
567
+ <label class="fd-form-label fd-pagination__label" id="perPageInputPage" aria-label="Page input, Current page, Page 500">Page:</label>
568
+
569
+ <input aria-labelledby="perPageInputPage perPageInputOf" class="fd-input fd-pagination__input" type="number" min="1" max="500" value="500" required />
570
+
571
+ <label class="fd-form-label fd-pagination__label" id="perPageInputOf">of 500</label>
572
+
573
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Next page" aria-disabled="true">
574
+ <i class="sap-icon sap-icon--navigation-right-arrow"></i>
575
+ </a>
576
+
577
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="Last page" aria-disabled="true">
578
+ <i class="sap-icon sap-icon--media-forward"></i>
579
+ </a>
580
+ </nav>
581
+
582
+ <div class="fd-pagination__total">
583
+ <span class="fd-form-label fd-pagination__total-label">500 Results</span>
584
+ </div>
585
+ </div>
586
+ </div>
587
+ ```
588
+
589
+ ### Mobile
590
+
591
+ Pagination component is responsive by default. When the screen's size is smaller than 1024px in width mobile mode is shown and you have nothing to do. If you want to display pagination component always in mobile mode please add \
592
+
593
+ ```html
594
+ <div class="fd-pagination fd-pagination--mobile">
595
+ <div class="fd-pagination__per-page">
596
+ <label class="fd-form-label fd-pagination__per-page-label" id="selectLabel">Results per page: </label>
597
+
598
+ <div class="fd-popover">
599
+ <div class="fd-popover__control" aria-expanded="true" aria-haspopup="true">
600
+ <div class="fd-select">
601
+ <button id="compactSelectCombobox"
602
+ onclick="toggleElAttrs('h0C6A327', ['aria-hidden']); toggleElAttrs('selectCombobox', ['aria-expanded']);"
603
+ class="fd-select__control" tabindex="0" aria-labelledby="selectLabel selectValue" aria-expanded="true" aria-haspopup="listbox">
604
+ <span id="selectValue" class="fd-select__text-content">4</span>
605
+ <span class="fd-button fd-button--transparent fd-select__button">
606
+ <i class="sap-icon--slim-arrow-down"></i>
607
+ </span>
608
+ </button>
609
+ </div>
610
+
611
+ <div class="fd-popover__body fd-popover__body--no-arrow fd-popover__body--dropdown" aria-hidden="false" id="h0C6A327">
612
+ <ul aria-activedescendant="selectCombobox-currentlyFocusedItem" aria-labelledby="selectLabel" class="fd-list fd-list--dropdown fd-list" role="listbox">
613
+ <li id="selectCombobox-currentlyFocusedItem" class="fd-list__item is-selected" aria-selected="true" role="option" tabindex="0">
614
+ <span class="fd-list__title">4</span>
615
+ </li>
616
+ <li class="fd-list__item" role="option" tabindex="-1">
617
+ <span class="fd-list__title">8</span>
618
+ </li>
619
+ <li class="fd-list__item" role="option" tabindex="-1">
620
+ <span class="fd-list__title">16</span>
621
+ </li>
622
+ <li class="fd-list__item" role="option" tabindex="-1">
623
+ <span class="fd-list__title">32</span>
624
+ </li>
625
+ </ul>
626
+ </div>
627
+ </div>
628
+ </div>
629
+
630
+ <nav class="fd-pagination__nav" role="navigation" aria-label="mobile mode example, pagination with more than 9 pages">
631
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="First page" aria-disabled="false">
632
+ <i class="sap-icon sap-icon--media-rewind"></i>
633
+ </a>
634
+
635
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Previous page" aria-disabled="false">
636
+ <i class="sap-icon sap-icon--navigation-left-arrow"></i>
637
+ </a>
638
+
639
+ <label class="fd-form-label fd-pagination__label" id="mobilePageInputPage" aria-label="Page input, Current page, Page 500">Page:</label>
640
+
641
+ <input aria-labelledby="mobilePageInputPage cozyPageInputOf" class="fd-input fd-pagination__input" type="number" min="1" max="500" value="500" required />
642
+
643
+ <label class="fd-form-label fd-pagination__label" id="mobilePageInputOf">of 500</label>
644
+
645
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button" aria-label="Next page" aria-disabled="true">
646
+ <i class="sap-icon sap-icon--navigation-right-arrow"></i>
647
+ </a>
648
+
649
+ <a href="#" class="fd-button fd-button--transparent fd-pagination__button fd-pagination__button--mobile" aria-label="Last page" aria-disabled="true">
650
+ <i class="sap-icon sap-icon--media-forward"></i>
651
+ </a>
652
+ </nav>
653
+
654
+ <div class="fd-pagination__total">
655
+ <span class="fd-form-label fd-pagination__total-label">500 Results</span>
656
+ </div>
657
+ </div>
658
+ </div>
659
+ ```
660
+
661
+ ## Accessibility
662
+
663
+ - Use semantic HTML elements where appropriate
664
+ - Include proper ARIA attributes for interactive elements
665
+ - Ensure keyboard navigation support
666
+ - Provide adequate color contrast
667
+
668
+ ## Source
669
+
670
+ This documentation was automatically generated from: `packages/styles/stories/Components/pagination/pagination.stories.js`
671
+
672
+ For the latest updates and interactive examples, see [Storybook](https://sap.github.io/fundamental-styles/).