@fundamental-styles/mcp 0.41.7-rc.8 → 0.41.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/AI_USAGE.md +425 -0
- package/data/CHANGELOG.md +53 -3
- package/data/component-catalog.json +62 -209
- package/data/components/README.md +281 -0
- package/data/components/action-bar.md +443 -0
- package/data/components/ai-busy-indicator.md +79 -0
- package/data/components/ai-loading-bar.md +66 -0
- package/data/components/avatar-btp.md +198 -0
- package/data/components/avatar-group.md +2660 -0
- package/data/components/avatar-product-switch.md +476 -0
- package/data/components/avatar.md +993 -0
- package/data/components/bar.md +574 -0
- package/data/components/border-radius.md +148 -0
- package/data/components/border.md +412 -0
- package/data/components/breadcrumb.md +546 -0
- package/data/components/button-2.md +440 -0
- package/data/components/button-action-sheet.md +292 -0
- package/data/components/button-ai.md +730 -0
- package/data/components/button-btp.md +223 -0
- package/data/components/button-button.md +233 -0
- package/data/components/button-counter.md +176 -0
- package/data/components/button-patterns.md +731 -0
- package/data/components/button-split.md +459 -0
- package/data/components/button.md +469 -0
- package/data/components/calendar.md +5784 -0
- package/data/components/card-card-media.md +707 -0
- package/data/components/card-card.md +2426 -0
- package/data/components/card-layouts.md +1201 -0
- package/data/components/card.md +2404 -0
- package/data/components/carousel.md +1506 -0
- package/data/components/code.md +139 -0
- package/data/components/component-reset.md +272 -0
- package/data/components/components-icons-businesssuiteinappsymbol-icons.md +85 -0
- package/data/components/components-icons-sap-icons.md +147 -0
- package/data/components/components-icons-tnt-icons.md +85 -0
- package/data/components/container-queries.md +221 -0
- package/data/components/container.md +227 -0
- package/data/components/dialog-docs-static-busy-indicator.md +165 -0
- package/data/components/dialog-docs-static-dialog.md +949 -0
- package/data/components/dialog-docs-static-patterns.md +147 -0
- package/data/components/dialog-docs-static-settings.md +528 -0
- package/data/components/dialog-docs-static.md +982 -0
- package/data/components/dialog.md +606 -0
- package/data/components/dynamic-page-dynamic-page.md +1914 -0
- package/data/components/dynamic-page.md +973 -0
- package/data/components/dynamic-side.md +197 -0
- package/data/components/elevation.md +110 -0
- package/data/components/feed-input.md +346 -0
- package/data/components/feed-list.md +580 -0
- package/data/components/fieldset-2.md +292 -0
- package/data/components/fieldset-forms.md +169 -0
- package/data/components/fieldset.md +381 -0
- package/data/components/flexible-column-layout.md +205 -0
- package/data/components/form-group.md +287 -0
- package/data/components/form-header.md +71 -0
- package/data/components/form-item-2.md +98 -0
- package/data/components/form-item-3.md +134 -0
- package/data/components/form-item-4.md +556 -0
- package/data/components/form-item-5.md +182 -0
- package/data/components/form-item-6.md +539 -0
- package/data/components/form-item-7.md +239 -0
- package/data/components/form-item-ai.md +158 -0
- package/data/components/form-item-file-uploader.md +445 -0
- package/data/components/form-item-forms.md +234 -0
- package/data/components/form-item-patterns.md +426 -0
- package/data/components/form-item.md +464 -0
- package/data/components/form-label-ai.md +126 -0
- package/data/components/form-label-layouts.md +306 -0
- package/data/components/form-label-patterns.md +1175 -0
- package/data/components/form-label-status-indicator.md +1083 -0
- package/data/components/form-label-step-input.md +620 -0
- package/data/components/form-label.md +2876 -0
- package/data/components/generic-tag.md +747 -0
- package/data/components/grid-list-grid-list.md +1185 -0
- package/data/components/grid-list.md +1449 -0
- package/data/components/heading.md +66 -0
- package/data/components/horizontal-navigation.md +568 -0
- package/data/components/icon-tab-bar-dev.md +190 -0
- package/data/components/icon-tab-bar.md +2620 -0
- package/data/components/icon.md +171 -0
- package/data/components/iconBusinessSuite.md +92 -0
- package/data/components/iconTnt.md +92 -0
- package/data/components/illustrated-message.md +439 -0
- package/data/components/info-label.md +348 -0
- package/data/components/input-group.md +2068 -0
- package/data/components/label.md +66 -0
- package/data/components/layout-grid.md +447 -0
- package/data/components/layout-panel.md +261 -0
- package/data/components/layouts-layout-grid.md +608 -0
- package/data/components/layouts-paddings.md +133 -0
- package/data/components/layouts-section.md +287 -0
- package/data/components/list-2.md +148 -0
- package/data/components/list-3.md +735 -0
- package/data/components/list-list.md +790 -0
- package/data/components/list-object-list.md +1225 -0
- package/data/components/list.md +1286 -0
- package/data/components/media-queries.md +168 -0
- package/data/components/menu.md +946 -0
- package/data/components/message-box-docs-static-ai.md +149 -0
- package/data/components/message-box-docs-static.md +527 -0
- package/data/components/message-page-upload-collection.md +678 -0
- package/data/components/message-page.md +256 -0
- package/data/components/message-strip.md +977 -0
- package/data/components/message-toast.md +119 -0
- package/data/components/micro-process-flow.md +991 -0
- package/data/components/navigation-menu.md +366 -0
- package/data/components/navigation-navigation.md +1245 -0
- package/data/components/navigation.md +2604 -0
- package/data/components/numeric-content.md +317 -0
- package/data/components/object-attribute.md +96 -0
- package/data/components/object-identifier.md +227 -0
- package/data/components/object-marker.md +202 -0
- package/data/components/object-number.md +327 -0
- package/data/components/object-status.md +1538 -0
- package/data/components/off-screen.md +87 -0
- package/data/components/overflow.md +97 -0
- package/data/components/padding.md +122 -0
- package/data/components/paddings.md +130 -0
- package/data/components/page.md +300 -0
- package/data/components/pagination.md +672 -0
- package/data/components/panel-layouts.md +345 -0
- package/data/components/panel.md +514 -0
- package/data/components/patterns-label.md +74 -0
- package/data/components/popover-2.md +906 -0
- package/data/components/popover-ai.md +466 -0
- package/data/components/popover-btp.md +886 -0
- package/data/components/popover-deprecated.md +308 -0
- package/data/components/popover-message-popover.md +683 -0
- package/data/components/popover-notification.md +1511 -0
- package/data/components/popover-patterns.md +1100 -0
- package/data/components/popover-popover.md +1862 -0
- package/data/components/popover-quick-view.md +385 -0
- package/data/components/popover-timepicker.md +1836 -0
- package/data/components/popover-user-menu.md +1303 -0
- package/data/components/popover.md +1938 -0
- package/data/components/progress-indicator.md +351 -0
- package/data/components/prompt-input-ai.md +226 -0
- package/data/components/prompt-input.md +226 -0
- package/data/components/rating-indicator.md +1469 -0
- package/data/components/resizable-card-layout.md +951 -0
- package/data/components/scrollbar.md +86 -0
- package/data/components/search-field.md +287 -0
- package/data/components/section.md +250 -0
- package/data/components/segmented-button.md +324 -0
- package/data/components/shellbar.md +2183 -0
- package/data/components/side-nav.md +1562 -0
- package/data/components/skeleton.md +243 -0
- package/data/components/slider.md +395 -0
- package/data/components/splitter.md +353 -0
- package/data/components/table.md +2749 -0
- package/data/components/tabs.md +658 -0
- package/data/components/text-text.md +380 -0
- package/data/components/text.md +253 -0
- package/data/components/tile.md +1132 -0
- package/data/components/time.md +818 -0
- package/data/components/title.md +153 -0
- package/data/components/titles.md +83 -0
- package/data/components/token.md +311 -0
- package/data/components/tokenizer.md +398 -0
- package/data/components/tool-header.md +1352 -0
- package/data/components/tool-layout.md +199 -0
- package/data/components/toolbar-ai.md +174 -0
- package/data/components/toolbar-btp.md +526 -0
- package/data/components/toolbar-title-bar.md +473 -0
- package/data/components/toolbar.md +432 -0
- package/data/components/tree.md +1031 -0
- package/data/components/typography.md +435 -0
- package/data/components/variant-management.md +360 -0
- package/data/components/vertical-nav.md +589 -0
- package/data/components/wizard.md +1429 -0
- package/data/examples/Components/dialog/device-specifications.example.html +39 -30
- package/data/examples/Components/shellbar/optional-items.example.html +210 -157
- package/data/examples/Components/shellbar/overflow-toolbar.example.html +202 -177
- package/data/examples/Components/shellbar/responsive-paddings.example.html +217 -146
- package/data/examples/Components/shellbar/responsiveness.example.html +825 -613
- package/data/examples/Components/user-menu/default.example.html +241 -83
- package/data/schemas/badge.schema.json +1 -1
- package/data/schemas/button-split.schema.json +1 -1
- package/data/schemas/component-frontmatter.schema.json +123 -0
- package/data/schemas/component-markdown.schema.json +81 -0
- package/data/schemas/counter.schema.json +1 -1
- package/data/schemas/dynamic-page.schema.json +1 -1
- package/data/schemas/dynamic-side-content.schema.json +1 -1
- package/data/schemas/facet.schema.json +1 -1
- package/data/schemas/fieldset.schema.json +1 -1
- package/data/schemas/flexible-column-layout.schema.json +1 -1
- package/data/schemas/form-group.schema.json +3 -2
- package/data/schemas/form-header.schema.json +1 -1
- package/data/schemas/form-label.schema.json +1 -0
- package/data/schemas/form-message.schema.json +1 -1
- package/data/schemas/grid-list.schema.json +1 -1
- package/data/schemas/input-group.schema.json +1 -1
- package/data/schemas/layout-panel.schema.json +1 -1
- package/data/schemas/page.schema.json +1 -1
- package/data/schemas/quick-view.schema.json +2 -1
- package/data/schemas/section.schema.json +1 -1
- package/data/schemas/side-nav.schema.json +1 -1
- package/data/schemas/splitter.schema.json +1 -1
- package/data/schemas/tabs.schema.json +1 -1
- package/data/schemas/tile.schema.json +1 -1
- package/data/schemas/tool-layout.schema.json +1 -1
- package/data/schemas/user-menu.schema.json +10 -0
- package/data/schemas/wizard.schema.json +1 -1
- package/package.json +1 -1
- package/src/data/load-catalog.d.ts +2 -0
- package/src/data/load-catalog.js +5 -1
- package/src/data/load-catalog.js.map +1 -1
- package/src/data/load-markdown-docs.d.ts +44 -0
- package/src/data/load-markdown-docs.js +179 -0
- package/src/data/load-markdown-docs.js.map +1 -0
- package/src/data/markdown-cache.d.ts +60 -0
- package/src/data/markdown-cache.js +218 -0
- package/src/data/markdown-cache.js.map +1 -0
- package/src/server.js +72 -1
- package/src/server.js.map +1 -1
|
@@ -0,0 +1,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/).
|