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

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 (132) hide show
  1. package/generated/docs/components_components-alert-docs.md +492 -0
  2. package/generated/docs/components_components-autocomplete-docs.md +3485 -0
  3. package/generated/docs/{components-autocomplete-recipes-docs.md → components_components-autocomplete-recipes-docs.md} +32 -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 +2276 -0
  9. package/generated/docs/{components-card-recipes-docs.md → components_components-card-recipes-docs.md} +131 -14
  10. package/generated/docs/components_components-checkbox-docs.md +1054 -0
  11. package/generated/docs/{components-checkboxgroup-docs.md → components_components-checkboxgroup-docs.md} +1000 -81
  12. package/generated/docs/{components-checkboxgroup-recipes-docs.md → components_components-checkboxgroup-recipes-docs.md} +101 -11
  13. package/generated/docs/{components-col-docs.md → components_components-col-docs.md} +331 -58
  14. package/generated/docs/components_components-combobox-docs.md +3767 -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} +264 -33
  18. package/generated/docs/{components-field-docs.md → components_components-field-docs.md} +814 -120
  19. package/generated/docs/components_components-filter-docs.md +4080 -0
  20. package/generated/docs/{components-form-docs.md → components_components-form-docs.md} +1515 -353
  21. package/generated/docs/{components-form-recipes-docs.md → components_components-form-recipes-docs.md} +170 -54
  22. package/generated/docs/components_components-hide-docs.md +293 -0
  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} +110 -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} +1625 -232
  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} +697 -39
  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 +1641 -0
  38. package/generated/docs/{components-popover-recipes-docs.md → components_components-popover-recipes-docs.md} +347 -17
  39. package/generated/docs/components_components-progress-docs.md +115 -0
  40. package/generated/docs/{components-provider-docs.md → components_components-provider-docs.md} +41 -32
  41. package/generated/docs/components_components-radio-docs.md +491 -0
  42. package/generated/docs/{components-radiogroup-docs.md → components_components-radiogroup-docs.md} +943 -75
  43. package/generated/docs/components_components-readonly-docs.md +263 -0
  44. package/generated/docs/components_components-richselect-docs.md +6497 -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} +50 -10
  49. package/generated/docs/{components-skiplink-docs.md → components_components-skiplink-docs.md} +53 -14
  50. package/generated/docs/components_components-slideout-docs.md +2262 -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 +3651 -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 +259 -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} +181 -79
  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} +711 -143
  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/{versions-docs.md → components_versions-docs.md} +5 -8
  83. package/generated/docs/guidelines.md +484 -200
  84. package/generated/docs/introduction-docs.md +19 -30
  85. package/package.json +41 -45
  86. package/generated/docs/components-alert-docs.md +0 -130
  87. package/generated/docs/components-autocomplete-docs.md +0 -754
  88. package/generated/docs/components-button-docs.md +0 -362
  89. package/generated/docs/components-button-recipes-docs.md +0 -76
  90. package/generated/docs/components-buttongroup-docs.md +0 -310
  91. package/generated/docs/components-card-docs.md +0 -494
  92. package/generated/docs/components-checkbox-docs.md +0 -193
  93. package/generated/docs/components-combobox-docs.md +0 -1016
  94. package/generated/docs/components-filter-docs.md +0 -1109
  95. package/generated/docs/components-hide-docs.md +0 -265
  96. package/generated/docs/components-icon-docs.md +0 -553
  97. package/generated/docs/components-input-docs.md +0 -335
  98. package/generated/docs/components-input-recipes-docs.md +0 -140
  99. package/generated/docs/components-inputcurrency-docs.md +0 -157
  100. package/generated/docs/components-label-docs.md +0 -135
  101. package/generated/docs/components-menu-docs.md +0 -704
  102. package/generated/docs/components-menu-menuitem-docs.md +0 -193
  103. package/generated/docs/components-navbar-docs.md +0 -291
  104. package/generated/docs/components-placeholder-docs.md +0 -27
  105. package/generated/docs/components-popover-docs.md +0 -464
  106. package/generated/docs/components-progress-docs.md +0 -104
  107. package/generated/docs/components-radio-docs.md +0 -107
  108. package/generated/docs/components-readonly-docs.md +0 -89
  109. package/generated/docs/components-richselect-docs.md +0 -2433
  110. package/generated/docs/components-skeleton-docs.md +0 -214
  111. package/generated/docs/components-slideout-docs.md +0 -538
  112. package/generated/docs/components-slider-docs.md +0 -346
  113. package/generated/docs/components-spinner-docs.md +0 -59
  114. package/generated/docs/components-table-ag-grid-docs.md +0 -1074
  115. package/generated/docs/components-table-docs.md +0 -1305
  116. package/generated/docs/components-tabset-docs.md +0 -341
  117. package/generated/docs/components-tabset-tab-docs.md +0 -86
  118. package/generated/docs/components-tag-docs.md +0 -115
  119. package/generated/docs/components-toaster-toast-docs.md +0 -157
  120. package/generated/docs/components-toggle-docs.md +0 -158
  121. package/generated/docs/contact-us-docs.md +0 -27
  122. package/generated/docs/extensions-editor-docs.md +0 -288
  123. package/generated/docs/extensions-editor-recipes-docs.md +0 -39
  124. package/generated/docs/foundations-introduction-docs.md +0 -17
  125. package/generated/docs/foundations-typography-docs.md +0 -191
  126. package/generated/docs/get-started-develop-docs.md +0 -209
  127. package/generated/docs/get-started-using-storybook-docs.md +0 -68
  128. package/generated/docs/resources-changelog-docs.md +0 -6
  129. package/generated/docs/themes-available-themes-docs.md +0 -66
  130. package/generated/docs/themes-introduction-docs.md +0 -121
  131. package/generated/docs/themes-tokens-docs.md +0 -1200
  132. /package/{LICENSE.txt → LICENSE} +0 -0
@@ -0,0 +1,1641 @@
1
+ Popover
2
+ =======
3
+
4
+ Overview
5
+ --------
6
+
7
+ A popover is panel that is toggled on/off by an activator button or text input. The panel is positioned relative to its activator element.
8
+
9
+ [](./iframe.html?id=components-popover--activator)
10
+
11
+ Toggle popover
12
+
13
+ A little more information about this area.
14
+
15
+ ```
16
+
17
+ <IressPopover activator\={<IressButton\>Toggle popover</IressButton\>}\>
18
+ <IressPanel className\="iress-u-text"\>
19
+ A little more information about this area. </IressPanel\>
20
+ </IressPopover\>
21
+
22
+ ```
23
+
24
+ Props
25
+ -----
26
+
27
+ | Name | Description | Default | Control |
28
+ | --- | --- | --- | --- |
29
+ | activator\* |
30
+ Content for an activator element, usually an `IressButton`.
31
+
32
+ PopoverActivatorProps\['children'\]
33
+
34
+ | \- | \- |
35
+ | align |
36
+
37
+ Sets the alignment of the popover relative to the activator element.
38
+
39
+ union
40
+
41
+
42
+
43
+ |
44
+
45
+ 'auto'
46
+
47
+ | Set object |
48
+ | children |
49
+
50
+ The content to render within the popover.
51
+
52
+ ReactReactNode
53
+
54
+
55
+
56
+ | \- | Choose option...nonehellobasicdetailsparagraphmenu |
57
+ | container |
58
+
59
+ The container element to render the popover into. By default, the popover will render where its parent is rendered.
60
+
61
+ **Note:** If the `container` doesn’t exist when the popover is mounted, ensure you pass an element directly (not a ref) and specify null as the default value before it is set. This lets it wait for the root to be available. For example, if you reference the parent element of a popover.
62
+
63
+ FloatingUIContainer
64
+
65
+
66
+
67
+ | \- | Set object |
68
+ | contentClassName |
69
+
70
+ Class name of the popover content
71
+
72
+ string
73
+
74
+
75
+
76
+ | \- | Set string |
77
+ | defaultShow |
78
+
79
+ When set to `true` the popover will be visible by default. Use for uncontrolled popovers.
80
+
81
+ boolean
82
+
83
+
84
+
85
+ | \- | Set boolean |
86
+ | disabledAutoToggle |
87
+
88
+ When set to `true`, popover toggling can only be done through the toggle method on the `ref`.
89
+
90
+ boolean
91
+
92
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use a controlled `show` prop instead.</td></tr></tbody></table>
93
+
94
+ | \- | Set boolean |
95
+ | displayMode |
96
+
97
+ Sets the display mode of popover.
98
+
99
+ union
100
+
101
+
102
+
103
+ |
104
+
105
+ 'overlay'
106
+
107
+ | Set object |
108
+ | focusStartIndex |
109
+
110
+ Which index to start the focus on when the popover is opened. Only works with `type` listbox and menu. Note: The index must exist in the list of items, otherwise it will not work.
111
+
112
+ number
113
+
114
+
115
+
116
+ | \- | Set number |
117
+ | matchActivatorWidth |
118
+
119
+ Sets the popover to match the width of the activator. Note: This only works when `displayMode="overlay"`.
120
+
121
+ boolean
122
+
123
+
124
+
125
+ | \- | Set boolean |
126
+ | onActivated |
127
+
128
+ Is called when popover is activated.
129
+
130
+ ( e?: Event, reason?: OpenChangeReason, activeIndex?: number | null, ) => void
131
+
132
+ | \- | \- |
133
+ | onDeactivated |
134
+
135
+ Is called when popover is deactivated.
136
+
137
+ ( e?: Event, reason?: OpenChangeReason, activeIndex?: number | null, ) => void
138
+
139
+ | \- | \- |
140
+ | onNavigate |
141
+
142
+ Is called when registered popover items are navigated using arrow keys. Only works with `type` listbox and menu.
143
+
144
+ (activeIndex: number | null) => void
145
+
146
+ | \- | \- |
147
+ | show |
148
+
149
+ When set to `true` the modal will be visible. Use for controlled popovers.
150
+
151
+ boolean
152
+
153
+
154
+
155
+ | \- | Set boolean |
156
+ | type |
157
+
158
+ Describes the type of content contained in the popover.
159
+
160
+ union
161
+
162
+
163
+
164
+ | \- | Set object |
165
+ | virtualFocus |
166
+
167
+ Whether the focus is virtual (using `aria-activedescendant`). Use this if you need focus to remain on the reference element (such as an input), but allow arrow keys to navigate items. Note: This is only applicable when type is set to: `listbox` or `menu`, and only works out of the box with `IressMenu` and its subcomponents.
168
+
169
+ boolean
170
+
171
+
172
+
173
+ | \- | Set boolean |
174
+ | width |
175
+
176
+ Sets the width of the popover
177
+
178
+ string
179
+
180
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: use the `--iress-max-width` design token instead.</td></tr></tbody></table>
181
+
182
+ | \- | Set string |
183
+
184
+ Usage
185
+ -----
186
+
187
+ ### Activator
188
+
189
+ For the popover to render, the `activator` property is required. It is the element used to trigger the popover, and works best with an `IressButton`.
190
+
191
+ Anything added as the children of the `IressPopover` component will be displayed in the popover panel.
192
+
193
+ [](./iframe.html?id=components-popover--activator)
194
+
195
+ Toggle popover
196
+
197
+ A little more information about this area.
198
+
199
+ ```
200
+
201
+ <IressPopover activator\={<IressButton\>Toggle popover</IressButton\>}\>
202
+ <IressPanel className\="iress-u-text"\>
203
+ A little more information about this area. </IressPanel\>
204
+ </IressPopover\>
205
+
206
+ ```
207
+
208
+ #### Props
209
+
210
+ | Name | Description | Default | Control |
211
+ | --- | --- | --- | --- |
212
+ | activator\* |
213
+ Content for an activator element, usually an `IressButton`.
214
+
215
+ PopoverActivatorProps\['children'\]
216
+
217
+ | \- | \- |
218
+ | align |
219
+
220
+ Sets the alignment of the popover relative to the activator element.
221
+
222
+ union
223
+
224
+
225
+
226
+ |
227
+
228
+ 'auto'
229
+
230
+ | Set object |
231
+ | children |
232
+
233
+ The content to render within the popover.
234
+
235
+ ReactReactNode
236
+
237
+
238
+
239
+ | \- | Choose option...nonehellobasicdetailsparagraphmenu |
240
+ | container |
241
+
242
+ The container element to render the popover into. By default, the popover will render where its parent is rendered.
243
+
244
+ **Note:** If the `container` doesn’t exist when the popover is mounted, ensure you pass an element directly (not a ref) and specify null as the default value before it is set. This lets it wait for the root to be available. For example, if you reference the parent element of a popover.
245
+
246
+ FloatingUIContainer
247
+
248
+
249
+
250
+ | \- | Set object |
251
+ | contentClassName |
252
+
253
+ Class name of the popover content
254
+
255
+ string
256
+
257
+
258
+
259
+ | \- | Set string |
260
+ | defaultShow |
261
+
262
+ When set to `true` the popover will be visible by default. Use for uncontrolled popovers.
263
+
264
+ boolean
265
+
266
+
267
+
268
+ | \- | Set boolean |
269
+ | disabledAutoToggle |
270
+
271
+ When set to `true`, popover toggling can only be done through the toggle method on the `ref`.
272
+
273
+ boolean
274
+
275
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use a controlled `show` prop instead.</td></tr></tbody></table>
276
+
277
+ | \- | Set boolean |
278
+ | displayMode |
279
+
280
+ Sets the display mode of popover.
281
+
282
+ union
283
+
284
+
285
+
286
+ |
287
+
288
+ 'overlay'
289
+
290
+ | Set object |
291
+ | focusStartIndex |
292
+
293
+ Which index to start the focus on when the popover is opened. Only works with `type` listbox and menu. Note: The index must exist in the list of items, otherwise it will not work.
294
+
295
+ number
296
+
297
+
298
+
299
+ | \- | Set number |
300
+ | matchActivatorWidth |
301
+
302
+ Sets the popover to match the width of the activator. Note: This only works when `displayMode="overlay"`.
303
+
304
+ boolean
305
+
306
+
307
+
308
+ | \- | Set boolean |
309
+ | onActivated |
310
+
311
+ Is called when popover is activated.
312
+
313
+ ( e?: Event, reason?: OpenChangeReason, activeIndex?: number | null, ) => void
314
+
315
+ | \- | \- |
316
+ | onDeactivated |
317
+
318
+ Is called when popover is deactivated.
319
+
320
+ ( e?: Event, reason?: OpenChangeReason, activeIndex?: number | null, ) => void
321
+
322
+ | \- | \- |
323
+ | onNavigate |
324
+
325
+ Is called when registered popover items are navigated using arrow keys. Only works with `type` listbox and menu.
326
+
327
+ (activeIndex: number | null) => void
328
+
329
+ | \- | \- |
330
+ | show |
331
+
332
+ When set to `true` the modal will be visible. Use for controlled popovers.
333
+
334
+ boolean
335
+
336
+
337
+
338
+ | \- | Set boolean |
339
+ | type |
340
+
341
+ Describes the type of content contained in the popover.
342
+
343
+ union
344
+
345
+
346
+
347
+ | \- | Set object |
348
+ | virtualFocus |
349
+
350
+ Whether the focus is virtual (using `aria-activedescendant`). Use this if you need focus to remain on the reference element (such as an input), but allow arrow keys to navigate items. Note: This is only applicable when type is set to: `listbox` or `menu`, and only works out of the box with `IressMenu` and its subcomponents.
351
+
352
+ boolean
353
+
354
+
355
+
356
+ | \- | Set boolean |
357
+ | width |
358
+
359
+ Sets the width of the popover
360
+
361
+ string
362
+
363
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: use the `--iress-max-width` design token instead.</td></tr></tbody></table>
364
+
365
+ | \- | Set string |
366
+
367
+ ### The `show` property
368
+
369
+ You can use state to control the popover by setting the `show` property to `true` or `false`. To sync your state with the popover, you can use the `onActivated` and `onDeactivated` prop.
370
+
371
+ [](./iframe.html?id=components-popover--show-with-state)
372
+
373
+ Show popover using state
374
+
375
+ A little more information about this area.
376
+
377
+ ```
378
+
379
+ import {
380
+ IressButton,
381
+ IressPanel,
382
+ IressPopover,
383
+ type IressPopoverProps,
384
+ } from '@iress-oss/ids-components';
385
+ import { useState } from 'react';
386
+ export const PopoverUsingState \= () \=> {
387
+ const \[show, setShow\] \= useState(false);
388
+ return (
389
+ <IressPopover
390
+
391
+ activator\={
392
+ <IressButton onClick\={() \=> setShow(!show)}\>
393
+ Show popover using state </IressButton\>
394
+ }
395
+ show\={show}
396
+ onActivated\={() \=> setShow(true)}
397
+ onDeactivated\={() \=> setShow(false)}
398
+ \>
399
+ <IressPanel\>A little more information about this area.</IressPanel\>
400
+ </IressPopover\>
401
+ );
402
+ };
403
+
404
+ ```
405
+
406
+ #### Props
407
+
408
+ | Name | Description | Default | Control |
409
+ | --- | --- | --- | --- |
410
+ | activator\* |
411
+ Content for an activator element, usually an `IressButton`.
412
+
413
+ PopoverActivatorProps\['children'\]
414
+
415
+ | \- | \- |
416
+ | align |
417
+
418
+ Sets the alignment of the popover relative to the activator element.
419
+
420
+ union
421
+
422
+
423
+
424
+ |
425
+
426
+ 'auto'
427
+
428
+ | Set object |
429
+ | children |
430
+
431
+ The content to render within the popover.
432
+
433
+ ReactReactNode
434
+
435
+
436
+
437
+ | \- | \- |
438
+ | container |
439
+
440
+ The container element to render the popover into. By default, the popover will render where its parent is rendered.
441
+
442
+ **Note:** If the `container` doesn’t exist when the popover is mounted, ensure you pass an element directly (not a ref) and specify null as the default value before it is set. This lets it wait for the root to be available. For example, if you reference the parent element of a popover.
443
+
444
+ FloatingUIContainer
445
+
446
+
447
+
448
+ | \- | Set object |
449
+ | contentClassName |
450
+
451
+ Class name of the popover content
452
+
453
+ string
454
+
455
+
456
+
457
+ | \- | Set string |
458
+ | defaultShow |
459
+
460
+ When set to `true` the popover will be visible by default. Use for uncontrolled popovers.
461
+
462
+ boolean
463
+
464
+
465
+
466
+ | \- | Set boolean |
467
+ | disabledAutoToggle |
468
+
469
+ When set to `true`, popover toggling can only be done through the toggle method on the `ref`.
470
+
471
+ boolean
472
+
473
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use a controlled `show` prop instead.</td></tr></tbody></table>
474
+
475
+ | \- | Set boolean |
476
+ | displayMode |
477
+
478
+ Sets the display mode of popover.
479
+
480
+ union
481
+
482
+
483
+
484
+ |
485
+
486
+ 'overlay'
487
+
488
+ | Set object |
489
+ | focusStartIndex |
490
+
491
+ Which index to start the focus on when the popover is opened. Only works with `type` listbox and menu. Note: The index must exist in the list of items, otherwise it will not work.
492
+
493
+ number
494
+
495
+
496
+
497
+ | \- | Set number |
498
+ | matchActivatorWidth |
499
+
500
+ Sets the popover to match the width of the activator. Note: This only works when `displayMode="overlay"`.
501
+
502
+ boolean
503
+
504
+
505
+
506
+ | \- | Set boolean |
507
+ | onActivated |
508
+
509
+ Is called when popover is activated.
510
+
511
+ ( e?: Event, reason?: OpenChangeReason, activeIndex?: number | null, ) => void
512
+
513
+ | \- | \- |
514
+ | onDeactivated |
515
+
516
+ Is called when popover is deactivated.
517
+
518
+ ( e?: Event, reason?: OpenChangeReason, activeIndex?: number | null, ) => void
519
+
520
+ | \- | \- |
521
+ | onNavigate |
522
+
523
+ Is called when registered popover items are navigated using arrow keys. Only works with `type` listbox and menu.
524
+
525
+ (activeIndex: number | null) => void
526
+
527
+ | \- | \- |
528
+ | show |
529
+
530
+ When set to `true` the modal will be visible. Use for controlled popovers.
531
+
532
+ boolean
533
+
534
+
535
+
536
+ | \- | \- |
537
+ | type |
538
+
539
+ Describes the type of content contained in the popover.
540
+
541
+ union
542
+
543
+
544
+
545
+ | \- | Set object |
546
+ | virtualFocus |
547
+
548
+ Whether the focus is virtual (using `aria-activedescendant`). Use this if you need focus to remain on the reference element (such as an input), but allow arrow keys to navigate items. Note: This is only applicable when type is set to: `listbox` or `menu`, and only works out of the box with `IressMenu` and its subcomponents.
549
+
550
+ boolean
551
+
552
+
553
+
554
+ | \- | Set boolean |
555
+ | width |
556
+
557
+ Sets the width of the popover
558
+
559
+ string
560
+
561
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: use the `--iress-max-width` design token instead.</td></tr></tbody></table>
562
+
563
+ | \- | Set string |
564
+
565
+ Behaviour
566
+ ---------
567
+
568
+ * The popover is opened when the activator is pressed
569
+ * Once activated, the popover will set focus to popover content
570
+ * When the activator is pressed whilst the popover is open, it will close
571
+ * When the escape key is pressed while it is open, it will close
572
+ * When the popover panel loses focus, it will close
573
+
574
+ Examples
575
+ --------
576
+
577
+ ### Align
578
+
579
+ The popover panel can be aligned in one of 12 positions relative to the activator element. The default value is `auto`.
580
+
581
+ The popover panel's position will change dynamically based on the amount of space available in it's container window, so that it doesn't overflow.
582
+
583
+ [](./iframe.html?id=components-popover--align)
584
+
585
+ top-start
586
+
587
+ Hello!
588
+
589
+ top
590
+
591
+ Hello!
592
+
593
+ top-end
594
+
595
+ Hello!
596
+
597
+ left-start
598
+
599
+ Hello!
600
+
601
+ left
602
+
603
+ Hello!
604
+
605
+ left-end
606
+
607
+ Hello!
608
+
609
+ right-start
610
+
611
+ Hello!
612
+
613
+ right
614
+
615
+ Hello!
616
+
617
+ right-end
618
+
619
+ Hello!
620
+
621
+ bottom-start
622
+
623
+ Hello!
624
+
625
+ bottom
626
+
627
+ Hello!
628
+
629
+ bottom-end
630
+
631
+ Hello!
632
+
633
+ ```
634
+
635
+ <div
636
+ style\={{
637
+ padding: '80px 150px'
638
+ }}
639
+ \>
640
+ <IressStack gutter\="md"\>
641
+ <IressInline
642
+ gutter\="sm"
643
+ horizontalAlign\="center"
644
+ \>
645
+ <IressPopover
646
+ activator\={<IressTooltip align\="bottom-start" tooltipText\="Tooltips and popovers can go together if needed!"\><IressButton\>top-start</IressButton\></IressTooltip\>}
647
+ align\="top-start"
648
+ \>
649
+ <IressPanel className\="iress-u-text"\>
650
+ Hello! </IressPanel\>
651
+ </IressPopover\>
652
+ <IressPopover
653
+ activator\={<IressButton\>top</IressButton\>}
654
+ align\="top"
655
+ \>
656
+ <IressPanel className\="iress-u-text"\>
657
+ Hello! </IressPanel\>
658
+ </IressPopover\>
659
+ <IressPopover
660
+ activator\={<IressButton\>top-end</IressButton\>}
661
+ align\="top-end"
662
+ \>
663
+ <IressPanel className\="iress-u-text"\>
664
+ Hello! </IressPanel\>
665
+ </IressPopover\>
666
+ </IressInline\>
667
+ <IressInline horizontalAlign\="between"\>
668
+ <IressStack gutter\="sm"\>
669
+ <IressInline horizontalAlign\="left"\>
670
+ <IressPopover
671
+ activator\={<IressButton\>left-start</IressButton\>}
672
+ align\="left-start"
673
+ \>
674
+ <IressPanel className\="iress-u-text"\>
675
+ Hello! </IressPanel\>
676
+ </IressPopover\>
677
+ </IressInline\>
678
+ <IressInline horizontalAlign\="left"\>
679
+ <IressPopover
680
+ activator\={<IressButton\>left</IressButton\>}
681
+ align\="left"
682
+ \>
683
+ <IressPanel className\="iress-u-text"\>
684
+ Hello! </IressPanel\>
685
+ </IressPopover\>
686
+ </IressInline\>
687
+ <IressInline horizontalAlign\="left"\>
688
+ <IressPopover
689
+ activator\={<IressButton\>left-end</IressButton\>}
690
+ align\="left-end"
691
+ \>
692
+ <IressPanel className\="iress-u-text"\>
693
+ Hello! </IressPanel\>
694
+ </IressPopover\>
695
+ </IressInline\>
696
+ </IressStack\>
697
+ <IressStack gutter\="sm"\>
698
+ <IressInline horizontalAlign\="right"\>
699
+ <IressPopover
700
+ activator\={<IressButton\>right-start</IressButton\>}
701
+ align\="right-start"
702
+ \>
703
+ <IressPanel className\="iress-u-text"\>
704
+ Hello! </IressPanel\>
705
+ </IressPopover\>
706
+ </IressInline\>
707
+ <IressInline horizontalAlign\="right"\>
708
+ <IressPopover
709
+ activator\={<IressButton\>right</IressButton\>}
710
+ align\="right"
711
+ \>
712
+ <IressPanel className\="iress-u-text"\>
713
+ Hello! </IressPanel\>
714
+ </IressPopover\>
715
+ </IressInline\>
716
+ <IressInline horizontalAlign\="right"\>
717
+ <IressPopover
718
+ activator\={<IressButton\>right-end</IressButton\>}
719
+ align\="right-end"
720
+ \>
721
+ <IressPanel className\="iress-u-text"\>
722
+ Hello! </IressPanel\>
723
+ </IressPopover\>
724
+ </IressInline\>
725
+ </IressStack\>
726
+ </IressInline\>
727
+ <IressInline
728
+ gutter\="sm"
729
+ horizontalAlign\="center"
730
+ \>
731
+ <IressPopover
732
+ activator\={<IressButton\>bottom-start</IressButton\>}
733
+ align\="bottom-start"
734
+ \>
735
+ <IressPanel className\="iress-u-text"\>
736
+ Hello! </IressPanel\>
737
+ </IressPopover\>
738
+ <IressPopover
739
+ activator\={<IressButton\>bottom</IressButton\>}
740
+ align\="bottom"
741
+ \>
742
+ <IressPanel className\="iress-u-text"\>
743
+ Hello! </IressPanel\>
744
+ </IressPopover\>
745
+ <IressPopover
746
+ activator\={<IressButton\>bottom-end</IressButton\>}
747
+ align\="bottom-end"
748
+ \>
749
+ <IressPanel className\="iress-u-text"\>
750
+ Hello! </IressPanel\>
751
+ </IressPopover\>
752
+ </IressInline\>
753
+ </IressStack\>
754
+ </div\>
755
+
756
+ ```
757
+
758
+ #### Props
759
+
760
+ | Name | Description | Default | Control |
761
+ | --- | --- | --- | --- |
762
+ | activator\* |
763
+ Content for an activator element, usually an `IressButton`.
764
+
765
+ PopoverActivatorProps\['children'\]
766
+
767
+ | \- | \- |
768
+ | align |
769
+
770
+ Sets the alignment of the popover relative to the activator element.
771
+
772
+ union
773
+
774
+
775
+
776
+ |
777
+
778
+ 'auto'
779
+
780
+ | \- |
781
+ | children |
782
+
783
+ The content to render within the popover.
784
+
785
+ ReactReactNode
786
+
787
+
788
+
789
+ | \- | Choose option...nonehellobasicdetailsparagraphmenu |
790
+ | container |
791
+
792
+ The container element to render the popover into. By default, the popover will render where its parent is rendered.
793
+
794
+ **Note:** If the `container` doesn’t exist when the popover is mounted, ensure you pass an element directly (not a ref) and specify null as the default value before it is set. This lets it wait for the root to be available. For example, if you reference the parent element of a popover.
795
+
796
+ FloatingUIContainer
797
+
798
+
799
+
800
+ | \- | Set object |
801
+ | contentClassName |
802
+
803
+ Class name of the popover content
804
+
805
+ string
806
+
807
+
808
+
809
+ | \- | Set string |
810
+ | defaultShow |
811
+
812
+ When set to `true` the popover will be visible by default. Use for uncontrolled popovers.
813
+
814
+ boolean
815
+
816
+
817
+
818
+ | \- | Set boolean |
819
+ | disabledAutoToggle |
820
+
821
+ When set to `true`, popover toggling can only be done through the toggle method on the `ref`.
822
+
823
+ boolean
824
+
825
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use a controlled `show` prop instead.</td></tr></tbody></table>
826
+
827
+ | \- | Set boolean |
828
+ | displayMode |
829
+
830
+ Sets the display mode of popover.
831
+
832
+ union
833
+
834
+
835
+
836
+ |
837
+
838
+ 'overlay'
839
+
840
+ | Set object |
841
+ | focusStartIndex |
842
+
843
+ Which index to start the focus on when the popover is opened. Only works with `type` listbox and menu. Note: The index must exist in the list of items, otherwise it will not work.
844
+
845
+ number
846
+
847
+
848
+
849
+ | \- | Set number |
850
+ | matchActivatorWidth |
851
+
852
+ Sets the popover to match the width of the activator. Note: This only works when `displayMode="overlay"`.
853
+
854
+ boolean
855
+
856
+
857
+
858
+ | \- | Set boolean |
859
+ | onActivated |
860
+
861
+ Is called when popover is activated.
862
+
863
+ ( e?: Event, reason?: OpenChangeReason, activeIndex?: number | null, ) => void
864
+
865
+ | \- | \- |
866
+ | onDeactivated |
867
+
868
+ Is called when popover is deactivated.
869
+
870
+ ( e?: Event, reason?: OpenChangeReason, activeIndex?: number | null, ) => void
871
+
872
+ | \- | \- |
873
+ | onNavigate |
874
+
875
+ Is called when registered popover items are navigated using arrow keys. Only works with `type` listbox and menu.
876
+
877
+ (activeIndex: number | null) => void
878
+
879
+ | \- | \- |
880
+ | show |
881
+
882
+ When set to `true` the modal will be visible. Use for controlled popovers.
883
+
884
+ boolean
885
+
886
+
887
+
888
+ | \- | Set boolean |
889
+ | type |
890
+
891
+ Describes the type of content contained in the popover.
892
+
893
+ union
894
+
895
+
896
+
897
+ | \- | Set object |
898
+ | virtualFocus |
899
+
900
+ Whether the focus is virtual (using `aria-activedescendant`). Use this if you need focus to remain on the reference element (such as an input), but allow arrow keys to navigate items. Note: This is only applicable when type is set to: `listbox` or `menu`, and only works out of the box with `IressMenu` and its subcomponents.
901
+
902
+ boolean
903
+
904
+
905
+
906
+ | \- | Set boolean |
907
+ | width |
908
+
909
+ Sets the width of the popover
910
+
911
+ string
912
+
913
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: use the `--iress-max-width` design token instead.</td></tr></tbody></table>
914
+
915
+ | \- | Set string |
916
+
917
+ ### Width
918
+
919
+ Occasionally, you may have more information to display than the width set by the theme can comfortably show.
920
+
921
+ This is where the `--iress-width` CSS token come in, it will allow you to set the width for the popover panel. For better results, its recommended to use it with the `--iress-max-width` CSS token, to allow your popovers to be responsive.
922
+
923
+ **Note:** The `width` prop has been deprecated in favour of the CSS tokens.
924
+
925
+ [](./iframe.html?id=components-popover--width)
926
+
927
+ Toggle popover
928
+
929
+ ```
930
+
931
+ <IressPopover
932
+ activator\={<IressButton\>Toggle popover</IressButton\>}
933
+ container\={document.body}
934
+ style\={{
935
+ '--iress-max-width': '30rem',
936
+ '--iress-width': '100%'
937
+ }}
938
+ \>
939
+ <IressPanel\>
940
+ <IressRow\>
941
+ <IressCol span\={6}\>
942
+ <IressText\>
943
+ Client </IressText\>
944
+ <IressText noGutter\>
945
+ <ul\>
946
+ <li\>
947
+ Entity id 582323 </li\>
948
+ <li\>
949
+ Fruit Apple </li\>
950
+ <li\>
951
+ Preferred email mamaduke@gmail.com </li\>
952
+ </ul\>
953
+ </IressText\>
954
+ </IressCol\>
955
+ <IressCol span\={6}\>
956
+ <IressText\>
957
+ Client </IressText\>
958
+ <IressText noGutter\>
959
+ <ul\>
960
+ <li\>
961
+ Entity id 8766 </li\>
962
+ <li\>
963
+ Fruit Orange </li\>
964
+ <li\>
965
+ Preferred email felicity@yahoo.com </li\>
966
+ </ul\>
967
+ </IressText\>
968
+ </IressCol\>
969
+ </IressRow\>
970
+ </IressPanel\>
971
+ </IressPopover\>
972
+
973
+ ```
974
+
975
+ #### Props
976
+
977
+ | Name | Description | Default | Control |
978
+ | --- | --- | --- | --- |
979
+ | activator\* |
980
+ Content for an activator element, usually an `IressButton`.
981
+
982
+ PopoverActivatorProps\['children'\]
983
+
984
+ | \- | \- |
985
+ | align |
986
+
987
+ Sets the alignment of the popover relative to the activator element.
988
+
989
+ union
990
+
991
+
992
+
993
+ |
994
+
995
+ 'auto'
996
+
997
+ | Set object |
998
+ | children |
999
+
1000
+ The content to render within the popover.
1001
+
1002
+ ReactReactNode
1003
+
1004
+
1005
+
1006
+ | \- | Choose option...nonehellobasicdetailsparagraphmenu |
1007
+ | container |
1008
+
1009
+ The container element to render the popover into. By default, the popover will render where its parent is rendered.
1010
+
1011
+ **Note:** If the `container` doesn’t exist when the popover is mounted, ensure you pass an element directly (not a ref) and specify null as the default value before it is set. This lets it wait for the root to be available. For example, if you reference the parent element of a popover.
1012
+
1013
+ FloatingUIContainer
1014
+
1015
+
1016
+
1017
+ | \- |
1018
+
1019
+ {}
1020
+
1021
+ |
1022
+ | contentClassName |
1023
+
1024
+ Class name of the popover content
1025
+
1026
+ string
1027
+
1028
+
1029
+
1030
+ | \- | Set string |
1031
+ | defaultShow |
1032
+
1033
+ When set to `true` the popover will be visible by default. Use for uncontrolled popovers.
1034
+
1035
+ boolean
1036
+
1037
+
1038
+
1039
+ | \- | Set boolean |
1040
+ | disabledAutoToggle |
1041
+
1042
+ When set to `true`, popover toggling can only be done through the toggle method on the `ref`.
1043
+
1044
+ boolean
1045
+
1046
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use a controlled `show` prop instead.</td></tr></tbody></table>
1047
+
1048
+ | \- | Set boolean |
1049
+ | displayMode |
1050
+
1051
+ Sets the display mode of popover.
1052
+
1053
+ union
1054
+
1055
+
1056
+
1057
+ |
1058
+
1059
+ 'overlay'
1060
+
1061
+ | Set object |
1062
+ | focusStartIndex |
1063
+
1064
+ Which index to start the focus on when the popover is opened. Only works with `type` listbox and menu. Note: The index must exist in the list of items, otherwise it will not work.
1065
+
1066
+ number
1067
+
1068
+
1069
+
1070
+ | \- | Set number |
1071
+ | matchActivatorWidth |
1072
+
1073
+ Sets the popover to match the width of the activator. Note: This only works when `displayMode="overlay"`.
1074
+
1075
+ boolean
1076
+
1077
+
1078
+
1079
+ | \- | Set boolean |
1080
+ | onActivated |
1081
+
1082
+ Is called when popover is activated.
1083
+
1084
+ ( e?: Event, reason?: OpenChangeReason, activeIndex?: number | null, ) => void
1085
+
1086
+ | \- | \- |
1087
+ | onDeactivated |
1088
+
1089
+ Is called when popover is deactivated.
1090
+
1091
+ ( e?: Event, reason?: OpenChangeReason, activeIndex?: number | null, ) => void
1092
+
1093
+ | \- | \- |
1094
+ | onNavigate |
1095
+
1096
+ Is called when registered popover items are navigated using arrow keys. Only works with `type` listbox and menu.
1097
+
1098
+ (activeIndex: number | null) => void
1099
+
1100
+ | \- | \- |
1101
+ | show |
1102
+
1103
+ When set to `true` the modal will be visible. Use for controlled popovers.
1104
+
1105
+ boolean
1106
+
1107
+
1108
+
1109
+ | \- | \- |
1110
+ | type |
1111
+
1112
+ Describes the type of content contained in the popover.
1113
+
1114
+ union
1115
+
1116
+
1117
+
1118
+ | \- | Set object |
1119
+ | virtualFocus |
1120
+
1121
+ Whether the focus is virtual (using `aria-activedescendant`). Use this if you need focus to remain on the reference element (such as an input), but allow arrow keys to navigate items. Note: This is only applicable when type is set to: `listbox` or `menu`, and only works out of the box with `IressMenu` and its subcomponents.
1122
+
1123
+ boolean
1124
+
1125
+
1126
+
1127
+ | \- | Set boolean |
1128
+ | width |
1129
+
1130
+ Sets the width of the popover
1131
+
1132
+ string
1133
+
1134
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: use the `--iress-max-width` design token instead.</td></tr></tbody></table>
1135
+
1136
+ | \- | \- |
1137
+
1138
+ ### Overflow
1139
+
1140
+ Popovers can contain a wide variety of different content, including components that use popovers themselves (like Combobox). This can cause issues with overflowing content, so by default we allow popovers to grow in height based on their content.
1141
+
1142
+ If you need to fix the height of a popover, you can set a maximum height using the `--iress-max-height` theme token on your popover. You'll also need to change the overflow behaviour by setting the `--iress-overflow-y` theme token:
1143
+
1144
+ [](./iframe.html?id=components-popover--overflow)
1145
+
1146
+ Normal popover
1147
+
1148
+ Fixed height popover
1149
+
1150
+ ```
1151
+
1152
+ <IressInline gutter\="md"\>
1153
+ <IressPopover
1154
+ activator\={<IressButton\>Normal popover</IressButton\>}
1155
+ align\="bottom-start"
1156
+ container\={document.body}
1157
+ \>
1158
+ <IressPanel\>
1159
+ <IressText noGutter\>
1160
+ <p\>
1161
+ His head is gone, it is like it is been erased... Erased from existence. That was the day I invented time travel. I remember it vividly. I was standing on the edge of my toilet hanging a clock, the porces was wet, I slipped, hit my head on the edge of the sink. And when I came to I had a revelation, a picture, a picture in my head, a picture of this. This is what makes time travel possible. The flux capacitor. </p\>
1162
+ </IressText\>
1163
+ </IressPanel\>
1164
+ </IressPopover\>
1165
+ <IressPopover
1166
+ activator\={<IressButton\>Fixed height popover</IressButton\>}
1167
+ align\="bottom-start"
1168
+ container\={document.body}
1169
+ style\={{
1170
+ '--iress-max-height': '200px',
1171
+ '--iress-overflow-y': 'auto'
1172
+ }}
1173
+ \>
1174
+ <IressPanel\>
1175
+ <IressText noGutter\>
1176
+ <p\>
1177
+ His head is gone, it is like it is been erased... Erased from existence. That was the day I invented time travel. I remember it vividly. I was standing on the edge of my toilet hanging a clock, the porces was wet, I slipped, hit my head on the edge of the sink. And when I came to I had a revelation, a picture, a picture in my head, a picture of this. This is what makes time travel possible. The flux capacitor. </p\>
1178
+ </IressText\>
1179
+ </IressPanel\>
1180
+ </IressPopover\>
1181
+ </IressInline\>
1182
+
1183
+ ```
1184
+
1185
+ #### Props
1186
+
1187
+ | Name | Description | Default | Control |
1188
+ | --- | --- | --- | --- |
1189
+ | activator\* |
1190
+ Content for an activator element, usually an `IressButton`.
1191
+
1192
+ PopoverActivatorProps\['children'\]
1193
+
1194
+ | \- | \- |
1195
+ | align |
1196
+
1197
+ Sets the alignment of the popover relative to the activator element.
1198
+
1199
+ union
1200
+
1201
+
1202
+
1203
+ |
1204
+
1205
+ 'auto'
1206
+
1207
+ |
1208
+
1209
+ "bottom-start"
1210
+
1211
+ |
1212
+ | children |
1213
+
1214
+ The content to render within the popover.
1215
+
1216
+ ReactReactNode
1217
+
1218
+
1219
+
1220
+ | \- | Choose option...nonehellobasicdetailsparagraphmenu |
1221
+ | container |
1222
+
1223
+ The container element to render the popover into. By default, the popover will render where its parent is rendered.
1224
+
1225
+ **Note:** If the `container` doesn’t exist when the popover is mounted, ensure you pass an element directly (not a ref) and specify null as the default value before it is set. This lets it wait for the root to be available. For example, if you reference the parent element of a popover.
1226
+
1227
+ FloatingUIContainer
1228
+
1229
+
1230
+
1231
+ | \- |
1232
+
1233
+ {}
1234
+
1235
+ |
1236
+ | contentClassName |
1237
+
1238
+ Class name of the popover content
1239
+
1240
+ string
1241
+
1242
+
1243
+
1244
+ | \- | Set string |
1245
+ | defaultShow |
1246
+
1247
+ When set to `true` the popover will be visible by default. Use for uncontrolled popovers.
1248
+
1249
+ boolean
1250
+
1251
+
1252
+
1253
+ | \- | Set boolean |
1254
+ | disabledAutoToggle |
1255
+
1256
+ When set to `true`, popover toggling can only be done through the toggle method on the `ref`.
1257
+
1258
+ boolean
1259
+
1260
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use a controlled `show` prop instead.</td></tr></tbody></table>
1261
+
1262
+ | \- | Set boolean |
1263
+ | displayMode |
1264
+
1265
+ Sets the display mode of popover.
1266
+
1267
+ union
1268
+
1269
+
1270
+
1271
+ |
1272
+
1273
+ 'overlay'
1274
+
1275
+ | Set object |
1276
+ | focusStartIndex |
1277
+
1278
+ Which index to start the focus on when the popover is opened. Only works with `type` listbox and menu. Note: The index must exist in the list of items, otherwise it will not work.
1279
+
1280
+ number
1281
+
1282
+
1283
+
1284
+ | \- | Set number |
1285
+ | matchActivatorWidth |
1286
+
1287
+ Sets the popover to match the width of the activator. Note: This only works when `displayMode="overlay"`.
1288
+
1289
+ boolean
1290
+
1291
+
1292
+
1293
+ | \- | Set boolean |
1294
+ | onActivated |
1295
+
1296
+ Is called when popover is activated.
1297
+
1298
+ ( e?: Event, reason?: OpenChangeReason, activeIndex?: number | null, ) => void
1299
+
1300
+ | \- | \- |
1301
+ | onDeactivated |
1302
+
1303
+ Is called when popover is deactivated.
1304
+
1305
+ ( e?: Event, reason?: OpenChangeReason, activeIndex?: number | null, ) => void
1306
+
1307
+ | \- | \- |
1308
+ | onNavigate |
1309
+
1310
+ Is called when registered popover items are navigated using arrow keys. Only works with `type` listbox and menu.
1311
+
1312
+ (activeIndex: number | null) => void
1313
+
1314
+ | \- | \- |
1315
+ | show |
1316
+
1317
+ When set to `true` the modal will be visible. Use for controlled popovers.
1318
+
1319
+ boolean
1320
+
1321
+
1322
+
1323
+ | \- | Set boolean |
1324
+ | type |
1325
+
1326
+ Describes the type of content contained in the popover.
1327
+
1328
+ union
1329
+
1330
+
1331
+
1332
+ | \- | Set object |
1333
+ | virtualFocus |
1334
+
1335
+ Whether the focus is virtual (using `aria-activedescendant`). Use this if you need focus to remain on the reference element (such as an input), but allow arrow keys to navigate items. Note: This is only applicable when type is set to: `listbox` or `menu`, and only works out of the box with `IressMenu` and its subcomponents.
1336
+
1337
+ boolean
1338
+
1339
+
1340
+
1341
+ | \- | Set boolean |
1342
+ | width |
1343
+
1344
+ Sets the width of the popover
1345
+
1346
+ string
1347
+
1348
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: use the `--iress-max-width` design token instead.</td></tr></tbody></table>
1349
+
1350
+ | \- | Set string |
1351
+
1352
+ ### Container
1353
+
1354
+ By default, the popover will be rendered where its parent is rendered. If you need to render the popover in a different container, you can use the `container` prop.
1355
+
1356
+ **Note:** If the `container` doesn’t exist when the portal is mounted, ensure you pass an element directly (not a ref) and specify null as the default value before it is set. This lets it wait for the root to be available.
1357
+
1358
+ This will be the case when you are rendering into its parent container, which is not yet rendered when the popover is mounted. The example below shows how to use state instead of a reference to change where the popover is rendered.
1359
+
1360
+ [](./iframe.html?id=components-popover--parent-container)
1361
+
1362
+ Toggle
1363
+
1364
+ This content will be rendered in the parent container
1365
+
1366
+ ```
1367
+
1368
+ export const PopoverParentContainer \= () \=> {
1369
+ const \[parentContainer, setParentContainer\] \= useState<HTMLDivElement | null\>(
1370
+ null,
1371
+ );
1372
+ return (
1373
+ <div id\="parent" ref\={setParentContainer}\>
1374
+ <IressPopover
1375
+ activator\={<IressButton\>Toggle</IressButton\>}
1376
+ container\={parentContainer}
1377
+ \>
1378
+ <IressPanel\>
1379
+ This content will be rendered in the parent container </IressPanel\>
1380
+ </IressPopover\>
1381
+ </div\>
1382
+ );
1383
+ };
1384
+
1385
+ ```
1386
+
1387
+ #### Props
1388
+
1389
+ | Name | Description | Default | Control |
1390
+ | --- | --- | --- | --- |
1391
+ | activator\* |
1392
+ Content for an activator element, usually an `IressButton`.
1393
+
1394
+ PopoverActivatorProps\['children'\]
1395
+
1396
+ | \- | \- |
1397
+ | align |
1398
+
1399
+ Sets the alignment of the popover relative to the activator element.
1400
+
1401
+ union
1402
+
1403
+
1404
+
1405
+ |
1406
+
1407
+ 'auto'
1408
+
1409
+ | Set object |
1410
+ | children |
1411
+
1412
+ The content to render within the popover.
1413
+
1414
+ ReactReactNode
1415
+
1416
+
1417
+
1418
+ | \- | Choose option...nonehellobasicdetailsparagraphmenu |
1419
+ | container |
1420
+
1421
+ The container element to render the popover into. By default, the popover will render where its parent is rendered.
1422
+
1423
+ **Note:** If the `container` doesn’t exist when the popover is mounted, ensure you pass an element directly (not a ref) and specify null as the default value before it is set. This lets it wait for the root to be available. For example, if you reference the parent element of a popover.
1424
+
1425
+ FloatingUIContainer
1426
+
1427
+
1428
+
1429
+ | \- | Set object |
1430
+ | contentClassName |
1431
+
1432
+ Class name of the popover content
1433
+
1434
+ string
1435
+
1436
+
1437
+
1438
+ | \- | Set string |
1439
+ | defaultShow |
1440
+
1441
+ When set to `true` the popover will be visible by default. Use for uncontrolled popovers.
1442
+
1443
+ boolean
1444
+
1445
+
1446
+
1447
+ | \- | Set boolean |
1448
+ | disabledAutoToggle |
1449
+
1450
+ When set to `true`, popover toggling can only be done through the toggle method on the `ref`.
1451
+
1452
+ boolean
1453
+
1454
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use a controlled `show` prop instead.</td></tr></tbody></table>
1455
+
1456
+ | \- | Set boolean |
1457
+ | displayMode |
1458
+
1459
+ Sets the display mode of popover.
1460
+
1461
+ union
1462
+
1463
+
1464
+
1465
+ |
1466
+
1467
+ 'overlay'
1468
+
1469
+ | Set object |
1470
+ | focusStartIndex |
1471
+
1472
+ Which index to start the focus on when the popover is opened. Only works with `type` listbox and menu. Note: The index must exist in the list of items, otherwise it will not work.
1473
+
1474
+ number
1475
+
1476
+
1477
+
1478
+ | \- | Set number |
1479
+ | matchActivatorWidth |
1480
+
1481
+ Sets the popover to match the width of the activator. Note: This only works when `displayMode="overlay"`.
1482
+
1483
+ boolean
1484
+
1485
+
1486
+
1487
+ | \- | Set boolean |
1488
+ | onActivated |
1489
+
1490
+ Is called when popover is activated.
1491
+
1492
+ ( e?: Event, reason?: OpenChangeReason, activeIndex?: number | null, ) => void
1493
+
1494
+ | \- | \- |
1495
+ | onDeactivated |
1496
+
1497
+ Is called when popover is deactivated.
1498
+
1499
+ ( e?: Event, reason?: OpenChangeReason, activeIndex?: number | null, ) => void
1500
+
1501
+ | \- | \- |
1502
+ | onNavigate |
1503
+
1504
+ Is called when registered popover items are navigated using arrow keys. Only works with `type` listbox and menu.
1505
+
1506
+ (activeIndex: number | null) => void
1507
+
1508
+ | \- | \- |
1509
+ | show |
1510
+
1511
+ When set to `true` the modal will be visible. Use for controlled popovers.
1512
+
1513
+ boolean
1514
+
1515
+
1516
+
1517
+ | \- | Set boolean |
1518
+ | type |
1519
+
1520
+ Describes the type of content contained in the popover.
1521
+
1522
+ union
1523
+
1524
+
1525
+
1526
+ | \- | Set object |
1527
+ | virtualFocus |
1528
+
1529
+ Whether the focus is virtual (using `aria-activedescendant`). Use this if you need focus to remain on the reference element (such as an input), but allow arrow keys to navigate items. Note: This is only applicable when type is set to: `listbox` or `menu`, and only works out of the box with `IressMenu` and its subcomponents.
1530
+
1531
+ boolean
1532
+
1533
+
1534
+
1535
+ | \- | Set boolean |
1536
+ | width |
1537
+
1538
+ Sets the width of the popover
1539
+
1540
+ string
1541
+
1542
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: use the `--iress-max-width` design token instead.</td></tr></tbody></table>
1543
+
1544
+ | \- | Set string |
1545
+
1546
+ `IressInputPopover`
1547
+ -------------------
1548
+
1549
+ If you need a popover that is triggered by input changes, you can use the `IressInputPopover` component. This component has an additional `minLength` prop that allows you to specify the minimum number of characters required before the popover is shown.
1550
+
1551
+ ### Behaviour
1552
+
1553
+ Input popovers work slightly different to normal popovers, where the focus inside the popover is **virtual**. This means that the popover content will act as if it is in focus, but the input will still be the actual focus.
1554
+
1555
+ * The popover is opened when the input has content that meets the `minLength` requirement
1556
+ * The popover is closed when the input no longer meets the `minLength` requirement
1557
+ * Once activated, virtual focus will be set to the popover content if it contains a menu (e.g. items will highlight as if in focus, but the user can still type in the input)
1558
+ * When the `minLength` is 0, it will open on focus
1559
+ * When the escape key is pressed while it is open, it will close
1560
+ * When the input loses focus, it will close
1561
+
1562
+ [](./iframe.html?id=components-popover-inputpopover--activator)
1563
+
1564
+ ```
1565
+
1566
+ <IressInputPopover
1567
+ activator\={<ForwardedInput />}
1568
+ container\={document.body}
1569
+ \>
1570
+ <IressPanel className\="iress-u-text"\>
1571
+ A little more information about this area. </IressPanel\>
1572
+ </IressInputPopover\>
1573
+
1574
+ ```
1575
+
1576
+ #### Props
1577
+
1578
+ | Name | Description | Default | Control |
1579
+ | --- | --- | --- | --- |
1580
+ | activator\* |
1581
+ Content for an activator element, usually an `IressInput`.
1582
+
1583
+ PopoverActivatorProps\['children'\]
1584
+
1585
+ | \- | \- |
1586
+ | align |
1587
+
1588
+ |
1589
+
1590
+ 'auto'
1591
+
1592
+ | Set object |
1593
+ | autoHighlight |
1594
+
1595
+ If true, the first supported is automatically highlighted.
1596
+
1597
+ boolean
1598
+
1599
+
1600
+
1601
+ |
1602
+
1603
+ true
1604
+
1605
+ | Set boolean |
1606
+ | children |
1607
+
1608
+ string
1609
+
1610
+
1611
+
1612
+ | \- | Choose option...nonebasicmenu |
1613
+ | container |
1614
+
1615
+ object
1616
+
1617
+
1618
+
1619
+ | \- |
1620
+
1621
+ {}
1622
+
1623
+ |
1624
+ | displayMode |
1625
+
1626
+ |
1627
+
1628
+ 'overlay'
1629
+
1630
+ | Set object |
1631
+ | type |
1632
+
1633
+ Describes the type of content contained in the popover. If `listbox`, it will add the combobox role to the popover.
1634
+
1635
+ IressPopoverProps\['type'\]
1636
+
1637
+ |
1638
+
1639
+ 'listbox'
1640
+
1641
+ | Set object |