@iress-oss/ids-mcp-server 6.0.0-alpha.1-canary-20251204032753-fe18cab → 6.0.0-alpha.1-canary-20251204040305-3639454

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