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