@iress-oss/ids-mcp-server 0.0.1-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +201 -0
- package/README.md +93 -0
- package/dist/componentHandlers.js +241 -0
- package/dist/componentHandlers.test.js +380 -0
- package/dist/config.js +16 -0
- package/dist/index.js +53 -0
- package/dist/iressHandlers.js +144 -0
- package/dist/iressHandlers.test.js +316 -0
- package/dist/resourceHandlers.js +67 -0
- package/dist/resourceHandlers.test.js +352 -0
- package/dist/searchHandlers.js +287 -0
- package/dist/searchHandlers.test.js +524 -0
- package/dist/toolHandler.js +31 -0
- package/dist/toolHandler.test.js +369 -0
- package/dist/tools.js +165 -0
- package/dist/types.js +4 -0
- package/dist/utils.js +59 -0
- package/dist/utils.test.js +286 -0
- package/generated/docs/components-alert-docs.md +130 -0
- package/generated/docs/components-autocomplete-docs.md +754 -0
- package/generated/docs/components-autocomplete-recipes-docs.md +104 -0
- package/generated/docs/components-badge-docs.md +148 -0
- package/generated/docs/components-button-docs.md +362 -0
- package/generated/docs/components-button-recipes-docs.md +76 -0
- package/generated/docs/components-buttongroup-docs.md +310 -0
- package/generated/docs/components-card-docs.md +494 -0
- package/generated/docs/components-card-recipes-docs.md +89 -0
- package/generated/docs/components-checkbox-docs.md +193 -0
- package/generated/docs/components-checkboxgroup-docs.md +692 -0
- package/generated/docs/components-checkboxgroup-recipes-docs.md +119 -0
- package/generated/docs/components-col-docs.md +466 -0
- package/generated/docs/components-combobox-docs.md +1016 -0
- package/generated/docs/components-container-docs.md +91 -0
- package/generated/docs/components-divider-docs.md +176 -0
- package/generated/docs/components-expander-docs.md +215 -0
- package/generated/docs/components-field-docs.md +675 -0
- package/generated/docs/components-filter-docs.md +1109 -0
- package/generated/docs/components-form-docs.md +2442 -0
- package/generated/docs/components-form-recipes-docs.md +892 -0
- package/generated/docs/components-hide-docs.md +265 -0
- package/generated/docs/components-icon-docs.md +553 -0
- package/generated/docs/components-inline-docs.md +868 -0
- package/generated/docs/components-input-docs.md +335 -0
- package/generated/docs/components-input-recipes-docs.md +140 -0
- package/generated/docs/components-inputcurrency-docs.md +157 -0
- package/generated/docs/components-inputcurrency-recipes-docs.md +116 -0
- package/generated/docs/components-label-docs.md +135 -0
- package/generated/docs/components-menu-docs.md +704 -0
- package/generated/docs/components-menu-menuitem-docs.md +193 -0
- package/generated/docs/components-modal-docs.md +587 -0
- package/generated/docs/components-navbar-docs.md +291 -0
- package/generated/docs/components-navbar-recipes-docs.md +413 -0
- package/generated/docs/components-panel-docs.md +380 -0
- package/generated/docs/components-placeholder-docs.md +27 -0
- package/generated/docs/components-popover-docs.md +464 -0
- package/generated/docs/components-popover-recipes-docs.md +245 -0
- package/generated/docs/components-progress-docs.md +104 -0
- package/generated/docs/components-radio-docs.md +107 -0
- package/generated/docs/components-radiogroup-docs.md +683 -0
- package/generated/docs/components-readonly-docs.md +89 -0
- package/generated/docs/components-richselect-docs.md +2433 -0
- package/generated/docs/components-row-docs.md +877 -0
- package/generated/docs/components-select-docs.md +456 -0
- package/generated/docs/components-skeleton-docs.md +214 -0
- package/generated/docs/components-skeleton-recipes-docs.md +76 -0
- package/generated/docs/components-skiplink-docs.md +66 -0
- package/generated/docs/components-slideout-docs.md +538 -0
- package/generated/docs/components-slider-docs.md +346 -0
- package/generated/docs/components-spinner-docs.md +59 -0
- package/generated/docs/components-stack-docs.md +265 -0
- package/generated/docs/components-table-ag-grid-docs.md +2666 -0
- package/generated/docs/components-table-docs.md +1305 -0
- package/generated/docs/components-tabset-docs.md +341 -0
- package/generated/docs/components-tabset-tab-docs.md +86 -0
- package/generated/docs/components-tag-docs.md +115 -0
- package/generated/docs/components-text-docs.md +394 -0
- package/generated/docs/components-toaster-docs.md +294 -0
- package/generated/docs/components-toaster-toast-docs.md +157 -0
- package/generated/docs/components-toggle-docs.md +158 -0
- package/generated/docs/components-tooltip-docs.md +311 -0
- package/generated/docs/components-validationmessage-docs.md +241 -0
- package/generated/docs/contact-us-docs.md +27 -0
- package/generated/docs/extensions-editor-docs.md +288 -0
- package/generated/docs/extensions-editor-recipes-docs.md +39 -0
- package/generated/docs/foundations-accessibility-docs.md +62 -0
- package/generated/docs/foundations-colours-docs.md +257 -0
- package/generated/docs/foundations-consistency-docs.md +52 -0
- package/generated/docs/foundations-content-docs.md +23 -0
- package/generated/docs/foundations-introduction-docs.md +17 -0
- package/generated/docs/foundations-principles-docs.md +70 -0
- package/generated/docs/foundations-typography-docs.md +191 -0
- package/generated/docs/foundations-user-experience-docs.md +63 -0
- package/generated/docs/foundations-visual-design-docs.md +46 -0
- package/generated/docs/frequently-asked-questions-docs.md +53 -0
- package/generated/docs/get-started-develop-docs.md +48 -0
- package/generated/docs/get-started-using-storybook-docs.md +68 -0
- package/generated/docs/guidelines.md +812 -0
- package/generated/docs/introduction-docs.md +43 -0
- package/generated/docs/patterns-loading-docs.md +1304 -0
- package/generated/docs/resources-changelog-docs.md +6 -0
- package/generated/docs/resources-code-katas-docs.md +29 -0
- package/generated/docs/resources-migration-guides-from-v4-to-v5-docs.md +437 -0
- package/generated/docs/themes-available-themes-docs.md +66 -0
- package/generated/docs/themes-introduction-docs.md +121 -0
- package/generated/docs/themes-tokens-docs.md +1200 -0
- package/generated/docs/versions-docs.md +17 -0
- package/package.json +81 -0
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
[](#recipes)Recipes
|
|
2
|
+
===================
|
|
3
|
+
|
|
4
|
+
[](#custom-navbars)Custom navbars
|
|
5
|
+
---------------------------------
|
|
6
|
+
|
|
7
|
+
At its essence, the navbar component is a coloured panel. This means you can easily create custom navbars by creating your own content structure and passing everything into the `children` slot.
|
|
8
|
+
|
|
9
|
+
If you're creating a custom navbar, there are a few things to be aware of. Firstly, some props may not work; for example, the `horizontalAlign` prop won't be applied if there's nothing in the `nav` slot. Similarly, the breakpoint prop won't work if there's nothing in the `nav` slot as it's designed to show and hide `nav` slot content. You can still create responsive designs, but you'll need to set this up yourself.
|
|
10
|
+
|
|
11
|
+
Secondly, you'll need to make sure your content is accessible; for example using a `nav` element with an `aria-label` when you add navigation links.
|
|
12
|
+
|
|
13
|
+
### [](#custom-responsive-navbar)Custom responsive navbar
|
|
14
|
+
|
|
15
|
+
This example uses existing IDS components to create a custom responsive navbar. On smaller screens the main `nav` in the `IressNavbar` is hidden, and a menu button is shown. The menu button triggers a slideout that contains the nav links.
|
|
16
|
+
|
|
17
|
+

|
|
18
|
+
|
|
19
|
+
Custom navbar
|
|
20
|
+
=============
|
|
21
|
+
|
|
22
|
+
[Link 1](#)[Link 2](#)[Link 3](#)
|
|
23
|
+
|
|
24
|
+
Hide code
|
|
25
|
+
|
|
26
|
+
\[data-radix-scroll-area-viewport\] { scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } \[data-radix-scroll-area-viewport\]::-webkit-scrollbar { display: none; } :where(\[data-radix-scroll-area-viewport\]) { display: flex; flex-direction: column; align-items: stretch; } :where(\[data-radix-scroll-area-content\]) { flex-grow: 1; }
|
|
27
|
+
|
|
28
|
+
const Navbar \= () \=> {
|
|
29
|
+
const { showSlideout } \= useSlideout();
|
|
30
|
+
const containerRef \= useRef<HTMLDivElement | null\>(null);
|
|
31
|
+
return (
|
|
32
|
+
<div ref\={containerRef} style\={{ minHeight: '200px' }}\>
|
|
33
|
+
<IressNavbar
|
|
34
|
+
nav\={
|
|
35
|
+
<IressHide hiddenOn\={{ xs: true, md: false }}\>
|
|
36
|
+
<IressMenu layout\="inline" role\="nav"\>
|
|
37
|
+
<IressMenuItem href\="#"\>Link 1</IressMenuItem\>
|
|
38
|
+
<IressMenuItem href\="#"\>Link 2</IressMenuItem\>
|
|
39
|
+
<IressMenuItem href\="#"\>Link 3</IressMenuItem\>
|
|
40
|
+
</IressMenu\>
|
|
41
|
+
</IressHide\>
|
|
42
|
+
}
|
|
43
|
+
\>
|
|
44
|
+
<IressInline gutter\="md" verticalAlign\="middle"\>
|
|
45
|
+
<IressHide hiddenOn\={{ md: true }}\>
|
|
46
|
+
<IressButton
|
|
47
|
+
mode\="tertiary"
|
|
48
|
+
onClick\={() \=> showSlideout('nav-slideout')}
|
|
49
|
+
\>
|
|
50
|
+
<IressIcon name\="bars" size\="2x" />
|
|
51
|
+
</IressButton\>
|
|
52
|
+
</IressHide\>
|
|
53
|
+
<img src\="assets/ids-logo.png" alt\="Iress logo" />
|
|
54
|
+
<IressText\>
|
|
55
|
+
<h1\>Custom navbar</h1\>
|
|
56
|
+
</IressText\>
|
|
57
|
+
</IressInline\>
|
|
58
|
+
</IressNavbar\>
|
|
59
|
+
<IressSlideout
|
|
60
|
+
id\="nav-slideout"
|
|
61
|
+
style\={{ '--iress-position': 'absolute' } as never}
|
|
62
|
+
position\="left"
|
|
63
|
+
container\={containerRef}
|
|
64
|
+
\>
|
|
65
|
+
<nav aria-label\="tertiary navigation"\>
|
|
66
|
+
<IressMenu role\="nav"\>
|
|
67
|
+
<IressMenuItem href\="#"\>Link 1</IressMenuItem\>
|
|
68
|
+
<IressMenuItem href\="#"\>Link 2</IressMenuItem\>
|
|
69
|
+
<IressMenuItem href\="#"\>Link 3</IressMenuItem\>
|
|
70
|
+
</IressMenu\>
|
|
71
|
+
</nav\>
|
|
72
|
+
</IressSlideout\>
|
|
73
|
+
</div\>
|
|
74
|
+
);
|
|
75
|
+
};
|
|
76
|
+
export const ResponsiveNavbar \= () \=> (
|
|
77
|
+
<IressSlideoutProvider\>
|
|
78
|
+
<Navbar />
|
|
79
|
+
</IressSlideoutProvider\>
|
|
80
|
+
);
|
|
81
|
+
|
|
82
|
+
Copy
|
|
83
|
+
|
|
84
|
+
### [](#custom-navbar-with-other-ids-components)Custom navbar with other IDS components
|
|
85
|
+
|
|
86
|
+
Not all navbars contain navigation links; often they contain global actions or filters. The example below shows a navbar containing a user dropdown, two buttons and a global search field.
|
|
87
|
+
|
|
88
|
+
Because there are no navigation links, we don't need to add a nav element in this example.
|
|
89
|
+
|
|
90
|
+

|
|
91
|
+
|
|
92
|
+
Barry George
|
|
93
|
+
|
|
94
|
+
Person 1Person 2Person 3
|
|
95
|
+
|
|
96
|
+
4
|
|
97
|
+
|
|
98
|
+
**Input**
|
|
99
|
+
|
|
100
|
+
Hide code
|
|
101
|
+
|
|
102
|
+
\[data-radix-scroll-area-viewport\] { scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } \[data-radix-scroll-area-viewport\]::-webkit-scrollbar { display: none; } :where(\[data-radix-scroll-area-viewport\]) { display: flex; flex-direction: column; align-items: stretch; } :where(\[data-radix-scroll-area-content\]) { flex-grow: 1; }
|
|
103
|
+
|
|
104
|
+
<IressNavbar horizontalAlign\="between"\>
|
|
105
|
+
<IressInline
|
|
106
|
+
horizontalAlign\="between"
|
|
107
|
+
verticalAlign\="middle"
|
|
108
|
+
\>
|
|
109
|
+
<img
|
|
110
|
+
alt\="Iress logo"
|
|
111
|
+
src\="assets/ids-logo.png"
|
|
112
|
+
/>
|
|
113
|
+
<IressInline
|
|
114
|
+
gutter\="md"
|
|
115
|
+
verticalAlign\="stretch"
|
|
116
|
+
\>
|
|
117
|
+
<IressPopover
|
|
118
|
+
activator\={<IressTooltip tooltipText\="User"\><IressButton append\={<IressIcon name\="chevron-down" />} id\="btn"\><IressHide hiddenOn\={{md: false, xs: true}}\>Barry George</IressHide\><IressHide hiddenOn\={{md: true, xs: false}}\><IressIcon name\="user" /></IressHide\></IressButton\></IressTooltip\>}
|
|
119
|
+
align\="bottom-start"
|
|
120
|
+
type\="listbox"
|
|
121
|
+
\>
|
|
122
|
+
<IressMenu\>
|
|
123
|
+
<IressMenuItem\>
|
|
124
|
+
Person 1 </IressMenuItem\>
|
|
125
|
+
<IressMenuItem\>
|
|
126
|
+
Person 2 </IressMenuItem\>
|
|
127
|
+
<IressMenuItem\>
|
|
128
|
+
Person 3 </IressMenuItem\>
|
|
129
|
+
</IressMenu\>
|
|
130
|
+
</IressPopover\>
|
|
131
|
+
<IressBadge
|
|
132
|
+
host\={<IressButton mode\="tertiary"\><IressIcon name\="bell" screenreaderText\="notifications" size\="2x"/></IressButton\>}
|
|
133
|
+
mode\="danger"
|
|
134
|
+
pill
|
|
135
|
+
\>
|
|
136
|
+
4 </IressBadge\>
|
|
137
|
+
<IressButton mode\="tertiary"\>
|
|
138
|
+
<IressIcon
|
|
139
|
+
name\="plus"
|
|
140
|
+
screenreaderText\="add details"
|
|
141
|
+
size\="2x"
|
|
142
|
+
/>
|
|
143
|
+
</IressButton\>
|
|
144
|
+
<IressField
|
|
145
|
+
hiddenLabel
|
|
146
|
+
label\="Input"
|
|
147
|
+
\>
|
|
148
|
+
<IressInput
|
|
149
|
+
name\="test-input"
|
|
150
|
+
prepend\={<IressIcon name\="search" />}
|
|
151
|
+
/>
|
|
152
|
+
</IressField\>
|
|
153
|
+
</IressInline\>
|
|
154
|
+
</IressInline\>
|
|
155
|
+
</IressNavbar\>
|
|
156
|
+
|
|
157
|
+
Copy
|
|
158
|
+
|
|
159
|
+
[](#secondary-navigation)Secondary navigation
|
|
160
|
+
---------------------------------------------
|
|
161
|
+
|
|
162
|
+
The Navbar component should only be used for primary navigation.
|
|
163
|
+
|
|
164
|
+
If your site has secondary navigation, you can use the Menu component. Here are a few examples.
|
|
165
|
+
|
|
166
|
+
### [](#navbar-combined-with-secondary-navigation)Navbar combined with secondary navigation
|
|
167
|
+
|
|
168
|
+
You can use an `IressPanel` component to render the secondary navigation directly below your navbar. Use an `IressMenu` component for the links, and make sure you wrap it in a `nav` element. You'll need to add an `aria-label` to the `nav` element to make sure its purpose is clear to screen reader users.
|
|
169
|
+
|
|
170
|
+

|
|
171
|
+
|
|
172
|
+
[Link 1](#)[Link 2](#)[Link 3](#)
|
|
173
|
+
|
|
174
|
+
Secondary link 1Secondary link 2Secondary link 3
|
|
175
|
+
|
|
176
|
+
Hide code
|
|
177
|
+
|
|
178
|
+
\[data-radix-scroll-area-viewport\] { scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } \[data-radix-scroll-area-viewport\]::-webkit-scrollbar { display: none; } :where(\[data-radix-scroll-area-viewport\]) { display: flex; flex-direction: column; align-items: stretch; } :where(\[data-radix-scroll-area-content\]) { flex-grow: 1; }
|
|
179
|
+
|
|
180
|
+
<div\>
|
|
181
|
+
<IressNavbar
|
|
182
|
+
logo\={<img alt\="IDS logo" src\="assets/ids-logo.png"/>}
|
|
183
|
+
nav\={<IressMenu layout\="inline" role\="nav"\><IressMenuItem href\="#"\>Link 1</IressMenuItem\><IressMenuItem href\="#" selected\>Link 2</IressMenuItem\><IressMenuItem href\="#"\>Link 3</IressMenuItem\></IressMenu\>}
|
|
184
|
+
/>
|
|
185
|
+
<IressPanel
|
|
186
|
+
background\="alt"
|
|
187
|
+
noBorderRadius
|
|
188
|
+
padding\="none"
|
|
189
|
+
\>
|
|
190
|
+
<nav aria-label\="secondary navigation"\>
|
|
191
|
+
<IressMenu
|
|
192
|
+
layout\="inline"
|
|
193
|
+
role\="nav"
|
|
194
|
+
\>
|
|
195
|
+
<IressMenuItem\>
|
|
196
|
+
Secondary link 1 </IressMenuItem\>
|
|
197
|
+
<IressMenuItem\>
|
|
198
|
+
Secondary link 2 </IressMenuItem\>
|
|
199
|
+
<IressMenuItem\>
|
|
200
|
+
Secondary link 3 </IressMenuItem\>
|
|
201
|
+
</IressMenu\>
|
|
202
|
+
</nav\>
|
|
203
|
+
</IressPanel\>
|
|
204
|
+
</div\>
|
|
205
|
+
|
|
206
|
+
Copy
|
|
207
|
+
|
|
208
|
+
### [](#icon-strips)Icon strips
|
|
209
|
+
|
|
210
|
+
You can change your secondary navigation to an icon strip by passing in icons to the `IressMenuItem` component. This can be rendered as a vertical strip (default), or a horizontal strip (by setting the `IressMenu` layout to `inline`).
|
|
211
|
+
|
|
212
|
+
The example below has some custom CSS to fix the menu to the side of its container. This includes setting `--iress-initial-offset` on the slideout element to ensure the slideout is correctly positioned next to the icon strip.
|
|
213
|
+
|
|
214
|
+
Hide code
|
|
215
|
+
|
|
216
|
+
\[data-radix-scroll-area-viewport\] { scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } \[data-radix-scroll-area-viewport\]::-webkit-scrollbar { display: none; } :where(\[data-radix-scroll-area-viewport\]) { display: flex; flex-direction: column; align-items: stretch; } :where(\[data-radix-scroll-area-content\]) { flex-grow: 1; }
|
|
217
|
+
|
|
218
|
+
export const NavbarIconStrip \= () \=> {
|
|
219
|
+
const \[secondary, setSecondary\] \= useState(false);
|
|
220
|
+
const containerRef \= useRef<HTMLDivElement | null\>(null);
|
|
221
|
+
const handleSecondaryMenuItem \= () \=> !secondary && setSecondary(true);
|
|
222
|
+
return (
|
|
223
|
+
<div ref\={containerRef} style\={{ minHeight: '250px', height: '100%' }}\>
|
|
224
|
+
<IressNavbar
|
|
225
|
+
style\={
|
|
226
|
+
{
|
|
227
|
+
width: 'fit-content',
|
|
228
|
+
'--iress-nav-padding-x': 0,
|
|
229
|
+
position: 'relative',
|
|
230
|
+
zIndex: 1050,
|
|
231
|
+
height: '100%',
|
|
232
|
+
} as never
|
|
233
|
+
}
|
|
234
|
+
\>
|
|
235
|
+
<nav aria-label\="secondary navigation"\>
|
|
236
|
+
<IressMenu role\="nav"\>
|
|
237
|
+
<IressTooltip align\="right" tooltipText\="Hubs"\>
|
|
238
|
+
<IressMenuItem onClick\={handleSecondaryMenuItem}\>
|
|
239
|
+
<IressIcon name\="chart-network" size\="2x" fixedWidth />
|
|
240
|
+
</IressMenuItem\>
|
|
241
|
+
</IressTooltip\>
|
|
242
|
+
<IressTooltip align\="right" tooltipText\="My links"\>
|
|
243
|
+
<IressMenuItem onClick\={handleSecondaryMenuItem} selected\>
|
|
244
|
+
<IressIcon name\="link" size\="2x" fixedWidth />
|
|
245
|
+
</IressMenuItem\>
|
|
246
|
+
</IressTooltip\>
|
|
247
|
+
<IressTooltip align\="right" tooltipText\="Portfolios"\>
|
|
248
|
+
<IressMenuItem onClick\={handleSecondaryMenuItem}\>
|
|
249
|
+
<IressIcon name\="coins" size\="2x" fixedWidth />
|
|
250
|
+
</IressMenuItem\>
|
|
251
|
+
</IressTooltip\>
|
|
252
|
+
<IressTooltip align\="right" tooltipText\="Research"\>
|
|
253
|
+
<IressMenuItem onClick\={handleSecondaryMenuItem}\>
|
|
254
|
+
<IressIcon name\="binoculars" size\="2x" fixedWidth />
|
|
255
|
+
</IressMenuItem\>
|
|
256
|
+
</IressTooltip\>
|
|
257
|
+
<IressTooltip align\="right" tooltipText\="Admin"\>
|
|
258
|
+
<IressMenuItem onClick\={handleSecondaryMenuItem}\>
|
|
259
|
+
<IressIcon name\="cogs" size\="2x" fixedWidth />
|
|
260
|
+
</IressMenuItem\>
|
|
261
|
+
</IressTooltip\>
|
|
262
|
+
</IressMenu\>
|
|
263
|
+
</nav\>
|
|
264
|
+
</IressNavbar\>
|
|
265
|
+
<IressSlideout
|
|
266
|
+
style\={
|
|
267
|
+
{
|
|
268
|
+
'--iress-position': 'absolute',
|
|
269
|
+
'--iress-initial-offset': '4.5rem',
|
|
270
|
+
zIndex: '1',
|
|
271
|
+
} as never
|
|
272
|
+
}
|
|
273
|
+
position\="left"
|
|
274
|
+
container\={containerRef}
|
|
275
|
+
show\={secondary}
|
|
276
|
+
onShowChange\={(show, reason) \=> {
|
|
277
|
+
if (reason !== 'outside-press') {
|
|
278
|
+
setSecondary(show);
|
|
279
|
+
}
|
|
280
|
+
}}
|
|
281
|
+
\>
|
|
282
|
+
<nav aria-label\="tertiary navigation"\>
|
|
283
|
+
<IressMenu role\="nav"\>
|
|
284
|
+
<IressMenuItem href\="#"\>Link 1</IressMenuItem\>
|
|
285
|
+
<IressMenuItem href\="#"\>Link 2</IressMenuItem\>
|
|
286
|
+
<IressMenuItem href\="#"\>Link 3</IressMenuItem\>
|
|
287
|
+
<IressMenuItem href\="#"\>Link 4</IressMenuItem\>
|
|
288
|
+
<IressMenuItem href\="#"\>Link 5</IressMenuItem\>
|
|
289
|
+
<IressMenuItem href\="#"\>Link 6</IressMenuItem\>
|
|
290
|
+
</IressMenu\>
|
|
291
|
+
</nav\>
|
|
292
|
+
</IressSlideout\>
|
|
293
|
+
</div\>
|
|
294
|
+
);
|
|
295
|
+
};
|
|
296
|
+
|
|
297
|
+
Copy
|
|
298
|
+
|
|
299
|
+
### [](#fixed-navigation)Fixed navigation
|
|
300
|
+
|
|
301
|
+
A common pattern for small screens is to fix navigation links at the bottom of the screen. This can be done by applying some custom CSS to your secondary navigation.
|
|
302
|
+
|
|
303
|
+

|
|
304
|
+
|
|
305
|
+
[](#)
|
|
306
|
+
|
|
307
|
+
About
|
|
308
|
+
-----
|
|
309
|
+
|
|
310
|
+
Iress Uncaged is a portal of Iress software, detailing their adherence to Iress Governance & Standards.
|
|
311
|
+
|
|
312
|
+
Software that is registered with Iress Uncaged will appear [here.](/)
|
|
313
|
+
|
|
314
|
+
In order to register your software with Uncaged, you will need to create an Atlas YAML in the root of your repo, see here for instructions. Once the YAML is available in your main branch your software will appear in this dashboard within 24 Hours.
|
|
315
|
+
|
|
316
|
+
Page heading
|
|
317
|
+
============
|
|
318
|
+
|
|
319
|
+
Some page content...
|
|
320
|
+
|
|
321
|
+
[
|
|
322
|
+
|
|
323
|
+
Dashboard
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
](#)[
|
|
328
|
+
|
|
329
|
+
Analysis
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
](#)[
|
|
334
|
+
|
|
335
|
+
Messages
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
](#)
|
|
340
|
+
|
|
341
|
+
Hide code
|
|
342
|
+
|
|
343
|
+
\[data-radix-scroll-area-viewport\] { scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } \[data-radix-scroll-area-viewport\]::-webkit-scrollbar { display: none; } :where(\[data-radix-scroll-area-viewport\]) { display: flex; flex-direction: column; align-items: stretch; } :where(\[data-radix-scroll-area-content\]) { flex-grow: 1; }
|
|
344
|
+
|
|
345
|
+
<div className\="mobile-mockup-wrapper"\>
|
|
346
|
+
<IressNavbar
|
|
347
|
+
horizontalAlign\="between"
|
|
348
|
+
logo\={<img alt\="IDS logo" src\="assets/ids-logo.png"/>}
|
|
349
|
+
nav\={<IressMenu layout\="inline" role\="nav"\><IressTooltip align\="bottom" tooltipText\="User details"\><IressMenuItem href\="#"\><IressIcon name\="user" size\="2x"/></IressMenuItem\></IressTooltip\><IressPopover activator\={<IressTooltip align\="bottom" tooltipText\="Settings"\><IressMenuItem\><IressIcon name\="cog" size\="2x"/></IressMenuItem\></IressTooltip\>} align\="bottom-end" style\={{'--iress-max-width': '12rem'}} type\="dialog"\><IressPanel data-testid\="about-page"\><IressText\><h2\>About</h2\><p\>Iress Uncaged is a portal of Iress software, detailing their adherence to Iress Governance & Standards.</p\><p\>Software that is registered with Iress Uncaged will appear{' '}<a href\="/"\>here.</a\></p\><p\>In order to register your software with Uncaged, you will need to create an Atlas YAML in the root of your repo, see here for instructions. Once the YAML is available in your main branch your software will appear in this dashboard within 24 Hours.</p\></IressText\></IressPanel\></IressPopover\></IressMenu\>}
|
|
350
|
+
/>
|
|
351
|
+
<IressPanel\>
|
|
352
|
+
<IressText\>
|
|
353
|
+
<h1\>
|
|
354
|
+
Page heading </h1\>
|
|
355
|
+
</IressText\>
|
|
356
|
+
<IressText\>
|
|
357
|
+
Some page content... </IressText\>
|
|
358
|
+
</IressPanel\>
|
|
359
|
+
<IressPanel
|
|
360
|
+
background\="alt"
|
|
361
|
+
padding\="none"
|
|
362
|
+
style\={{
|
|
363
|
+
insetBlockEnd: '0',
|
|
364
|
+
insetInlineEnd: '0',
|
|
365
|
+
insetInlineStart: '0',
|
|
366
|
+
position: 'absolute'
|
|
367
|
+
}}
|
|
368
|
+
\>
|
|
369
|
+
<nav aria-label\="secondary navigation"\>
|
|
370
|
+
<IressMenu
|
|
371
|
+
fluid
|
|
372
|
+
layout\="inline-equal-width"
|
|
373
|
+
\>
|
|
374
|
+
<IressMenuItem
|
|
375
|
+
href\="#"
|
|
376
|
+
selected
|
|
377
|
+
\>
|
|
378
|
+
<IressStack\>
|
|
379
|
+
<IressIcon name\="tachometer-alt" />
|
|
380
|
+
<IressText\>
|
|
381
|
+
Dashboard </IressText\>
|
|
382
|
+
</IressStack\>
|
|
383
|
+
</IressMenuItem\>
|
|
384
|
+
<IressMenuItem href\="#"\>
|
|
385
|
+
<IressStack\>
|
|
386
|
+
<IressIcon name\="chart-line" />
|
|
387
|
+
<IressText\>
|
|
388
|
+
Analysis </IressText\>
|
|
389
|
+
</IressStack\>
|
|
390
|
+
</IressMenuItem\>
|
|
391
|
+
<IressMenuItem href\="#"\>
|
|
392
|
+
<IressStack\>
|
|
393
|
+
<IressIcon name\="envelope" />
|
|
394
|
+
<IressText\>
|
|
395
|
+
Messages </IressText\>
|
|
396
|
+
</IressStack\>
|
|
397
|
+
</IressMenuItem\>
|
|
398
|
+
</IressMenu\>
|
|
399
|
+
</nav\>
|
|
400
|
+
</IressPanel\>
|
|
401
|
+
</div\>
|
|
402
|
+
|
|
403
|
+
Copy
|
|
404
|
+
|
|
405
|
+
On this page
|
|
406
|
+
|
|
407
|
+
* [Custom navbars](#custom-navbars)
|
|
408
|
+
* [Custom responsive navbar](#custom-responsive-navbar)
|
|
409
|
+
* [Custom navbar with other IDS components](#custom-navbar-with-other-ids-components)
|
|
410
|
+
* [Secondary navigation](#secondary-navigation)
|
|
411
|
+
* [Navbar combined with secondary navigation](#navbar-combined-with-secondary-navigation)
|
|
412
|
+
* [Icon strips](#icon-strips)
|
|
413
|
+
* [Fixed navigation](#fixed-navigation)
|