@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,1175 @@
1
+ ---
2
+ component: fd-form-label
3
+ title: Patterns/Multi Input
4
+ category: Patterns
5
+ selector: fd-form-label
6
+ cssFile: form-label.css
7
+ sourcePath: packages/styles/stories/Patterns/multi-input/multi-input.stories.js
8
+ tags: []
9
+ dependencies: ["bar","button","checkbox","dialog","form-item","form-label","form-message","icon","input","input-group","link","list","menu","popover","radio","title","token","tokenizer"]
10
+ relatedComponents: ["bar","button","checkbox","dialog","form-item","form-label","form-message","icon","input","input-group","link","list","menu","popover","radio","title","token","tokenizer"]
11
+ stability: stable
12
+ generatedAt: 2026-06-09T18:29:01.706Z
13
+ ---
14
+
15
+ # Patterns/Multi Input
16
+
17
+ Multi Input allows users to enter multiple values which are displayed as a tokens. It provides an editable input field for filtering the list, and a dropdown menu with a list of the available options.
18
+ If the entries are not validated by the application, users can also enter custom values.
19
+
20
+ ##Usage
21
+
22
+ **Use the multi input if:**
23
+
24
+ - You want the user to select multiple ranges.
25
+ - The dataset to choose from is expected to increase over time.
26
+ - You need to provide the value help option to help users select or search multiple business objects.
27
+ - You want to enable users to add custom values.
28
+
29
+ ## Usage Guidelines
30
+
31
+ **Use the multi input if:**
32
+
33
+ - You want the user to select multiple ranges.
34
+ - The dataset to choose from is expected to increase over time.
35
+ - You need to provide the value help option to help users select or search multiple business objects.
36
+ - You want to enable users to add custom values.
37
+
38
+ ## Dependencies
39
+
40
+ This component depends on the following CSS files:
41
+
42
+ - `bar.css`
43
+ - `button.css`
44
+ - `checkbox.css`
45
+ - `dialog.css`
46
+ - `form-item.css`
47
+ - `form-label.css`
48
+ - `form-message.css`
49
+ - `icon.css`
50
+ - `input.css`
51
+ - `input-group.css`
52
+ - `link.css`
53
+ - `list.css`
54
+ - `menu.css`
55
+ - `popover.css`
56
+ - `radio.css`
57
+ - `title.css`
58
+ - `token.css`
59
+ - `tokenizer.css`
60
+
61
+ ## Installation
62
+
63
+ ```bash
64
+ npm install fundamental-styles
65
+ ```
66
+
67
+ ```html
68
+ <!-- Include theme -->
69
+ <link href="node_modules/fundamental-styles/dist/theming/sap_horizon.css" rel="stylesheet">
70
+
71
+ <!-- Include component CSS -->
72
+ <link href="node_modules/fundamental-styles/dist/form-label.css" rel="stylesheet">
73
+
74
+ <!-- Include dependencies -->
75
+ <link href="node_modules/fundamental-styles/dist/bar.css" rel="stylesheet">
76
+ <link href="node_modules/fundamental-styles/dist/button.css" rel="stylesheet">
77
+ <link href="node_modules/fundamental-styles/dist/checkbox.css" rel="stylesheet">
78
+ <link href="node_modules/fundamental-styles/dist/dialog.css" rel="stylesheet">
79
+ <link href="node_modules/fundamental-styles/dist/form-item.css" rel="stylesheet">
80
+ <link href="node_modules/fundamental-styles/dist/form-label.css" rel="stylesheet">
81
+ <link href="node_modules/fundamental-styles/dist/form-message.css" rel="stylesheet">
82
+ <link href="node_modules/fundamental-styles/dist/icon.css" rel="stylesheet">
83
+ <link href="node_modules/fundamental-styles/dist/input.css" rel="stylesheet">
84
+ <link href="node_modules/fundamental-styles/dist/input-group.css" rel="stylesheet">
85
+ <link href="node_modules/fundamental-styles/dist/link.css" rel="stylesheet">
86
+ <link href="node_modules/fundamental-styles/dist/list.css" rel="stylesheet">
87
+ <link href="node_modules/fundamental-styles/dist/menu.css" rel="stylesheet">
88
+ <link href="node_modules/fundamental-styles/dist/popover.css" rel="stylesheet">
89
+ <link href="node_modules/fundamental-styles/dist/radio.css" rel="stylesheet">
90
+ <link href="node_modules/fundamental-styles/dist/title.css" rel="stylesheet">
91
+ <link href="node_modules/fundamental-styles/dist/token.css" rel="stylesheet">
92
+ <link href="node_modules/fundamental-styles/dist/tokenizer.css" rel="stylesheet">
93
+ ```
94
+
95
+ ## Basic Usage
96
+
97
+ ```html
98
+ <div class="fd-form-item">
99
+ <label for="formItemMultiInput" class="fd-form-label">
100
+ Multi Input as form item
101
+ </label>
102
+ <div class="fd-popover">
103
+ <div class="fd-popover__control" aria-controls="F4GcX348a" aria-expanded="true" aria-haspopup="true">
104
+ <div class="fd-input-group fd-input-group--control">
105
+ <div class="fd-tokenizer">
106
+ <div class="fd-tokenizer__inner">
107
+ <span class="fd-token" tabindex="0" role="button">
108
+ <span class="fd-token__text">
109
+ Apple
110
+ </span>
111
+ <button aria-label="unselect option: apple" class="fd-token__close"></button>
112
+ </span>
113
+ <span class="fd-token" tabindex="0" role="button">
114
+ <span class="fd-token__text">
115
+ Orange
116
+ </span>
117
+ <button aria-label="unselect option: orange" class="fd-token__close"></button>
118
+ </span>
119
+ <span class="fd-token" tabindex="0" role="button">
120
+ <span class="fd-token__text">
121
+ Kiwi
122
+ </span>
123
+ <button aria-label="unselect option: kiwi" class="fd-token__close"></button>
124
+ </span>
125
+ <span class="fd-token" tabindex="0" role="button">
126
+ <span class="fd-token__text">
127
+ Banana
128
+ </span>
129
+ <button aria-label="unselect option: banana" class="fd-token__close"></button>
130
+ </span>
131
+ <input id="formItemMultiInput" class="fd-input fd-input-group__input fd-tokenizer__input" />
132
+ </div>
133
+ <span class="fd-input-group__addon fd-input-group__addon--button">
134
+ <button aria-label="show options" class="fd-input-group__button fd-button fd-button--transparent" aria-controls="F4GcX348a" aria-expanded="false" aria-haspopup="true">
135
+ <i class="sap-icon--value-help"></i>
136
+ </button>
137
+ </span>
138
+ </div>
139
+ </div>
140
+ <div class="fd-popover__body fd-popover__body--no-arrow fd-popover__body--dropdown fd-popover__body--dropdown-fill" aria-hidden="false" id="F4GcX348a">
141
+ <div class="fd-popover__wrapper">
142
+ <ul aria-multiselectable="true" role="listbox" aria-label="list of fruits" class="fd-list fd-list--multi-input">
143
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
144
+ <div class="fd-form-item fd-list__form-item">
145
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez620" checked aria-labelledby="Az0bg30">
146
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4e20">
147
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
148
+ </label>
149
+ </div>
150
+ <span class="fd-list__title" id="Az0bg30">Apple</span>
151
+ </li>
152
+
153
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
154
+ <div class="fd-form-item fd-list__form-item">
155
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez621" checked aria-labelledby="Az0bg31">
156
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez621">
157
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
158
+ </label>
159
+ </div>
160
+ <span class="fd-list__title" id="Az0bg31">Orange</span>
161
+ </li>
162
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
163
+ <div class="fd-form-item fd-list__form-item">
164
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez622" checked aria-labelledby="Az0bg32">
165
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez622">
166
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
167
+ </label>
168
+ </div>
169
+ <span class="fd-list__title" id="Az0bg32">Banana</span>
170
+ </li>
171
+ <li role="option" tabindex="0" class="fd-list__item">
172
+ <div class="fd-form-item fd-list__form-item">
173
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez623" aria-labelledby="Az0bg33">
174
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez623">
175
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
176
+ </label>
177
+ </div>
178
+ <span class="fd-list__title" id="Az0bg33">Kiwi</span>
179
+ </li>
180
+ <li role="option" tabindex="0" class="fd-list__item">
181
+ <div class="fd-form-item fd-list__form-item">
182
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez624" aria-labelledby="Az0bg34">
183
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez624">
184
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
185
+ </label>
186
+ </div>
187
+ <span class="fd-list__title" id="Az0bg34">Lemon</span>
188
+ </li>
189
+ </ul>
190
+ </div>
191
+ </div>
192
+ </div>
193
+ </div>
194
+ </div>
195
+ ```
196
+
197
+ ## States
198
+
199
+ | Class | Description |
200
+ |-------|-------------|
201
+ | `is-selected` | Selected state |
202
+ | `is-success` | Success state |
203
+
204
+ ## Related Components
205
+
206
+ This component works with or depends on:
207
+
208
+ - `bar`
209
+ - `button`
210
+ - `checkbox`
211
+ - `dialog`
212
+ - `form-item`
213
+ - `form-label`
214
+ - `form-message`
215
+ - `icon`
216
+ - `input`
217
+ - `input-group`
218
+ - `link`
219
+ - `list`
220
+ - `menu`
221
+ - `popover`
222
+ - `radio`
223
+ - `title`
224
+ - `token`
225
+ - `tokenizer`
226
+
227
+ ## Design Tokens
228
+
229
+ Key CSS variables used by this component:
230
+
231
+ - `--colon`
232
+ - `--disabled`
233
+ - `--inline-help`
234
+ - `--required`
235
+ - `--sapField_RequiredColor`
236
+ - `--sapField_TextColor`
237
+ - `--sapFontLargeSize`
238
+ - `--sapFontSize`
239
+ - `--stand-alone`
240
+ - `--unit-description`
241
+ - `--wrap`
242
+
243
+ ## Examples
244
+
245
+ ### AsFormItem
246
+
247
+ Note that the popover body width is restricted to a max of 37.5rem to avoid readability issues in large-width popovers.
248
+ Applications are free to override this in their custom styles if needed and own any readability issues arising from this override.
249
+
250
+ ```html
251
+ <div class="fd-form-item">
252
+ <label for="formItemMultiInput" class="fd-form-label">
253
+ Multi Input as form item
254
+ </label>
255
+ <div class="fd-popover">
256
+ <div class="fd-popover__control" aria-controls="F4GcX348a" aria-expanded="true" aria-haspopup="true">
257
+ <div class="fd-input-group fd-input-group--control">
258
+ <div class="fd-tokenizer">
259
+ <div class="fd-tokenizer__inner">
260
+ <span class="fd-token" tabindex="0" role="button">
261
+ <span class="fd-token__text">
262
+ Apple
263
+ </span>
264
+ <button aria-label="unselect option: apple" class="fd-token__close"></button>
265
+ </span>
266
+ <span class="fd-token" tabindex="0" role="button">
267
+ <span class="fd-token__text">
268
+ Orange
269
+ </span>
270
+ <button aria-label="unselect option: orange" class="fd-token__close"></button>
271
+ </span>
272
+ <span class="fd-token" tabindex="0" role="button">
273
+ <span class="fd-token__text">
274
+ Kiwi
275
+ </span>
276
+ <button aria-label="unselect option: kiwi" class="fd-token__close"></button>
277
+ </span>
278
+ <span class="fd-token" tabindex="0" role="button">
279
+ <span class="fd-token__text">
280
+ Banana
281
+ </span>
282
+ <button aria-label="unselect option: banana" class="fd-token__close"></button>
283
+ </span>
284
+ <input id="formItemMultiInput" class="fd-input fd-input-group__input fd-tokenizer__input" />
285
+ </div>
286
+ <span class="fd-input-group__addon fd-input-group__addon--button">
287
+ <button aria-label="show options" class="fd-input-group__button fd-button fd-button--transparent" aria-controls="F4GcX348a" aria-expanded="false" aria-haspopup="true">
288
+ <i class="sap-icon--value-help"></i>
289
+ </button>
290
+ </span>
291
+ </div>
292
+ </div>
293
+ <div class="fd-popover__body fd-popover__body--no-arrow fd-popover__body--dropdown fd-popover__body--dropdown-fill" aria-hidden="false" id="F4GcX348a">
294
+ <div class="fd-popover__wrapper">
295
+ <ul aria-multiselectable="true" role="listbox" aria-label="list of fruits" class="fd-list fd-list--multi-input">
296
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
297
+ <div class="fd-form-item fd-list__form-item">
298
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez620" checked aria-labelledby="Az0bg30">
299
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4e20">
300
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
301
+ </label>
302
+ </div>
303
+ <span class="fd-list__title" id="Az0bg30">Apple</span>
304
+ </li>
305
+
306
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
307
+ <div class="fd-form-item fd-list__form-item">
308
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez621" checked aria-labelledby="Az0bg31">
309
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez621">
310
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
311
+ </label>
312
+ </div>
313
+ <span class="fd-list__title" id="Az0bg31">Orange</span>
314
+ </li>
315
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
316
+ <div class="fd-form-item fd-list__form-item">
317
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez622" checked aria-labelledby="Az0bg32">
318
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez622">
319
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
320
+ </label>
321
+ </div>
322
+ <span class="fd-list__title" id="Az0bg32">Banana</span>
323
+ </li>
324
+ <li role="option" tabindex="0" class="fd-list__item">
325
+ <div class="fd-form-item fd-list__form-item">
326
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez623" aria-labelledby="Az0bg33">
327
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez623">
328
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
329
+ </label>
330
+ </div>
331
+ <span class="fd-list__title" id="Az0bg33">Kiwi</span>
332
+ </li>
333
+ <li role="option" tabindex="0" class="fd-list__item">
334
+ <div class="fd-form-item fd-list__form-item">
335
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez624" aria-labelledby="Az0bg34">
336
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez624">
337
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
338
+ </label>
339
+ </div>
340
+ <span class="fd-list__title" id="Az0bg34">Lemon</span>
341
+ </li>
342
+ </ul>
343
+ </div>
344
+ </div>
345
+ </div>
346
+ </div>
347
+ </div>
348
+ ```
349
+
350
+ ### Grouping
351
+
352
+ In cases where the list items need to be categorized into groups, it is possible to add headers for each category as seen below.
353
+
354
+ ```html
355
+ <label for="fruitsAndVegsMultiInput" class="fd-form-label">
356
+ Fruits and Vegetables
357
+ </label>
358
+ <div class="fd-popover">
359
+ <div class="fd-popover__control" aria-controls="F4H8X34a" aria-expanded="true" aria-haspopup="true">
360
+ <div class="fd-input-group fd-input-group--control">
361
+ <div class="fd-tokenizer">
362
+ <div class="fd-tokenizer__inner">
363
+ <span class="fd-token" tabindex="0" role="button">
364
+ <span class="fd-token__text">
365
+ Apple
366
+ </span>
367
+ <button aria-label="unselect option: apple" class="fd-token__close"></button>
368
+ </span>
369
+ <span class="fd-token" tabindex="0" role="button">
370
+ <span class="fd-token__text">
371
+ Orange
372
+ </span>
373
+ <button aria-label="unselect option: orange" class="fd-token__close"></button>
374
+ </span>
375
+ <span class="fd-token" tabindex="0" role="button">
376
+ <span class="fd-token__text">
377
+ Kiwi
378
+ </span>
379
+ <button aria-label="unselect option: kiwi" class="fd-token__close"></button>
380
+ </span>
381
+ <span class="fd-tokenizer__indicator">2 more</span>
382
+ <input id="fruitsAndVegsMultiInput" class="fd-input fd-input-group__input fd-tokenizer__input" />
383
+ </div>
384
+ <span class="fd-input-group__addon fd-input-group__addon--button">
385
+ <button aria-label="show options" class="fd-input-group__button fd-button fd-button--transparent" aria-controls="F4H8X34a" aria-expanded="false" aria-haspopup="true">
386
+ <i class="sap-icon--value-help"></i>
387
+ </button>
388
+ </span>
389
+ </div>
390
+ </div>
391
+ <div class="fd-popover__body fd-popover__body--no-arrow fd-popover__body--dropdown fd-popover__body--dropdown-fill" aria-hidden="false" id="F4H8X34a">
392
+ <div class="fd-popover__wrapper">
393
+ <h3 id="fruitListHeader" class="fd-list__group-header">
394
+ <span class="fd-list__title">Fruits</span>
395
+ </h3>
396
+ <ul aria-multiselectable="true" role="listbox" aria-labelledby="fruitListHeader" class="fd-list fd-list--multi-input">
397
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
398
+ <div class="fd-form-item fd-list__form-item">
399
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez625" checked aria-labelledby="Az0bg35">
400
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez625">
401
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
402
+ </label>
403
+ </div>
404
+ <span class="fd-list__title" id="Az0bg35">Apple</span>
405
+ </li>
406
+
407
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
408
+ <div class="fd-form-item fd-list__form-item">
409
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez626" checked aria-labelledby="Az0bg36">
410
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez626">
411
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
412
+ </label>
413
+ </div>
414
+ <span class="fd-list__title" id="Az0bg36">Orange</span>
415
+ </li>
416
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
417
+ <div class="fd-form-item fd-list__form-item">
418
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez627" checked aria-labelledby="Az0bg37">
419
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez627">
420
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
421
+ </label>
422
+ </div>
423
+ <span class="fd-list__title" id="Az0bg37">Banana</span>
424
+ </li>
425
+ <li role="option" tabindex="0" class="fd-list__item">
426
+ <div class="fd-form-item fd-list__form-item">
427
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez628" aria-labelledby="Az0bg38">
428
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez628">
429
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
430
+ </label>
431
+ </div>
432
+ <span class="fd-list__title" id="Az0bg38">Kiwi</span>
433
+ </li>
434
+ <li role="option" tabindex="0" class="fd-list__item">
435
+ <div class="fd-form-item fd-list__form-item">
436
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez629" aria-labelledby="Az0bg39">
437
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez629">
438
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
439
+ </label>
440
+ </div>
441
+ <span class="fd-list__title" id="Az0bg39">Lemon</span>
442
+ </li>
443
+ </ul>
444
+ <label class="fd-list__group-header" id="selectMultipleVegsLabel">
445
+ <span class="fd-list__title">Vegetables</span>
446
+ </label>
447
+ <ul class="fd-list fd-list--multi-input" role="listbox" aria-multiselectable="true" aria-labelledby="selectMultipleVegsLabel">
448
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
449
+ <div class="fd-form-item fd-list__form-item">
450
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez630" checked aria-labelledby="Az0bg40">
451
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez630">
452
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
453
+ </label>
454
+ </div>
455
+ <span class="fd-list__title" id="Az0bg40">Onion</span>
456
+ </li>
457
+
458
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
459
+ <div class="fd-form-item fd-list__form-item">
460
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez631" checked aria-labelledby="Az0bg41">
461
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez632">
462
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
463
+ </label>
464
+ </div>
465
+ <span class="fd-list__title" id="Az0bg41">Tomato</span>
466
+ </li>
467
+ </ul>
468
+ </div>
469
+ </div>
470
+ </div>
471
+ </div>
472
+ ```
473
+
474
+ ### MatchPopoverBodySize
475
+
476
+ The default length size of the popover body is often different from the text length.
477
+ The body length can be adjusted to match the text length by adding the \
478
+
479
+ ```html
480
+ <label for="matchPopoverBodySizeMultiInput" class="fd-form-label">
481
+ Fruits
482
+ </label>
483
+ <div class="fd-popover">
484
+ <div class="fd-popover__control" aria-controls="F4HGFHX34a" aria-expanded="true" aria-haspopup="true">
485
+ <div class="fd-input-group fd-input-group--control">
486
+ <div class="fd-tokenizer">
487
+ <div class="fd-tokenizer__inner">
488
+ <span class="fd-token" tabindex="0" role="button">
489
+ <span class="fd-token__text">
490
+ Apple
491
+ </span>
492
+ <button aria-label="unselect option: apple" class="fd-token__close"></button>
493
+ </span>
494
+ <span class="fd-token" tabindex="0" role="button">
495
+ <span class="fd-token__text">
496
+ Orange
497
+ </span>
498
+ <button aria-label="unselect option: orange" class="fd-token__close"></button>
499
+ </span>
500
+ <span class="fd-token" tabindex="0" role="button">
501
+ <span class="fd-token__text">
502
+ Kiwi
503
+ </span>
504
+ <button aria-label="unselect option: kiwi" class="fd-token__close"></button>
505
+ </span>
506
+ <span class="fd-tokenizer__indicator">2 more</span>
507
+ <input id="matchPopoverBodySizeMultiInput" class="fd-input fd-input-group__input fd-tokenizer__input" />
508
+ </div>
509
+ <span class="fd-input-group__addon fd-input-group__addon--button">
510
+ <button aria-label="show options" class="fd-input-group__button fd-button fd-button--transparent" aria-controls="F4HGFHX34a" aria-expanded="false" aria-haspopup="true">
511
+ <i class="sap-icon--value-help"></i>
512
+ </button>
513
+ </span>
514
+ </div>
515
+ </div>
516
+ <div class="fd-popover__body fd-popover__body--no-arrow fd-popover__body--dropdown" aria-hidden="false" id="F4HGFHX34a">
517
+ <div class="fd-popover__wrapper">
518
+ <ul aria-multiselectable="true" role="listbox" aria-label="list of fruits" class="fd-list fd-list--multi-input">
519
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
520
+ <div class="fd-form-item fd-list__form-item">
521
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez633" checked aria-labelledby="Az0bg42">
522
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez633">
523
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
524
+ </label>
525
+ </div>
526
+ <span class="fd-list__title" id="Az0bg42">Apple</span>
527
+ </li>
528
+
529
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
530
+ <div class="fd-form-item fd-list__form-item">
531
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez634" checked aria-labelledby="Az0bg43">
532
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez634">
533
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
534
+ </label>
535
+ </div>
536
+ <span class="fd-list__title" id="Az0bg43">Orange</span>
537
+ </li>
538
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
539
+ <div class="fd-form-item fd-list__form-item">
540
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez635" checked aria-labelledby="Az0bg44">
541
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez635">
542
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
543
+ </label>
544
+ </div>
545
+ <span class="fd-list__title" id="Az0bg44">Banana</span>
546
+ </li>
547
+ <li role="option" tabindex="0" class="fd-list__item">
548
+ <div class="fd-form-item fd-list__form-item">
549
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez636" aria-labelledby="Az0bg45">
550
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez636">
551
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
552
+ </label>
553
+ </div>
554
+ <span class="fd-list__title" id="Az0bg45">Kiwi</span>
555
+ </li>
556
+ <li role="option" tabindex="0" class="fd-list__item">
557
+ <div class="fd-form-item fd-list__form-item">
558
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez637" aria-labelledby="Az0bg46">
559
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez637">
560
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
561
+ </label>
562
+ </div>
563
+ <span class="fd-list__title" id="Az0bg46">Lemon</span>
564
+ </li>
565
+ </ul>
566
+ </div>
567
+ </div>
568
+ </div>
569
+ </div>
570
+ ```
571
+
572
+ ### MultiInputModes
573
+
574
+ To disable a \
575
+
576
+ ```html
577
+ <div>
578
+ <div>
579
+ <label for="disabledMultiInput" class="fd-form-label"> Latin Words (Disabled): </label>
580
+ <div class="fd-popover">
581
+ <div
582
+ class="fd-popover__control"
583
+ aria-expanded="false"
584
+ aria-haspopup="true"
585
+ aria-disabled="true"
586
+ disabled
587
+ >
588
+ <div class="fd-input-group fd-input-group--control" aria-disabled="true" disabled>
589
+ <div class="fd-tokenizer">
590
+ <div class="fd-tokenizer__inner">
591
+ <span class="fd-token fd-token--readonly" role="button">
592
+ <span class="fd-token__text"> Bibendum </span>
593
+ </span>
594
+ <span class="fd-token fd-token--readonly" role="button">
595
+ <span class="fd-token__text"> Lorem </span>
596
+ </span>
597
+ <span class="fd-token fd-token--readonly" role="button">
598
+ <span class="fd-token__text"> Dolor </span>
599
+ </span>
600
+ <span class="fd-token fd-token--readonly" role="button">
601
+ <span class="fd-token__text"> Filter </span>
602
+ </span>
603
+ <span class="fd-token fd-token--readonly">
604
+ <span class="fd-token__text"> Lorem </span>
605
+ </span>
606
+ <span class="fd-tokenizer__indicator">
607
+ <div class="fd-popover">
608
+ <div
609
+ class="fd-popover__control fd-input-group__control"
610
+ aria-controls="F4GcX34Xa"
611
+ aria-expanded="false"
612
+ aria-haspopup="true"
613
+ onclick="onPopoverClick('F4GcX34Xa');"
614
+ >
615
+ <a class="fd-link">
616
+ <span class="fd-link__content">2 more</span>
617
+ </a>
618
+ <div class="fd-popover__body" aria-hidden="true" id="F4GcX34Xa">
619
+ <nav class="fd-menu" id="">
620
+ <ul class="fd-menu__list fd-menu__list--no-shadow">
621
+ <li class="fd-menu__item">
622
+ <a tabindex="-1" href="#" class="fd-menu__link">
623
+ <span class="fd-menu__title">Consectetur</span>
624
+ </a>
625
+ </li>
626
+ <li class="fd-menu__item">
627
+ <a tabindex="-1" href="#" class="fd-menu__link">
628
+ <span class="fd-menu__title">Adipiscing</span>
629
+ </a>
630
+ </li>
631
+ </ul>
632
+ </nav>
633
+ </div>
634
+ </span>
635
+ <input
636
+ disabled
637
+ id="disabledMultiInput"
638
+ class="fd-input fd-input-group__input fd-tokenizer__input"
639
+ />
640
+ </div>
641
+ </div>
642
+ <span class="fd-input-group__addon fd-input-group__addon--button">
643
+ <button
644
+ aria-label="show options"
645
+ tabindex="-1"
646
+ class="fd-input-group__button fd-button fd-button--transparent"
647
+ >
648
+ <i class="sap-icon--value-help"></i>
649
+ </button>
650
+ </span>
651
+ </div>
652
+ </div>
653
+ </div>
654
+ </div>
655
+ </div>
656
+ <div>
657
+ <label for="readOnlyMultiInput" class="fd-form-label"> Latin Words (Readonly): </label>
658
+ <div class="fd-popover">
659
+ <div
660
+ class="fd-popover__control"
661
+ aria-expanded="false"
662
+ aria-haspopup="false"
663
+ >
664
+ <div class="fd-input-group fd-input-group--control" readonly aria-readonly="true">
665
+ <div class="fd-tokenizer fd-tokenizer--readonly">
666
+ <div class="fd-tokenizer__inner">
667
+ <span tabindex="0" class="fd-token fd-token--readonly">
668
+ <span class="fd-token__text"> Bibendum </span>
669
+ </span>
670
+ <span tabindex="0" class="fd-token fd-token--readonly">
671
+ <span class="fd-token__text"> Lorem </span>
672
+ </span>
673
+ <span tabindex="0" class="fd-token fd-token--readonly">
674
+ <span class="fd-token__text"> Dolor </span>
675
+ </span>
676
+ <span tabindex="0" class="fd-token fd-token--readonly">
677
+ <span class="fd-token__text"> Filter </span>
678
+ </span>
679
+ <span tabindex="0" class="fd-token fd-token--readonly">
680
+ <span class="fd-token__text"> Lorem </span>
681
+ </span>
682
+ <span class="fd-tokenizer__indicator">
683
+ <div class="fd-popover">
684
+ <div
685
+ class="fd-popover__control fd-input-group__control"
686
+ aria-controls="F4GF5348a"
687
+ aria-expanded="true"
688
+ aria-haspopup="true"
689
+ onclick="onPopoverClick('F4GF5348a');"
690
+ >
691
+ <a tabindex="0" class="fd-link">
692
+ <span class="fd-link__content">2 more</span>
693
+ </a>
694
+ <div class="fd-popover__body" aria-hidden="false" id="F4GF5348a">
695
+ <nav aria-label="more options for readonly input" class="fd-menu" id="">
696
+ <ul class="fd-menu__list fd-menu__list--no-shadow">
697
+ <li class="fd-menu__item">
698
+ <a href="#" class="fd-menu__link">
699
+ <span class="fd-menu__title">Consectetur</span>
700
+ </a>
701
+ </li>
702
+ <li class="fd-menu__item">
703
+ <a href="#" class="fd-menu__link">
704
+ <span class="fd-menu__title">Adipiscing</span>
705
+ </a>
706
+ </li>
707
+ </ul>
708
+ </nav>
709
+ </div>
710
+ </div>
711
+ </span>
712
+ <input
713
+ id="readOnlyMultiInput"
714
+ class="fd-input fd-input-group__input fd-tokenizer__input"
715
+ readonly
716
+ aria-readonly="true"
717
+ />
718
+ </div>
719
+ </div>
720
+ </div>
721
+ </div>
722
+ </div>
723
+ <div class="fd-form-item fd-form-item--horizontal">
724
+ <label for="displayOnlyMultiInput" class="fd-form-label"> Latin Words (Display-only): </label>
725
+ <div class="fd-popover">
726
+ <div
727
+ class="fd-popover__control"
728
+ aria-controls="F4GcX3X8a"
729
+ aria-expanded="false"
730
+ aria-haspopup="false"
731
+ >
732
+ <div class="fd-input-group fd-input-group--control" display>
733
+ <div class="fd-tokenizer fd-tokenizer--display">
734
+ <div class="fd-tokenizer__inner">
735
+ <span tabindex="0" class="fd-token fd-token--display">
736
+ <span class="fd-token__text"> Bibendum </span>
737
+ </span>
738
+ <span tabindex="0" class="fd-token fd-token--display">
739
+ <span class="fd-token__text"> Lorem </span>
740
+ </span>
741
+ <span tabindex="0" class="fd-token fd-token--display">
742
+ <span class="fd-token__text"> Dolor </span>
743
+ </span>
744
+ <span tabindex="0" class="fd-token fd-token--display">
745
+ <span class="fd-token__text"> Filter </span>
746
+ </span>
747
+ <span tabindex="0" class="fd-token fd-token--display">
748
+ <span class="fd-token__text"> Lorem </span>
749
+ </span>
750
+ <span class="fd-tokenizer__indicator">
751
+ <div class="fd-popover">
752
+ <div
753
+ class="fd-popover__control fd-input-group__control"
754
+ aria-controls="F4GF5348b"
755
+ aria-expanded="true"
756
+ aria-haspopup="true"
757
+ onclick="onPopoverClick('F4GF5348b');"
758
+ >
759
+ <a tabindex="0" class="fd-link">
760
+ <span class="fd-link__content">2 more</span>
761
+ </a>
762
+ <div class="fd-popover__body" aria-hidden="false" id="F4GF5348b">
763
+ <nav aria-label="more options for display only input" class="fd-menu" id="">
764
+ <ul class="fd-menu__list fd-menu__list--no-shadow">
765
+ <li class="fd-menu__item">
766
+ <a href="#" class="fd-menu__link">
767
+ <span class="fd-menu__title">Consectetur</span>
768
+ </a>
769
+ </li>
770
+ <li class="fd-menu__item">
771
+ <a href="#" class="fd-menu__link">
772
+ <span class="fd-menu__title">Adipiscing</span>
773
+ </a>
774
+ </li>
775
+ </ul>
776
+ </nav>
777
+ </div>
778
+ </div>
779
+ </span>
780
+ <input
781
+ id="displayOnlyMultiInput"
782
+ class="fd-input fd-input-group__input fd-tokenizer__input"
783
+ readonly
784
+ aria-readonly="true"
785
+ />
786
+ </div>
787
+ </div>
788
+ <span class="fd-input-group__addon fd-input-group__addon--button">
789
+ <button aria-label="show options" class="fd-input-group__button fd-button fd-button--transparent" aria-controls="F4HGFHX34a" aria-expanded="false" aria-haspopup="true">
790
+ <i class="sap-icon--value-help"></i>
791
+ </button>
792
+ </span>
793
+ </div>
794
+ </div>
795
+ </div>
796
+
797
+ <div class="fd-form-item fd-form-item--horizontal">
798
+ <label for="displayOnlyMultiInput" class="fd-form-label"> Latin Words (Display-only): </label>
799
+ <div class="fd-popover">
800
+ <div
801
+ class="fd-popover__control"
802
+ aria-controls="F4GcX3X8a"
803
+ aria-expanded="false"
804
+ aria-haspopup="false"
805
+ >
806
+ <div class="fd-input-group fd-input-group--control" display>
807
+ <div class="fd-tokenizer fd-tokenizer--display">
808
+ <div class="fd-tokenizer__inner">
809
+ <span tabindex="0" class="fd-token fd-token--display">
810
+ <span class="fd-token__text"> Bibendum </span>
811
+ </span>
812
+ <span tabindex="0" class="fd-token fd-token--display">
813
+ <span class="fd-token__text"> Lorem </span>
814
+ </span>
815
+ <span tabindex="0" class="fd-token fd-token--display">
816
+ <span class="fd-token__text"> Dolor </span>
817
+ </span>
818
+ <span tabindex="0" class="fd-token fd-token--display">
819
+ <span class="fd-token__text"> Filter </span>
820
+ </span>
821
+ <span tabindex="0" class="fd-token fd-token--display">
822
+ <span class="fd-token__text"> Lorem </span>
823
+ </span>
824
+ <input
825
+ id="displayOnlyMultiInput"
826
+ class="fd-input fd-input-group__input fd-tokenizer__input"
827
+ readonly
828
+ aria-readonly="true"
829
+ />
830
+ </div>
831
+ <span class="fd-input-group__addon fd-input-group__addon--button">
832
+ <button aria-label="show options" class="fd-input-group__button fd-button fd-button--transparent" aria-controls="F4HGFHX34a" aria-expanded="false" aria-haspopup="true">
833
+ <i class="sap-icon--value-help"></i>
834
+ </button>
835
+ </span>
836
+ </div>
837
+ </div>
838
+ </div>
839
+ </div>
840
+ ```
841
+
842
+ ### Semantic
843
+
844
+ For a complete list of states supported by the \
845
+
846
+ ```html
847
+ <label for="semanticMultiInput" class="fd-form-label">
848
+ Semantic Fruits
849
+ </label>
850
+ <div class="fd-popover">
851
+ <div class="fd-popover__control fd-input-group__control" aria-controls="F4GcKJH8a" aria-expanded="true" aria-haspopup="true">
852
+ <div class="fd-input-group fd-input-group--control is-success">
853
+ <div class="fd-tokenizer">
854
+ <div class="fd-tokenizer__inner">
855
+ <span class="fd-token" tabindex="0" role="button">
856
+ <span class="fd-token__text">
857
+ Apple
858
+ </span>
859
+ <button aria-label="unselect option: apple" class="fd-token__close"></button>
860
+ </span>
861
+ <span class="fd-token" tabindex="0" role="button">
862
+ <span class="fd-token__text">
863
+ Orange
864
+ </span>
865
+ <button aria-label="unselect option: orange" class="fd-token__close"></button>
866
+ </span>
867
+ <span class="fd-token" tabindex="0" role="button">
868
+ <span class="fd-token__text">
869
+ Kiwi
870
+ </span>
871
+ <button aria-label="unselect option: kiwi" class="fd-token__close"></button>
872
+ </span>
873
+ <span class="fd-tokenizer__indicator">4 more</span>
874
+ <input id="semanticMultiInput" class="fd-input fd-input-group__input fd-tokenizer__input" />
875
+ </div>
876
+ <span class="fd-input-group__addon fd-input-group__addon--button">
877
+ <button aria-label="show options" class="fd-input-group__button fd-button fd-button--transparent" aria-controls="F4GcKJH8a" aria-expanded="false" aria-haspopup="true">
878
+ <i class="sap-icon--value-help"></i>
879
+ </button>
880
+ </span>
881
+ </div>
882
+ </div>
883
+ <div class="fd-popover__body fd-popover__body--no-arrow fd-popover__body--dropdown fd-popover__body--dropdown-fill" aria-hidden="false" id="F4GcKJH8a">
884
+ <div class="fd-popover__wrapper">
885
+ <span class="fd-list__message fd-list__message--success">Success Message</span>
886
+ <ul aria-multiselectable="true" role="listbox" aria-label="list of fruits" class="fd-list fd-list--multi-input fd-list--has-message">
887
+ <li class="fd-list__message fd-list__message--success" role="option">Success Message</li>
888
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
889
+ <div class="fd-form-item fd-list__form-item">
890
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez638" checked aria-labelledby="Az0bg47">
891
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez638">
892
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
893
+ </label>
894
+ </div>
895
+ <span class="fd-list__title" id="Az0bg47">Apple</span>
896
+ </li>
897
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
898
+ <div class="fd-form-item fd-list__form-item">
899
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez639" checked aria-labelledby="Az0bg48">
900
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez639">
901
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
902
+ </label>
903
+ </div>
904
+ <span class="fd-list__title" id="Az0bg48">Orange</span>
905
+ </li>
906
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
907
+ <div class="fd-form-item fd-list__form-item">
908
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez640" checked aria-labelledby="Az0bg49">
909
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez640">
910
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
911
+ </label>
912
+ </div>
913
+ <span class="fd-list__title" id="Az0bg49">Banana</span>
914
+ </li>
915
+ <li role="option" tabindex="0" class="fd-list__item">
916
+ <div class="fd-form-item fd-list__form-item">
917
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez641" aria-labelledby="Az0bg50">
918
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez641">
919
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
920
+ </label>
921
+ </div>
922
+ <span class="fd-list__title" id="Az0bg50">Kiwi</span>
923
+ </li>
924
+ <li role="option" tabindex="0" class="fd-list__item">
925
+ <div class="fd-form-item fd-list__form-item">
926
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez642" aria-labelledby="Az0bg51">
927
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez642">
928
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
929
+ </label>
930
+ </div>
931
+ <span class="fd-list__title" id="Az0bg51">Lemon</span>
932
+ </li>
933
+ </ul>
934
+ </div>
935
+ </div>
936
+ </div>
937
+ </div>
938
+ ```
939
+
940
+ ### MobileMode
941
+
942
+ For mobile devices, or tablets, multi input component should be displayed in fullscreen mode.
943
+ So instead of using popover and dropdown, it should be wrapped in \
944
+
945
+ ```html
946
+ <section role="dialog" aria-labelledby="mobileModeMultiInputHeader"
947
+ class="fd-dialog fd-dialog-docs-static fd-select-docs-max-height fd-dialog--active" id="select-dialog-example">
948
+ <div class="fd-dialog__content fd-dialog__content--mobile">
949
+ <header class="fd-dialog__header fd-bar fd-bar--header-with-subheader">
950
+ <div class="fd-bar__left">
951
+ <div class="fd-bar__element">
952
+ <h3 id="mobileModeMultiInputHeader" class="fd-title fd-title--h5">
953
+ Select Ingredient
954
+ </h3>
955
+ </div>
956
+ </div>
957
+ <div class="fd-bar__right">
958
+ <div class="fd-bar__element">
959
+ <button class="fd-button fd-button--transparent" aria-label="close">
960
+ <i class="sap-icon--decline"></i>
961
+ </button>
962
+ </div>
963
+ </div>
964
+ </header>
965
+ <div class="fd-dialog__subheader fd-bar fd-bar--subheader">
966
+ <div class="fd-bar__middle">
967
+ <div class="fd-bar__element">
968
+ <div class="fd-input-group">
969
+ <div class="fd-tokenizer">
970
+ <div class="fd-tokenizer__inner">
971
+ <span class="fd-token" tabindex="0" role="button">
972
+ <span class="fd-token__text">
973
+ Apple
974
+ </span>
975
+ <button aria-label="unselect option: apple" class="fd-token__close"></button>
976
+ </span>
977
+ <span class="fd-token" tabindex="0" role="button">
978
+ <span class="fd-token__text">
979
+ Orange
980
+ </span>
981
+ <button aria-label="unselect option: orange" class="fd-token__close"></button>
982
+ </span>
983
+ <span class="fd-token" tabindex="0" role="button">
984
+ <span class="fd-token__text">
985
+ Kiwi
986
+ </span>
987
+ <button aria-label="unselect option: kiwi" class="fd-token__close"></button>
988
+ </span>
989
+ <span class="fd-tokenizer__indicator">4 more</span>
990
+ <input aria-labelledby="mobileModeMultiInputHeader"
991
+ class="fd-input fd-input-group__input fd-tokenizer__input" />
992
+ </div>
993
+ </div>
994
+ <span class="fd-input-group__addon fd-input-group__addon--button">
995
+ <button aria-label="show options"
996
+ class="fd-input-group__button fd-button fd-button--transparent">
997
+ <i class="sap-icon--value-help"></i>
998
+ </button>
999
+ </span>
1000
+ </div>
1001
+ </div>
1002
+ <div class="fd-bar__element">
1003
+ <button aria-label="select all" class="fd-button fd-button--transparent">
1004
+ <i class="sap-icon--multiselect-all"></i>
1005
+ </button>
1006
+ </div>
1007
+ </div>
1008
+ </div>
1009
+ <div class="fd-dialog__body fd-dialog__body--no-vertical-padding">
1010
+ <span class="fd-list__message fd-list__message--success">Success Message</span>
1011
+ <ul aria-multiselectable="true" role="listbox" aria-label="list of fruits"
1012
+ class="fd-list fd-list--multi-input fd-list--has-message fd-list--mobile">
1013
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
1014
+ <div class="fd-form-item fd-list__form-item">
1015
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez648" checked aria-labelledby="Az0bg57">
1016
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez648">
1017
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
1018
+ </label>
1019
+ </div>
1020
+ <span class="fd-list__title" id="Az0bg57">Apple</span>
1021
+ </li>
1022
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
1023
+ <div class="fd-form-item fd-list__form-item">
1024
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez649" checked aria-labelledby="Az0bg58">
1025
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez649">
1026
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
1027
+ </label>
1028
+ </div>
1029
+ <span class="fd-list__title" id="Az0bg58">Orange</span>
1030
+ </li>
1031
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
1032
+ <div class="fd-form-item fd-list__form-item">
1033
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez650" checked aria-labelledby="Az0bg59">
1034
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez650">
1035
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
1036
+ </label>
1037
+ </div>
1038
+ <span class="fd-list__title" id="Az0bg59">Banana</span>
1039
+ </li>
1040
+ </ul>
1041
+ </div>
1042
+ <footer class="fd-dialog__footer fd-bar fd-bar--footer">
1043
+ <div class="fd-bar__right">
1044
+ <div class="fd-bar__element">
1045
+ <button class="fd-button fd-button--emphasized fd-dialog__decisive-button">OK</button>
1046
+ </div>
1047
+ </div>
1048
+ </footer>
1049
+ </div>
1050
+ </section>
1051
+ ```
1052
+
1053
+ ### Filtering
1054
+
1055
+ The user can filter selectable options by typing in the input. A button with the text "Show All" should be displayed, that when clicked, will clear the text in the input and show all options in the list.
1056
+
1057
+ ```html
1058
+ <label for="filteringMultiInput" class="fd-form-label">
1059
+ Filtered Fruits
1060
+ </label>
1061
+ <div class="fd-popover">
1062
+ <div class="fd-popover__control" aria-controls="F4GcX348aB" aria-expanded="true" aria-haspopup="true">
1063
+ <div class="fd-input-group fd-input-group--control">
1064
+ <div class="fd-tokenizer">
1065
+ <div class="fd-tokenizer__inner">
1066
+ <span class="fd-token" tabindex="0" role="button">
1067
+ <span class="fd-token__text">
1068
+ Apple
1069
+ </span>
1070
+ <button aria-label="unselect option: apple" class="fd-token__close"></button>
1071
+ </span>
1072
+ <span class="fd-token" tabindex="0" role="button">
1073
+ <span class="fd-token__text">
1074
+ Orange
1075
+ </span>
1076
+ <button aria-label="unselect option: orange" class="fd-token__close"></button>
1077
+ </span>
1078
+ <span class="fd-token" tabindex="0" role="button">
1079
+ <span class="fd-token__text">
1080
+ Banana
1081
+ </span>
1082
+ <button aria-label="unselect option: banana" class="fd-token__close"></button>
1083
+ </span>
1084
+ <input id="filteringMultiInput" class="fd-input fd-input-group__input fd-tokenizer__input" value="A" />
1085
+ </div>
1086
+ <span class="fd-input-group__addon fd-input-group__addon--button">
1087
+ <button aria-label="show options" class="fd-input-group__button fd-button fd-button--transparent" aria-controls="F4GcX348aB" aria-expanded="false" aria-haspopup="true">
1088
+ <i class="sap-icon--value-help"></i>
1089
+ </button>
1090
+ </span>
1091
+ </div>
1092
+ </div>
1093
+ <div class="fd-popover__body fd-popover__body--no-arrow fd-popover__body--dropdown fd-popover__body--dropdown-fill" aria-hidden="false" id="F4GcX348aB">
1094
+ <ul aria-multiselectable="true" role="listbox" aria-label="list of fruits" class="fd-list fd-list--multi-input">
1095
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
1096
+ <div class="fd-form-item fd-list__form-item">
1097
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez651" checked aria-labelledby="Az0bg59">
1098
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez651">
1099
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
1100
+ </label>
1101
+ </div>
1102
+ <span class="fd-list__title" id="Az0bg59"><b>A</b>pple</span>
1103
+ <span class="fd-list__secondary">A2</span>
1104
+ </li>
1105
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
1106
+ <div class="fd-form-item fd-list__form-item">
1107
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez652" checked aria-labelledby="Az0bg60">
1108
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez652">
1109
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
1110
+ </label>
1111
+ </div>
1112
+ <span class="fd-list__title" id="Az0bg60">Or<b>a</b>nge</span>
1113
+ <span class="fd-list__secondary">A1</span>
1114
+ </li>
1115
+ <li role="option" tabindex="0" class="fd-list__item is-selected" aria-selected="true">
1116
+ <div class="fd-form-item fd-list__form-item">
1117
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez653" checked aria-labelledby="Az0bg61">
1118
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez653">
1119
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
1120
+ </label>
1121
+ </div>
1122
+ <span class="fd-list__title" id="Az0bg61">B<b>a</b>nana</span>
1123
+ <span class="fd-list__secondary">A3</span>
1124
+ </li>
1125
+ <li role="option" tabindex="0" class="fd-list__item">
1126
+ <div class="fd-form-item fd-list__form-item">
1127
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez654" aria-labelledby="Az0bg62">
1128
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez654">
1129
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
1130
+ </label>
1131
+ </div>
1132
+ <span class="fd-list__title" id="Az0bg62"><b>A</b>pple</span>
1133
+ <span class="fd-list__secondary">A1</span>
1134
+ </li>
1135
+ <li role="option" tabindex="0" class="fd-list__item">
1136
+ <div class="fd-form-item fd-list__form-item">
1137
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez655" aria-labelledby="Az0bg63">
1138
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez655">
1139
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
1140
+ </label>
1141
+ </div>
1142
+ <span class="fd-list__title" id="Az0bg63">Or<b>a</b>nge</span>
1143
+ <span class="fd-list__secondary">A2</span>
1144
+ </li>
1145
+ <li role="option" tabindex="0" class="fd-list__item">
1146
+ <div class="fd-form-item fd-list__form-item">
1147
+ <input type="checkbox" class="fd-checkbox" id="Ai4ez656" aria-labelledby="Az0bg64">
1148
+ <label tabindex="-1" class="fd-checkbox__label" for="Ai4ez656">
1149
+ <span class="fd-checkbox__checkmark" aria-hidden="true"></span>
1150
+ </label>
1151
+ </div>
1152
+ <span class="fd-list__title" id="Az0bg64">B<b>a</b>nana</span>
1153
+ <span class="fd-list__secondary">A3</span>
1154
+ </li>
1155
+ </ul>
1156
+ <span class="fd-list__footer">
1157
+ <a tabindex="0" role="button" class="fd-link">Show All</a>
1158
+ </span>
1159
+ </div>
1160
+ </div>
1161
+ </div>
1162
+ ```
1163
+
1164
+ ## Accessibility
1165
+
1166
+ - Use semantic HTML elements where appropriate
1167
+ - Include proper ARIA attributes for interactive elements
1168
+ - Ensure keyboard navigation support
1169
+ - Provide adequate color contrast
1170
+
1171
+ ## Source
1172
+
1173
+ This documentation was automatically generated from: `packages/styles/stories/Patterns/multi-input/multi-input.stories.js`
1174
+
1175
+ For the latest updates and interactive examples, see [Storybook](https://sap.github.io/fundamental-styles/).