@iress-oss/ids-mcp-server 5.15.0 → 5.20.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/generated/docs/components_components-alert-docs.md +496 -0
  2. package/generated/docs/components_components-autocomplete-docs.md +3429 -0
  3. package/generated/docs/{components-autocomplete-recipes-docs.md → components_components-autocomplete-recipes-docs.md} +39 -14
  4. package/generated/docs/{components-badge-docs.md → components_components-badge-docs.md} +222 -30
  5. package/generated/docs/components_components-button-docs.md +2078 -0
  6. package/generated/docs/components_components-button-recipes-docs.md +37 -0
  7. package/generated/docs/components_components-buttongroup-docs.md +1045 -0
  8. package/generated/docs/components_components-card-docs.md +2290 -0
  9. package/generated/docs/{components-card-recipes-docs.md → components_components-card-recipes-docs.md} +132 -15
  10. package/generated/docs/components_components-checkbox-docs.md +1040 -0
  11. package/generated/docs/{components-checkboxgroup-docs.md → components_components-checkboxgroup-docs.md} +1001 -82
  12. package/generated/docs/{components-checkboxgroup-recipes-docs.md → components_components-checkboxgroup-recipes-docs.md} +102 -12
  13. package/generated/docs/{components-col-docs.md → components_components-col-docs.md} +331 -58
  14. package/generated/docs/components_components-combobox-docs.md +3735 -0
  15. package/generated/docs/{components-container-docs.md → components_components-container-docs.md} +61 -24
  16. package/generated/docs/{components-divider-docs.md → components_components-divider-docs.md} +83 -24
  17. package/generated/docs/{components-expander-docs.md → components_components-expander-docs.md} +266 -33
  18. package/generated/docs/components_components-field-docs.md +1369 -0
  19. package/generated/docs/components_components-filter-docs.md +4080 -0
  20. package/generated/docs/{components-form-docs.md → components_components-form-docs.md} +1556 -360
  21. package/generated/docs/{components-form-recipes-docs.md → components_components-form-recipes-docs.md} +277 -60
  22. package/generated/docs/{components-hide-docs.md → components_components-hide-docs.md} +195 -124
  23. package/generated/docs/components_components-icon-docs.md +1337 -0
  24. package/generated/docs/{components-inline-docs.md → components_components-inline-docs.md} +462 -42
  25. package/generated/docs/components_components-input-docs.md +1468 -0
  26. package/generated/docs/components_components-input-recipes-docs.md +367 -0
  27. package/generated/docs/components_components-inputcurrency-docs.md +432 -0
  28. package/generated/docs/{components-inputcurrency-recipes-docs.md → components_components-inputcurrency-recipes-docs.md} +113 -17
  29. package/generated/docs/components_components-label-docs.md +323 -0
  30. package/generated/docs/components_components-menu-docs.md +2345 -0
  31. package/generated/docs/components_components-menu-menuitem-docs.md +633 -0
  32. package/generated/docs/{components-modal-docs.md → components_components-modal-docs.md} +1640 -231
  33. package/generated/docs/components_components-navbar-docs.md +1847 -0
  34. package/generated/docs/{components-navbar-recipes-docs.md → components_components-navbar-recipes-docs.md} +721 -40
  35. package/generated/docs/{components-panel-docs.md → components_components-panel-docs.md} +754 -57
  36. package/generated/docs/components_components-placeholder-docs.md +92 -0
  37. package/generated/docs/components_components-popover-docs.md +1643 -0
  38. package/generated/docs/components_components-popover-recipes-docs.md +491 -0
  39. package/generated/docs/components_components-progress-docs.md +115 -0
  40. package/generated/docs/{components-provider-docs.md → components_components-provider-docs.md} +42 -33
  41. package/generated/docs/components_components-radio-docs.md +491 -0
  42. package/generated/docs/{components-radiogroup-docs.md → components_components-radiogroup-docs.md} +927 -75
  43. package/generated/docs/components_components-readonly-docs.md +263 -0
  44. package/generated/docs/components_components-richselect-docs.md +6521 -0
  45. package/generated/docs/{components-row-docs.md → components_components-row-docs.md} +353 -43
  46. package/generated/docs/{components-select-docs.md → components_components-select-docs.md} +719 -61
  47. package/generated/docs/components_components-skeleton-docs.md +480 -0
  48. package/generated/docs/{components-skeleton-recipes-docs.md → components_components-skeleton-recipes-docs.md} +51 -11
  49. package/generated/docs/{components-skiplink-docs.md → components_components-skiplink-docs.md} +53 -14
  50. package/generated/docs/components_components-slideout-docs.md +2293 -0
  51. package/generated/docs/components_components-slider-docs.md +1276 -0
  52. package/generated/docs/components_components-spinner-docs.md +82 -0
  53. package/generated/docs/{components-stack-docs.md → components_components-stack-docs.md} +223 -40
  54. package/generated/docs/components_components-table-docs.md +3658 -0
  55. package/generated/docs/components_components-tabset-docs.md +772 -0
  56. package/generated/docs/components_components-tabset-tab-docs.md +262 -0
  57. package/generated/docs/components_components-tag-docs.md +257 -0
  58. package/generated/docs/{components-text-docs.md → components_components-text-docs.md} +491 -51
  59. package/generated/docs/{components-toaster-docs.md → components_components-toaster-docs.md} +187 -85
  60. package/generated/docs/components_components-toaster-toast-docs.md +634 -0
  61. package/generated/docs/components_components-toggle-docs.md +461 -0
  62. package/generated/docs/{components-tooltip-docs.md → components_components-tooltip-docs.md} +286 -41
  63. package/generated/docs/{components-validationmessage-docs.md → components_components-validationmessage-docs.md} +230 -61
  64. package/generated/docs/components_contact-us-docs.md +12 -0
  65. package/generated/docs/{foundations-accessibility-docs.md → components_foundations-accessibility-docs.md} +11 -21
  66. package/generated/docs/{foundations-colours-docs.md → components_foundations-colour-030-colours.md} +8 -15
  67. package/generated/docs/{foundations-consistency-docs.md → components_foundations-consistency-docs.md} +12 -20
  68. package/generated/docs/{foundations-content-docs.md → components_foundations-content-docs.md} +6 -11
  69. package/generated/docs/components_foundations-introduction-docs.md +15 -0
  70. package/generated/docs/{foundations-principles-docs.md → components_foundations-principles-docs.md} +14 -24
  71. package/generated/docs/components_foundations-typography-docs.md +608 -0
  72. package/generated/docs/{foundations-user-experience-docs.md → components_foundations-user-experience-docs.md} +16 -26
  73. package/generated/docs/{foundations-visual-design-docs.md → components_foundations-visual-design-docs.md} +10 -17
  74. package/generated/docs/{frequently-asked-questions-docs.md → components_frequently-asked-questions-docs.md} +14 -23
  75. package/generated/docs/components_get-started-develop-docs.md +84 -0
  76. package/generated/docs/components_get-started-using-storybook-docs.md +55 -0
  77. package/generated/docs/components_introduction-docs.md +15 -0
  78. package/generated/docs/{patterns-loading-docs.md → components_patterns-loading-docs.md} +798 -153
  79. package/generated/docs/components_resources-changelog-docs.md +4 -0
  80. package/generated/docs/{resources-code-katas-docs.md → components_resources-code-katas-docs.md} +5 -9
  81. package/generated/docs/{resources-migration-guides-from-v4-to-v5-docs.md → components_resources-migration-guides-from-v4-to-v5-docs.md} +54 -239
  82. package/generated/docs/components_sandbox-docs.md +4 -0
  83. package/generated/docs/{versions-docs.md → components_versions-docs.md} +5 -8
  84. package/generated/docs/guidelines.md +484 -200
  85. package/generated/docs/introduction-docs.md +19 -30
  86. package/package.json +41 -45
  87. package/generated/docs/components-alert-docs.md +0 -130
  88. package/generated/docs/components-autocomplete-docs.md +0 -754
  89. package/generated/docs/components-button-docs.md +0 -362
  90. package/generated/docs/components-button-recipes-docs.md +0 -76
  91. package/generated/docs/components-buttongroup-docs.md +0 -310
  92. package/generated/docs/components-card-docs.md +0 -494
  93. package/generated/docs/components-checkbox-docs.md +0 -193
  94. package/generated/docs/components-combobox-docs.md +0 -1016
  95. package/generated/docs/components-field-docs.md +0 -675
  96. package/generated/docs/components-filter-docs.md +0 -1109
  97. package/generated/docs/components-icon-docs.md +0 -553
  98. package/generated/docs/components-input-docs.md +0 -335
  99. package/generated/docs/components-input-recipes-docs.md +0 -140
  100. package/generated/docs/components-inputcurrency-docs.md +0 -157
  101. package/generated/docs/components-label-docs.md +0 -135
  102. package/generated/docs/components-menu-docs.md +0 -704
  103. package/generated/docs/components-menu-menuitem-docs.md +0 -193
  104. package/generated/docs/components-navbar-docs.md +0 -291
  105. package/generated/docs/components-placeholder-docs.md +0 -27
  106. package/generated/docs/components-popover-docs.md +0 -464
  107. package/generated/docs/components-popover-recipes-docs.md +0 -245
  108. package/generated/docs/components-progress-docs.md +0 -104
  109. package/generated/docs/components-radio-docs.md +0 -107
  110. package/generated/docs/components-readonly-docs.md +0 -89
  111. package/generated/docs/components-richselect-docs.md +0 -2433
  112. package/generated/docs/components-skeleton-docs.md +0 -214
  113. package/generated/docs/components-slideout-docs.md +0 -538
  114. package/generated/docs/components-slider-docs.md +0 -346
  115. package/generated/docs/components-spinner-docs.md +0 -59
  116. package/generated/docs/components-table-ag-grid-docs.md +0 -1074
  117. package/generated/docs/components-table-docs.md +0 -1305
  118. package/generated/docs/components-tabset-docs.md +0 -341
  119. package/generated/docs/components-tabset-tab-docs.md +0 -86
  120. package/generated/docs/components-tag-docs.md +0 -115
  121. package/generated/docs/components-toaster-toast-docs.md +0 -157
  122. package/generated/docs/components-toggle-docs.md +0 -158
  123. package/generated/docs/contact-us-docs.md +0 -27
  124. package/generated/docs/extensions-editor-docs.md +0 -288
  125. package/generated/docs/extensions-editor-recipes-docs.md +0 -39
  126. package/generated/docs/foundations-introduction-docs.md +0 -17
  127. package/generated/docs/foundations-typography-docs.md +0 -191
  128. package/generated/docs/get-started-develop-docs.md +0 -209
  129. package/generated/docs/get-started-using-storybook-docs.md +0 -68
  130. package/generated/docs/resources-changelog-docs.md +0 -6
  131. package/generated/docs/themes-available-themes-docs.md +0 -66
  132. package/generated/docs/themes-introduction-docs.md +0 -121
  133. package/generated/docs/themes-tokens-docs.md +0 -1200
  134. /package/{LICENSE.txt → LICENSE} +0 -0
@@ -0,0 +1,2345 @@
1
+ Menu
2
+ ====
3
+
4
+ Overview
5
+ --------
6
+
7
+ A menu can display grouped action buttons, navigation items or headings.
8
+
9
+ [](./iframe.html?id=components-menu--basic)
10
+
11
+ Menu heading
12
+ ------------
13
+
14
+ Menu item (button)
15
+
16
+ * * *
17
+
18
+ [Menu item (link)](https://iress.com)Menu item (selected)
19
+
20
+ Hide codedrawOpen in CodeSandbox
21
+
22
+ <IressMenu defaultSelected\="5"\>
23
+ <IressMenuHeading\>
24
+ Menu heading </IressMenuHeading\>
25
+ <IressMenuItem value\="2"\>
26
+ Menu item (button) </IressMenuItem\>
27
+ <IressMenuDivider />
28
+ <IressMenuItem href\="https://iress.com"\>
29
+ Menu item (link) </IressMenuItem\>
30
+ <IressMenuItem
31
+ selected
32
+ value\={5}
33
+ \>
34
+ Menu item (selected) </IressMenuItem\>
35
+ </IressMenu\>
36
+
37
+ ```
38
+
39
+ Props
40
+ -----
41
+
42
+ Below are the custom props you can access when using `IressMenu`. In addition to these, you have access to the original props of the underlying [`div` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/div).
43
+
44
+ | Name | Description | Default | Control |
45
+ | --- | --- | --- | --- |
46
+ | changeOnBlur |
47
+ If set to true, change event will be fired with the correctly selected value.
48
+
49
+ boolean
50
+
51
+
52
+
53
+ | \- | Set boolean |
54
+ | children |
55
+
56
+ Content of the menu, usually multiple `IressMenuItem`, `IressMenuHeading` or `IressMenuDivider`.
57
+
58
+ ReactReactNode
59
+
60
+
61
+
62
+ | \- | childrenChoose option...nonebasiccomplexnavigationheadingsdividersslotsextraInformationselectable |
63
+ | defaultSelected |
64
+
65
+ Initially selected values of menu when `role` is listbox. Used for uncontrolled menus.
66
+
67
+ union
68
+
69
+
70
+
71
+ | \- |
72
+
73
+ "5"
74
+
75
+ |
76
+ | fluid |
77
+
78
+ If set to true, menu will fill the width of its container.
79
+
80
+ boolean
81
+
82
+
83
+
84
+ | \- | Set boolean |
85
+ | id |
86
+
87
+ Unique ID of the menu. If not provided, will be automatically generated. Used to add aria attributes for accessibility.
88
+
89
+ string
90
+
91
+
92
+
93
+ | \- | Set string |
94
+ | layout |
95
+
96
+ Sets whether the layout is vertical (stack) or horizontal (inline/inline-equal-width).
97
+
98
+ union
99
+
100
+
101
+
102
+ |
103
+
104
+ 'stack'
105
+
106
+ | Set object |
107
+ | multiSelect |
108
+
109
+ If set to true, menu items will contain checkboxes.
110
+
111
+ boolean
112
+
113
+
114
+
115
+ | \- | Set boolean |
116
+ | noWrap |
117
+
118
+ If set to true, menu items will not wrap onto a separate line when space is exceeded.
119
+
120
+ boolean
121
+
122
+
123
+
124
+ | \- | Set boolean |
125
+ | onChange |
126
+
127
+ Emitted when the menu value changes
128
+
129
+ (value?: MenuSelected | null) => void
130
+
131
+ | \- | \- |
132
+ | role |
133
+
134
+ Type of menu, corresponding to [aria-roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles). Will be set automatically when used inside popover or when the `multiSelect` prop is set to true.
135
+
136
+ union
137
+
138
+
139
+
140
+ | \- | Set object |
141
+ | selected |
142
+
143
+ Selected values of menu when `role` is listbox. Used for controlled menus.
144
+
145
+ union
146
+
147
+
148
+
149
+ | \- | Set object |
150
+ | type |
151
+
152
+ Type of Menu - will be set automatically when used inside popover or when the multiSelect prop is set to true.
153
+
154
+ MenuType
155
+
156
+ <table class="css-ymgjf7"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `role` instead.</td></tr></tbody></table>
157
+
158
+ | \- | Set object |
159
+
160
+ Usage
161
+ -----
162
+
163
+ ### Basic
164
+
165
+ `IressMenuHeading`, `IressMenuDivider` and `IressMenuItem` should be supplied as `children` of the menu.
166
+
167
+ * `IressMenuHeading` can be used to display a heading, it supports all of the props of `h*`. You can change the heading level with the `level` prop.
168
+ * `IressMenuDivider` can be used to display a divider, it supports all of the props of `hr`. It will adjust according to the menu's role and layout.
169
+ * `IressMenuItem` is a wrapper around `IressButton` and supports all of its props.
170
+
171
+ **Note:** The `mapMenuItems` helper function, originally used to map options to MenuItem components, is now deprecated. Instead, you can use `array.map` to map the options to menu sub-components.
172
+
173
+ [](./iframe.html?id=components-menu--basic)
174
+
175
+ Menu heading
176
+ ------------
177
+
178
+ Menu item (button)
179
+
180
+ * * *
181
+
182
+ [Menu item (link)](https://iress.com)Menu item (selected)
183
+
184
+ Hide codedrawOpen in CodeSandbox
185
+
186
+ <IressMenu defaultSelected\="5"\>
187
+ <IressMenuHeading\>
188
+ Menu heading </IressMenuHeading\>
189
+ <IressMenuItem value\="2"\>
190
+ Menu item (button) </IressMenuItem\>
191
+ <IressMenuDivider />
192
+ <IressMenuItem href\="https://iress.com"\>
193
+ Menu item (link) </IressMenuItem\>
194
+ <IressMenuItem
195
+ selected
196
+ value\={5}
197
+ \>
198
+ Menu item (selected) </IressMenuItem\>
199
+ </IressMenu\>
200
+
201
+ ```
202
+
203
+ #### Props
204
+
205
+ | Name | Description | Default | Control |
206
+ | --- | --- | --- | --- |
207
+ | changeOnBlur |
208
+ If set to true, change event will be fired with the correctly selected value.
209
+
210
+ boolean
211
+
212
+
213
+
214
+ | \- | Set boolean |
215
+ | children |
216
+
217
+ Content of the menu, usually multiple `IressMenuItem`, `IressMenuHeading` or `IressMenuDivider`.
218
+
219
+ ReactReactNode
220
+
221
+
222
+
223
+ | \- | childrenChoose option...nonebasiccomplexnavigationheadingsdividersslotsextraInformationselectable |
224
+ | defaultSelected |
225
+
226
+ Initially selected values of menu when `role` is listbox. Used for uncontrolled menus.
227
+
228
+ union
229
+
230
+
231
+
232
+ | \- |
233
+
234
+ "5"
235
+
236
+ |
237
+ | fluid |
238
+
239
+ If set to true, menu will fill the width of its container.
240
+
241
+ boolean
242
+
243
+
244
+
245
+ | \- | Set boolean |
246
+ | id |
247
+
248
+ Unique ID of the menu. If not provided, will be automatically generated. Used to add aria attributes for accessibility.
249
+
250
+ string
251
+
252
+
253
+
254
+ | \- | Set string |
255
+ | layout |
256
+
257
+ Sets whether the layout is vertical (stack) or horizontal (inline/inline-equal-width).
258
+
259
+ union
260
+
261
+
262
+
263
+ |
264
+
265
+ 'stack'
266
+
267
+ | Set object |
268
+ | multiSelect |
269
+
270
+ If set to true, menu items will contain checkboxes.
271
+
272
+ boolean
273
+
274
+
275
+
276
+ | \- | Set boolean |
277
+ | noWrap |
278
+
279
+ If set to true, menu items will not wrap onto a separate line when space is exceeded.
280
+
281
+ boolean
282
+
283
+
284
+
285
+ | \- | Set boolean |
286
+ | onChange |
287
+
288
+ Emitted when the menu value changes
289
+
290
+ (value?: MenuSelected | null) => void
291
+
292
+ | \- | \- |
293
+ | role |
294
+
295
+ Type of menu, corresponding to [aria-roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles). Will be set automatically when used inside popover or when the `multiSelect` prop is set to true.
296
+
297
+ union
298
+
299
+
300
+
301
+ | \- | Set object |
302
+ | selected |
303
+
304
+ Selected values of menu when `role` is listbox. Used for controlled menus.
305
+
306
+ union
307
+
308
+
309
+
310
+ | \- | Set object |
311
+ | type |
312
+
313
+ Type of Menu - will be set automatically when used inside popover or when the multiSelect prop is set to true.
314
+
315
+ MenuType
316
+
317
+ <table class="css-ymgjf7"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `role` instead.</td></tr></tbody></table>
318
+
319
+ | \- | Set object |
320
+
321
+ ### Complex
322
+
323
+ `IressMenuHeading` and `IressMenuItem` support `prepend`, `divider` and `append` slots, to allow you to create complex menu items.
324
+
325
+ [](./iframe.html?id=components-menu--complex)
326
+
327
+ Heading with prepend
328
+ --------------------
329
+
330
+ Button with append and prepend
331
+
332
+ ### Heading with append and prepend
333
+
334
+ [Link with append](https://iress.com)
335
+
336
+ * * *
337
+
338
+ Button with append[A link with a very long name that wraps based on the menu's `noWrap` prop](https://iress.com)
339
+
340
+ Hide codedrawOpen in CodeSandbox
341
+
342
+ <IressMenu\>
343
+ <IressMenuHeading prepend\={<IressIcon fixedWidth name\="smile"/>}\>
344
+ Heading with prepend </IressMenuHeading\>
345
+ <IressMenuItem
346
+ append\={<IressIcon name\="chevron-right" />}
347
+ divider
348
+ prepend\={<IressIcon fixedWidth name\="flag"/>}
349
+ selected
350
+ value\="3"
351
+ \>
352
+ Button with append and prepend </IressMenuItem\>
353
+ <IressMenuHeading
354
+ append\={<IressIcon fixedWidth name\="smile"/>}
355
+ level\="h3"
356
+ prepend\={<IressIcon fixedWidth name\="smile"/>}
357
+ \>
358
+ Heading with append and prepend </IressMenuHeading\>
359
+ <IressMenuItem
360
+ append\={<IressIcon name\="chevron-right" />}
361
+ href\="https://iress.com"
362
+ value\="4"
363
+ \>
364
+ Link with append </IressMenuItem\>
365
+ <IressMenuDivider />
366
+ <IressMenuItem
367
+ append\={<IressIcon name\="chevron-right" />}
368
+ value\="6"
369
+ \>
370
+ Button with append </IressMenuItem\>
371
+ <IressMenuItem
372
+ append\={<IressIcon name\="chevron-right" />}
373
+ href\="https://iress.com"
374
+ value\="7"
375
+ \>
376
+ A link with a very long name that wraps based on the menu's{' '} <code\>
377
+ noWrap </code\>
378
+ {' '}prop
379
+ </IressMenuItem\>
380
+ </IressMenu\>
381
+
382
+ ```
383
+
384
+ #### Props
385
+
386
+ | Name | Description | Default | Control |
387
+ | --- | --- | --- | --- |
388
+ | changeOnBlur |
389
+ If set to true, change event will be fired with the correctly selected value.
390
+
391
+ boolean
392
+
393
+
394
+
395
+ | \- | Set boolean |
396
+ | children |
397
+
398
+ Content of the menu, usually multiple `IressMenuItem`, `IressMenuHeading` or `IressMenuDivider`.
399
+
400
+ ReactReactNode
401
+
402
+
403
+
404
+ | \- | childrenChoose option...nonebasiccomplexnavigationheadingsdividersslotsextraInformationselectable |
405
+ | defaultSelected |
406
+
407
+ Initially selected values of menu when `role` is listbox. Used for uncontrolled menus.
408
+
409
+ union
410
+
411
+
412
+
413
+ | \- | Set object |
414
+ | fluid |
415
+
416
+ If set to true, menu will fill the width of its container.
417
+
418
+ boolean
419
+
420
+
421
+
422
+ | \- | Set boolean |
423
+ | id |
424
+
425
+ Unique ID of the menu. If not provided, will be automatically generated. Used to add aria attributes for accessibility.
426
+
427
+ string
428
+
429
+
430
+
431
+ | \- | Set string |
432
+ | layout |
433
+
434
+ Sets whether the layout is vertical (stack) or horizontal (inline/inline-equal-width).
435
+
436
+ union
437
+
438
+
439
+
440
+ |
441
+
442
+ 'stack'
443
+
444
+ | Set object |
445
+ | multiSelect |
446
+
447
+ If set to true, menu items will contain checkboxes.
448
+
449
+ boolean
450
+
451
+
452
+
453
+ | \- | Set boolean |
454
+ | noWrap |
455
+
456
+ If set to true, menu items will not wrap onto a separate line when space is exceeded.
457
+
458
+ boolean
459
+
460
+
461
+
462
+ | \- | Set boolean |
463
+ | onChange |
464
+
465
+ Emitted when the menu value changes
466
+
467
+ (value?: MenuSelected | null) => void
468
+
469
+ | \- | \- |
470
+ | role |
471
+
472
+ Type of menu, corresponding to [aria-roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles). Will be set automatically when used inside popover or when the `multiSelect` prop is set to true.
473
+
474
+ union
475
+
476
+
477
+
478
+ | \- | Set object |
479
+ | selected |
480
+
481
+ Selected values of menu when `role` is listbox. Used for controlled menus.
482
+
483
+ union
484
+
485
+
486
+
487
+ | \- | Set object |
488
+ | type |
489
+
490
+ Type of Menu - will be set automatically when used inside popover or when the multiSelect prop is set to true.
491
+
492
+ MenuType
493
+
494
+ <table class="css-ymgjf7"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `role` instead.</td></tr></tbody></table>
495
+
496
+ | \- | Set object |
497
+
498
+ Examples
499
+ --------
500
+
501
+ ### Secondary navigation
502
+
503
+ When the `href` prop is set on `MenuLink`, it will render as a link.
504
+
505
+ When rendering a set of links for navigation purposes (as a secondary nav in this example) make sure you wrap the `IressMenu` in a nav element and set the menu's `role` prop to list.
506
+
507
+ [](./iframe.html?id=components-menu--secondary-navigation)
508
+
509
+ [Financial advice](https://www.iress.com/software/financial-advice/)[Trading and market data](https://www.iress.com/software/trading-and-market-data/)[Investment management](https://www.iress.com/software/investment-management/)[Mortgages](https://www.iress.com/software/mortgages/)[Life and pensions](https://www.iress.com/software/life-and-pensions/)
510
+
511
+ Hide codedrawOpen in CodeSandbox
512
+
513
+ <nav aria-label\="Secondary"\>
514
+ <IressMenu\>
515
+ <IressMenuItem href\="https://www.iress.com/software/financial-advice/"\>
516
+ Financial advice </IressMenuItem\>
517
+ <IressMenuItem
518
+ href\="https://www.iress.com/software/trading-and-market-data/"
519
+ selected
520
+ \>
521
+ Trading and market data </IressMenuItem\>
522
+ <IressMenuItem href\="https://www.iress.com/software/investment-management/"\>
523
+ Investment management </IressMenuItem\>
524
+ <IressMenuItem href\="https://www.iress.com/software/mortgages/"\>
525
+ Mortgages </IressMenuItem\>
526
+ <IressMenuItem href\="https://www.iress.com/software/life-and-pensions/"\>
527
+ Life and pensions </IressMenuItem\>
528
+ </IressMenu\>
529
+ </nav\>
530
+
531
+ ```
532
+
533
+ #### Props
534
+
535
+ | Name | Description | Default | Control |
536
+ | --- | --- | --- | --- |
537
+ | changeOnBlur |
538
+ If set to true, change event will be fired with the correctly selected value.
539
+
540
+ boolean
541
+
542
+
543
+
544
+ | \- | Set boolean |
545
+ | children |
546
+
547
+ Content of the menu, usually multiple `IressMenuItem`, `IressMenuHeading` or `IressMenuDivider`.
548
+
549
+ ReactReactNode
550
+
551
+
552
+
553
+ | \- | childrenChoose option...nonebasiccomplexnavigationheadingsdividersslotsextraInformationselectable |
554
+ | defaultSelected |
555
+
556
+ Initially selected values of menu when `role` is listbox. Used for uncontrolled menus.
557
+
558
+ union
559
+
560
+
561
+
562
+ | \- | Set object |
563
+ | fluid |
564
+
565
+ If set to true, menu will fill the width of its container.
566
+
567
+ boolean
568
+
569
+
570
+
571
+ | \- | Set boolean |
572
+ | id |
573
+
574
+ Unique ID of the menu. If not provided, will be automatically generated. Used to add aria attributes for accessibility.
575
+
576
+ string
577
+
578
+
579
+
580
+ | \- | Set string |
581
+ | layout |
582
+
583
+ Sets whether the layout is vertical (stack) or horizontal (inline/inline-equal-width).
584
+
585
+ union
586
+
587
+
588
+
589
+ |
590
+
591
+ 'stack'
592
+
593
+ | Set object |
594
+ | multiSelect |
595
+
596
+ If set to true, menu items will contain checkboxes.
597
+
598
+ boolean
599
+
600
+
601
+
602
+ | \- | Set boolean |
603
+ | noWrap |
604
+
605
+ If set to true, menu items will not wrap onto a separate line when space is exceeded.
606
+
607
+ boolean
608
+
609
+
610
+
611
+ | \- | Set boolean |
612
+ | onChange |
613
+
614
+ Emitted when the menu value changes
615
+
616
+ (value?: MenuSelected | null) => void
617
+
618
+ | \- | \- |
619
+ | role |
620
+
621
+ Type of menu, corresponding to [aria-roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles). Will be set automatically when used inside popover or when the `multiSelect` prop is set to true.
622
+
623
+ union
624
+
625
+
626
+
627
+ | \- | Set object |
628
+ | selected |
629
+
630
+ Selected values of menu when `role` is listbox. Used for controlled menus.
631
+
632
+ union
633
+
634
+
635
+
636
+ | \- | Set object |
637
+ | type |
638
+
639
+ Type of Menu - will be set automatically when used inside popover or when the multiSelect prop is set to true.
640
+
641
+ MenuType
642
+
643
+ <table class="css-ymgjf7"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `role` instead.</td></tr></tbody></table>
644
+
645
+ | \- | Set object |
646
+
647
+ ### Headings
648
+
649
+ Using the `IressMenuHeading` component, you can create headings within the menu. You can also change the heading level with the `level` prop.
650
+
651
+ [](./iframe.html?id=components-menu--headings)
652
+
653
+ #### Menu heading (h4)
654
+
655
+ Menu item 1
656
+
657
+ ##### Menu heading (h5)
658
+
659
+ Menu item 2
660
+
661
+ Hide codedrawOpen in CodeSandbox
662
+
663
+ <IressMenu\>
664
+ <IressMenuHeading level\="h4"\>
665
+ Menu heading (h4) </IressMenuHeading\>
666
+ <IressMenuItem\>
667
+ Menu item 1 </IressMenuItem\>
668
+ <IressMenuHeading level\="h5"\>
669
+ Menu heading (h5) </IressMenuHeading\>
670
+ <IressMenuItem\>
671
+ Menu item 2 </IressMenuItem\>
672
+ </IressMenu\>
673
+
674
+ ```
675
+
676
+ #### Props
677
+
678
+ | Name | Description | Default | Control |
679
+ | --- | --- | --- | --- |
680
+ | changeOnBlur |
681
+ If set to true, change event will be fired with the correctly selected value.
682
+
683
+ boolean
684
+
685
+
686
+
687
+ | \- | Set boolean |
688
+ | children |
689
+
690
+ Content of the menu, usually multiple `IressMenuItem`, `IressMenuHeading` or `IressMenuDivider`.
691
+
692
+ ReactReactNode
693
+
694
+
695
+
696
+ | \- | childrenChoose option...nonebasiccomplexnavigationheadingsdividersslotsextraInformationselectable |
697
+ | defaultSelected |
698
+
699
+ Initially selected values of menu when `role` is listbox. Used for uncontrolled menus.
700
+
701
+ union
702
+
703
+
704
+
705
+ | \- | Set object |
706
+ | fluid |
707
+
708
+ If set to true, menu will fill the width of its container.
709
+
710
+ boolean
711
+
712
+
713
+
714
+ | \- | Set boolean |
715
+ | id |
716
+
717
+ Unique ID of the menu. If not provided, will be automatically generated. Used to add aria attributes for accessibility.
718
+
719
+ string
720
+
721
+
722
+
723
+ | \- | Set string |
724
+ | layout |
725
+
726
+ Sets whether the layout is vertical (stack) or horizontal (inline/inline-equal-width).
727
+
728
+ union
729
+
730
+
731
+
732
+ |
733
+
734
+ 'stack'
735
+
736
+ | Set object |
737
+ | multiSelect |
738
+
739
+ If set to true, menu items will contain checkboxes.
740
+
741
+ boolean
742
+
743
+
744
+
745
+ | \- | Set boolean |
746
+ | noWrap |
747
+
748
+ If set to true, menu items will not wrap onto a separate line when space is exceeded.
749
+
750
+ boolean
751
+
752
+
753
+
754
+ | \- | Set boolean |
755
+ | onChange |
756
+
757
+ Emitted when the menu value changes
758
+
759
+ (value?: MenuSelected | null) => void
760
+
761
+ | \- | \- |
762
+ | role |
763
+
764
+ Type of menu, corresponding to [aria-roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles). Will be set automatically when used inside popover or when the `multiSelect` prop is set to true.
765
+
766
+ union
767
+
768
+
769
+
770
+ | \- | Set object |
771
+ | selected |
772
+
773
+ Selected values of menu when `role` is listbox. Used for controlled menus.
774
+
775
+ union
776
+
777
+
778
+
779
+ | \- | Set object |
780
+ | type |
781
+
782
+ Type of Menu - will be set automatically when used inside popover or when the multiSelect prop is set to true.
783
+
784
+ MenuType
785
+
786
+ <table class="css-ymgjf7"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `role` instead.</td></tr></tbody></table>
787
+
788
+ | \- | Set object |
789
+
790
+ ### Dividers
791
+
792
+ When the `divider` prop is set, the `IressMenuHeading`, `IressMenuButton` and `IressMenuLink` will render a bottom border.
793
+
794
+ In situations where a bottom border will not work, you can also use `IressMenuDivider` inside the menu to separate items.
795
+
796
+ [](./iframe.html?id=components-menu--dividers)
797
+
798
+ #### Menu heading (h4)
799
+
800
+ Menu item 1Menu item 2
801
+
802
+ ##### Menu heading (h5)
803
+
804
+ Menu item 3Menu item 4
805
+
806
+ * * *
807
+
808
+ Menu item 5
809
+
810
+ Hide codedrawOpen in CodeSandbox
811
+
812
+ <IressMenu\>
813
+ <IressMenuHeading
814
+ divider
815
+ level\="h4"
816
+ \>
817
+ Menu heading (h4) </IressMenuHeading\>
818
+ <IressMenuItem\>
819
+ Menu item 1 </IressMenuItem\>
820
+ <IressMenuItem divider\>
821
+ Menu item 2 </IressMenuItem\>
822
+ <IressMenuHeading level\="h5"\>
823
+ Menu heading (h5) </IressMenuHeading\>
824
+ <IressMenuItem selected\>
825
+ Menu item 3 </IressMenuItem\>
826
+ <IressMenuItem\>
827
+ Menu item 4 </IressMenuItem\>
828
+ <IressMenuDivider />
829
+ <IressMenuItem\>
830
+ Menu item 5 </IressMenuItem\>
831
+ </IressMenu\>
832
+
833
+ ```
834
+
835
+ #### Props
836
+
837
+ | Name | Description | Default | Control |
838
+ | --- | --- | --- | --- |
839
+ | changeOnBlur |
840
+ If set to true, change event will be fired with the correctly selected value.
841
+
842
+ boolean
843
+
844
+
845
+
846
+ | \- | Set boolean |
847
+ | children |
848
+
849
+ Content of the menu, usually multiple `IressMenuItem`, `IressMenuHeading` or `IressMenuDivider`.
850
+
851
+ ReactReactNode
852
+
853
+
854
+
855
+ | \- | childrenChoose option...nonebasiccomplexnavigationheadingsdividersslotsextraInformationselectable |
856
+ | defaultSelected |
857
+
858
+ Initially selected values of menu when `role` is listbox. Used for uncontrolled menus.
859
+
860
+ union
861
+
862
+
863
+
864
+ | \- | Set object |
865
+ | fluid |
866
+
867
+ If set to true, menu will fill the width of its container.
868
+
869
+ boolean
870
+
871
+
872
+
873
+ | \- | Set boolean |
874
+ | id |
875
+
876
+ Unique ID of the menu. If not provided, will be automatically generated. Used to add aria attributes for accessibility.
877
+
878
+ string
879
+
880
+
881
+
882
+ | \- | Set string |
883
+ | layout |
884
+
885
+ Sets whether the layout is vertical (stack) or horizontal (inline/inline-equal-width).
886
+
887
+ union
888
+
889
+
890
+
891
+ |
892
+
893
+ 'stack'
894
+
895
+ | Set object |
896
+ | multiSelect |
897
+
898
+ If set to true, menu items will contain checkboxes.
899
+
900
+ boolean
901
+
902
+
903
+
904
+ | \- | Set boolean |
905
+ | noWrap |
906
+
907
+ If set to true, menu items will not wrap onto a separate line when space is exceeded.
908
+
909
+ boolean
910
+
911
+
912
+
913
+ | \- | Set boolean |
914
+ | onChange |
915
+
916
+ Emitted when the menu value changes
917
+
918
+ (value?: MenuSelected | null) => void
919
+
920
+ | \- | \- |
921
+ | role |
922
+
923
+ Type of menu, corresponding to [aria-roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles). Will be set automatically when used inside popover or when the `multiSelect` prop is set to true.
924
+
925
+ union
926
+
927
+
928
+
929
+ | \- | Set object |
930
+ | selected |
931
+
932
+ Selected values of menu when `role` is listbox. Used for controlled menus.
933
+
934
+ union
935
+
936
+
937
+
938
+ | \- | Set object |
939
+ | type |
940
+
941
+ Type of Menu - will be set automatically when used inside popover or when the multiSelect prop is set to true.
942
+
943
+ MenuType
944
+
945
+ <table class="css-ymgjf7"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `role` instead.</td></tr></tbody></table>
946
+
947
+ | \- | Set object |
948
+
949
+ ### Fluid menus
950
+
951
+ By setting the `fluid` prop on the menu component, the menu will stretch to the width of its containing element.
952
+
953
+ [](./iframe.html?id=components-menu--fluid)
954
+
955
+ Menu heading
956
+ ------------
957
+
958
+ Menu item (button)
959
+
960
+ * * *
961
+
962
+ [Menu item (link)](https://iress.com)Menu item (selected)
963
+
964
+ Hide codedrawOpen in CodeSandbox
965
+
966
+ <IressMenu
967
+ defaultSelected\="5"
968
+ fluid
969
+ \>
970
+ <IressMenuHeading\>
971
+ Menu heading </IressMenuHeading\>
972
+ <IressMenuItem value\="2"\>
973
+ Menu item (button) </IressMenuItem\>
974
+ <IressMenuDivider />
975
+ <IressMenuItem href\="https://iress.com"\>
976
+ Menu item (link) </IressMenuItem\>
977
+ <IressMenuItem
978
+ selected
979
+ value\={5}
980
+ \>
981
+ Menu item (selected) </IressMenuItem\>
982
+ </IressMenu\>
983
+
984
+ ```
985
+
986
+ #### Props
987
+
988
+ | Name | Description | Default | Control |
989
+ | --- | --- | --- | --- |
990
+ | changeOnBlur |
991
+ If set to true, change event will be fired with the correctly selected value.
992
+
993
+ boolean
994
+
995
+
996
+
997
+ | \- | Set boolean |
998
+ | children |
999
+
1000
+ Content of the menu, usually multiple `IressMenuItem`, `IressMenuHeading` or `IressMenuDivider`.
1001
+
1002
+ ReactReactNode
1003
+
1004
+
1005
+
1006
+ | \- | childrenChoose option...nonebasiccomplexnavigationheadingsdividersslotsextraInformationselectable |
1007
+ | defaultSelected |
1008
+
1009
+ Initially selected values of menu when `role` is listbox. Used for uncontrolled menus.
1010
+
1011
+ union
1012
+
1013
+
1014
+
1015
+ | \- |
1016
+
1017
+ "5"
1018
+
1019
+ |
1020
+ | fluid |
1021
+
1022
+ If set to true, menu will fill the width of its container.
1023
+
1024
+ boolean
1025
+
1026
+
1027
+
1028
+ | \- | FalseTrue |
1029
+ | id |
1030
+
1031
+ Unique ID of the menu. If not provided, will be automatically generated. Used to add aria attributes for accessibility.
1032
+
1033
+ string
1034
+
1035
+
1036
+
1037
+ | \- | Set string |
1038
+ | layout |
1039
+
1040
+ Sets whether the layout is vertical (stack) or horizontal (inline/inline-equal-width).
1041
+
1042
+ union
1043
+
1044
+
1045
+
1046
+ |
1047
+
1048
+ 'stack'
1049
+
1050
+ | Set object |
1051
+ | multiSelect |
1052
+
1053
+ If set to true, menu items will contain checkboxes.
1054
+
1055
+ boolean
1056
+
1057
+
1058
+
1059
+ | \- | Set boolean |
1060
+ | noWrap |
1061
+
1062
+ If set to true, menu items will not wrap onto a separate line when space is exceeded.
1063
+
1064
+ boolean
1065
+
1066
+
1067
+
1068
+ | \- | Set boolean |
1069
+ | onChange |
1070
+
1071
+ Emitted when the menu value changes
1072
+
1073
+ (value?: MenuSelected | null) => void
1074
+
1075
+ | \- | \- |
1076
+ | role |
1077
+
1078
+ Type of menu, corresponding to [aria-roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles). Will be set automatically when used inside popover or when the `multiSelect` prop is set to true.
1079
+
1080
+ union
1081
+
1082
+
1083
+
1084
+ | \- | Set object |
1085
+ | selected |
1086
+
1087
+ Selected values of menu when `role` is listbox. Used for controlled menus.
1088
+
1089
+ union
1090
+
1091
+
1092
+
1093
+ | \- | Set object |
1094
+ | type |
1095
+
1096
+ Type of Menu - will be set automatically when used inside popover or when the multiSelect prop is set to true.
1097
+
1098
+ MenuType
1099
+
1100
+ <table class="css-ymgjf7"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `role` instead.</td></tr></tbody></table>
1101
+
1102
+ | \- | Set object |
1103
+
1104
+ ### Layout
1105
+
1106
+ The `layout` prop comes with three options:
1107
+
1108
+ * `stack` (default) - menu items will stack on top of each other
1109
+ * `inline` - menu items will be inline
1110
+ * `inline-equal-width` - menu items will be inline and have equal width
1111
+
1112
+ [](./iframe.html?id=components-menu--layout)
1113
+
1114
+ ### stack
1115
+
1116
+ Menu heading
1117
+ ------------
1118
+
1119
+ Menu item (button)
1120
+
1121
+ * * *
1122
+
1123
+ [Menu item (link)](https://iress.com)Menu item (selected)
1124
+
1125
+ ### inline
1126
+
1127
+ Menu heading
1128
+ ------------
1129
+
1130
+ Menu item (button)
1131
+
1132
+ * * *
1133
+
1134
+ [Menu item (link)](https://iress.com)Menu item (selected)
1135
+
1136
+ ### inline-equal-width
1137
+
1138
+ Menu heading
1139
+ ------------
1140
+
1141
+ Menu item (button)
1142
+
1143
+ * * *
1144
+
1145
+ [Menu item (link)](https://iress.com)Menu item (selected)
1146
+
1147
+ Hide codedrawOpen in CodeSandbox
1148
+
1149
+ <IressStack gutter\="lg"\>
1150
+ <IressText\>
1151
+ <h3\>
1152
+ stack </h3\>
1153
+ <IressMenu
1154
+ defaultSelected\="5"
1155
+ layout\="stack"
1156
+ \>
1157
+ <IressMenuHeading\>
1158
+ Menu heading </IressMenuHeading\>
1159
+ <IressMenuItem value\="2"\>
1160
+ Menu item (button) </IressMenuItem\>
1161
+ <IressMenuDivider />
1162
+ <IressMenuItem href\="https://iress.com"\>
1163
+ Menu item (link) </IressMenuItem\>
1164
+ <IressMenuItem
1165
+ selected
1166
+ value\={5}
1167
+ \>
1168
+ Menu item (selected) </IressMenuItem\>
1169
+ </IressMenu\>
1170
+ </IressText\>
1171
+ <IressText\>
1172
+ <h3\>
1173
+ inline </h3\>
1174
+ <IressMenu
1175
+ defaultSelected\="5"
1176
+ layout\="inline"
1177
+ \>
1178
+ <IressMenuHeading\>
1179
+ Menu heading </IressMenuHeading\>
1180
+ <IressMenuItem value\="2"\>
1181
+ Menu item (button) </IressMenuItem\>
1182
+ <IressMenuDivider />
1183
+ <IressMenuItem href\="https://iress.com"\>
1184
+ Menu item (link) </IressMenuItem\>
1185
+ <IressMenuItem
1186
+ selected
1187
+ value\={5}
1188
+ \>
1189
+ Menu item (selected) </IressMenuItem\>
1190
+ </IressMenu\>
1191
+ </IressText\>
1192
+ <IressText\>
1193
+ <h3\>
1194
+ inline-equal-width </h3\>
1195
+ <IressMenu
1196
+ defaultSelected\="5"
1197
+ layout\="inline-equal-width"
1198
+ \>
1199
+ <IressMenuHeading\>
1200
+ Menu heading </IressMenuHeading\>
1201
+ <IressMenuItem value\="2"\>
1202
+ Menu item (button) </IressMenuItem\>
1203
+ <IressMenuDivider />
1204
+ <IressMenuItem href\="https://iress.com"\>
1205
+ Menu item (link) </IressMenuItem\>
1206
+ <IressMenuItem
1207
+ selected
1208
+ value\={5}
1209
+ \>
1210
+ Menu item (selected) </IressMenuItem\>
1211
+ </IressMenu\>
1212
+ </IressText\>
1213
+ </IressStack\>
1214
+
1215
+ ```
1216
+
1217
+ #### Props
1218
+
1219
+ | Name | Description | Default | Control |
1220
+ | --- | --- | --- | --- |
1221
+ | changeOnBlur |
1222
+ If set to true, change event will be fired with the correctly selected value.
1223
+
1224
+ boolean
1225
+
1226
+
1227
+
1228
+ | \- | Set boolean |
1229
+ | children |
1230
+
1231
+ Content of the menu, usually multiple `IressMenuItem`, `IressMenuHeading` or `IressMenuDivider`.
1232
+
1233
+ ReactReactNode
1234
+
1235
+
1236
+
1237
+ | \- | \- |
1238
+ | defaultSelected |
1239
+
1240
+ Initially selected values of menu when `role` is listbox. Used for uncontrolled menus.
1241
+
1242
+ union
1243
+
1244
+
1245
+
1246
+ | \- |
1247
+
1248
+ "5"
1249
+
1250
+ |
1251
+ | fluid |
1252
+
1253
+ If set to true, menu will fill the width of its container.
1254
+
1255
+ boolean
1256
+
1257
+
1258
+
1259
+ | \- | Set boolean |
1260
+ | id |
1261
+
1262
+ Unique ID of the menu. If not provided, will be automatically generated. Used to add aria attributes for accessibility.
1263
+
1264
+ string
1265
+
1266
+
1267
+
1268
+ | \- | Set string |
1269
+ | layout |
1270
+
1271
+ Sets whether the layout is vertical (stack) or horizontal (inline/inline-equal-width).
1272
+
1273
+ union
1274
+
1275
+
1276
+
1277
+ |
1278
+
1279
+ 'stack'
1280
+
1281
+ | \- |
1282
+ | multiSelect |
1283
+
1284
+ If set to true, menu items will contain checkboxes.
1285
+
1286
+ boolean
1287
+
1288
+
1289
+
1290
+ | \- | Set boolean |
1291
+ | noWrap |
1292
+
1293
+ If set to true, menu items will not wrap onto a separate line when space is exceeded.
1294
+
1295
+ boolean
1296
+
1297
+
1298
+
1299
+ | \- | Set boolean |
1300
+ | onChange |
1301
+
1302
+ Emitted when the menu value changes
1303
+
1304
+ (value?: MenuSelected | null) => void
1305
+
1306
+ | \- | \- |
1307
+ | role |
1308
+
1309
+ Type of menu, corresponding to [aria-roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles). Will be set automatically when used inside popover or when the `multiSelect` prop is set to true.
1310
+
1311
+ union
1312
+
1313
+
1314
+
1315
+ | \- | Set object |
1316
+ | selected |
1317
+
1318
+ Selected values of menu when `role` is listbox. Used for controlled menus.
1319
+
1320
+ union
1321
+
1322
+
1323
+
1324
+ | \- | Set object |
1325
+ | type |
1326
+
1327
+ Type of Menu - will be set automatically when used inside popover or when the multiSelect prop is set to true.
1328
+
1329
+ MenuType
1330
+
1331
+ <table class="css-ymgjf7"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `role` instead.</td></tr></tbody></table>
1332
+
1333
+ | \- | Set object |
1334
+
1335
+ ### Text wrapping
1336
+
1337
+ By default, menu item text will wrap on to the next line when it exceeds the menu width. Using the `noWrap` prop, you set the menu item text to not wrap.
1338
+
1339
+ [](./iframe.html?id=components-menu--no-wrap)
1340
+
1341
+ Menu item with some text that wraps
1342
+
1343
+ Non wrapping menu item with some text
1344
+
1345
+ Hide codedrawOpen in CodeSandbox
1346
+
1347
+ <div
1348
+ style\={{
1349
+ display: 'flex',
1350
+ maxWidth: '300px'
1351
+ }}
1352
+ \>
1353
+ <IressMenu defaultSelected\="5"\>
1354
+ <IressMenuItem\>
1355
+ Menu item with some text that wraps </IressMenuItem\>
1356
+ </IressMenu\>
1357
+ <IressMenu
1358
+ defaultSelected\="5"
1359
+ noWrap
1360
+ \>
1361
+ <IressMenuItem\>
1362
+ Non wrapping menu item with some text </IressMenuItem\>
1363
+ </IressMenu\>
1364
+ </div\>
1365
+
1366
+ ```
1367
+
1368
+ #### Props
1369
+
1370
+ | Name | Description | Default | Control |
1371
+ | --- | --- | --- | --- |
1372
+ | changeOnBlur |
1373
+ If set to true, change event will be fired with the correctly selected value.
1374
+
1375
+ boolean
1376
+
1377
+
1378
+
1379
+ | \- | Set boolean |
1380
+ | children |
1381
+
1382
+ Content of the menu, usually multiple `IressMenuItem`, `IressMenuHeading` or `IressMenuDivider`.
1383
+
1384
+ ReactReactNode
1385
+
1386
+
1387
+
1388
+ | \- | \- |
1389
+ | defaultSelected |
1390
+
1391
+ Initially selected values of menu when `role` is listbox. Used for uncontrolled menus.
1392
+
1393
+ union
1394
+
1395
+
1396
+
1397
+ | \- |
1398
+
1399
+ "5"
1400
+
1401
+ |
1402
+ | fluid |
1403
+
1404
+ If set to true, menu will fill the width of its container.
1405
+
1406
+ boolean
1407
+
1408
+
1409
+
1410
+ | \- | Set boolean |
1411
+ | id |
1412
+
1413
+ Unique ID of the menu. If not provided, will be automatically generated. Used to add aria attributes for accessibility.
1414
+
1415
+ string
1416
+
1417
+
1418
+
1419
+ | \- | Set string |
1420
+ | layout |
1421
+
1422
+ Sets whether the layout is vertical (stack) or horizontal (inline/inline-equal-width).
1423
+
1424
+ union
1425
+
1426
+
1427
+
1428
+ |
1429
+
1430
+ 'stack'
1431
+
1432
+ | Set object |
1433
+ | multiSelect |
1434
+
1435
+ If set to true, menu items will contain checkboxes.
1436
+
1437
+ boolean
1438
+
1439
+
1440
+
1441
+ | \- | Set boolean |
1442
+ | noWrap |
1443
+
1444
+ If set to true, menu items will not wrap onto a separate line when space is exceeded.
1445
+
1446
+ boolean
1447
+
1448
+
1449
+
1450
+ | \- | \- |
1451
+ | onChange |
1452
+
1453
+ Emitted when the menu value changes
1454
+
1455
+ (value?: MenuSelected | null) => void
1456
+
1457
+ | \- | \- |
1458
+ | role |
1459
+
1460
+ Type of menu, corresponding to [aria-roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles). Will be set automatically when used inside popover or when the `multiSelect` prop is set to true.
1461
+
1462
+ union
1463
+
1464
+
1465
+
1466
+ | \- | Set object |
1467
+ | selected |
1468
+
1469
+ Selected values of menu when `role` is listbox. Used for controlled menus.
1470
+
1471
+ union
1472
+
1473
+
1474
+
1475
+ | \- | Set object |
1476
+ | type |
1477
+
1478
+ Type of Menu - will be set automatically when used inside popover or when the multiSelect prop is set to true.
1479
+
1480
+ MenuType
1481
+
1482
+ <table class="css-ymgjf7"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `role` instead.</td></tr></tbody></table>
1483
+
1484
+ | \- | Set object |
1485
+
1486
+ ### Slot props
1487
+
1488
+ `IressMenuHeading`, `IressMenuButton` and `IressMenuLink` provide `prepend` and `append` props to position content either before or after its content.
1489
+
1490
+ [](./iframe.html?id=components-menu--slot-props)
1491
+
1492
+ Prepend slot
1493
+ ------------
1494
+
1495
+ New fileSave file as
1496
+
1497
+ ### Append slot
1498
+
1499
+ [Visit the Iress website](https://www.iress.com)[Visit Google8+](https://google.com)
1500
+
1501
+ Hide codedrawOpen in CodeSandbox
1502
+
1503
+ <IressMenu role\="menu"\>
1504
+ <IressMenuHeading prepend\={<IressIcon name\="cog" />}\>
1505
+ Prepend slot </IressMenuHeading\>
1506
+ <IressMenuItem
1507
+ onClick\={() \=> {}}
1508
+ prepend\={<IressIcon name\="file-alt" />}
1509
+ \>
1510
+ New file </IressMenuItem\>
1511
+ <IressMenuItem
1512
+ divider
1513
+ onClick\={() \=> {}}
1514
+ prepend\={<IressIcon name\="save" />}
1515
+ \>
1516
+ Save file as </IressMenuItem\>
1517
+ <IressMenuHeading
1518
+ append\={<IressIcon name\="link" />}
1519
+ level\="h3"
1520
+ \>
1521
+ Append slot </IressMenuHeading\>
1522
+ <IressMenuItem
1523
+ append\={<IressIcon name\="chevron-right" />}
1524
+ href\="https://www.iress.com"
1525
+ \>
1526
+ Visit the Iress website </IressMenuItem\>
1527
+ <IressMenuItem
1528
+ append\={<IressBadge mode\="warning"\>8+</IressBadge\>}
1529
+ href\="https://google.com"
1530
+ \>
1531
+ Visit Google </IressMenuItem\>
1532
+ </IressMenu\>
1533
+
1534
+ ```
1535
+
1536
+ #### Props
1537
+
1538
+ | Name | Description | Default | Control |
1539
+ | --- | --- | --- | --- |
1540
+ | changeOnBlur |
1541
+ If set to true, change event will be fired with the correctly selected value.
1542
+
1543
+ boolean
1544
+
1545
+
1546
+
1547
+ | \- | Set boolean |
1548
+ | children |
1549
+
1550
+ Content of the menu, usually multiple `IressMenuItem`, `IressMenuHeading` or `IressMenuDivider`.
1551
+
1552
+ ReactReactNode
1553
+
1554
+
1555
+
1556
+ | \- | childrenChoose option...nonebasiccomplexnavigationheadingsdividersslotsextraInformationselectable |
1557
+ | defaultSelected |
1558
+
1559
+ Initially selected values of menu when `role` is listbox. Used for uncontrolled menus.
1560
+
1561
+ union
1562
+
1563
+
1564
+
1565
+ | \- | Set object |
1566
+ | fluid |
1567
+
1568
+ If set to true, menu will fill the width of its container.
1569
+
1570
+ boolean
1571
+
1572
+
1573
+
1574
+ | \- | Set boolean |
1575
+ | id |
1576
+
1577
+ Unique ID of the menu. If not provided, will be automatically generated. Used to add aria attributes for accessibility.
1578
+
1579
+ string
1580
+
1581
+
1582
+
1583
+ | \- | Set string |
1584
+ | layout |
1585
+
1586
+ Sets whether the layout is vertical (stack) or horizontal (inline/inline-equal-width).
1587
+
1588
+ union
1589
+
1590
+
1591
+
1592
+ |
1593
+
1594
+ 'stack'
1595
+
1596
+ | Set object |
1597
+ | multiSelect |
1598
+
1599
+ If set to true, menu items will contain checkboxes.
1600
+
1601
+ boolean
1602
+
1603
+
1604
+
1605
+ | \- | Set boolean |
1606
+ | noWrap |
1607
+
1608
+ If set to true, menu items will not wrap onto a separate line when space is exceeded.
1609
+
1610
+ boolean
1611
+
1612
+
1613
+
1614
+ | \- | Set boolean |
1615
+ | onChange |
1616
+
1617
+ Emitted when the menu value changes
1618
+
1619
+ (value?: MenuSelected | null) => void
1620
+
1621
+ | \- | \- |
1622
+ | role |
1623
+
1624
+ Type of menu, corresponding to [aria-roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles). Will be set automatically when used inside popover or when the `multiSelect` prop is set to true.
1625
+
1626
+ union
1627
+
1628
+
1629
+
1630
+ | \- |
1631
+
1632
+ "menu"
1633
+
1634
+ |
1635
+ | selected |
1636
+
1637
+ Selected values of menu when `role` is listbox. Used for controlled menus.
1638
+
1639
+ union
1640
+
1641
+
1642
+
1643
+ | \- | Set object |
1644
+ | type |
1645
+
1646
+ Type of Menu - will be set automatically when used inside popover or when the multiSelect prop is set to true.
1647
+
1648
+ MenuType
1649
+
1650
+ <table class="css-ymgjf7"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `role` instead.</td></tr></tbody></table>
1651
+
1652
+ | \- | Set object |
1653
+
1654
+ ### Roles
1655
+
1656
+ The `role` prop that comes with the menu component not only changes the aria-role of the menu to allow it to be easily recognised in screen readers, but also changes how the menu is interacted with.
1657
+
1658
+ There are four roles supported:
1659
+
1660
+ * `list` (default): The menu is treated as a list of items. Child menu subcomponents render with the `listitem` role where appropriate. The user navigates using the `tab` key.
1661
+ * `menu`: The menu is treated as a menu of items. Child menu subcomponents render with the `menuitem` role where appropriate. The user navigates using `arrow` keys.
1662
+ * `listbox`: The menu is treated as a list of selectable items, similar to a `<select />`. Child menu subcomponents render with the `option` role where appropriate. The user navigates using `arrow` keys.
1663
+ * `nav`: The menu is treated the same as the `list` role, except the menu is styled differently.
1664
+
1665
+ **Note:** When menu is used as a child of popover, the `role` that is set on popover will be applied to menu (so you don't need to set it twice).
1666
+
1667
+ #### List
1668
+
1669
+ The default role for the menu component is `list`. It is most often used for navigation and its items can be navigated (using the keyboard) with the `tab` key.
1670
+
1671
+ [](./iframe.html?id=components-menu--list-role)
1672
+
1673
+ Menu heading
1674
+ ------------
1675
+
1676
+ Menu item (button)
1677
+
1678
+ * * *
1679
+
1680
+ [Menu item (link)](https://iress.com)Menu item (selected)
1681
+
1682
+ The list menu is used to describe that the items are related to the same context, similar to using `ul` or `ol` lists. It is activated by setting the `role` prop to `list`.
1683
+
1684
+ Keyboard interaction
1685
+
1686
+ * Menu items cannot be navigated using the arrow keys
1687
+ * Menu items are navigated using the `tab` key
1688
+
1689
+ Hide codedrawOpen in CodeSandbox
1690
+
1691
+ <IressMenu defaultSelected\={5}\>
1692
+ <IressMenuHeading\>
1693
+ Menu heading </IressMenuHeading\>
1694
+ <IressMenuItem value\="2"\>
1695
+ Menu item (button) </IressMenuItem\>
1696
+ <IressMenuDivider />
1697
+ <IressMenuItem href\="https://iress.com"\>
1698
+ Menu item (link) </IressMenuItem\>
1699
+ <IressMenuItem
1700
+ selected
1701
+ value\={5}
1702
+ \>
1703
+ Menu item (selected) </IressMenuItem\>
1704
+ </IressMenu\>
1705
+
1706
+ ```
1707
+
1708
+ #### Props
1709
+
1710
+ | Name | Description | Default | Control |
1711
+ | --- | --- | --- | --- |
1712
+ | changeOnBlur |
1713
+ If set to true, change event will be fired with the correctly selected value.
1714
+
1715
+ boolean
1716
+
1717
+
1718
+
1719
+ | \- | Set boolean |
1720
+ | children |
1721
+
1722
+ Content of the menu, usually multiple `IressMenuItem`, `IressMenuHeading` or `IressMenuDivider`.
1723
+
1724
+ ReactReactNode
1725
+
1726
+
1727
+
1728
+ | \- | childrenChoose option...nonebasiccomplexnavigationheadingsdividersslotsextraInformationselectable |
1729
+ | defaultSelected |
1730
+
1731
+ Initially selected values of menu when `role` is listbox. Used for uncontrolled menus.
1732
+
1733
+ union
1734
+
1735
+
1736
+
1737
+ | \- |
1738
+
1739
+ 5
1740
+
1741
+ |
1742
+ | fluid |
1743
+
1744
+ If set to true, menu will fill the width of its container.
1745
+
1746
+ boolean
1747
+
1748
+
1749
+
1750
+ | \- | Set boolean |
1751
+ | id |
1752
+
1753
+ Unique ID of the menu. If not provided, will be automatically generated. Used to add aria attributes for accessibility.
1754
+
1755
+ string
1756
+
1757
+
1758
+
1759
+ | \- | Set string |
1760
+ | layout |
1761
+
1762
+ Sets whether the layout is vertical (stack) or horizontal (inline/inline-equal-width).
1763
+
1764
+ union
1765
+
1766
+
1767
+
1768
+ |
1769
+
1770
+ 'stack'
1771
+
1772
+ | Set object |
1773
+ | multiSelect |
1774
+
1775
+ If set to true, menu items will contain checkboxes.
1776
+
1777
+ boolean
1778
+
1779
+
1780
+
1781
+ | \- | Set boolean |
1782
+ | noWrap |
1783
+
1784
+ If set to true, menu items will not wrap onto a separate line when space is exceeded.
1785
+
1786
+ boolean
1787
+
1788
+
1789
+
1790
+ | \- | Set boolean |
1791
+ | onChange |
1792
+
1793
+ Emitted when the menu value changes
1794
+
1795
+ (value?: MenuSelected | null) => void
1796
+
1797
+ | \- | \- |
1798
+ | role |
1799
+
1800
+ Type of menu, corresponding to [aria-roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles). Will be set automatically when used inside popover or when the `multiSelect` prop is set to true.
1801
+
1802
+ union
1803
+
1804
+
1805
+
1806
+ | \- | Set object |
1807
+ | selected |
1808
+
1809
+ Selected values of menu when `role` is listbox. Used for controlled menus.
1810
+
1811
+ union
1812
+
1813
+
1814
+
1815
+ | \- | Set object |
1816
+ | type |
1817
+
1818
+ Type of Menu - will be set automatically when used inside popover or when the multiSelect prop is set to true.
1819
+
1820
+ MenuType
1821
+
1822
+ <table class="css-ymgjf7"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `role` instead.</td></tr></tbody></table>
1823
+
1824
+ | \- | Set object |
1825
+
1826
+ #### Menu
1827
+
1828
+ The `menu` role is used when the items in the menu has an action that performs a task in the application. The items can be navigated (using the keyboard) with the `arrow` keys, depending on the layout.
1829
+
1830
+ [](./iframe.html?id=components-menu--menu-role)
1831
+
1832
+ Menu heading
1833
+ ------------
1834
+
1835
+ Menu item (button)
1836
+
1837
+ * * *
1838
+
1839
+ [Menu item (link)](https://iress.com)Menu item (selected)
1840
+
1841
+ The application menu is used when the items in the menu has an action that performs a task in the application. It is activated by setting the `role` prop to `menu`.
1842
+
1843
+ Keyboard interaction
1844
+
1845
+ * In stack layout, pressing the `up` arrow key on the first item will focus the last item
1846
+ * In stack layout, pressing the `down` arrow key on the last item will focus the first item
1847
+ * In inline layouts, pressing the `left` arrow key on the first item will focus the last item
1848
+ * In inline layouts, pressing the `right` arrow key on the last item will focus the first item
1849
+ * Pressing the `tab` key when focused on any item in the menu will focus to next focusable item outside of the menu
1850
+
1851
+ Hide codedrawOpen in CodeSandbox
1852
+
1853
+ <IressMenu
1854
+ defaultSelected\={5}
1855
+ role\="menu"
1856
+ \>
1857
+ <IressMenuHeading\>
1858
+ Menu heading </IressMenuHeading\>
1859
+ <IressMenuItem value\="2"\>
1860
+ Menu item (button) </IressMenuItem\>
1861
+ <IressMenuDivider />
1862
+ <IressMenuItem href\="https://iress.com"\>
1863
+ Menu item (link) </IressMenuItem\>
1864
+ <IressMenuItem
1865
+ selected
1866
+ value\={5}
1867
+ \>
1868
+ Menu item (selected) </IressMenuItem\>
1869
+ </IressMenu\>
1870
+
1871
+ ```
1872
+
1873
+ #### Props
1874
+
1875
+ | Name | Description | Default | Control |
1876
+ | --- | --- | --- | --- |
1877
+ | changeOnBlur |
1878
+ If set to true, change event will be fired with the correctly selected value.
1879
+
1880
+ boolean
1881
+
1882
+
1883
+
1884
+ | \- | Set boolean |
1885
+ | children |
1886
+
1887
+ Content of the menu, usually multiple `IressMenuItem`, `IressMenuHeading` or `IressMenuDivider`.
1888
+
1889
+ ReactReactNode
1890
+
1891
+
1892
+
1893
+ | \- | childrenChoose option...nonebasiccomplexnavigationheadingsdividersslotsextraInformationselectable |
1894
+ | defaultSelected |
1895
+
1896
+ Initially selected values of menu when `role` is listbox. Used for uncontrolled menus.
1897
+
1898
+ union
1899
+
1900
+
1901
+
1902
+ | \- |
1903
+
1904
+ 5
1905
+
1906
+ |
1907
+ | fluid |
1908
+
1909
+ If set to true, menu will fill the width of its container.
1910
+
1911
+ boolean
1912
+
1913
+
1914
+
1915
+ | \- | Set boolean |
1916
+ | id |
1917
+
1918
+ Unique ID of the menu. If not provided, will be automatically generated. Used to add aria attributes for accessibility.
1919
+
1920
+ string
1921
+
1922
+
1923
+
1924
+ | \- | Set string |
1925
+ | layout |
1926
+
1927
+ Sets whether the layout is vertical (stack) or horizontal (inline/inline-equal-width).
1928
+
1929
+ union
1930
+
1931
+
1932
+
1933
+ |
1934
+
1935
+ 'stack'
1936
+
1937
+ | Set object |
1938
+ | multiSelect |
1939
+
1940
+ If set to true, menu items will contain checkboxes.
1941
+
1942
+ boolean
1943
+
1944
+
1945
+
1946
+ | \- | Set boolean |
1947
+ | noWrap |
1948
+
1949
+ If set to true, menu items will not wrap onto a separate line when space is exceeded.
1950
+
1951
+ boolean
1952
+
1953
+
1954
+
1955
+ | \- | Set boolean |
1956
+ | onChange |
1957
+
1958
+ Emitted when the menu value changes
1959
+
1960
+ (value?: MenuSelected | null) => void
1961
+
1962
+ | \- | \- |
1963
+ | role |
1964
+
1965
+ Type of menu, corresponding to [aria-roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles). Will be set automatically when used inside popover or when the `multiSelect` prop is set to true.
1966
+
1967
+ union
1968
+
1969
+
1970
+
1971
+ | \- |
1972
+
1973
+ "menu"
1974
+
1975
+ |
1976
+ | selected |
1977
+
1978
+ Selected values of menu when `role` is listbox. Used for controlled menus.
1979
+
1980
+ union
1981
+
1982
+
1983
+
1984
+ | \- | Set object |
1985
+ | type |
1986
+
1987
+ Type of Menu - will be set automatically when used inside popover or when the multiSelect prop is set to true.
1988
+
1989
+ MenuType
1990
+
1991
+ <table class="css-ymgjf7"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `role` instead.</td></tr></tbody></table>
1992
+
1993
+ | \- | Set object |
1994
+
1995
+ #### Listbox
1996
+
1997
+ The `listbox` role is used for lists from which a user may select one or more items.
1998
+
1999
+ A value is supplied to `IressMenuButton` (like you would with an option element inside a select) and a `onChange` event is emitted with the selected value(s) whenever the selection is changed by the user.
2000
+
2001
+ Set the `multiSelect` prop to true for a multi-selectable listbox.
2002
+
2003
+ [](./iframe.html?id=components-menu--listbox-role)
2004
+
2005
+ New taskSend prospect welcome packBook in Discovery meetingProspect proceeding
2006
+
2007
+ Multi-select
2008
+
2009
+ The `listbox` menu is used for lists from which a user may select one or more items.
2010
+
2011
+ A value is supplied to MenuItem (like you would with an `option` element inside a `select`) and a `onChange` event is emitted with the selected value(s) whenever the selection is changed by the user.
2012
+
2013
+ If you need to set the selected state of an item programmatically, you can use the `selected` prop. This is set as string on Menu (or an array of strings for multi-selectable Menus), which then sets the selected state the child MenuItems. You can also set the `selected` prop on individual MenuItems, although we recommend that you use Menu's `selected` prop instead.
2014
+
2015
+ **Note:** This is the menu type used to power Filter and Combobox components.
2016
+
2017
+ Keyboard interaction
2018
+
2019
+ * Menu items can be navigated using the arrow keys, depending on the orientation of the menu.
2020
+ * In stack layouts, pressing the `up` arrow key on the first item will **not** focus the last item
2021
+ * In stack layouts, pressing the `down` arrow key on the last item will **not** focus the first item
2022
+ * In inline layouts, pressing the `right` arrow key on the last item will **not** focus the first item
2023
+ * In inline layouts, pressing the `left` arrow key on the first item will **not** focus the last item
2024
+ * Pressing the `tab` key when focused on any item in the menu will focus to next focusable item outside of the menu
2025
+
2026
+ Hide codedrawOpen in CodeSandbox
2027
+
2028
+ <IressMenu
2029
+ aria-label\="Selectable listbox"
2030
+ defaultSelected\={5}
2031
+ role\="listbox"
2032
+ \>
2033
+ <IressMenuItem value\={0}\>
2034
+ New task </IressMenuItem\>
2035
+ <IressMenuItem value\={1}\>
2036
+ Send prospect welcome pack </IressMenuItem\>
2037
+ <IressMenuItem value\={2}\>
2038
+ Book in Discovery meeting </IressMenuItem\>
2039
+ <IressMenuItem value\={3}\>
2040
+ Prospect proceeding </IressMenuItem\>
2041
+ </IressMenu\>
2042
+
2043
+ ```
2044
+
2045
+ #### Props
2046
+
2047
+ | Name | Description | Default | Control |
2048
+ | --- | --- | --- | --- |
2049
+ | aria-label |
2050
+ string
2051
+
2052
+
2053
+
2054
+ | \- | Selectable listbox |
2055
+ | changeOnBlur |
2056
+
2057
+ If set to true, change event will be fired with the correctly selected value.
2058
+
2059
+ boolean
2060
+
2061
+
2062
+
2063
+ | \- | Set boolean |
2064
+ | children |
2065
+
2066
+ Content of the menu, usually multiple `IressMenuItem`, `IressMenuHeading` or `IressMenuDivider`.
2067
+
2068
+ ReactReactNode
2069
+
2070
+
2071
+
2072
+ | \- | childrenChoose option...nonebasiccomplexnavigationheadingsdividersslotsextraInformationselectable |
2073
+ | defaultSelected |
2074
+
2075
+ Initially selected values of menu when `role` is listbox. Used for uncontrolled menus.
2076
+
2077
+ union
2078
+
2079
+
2080
+
2081
+ | \- |
2082
+
2083
+ 5
2084
+
2085
+ |
2086
+ | fluid |
2087
+
2088
+ If set to true, menu will fill the width of its container.
2089
+
2090
+ boolean
2091
+
2092
+
2093
+
2094
+ | \- | Set boolean |
2095
+ | id |
2096
+
2097
+ Unique ID of the menu. If not provided, will be automatically generated. Used to add aria attributes for accessibility.
2098
+
2099
+ string
2100
+
2101
+
2102
+
2103
+ | \- | Set string |
2104
+ | layout |
2105
+
2106
+ Sets whether the layout is vertical (stack) or horizontal (inline/inline-equal-width).
2107
+
2108
+ union
2109
+
2110
+
2111
+
2112
+ |
2113
+
2114
+ 'stack'
2115
+
2116
+ | Set object |
2117
+ | multiSelect |
2118
+
2119
+ If set to true, menu items will contain checkboxes.
2120
+
2121
+ boolean
2122
+
2123
+
2124
+
2125
+ | \- | Set boolean |
2126
+ | noWrap |
2127
+
2128
+ If set to true, menu items will not wrap onto a separate line when space is exceeded.
2129
+
2130
+ boolean
2131
+
2132
+
2133
+
2134
+ | \- | Set boolean |
2135
+ | onChange |
2136
+
2137
+ Emitted when the menu value changes
2138
+
2139
+ (value?: MenuSelected | null) => void
2140
+
2141
+ | \- | \- |
2142
+ | role |
2143
+
2144
+ Type of menu, corresponding to [aria-roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles). Will be set automatically when used inside popover or when the `multiSelect` prop is set to true.
2145
+
2146
+ union
2147
+
2148
+
2149
+
2150
+ | \- |
2151
+
2152
+ "listbox"
2153
+
2154
+ |
2155
+ | selected |
2156
+
2157
+ Selected values of menu when `role` is listbox. Used for controlled menus.
2158
+
2159
+ union
2160
+
2161
+
2162
+
2163
+ | \- | Set object |
2164
+ | type |
2165
+
2166
+ Type of Menu - will be set automatically when used inside popover or when the multiSelect prop is set to true.
2167
+
2168
+ MenuType
2169
+
2170
+ <table class="css-ymgjf7"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `role` instead.</td></tr></tbody></table>
2171
+
2172
+ | \- | Set object |
2173
+
2174
+ #### Nav
2175
+
2176
+ The `nav` role acts as a styling hook to be able to style the selected menu item differently to default menus. This will be most often used as a child of the `IressNavbar` component.
2177
+
2178
+ [](./iframe.html?id=components-menu--nav-role)
2179
+
2180
+ Menu heading
2181
+ ------------
2182
+
2183
+ Menu item (button)
2184
+
2185
+ * * *
2186
+
2187
+ [Menu item (link)](https://iress.com)Menu item (selected)
2188
+
2189
+ The `nav` type acts as a styling hook to be able to style the selected menu item differently to default menus. This will be most often used as a child of the `Navbar` component.
2190
+
2191
+ The nav menu exposes the following theme tokens in order to customise the styling:
2192
+
2193
+ * `--iress-menu-item-nav-selected-background-color`
2194
+ * `--iress-menu-item-nav-selected-text-color`
2195
+ * `--iress-menu-item-nav-text-align`
2196
+ * `--iress-menu-item-nav-border-radius`
2197
+
2198
+ Keyboard interaction
2199
+
2200
+ * Menu items cannot be navigated using the arrow keys
2201
+ * Menu items are navigated using the `tab` key
2202
+
2203
+ Hide codedrawOpen in CodeSandbox
2204
+
2205
+ <IressMenu
2206
+ defaultSelected\={5}
2207
+ role\="nav"
2208
+ \>
2209
+ <IressMenuHeading\>
2210
+ Menu heading </IressMenuHeading\>
2211
+ <IressMenuItem value\="2"\>
2212
+ Menu item (button) </IressMenuItem\>
2213
+ <IressMenuDivider />
2214
+ <IressMenuItem href\="https://iress.com"\>
2215
+ Menu item (link) </IressMenuItem\>
2216
+ <IressMenuItem
2217
+ selected
2218
+ value\={5}
2219
+ \>
2220
+ Menu item (selected) </IressMenuItem\>
2221
+ </IressMenu\>
2222
+
2223
+ ```
2224
+
2225
+ #### Props
2226
+
2227
+ | Name | Description | Default | Control |
2228
+ | --- | --- | --- | --- |
2229
+ | changeOnBlur |
2230
+ If set to true, change event will be fired with the correctly selected value.
2231
+
2232
+ boolean
2233
+
2234
+
2235
+
2236
+ | \- | Set boolean |
2237
+ | children |
2238
+
2239
+ Content of the menu, usually multiple `IressMenuItem`, `IressMenuHeading` or `IressMenuDivider`.
2240
+
2241
+ ReactReactNode
2242
+
2243
+
2244
+
2245
+ | \- | childrenChoose option...nonebasiccomplexnavigationheadingsdividersslotsextraInformationselectable |
2246
+ | defaultSelected |
2247
+
2248
+ Initially selected values of menu when `role` is listbox. Used for uncontrolled menus.
2249
+
2250
+ union
2251
+
2252
+
2253
+
2254
+ | \- |
2255
+
2256
+ 5
2257
+
2258
+ |
2259
+ | fluid |
2260
+
2261
+ If set to true, menu will fill the width of its container.
2262
+
2263
+ boolean
2264
+
2265
+
2266
+
2267
+ | \- | Set boolean |
2268
+ | id |
2269
+
2270
+ Unique ID of the menu. If not provided, will be automatically generated. Used to add aria attributes for accessibility.
2271
+
2272
+ string
2273
+
2274
+
2275
+
2276
+ | \- | Set string |
2277
+ | layout |
2278
+
2279
+ Sets whether the layout is vertical (stack) or horizontal (inline/inline-equal-width).
2280
+
2281
+ union
2282
+
2283
+
2284
+
2285
+ |
2286
+
2287
+ 'stack'
2288
+
2289
+ | Set object |
2290
+ | multiSelect |
2291
+
2292
+ If set to true, menu items will contain checkboxes.
2293
+
2294
+ boolean
2295
+
2296
+
2297
+
2298
+ | \- | Set boolean |
2299
+ | noWrap |
2300
+
2301
+ If set to true, menu items will not wrap onto a separate line when space is exceeded.
2302
+
2303
+ boolean
2304
+
2305
+
2306
+
2307
+ | \- | Set boolean |
2308
+ | onChange |
2309
+
2310
+ Emitted when the menu value changes
2311
+
2312
+ (value?: MenuSelected | null) => void
2313
+
2314
+ | \- | \- |
2315
+ | role |
2316
+
2317
+ Type of menu, corresponding to [aria-roles](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles). Will be set automatically when used inside popover or when the `multiSelect` prop is set to true.
2318
+
2319
+ union
2320
+
2321
+
2322
+
2323
+ | \- |
2324
+
2325
+ "nav"
2326
+
2327
+ |
2328
+ | selected |
2329
+
2330
+ Selected values of menu when `role` is listbox. Used for controlled menus.
2331
+
2332
+ union
2333
+
2334
+
2335
+
2336
+ | \- | Set object |
2337
+ | type |
2338
+
2339
+ Type of Menu - will be set automatically when used inside popover or when the multiSelect prop is set to true.
2340
+
2341
+ MenuType
2342
+
2343
+ <table class="css-ymgjf7"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `role` instead.</td></tr></tbody></table>
2344
+
2345
+ | \- | Set object |