@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,1847 @@
1
+ Navbar
2
+ ======
3
+
4
+ Overview
5
+ --------
6
+
7
+ The `IressNavbar` component defines your application’s global header. It usually contains your company logo, global navigation links, and an application heading.
8
+
9
+ [](./iframe.html?id=components-navbar--default)
10
+
11
+ A very basic navbar
12
+
13
+ ```
14
+
15
+ <IressNavbar\>
16
+ <IressText\>
17
+ A very basic navbar </IressText\>
18
+ </IressNavbar\>
19
+
20
+ ```
21
+
22
+ Props
23
+ -----
24
+
25
+ | Name | Description | Default | Control |
26
+ | --- | --- | --- | --- |
27
+ | breakpoint |
28
+ Sets the breakpoint at which the main nav content is hidden, and replaced by a hamburger menu. If not set, the navbar won't be responsive.
29
+
30
+ union
31
+
32
+
33
+
34
+ | \- | Set object |
35
+ | children |
36
+
37
+ Content to be rendered inside the navbar (e.g. navigation links).
38
+
39
+ ReactNode
40
+
41
+
42
+
43
+ | \- |
44
+
45
+ RAW
46
+
47
+ children :
48
+
49
+ {
50
+
51
+ * $$typeof : Symbol(react.transitional.element)
52
+ * type : ({ align, children, className, "data-testid": dataTestId, element: Tag = "div", mode, noGutter, variant, ...restProps }) => /\* @\_\_PURE\_\_ \*/ jsxDEV( Tag, { ...restProps, className: classNames(className, "iress-u-text", { \[\`iress--${variant}\`\]: Boolean(variant), \[\`iress--${mode}\`\]: Boolean(mode), \[\`${GlobalCSSClass.TextAlignBase}--${align}\`\]: Boolean(align), "iress--no-gutter": noGutter }), "data-testid": dataTestId, children }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Text/Text.tsx", lineNumber: 22, columnNumber: 1 }, this )
53
+ * key : null
54
+ * props :
55
+
56
+ {...} 1 key
57
+
58
+ * \_owner : null
59
+ * \_store :
60
+
61
+ {...} 0 keys
62
+
63
+
64
+ }
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+ |
73
+ | fixed |
74
+
75
+ Fixes the navbar with relation to the viewport if true. If false, the navbar will scroll out of view when the user scrolls.
76
+
77
+ boolean
78
+
79
+
80
+
81
+ |
82
+
83
+ false
84
+
85
+ | Set boolean |
86
+ | handledFocus |
87
+
88
+ When navbar is fixed, elements that are obscured by the fixed navbar are scrolled into view when they receive focus.
89
+
90
+ boolean
91
+
92
+
93
+
94
+ |
95
+
96
+ false
97
+
98
+ | Set boolean |
99
+ | homeUrl |
100
+
101
+ Sets the url of the home link
102
+
103
+ string
104
+
105
+
106
+
107
+ |
108
+
109
+ ''
110
+
111
+ | Set string |
112
+ | horizontalAlign |
113
+
114
+ Sets the alignment of the nav; either start (all left-aligned), between (children slot left-aligned and nav slot right-aligned) or end (all right-aligned)
115
+
116
+ union
117
+
118
+
119
+
120
+ | \- | Set object |
121
+ | logo |
122
+
123
+ Content for the logo slot.
124
+
125
+ ReactNode
126
+
127
+
128
+
129
+ | \- | Set object |
130
+ | logoAltText |
131
+
132
+ Adds alt text to the logo's
133
+
134
+ string
135
+
136
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead, and `alt` text to your img.</td></tr></tbody></table>
137
+
138
+ |
139
+
140
+ ''
141
+
142
+ | Set string |
143
+ | logoSrc |
144
+
145
+ Sets the source url of the logo
146
+
147
+ string
148
+
149
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead with the proper `src` attribute.</td></tr></tbody></table>
150
+
151
+ |
152
+
153
+ ''
154
+
155
+ | Set string |
156
+ | nav |
157
+
158
+ Content for the nav slot.
159
+
160
+ ReactNode
161
+
162
+
163
+
164
+ | \- | Set object |
165
+ | navLabel |
166
+
167
+ The name of the nav element (used by screen reader users). The nav element is wrapped around any content in the Nav slot
168
+
169
+ string
170
+
171
+
172
+
173
+ |
174
+
175
+ 'Main navigation'
176
+
177
+ | Set string |
178
+
179
+ Examples
180
+ --------
181
+
182
+ The `IressNavbar` component is designed to be flexible. You can set up simple navbars by using the slots and props to generate and organise your content.
183
+
184
+ If you need a complex layout that isn't covered by the slots and props, you can create custom navbars by supplying your own structure.
185
+
186
+ ### Logos
187
+
188
+ Navbars usually contain a company logo. You can add this directly to your `IressNavbar` as an `<img>` or `<svg>` element, or via the `logoSrc` prop. Simply set the value to the URL of the image you wish to use, and the `IressNavbar` component will render the image for you.
189
+
190
+ All images should have alt text to provide context for screen reader users. If using the `logoSrc` prop, you should also set the `logoAltText` prop to ensure that your logo is accurately described.
191
+
192
+ [](./iframe.html?id=components-navbar--logos)
193
+
194
+ ![Home](assets/ids-logo.png)
195
+
196
+ ```
197
+
198
+ <IressNavbar logo\={<img alt\="Home" src\="assets/ids-logo.png"/>} />
199
+
200
+ ```
201
+
202
+ #### Props
203
+
204
+ | Name | Description | Default | Control |
205
+ | --- | --- | --- | --- |
206
+ | breakpoint |
207
+ Sets the breakpoint at which the main nav content is hidden, and replaced by a hamburger menu. If not set, the navbar won't be responsive.
208
+
209
+ union
210
+
211
+
212
+
213
+ | \- | Set object |
214
+ | children |
215
+
216
+ Content to be rendered inside the navbar (e.g. navigation links).
217
+
218
+ ReactNode
219
+
220
+
221
+
222
+ | \- | Set object |
223
+ | fixed |
224
+
225
+ Fixes the navbar with relation to the viewport if true. If false, the navbar will scroll out of view when the user scrolls.
226
+
227
+ boolean
228
+
229
+
230
+
231
+ |
232
+
233
+ false
234
+
235
+ | Set boolean |
236
+ | handledFocus |
237
+
238
+ When navbar is fixed, elements that are obscured by the fixed navbar are scrolled into view when they receive focus.
239
+
240
+ boolean
241
+
242
+
243
+
244
+ |
245
+
246
+ false
247
+
248
+ | Set boolean |
249
+ | homeUrl |
250
+
251
+ Sets the url of the home link
252
+
253
+ string
254
+
255
+
256
+
257
+ |
258
+
259
+ ''
260
+
261
+ | Set string |
262
+ | horizontalAlign |
263
+
264
+ Sets the alignment of the nav; either start (all left-aligned), between (children slot left-aligned and nav slot right-aligned) or end (all right-aligned)
265
+
266
+ union
267
+
268
+
269
+
270
+ | \- | Set object |
271
+ | logo |
272
+
273
+ Content for the logo slot.
274
+
275
+ ReactNode
276
+
277
+
278
+
279
+ | \- |
280
+
281
+ RAW
282
+
283
+ logo :
284
+
285
+ {
286
+
287
+ * $$typeof : Symbol(react.transitional.element)
288
+ * type : "img"
289
+ * key : null
290
+ * props :
291
+
292
+ {...} 2 keys
293
+
294
+ * \_owner : null
295
+ * \_store :
296
+
297
+ {...} 0 keys
298
+
299
+
300
+ }
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+ |
309
+ | logoAltText |
310
+
311
+ Adds alt text to the logo's
312
+
313
+ string
314
+
315
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead, and `alt` text to your img.</td></tr></tbody></table>
316
+
317
+ |
318
+
319
+ ''
320
+
321
+ | Set string |
322
+ | logoSrc |
323
+
324
+ Sets the source url of the logo
325
+
326
+ string
327
+
328
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead with the proper `src` attribute.</td></tr></tbody></table>
329
+
330
+ |
331
+
332
+ ''
333
+
334
+ | Set string |
335
+ | nav |
336
+
337
+ Content for the nav slot.
338
+
339
+ ReactNode
340
+
341
+
342
+
343
+ | \- | Set object |
344
+ | navLabel |
345
+
346
+ The name of the nav element (used by screen reader users). The nav element is wrapped around any content in the Nav slot
347
+
348
+ string
349
+
350
+
351
+
352
+ |
353
+
354
+ 'Main navigation'
355
+
356
+ | Set string |
357
+
358
+ ### Fixed positioning
359
+
360
+ Navbars can be fixed to the top of your viewport to ensure that content is always available to users; simply set the `fixed` prop to true. If the prop isn't set (or if it's set to false), the navbar will scroll off-screen when the user scrolls.
361
+
362
+ If you use the fixed prop, you'll need to add padding to the top of your content container as the `IressNavbar` will be treated as having zero height when the DOM layout is calculated. If you don't add padding, content can be hidden behind the `IressNavbar` even when the user scrolls to the top of the page.
363
+
364
+ ### Alignment
365
+
366
+ The `IressNavbar` allows you to set up some simple layouts via the horizontal alignment prop. You can set this to `start`, `end` or `between`.
367
+
368
+ `start` aligns the `children` slot and the `nav` slot content to the start of the `IressNavbar` (to the left for left-to-right languages).
369
+
370
+ `end` aligns the `children` slot and the `nav` slot content to the end of the `IressNavbar` (to the right for left-to-right languages).
371
+
372
+ `between` splits the `children` and `nav` slots; the `children` slot content will be at the start of the `IressNavbar`, whereas the `nav` slot content will be at end of the `IressNavbar`. If no `children` slot content is provided, the `nav` slot content will still appear at the end of the `IressNavbar`.
373
+
374
+ Vertical alignment is always set to middle, to ensure that content aligns correctly.
375
+
376
+ [](./iframe.html?id=components-navbar--align)
377
+
378
+ ![IDS logo](assets/ids-logo.png)
379
+
380
+ Align start
381
+
382
+ Nav slot content
383
+
384
+ ![IDS logo](assets/ids-logo.png)
385
+
386
+ Align between
387
+
388
+ Nav slot content
389
+
390
+ ![IDS logo](assets/ids-logo.png)
391
+
392
+ Align end
393
+
394
+ Nav slot content
395
+
396
+ ```
397
+
398
+ {
399
+ render: () \=> <IressStack gutter\="lg"\>
400
+ <IressNavbar horizontalAlign\="start" logo\={<img src\="assets/ids-logo.png" alt\="IDS logo" />} nav\={<IressText\>Nav slot content</IressText\>}\>
401
+ <IressText\>Align start</IressText\>
402
+ </IressNavbar\>
403
+ <IressNavbar horizontalAlign\="between" logo\={<img src\="assets/ids-logo.png" alt\="IDS logo" />} nav\={<IressText\>Nav slot content</IressText\>}\>
404
+ <IressText\>Align between</IressText\>
405
+ </IressNavbar\>
406
+ <IressNavbar horizontalAlign\="end" logo\={<img src\="assets/ids-logo.png" alt\="IDS logo" />} nav\={<IressText\>Nav slot content</IressText\>}\>
407
+ <IressText\>Align end</IressText\>
408
+ </IressNavbar\>
409
+ </IressStack\>
410
+ }
411
+
412
+ ```
413
+
414
+ #### Props
415
+
416
+ | Name | Description | Default | Control |
417
+ | --- | --- | --- | --- |
418
+ | breakpoint |
419
+ Sets the breakpoint at which the main nav content is hidden, and replaced by a hamburger menu. If not set, the navbar won't be responsive.
420
+
421
+ union
422
+
423
+
424
+
425
+ | \- | \- |
426
+ | children |
427
+
428
+ Content to be rendered inside the navbar (e.g. navigation links).
429
+
430
+ ReactNode
431
+
432
+
433
+
434
+ | \- | \- |
435
+ | fixed |
436
+
437
+ Fixes the navbar with relation to the viewport if true. If false, the navbar will scroll out of view when the user scrolls.
438
+
439
+ boolean
440
+
441
+
442
+
443
+ |
444
+
445
+ false
446
+
447
+ | \- |
448
+ | handledFocus |
449
+
450
+ When navbar is fixed, elements that are obscured by the fixed navbar are scrolled into view when they receive focus.
451
+
452
+ boolean
453
+
454
+
455
+
456
+ |
457
+
458
+ false
459
+
460
+ | \- |
461
+ | homeUrl |
462
+
463
+ Sets the url of the home link
464
+
465
+ string
466
+
467
+
468
+
469
+ |
470
+
471
+ ''
472
+
473
+ | \- |
474
+ | horizontalAlign |
475
+
476
+ Sets the alignment of the nav; either start (all left-aligned), between (children slot left-aligned and nav slot right-aligned) or end (all right-aligned)
477
+
478
+ union
479
+
480
+
481
+
482
+ | \- | \- |
483
+ | logo |
484
+
485
+ Content for the logo slot.
486
+
487
+ ReactNode
488
+
489
+
490
+
491
+ | \- | \- |
492
+ | logoAltText |
493
+
494
+ Adds alt text to the logo's
495
+
496
+ string
497
+
498
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead, and `alt` text to your img.</td></tr></tbody></table>
499
+
500
+ |
501
+
502
+ ''
503
+
504
+ | \- |
505
+ | logoSrc |
506
+
507
+ Sets the source url of the logo
508
+
509
+ string
510
+
511
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead with the proper `src` attribute.</td></tr></tbody></table>
512
+
513
+ |
514
+
515
+ ''
516
+
517
+ | \- |
518
+ | nav |
519
+
520
+ Content for the nav slot.
521
+
522
+ ReactNode
523
+
524
+
525
+
526
+ | \- | \- |
527
+ | navLabel |
528
+
529
+ The name of the nav element (used by screen reader users). The nav element is wrapped around any content in the Nav slot
530
+
531
+ string
532
+
533
+
534
+
535
+ |
536
+
537
+ 'Main navigation'
538
+
539
+ | \- |
540
+
541
+ ### Logo slot
542
+
543
+ The `logo` slot, as the name suggests, is designed for logos. Use this is you want to supply your own image element or SVG. Content in the Logo slot will always appear at the start of your Navbar (to the left for left-to-right languages).
544
+
545
+ [](./iframe.html?id=components-navbar--logos)
546
+
547
+ ![Home](assets/ids-logo.png)
548
+
549
+ ```
550
+
551
+ <IressNavbar logo\={<img alt\="Home" src\="assets/ids-logo.png"/>} />
552
+
553
+ ```
554
+
555
+ #### Props
556
+
557
+ | Name | Description | Default | Control |
558
+ | --- | --- | --- | --- |
559
+ | breakpoint |
560
+ Sets the breakpoint at which the main nav content is hidden, and replaced by a hamburger menu. If not set, the navbar won't be responsive.
561
+
562
+ union
563
+
564
+
565
+
566
+ | \- | Set object |
567
+ | children |
568
+
569
+ Content to be rendered inside the navbar (e.g. navigation links).
570
+
571
+ ReactNode
572
+
573
+
574
+
575
+ | \- | Set object |
576
+ | fixed |
577
+
578
+ Fixes the navbar with relation to the viewport if true. If false, the navbar will scroll out of view when the user scrolls.
579
+
580
+ boolean
581
+
582
+
583
+
584
+ |
585
+
586
+ false
587
+
588
+ | Set boolean |
589
+ | handledFocus |
590
+
591
+ When navbar is fixed, elements that are obscured by the fixed navbar are scrolled into view when they receive focus.
592
+
593
+ boolean
594
+
595
+
596
+
597
+ |
598
+
599
+ false
600
+
601
+ | Set boolean |
602
+ | homeUrl |
603
+
604
+ Sets the url of the home link
605
+
606
+ string
607
+
608
+
609
+
610
+ |
611
+
612
+ ''
613
+
614
+ | Set string |
615
+ | horizontalAlign |
616
+
617
+ Sets the alignment of the nav; either start (all left-aligned), between (children slot left-aligned and nav slot right-aligned) or end (all right-aligned)
618
+
619
+ union
620
+
621
+
622
+
623
+ | \- | Set object |
624
+ | logo |
625
+
626
+ Content for the logo slot.
627
+
628
+ ReactNode
629
+
630
+
631
+
632
+ | \- |
633
+
634
+ RAW
635
+
636
+ logo :
637
+
638
+ {
639
+
640
+ * $$typeof : Symbol(react.transitional.element)
641
+ * type : "img"
642
+ * key : null
643
+ * props :
644
+
645
+ {...} 2 keys
646
+
647
+ * \_owner : null
648
+ * \_store :
649
+
650
+ {...} 0 keys
651
+
652
+
653
+ }
654
+
655
+
656
+
657
+
658
+
659
+
660
+
661
+ |
662
+ | logoAltText |
663
+
664
+ Adds alt text to the logo's
665
+
666
+ string
667
+
668
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead, and `alt` text to your img.</td></tr></tbody></table>
669
+
670
+ |
671
+
672
+ ''
673
+
674
+ | Set string |
675
+ | logoSrc |
676
+
677
+ Sets the source url of the logo
678
+
679
+ string
680
+
681
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead with the proper `src` attribute.</td></tr></tbody></table>
682
+
683
+ |
684
+
685
+ ''
686
+
687
+ | Set string |
688
+ | nav |
689
+
690
+ Content for the nav slot.
691
+
692
+ ReactNode
693
+
694
+
695
+
696
+ | \- | Set object |
697
+ | navLabel |
698
+
699
+ The name of the nav element (used by screen reader users). The nav element is wrapped around any content in the Nav slot
700
+
701
+ string
702
+
703
+
704
+
705
+ |
706
+
707
+ 'Main navigation'
708
+
709
+ | Set string |
710
+
711
+ ### Children and nav slots
712
+
713
+ The default `children` slot is used for generic content like headings. You'll also pass in `children` content if you create a custom navbar.
714
+
715
+ [](./iframe.html?id=components-navbar--children)
716
+
717
+ ![IDS logo](assets/ids-logo.png)
718
+
719
+ Children slot content
720
+ =====================
721
+
722
+ Nav slot content
723
+
724
+ ```
725
+
726
+ <IressNavbar
727
+ logo\={<img alt\="IDS logo" src\="assets/ids-logo.png"/>}
728
+ nav\={<IressText\>Nav slot content</IressText\>}
729
+ \>
730
+ <IressText\>
731
+ <h1\>
732
+ Children slot content </h1\>
733
+ </IressText\>
734
+ </IressNavbar\>
735
+
736
+ ```
737
+
738
+ #### Props
739
+
740
+ | Name | Description | Default | Control |
741
+ | --- | --- | --- | --- |
742
+ | breakpoint |
743
+ Sets the breakpoint at which the main nav content is hidden, and replaced by a hamburger menu. If not set, the navbar won't be responsive.
744
+
745
+ union
746
+
747
+
748
+
749
+ | \- | Set object |
750
+ | children |
751
+
752
+ Content to be rendered inside the navbar (e.g. navigation links).
753
+
754
+ ReactNode
755
+
756
+
757
+
758
+ | \- |
759
+
760
+ RAW
761
+
762
+ children :
763
+
764
+ {
765
+
766
+ * $$typeof : Symbol(react.transitional.element)
767
+ * type : ({ align, children, className, "data-testid": dataTestId, element: Tag = "div", mode, noGutter, variant, ...restProps }) => /\* @\_\_PURE\_\_ \*/ jsxDEV( Tag, { ...restProps, className: classNames(className, "iress-u-text", { \[\`iress--${variant}\`\]: Boolean(variant), \[\`iress--${mode}\`\]: Boolean(mode), \[\`${GlobalCSSClass.TextAlignBase}--${align}\`\]: Boolean(align), "iress--no-gutter": noGutter }), "data-testid": dataTestId, children }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Text/Text.tsx", lineNumber: 22, columnNumber: 1 }, this )
768
+ * key : null
769
+ * props :
770
+
771
+ {...} 1 key
772
+
773
+ * \_owner : null
774
+ * \_store :
775
+
776
+ {...} 0 keys
777
+
778
+
779
+ }
780
+
781
+
782
+
783
+
784
+
785
+
786
+
787
+ |
788
+ | fixed |
789
+
790
+ Fixes the navbar with relation to the viewport if true. If false, the navbar will scroll out of view when the user scrolls.
791
+
792
+ boolean
793
+
794
+
795
+
796
+ |
797
+
798
+ false
799
+
800
+ | Set boolean |
801
+ | handledFocus |
802
+
803
+ When navbar is fixed, elements that are obscured by the fixed navbar are scrolled into view when they receive focus.
804
+
805
+ boolean
806
+
807
+
808
+
809
+ |
810
+
811
+ false
812
+
813
+ | Set boolean |
814
+ | homeUrl |
815
+
816
+ Sets the url of the home link
817
+
818
+ string
819
+
820
+
821
+
822
+ |
823
+
824
+ ''
825
+
826
+ | Set string |
827
+ | horizontalAlign |
828
+
829
+ Sets the alignment of the nav; either start (all left-aligned), between (children slot left-aligned and nav slot right-aligned) or end (all right-aligned)
830
+
831
+ union
832
+
833
+
834
+
835
+ | \- | Set object |
836
+ | logo |
837
+
838
+ Content for the logo slot.
839
+
840
+ ReactNode
841
+
842
+
843
+
844
+ | \- |
845
+
846
+ RAW
847
+
848
+ logo :
849
+
850
+ {
851
+
852
+ * $$typeof : Symbol(react.transitional.element)
853
+ * type : "img"
854
+ * key : null
855
+ * props :
856
+
857
+ {...} 2 keys
858
+
859
+ * \_owner : null
860
+ * \_store :
861
+
862
+ {...} 0 keys
863
+
864
+
865
+ }
866
+
867
+
868
+
869
+
870
+
871
+
872
+
873
+ |
874
+ | logoAltText |
875
+
876
+ Adds alt text to the logo's
877
+
878
+ string
879
+
880
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead, and `alt` text to your img.</td></tr></tbody></table>
881
+
882
+ |
883
+
884
+ ''
885
+
886
+ | Set string |
887
+ | logoSrc |
888
+
889
+ Sets the source url of the logo
890
+
891
+ string
892
+
893
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead with the proper `src` attribute.</td></tr></tbody></table>
894
+
895
+ |
896
+
897
+ ''
898
+
899
+ | Set string |
900
+ | nav |
901
+
902
+ Content for the nav slot.
903
+
904
+ ReactNode
905
+
906
+
907
+
908
+ | \- |
909
+
910
+ RAW
911
+
912
+ nav :
913
+
914
+ {
915
+
916
+ * $$typeof : Symbol(react.transitional.element)
917
+ * type : ({ align, children, className, "data-testid": dataTestId, element: Tag = "div", mode, noGutter, variant, ...restProps }) => /\* @\_\_PURE\_\_ \*/ jsxDEV( Tag, { ...restProps, className: classNames(className, "iress-u-text", { \[\`iress--${variant}\`\]: Boolean(variant), \[\`iress--${mode}\`\]: Boolean(mode), \[\`${GlobalCSSClass.TextAlignBase}--${align}\`\]: Boolean(align), "iress--no-gutter": noGutter }), "data-testid": dataTestId, children }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Text/Text.tsx", lineNumber: 22, columnNumber: 1 }, this )
918
+ * key : null
919
+ * props :
920
+
921
+ {...} 1 key
922
+
923
+ * \_owner : null
924
+ * \_store :
925
+
926
+ {...} 0 keys
927
+
928
+
929
+ }
930
+
931
+
932
+
933
+
934
+
935
+
936
+
937
+ |
938
+ | navLabel |
939
+
940
+ The name of the nav element (used by screen reader users). The nav element is wrapped around any content in the Nav slot
941
+
942
+ string
943
+
944
+
945
+
946
+ |
947
+
948
+ 'Main navigation'
949
+
950
+ | Set string |
951
+
952
+ The `nav` slot is for navigation content like links, and is designed to be used with the Menu component. Content in the `nav` slot will be rendered inside a `nav` element. Nav elements should be labelled to help screen reader users understand which navigation content they're interacting with. We add a default label of "primary navigation" to the `nav` element inside the `nav` slot, but you can override that with the `navLabel` prop.
953
+
954
+ [](./iframe.html?id=components-navbar--nav-menu)
955
+
956
+ ![IDS logo](assets/ids-logo.png)
957
+
958
+ [Link 1](#)[Link 2](#)[Link 3](#)
959
+
960
+ ```
961
+
962
+ <IressNavbar
963
+ logo\={<img alt\="IDS logo" src\="assets/ids-logo.png"/>}
964
+ nav\={<IressMenu layout\="inline" role\="nav"\><IressMenuItem href\="#"\>Link 1</IressMenuItem\><IressMenuItem href\="#" selected\>Link 2</IressMenuItem\><IressMenuItem href\="#"\>Link 3</IressMenuItem\></IressMenu\>}
965
+ />
966
+
967
+ ```
968
+
969
+ #### Props
970
+
971
+ | Name | Description | Default | Control |
972
+ | --- | --- | --- | --- |
973
+ | breakpoint |
974
+ Sets the breakpoint at which the main nav content is hidden, and replaced by a hamburger menu. If not set, the navbar won't be responsive.
975
+
976
+ union
977
+
978
+
979
+
980
+ | \- | Set object |
981
+ | children |
982
+
983
+ Content to be rendered inside the navbar (e.g. navigation links).
984
+
985
+ ReactNode
986
+
987
+
988
+
989
+ | \- | Set object |
990
+ | fixed |
991
+
992
+ Fixes the navbar with relation to the viewport if true. If false, the navbar will scroll out of view when the user scrolls.
993
+
994
+ boolean
995
+
996
+
997
+
998
+ |
999
+
1000
+ false
1001
+
1002
+ | Set boolean |
1003
+ | handledFocus |
1004
+
1005
+ When navbar is fixed, elements that are obscured by the fixed navbar are scrolled into view when they receive focus.
1006
+
1007
+ boolean
1008
+
1009
+
1010
+
1011
+ |
1012
+
1013
+ false
1014
+
1015
+ | Set boolean |
1016
+ | homeUrl |
1017
+
1018
+ Sets the url of the home link
1019
+
1020
+ string
1021
+
1022
+
1023
+
1024
+ |
1025
+
1026
+ ''
1027
+
1028
+ | Set string |
1029
+ | horizontalAlign |
1030
+
1031
+ Sets the alignment of the nav; either start (all left-aligned), between (children slot left-aligned and nav slot right-aligned) or end (all right-aligned)
1032
+
1033
+ union
1034
+
1035
+
1036
+
1037
+ | \- | Set object |
1038
+ | logo |
1039
+
1040
+ Content for the logo slot.
1041
+
1042
+ ReactNode
1043
+
1044
+
1045
+
1046
+ | \- |
1047
+
1048
+ RAW
1049
+
1050
+ logo :
1051
+
1052
+ {
1053
+
1054
+ * $$typeof : Symbol(react.transitional.element)
1055
+ * type : "img"
1056
+ * key : null
1057
+ * props :
1058
+
1059
+ {...} 2 keys
1060
+
1061
+ * \_owner : null
1062
+ * \_store :
1063
+
1064
+ {...} 0 keys
1065
+
1066
+
1067
+ }
1068
+
1069
+
1070
+
1071
+
1072
+
1073
+
1074
+
1075
+ |
1076
+ | logoAltText |
1077
+
1078
+ Adds alt text to the logo's
1079
+
1080
+ string
1081
+
1082
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead, and `alt` text to your img.</td></tr></tbody></table>
1083
+
1084
+ |
1085
+
1086
+ ''
1087
+
1088
+ | Set string |
1089
+ | logoSrc |
1090
+
1091
+ Sets the source url of the logo
1092
+
1093
+ string
1094
+
1095
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead with the proper `src` attribute.</td></tr></tbody></table>
1096
+
1097
+ |
1098
+
1099
+ ''
1100
+
1101
+ | Set string |
1102
+ | nav |
1103
+
1104
+ Content for the nav slot.
1105
+
1106
+ ReactNode
1107
+
1108
+
1109
+
1110
+ | \- |
1111
+
1112
+ RAW
1113
+
1114
+ nav :
1115
+
1116
+ {
1117
+
1118
+ * $$typeof : Symbol(react.transitional.element)
1119
+ * type : ({ changeOnBlur, children, className, defaultSelected, fluid, id: idProp, layout = "stack", multiSelect, noWrap, onChange, role: roleProp, selected, type, ...restProps }) => { \_s(); const id = useIdIfNeeded({ id: idProp }); const roleOrType = roleProp ?? type; const role = useMenuRole(multiSelect, roleOrType); const aria = useMenuAria({ id, layout, multiSelect, role }); const styles = useMenuStyles({ className, fluid, layout, role: roleOrType }); const isComposite = useMenuComposite(role); const props = { ...restProps, ...styles, ...aria, role, id, children }; if (type !== void 0) { idsLogger( \`IressMenu: The type prop is deprecated. Please use the role prop instead.\` ); } return /\* @\_\_PURE\_\_ \*/ jsxDEV( MenuProvider, { changeOnBlur, defaultSelected, id, layout, multiSelect, nav: roleOrType === "nav", noWrap, onChange, role, selected, children: isComposite ? /\* @\_\_PURE\_\_ \*/ jsxDEV(Composite, { loop: role === "menu", render: /\* @\_\_PURE\_\_ \*/ jsxDEV("div", { ...props }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Menu/Menu.tsx", lineNumber: 75, columnNumber: 49 }, this) }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Menu/Menu.tsx", lineNumber: 75, columnNumber: 7 }, this) : /\* @\_\_PURE\_\_ \*/ jsxDEV("div", { ...props }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Menu/Menu.tsx", lineNumber: 77, columnNumber: 7 }, this) }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Menu/Menu.tsx", lineNumber: 62, columnNumber: 5 }, this ); }
1120
+ * key : null
1121
+ * props :
1122
+
1123
+ {...} 3 keys
1124
+
1125
+ * \_owner : null
1126
+ * \_store :
1127
+
1128
+ {...} 0 keys
1129
+
1130
+
1131
+ }
1132
+
1133
+
1134
+
1135
+
1136
+
1137
+
1138
+
1139
+ |
1140
+ | navLabel |
1141
+
1142
+ The name of the nav element (used by screen reader users). The nav element is wrapped around any content in the Nav slot
1143
+
1144
+ string
1145
+
1146
+
1147
+
1148
+ |
1149
+
1150
+ 'Main navigation'
1151
+
1152
+ | Set string |
1153
+
1154
+ [](./iframe.html?id=components-navbar--nav-menu-and-children)
1155
+
1156
+ ![IDS logo](assets/ids-logo.png)
1157
+
1158
+ Default slot content
1159
+ ====================
1160
+
1161
+ [Link 1](#)[Link 2](#)[Link 3](#)
1162
+
1163
+ ```
1164
+
1165
+ <IressNavbar
1166
+ logo\={<img alt\="IDS logo" src\="assets/ids-logo.png"/>}
1167
+ nav\={<IressMenu layout\="inline" role\="nav"\><IressMenuItem href\="#"\>Link 1</IressMenuItem\><IressMenuItem href\="#" selected\>Link 2</IressMenuItem\><IressMenuItem href\="#"\>Link 3</IressMenuItem\></IressMenu\>}
1168
+ \>
1169
+ <IressText\>
1170
+ <h1\>
1171
+ Default slot content </h1\>
1172
+ </IressText\>
1173
+ </IressNavbar\>
1174
+
1175
+ ```
1176
+
1177
+ #### Props
1178
+
1179
+ | Name | Description | Default | Control |
1180
+ | --- | --- | --- | --- |
1181
+ | breakpoint |
1182
+ Sets the breakpoint at which the main nav content is hidden, and replaced by a hamburger menu. If not set, the navbar won't be responsive.
1183
+
1184
+ union
1185
+
1186
+
1187
+
1188
+ | \- | Set object |
1189
+ | children |
1190
+
1191
+ Content to be rendered inside the navbar (e.g. navigation links).
1192
+
1193
+ ReactNode
1194
+
1195
+
1196
+
1197
+ | \- |
1198
+
1199
+ RAW
1200
+
1201
+ children :
1202
+
1203
+ {
1204
+
1205
+ * $$typeof : Symbol(react.transitional.element)
1206
+ * type : ({ align, children, className, "data-testid": dataTestId, element: Tag = "div", mode, noGutter, variant, ...restProps }) => /\* @\_\_PURE\_\_ \*/ jsxDEV( Tag, { ...restProps, className: classNames(className, "iress-u-text", { \[\`iress--${variant}\`\]: Boolean(variant), \[\`iress--${mode}\`\]: Boolean(mode), \[\`${GlobalCSSClass.TextAlignBase}--${align}\`\]: Boolean(align), "iress--no-gutter": noGutter }), "data-testid": dataTestId, children }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Text/Text.tsx", lineNumber: 22, columnNumber: 1 }, this )
1207
+ * key : null
1208
+ * props :
1209
+
1210
+ {...} 1 key
1211
+
1212
+ * \_owner : null
1213
+ * \_store :
1214
+
1215
+ {...} 0 keys
1216
+
1217
+
1218
+ }
1219
+
1220
+
1221
+
1222
+
1223
+
1224
+
1225
+
1226
+ |
1227
+ | fixed |
1228
+
1229
+ Fixes the navbar with relation to the viewport if true. If false, the navbar will scroll out of view when the user scrolls.
1230
+
1231
+ boolean
1232
+
1233
+
1234
+
1235
+ |
1236
+
1237
+ false
1238
+
1239
+ | Set boolean |
1240
+ | handledFocus |
1241
+
1242
+ When navbar is fixed, elements that are obscured by the fixed navbar are scrolled into view when they receive focus.
1243
+
1244
+ boolean
1245
+
1246
+
1247
+
1248
+ |
1249
+
1250
+ false
1251
+
1252
+ | Set boolean |
1253
+ | homeUrl |
1254
+
1255
+ Sets the url of the home link
1256
+
1257
+ string
1258
+
1259
+
1260
+
1261
+ |
1262
+
1263
+ ''
1264
+
1265
+ | Set string |
1266
+ | horizontalAlign |
1267
+
1268
+ Sets the alignment of the nav; either start (all left-aligned), between (children slot left-aligned and nav slot right-aligned) or end (all right-aligned)
1269
+
1270
+ union
1271
+
1272
+
1273
+
1274
+ | \- | Set object |
1275
+ | logo |
1276
+
1277
+ Content for the logo slot.
1278
+
1279
+ ReactNode
1280
+
1281
+
1282
+
1283
+ | \- |
1284
+
1285
+ RAW
1286
+
1287
+ logo :
1288
+
1289
+ {
1290
+
1291
+ * $$typeof : Symbol(react.transitional.element)
1292
+ * type : "img"
1293
+ * key : null
1294
+ * props :
1295
+
1296
+ {...} 2 keys
1297
+
1298
+ * \_owner : null
1299
+ * \_store :
1300
+
1301
+ {...} 0 keys
1302
+
1303
+
1304
+ }
1305
+
1306
+
1307
+
1308
+
1309
+
1310
+
1311
+
1312
+ |
1313
+ | logoAltText |
1314
+
1315
+ Adds alt text to the logo's
1316
+
1317
+ string
1318
+
1319
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead, and `alt` text to your img.</td></tr></tbody></table>
1320
+
1321
+ |
1322
+
1323
+ ''
1324
+
1325
+ | Set string |
1326
+ | logoSrc |
1327
+
1328
+ Sets the source url of the logo
1329
+
1330
+ string
1331
+
1332
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead with the proper `src` attribute.</td></tr></tbody></table>
1333
+
1334
+ |
1335
+
1336
+ ''
1337
+
1338
+ | Set string |
1339
+ | nav |
1340
+
1341
+ Content for the nav slot.
1342
+
1343
+ ReactNode
1344
+
1345
+
1346
+
1347
+ | \- |
1348
+
1349
+ RAW
1350
+
1351
+ nav :
1352
+
1353
+ {
1354
+
1355
+ * $$typeof : Symbol(react.transitional.element)
1356
+ * type : ({ changeOnBlur, children, className, defaultSelected, fluid, id: idProp, layout = "stack", multiSelect, noWrap, onChange, role: roleProp, selected, type, ...restProps }) => { \_s(); const id = useIdIfNeeded({ id: idProp }); const roleOrType = roleProp ?? type; const role = useMenuRole(multiSelect, roleOrType); const aria = useMenuAria({ id, layout, multiSelect, role }); const styles = useMenuStyles({ className, fluid, layout, role: roleOrType }); const isComposite = useMenuComposite(role); const props = { ...restProps, ...styles, ...aria, role, id, children }; if (type !== void 0) { idsLogger( \`IressMenu: The type prop is deprecated. Please use the role prop instead.\` ); } return /\* @\_\_PURE\_\_ \*/ jsxDEV( MenuProvider, { changeOnBlur, defaultSelected, id, layout, multiSelect, nav: roleOrType === "nav", noWrap, onChange, role, selected, children: isComposite ? /\* @\_\_PURE\_\_ \*/ jsxDEV(Composite, { loop: role === "menu", render: /\* @\_\_PURE\_\_ \*/ jsxDEV("div", { ...props }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Menu/Menu.tsx", lineNumber: 75, columnNumber: 49 }, this) }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Menu/Menu.tsx", lineNumber: 75, columnNumber: 7 }, this) : /\* @\_\_PURE\_\_ \*/ jsxDEV("div", { ...props }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Menu/Menu.tsx", lineNumber: 77, columnNumber: 7 }, this) }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Menu/Menu.tsx", lineNumber: 62, columnNumber: 5 }, this ); }
1357
+ * key : null
1358
+ * props :
1359
+
1360
+ {...} 3 keys
1361
+
1362
+ * \_owner : null
1363
+ * \_store :
1364
+
1365
+ {...} 0 keys
1366
+
1367
+
1368
+ }
1369
+
1370
+
1371
+
1372
+
1373
+
1374
+
1375
+
1376
+ |
1377
+ | navLabel |
1378
+
1379
+ The name of the nav element (used by screen reader users). The nav element is wrapped around any content in the Nav slot
1380
+
1381
+ string
1382
+
1383
+
1384
+
1385
+ |
1386
+
1387
+ 'Main navigation'
1388
+
1389
+ | Set string |
1390
+
1391
+ ### Simple responsive Navbars
1392
+
1393
+ You can use the `breakpoint` prop to create simple responsive navbars. When set, content in the `nav` slot will be hidden below that breakpoint. Instead, the `IressNavbar` will render a toggle button that can be used to show / hide the Nav slot content.
1394
+
1395
+ If you need more control over your navbar's responsive behaviour, you can create a custom navbar.
1396
+
1397
+ [](./iframe.html?id=components-navbar--responsive)
1398
+
1399
+ ![IDS logo](assets/ids-logo.png)
1400
+
1401
+ [Link 1](#)[Link 2](#)[Link 3](#)[Link 4](#)[Link 5](#)
1402
+
1403
+ ```
1404
+
1405
+ <IressNavbar
1406
+ breakpoint\="sm"
1407
+ logo\={<img alt\="IDS logo" src\="assets/ids-logo.png"/>}
1408
+ nav\={<IressMenu layout\="inline" role\="nav"\><IressMenuItem href\="#"\>Link 1</IressMenuItem\><IressMenuItem href\="#" selected\>Link 2</IressMenuItem\><IressMenuItem href\="#"\>Link 3</IressMenuItem\><IressMenuItem href\="#"\>Link 4</IressMenuItem\><IressMenuItem href\="#"\>Link 5</IressMenuItem\></IressMenu\>}
1409
+ />
1410
+
1411
+ ```
1412
+
1413
+ #### Props
1414
+
1415
+ | Name | Description | Default | Control |
1416
+ | --- | --- | --- | --- |
1417
+ | breakpoint |
1418
+ Sets the breakpoint at which the main nav content is hidden, and replaced by a hamburger menu. If not set, the navbar won't be responsive.
1419
+
1420
+ union
1421
+
1422
+
1423
+
1424
+ | \- |
1425
+
1426
+ "sm"
1427
+
1428
+ |
1429
+ | children |
1430
+
1431
+ Content to be rendered inside the navbar (e.g. navigation links).
1432
+
1433
+ ReactNode
1434
+
1435
+
1436
+
1437
+ | \- | Set object |
1438
+ | fixed |
1439
+
1440
+ Fixes the navbar with relation to the viewport if true. If false, the navbar will scroll out of view when the user scrolls.
1441
+
1442
+ boolean
1443
+
1444
+
1445
+
1446
+ |
1447
+
1448
+ false
1449
+
1450
+ | Set boolean |
1451
+ | handledFocus |
1452
+
1453
+ When navbar is fixed, elements that are obscured by the fixed navbar are scrolled into view when they receive focus.
1454
+
1455
+ boolean
1456
+
1457
+
1458
+
1459
+ |
1460
+
1461
+ false
1462
+
1463
+ | Set boolean |
1464
+ | homeUrl |
1465
+
1466
+ Sets the url of the home link
1467
+
1468
+ string
1469
+
1470
+
1471
+
1472
+ |
1473
+
1474
+ ''
1475
+
1476
+ | Set string |
1477
+ | horizontalAlign |
1478
+
1479
+ Sets the alignment of the nav; either start (all left-aligned), between (children slot left-aligned and nav slot right-aligned) or end (all right-aligned)
1480
+
1481
+ union
1482
+
1483
+
1484
+
1485
+ | \- | Set object |
1486
+ | logo |
1487
+
1488
+ Content for the logo slot.
1489
+
1490
+ ReactNode
1491
+
1492
+
1493
+
1494
+ | \- |
1495
+
1496
+ RAW
1497
+
1498
+ logo :
1499
+
1500
+ {
1501
+
1502
+ * $$typeof : Symbol(react.transitional.element)
1503
+ * type : "img"
1504
+ * key : null
1505
+ * props :
1506
+
1507
+ {...} 2 keys
1508
+
1509
+ * \_owner : null
1510
+ * \_store :
1511
+
1512
+ {...} 0 keys
1513
+
1514
+
1515
+ }
1516
+
1517
+
1518
+
1519
+
1520
+
1521
+
1522
+
1523
+ |
1524
+ | logoAltText |
1525
+
1526
+ Adds alt text to the logo's
1527
+
1528
+ string
1529
+
1530
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead, and `alt` text to your img.</td></tr></tbody></table>
1531
+
1532
+ |
1533
+
1534
+ ''
1535
+
1536
+ | Set string |
1537
+ | logoSrc |
1538
+
1539
+ Sets the source url of the logo
1540
+
1541
+ string
1542
+
1543
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead with the proper `src` attribute.</td></tr></tbody></table>
1544
+
1545
+ |
1546
+
1547
+ ''
1548
+
1549
+ | Set string |
1550
+ | nav |
1551
+
1552
+ Content for the nav slot.
1553
+
1554
+ ReactNode
1555
+
1556
+
1557
+
1558
+ | \- |
1559
+
1560
+ RAW
1561
+
1562
+ nav :
1563
+
1564
+ {
1565
+
1566
+ * $$typeof : Symbol(react.transitional.element)
1567
+ * type : ({ changeOnBlur, children, className, defaultSelected, fluid, id: idProp, layout = "stack", multiSelect, noWrap, onChange, role: roleProp, selected, type, ...restProps }) => { \_s(); const id = useIdIfNeeded({ id: idProp }); const roleOrType = roleProp ?? type; const role = useMenuRole(multiSelect, roleOrType); const aria = useMenuAria({ id, layout, multiSelect, role }); const styles = useMenuStyles({ className, fluid, layout, role: roleOrType }); const isComposite = useMenuComposite(role); const props = { ...restProps, ...styles, ...aria, role, id, children }; if (type !== void 0) { idsLogger( \`IressMenu: The type prop is deprecated. Please use the role prop instead.\` ); } return /\* @\_\_PURE\_\_ \*/ jsxDEV( MenuProvider, { changeOnBlur, defaultSelected, id, layout, multiSelect, nav: roleOrType === "nav", noWrap, onChange, role, selected, children: isComposite ? /\* @\_\_PURE\_\_ \*/ jsxDEV(Composite, { loop: role === "menu", render: /\* @\_\_PURE\_\_ \*/ jsxDEV("div", { ...props }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Menu/Menu.tsx", lineNumber: 75, columnNumber: 49 }, this) }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Menu/Menu.tsx", lineNumber: 75, columnNumber: 7 }, this) : /\* @\_\_PURE\_\_ \*/ jsxDEV("div", { ...props }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Menu/Menu.tsx", lineNumber: 77, columnNumber: 7 }, this) }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Menu/Menu.tsx", lineNumber: 62, columnNumber: 5 }, this ); }
1568
+ * key : null
1569
+ * props :
1570
+
1571
+ {...} 3 keys
1572
+
1573
+ * \_owner : null
1574
+ * \_store :
1575
+
1576
+ {...} 0 keys
1577
+
1578
+
1579
+ }
1580
+
1581
+
1582
+
1583
+
1584
+
1585
+
1586
+
1587
+ |
1588
+ | navLabel |
1589
+
1590
+ The name of the nav element (used by screen reader users). The nav element is wrapped around any content in the Nav slot
1591
+
1592
+ string
1593
+
1594
+
1595
+
1596
+ |
1597
+
1598
+ 'Main navigation'
1599
+
1600
+ | Set string |
1601
+
1602
+ ### Navbar with icons
1603
+
1604
+ Using icons in `IressButton`s and `IressMenuItem`s can add visual interest to your navbar, as well as saving space. However, if the icon is the only content (ie there's no visible text description), the meaning of the icon may not be clear to users.
1605
+
1606
+ To help users, you can add an `IressTooltip` around the `IressMenuItem`. This will enable users to hover or focus on the element to find out what it does.
1607
+
1608
+ For more information about using tooltips, see the [Tooltip Documentation](?path=/docs/components-tooltip--docs).
1609
+
1610
+ [](./iframe.html?id=components-navbar--icons)
1611
+
1612
+ Iress Design System
1613
+ ===================
1614
+
1615
+ [](#)
1616
+
1617
+ [](#)
1618
+
1619
+ [](#)
1620
+
1621
+ ```
1622
+
1623
+ <IressNavbar
1624
+ horizontalAlign\="between"
1625
+ nav\={<IressMenu layout\="inline" role\="nav"\><IressTooltip align\="bottom" tooltipText\="User details"\><IressMenuItem href\="#"\><IressIcon name\="user" size\="2x"/></IressMenuItem\></IressTooltip\><IressTooltip align\="bottom" tooltipText\="Add task"\><IressMenuItem href\="#" selected\><IressIcon name\="plus" size\="2x"/></IressMenuItem\></IressTooltip\><IressTooltip align\="bottom" tooltipText\="Settings"\><IressMenuItem href\="#"\><IressIcon name\="cog" size\="2x"/></IressMenuItem\></IressTooltip\></IressMenu\>}
1626
+ \>
1627
+ <IressText\>
1628
+ <h1\>
1629
+ Iress Design System </h1\>
1630
+ </IressText\>
1631
+ </IressNavbar\>
1632
+
1633
+ ```
1634
+
1635
+ #### Props
1636
+
1637
+ | Name | Description | Default | Control |
1638
+ | --- | --- | --- | --- |
1639
+ | breakpoint |
1640
+ Sets the breakpoint at which the main nav content is hidden, and replaced by a hamburger menu. If not set, the navbar won't be responsive.
1641
+
1642
+ union
1643
+
1644
+
1645
+
1646
+ | \- | Set object |
1647
+ | children |
1648
+
1649
+ Content to be rendered inside the navbar (e.g. navigation links).
1650
+
1651
+ ReactNode
1652
+
1653
+
1654
+
1655
+ | \- |
1656
+
1657
+ RAW
1658
+
1659
+ children :
1660
+
1661
+ {
1662
+
1663
+ * $$typeof : Symbol(react.transitional.element)
1664
+ * type : ({ align, children, className, "data-testid": dataTestId, element: Tag = "div", mode, noGutter, variant, ...restProps }) => /\* @\_\_PURE\_\_ \*/ jsxDEV( Tag, { ...restProps, className: classNames(className, "iress-u-text", { \[\`iress--${variant}\`\]: Boolean(variant), \[\`iress--${mode}\`\]: Boolean(mode), \[\`${GlobalCSSClass.TextAlignBase}--${align}\`\]: Boolean(align), "iress--no-gutter": noGutter }), "data-testid": dataTestId, children }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Text/Text.tsx", lineNumber: 22, columnNumber: 1 }, this )
1665
+ * key : null
1666
+ * props :
1667
+
1668
+ {...} 1 key
1669
+
1670
+ * \_owner : null
1671
+ * \_store :
1672
+
1673
+ {...} 0 keys
1674
+
1675
+
1676
+ }
1677
+
1678
+
1679
+
1680
+
1681
+
1682
+
1683
+
1684
+ |
1685
+ | fixed |
1686
+
1687
+ Fixes the navbar with relation to the viewport if true. If false, the navbar will scroll out of view when the user scrolls.
1688
+
1689
+ boolean
1690
+
1691
+
1692
+
1693
+ |
1694
+
1695
+ false
1696
+
1697
+ | Set boolean |
1698
+ | handledFocus |
1699
+
1700
+ When navbar is fixed, elements that are obscured by the fixed navbar are scrolled into view when they receive focus.
1701
+
1702
+ boolean
1703
+
1704
+
1705
+
1706
+ |
1707
+
1708
+ false
1709
+
1710
+ | Set boolean |
1711
+ | homeUrl |
1712
+
1713
+ Sets the url of the home link
1714
+
1715
+ string
1716
+
1717
+
1718
+
1719
+ |
1720
+
1721
+ ''
1722
+
1723
+ | Set string |
1724
+ | horizontalAlign |
1725
+
1726
+ Sets the alignment of the nav; either start (all left-aligned), between (children slot left-aligned and nav slot right-aligned) or end (all right-aligned)
1727
+
1728
+ union
1729
+
1730
+
1731
+
1732
+ | \- |
1733
+
1734
+ "between"
1735
+
1736
+ |
1737
+ | logo |
1738
+
1739
+ Content for the logo slot.
1740
+
1741
+ ReactNode
1742
+
1743
+
1744
+
1745
+ | \- | Set object |
1746
+ | logoAltText |
1747
+
1748
+ Adds alt text to the logo's
1749
+
1750
+ string
1751
+
1752
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead, and `alt` text to your img.</td></tr></tbody></table>
1753
+
1754
+ |
1755
+
1756
+ ''
1757
+
1758
+ | Set string |
1759
+ | logoSrc |
1760
+
1761
+ Sets the source url of the logo
1762
+
1763
+ string
1764
+
1765
+ <table class="css-3nr4py"><tbody><tr><td colspan="2"><strong>Deprecated</strong>: Use `logo` instead with the proper `src` attribute.</td></tr></tbody></table>
1766
+
1767
+ |
1768
+
1769
+ ''
1770
+
1771
+ | Set string |
1772
+ | nav |
1773
+
1774
+ Content for the nav slot.
1775
+
1776
+ ReactNode
1777
+
1778
+
1779
+
1780
+ | \- |
1781
+
1782
+ RAW
1783
+
1784
+ nav :
1785
+
1786
+ {
1787
+
1788
+ * $$typeof : Symbol(react.transitional.element)
1789
+ * type : ({ changeOnBlur, children, className, defaultSelected, fluid, id: idProp, layout = "stack", multiSelect, noWrap, onChange, role: roleProp, selected, type, ...restProps }) => { \_s(); const id = useIdIfNeeded({ id: idProp }); const roleOrType = roleProp ?? type; const role = useMenuRole(multiSelect, roleOrType); const aria = useMenuAria({ id, layout, multiSelect, role }); const styles = useMenuStyles({ className, fluid, layout, role: roleOrType }); const isComposite = useMenuComposite(role); const props = { ...restProps, ...styles, ...aria, role, id, children }; if (type !== void 0) { idsLogger( \`IressMenu: The type prop is deprecated. Please use the role prop instead.\` ); } return /\* @\_\_PURE\_\_ \*/ jsxDEV( MenuProvider, { changeOnBlur, defaultSelected, id, layout, multiSelect, nav: roleOrType === "nav", noWrap, onChange, role, selected, children: isComposite ? /\* @\_\_PURE\_\_ \*/ jsxDEV(Composite, { loop: role === "menu", render: /\* @\_\_PURE\_\_ \*/ jsxDEV("div", { ...props }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Menu/Menu.tsx", lineNumber: 75, columnNumber: 49 }, this) }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Menu/Menu.tsx", lineNumber: 75, columnNumber: 7 }, this) : /\* @\_\_PURE\_\_ \*/ jsxDEV("div", { ...props }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Menu/Menu.tsx", lineNumber: 77, columnNumber: 7 }, this) }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Menu/Menu.tsx", lineNumber: 62, columnNumber: 5 }, this ); }
1790
+ * key : null
1791
+ * props :
1792
+
1793
+ {...} 3 keys
1794
+
1795
+ * \_owner : null
1796
+ * \_store :
1797
+
1798
+ {...} 0 keys
1799
+
1800
+
1801
+ }
1802
+
1803
+
1804
+
1805
+
1806
+
1807
+
1808
+
1809
+ |
1810
+ | navLabel |
1811
+
1812
+ The name of the nav element (used by screen reader users). The nav element is wrapped around any content in the Nav slot
1813
+
1814
+ string
1815
+
1816
+
1817
+
1818
+ |
1819
+
1820
+ 'Main navigation'
1821
+
1822
+ | Set string |
1823
+
1824
+ ### Fixed navbar focus handling
1825
+
1826
+ WCAG 2.2 includes a new AA criterion designed to prevent focusable content from being hidden by other on-screen content like fixed navbars ([More details](https://www.w3.org/WAI/WCAG22/Understanding/focus-not-obscured-minimum.html)).
1827
+
1828
+ When `handledFocus` is set and navbar is `fixed`, navbar ensures any elements that recieve focus are not hidden by the navbar. It does this by scrolling the window enough for the focussed element to be in the visible viewport.
1829
+
1830
+ #### Skip links
1831
+
1832
+ Navbars often contain the same content across multiple pages. To make life easier for keyboard and screen reader users, it's considered good practice to use an `IressSkipLink` component alongside your navbar.
1833
+
1834
+ Skip links allow keyboard users to skip the navbar entirely and access the main content on the page. This means they don't have to tab through every nav link or button every time they navigate to a new screen.
1835
+
1836
+ You can find out more about skiplinks in the [SkipLink Documentation](?path=/docs/components-skiplink--docs).
1837
+
1838
+ The `IressSkipLink` should appear before your navbar to ensure it's the first content that users interact with:
1839
+
1840
+ <body\>
1841
+ <IressSkipLink targetId\="main-content" />
1842
+ <IressNavbar\>...</IressNavbar\>
1843
+ <main id\="main-content" tabIndex\={\-1}\>
1844
+ ... </main\>
1845
+ </body\>
1846
+
1847
+ ```