@iress-oss/ids-mcp-server 6.0.0-alpha.0 → 6.0.0-alpha.1-canary-20251204014525-3f0dce4
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/dist/searchHandlers.test.js +8 -2
- package/dist/toolHandler.test.js +9 -9
- package/dist/utils.test.js +6 -2
- package/package.json +32 -30
- package/generated/docs/components-alert-docs.md +0 -702
- package/generated/docs/components-autocomplete-docs.md +0 -1433
- package/generated/docs/components-autocomplete-recipes-docs.md +0 -104
- package/generated/docs/components-badge-docs.md +0 -531
- package/generated/docs/components-button-docs.md +0 -1442
- package/generated/docs/components-buttongroup-docs.md +0 -748
- package/generated/docs/components-card-docs.md +0 -944
- package/generated/docs/components-checkbox-docs.md +0 -694
- package/generated/docs/components-checkboxgroup-docs.md +0 -1087
- package/generated/docs/components-checkboxgroup-recipes-docs.md +0 -119
- package/generated/docs/components-col-docs.md +0 -881
- package/generated/docs/components-container-docs.md +0 -123
- package/generated/docs/components-divider-docs.md +0 -576
- package/generated/docs/components-expander-docs.md +0 -594
- package/generated/docs/components-field-docs.md +0 -2007
- package/generated/docs/components-filter-docs.md +0 -1322
- package/generated/docs/components-hide-docs.md +0 -702
- package/generated/docs/components-icon-docs.md +0 -816
- package/generated/docs/components-image-docs.md +0 -493
- package/generated/docs/components-inline-docs.md +0 -2003
- package/generated/docs/components-input-docs.md +0 -867
- package/generated/docs/components-input-recipes-docs.md +0 -140
- package/generated/docs/components-inputcurrency-docs.md +0 -689
- package/generated/docs/components-inputcurrency-recipes-docs.md +0 -115
- package/generated/docs/components-introduction-docs.md +0 -450
- package/generated/docs/components-label-docs.md +0 -562
- package/generated/docs/components-link-docs.md +0 -586
- package/generated/docs/components-menu-docs.md +0 -1146
- package/generated/docs/components-menu-menuitem-docs.md +0 -739
- package/generated/docs/components-modal-docs.md +0 -1346
- package/generated/docs/components-panel-docs.md +0 -600
- package/generated/docs/components-placeholder-docs.md +0 -446
- package/generated/docs/components-popover-docs.md +0 -1529
- package/generated/docs/components-popover-recipes-docs.md +0 -211
- package/generated/docs/components-progress-docs.md +0 -568
- package/generated/docs/components-provider-docs.md +0 -160
- package/generated/docs/components-radio-docs.md +0 -563
- package/generated/docs/components-radiogroup-docs.md +0 -1153
- package/generated/docs/components-readonly-docs.md +0 -535
- package/generated/docs/components-richselect-docs.md +0 -5836
- package/generated/docs/components-row-docs.md +0 -2354
- package/generated/docs/components-select-docs.md +0 -940
- package/generated/docs/components-skeleton-docs.md +0 -597
- package/generated/docs/components-skeleton-recipes-docs.md +0 -76
- package/generated/docs/components-skiplink-docs.md +0 -587
- package/generated/docs/components-slideout-docs.md +0 -1036
- package/generated/docs/components-slider-docs.md +0 -828
- package/generated/docs/components-spinner-docs.md +0 -450
- package/generated/docs/components-stack-docs.md +0 -923
- package/generated/docs/components-table-ag-grid-docs.md +0 -1444
- package/generated/docs/components-table-docs.md +0 -2327
- package/generated/docs/components-tabset-docs.md +0 -768
- package/generated/docs/components-tabset-tab-docs.md +0 -550
- package/generated/docs/components-tag-docs.md +0 -548
- package/generated/docs/components-text-docs.md +0 -585
- package/generated/docs/components-toaster-docs.md +0 -755
- package/generated/docs/components-toggle-docs.md +0 -614
- package/generated/docs/components-tooltip-docs.md +0 -747
- package/generated/docs/components-validationmessage-docs.md +0 -1161
- package/generated/docs/contact-us-docs.md +0 -27
- package/generated/docs/extensions-editor-docs.md +0 -1181
- package/generated/docs/extensions-editor-recipes-docs.md +0 -89
- package/generated/docs/foundations-accessibility-docs.md +0 -40
- package/generated/docs/foundations-consistency-docs.md +0 -52
- package/generated/docs/foundations-content-docs.md +0 -23
- package/generated/docs/foundations-grid-docs.md +0 -74
- package/generated/docs/foundations-introduction-docs.md +0 -19
- package/generated/docs/foundations-principles-docs.md +0 -70
- package/generated/docs/foundations-responsive-breakpoints-docs.md +0 -193
- package/generated/docs/foundations-tokens-colour-docs.md +0 -564
- package/generated/docs/foundations-tokens-elevation-docs.md +0 -155
- package/generated/docs/foundations-tokens-introduction-docs.md +0 -190
- package/generated/docs/foundations-tokens-radius-docs.md +0 -71
- package/generated/docs/foundations-tokens-spacing-docs.md +0 -89
- package/generated/docs/foundations-tokens-typography-docs.md +0 -322
- package/generated/docs/foundations-user-experience-docs.md +0 -63
- package/generated/docs/foundations-visual-design-docs.md +0 -46
- package/generated/docs/foundations-z-index-stacking-docs.md +0 -31
- package/generated/docs/frequently-asked-questions-docs.md +0 -53
- package/generated/docs/get-started-develop-docs.md +0 -209
- package/generated/docs/get-started-using-storybook-docs.md +0 -68
- package/generated/docs/guidelines.md +0 -2054
- package/generated/docs/introduction-docs.md +0 -87
- package/generated/docs/news-version-6-docs.md +0 -93
- package/generated/docs/patterns-form-docs.md +0 -3902
- package/generated/docs/patterns-form-recipes-docs.md +0 -1370
- package/generated/docs/patterns-introduction-docs.md +0 -24
- package/generated/docs/patterns-loading-docs.md +0 -4043
- package/generated/docs/resources-code-katas-docs.md +0 -29
- package/generated/docs/resources-introduction-docs.md +0 -38
- package/generated/docs/resources-mcp-server-docs.md +0 -27
- package/generated/docs/resources-migration-guides-from-v4-to-v5-docs.md +0 -437
- package/generated/docs/styling-props-colour-docs.md +0 -172
- package/generated/docs/styling-props-elevation-docs.md +0 -88
- package/generated/docs/styling-props-radius-docs.md +0 -86
- package/generated/docs/styling-props-reference-docs.md +0 -160
- package/generated/docs/styling-props-screen-readers-docs.md +0 -71
- package/generated/docs/styling-props-sizing-docs.md +0 -627
- package/generated/docs/styling-props-spacing-docs.md +0 -2282
- package/generated/docs/styling-props-typography-docs.md +0 -121
- package/generated/docs/themes-available-themes-docs.md +0 -66
- package/generated/docs/themes-introduction-docs.md +0 -121
- package/generated/docs/versions-docs.md +0 -17
- /package/{LICENSE.txt → LICENSE} +0 -0
|
@@ -1,4043 +0,0 @@
|
|
|
1
|
-
[](#loading)Loading
|
|
2
|
-
===================
|
|
3
|
-
|
|
4
|
-
Overview
|
|
5
|
-
--------
|
|
6
|
-
|
|
7
|
-
The loading pattern is used to indicate that content is being loaded or processed consistently across Iress products. It can be used in various scenarios, such as loading entire applications, pages, components or server-side validation.
|
|
8
|
-
|
|
9
|
-
* * *
|
|
10
|
-
|
|
11
|
-
Beta
|
|
12
|
-
|
|
13
|
-
**New component**
|
|
14
|
-
|
|
15
|
-
This component is new, please provide feedback to the IDS team if you encounter any issues.
|
|
16
|
-
|
|
17
|
-
Hide codeRefresh
|
|
18
|
-
|
|
19
|
-
\[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; }
|
|
20
|
-
|
|
21
|
-
interface PageProps {
|
|
22
|
-
setPage: (page: number) \=> void;
|
|
23
|
-
}
|
|
24
|
-
interface ChartProps {
|
|
25
|
-
money: number | null;
|
|
26
|
-
}
|
|
27
|
-
const API \= {
|
|
28
|
-
initialise: async () \=>
|
|
29
|
-
new Promise<boolean\>((resolve) \=> {
|
|
30
|
-
// Simulate a slow network request.
|
|
31
|
-
setTimeout(() \=> {
|
|
32
|
-
resolve(true);
|
|
33
|
-
}, 3000);
|
|
34
|
-
}),
|
|
35
|
-
data: async () \=>
|
|
36
|
-
new Promise<boolean\>((resolve) \=> {
|
|
37
|
-
// Simulate a slow network request.
|
|
38
|
-
setTimeout(() \=> {
|
|
39
|
-
resolve(true);
|
|
40
|
-
}, 2000);
|
|
41
|
-
}),
|
|
42
|
-
chart: async () \=>
|
|
43
|
-
new Promise<boolean\>((resolve) \=> {
|
|
44
|
-
// Simulate a slow network request.
|
|
45
|
-
setTimeout(() \=> {
|
|
46
|
-
resolve(true);
|
|
47
|
-
}, 2000);
|
|
48
|
-
}),
|
|
49
|
-
chartUpdate: async () \=>
|
|
50
|
-
new Promise<boolean\>((resolve) \=> {
|
|
51
|
-
// Simulate a slow network request.
|
|
52
|
-
setTimeout(() \=> {
|
|
53
|
-
resolve(true);
|
|
54
|
-
}, 2000);
|
|
55
|
-
}),
|
|
56
|
-
};
|
|
57
|
-
const Graph \= () \=> (
|
|
58
|
-
<img
|
|
59
|
-
src\={retirementGraph}
|
|
60
|
-
alt\=""
|
|
61
|
-
style\={{ maxWidth: '100%', height: 'auto' }}
|
|
62
|
-
/>
|
|
63
|
-
);
|
|
64
|
-
const Chart \= () \=> {
|
|
65
|
-
const \[chart, setChart\] \= useState(false);
|
|
66
|
-
const \[money, setMoney\] \= useState<number | null\>(null);
|
|
67
|
-
const \[loaded, setLoaded\] \= useState(false);
|
|
68
|
-
const \[updating, setUpdating\] \= useState(false);
|
|
69
|
-
const safeLoaded \= IressLoading.shouldRender(loaded);
|
|
70
|
-
const deferredMoney \= useDeferredValue(money);
|
|
71
|
-
useEffect(() \=> {
|
|
72
|
-
const initialise \= async () \=> {
|
|
73
|
-
const newChart \= await API.chart();
|
|
74
|
-
setChart(newChart);
|
|
75
|
-
setLoaded(() \=> true);
|
|
76
|
-
};
|
|
77
|
-
void initialise();
|
|
78
|
-
}, \[\]);
|
|
79
|
-
useEffect(() \=> {
|
|
80
|
-
if (deferredMoney \=== null) {
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
setUpdating(() \=> true);
|
|
84
|
-
const update \= async () \=> {
|
|
85
|
-
const newChart \= await API.chartUpdate();
|
|
86
|
-
setChart(newChart);
|
|
87
|
-
setUpdating(() \=> false);
|
|
88
|
-
};
|
|
89
|
-
void update();
|
|
90
|
-
}, \[deferredMoney\]);
|
|
91
|
-
return (
|
|
92
|
-
<IressLoading pattern\="component" loaded\={!safeLoaded} update\={updating}\>
|
|
93
|
-
{chart && <Graph />}
|
|
94
|
-
<IressPanel\>
|
|
95
|
-
<IressForm<ChartProps> onSubmit={(projectionData) \=> setMoney(projectionData.money)}
|
|
96
|
-
> <IressStack gap\="md"\>
|
|
97
|
-
<h3\>Update projection</h3\>
|
|
98
|
-
<IressFormField
|
|
99
|
-
name\="money"
|
|
100
|
-
label\="My money"
|
|
101
|
-
render\={(controlledProps) \=> (
|
|
102
|
-
<IressInputCurrency {...controlledProps} />
|
|
103
|
-
)}
|
|
104
|
-
/>
|
|
105
|
-
<IressButton type\="submit"\>Update projection</IressButton\>
|
|
106
|
-
</IressStack\>
|
|
107
|
-
</IressForm\>
|
|
108
|
-
</IressPanel\>
|
|
109
|
-
</IressLoading\>
|
|
110
|
-
);
|
|
111
|
-
};
|
|
112
|
-
const StartPage \= ({ setPage }: PageProps) \=> (
|
|
113
|
-
<IressText\>
|
|
114
|
-
<h2\>Maximise your retirement</h2\>
|
|
115
|
-
<p\>
|
|
116
|
-
Maximize your retirement in Australia by contributing to your super early and making voluntary top-ups to benefit from compounding. Take advantage of employer contributions, government co-contributions, and tax benefits. Diversify your investments and review your strategy regularly to stay on track. Consider additional income streams and seek professional advice for a secure future. </p\>
|
|
117
|
-
<hr />
|
|
118
|
-
<IressButton onClick\={() \=> setPage(2)}\>Next</IressButton\>
|
|
119
|
-
</IressText\>
|
|
120
|
-
);
|
|
121
|
-
const RetirementIncomeProjectionPage \= () \=> {
|
|
122
|
-
const \[data, setData\] \= useState(false);
|
|
123
|
-
const loaded \= data !== false;
|
|
124
|
-
const renderLoading \= IressLoading.shouldRender(loaded);
|
|
125
|
-
useEffect(() \=> {
|
|
126
|
-
const initialise \= async () \=> {
|
|
127
|
-
const newData \= await API.data();
|
|
128
|
-
setData(newData);
|
|
129
|
-
};
|
|
130
|
-
void initialise();
|
|
131
|
-
}, \[\]);
|
|
132
|
-
if (renderLoading) {
|
|
133
|
-
return <IressLoading pattern\="page" template\="form" loaded\={loaded} />;
|
|
134
|
-
}
|
|
135
|
-
return (
|
|
136
|
-
<IressText\>
|
|
137
|
-
<h2\>Retirement Income Projection</h2\>
|
|
138
|
-
<p\>
|
|
139
|
-
We've got enough information to provide you with a retirement income projection. This will help you understand how much you can expect to receive in retirement based on your current super balance, your contributions, and your investment strategy. </p\>
|
|
140
|
-
<Chart />
|
|
141
|
-
</IressText\>
|
|
142
|
-
);
|
|
143
|
-
};
|
|
144
|
-
export const LoadingWizard \= () \=> {
|
|
145
|
-
const \[page, setPage\] \= useState(0);
|
|
146
|
-
const loaded \= page \> 0;
|
|
147
|
-
const renderLoading \= IressLoading.shouldRender(loaded);
|
|
148
|
-
useEffect(() \=> {
|
|
149
|
-
const initialise \= async () \=> {
|
|
150
|
-
await API.initialise();
|
|
151
|
-
setPage(1);
|
|
152
|
-
};
|
|
153
|
-
void initialise();
|
|
154
|
-
}, \[\]);
|
|
155
|
-
if (renderLoading) {
|
|
156
|
-
return <IressLoading pattern\="start-up" loaded\={loaded} />;
|
|
157
|
-
}
|
|
158
|
-
return (
|
|
159
|
-
<IressContainer style\={{ maxWidth: '600px', paddingBlock: '3rem' }}\>
|
|
160
|
-
{page \=== 1 && <StartPage setPage\={setPage} />}
|
|
161
|
-
{page \=== 2 && <RetirementIncomeProjectionPage />}
|
|
162
|
-
</IressContainer\>
|
|
163
|
-
);
|
|
164
|
-
};
|
|
165
|
-
|
|
166
|
-
Copy
|
|
167
|
-
|
|
168
|
-
[](#props)Props
|
|
169
|
-
---------------
|
|
170
|
-
|
|
171
|
-
| Name | Description | Default | Control |
|
|
172
|
-
| --- | --- | --- | --- |
|
|
173
|
-
| pattern |
|
|
174
|
-
Use `pattern="start-up"` for the following use cases:
|
|
175
|
-
|
|
176
|
-
* Loading an application for the first time
|
|
177
|
-
* Switching from a different application to a new application
|
|
178
|
-
* Switching from a client's website to an Iress application
|
|
179
|
-
* Switching themes Use `pattern="validate"` for the following use cases:
|
|
180
|
-
* Submitting a form
|
|
181
|
-
* Saving a record Use `pattern="page"` for the following use cases:
|
|
182
|
-
* Detail page for a record
|
|
183
|
-
* Form page
|
|
184
|
-
* Article page Use `pattern="component"` for the following use cases:
|
|
185
|
-
* Component that is expected to be slow to load, such as a chart, table or large graphic.
|
|
186
|
-
* Component that can be refreshed/updated with new data. The long loading pattern will display a checklist of items that are being loaded.
|
|
187
|
-
|
|
188
|
-
Use `pattern="long"` for the following use cases:
|
|
189
|
-
|
|
190
|
-
* Calling multiple slow APIs to load data
|
|
191
|
-
* Loading results from AI
|
|
192
|
-
* Processing a large amount of data as a queue (eg. bulk uploading or large media file uploads) Do not set the `pattern` prop when no other pattern can be applied. It will only show the loading message after a delay, and is intended for use when loading is not expected to take a long time. Example use cases:
|
|
193
|
-
* Navigating between different routes
|
|
194
|
-
* Calling an API within the page that does not require a loading state
|
|
195
|
-
|
|
196
|
-
"page""default""validate""start-up""component""long"undefined
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
| \- | \- |
|
|
201
|
-
|
|
202
|
-
[](#usage)Usage
|
|
203
|
-
---------------
|
|
204
|
-
|
|
205
|
-
The main prop for the `IressLoading` component is the `pattern` prop. This prop determines the type of loading pattern to be used. The available options are:
|
|
206
|
-
|
|
207
|
-
1. `component`: This pattern is used to indicate that a specific component is loading. It is typically used when the there is a slower compoent on the page that requires its own loading state. Examples include:
|
|
208
|
-
* Loading a table with a large number of rows
|
|
209
|
-
* Loading a chart with a large number of data points
|
|
210
|
-
2. `default`: This pattern is used when no other pattern matches a scenario, and will only indicate loading if something is taking a long time to load. It is used when long loading times are not expected. Examples include:
|
|
211
|
-
* Navigation
|
|
212
|
-
3. `long`: Loading pattern for a component that is expected to take longer than 10 seconds to load. It displays a checklist of items that are being loaded. Examples:
|
|
213
|
-
* Calling multiple slow APIs to load data
|
|
214
|
-
* Loading results from AI
|
|
215
|
-
* Processing a large amount of data as a queue (eg. bulk uploading or large media file uploads)
|
|
216
|
-
4. `page`: This pattern is used to indicate that a page is loading. It is the most common loading pattern, allowing the users to see the entire content at once where possible. Examples include:
|
|
217
|
-
* Detail page for a record
|
|
218
|
-
* Form/Article page
|
|
219
|
-
* Dashboard page
|
|
220
|
-
5. `start-up`: This pattern is used to indicate that the application is loading. It is typically used when the application is first launched. Examples include:
|
|
221
|
-
* Loading a new application
|
|
222
|
-
* Switching from a different application to a new application
|
|
223
|
-
* Switching from a client's website to an Iress application
|
|
224
|
-
* Switching themes
|
|
225
|
-
6. `validate`: This pattern is used to indicate that a server-side validation is in progress. It is typically used when the user is submitting a form or performing an action that requires validation. Examples include:
|
|
226
|
-
* Submitting a form
|
|
227
|
-
* Saving a record
|
|
228
|
-
|
|
229
|
-
It is **recommended** to read the Patterns section of the documentation to understand how to use the loading patterns effectively.
|
|
230
|
-
|
|
231
|
-
### [](#be-consistent)Be consistent
|
|
232
|
-
|
|
233
|
-
Apart from using the `IressLoading` component, there are a few things you need to do to ensure you are using the loading patterns correctly to ensure consistency across Iress products.
|
|
234
|
-
|
|
235
|
-
* Consider the difference between what the system is doing and what the user is doing. For example, when a user is submitting a form, the system may be calling different APIs and you may be tempted to use the different loading patterns for each API. However, the user is only submitting the form once, so you should only use one loading pattern for the entire form submission process. In most cases, it will be the `page` loading pattern.
|
|
236
|
-
* When switch between different applications, consider using the same loading pattern. This will help mask the loading time and improve the user experience.
|
|
237
|
-
|
|
238
|
-
[](#behaviour)Behaviour
|
|
239
|
-
-----------------------
|
|
240
|
-
|
|
241
|
-
The `IressLoading` component is designed to create a seamless experience for users when loading content. They have been designed to meet best practices and improve user perception of loading times.
|
|
242
|
-
|
|
243
|
-

|
|
244
|
-
|
|
245
|
-
Image © [UX Collective](https://uxdesign.cc/loading-progress-indicators-ui-components-series-f4b1fc35339a)
|
|
246
|
-
|
|
247
|
-
* * *
|
|
248
|
-
|
|
249
|
-
To match the above image, the default behaviour of the loading patterns are as follows:
|
|
250
|
-
|
|
251
|
-
* Between 0 - 500ms: No loading indicator, it will be assumed that the content is already loaded.
|
|
252
|
-
* Between 500ms - 2 seconds: A loading indicator will animate in. It will either be a skeleton or a progress bar.
|
|
253
|
-
* Between 2 - 5 seconds: A loading message will animate in.
|
|
254
|
-
* Between 5 - 10 seconds: Some components support additional loading messages. These will animate in and out to indicate that the content is still loading and as well as give the user the perception something is happening in the background.
|
|
255
|
-
* After 10 seconds: Components display a list of messages to indicate what actions the system is doing to complete the user's request. These are checked off as they are completed. This is to give the user the perception that something is happening in the background and to keep them informed of what is happening.
|
|
256
|
-
|
|
257
|
-
In future releases, we will be adding support for the following:
|
|
258
|
-
|
|
259
|
-
* After 10 seconds (background): it is always best not to block the user from using the application even if the system is busy. This will be a future feature of the `long` loading pattern.
|
|
260
|
-
|
|
261
|
-
* * *
|
|
262
|
-
|
|
263
|
-
The `IressLoading` patterns have been built using `IressSkeleton`, `IressSpinner` and `IressProgressBar` and other components, reducing the need to create custom loading components.
|
|
264
|
-
|
|
265
|
-
[](#patterns)Patterns
|
|
266
|
-
---------------------
|
|
267
|
-
|
|
268
|
-
### [](#component)`component`
|
|
269
|
-
|
|
270
|
-
The `component` loading pattern is used to indicate that a specific component is loading. It is typically used when the there is a slower component on the page that requires its own loading state. You would usually use this pattern when loading data visualisations such as charts and tables.
|
|
271
|
-
|
|
272
|
-
#### [](#behavior)Behavior
|
|
273
|
-
|
|
274
|
-
1. When `loaded` is false, a skeleton will be displayed immediately (configured using `timeout.skeleton`). This skeleton can be customised using the `template` prop.
|
|
275
|
-
2. When `loaded` is true, the skeleton will be removed and the `children` will be displayed.
|
|
276
|
-
3. When `updated` is true, the `children` will be faded out to indicate the component is loading.
|
|
277
|
-
4. After 1000ms (configured using `timeout.update`), the `Updating...` message will be fade in. This message can be customised using the `updated` prop.
|
|
278
|
-
|
|
279
|
-
#### [](#custom-skeletons)Custom skeletons
|
|
280
|
-
|
|
281
|
-
The skeleton representing the component should be as simple as possible, it does not need to be a perfect representation of the component. In most cases a simple rectangle is sufficient that takes up the approximate same space as the component that is loading.
|
|
282
|
-
|
|
283
|
-
* * *
|
|
284
|
-
|
|
285
|
-
Beta
|
|
286
|
-
|
|
287
|
-
**New component**
|
|
288
|
-
|
|
289
|
-
This component is new, please provide feedback to the IDS team if you encounter any issues.
|
|
290
|
-
|
|
291
|
-

|
|
292
|
-
|
|
293
|
-
Update
|
|
294
|
-
|
|
295
|
-
Hide codeRefresh
|
|
296
|
-
|
|
297
|
-
\[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; }
|
|
298
|
-
|
|
299
|
-
const API \= {
|
|
300
|
-
chart: async () \=>
|
|
301
|
-
new Promise<boolean\>((resolve) \=> {
|
|
302
|
-
// Simulate a slow network request.
|
|
303
|
-
setTimeout(() \=> {
|
|
304
|
-
resolve(true);
|
|
305
|
-
}, 2000);
|
|
306
|
-
}),
|
|
307
|
-
chartUpdate: async () \=>
|
|
308
|
-
new Promise<boolean\>((resolve) \=> {
|
|
309
|
-
// Simulate a slow network request.
|
|
310
|
-
setTimeout(() \=> {
|
|
311
|
-
resolve(true);
|
|
312
|
-
}, 2000);
|
|
313
|
-
}),
|
|
314
|
-
};
|
|
315
|
-
const Graph \= () \=> (
|
|
316
|
-
<img
|
|
317
|
-
src\={retirementGraph}
|
|
318
|
-
alt\=""
|
|
319
|
-
style\={{ maxWidth: '100%', height: 'auto' }}
|
|
320
|
-
/>
|
|
321
|
-
);
|
|
322
|
-
export const LoadingGraph \= () \=> {
|
|
323
|
-
const \[graph, setGraph\] \= useState(false);
|
|
324
|
-
const \[updating, setUpdating\] \= useState(false);
|
|
325
|
-
const renderLoading \= IressLoading.shouldRender(graph);
|
|
326
|
-
const doUpdate \= useCallback(() \=> {
|
|
327
|
-
const update \= async () \=> {
|
|
328
|
-
await API.chartUpdate();
|
|
329
|
-
setUpdating(false);
|
|
330
|
-
};
|
|
331
|
-
setUpdating(true);
|
|
332
|
-
void update();
|
|
333
|
-
}, \[\]);
|
|
334
|
-
useEffect(() \=> {
|
|
335
|
-
const initialise \= async () \=> {
|
|
336
|
-
setGraph(await API.chart());
|
|
337
|
-
};
|
|
338
|
-
void initialise();
|
|
339
|
-
}, \[\]);
|
|
340
|
-
return (
|
|
341
|
-
<IressLoading
|
|
342
|
-
pattern\="component"
|
|
343
|
-
template\="chart"
|
|
344
|
-
loaded\={!renderLoading}
|
|
345
|
-
update\={updating}
|
|
346
|
-
\>
|
|
347
|
-
<IressStack gap\="md" style\={{ display: 'inline-block' }}\>
|
|
348
|
-
<div\>
|
|
349
|
-
<Graph />
|
|
350
|
-
</div\>
|
|
351
|
-
<IressButton onClick\={doUpdate}\>Update</IressButton\>
|
|
352
|
-
</IressStack\>
|
|
353
|
-
</IressLoading\>
|
|
354
|
-
);
|
|
355
|
-
};
|
|
356
|
-
|
|
357
|
-
Copy
|
|
358
|
-
|
|
359
|
-
#### [](#props)Props
|
|
360
|
-
|
|
361
|
-
| Name | Description | Default | Control |
|
|
362
|
-
| --- | --- | --- | --- |
|
|
363
|
-
| bg |
|
|
364
|
-
**`bg`** sets the background color of an element using the `background-color` css property using the color tokens in the design system.
|
|
365
|
-
|
|
366
|
-
We recommend using the following token values for best background contrast:
|
|
367
|
-
|
|
368
|
-
* `colour.primary.fill` for primary backgrounds that need to stand out
|
|
369
|
-
* `colour.primary.surface` for primary backgrounds that need to be less prominent
|
|
370
|
-
* `colour.neutral.10` for the base background color, normally white in light mode or shade of grey in dark mode
|
|
371
|
-
* `colour.neutral.20` for a slightly darker background color, used in neutral state components
|
|
372
|
-
* `colour.system.danger.fill` for error backgrounds that need to stand out
|
|
373
|
-
* `colour.system.danger.surface` for error backgrounds that need to be less prominent
|
|
374
|
-
* `colour.system.success.fill` for success backgrounds that need to stand out
|
|
375
|
-
* `colour.system.success.surface` for success backgrounds that need to be less prominent
|
|
376
|
-
* `colour.system.warning.fill` for warning backgrounds that need to stand out
|
|
377
|
-
* `colour.system.warning.surface` for warning backgrounds that need to be less prominent
|
|
378
|
-
* `colour.system.info.fill` for info backgrounds that need to stand out
|
|
379
|
-
* `colour.system.info.surface` for info backgrounds that need to be less prominent
|
|
380
|
-
|
|
381
|
-
ResponsiveProp<ColorToken> | undefined
|
|
382
|
-
|
|
383
|
-
| \- | \- |
|
|
384
|
-
| borderRadius |
|
|
385
|
-
|
|
386
|
-
The **`border-radius`** CSS property rounds the corners of an element's outer border edge using the radius tokens in the design system.
|
|
387
|
-
|
|
388
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
389
|
-
| --- | --- | --- | --- | --- |
|
|
390
|
-
| **4** | **4** | **5** | **12** | **9** |
|
|
391
|
-
| 1 _\-x-_ | | 3 _\-x-_ | | |
|
|
392
|
-
|
|
393
|
-
ResponsiveProp<RadiusToken> | undefined
|
|
394
|
-
|
|
395
|
-
| \- | \- |
|
|
396
|
-
| children\* |
|
|
397
|
-
|
|
398
|
-
The chart that is being loaded for the first time or being refreshed/updated.
|
|
399
|
-
|
|
400
|
-
ReactNode
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
| \- | \- |
|
|
405
|
-
| color |
|
|
406
|
-
|
|
407
|
-
The **`color`** CSS property sets the foreground color value of an element's text and text decorations using the colour tokens from the design system. It also sets the `currentcolor` value. `currentcolor` may be used as an indirect value on _other_ properties and is the default for other color properties, such as `border-color`.
|
|
408
|
-
|
|
409
|
-
We recommend using the following token values for best color contrast:
|
|
410
|
-
|
|
411
|
-
* `colour.primary.onFill` used on top of `colour.primary.fill` for primary text that needs to stand out
|
|
412
|
-
* `colour.primary.text` used on top of `colour.primary.surface` or `colour.neutral.10` for primary text that needs to be less prominent
|
|
413
|
-
* `colour.neutral.70` used on top of `colour.neutral.10` or `colour.neutral.20` for muted text
|
|
414
|
-
* `colour.neutral.80` used on top of `colour.neutral.10` or `colour.neutral.20` for standard text
|
|
415
|
-
* `colour.system.danger.onFill` used on top of `colour.system.danger.fill` for error text that needs to stand out
|
|
416
|
-
* `colour.system.danger.text` used on top of `colour.system.danger.surface` for error text that needs to be less prominent
|
|
417
|
-
* `colour.system.success.onFill` used on top of `colour.system.success.fill` for success text that needs to stand out
|
|
418
|
-
* `colour.system.success.text` used on top of `colour.system.success.surface` for success text that needs to be less prominent
|
|
419
|
-
* `colour.system.warning.onFill` used on top of `colour.system.warning.fill` for warning text that needs to stand out
|
|
420
|
-
* `colour.system.warning.text` used on top of `colour.system.warning.surface` for warning text that needs to be less prominent
|
|
421
|
-
* `colour.system.info.onFill` used on top of `colour.system.info.fill` for informative text that needs to stand out
|
|
422
|
-
* `colour.system.info.text` used on top of `colour.system.info.surface` for informative text that needs to be less prominent
|
|
423
|
-
|
|
424
|
-
ResponsiveProp<ColorToken> | undefined
|
|
425
|
-
|
|
426
|
-
| \- | \- |
|
|
427
|
-
| focusable |
|
|
428
|
-
|
|
429
|
-
The `focusable` prop is used to apply the focus elevation when focused. It can be set to `true` to apply focus styles on focus, or `'within'` to apply focus styles when the element or any of its children are focused.
|
|
430
|
-
|
|
431
|
-
"true""within"undefined
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
| \- | \- |
|
|
436
|
-
| hide |
|
|
437
|
-
|
|
438
|
-
Set **`hide`** to hide an element completely using `display: none`. It can also be set to an object of breakpoints to hide the element at specific breakpoints.
|
|
439
|
-
|
|
440
|
-
Hide on all breakpoints: `hide: true` Hide on specific breakpoints: `hide: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
|
|
441
|
-
|
|
442
|
-
Notes:
|
|
443
|
-
|
|
444
|
-
* If you need to hide an element but allow it to be visible to screen readers, use the `srOnly` prop instead.
|
|
445
|
-
* Consider if you can conditionally render the element instead of hiding it.
|
|
446
|
-
|
|
447
|
-
ResponsiveProp<boolean> | undefined
|
|
448
|
-
|
|
449
|
-
| \- | \- |
|
|
450
|
-
| layerStyle |
|
|
451
|
-
|
|
452
|
-
Elevate a layer by using a **`layerStyle`**. These are connected to the elevation tokens in the design system. They can be combined to create hierarchy and structure.
|
|
453
|
-
|
|
454
|
-
* `elevation.raised`: Raised elevations sit slightly higher than other content. They are reserved for cards that can be moved, such as Jira issue cards and Trello cards. In special circumstances, they can be used for cards as a way to provide additional heirarchy or emphasis.
|
|
455
|
-
* `elevation.floating`: Floating is the highest elevation available. It is reserved for a UI that sits over another UI, such as modals, dialogs, dropdown menus, floating toolbars, and floating single-action buttons.
|
|
456
|
-
* `elevation.overflow`: Overflow is a shadow indicating content has scrolled outside a view. It can be used for vertical or horizontal scroll. An example of overflow shadows is the horizontal scroll in tables on a Confluence page.
|
|
457
|
-
|
|
458
|
-
ResponsiveProp<"elevation.raised" | "elevation.floating" | "elevation.overflow" | "elevation.focus" | "elevation.focusCompact"> | undefined
|
|
459
|
-
|
|
460
|
-
| \- | \- |
|
|
461
|
-
| loaded |
|
|
462
|
-
|
|
463
|
-
If set to `true`, will hide the skeleton and display the chart.
|
|
464
|
-
|
|
465
|
-
booleanundefined
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
| \- | \- |
|
|
470
|
-
| m |
|
|
471
|
-
|
|
472
|
-
The **`m`** property is short for `margin`, and sets the margin area on all four sides of an element.
|
|
473
|
-
|
|
474
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
475
|
-
|
|
476
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
477
|
-
| --- | --- | --- | --- | --- |
|
|
478
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
479
|
-
|
|
480
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
481
|
-
|
|
482
|
-
| \- | \- |
|
|
483
|
-
| maxWidth |
|
|
484
|
-
|
|
485
|
-
The **`max-width`** CSS property sets the maximum width of an element. It prevents the used value of the `width` property from becoming larger than the value specified by `max-width`.
|
|
486
|
-
|
|
487
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
488
|
-
| --- | --- | --- | --- | --- |
|
|
489
|
-
| **1** | **1** | **1** | **12** | **7** |
|
|
490
|
-
|
|
491
|
-
ResponsiveProp<"auto" | SizeToken | "screen" | "1/2" | "1/3" | "2/3" | "1/4" | "2/4" | "3/4" | "1/5" | "2/5" | "3/5" | "4/5" | "1/6" | "2/6" | "3/6" | "4/6" | "5/6" | "1/12" | "2/12" | ... 8 more ... | "11/12"> | undefined
|
|
492
|
-
|
|
493
|
-
| \- | \- |
|
|
494
|
-
| mb |
|
|
495
|
-
|
|
496
|
-
The **`mb`** property is short for `margin-bottom` and sets the margin area on the bottom side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
497
|
-
|
|
498
|
-
It uses the spacing tokens in the design system.
|
|
499
|
-
|
|
500
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
501
|
-
| --- | --- | --- | --- | --- |
|
|
502
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
503
|
-
|
|
504
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
505
|
-
|
|
506
|
-
| \- | \- |
|
|
507
|
-
| ml |
|
|
508
|
-
|
|
509
|
-
The **`ml`** property is short for `margin-left` and sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
510
|
-
|
|
511
|
-
It uses the spacing tokens in the design system.
|
|
512
|
-
|
|
513
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
514
|
-
| --- | --- | --- | --- | --- |
|
|
515
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
516
|
-
|
|
517
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
518
|
-
|
|
519
|
-
| \- | \- |
|
|
520
|
-
| mr |
|
|
521
|
-
|
|
522
|
-
The **`mr`** property is short for `margin-right` and sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
523
|
-
|
|
524
|
-
It uses the spacing tokens in the design system.
|
|
525
|
-
|
|
526
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
527
|
-
| --- | --- | --- | --- | --- |
|
|
528
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
529
|
-
|
|
530
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
531
|
-
|
|
532
|
-
| \- | \- |
|
|
533
|
-
| mt |
|
|
534
|
-
|
|
535
|
-
The **`mt`** property is short for `margin-top` and sets the margin area on the top side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
536
|
-
|
|
537
|
-
It uses the spacing tokens in the design system.
|
|
538
|
-
|
|
539
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
540
|
-
| --- | --- | --- | --- | --- |
|
|
541
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
542
|
-
|
|
543
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
544
|
-
|
|
545
|
-
| \- | \- |
|
|
546
|
-
| mx |
|
|
547
|
-
|
|
548
|
-
The **`mx`** property is short for `margin-inline`. It is a shorthand property that defines both the logical inline start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.
|
|
549
|
-
|
|
550
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
551
|
-
|
|
552
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
553
|
-
| --- | --- | --- | --- | --- |
|
|
554
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
555
|
-
|
|
556
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
557
|
-
|
|
558
|
-
| \- | \- |
|
|
559
|
-
| my |
|
|
560
|
-
|
|
561
|
-
The **`my`** property is short for `margin-block`. It defines the logical block start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.
|
|
562
|
-
|
|
563
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
564
|
-
|
|
565
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
566
|
-
| --- | --- | --- | --- | --- |
|
|
567
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
568
|
-
|
|
569
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
570
|
-
|
|
571
|
-
| \- | \- |
|
|
572
|
-
| noGutter |
|
|
573
|
-
|
|
574
|
-
The **`noGutter`** property is used to remove the bottom margin from the last child of a component. This is useful when you want to avoid extra spacing at the end of a layout.
|
|
575
|
-
|
|
576
|
-
booleanundefined
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
| \- | \- |
|
|
581
|
-
| p |
|
|
582
|
-
|
|
583
|
-
The **`p`** property is short for `padding`, and sets the padding area on all four sides of an element at once.
|
|
584
|
-
|
|
585
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
586
|
-
|
|
587
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
588
|
-
| --- | --- | --- | --- | --- |
|
|
589
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
590
|
-
|
|
591
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
592
|
-
|
|
593
|
-
| \- | \- |
|
|
594
|
-
| pattern |
|
|
595
|
-
|
|
596
|
-
Use `pattern="component"` for the following use cases:
|
|
597
|
-
|
|
598
|
-
* Component that is expected to be slow to load, such as a chart, table or large graphic.
|
|
599
|
-
* Component that can be refreshed/updated with new data.
|
|
600
|
-
|
|
601
|
-
"component"undefined
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
| \- | \- |
|
|
606
|
-
| pb |
|
|
607
|
-
|
|
608
|
-
The **`pb`** property is short for `padding-bottom` and sets the padding area on the bottom side of an element.
|
|
609
|
-
|
|
610
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
611
|
-
|
|
612
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
613
|
-
| --- | --- | --- | --- | --- |
|
|
614
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
615
|
-
|
|
616
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
617
|
-
|
|
618
|
-
| \- | \- |
|
|
619
|
-
| pl |
|
|
620
|
-
|
|
621
|
-
The **`pl`** property is short for `padding-left` and sets the padding area on the left side of an element.
|
|
622
|
-
|
|
623
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
624
|
-
|
|
625
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
626
|
-
| --- | --- | --- | --- | --- |
|
|
627
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
628
|
-
|
|
629
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
630
|
-
|
|
631
|
-
| \- | \- |
|
|
632
|
-
| pr |
|
|
633
|
-
|
|
634
|
-
The **`pr`** property is short for `padding-right` and sets the padding area on the right side of an element.
|
|
635
|
-
|
|
636
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
637
|
-
|
|
638
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
639
|
-
| --- | --- | --- | --- | --- |
|
|
640
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
641
|
-
|
|
642
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
643
|
-
|
|
644
|
-
| \- | \- |
|
|
645
|
-
| pt |
|
|
646
|
-
|
|
647
|
-
The **`pt`** property is short for `padding-top` and sets the padding area on the top side of an element.
|
|
648
|
-
|
|
649
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
650
|
-
|
|
651
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
652
|
-
| --- | --- | --- | --- | --- |
|
|
653
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
654
|
-
|
|
655
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
656
|
-
|
|
657
|
-
| \- | \- |
|
|
658
|
-
| px |
|
|
659
|
-
|
|
660
|
-
The **`px`** property is short for `padding-inline`. It is a shorthand property that defines both the logical inline start and end paddings of an element, which maps to physical paddings depending on the element's writing mode, directionality, and text orientation.
|
|
661
|
-
|
|
662
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
663
|
-
|
|
664
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
665
|
-
| --- | --- | --- | --- | --- |
|
|
666
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
667
|
-
|
|
668
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
669
|
-
|
|
670
|
-
| \- | \- |
|
|
671
|
-
| py |
|
|
672
|
-
|
|
673
|
-
The **`py`** property is short for `padding-block`. It defines the logical block start and end paddings of an element, which maps to physical paddings depending on the element's writing mode, directionality, and text orientation.
|
|
674
|
-
|
|
675
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
676
|
-
|
|
677
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
678
|
-
| --- | --- | --- | --- | --- |
|
|
679
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
680
|
-
|
|
681
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
682
|
-
|
|
683
|
-
| \- | \- |
|
|
684
|
-
| rowGap |
|
|
685
|
-
|
|
686
|
-
The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's rows.
|
|
687
|
-
|
|
688
|
-
Note: It only has an effect when used as a direct child of a layout component, such as IressRow, IressStack or IressInline.
|
|
689
|
-
|
|
690
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
691
|
-
| --- | --- | --- | --- | --- |
|
|
692
|
-
| **47** | **52** | **10.1** | **16** | No |
|
|
693
|
-
|
|
694
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
695
|
-
|
|
696
|
-
| \- | \- |
|
|
697
|
-
| screenReaderText |
|
|
698
|
-
|
|
699
|
-
Only screen readers will see this message, it is changed to the `message` after the delay.
|
|
700
|
-
|
|
701
|
-
ReactNode
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
|
706
|
-
|
|
707
|
-
Loading...
|
|
708
|
-
|
|
709
|
-
| \- |
|
|
710
|
-
| srOnly |
|
|
711
|
-
|
|
712
|
-
Set **`srOnly`** to hide an element visually but still make it accessible to screen readers. It can also be set to an object of breakpoints to hide the element at specific breakpoints.
|
|
713
|
-
|
|
714
|
-
Hide on all breakpoints: `srOnly: true` Hide on specific breakpoints: `srOnly: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
|
|
715
|
-
|
|
716
|
-
ResponsiveProp<boolean> | undefined
|
|
717
|
-
|
|
718
|
-
| \- | \- |
|
|
719
|
-
| stretch |
|
|
720
|
-
|
|
721
|
-
The **`stretch`** property is used to stretch an element to fill the available space in its parent container. It sets the `height` property to `100%` and `alignSelf` to `stretch`, allowing the element to expand and contract based on the size of its parent.
|
|
722
|
-
|
|
723
|
-
booleanundefined
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
| \- | \- |
|
|
728
|
-
| template |
|
|
729
|
-
|
|
730
|
-
Which template to use as the skeleton, or you can use a ReactNode to customise the skeleton completely.
|
|
731
|
-
|
|
732
|
-
ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | "chart" | undefined
|
|
733
|
-
|
|
734
|
-
|
|
|
735
|
-
|
|
736
|
-
chart
|
|
737
|
-
|
|
738
|
-
| \- |
|
|
739
|
-
| textAlign |
|
|
740
|
-
|
|
741
|
-
The **`text-align`** CSS property sets the horizontal alignment of the inline-level content inside a block element or table-cell box.
|
|
742
|
-
|
|
743
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
744
|
-
| --- | --- | --- | --- | --- |
|
|
745
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
746
|
-
|
|
747
|
-
ResponsiveProp<"center" | "left" | "right" | "inherit" | "justify"> | undefined
|
|
748
|
-
|
|
749
|
-
| \- | \- |
|
|
750
|
-
| textStyle |
|
|
751
|
-
|
|
752
|
-
Select the typography to be used using the **`textStyle`** prop. These are connected to the typography tokens in the design system.'
|
|
753
|
-
|
|
754
|
-
* `typography.body.sm` - Use for small components such as badges and disclaimers, as well as compact variations of tables and lists.
|
|
755
|
-
* `typography.body.md` - The most commonly used body text size, used for most text content in the product and the default state of all components in the design system.
|
|
756
|
-
* `typography.body.lg` - Use for tag lines, subtitles, and other large text content in the product.
|
|
757
|
-
* `typography.heading.1` - Use for the main page title to establish a clear hierarchy. There is typically only one H1 per screen, emphasising the primary purpose or context of the page.
|
|
758
|
-
* `typography.heading.2` - Use for primary section headings within a page to organise content and guide the user through key areas. Also suitable for large components—such as modals—where space allows and where it pairs well with body.md or body.lg.
|
|
759
|
-
* `typography.heading.3` - Use for sub-sections under H2s to further structure content and maintain a clear visual hierarchy. Ideal for breaking down complex sections into manageable parts.
|
|
760
|
-
* `typography.heading.4` - Use for supporting headings within content blocks or small components where space is limited—such as table headers, cards, or side panels. Provides structure without overwhelming the layout.
|
|
761
|
-
* `typography.heading.5` - Use for minor labels or titles in compact UI elements, such as cards, sidebars, or inline labels. Best used to emphasise supplementary information without drawing too much attention. Works well with body.sm and is ideal for subtle content like fine print. Use sparingly to preserve typographic hierarchy.
|
|
762
|
-
* `typography.code` - Used to display code snippets in the product, such as in the API documentation.
|
|
763
|
-
|
|
764
|
-
ResponsiveProp<"typography.heading.1" | "typography.heading.2" | "typography.heading.3" | "typography.heading.4" | "typography.heading.5" | "typography.body.sm" | "typography.body.sm.regular" | ... 10 more ... | "typography.code"> | undefined
|
|
765
|
-
|
|
766
|
-
| \- | \- |
|
|
767
|
-
| timeout |
|
|
768
|
-
|
|
769
|
-
Set the timeouts for showing the skeleton and update messages.
|
|
770
|
-
|
|
771
|
-
{ skeleton?: number | undefined; update?: number | undefined; } | undefined
|
|
772
|
-
|
|
773
|
-
| \- | \- |
|
|
774
|
-
| update |
|
|
775
|
-
|
|
776
|
-
Set the chart to be updated. If a `ReactNode` is provided, it will be displayed as the message. If set to `true`, will display the default message `Updating...`.
|
|
777
|
-
|
|
778
|
-
ReactNode
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
| \- | \- |
|
|
783
|
-
| width |
|
|
784
|
-
|
|
785
|
-
The **`width`** CSS property sets an element's width. By default, it sets the width of the content area, but if `box-sizing` is set to `border-box`, it sets the width of the border area.
|
|
786
|
-
|
|
787
|
-
This prop only allows widths available throughout the component library. To use a custom width, you need to use the `style` prop, or add a custom class to the element and use CSS.
|
|
788
|
-
|
|
789
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
790
|
-
| --- | --- | --- | --- | --- |
|
|
791
|
-
| **1** | **1** | **1** | **12** | **4** |
|
|
792
|
-
|
|
793
|
-
ResponsiveProp<"auto" | SizeToken | "screen" | "1/2" | "1/3" | "2/3" | "1/4" | "2/4" | "3/4" | "1/5" | "2/5" | "3/5" | "4/5" | "1/6" | "2/6" | "3/6" | "4/6" | "5/6" | "1/12" | "2/12" | ... 8 more ... | "11/12"> | undefined
|
|
794
|
-
|
|
795
|
-
| \- | \- |
|
|
796
|
-
|
|
797
|
-
### [](#default)`default`
|
|
798
|
-
|
|
799
|
-
The `default` loading pattern is used when no other pattern matches a scenario, and will only indicate loading if something is taking a long time to load. It is used when long loading times are not expected.
|
|
800
|
-
|
|
801
|
-
This pattern is used when the user is navigating between different pages or sections of the application.
|
|
802
|
-
|
|
803
|
-
#### [](#behavior-1)Behavior
|
|
804
|
-
|
|
805
|
-
1. Displays nothing by default
|
|
806
|
-
|
|
807
|
-
2. After 3000ms (configured using `timeout`), the `This is taking longer than expected...` message will be slide in from top center. This message can be customised using the `children` prop.
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
* * *
|
|
811
|
-
|
|
812
|
-
Beta
|
|
813
|
-
|
|
814
|
-
**New component**
|
|
815
|
-
|
|
816
|
-
This component is new, please provide feedback to the IDS team if you encounter any issues.
|
|
817
|
-
|
|
818
|
-
This is taking longer than expected...
|
|
819
|
-
|
|
820
|
-
Hide codeRefresh
|
|
821
|
-
|
|
822
|
-
\[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; }
|
|
823
|
-
|
|
824
|
-
<IressLoading pattern\="default" />
|
|
825
|
-
|
|
826
|
-
Copy
|
|
827
|
-
|
|
828
|
-
#### [](#props)Props
|
|
829
|
-
|
|
830
|
-
| Name | Description | Default | Control |
|
|
831
|
-
| --- | --- | --- | --- |
|
|
832
|
-
| bg |
|
|
833
|
-
**`bg`** sets the background color of an element using the `background-color` css property using the color tokens in the design system.
|
|
834
|
-
|
|
835
|
-
We recommend using the following token values for best background contrast:
|
|
836
|
-
|
|
837
|
-
* `colour.primary.fill` for primary backgrounds that need to stand out
|
|
838
|
-
* `colour.primary.surface` for primary backgrounds that need to be less prominent
|
|
839
|
-
* `colour.neutral.10` for the base background color, normally white in light mode or shade of grey in dark mode
|
|
840
|
-
* `colour.neutral.20` for a slightly darker background color, used in neutral state components
|
|
841
|
-
* `colour.system.danger.fill` for error backgrounds that need to stand out
|
|
842
|
-
* `colour.system.danger.surface` for error backgrounds that need to be less prominent
|
|
843
|
-
* `colour.system.success.fill` for success backgrounds that need to stand out
|
|
844
|
-
* `colour.system.success.surface` for success backgrounds that need to be less prominent
|
|
845
|
-
* `colour.system.warning.fill` for warning backgrounds that need to stand out
|
|
846
|
-
* `colour.system.warning.surface` for warning backgrounds that need to be less prominent
|
|
847
|
-
* `colour.system.info.fill` for info backgrounds that need to stand out
|
|
848
|
-
* `colour.system.info.surface` for info backgrounds that need to be less prominent
|
|
849
|
-
|
|
850
|
-
ResponsiveProp<ColorToken> | undefined
|
|
851
|
-
|
|
852
|
-
| \- | Set object |
|
|
853
|
-
| borderRadius |
|
|
854
|
-
|
|
855
|
-
The **`border-radius`** CSS property rounds the corners of an element's outer border edge using the radius tokens in the design system.
|
|
856
|
-
|
|
857
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
858
|
-
| --- | --- | --- | --- | --- |
|
|
859
|
-
| **4** | **4** | **5** | **12** | **9** |
|
|
860
|
-
| 1 _\-x-_ | | 3 _\-x-_ | | |
|
|
861
|
-
|
|
862
|
-
ResponsiveProp<RadiusToken> | undefined
|
|
863
|
-
|
|
864
|
-
| \- | Set object |
|
|
865
|
-
| children |
|
|
866
|
-
|
|
867
|
-
Message to display when the loading time is longer than expected.
|
|
868
|
-
|
|
869
|
-
ReactNode
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
|
874
|
-
|
|
875
|
-
<IressInline />
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
| Set object |
|
|
880
|
-
| color |
|
|
881
|
-
|
|
882
|
-
The **`color`** CSS property sets the foreground color value of an element's text and text decorations using the colour tokens from the design system. It also sets the `currentcolor` value. `currentcolor` may be used as an indirect value on _other_ properties and is the default for other color properties, such as `border-color`.
|
|
883
|
-
|
|
884
|
-
We recommend using the following token values for best color contrast:
|
|
885
|
-
|
|
886
|
-
* `colour.primary.onFill` used on top of `colour.primary.fill` for primary text that needs to stand out
|
|
887
|
-
* `colour.primary.text` used on top of `colour.primary.surface` or `colour.neutral.10` for primary text that needs to be less prominent
|
|
888
|
-
* `colour.neutral.70` used on top of `colour.neutral.10` or `colour.neutral.20` for muted text
|
|
889
|
-
* `colour.neutral.80` used on top of `colour.neutral.10` or `colour.neutral.20` for standard text
|
|
890
|
-
* `colour.system.danger.onFill` used on top of `colour.system.danger.fill` for error text that needs to stand out
|
|
891
|
-
* `colour.system.danger.text` used on top of `colour.system.danger.surface` for error text that needs to be less prominent
|
|
892
|
-
* `colour.system.success.onFill` used on top of `colour.system.success.fill` for success text that needs to stand out
|
|
893
|
-
* `colour.system.success.text` used on top of `colour.system.success.surface` for success text that needs to be less prominent
|
|
894
|
-
* `colour.system.warning.onFill` used on top of `colour.system.warning.fill` for warning text that needs to stand out
|
|
895
|
-
* `colour.system.warning.text` used on top of `colour.system.warning.surface` for warning text that needs to be less prominent
|
|
896
|
-
* `colour.system.info.onFill` used on top of `colour.system.info.fill` for informative text that needs to stand out
|
|
897
|
-
* `colour.system.info.text` used on top of `colour.system.info.surface` for informative text that needs to be less prominent
|
|
898
|
-
|
|
899
|
-
ResponsiveProp<ColorToken> | undefined
|
|
900
|
-
|
|
901
|
-
| \- | Set object |
|
|
902
|
-
| focusable |
|
|
903
|
-
|
|
904
|
-
The `focusable` prop is used to apply the focus elevation when focused. It can be set to `true` to apply focus styles on focus, or `'within'` to apply focus styles when the element or any of its children are focused.
|
|
905
|
-
|
|
906
|
-
"true""within"undefined
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
| \- | Set object |
|
|
911
|
-
| hide |
|
|
912
|
-
|
|
913
|
-
Set **`hide`** to hide an element completely using `display: none`. It can also be set to an object of breakpoints to hide the element at specific breakpoints.
|
|
914
|
-
|
|
915
|
-
Hide on all breakpoints: `hide: true` Hide on specific breakpoints: `hide: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
|
|
916
|
-
|
|
917
|
-
Notes:
|
|
918
|
-
|
|
919
|
-
* If you need to hide an element but allow it to be visible to screen readers, use the `srOnly` prop instead.
|
|
920
|
-
* Consider if you can conditionally render the element instead of hiding it.
|
|
921
|
-
|
|
922
|
-
ResponsiveProp<boolean> | undefined
|
|
923
|
-
|
|
924
|
-
| \- | Set object |
|
|
925
|
-
| layerStyle |
|
|
926
|
-
|
|
927
|
-
Elevate a layer by using a **`layerStyle`**. These are connected to the elevation tokens in the design system. They can be combined to create hierarchy and structure.
|
|
928
|
-
|
|
929
|
-
* `elevation.raised`: Raised elevations sit slightly higher than other content. They are reserved for cards that can be moved, such as Jira issue cards and Trello cards. In special circumstances, they can be used for cards as a way to provide additional heirarchy or emphasis.
|
|
930
|
-
* `elevation.floating`: Floating is the highest elevation available. It is reserved for a UI that sits over another UI, such as modals, dialogs, dropdown menus, floating toolbars, and floating single-action buttons.
|
|
931
|
-
* `elevation.overflow`: Overflow is a shadow indicating content has scrolled outside a view. It can be used for vertical or horizontal scroll. An example of overflow shadows is the horizontal scroll in tables on a Confluence page.
|
|
932
|
-
|
|
933
|
-
ResponsiveProp<"elevation.raised" | "elevation.floating" | "elevation.overflow" | "elevation.focus" | "elevation.focusCompact"> | undefined
|
|
934
|
-
|
|
935
|
-
| \- | Set object |
|
|
936
|
-
| m |
|
|
937
|
-
|
|
938
|
-
The **`m`** property is short for `margin`, and sets the margin area on all four sides of an element.
|
|
939
|
-
|
|
940
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
941
|
-
|
|
942
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
943
|
-
| --- | --- | --- | --- | --- |
|
|
944
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
945
|
-
|
|
946
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
947
|
-
|
|
948
|
-
| \- | Set object |
|
|
949
|
-
| maxWidth |
|
|
950
|
-
|
|
951
|
-
The **`max-width`** CSS property sets the maximum width of an element. It prevents the used value of the `width` property from becoming larger than the value specified by `max-width`.
|
|
952
|
-
|
|
953
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
954
|
-
| --- | --- | --- | --- | --- |
|
|
955
|
-
| **1** | **1** | **1** | **12** | **7** |
|
|
956
|
-
|
|
957
|
-
ResponsiveProp<"auto" | SizeToken | "screen" | "1/2" | "1/3" | "2/3" | "1/4" | "2/4" | "3/4" | "1/5" | "2/5" | "3/5" | "4/5" | "1/6" | "2/6" | "3/6" | "4/6" | "5/6" | "1/12" | "2/12" | ... 8 more ... | "11/12"> | undefined
|
|
958
|
-
|
|
959
|
-
| \- | Set object |
|
|
960
|
-
| mb |
|
|
961
|
-
|
|
962
|
-
The **`mb`** property is short for `margin-bottom` and sets the margin area on the bottom side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
963
|
-
|
|
964
|
-
It uses the spacing tokens in the design system.
|
|
965
|
-
|
|
966
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
967
|
-
| --- | --- | --- | --- | --- |
|
|
968
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
969
|
-
|
|
970
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
971
|
-
|
|
972
|
-
| \- | Set object |
|
|
973
|
-
| ml |
|
|
974
|
-
|
|
975
|
-
The **`ml`** property is short for `margin-left` and sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
976
|
-
|
|
977
|
-
It uses the spacing tokens in the design system.
|
|
978
|
-
|
|
979
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
980
|
-
| --- | --- | --- | --- | --- |
|
|
981
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
982
|
-
|
|
983
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
984
|
-
|
|
985
|
-
| \- | Set object |
|
|
986
|
-
| mr |
|
|
987
|
-
|
|
988
|
-
The **`mr`** property is short for `margin-right` and sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
989
|
-
|
|
990
|
-
It uses the spacing tokens in the design system.
|
|
991
|
-
|
|
992
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
993
|
-
| --- | --- | --- | --- | --- |
|
|
994
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
995
|
-
|
|
996
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
997
|
-
|
|
998
|
-
| \- | Set object |
|
|
999
|
-
| mt |
|
|
1000
|
-
|
|
1001
|
-
The **`mt`** property is short for `margin-top` and sets the margin area on the top side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
1002
|
-
|
|
1003
|
-
It uses the spacing tokens in the design system.
|
|
1004
|
-
|
|
1005
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1006
|
-
| --- | --- | --- | --- | --- |
|
|
1007
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1008
|
-
|
|
1009
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
1010
|
-
|
|
1011
|
-
| \- | Set object |
|
|
1012
|
-
| mx |
|
|
1013
|
-
|
|
1014
|
-
The **`mx`** property is short for `margin-inline`. It is a shorthand property that defines both the logical inline start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.
|
|
1015
|
-
|
|
1016
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
1017
|
-
|
|
1018
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1019
|
-
| --- | --- | --- | --- | --- |
|
|
1020
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1021
|
-
|
|
1022
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
1023
|
-
|
|
1024
|
-
| \- | Set object |
|
|
1025
|
-
| my |
|
|
1026
|
-
|
|
1027
|
-
The **`my`** property is short for `margin-block`. It defines the logical block start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.
|
|
1028
|
-
|
|
1029
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
1030
|
-
|
|
1031
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1032
|
-
| --- | --- | --- | --- | --- |
|
|
1033
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1034
|
-
|
|
1035
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
1036
|
-
|
|
1037
|
-
| \- | Set object |
|
|
1038
|
-
| noGutter |
|
|
1039
|
-
|
|
1040
|
-
The **`noGutter`** property is used to remove the bottom margin from the last child of a component. This is useful when you want to avoid extra spacing at the end of a layout.
|
|
1041
|
-
|
|
1042
|
-
booleanundefined
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
| \- | Set object |
|
|
1047
|
-
| p |
|
|
1048
|
-
|
|
1049
|
-
The **`p`** property is short for `padding`, and sets the padding area on all four sides of an element at once.
|
|
1050
|
-
|
|
1051
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
1052
|
-
|
|
1053
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1054
|
-
| --- | --- | --- | --- | --- |
|
|
1055
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1056
|
-
|
|
1057
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
1058
|
-
|
|
1059
|
-
| \- | Set object |
|
|
1060
|
-
| pattern |
|
|
1061
|
-
|
|
1062
|
-
Do not set the `pattern` prop when no other pattern can be applied. It will only show the loading message after a delay, and is intended for use when loading is not expected to take a long time. Example use cases:
|
|
1063
|
-
|
|
1064
|
-
* Navigating between different routes
|
|
1065
|
-
* Calling an API within the page that does not require a loading state
|
|
1066
|
-
|
|
1067
|
-
"default"undefined
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
| \- |
|
|
1072
|
-
|
|
1073
|
-
"default"
|
|
1074
|
-
|
|
1075
|
-
|
|
|
1076
|
-
| pb |
|
|
1077
|
-
|
|
1078
|
-
The **`pb`** property is short for `padding-bottom` and sets the padding area on the bottom side of an element.
|
|
1079
|
-
|
|
1080
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
1081
|
-
|
|
1082
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1083
|
-
| --- | --- | --- | --- | --- |
|
|
1084
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1085
|
-
|
|
1086
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
1087
|
-
|
|
1088
|
-
| \- | Set object |
|
|
1089
|
-
| pl |
|
|
1090
|
-
|
|
1091
|
-
The **`pl`** property is short for `padding-left` and sets the padding area on the left side of an element.
|
|
1092
|
-
|
|
1093
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
1094
|
-
|
|
1095
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1096
|
-
| --- | --- | --- | --- | --- |
|
|
1097
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1098
|
-
|
|
1099
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
1100
|
-
|
|
1101
|
-
| \- | Set object |
|
|
1102
|
-
| pr |
|
|
1103
|
-
|
|
1104
|
-
The **`pr`** property is short for `padding-right` and sets the padding area on the right side of an element.
|
|
1105
|
-
|
|
1106
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
1107
|
-
|
|
1108
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1109
|
-
| --- | --- | --- | --- | --- |
|
|
1110
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1111
|
-
|
|
1112
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
1113
|
-
|
|
1114
|
-
| \- | Set object |
|
|
1115
|
-
| pt |
|
|
1116
|
-
|
|
1117
|
-
The **`pt`** property is short for `padding-top` and sets the padding area on the top side of an element.
|
|
1118
|
-
|
|
1119
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
1120
|
-
|
|
1121
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1122
|
-
| --- | --- | --- | --- | --- |
|
|
1123
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1124
|
-
|
|
1125
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
1126
|
-
|
|
1127
|
-
| \- | Set object |
|
|
1128
|
-
| px |
|
|
1129
|
-
|
|
1130
|
-
The **`px`** property is short for `padding-inline`. It is a shorthand property that defines both the logical inline start and end paddings of an element, which maps to physical paddings depending on the element's writing mode, directionality, and text orientation.
|
|
1131
|
-
|
|
1132
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
1133
|
-
|
|
1134
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1135
|
-
| --- | --- | --- | --- | --- |
|
|
1136
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1137
|
-
|
|
1138
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
1139
|
-
|
|
1140
|
-
| \- | Set object |
|
|
1141
|
-
| py |
|
|
1142
|
-
|
|
1143
|
-
The **`py`** property is short for `padding-block`. It defines the logical block start and end paddings of an element, which maps to physical paddings depending on the element's writing mode, directionality, and text orientation.
|
|
1144
|
-
|
|
1145
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
1146
|
-
|
|
1147
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1148
|
-
| --- | --- | --- | --- | --- |
|
|
1149
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1150
|
-
|
|
1151
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
1152
|
-
|
|
1153
|
-
| \- | Set object |
|
|
1154
|
-
| rowGap |
|
|
1155
|
-
|
|
1156
|
-
The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's rows.
|
|
1157
|
-
|
|
1158
|
-
Note: It only has an effect when used as a direct child of a layout component, such as IressRow, IressStack or IressInline.
|
|
1159
|
-
|
|
1160
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1161
|
-
| --- | --- | --- | --- | --- |
|
|
1162
|
-
| **47** | **52** | **10.1** | **16** | No |
|
|
1163
|
-
|
|
1164
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
1165
|
-
|
|
1166
|
-
| \- | Set object |
|
|
1167
|
-
| screenReaderText |
|
|
1168
|
-
|
|
1169
|
-
Only screen readers will see this message, it is changed to the `children` message after the delay.
|
|
1170
|
-
|
|
1171
|
-
ReactNode
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
|
1176
|
-
|
|
1177
|
-
Loading...
|
|
1178
|
-
|
|
1179
|
-
| Set object |
|
|
1180
|
-
| srOnly |
|
|
1181
|
-
|
|
1182
|
-
Set **`srOnly`** to hide an element visually but still make it accessible to screen readers. It can also be set to an object of breakpoints to hide the element at specific breakpoints.
|
|
1183
|
-
|
|
1184
|
-
Hide on all breakpoints: `srOnly: true` Hide on specific breakpoints: `srOnly: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
|
|
1185
|
-
|
|
1186
|
-
ResponsiveProp<boolean> | undefined
|
|
1187
|
-
|
|
1188
|
-
| \- | Set object |
|
|
1189
|
-
| stretch |
|
|
1190
|
-
|
|
1191
|
-
The **`stretch`** property is used to stretch an element to fill the available space in its parent container. It sets the `height` property to `100%` and `alignSelf` to `stretch`, allowing the element to expand and contract based on the size of its parent.
|
|
1192
|
-
|
|
1193
|
-
booleanundefined
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
| \- | Set object |
|
|
1198
|
-
| textAlign |
|
|
1199
|
-
|
|
1200
|
-
The **`text-align`** CSS property sets the horizontal alignment of the inline-level content inside a block element or table-cell box.
|
|
1201
|
-
|
|
1202
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1203
|
-
| --- | --- | --- | --- | --- |
|
|
1204
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1205
|
-
|
|
1206
|
-
ResponsiveProp<"center" | "left" | "right" | "inherit" | "justify"> | undefined
|
|
1207
|
-
|
|
1208
|
-
| \- | Set object |
|
|
1209
|
-
| textStyle |
|
|
1210
|
-
|
|
1211
|
-
Select the typography to be used using the **`textStyle`** prop. These are connected to the typography tokens in the design system.'
|
|
1212
|
-
|
|
1213
|
-
* `typography.body.sm` - Use for small components such as badges and disclaimers, as well as compact variations of tables and lists.
|
|
1214
|
-
* `typography.body.md` - The most commonly used body text size, used for most text content in the product and the default state of all components in the design system.
|
|
1215
|
-
* `typography.body.lg` - Use for tag lines, subtitles, and other large text content in the product.
|
|
1216
|
-
* `typography.heading.1` - Use for the main page title to establish a clear hierarchy. There is typically only one H1 per screen, emphasising the primary purpose or context of the page.
|
|
1217
|
-
* `typography.heading.2` - Use for primary section headings within a page to organise content and guide the user through key areas. Also suitable for large components—such as modals—where space allows and where it pairs well with body.md or body.lg.
|
|
1218
|
-
* `typography.heading.3` - Use for sub-sections under H2s to further structure content and maintain a clear visual hierarchy. Ideal for breaking down complex sections into manageable parts.
|
|
1219
|
-
* `typography.heading.4` - Use for supporting headings within content blocks or small components where space is limited—such as table headers, cards, or side panels. Provides structure without overwhelming the layout.
|
|
1220
|
-
* `typography.heading.5` - Use for minor labels or titles in compact UI elements, such as cards, sidebars, or inline labels. Best used to emphasise supplementary information without drawing too much attention. Works well with body.sm and is ideal for subtle content like fine print. Use sparingly to preserve typographic hierarchy.
|
|
1221
|
-
* `typography.code` - Used to display code snippets in the product, such as in the API documentation.
|
|
1222
|
-
|
|
1223
|
-
ResponsiveProp<"typography.heading.1" | "typography.heading.2" | "typography.heading.3" | "typography.heading.4" | "typography.heading.5" | "typography.body.sm" | "typography.body.sm.regular" | ... 10 more ... | "typography.code"> | undefined
|
|
1224
|
-
|
|
1225
|
-
| \- | Set object |
|
|
1226
|
-
| timeout |
|
|
1227
|
-
|
|
1228
|
-
Delay in milliseconds before the message is displayed.
|
|
1229
|
-
|
|
1230
|
-
numberundefined
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
|
1235
|
-
|
|
1236
|
-
3000
|
|
1237
|
-
|
|
1238
|
-
| Set object |
|
|
1239
|
-
| width |
|
|
1240
|
-
|
|
1241
|
-
The **`width`** CSS property sets an element's width. By default, it sets the width of the content area, but if `box-sizing` is set to `border-box`, it sets the width of the border area.
|
|
1242
|
-
|
|
1243
|
-
This prop only allows widths available throughout the component library. To use a custom width, you need to use the `style` prop, or add a custom class to the element and use CSS.
|
|
1244
|
-
|
|
1245
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1246
|
-
| --- | --- | --- | --- | --- |
|
|
1247
|
-
| **1** | **1** | **1** | **12** | **4** |
|
|
1248
|
-
|
|
1249
|
-
ResponsiveProp<"auto" | SizeToken | "screen" | "1/2" | "1/3" | "2/3" | "1/4" | "2/4" | "3/4" | "1/5" | "2/5" | "3/5" | "4/5" | "1/6" | "2/6" | "3/6" | "4/6" | "5/6" | "1/12" | "2/12" | ... 8 more ... | "11/12"> | undefined
|
|
1250
|
-
|
|
1251
|
-
| \- | Set object |
|
|
1252
|
-
|
|
1253
|
-
### [](#long)`long`
|
|
1254
|
-
|
|
1255
|
-
The `long` loading pattern is used to indicate an expected long loading time, usually longer than 10 seconds to complete. It is typically used when calling multiple third-party APIs, AI generation and other long running tasks.
|
|
1256
|
-
|
|
1257
|
-
It has a required prop, `messageList`, which is an object map where the key is the time you want the message to be marked as completed and the value is the message to display. The messages will be completed (checked off) as the time elapses.
|
|
1258
|
-
|
|
1259
|
-
#### [](#behavior-2)Behavior
|
|
1260
|
-
|
|
1261
|
-
1. When `loaded` is false, a progress bar and check list will be displayed after 500ms (configured using `timeout.message`). This progress bar can be customised using the `renderProgress` prop.
|
|
1262
|
-
2. The messages will rotate until the `loaded` prop is set to true.
|
|
1263
|
-
* When a message falls within its elapsed time, it will be displayed with an animated ellipsis, indicating that the system is still working on it.
|
|
1264
|
-
* When a message is completed, it will be displayed with a check mark.
|
|
1265
|
-
3. When `loaded` is true, all items in the checklist are completed and the progress bar and message will begin fading out. To see the fade out, you will need to use the `IressLoading.shouldRender` hook.
|
|
1266
|
-
4. When `error` is true, the error message will be displayed, overriding the progress bar and checklist. This message can be customised using the `error` prop. The error message will be displayed with a red background.
|
|
1267
|
-
|
|
1268
|
-
#### [](#adjusting-the-progress-bar)Adjusting the progress bar
|
|
1269
|
-
|
|
1270
|
-
The `long` loading pattern uses a progress bar to indicate that the application is loading alongside an `estimatedFinishTime` prop. This prop is used to indicate the estimated time until the application is fully loaded, and is used to help the user understand how long they will need to wait and assure them something is happening. The progress bar will animate based on the estimated time.
|
|
1271
|
-
|
|
1272
|
-
If your application is capable of calculating real progress, you can pass the `progress` prop to the `IressLoading` component and that value will be used instead.
|
|
1273
|
-
|
|
1274
|
-
Once the `loaded` prop is set to true, the progress bar will always be set to 100% and the loading pattern will fade out.
|
|
1275
|
-
|
|
1276
|
-
* * *
|
|
1277
|
-
|
|
1278
|
-
Beta
|
|
1279
|
-
|
|
1280
|
-
**New component**
|
|
1281
|
-
|
|
1282
|
-
This component is new, please provide feedback to the IDS team if you encounter any issues.
|
|
1283
|
-
|
|
1284
|
-
* Finished: Processing transcript
|
|
1285
|
-
* Finished: Noting key information
|
|
1286
|
-
* Finished: Generating summary
|
|
1287
|
-
|
|
1288
|
-
...
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
Hide codeRefresh
|
|
1292
|
-
|
|
1293
|
-
\[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; }
|
|
1294
|
-
|
|
1295
|
-
<IressLoading
|
|
1296
|
-
messageList\={{
|
|
1297
|
-
'3000': 'Processing transcript',
|
|
1298
|
-
'5000': 'Noting key information',
|
|
1299
|
-
'7000': 'Generating summary'
|
|
1300
|
-
}}
|
|
1301
|
-
pattern\="long"
|
|
1302
|
-
/>
|
|
1303
|
-
|
|
1304
|
-
Copy
|
|
1305
|
-
|
|
1306
|
-
#### [](#props)Props
|
|
1307
|
-
|
|
1308
|
-
| Name | Description | Default | Control |
|
|
1309
|
-
| --- | --- | --- | --- |
|
|
1310
|
-
| bg |
|
|
1311
|
-
**`bg`** sets the background color of an element using the `background-color` css property using the color tokens in the design system.
|
|
1312
|
-
|
|
1313
|
-
We recommend using the following token values for best background contrast:
|
|
1314
|
-
|
|
1315
|
-
* `colour.primary.fill` for primary backgrounds that need to stand out
|
|
1316
|
-
* `colour.primary.surface` for primary backgrounds that need to be less prominent
|
|
1317
|
-
* `colour.neutral.10` for the base background color, normally white in light mode or shade of grey in dark mode
|
|
1318
|
-
* `colour.neutral.20` for a slightly darker background color, used in neutral state components
|
|
1319
|
-
* `colour.system.danger.fill` for error backgrounds that need to stand out
|
|
1320
|
-
* `colour.system.danger.surface` for error backgrounds that need to be less prominent
|
|
1321
|
-
* `colour.system.success.fill` for success backgrounds that need to stand out
|
|
1322
|
-
* `colour.system.success.surface` for success backgrounds that need to be less prominent
|
|
1323
|
-
* `colour.system.warning.fill` for warning backgrounds that need to stand out
|
|
1324
|
-
* `colour.system.warning.surface` for warning backgrounds that need to be less prominent
|
|
1325
|
-
* `colour.system.info.fill` for info backgrounds that need to stand out
|
|
1326
|
-
* `colour.system.info.surface` for info backgrounds that need to be less prominent
|
|
1327
|
-
|
|
1328
|
-
ResponsiveProp<ColorToken> | undefined
|
|
1329
|
-
|
|
1330
|
-
| \- | Set object |
|
|
1331
|
-
| borderRadius |
|
|
1332
|
-
|
|
1333
|
-
The **`border-radius`** CSS property rounds the corners of an element's outer border edge using the radius tokens in the design system.
|
|
1334
|
-
|
|
1335
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1336
|
-
| --- | --- | --- | --- | --- |
|
|
1337
|
-
| **4** | **4** | **5** | **12** | **9** |
|
|
1338
|
-
| 1 _\-x-_ | | 3 _\-x-_ | | |
|
|
1339
|
-
|
|
1340
|
-
ResponsiveProp<RadiusToken> | undefined
|
|
1341
|
-
|
|
1342
|
-
| \- | Set object |
|
|
1343
|
-
| children |
|
|
1344
|
-
|
|
1345
|
-
The children are displayed while loading. This will be displayed above the progress bar and checklist.
|
|
1346
|
-
|
|
1347
|
-
ReactNode
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
| \- | Set object |
|
|
1352
|
-
| color |
|
|
1353
|
-
|
|
1354
|
-
The **`color`** CSS property sets the foreground color value of an element's text and text decorations using the colour tokens from the design system. It also sets the `currentcolor` value. `currentcolor` may be used as an indirect value on _other_ properties and is the default for other color properties, such as `border-color`.
|
|
1355
|
-
|
|
1356
|
-
We recommend using the following token values for best color contrast:
|
|
1357
|
-
|
|
1358
|
-
* `colour.primary.onFill` used on top of `colour.primary.fill` for primary text that needs to stand out
|
|
1359
|
-
* `colour.primary.text` used on top of `colour.primary.surface` or `colour.neutral.10` for primary text that needs to be less prominent
|
|
1360
|
-
* `colour.neutral.70` used on top of `colour.neutral.10` or `colour.neutral.20` for muted text
|
|
1361
|
-
* `colour.neutral.80` used on top of `colour.neutral.10` or `colour.neutral.20` for standard text
|
|
1362
|
-
* `colour.system.danger.onFill` used on top of `colour.system.danger.fill` for error text that needs to stand out
|
|
1363
|
-
* `colour.system.danger.text` used on top of `colour.system.danger.surface` for error text that needs to be less prominent
|
|
1364
|
-
* `colour.system.success.onFill` used on top of `colour.system.success.fill` for success text that needs to stand out
|
|
1365
|
-
* `colour.system.success.text` used on top of `colour.system.success.surface` for success text that needs to be less prominent
|
|
1366
|
-
* `colour.system.warning.onFill` used on top of `colour.system.warning.fill` for warning text that needs to stand out
|
|
1367
|
-
* `colour.system.warning.text` used on top of `colour.system.warning.surface` for warning text that needs to be less prominent
|
|
1368
|
-
* `colour.system.info.onFill` used on top of `colour.system.info.fill` for informative text that needs to stand out
|
|
1369
|
-
* `colour.system.info.text` used on top of `colour.system.info.surface` for informative text that needs to be less prominent
|
|
1370
|
-
|
|
1371
|
-
ResponsiveProp<ColorToken> | undefined
|
|
1372
|
-
|
|
1373
|
-
| \- | Set object |
|
|
1374
|
-
| error |
|
|
1375
|
-
|
|
1376
|
-
An error to display if the loading fails. This will override the `messageList` and show an error message instead.
|
|
1377
|
-
|
|
1378
|
-
ReactNode
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
| \- | Set object |
|
|
1383
|
-
| estimatedFinishTime |
|
|
1384
|
-
|
|
1385
|
-
Estimated time in milliseconds for the loading to finish.
|
|
1386
|
-
|
|
1387
|
-
numberundefined
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
|
1392
|
-
|
|
1393
|
-
10000
|
|
1394
|
-
|
|
1395
|
-
| Set object |
|
|
1396
|
-
| focusable |
|
|
1397
|
-
|
|
1398
|
-
The `focusable` prop is used to apply the focus elevation when focused. It can be set to `true` to apply focus styles on focus, or `'within'` to apply focus styles when the element or any of its children are focused.
|
|
1399
|
-
|
|
1400
|
-
"true""within"undefined
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
| \- | Set object |
|
|
1405
|
-
| hide |
|
|
1406
|
-
|
|
1407
|
-
Set **`hide`** to hide an element completely using `display: none`. It can also be set to an object of breakpoints to hide the element at specific breakpoints.
|
|
1408
|
-
|
|
1409
|
-
Hide on all breakpoints: `hide: true` Hide on specific breakpoints: `hide: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
|
|
1410
|
-
|
|
1411
|
-
Notes:
|
|
1412
|
-
|
|
1413
|
-
* If you need to hide an element but allow it to be visible to screen readers, use the `srOnly` prop instead.
|
|
1414
|
-
* Consider if you can conditionally render the element instead of hiding it.
|
|
1415
|
-
|
|
1416
|
-
ResponsiveProp<boolean> | undefined
|
|
1417
|
-
|
|
1418
|
-
| \- | Set object |
|
|
1419
|
-
| layerStyle |
|
|
1420
|
-
|
|
1421
|
-
Elevate a layer by using a **`layerStyle`**. These are connected to the elevation tokens in the design system. They can be combined to create hierarchy and structure.
|
|
1422
|
-
|
|
1423
|
-
* `elevation.raised`: Raised elevations sit slightly higher than other content. They are reserved for cards that can be moved, such as Jira issue cards and Trello cards. In special circumstances, they can be used for cards as a way to provide additional heirarchy or emphasis.
|
|
1424
|
-
* `elevation.floating`: Floating is the highest elevation available. It is reserved for a UI that sits over another UI, such as modals, dialogs, dropdown menus, floating toolbars, and floating single-action buttons.
|
|
1425
|
-
* `elevation.overflow`: Overflow is a shadow indicating content has scrolled outside a view. It can be used for vertical or horizontal scroll. An example of overflow shadows is the horizontal scroll in tables on a Confluence page.
|
|
1426
|
-
|
|
1427
|
-
ResponsiveProp<"elevation.raised" | "elevation.floating" | "elevation.overflow" | "elevation.focus" | "elevation.focusCompact"> | undefined
|
|
1428
|
-
|
|
1429
|
-
| \- | Set object |
|
|
1430
|
-
| loaded |
|
|
1431
|
-
|
|
1432
|
-
If set to `true`, will start hiding the loading indicator. It is recommended to use this prop if you are using the `IressLoading.shouldRender` hook to achieve a smooth loading experience.
|
|
1433
|
-
|
|
1434
|
-
booleanundefined
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
| \- | Set object |
|
|
1439
|
-
| m |
|
|
1440
|
-
|
|
1441
|
-
The **`m`** property is short for `margin`, and sets the margin area on all four sides of an element.
|
|
1442
|
-
|
|
1443
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
1444
|
-
|
|
1445
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1446
|
-
| --- | --- | --- | --- | --- |
|
|
1447
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1448
|
-
|
|
1449
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
1450
|
-
|
|
1451
|
-
| \- | Set object |
|
|
1452
|
-
| maxWidth |
|
|
1453
|
-
|
|
1454
|
-
The **`max-width`** CSS property sets the maximum width of an element. It prevents the used value of the `width` property from becoming larger than the value specified by `max-width`.
|
|
1455
|
-
|
|
1456
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1457
|
-
| --- | --- | --- | --- | --- |
|
|
1458
|
-
| **1** | **1** | **1** | **12** | **7** |
|
|
1459
|
-
|
|
1460
|
-
ResponsiveProp<"auto" | SizeToken | "screen" | "1/2" | "1/3" | "2/3" | "1/4" | "2/4" | "3/4" | "1/5" | "2/5" | "3/5" | "4/5" | "1/6" | "2/6" | "3/6" | "4/6" | "5/6" | "1/12" | "2/12" | ... 8 more ... | "11/12"> | undefined
|
|
1461
|
-
|
|
1462
|
-
| \- | Set object |
|
|
1463
|
-
| mb |
|
|
1464
|
-
|
|
1465
|
-
The **`mb`** property is short for `margin-bottom` and sets the margin area on the bottom side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
1466
|
-
|
|
1467
|
-
It uses the spacing tokens in the design system.
|
|
1468
|
-
|
|
1469
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1470
|
-
| --- | --- | --- | --- | --- |
|
|
1471
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1472
|
-
|
|
1473
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
1474
|
-
|
|
1475
|
-
| \- | Set object |
|
|
1476
|
-
| messageList |
|
|
1477
|
-
|
|
1478
|
-
A checklist to display while loading. The key is the time when you want the item to be checked.
|
|
1479
|
-
|
|
1480
|
-
Record<number, ReactNode>
|
|
1481
|
-
|
|
1482
|
-
| { } |
|
|
1483
|
-
|
|
1484
|
-
RAW
|
|
1485
|
-
|
|
1486
|
-
messageList : {
|
|
1487
|
-
|
|
1488
|
-
* 3000 : "Processing transcript"
|
|
1489
|
-
* 5000 : "Noting key information"
|
|
1490
|
-
* 7000 : "Generating summary"
|
|
1491
|
-
|
|
1492
|
-
}
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
|
1499
|
-
| ml |
|
|
1500
|
-
|
|
1501
|
-
The **`ml`** property is short for `margin-left` and sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
1502
|
-
|
|
1503
|
-
It uses the spacing tokens in the design system.
|
|
1504
|
-
|
|
1505
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1506
|
-
| --- | --- | --- | --- | --- |
|
|
1507
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1508
|
-
|
|
1509
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
1510
|
-
|
|
1511
|
-
| \- | Set object |
|
|
1512
|
-
| mr |
|
|
1513
|
-
|
|
1514
|
-
The **`mr`** property is short for `margin-right` and sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
1515
|
-
|
|
1516
|
-
It uses the spacing tokens in the design system.
|
|
1517
|
-
|
|
1518
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1519
|
-
| --- | --- | --- | --- | --- |
|
|
1520
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1521
|
-
|
|
1522
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
1523
|
-
|
|
1524
|
-
| \- | Set object |
|
|
1525
|
-
| mt |
|
|
1526
|
-
|
|
1527
|
-
The **`mt`** property is short for `margin-top` and sets the margin area on the top side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
1528
|
-
|
|
1529
|
-
It uses the spacing tokens in the design system.
|
|
1530
|
-
|
|
1531
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1532
|
-
| --- | --- | --- | --- | --- |
|
|
1533
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1534
|
-
|
|
1535
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
1536
|
-
|
|
1537
|
-
| \- | Set object |
|
|
1538
|
-
| mx |
|
|
1539
|
-
|
|
1540
|
-
The **`mx`** property is short for `margin-inline`. It is a shorthand property that defines both the logical inline start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.
|
|
1541
|
-
|
|
1542
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
1543
|
-
|
|
1544
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1545
|
-
| --- | --- | --- | --- | --- |
|
|
1546
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1547
|
-
|
|
1548
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
1549
|
-
|
|
1550
|
-
| \- | Set object |
|
|
1551
|
-
| my |
|
|
1552
|
-
|
|
1553
|
-
The **`my`** property is short for `margin-block`. It defines the logical block start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.
|
|
1554
|
-
|
|
1555
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
1556
|
-
|
|
1557
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1558
|
-
| --- | --- | --- | --- | --- |
|
|
1559
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1560
|
-
|
|
1561
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
1562
|
-
|
|
1563
|
-
| \- | Set object |
|
|
1564
|
-
| noGutter |
|
|
1565
|
-
|
|
1566
|
-
The **`noGutter`** property is used to remove the bottom margin from the last child of a component. This is useful when you want to avoid extra spacing at the end of a layout.
|
|
1567
|
-
|
|
1568
|
-
booleanundefined
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
| \- | Set object |
|
|
1573
|
-
| p |
|
|
1574
|
-
|
|
1575
|
-
The **`p`** property is short for `padding`, and sets the padding area on all four sides of an element at once.
|
|
1576
|
-
|
|
1577
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
1578
|
-
|
|
1579
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1580
|
-
| --- | --- | --- | --- | --- |
|
|
1581
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1582
|
-
|
|
1583
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
1584
|
-
|
|
1585
|
-
| \- | Set object |
|
|
1586
|
-
| pattern |
|
|
1587
|
-
|
|
1588
|
-
The long loading pattern will display a checklist of items that are being loaded.
|
|
1589
|
-
|
|
1590
|
-
Use `pattern="long"` for the following use cases:
|
|
1591
|
-
|
|
1592
|
-
* Calling multiple slow APIs to load data
|
|
1593
|
-
* Loading results from AI
|
|
1594
|
-
* Processing a large amount of data as a queue (eg. bulk uploading or large media file uploads)
|
|
1595
|
-
|
|
1596
|
-
"long"undefined
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
| \- |
|
|
1601
|
-
|
|
1602
|
-
"long"
|
|
1603
|
-
|
|
1604
|
-
|
|
|
1605
|
-
| pb |
|
|
1606
|
-
|
|
1607
|
-
The **`pb`** property is short for `padding-bottom` and sets the padding area on the bottom side of an element.
|
|
1608
|
-
|
|
1609
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
1610
|
-
|
|
1611
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1612
|
-
| --- | --- | --- | --- | --- |
|
|
1613
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1614
|
-
|
|
1615
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
1616
|
-
|
|
1617
|
-
| \- | Set object |
|
|
1618
|
-
| pl |
|
|
1619
|
-
|
|
1620
|
-
The **`pl`** property is short for `padding-left` and sets the padding area on the left side of an element.
|
|
1621
|
-
|
|
1622
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
1623
|
-
|
|
1624
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1625
|
-
| --- | --- | --- | --- | --- |
|
|
1626
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1627
|
-
|
|
1628
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
1629
|
-
|
|
1630
|
-
| \- | Set object |
|
|
1631
|
-
| pr |
|
|
1632
|
-
|
|
1633
|
-
The **`pr`** property is short for `padding-right` and sets the padding area on the right side of an element.
|
|
1634
|
-
|
|
1635
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
1636
|
-
|
|
1637
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1638
|
-
| --- | --- | --- | --- | --- |
|
|
1639
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1640
|
-
|
|
1641
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
1642
|
-
|
|
1643
|
-
| \- | Set object |
|
|
1644
|
-
| progress |
|
|
1645
|
-
|
|
1646
|
-
If provided, will use this to set the `value` of the progress bar. If not provided, will use the `estimatedFinishTime` to calculate the progress.
|
|
1647
|
-
|
|
1648
|
-
numberundefined
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
| \- | Set object |
|
|
1653
|
-
| pt |
|
|
1654
|
-
|
|
1655
|
-
The **`pt`** property is short for `padding-top` and sets the padding area on the top side of an element.
|
|
1656
|
-
|
|
1657
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
1658
|
-
|
|
1659
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1660
|
-
| --- | --- | --- | --- | --- |
|
|
1661
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1662
|
-
|
|
1663
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
1664
|
-
|
|
1665
|
-
| \- | Set object |
|
|
1666
|
-
| px |
|
|
1667
|
-
|
|
1668
|
-
The **`px`** property is short for `padding-inline`. It is a shorthand property that defines both the logical inline start and end paddings of an element, which maps to physical paddings depending on the element's writing mode, directionality, and text orientation.
|
|
1669
|
-
|
|
1670
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
1671
|
-
|
|
1672
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1673
|
-
| --- | --- | --- | --- | --- |
|
|
1674
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1675
|
-
|
|
1676
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
1677
|
-
|
|
1678
|
-
| \- | Set object |
|
|
1679
|
-
| py |
|
|
1680
|
-
|
|
1681
|
-
The **`py`** property is short for `padding-block`. It defines the logical block start and end paddings of an element, which maps to physical paddings depending on the element's writing mode, directionality, and text orientation.
|
|
1682
|
-
|
|
1683
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
1684
|
-
|
|
1685
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1686
|
-
| --- | --- | --- | --- | --- |
|
|
1687
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1688
|
-
|
|
1689
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
1690
|
-
|
|
1691
|
-
| \- | Set object |
|
|
1692
|
-
| renderProgress |
|
|
1693
|
-
|
|
1694
|
-
This is a render prop that allows you to override the default progress rendering. This is useful if you want to use a different progress component or if you want to add additional props to the progress bar.
|
|
1695
|
-
|
|
1696
|
-
((props: Pick<IressProgressProps, "value" | "max" | "sectionTitle">) => ReactNode) | undefined
|
|
1697
|
-
|
|
1698
|
-
|
|
|
1699
|
-
|
|
1700
|
-
element
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
| \- |
|
|
1705
|
-
| rowGap |
|
|
1706
|
-
|
|
1707
|
-
The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's rows.
|
|
1708
|
-
|
|
1709
|
-
Note: It only has an effect when used as a direct child of a layout component, such as IressRow, IressStack or IressInline.
|
|
1710
|
-
|
|
1711
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1712
|
-
| --- | --- | --- | --- | --- |
|
|
1713
|
-
| **47** | **52** | **10.1** | **16** | No |
|
|
1714
|
-
|
|
1715
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
1716
|
-
|
|
1717
|
-
| \- | Set object |
|
|
1718
|
-
| srOnly |
|
|
1719
|
-
|
|
1720
|
-
Set **`srOnly`** to hide an element visually but still make it accessible to screen readers. It can also be set to an object of breakpoints to hide the element at specific breakpoints.
|
|
1721
|
-
|
|
1722
|
-
Hide on all breakpoints: `srOnly: true` Hide on specific breakpoints: `srOnly: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
|
|
1723
|
-
|
|
1724
|
-
ResponsiveProp<boolean> | undefined
|
|
1725
|
-
|
|
1726
|
-
| \- | Set object |
|
|
1727
|
-
| stretch |
|
|
1728
|
-
|
|
1729
|
-
The **`stretch`** property is used to stretch an element to fill the available space in its parent container. It sets the `height` property to `100%` and `alignSelf` to `stretch`, allowing the element to expand and contract based on the size of its parent.
|
|
1730
|
-
|
|
1731
|
-
booleanundefined
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
| \- | Set object |
|
|
1736
|
-
| textAlign |
|
|
1737
|
-
|
|
1738
|
-
The **`text-align`** CSS property sets the horizontal alignment of the inline-level content inside a block element or table-cell box.
|
|
1739
|
-
|
|
1740
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1741
|
-
| --- | --- | --- | --- | --- |
|
|
1742
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
1743
|
-
|
|
1744
|
-
ResponsiveProp<"center" | "left" | "right" | "inherit" | "justify"> | undefined
|
|
1745
|
-
|
|
1746
|
-
| \- | Set object |
|
|
1747
|
-
| textStyle |
|
|
1748
|
-
|
|
1749
|
-
Select the typography to be used using the **`textStyle`** prop. These are connected to the typography tokens in the design system.'
|
|
1750
|
-
|
|
1751
|
-
* `typography.body.sm` - Use for small components such as badges and disclaimers, as well as compact variations of tables and lists.
|
|
1752
|
-
* `typography.body.md` - The most commonly used body text size, used for most text content in the product and the default state of all components in the design system.
|
|
1753
|
-
* `typography.body.lg` - Use for tag lines, subtitles, and other large text content in the product.
|
|
1754
|
-
* `typography.heading.1` - Use for the main page title to establish a clear hierarchy. There is typically only one H1 per screen, emphasising the primary purpose or context of the page.
|
|
1755
|
-
* `typography.heading.2` - Use for primary section headings within a page to organise content and guide the user through key areas. Also suitable for large components—such as modals—where space allows and where it pairs well with body.md or body.lg.
|
|
1756
|
-
* `typography.heading.3` - Use for sub-sections under H2s to further structure content and maintain a clear visual hierarchy. Ideal for breaking down complex sections into manageable parts.
|
|
1757
|
-
* `typography.heading.4` - Use for supporting headings within content blocks or small components where space is limited—such as table headers, cards, or side panels. Provides structure without overwhelming the layout.
|
|
1758
|
-
* `typography.heading.5` - Use for minor labels or titles in compact UI elements, such as cards, sidebars, or inline labels. Best used to emphasise supplementary information without drawing too much attention. Works well with body.sm and is ideal for subtle content like fine print. Use sparingly to preserve typographic hierarchy.
|
|
1759
|
-
* `typography.code` - Used to display code snippets in the product, such as in the API documentation.
|
|
1760
|
-
|
|
1761
|
-
ResponsiveProp<"typography.heading.1" | "typography.heading.2" | "typography.heading.3" | "typography.heading.4" | "typography.heading.5" | "typography.body.sm" | "typography.body.sm.regular" | ... 10 more ... | "typography.code"> | undefined
|
|
1762
|
-
|
|
1763
|
-
| \- | Set object |
|
|
1764
|
-
| timeout |
|
|
1765
|
-
|
|
1766
|
-
Set the timeouts for showing the progress bar and message.
|
|
1767
|
-
|
|
1768
|
-
{ loaded?: number | undefined; message?: number | undefined; } | undefined
|
|
1769
|
-
|
|
1770
|
-
| \- | Set object |
|
|
1771
|
-
| width |
|
|
1772
|
-
|
|
1773
|
-
The **`width`** CSS property sets an element's width. By default, it sets the width of the content area, but if `box-sizing` is set to `border-box`, it sets the width of the border area.
|
|
1774
|
-
|
|
1775
|
-
This prop only allows widths available throughout the component library. To use a custom width, you need to use the `style` prop, or add a custom class to the element and use CSS.
|
|
1776
|
-
|
|
1777
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1778
|
-
| --- | --- | --- | --- | --- |
|
|
1779
|
-
| **1** | **1** | **1** | **12** | **4** |
|
|
1780
|
-
|
|
1781
|
-
ResponsiveProp<"auto" | SizeToken | "screen" | "1/2" | "1/3" | "2/3" | "1/4" | "2/4" | "3/4" | "1/5" | "2/5" | "3/5" | "4/5" | "1/6" | "2/6" | "3/6" | "4/6" | "5/6" | "1/12" | "2/12" | ... 8 more ... | "11/12"> | undefined
|
|
1782
|
-
|
|
1783
|
-
| \- | Set object |
|
|
1784
|
-
|
|
1785
|
-
### [](#page)`page`
|
|
1786
|
-
|
|
1787
|
-
The `page` loading pattern is used to indicate that a page is loading. It is the most common loading pattern, allowing the users to see the entire content at once where possible.
|
|
1788
|
-
|
|
1789
|
-
#### [](#behavior-3)Behavior
|
|
1790
|
-
|
|
1791
|
-
1. When `loaded` is false, a skeleton will be displayed after 500ms (configured using `timeout`). This skeleton can be customised using the `template` prop.
|
|
1792
|
-
2. If `critical` is set whilst `loaded` is false, the critical content will be displayed immediately. This is useful for showing critical content while the rest of the page is loading.
|
|
1793
|
-
3. When `loaded` is true, the skeleton will begin fading out. To see the fade out, you will need to use the `IressLoading.shouldRender` hook.
|
|
1794
|
-
|
|
1795
|
-
#### [](#custom-skeletons-1)Custom skeletons
|
|
1796
|
-
|
|
1797
|
-
The skeleton does not need to be a perfect representation of the page. It is recommended to follow the guidelines below when creating custom `template` skeletons:
|
|
1798
|
-
|
|
1799
|
-
* If there are multiple rows, only create a skeleton of the first row. This is enough to give the user an idea of what the content will look like.
|
|
1800
|
-
* If there are multiple filters, only create a few filters in the general area where they will appear.
|
|
1801
|
-
* For cards, keep the skeleton as simple as possible. It does not need to be a perfect representation of the card. In most cases a title, description and image is sufficient.
|
|
1802
|
-
|
|
1803
|
-
For your convenience, we have provided a few templates that you can use in the `template` prop, including: `page`, `form` and `dashboard`.
|
|
1804
|
-
|
|
1805
|
-
#### [](#critical-content)Critical content
|
|
1806
|
-
|
|
1807
|
-
In some cases it may be useful to show critical content while the rest of the page is loading. This gives the user a preview of what to expect. The example below shows a loading page with critical content by using the `critical` prop.
|
|
1808
|
-
|
|
1809
|
-
* * *
|
|
1810
|
-
|
|
1811
|
-
Beta
|
|
1812
|
-
|
|
1813
|
-
**New component**
|
|
1814
|
-
|
|
1815
|
-
This component is new, please provide feedback to the IDS team if you encounter any issues.
|
|
1816
|
-
|
|
1817
|
-
Dashboard
|
|
1818
|
-
=========
|
|
1819
|
-
|
|
1820
|
-
* * *
|
|
1821
|
-
|
|
1822
|
-
Financial update 2025
|
|
1823
|
-
---------------------
|
|
1824
|
-
|
|
1825
|
-
The ASX update
|
|
1826
|
-
--------------
|
|
1827
|
-
|
|
1828
|
-
In the news
|
|
1829
|
-
-----------
|
|
1830
|
-
|
|
1831
|
-
Loading...
|
|
1832
|
-
|
|
1833
|
-
Hide codeRefresh
|
|
1834
|
-
|
|
1835
|
-
\[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; }
|
|
1836
|
-
|
|
1837
|
-
const API \= {
|
|
1838
|
-
criticalContent: async () \=>
|
|
1839
|
-
new Promise<ReactNode\>((resolve) \=> {
|
|
1840
|
-
// Simulate a slow network request.
|
|
1841
|
-
setTimeout(() \=> {
|
|
1842
|
-
resolve(
|
|
1843
|
-
<IressContainer\>
|
|
1844
|
-
<IressStack gap\="lg"\>
|
|
1845
|
-
<IressRow horizontalAlign\="between" verticalAlign\="middle"\>
|
|
1846
|
-
<IressText element\="h1" mb\="none"\>
|
|
1847
|
-
Dashboard </IressText\>
|
|
1848
|
-
<IressInline gap\="lg"\>
|
|
1849
|
-
<IressSkeleton textStyle\="typography.body.lg" width\="200px" />
|
|
1850
|
-
<IressSkeleton textStyle\="typography.body.lg" width\="200px" />
|
|
1851
|
-
</IressInline\>
|
|
1852
|
-
</IressRow\>
|
|
1853
|
-
<IressDivider />
|
|
1854
|
-
<IressRow gutter\="lg"\>
|
|
1855
|
-
<IressCol span\="4"\>
|
|
1856
|
-
<IressCard
|
|
1857
|
-
stretch
|
|
1858
|
-
heading\="Financial update 2025"
|
|
1859
|
-
media\={<IressSkeleton mode\="rect" height\="300px" />}
|
|
1860
|
-
\>
|
|
1861
|
-
<IressSkeleton textStyle\="typography.body.md" width\="50%" />
|
|
1862
|
-
</IressCard\>
|
|
1863
|
-
</IressCol\>
|
|
1864
|
-
<IressCol span\="4"\>
|
|
1865
|
-
<IressCard
|
|
1866
|
-
stretch
|
|
1867
|
-
heading\="The ASX update"
|
|
1868
|
-
media\={<IressSkeleton mode\="rect" height\="300px" />}
|
|
1869
|
-
\>
|
|
1870
|
-
<IressSkeleton textStyle\="typography.body.md" width\="50%" />
|
|
1871
|
-
</IressCard\>
|
|
1872
|
-
</IressCol\>
|
|
1873
|
-
<IressCol span\="4"\>
|
|
1874
|
-
<IressCard
|
|
1875
|
-
stretch
|
|
1876
|
-
heading\="In the news"
|
|
1877
|
-
media\={<IressSkeleton mode\="rect" height\="300px" />}
|
|
1878
|
-
\>
|
|
1879
|
-
<IressSkeleton textStyle\="typography.body.md" width\="50%" />
|
|
1880
|
-
</IressCard\>
|
|
1881
|
-
</IressCol\>
|
|
1882
|
-
</IressRow\>
|
|
1883
|
-
</IressStack\>
|
|
1884
|
-
</IressContainer\>,
|
|
1885
|
-
);
|
|
1886
|
-
}, 3000);
|
|
1887
|
-
}),
|
|
1888
|
-
};
|
|
1889
|
-
export const LoadingDashboard \= () \=> {
|
|
1890
|
-
const \[critical, setCritical\] \= useState<ReactNode | undefined\>();
|
|
1891
|
-
useEffect(() \=> {
|
|
1892
|
-
const initialise \= async () \=> {
|
|
1893
|
-
setCritical(await API.criticalContent());
|
|
1894
|
-
};
|
|
1895
|
-
void initialise();
|
|
1896
|
-
}, \[\]);
|
|
1897
|
-
return (
|
|
1898
|
-
<IressLoading pattern\="page" critical\={critical} template\="dashboard" />
|
|
1899
|
-
);
|
|
1900
|
-
};
|
|
1901
|
-
|
|
1902
|
-
Copy
|
|
1903
|
-
|
|
1904
|
-
#### [](#props)Props
|
|
1905
|
-
|
|
1906
|
-
| Name | Description | Default | Control |
|
|
1907
|
-
| --- | --- | --- | --- |
|
|
1908
|
-
| bg |
|
|
1909
|
-
**`bg`** sets the background color of an element using the `background-color` css property using the color tokens in the design system.
|
|
1910
|
-
|
|
1911
|
-
We recommend using the following token values for best background contrast:
|
|
1912
|
-
|
|
1913
|
-
* `colour.primary.fill` for primary backgrounds that need to stand out
|
|
1914
|
-
* `colour.primary.surface` for primary backgrounds that need to be less prominent
|
|
1915
|
-
* `colour.neutral.10` for the base background color, normally white in light mode or shade of grey in dark mode
|
|
1916
|
-
* `colour.neutral.20` for a slightly darker background color, used in neutral state components
|
|
1917
|
-
* `colour.system.danger.fill` for error backgrounds that need to stand out
|
|
1918
|
-
* `colour.system.danger.surface` for error backgrounds that need to be less prominent
|
|
1919
|
-
* `colour.system.success.fill` for success backgrounds that need to stand out
|
|
1920
|
-
* `colour.system.success.surface` for success backgrounds that need to be less prominent
|
|
1921
|
-
* `colour.system.warning.fill` for warning backgrounds that need to stand out
|
|
1922
|
-
* `colour.system.warning.surface` for warning backgrounds that need to be less prominent
|
|
1923
|
-
* `colour.system.info.fill` for info backgrounds that need to stand out
|
|
1924
|
-
* `colour.system.info.surface` for info backgrounds that need to be less prominent
|
|
1925
|
-
|
|
1926
|
-
ResponsiveProp<ColorToken> | undefined
|
|
1927
|
-
|
|
1928
|
-
| \- | \- |
|
|
1929
|
-
| borderRadius |
|
|
1930
|
-
|
|
1931
|
-
The **`border-radius`** CSS property rounds the corners of an element's outer border edge using the radius tokens in the design system.
|
|
1932
|
-
|
|
1933
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
1934
|
-
| --- | --- | --- | --- | --- |
|
|
1935
|
-
| **4** | **4** | **5** | **12** | **9** |
|
|
1936
|
-
| 1 _\-x-_ | | 3 _\-x-_ | | |
|
|
1937
|
-
|
|
1938
|
-
ResponsiveProp<RadiusToken> | undefined
|
|
1939
|
-
|
|
1940
|
-
| \- | \- |
|
|
1941
|
-
| color |
|
|
1942
|
-
|
|
1943
|
-
The **`color`** CSS property sets the foreground color value of an element's text and text decorations using the colour tokens from the design system. It also sets the `currentcolor` value. `currentcolor` may be used as an indirect value on _other_ properties and is the default for other color properties, such as `border-color`.
|
|
1944
|
-
|
|
1945
|
-
We recommend using the following token values for best color contrast:
|
|
1946
|
-
|
|
1947
|
-
* `colour.primary.onFill` used on top of `colour.primary.fill` for primary text that needs to stand out
|
|
1948
|
-
* `colour.primary.text` used on top of `colour.primary.surface` or `colour.neutral.10` for primary text that needs to be less prominent
|
|
1949
|
-
* `colour.neutral.70` used on top of `colour.neutral.10` or `colour.neutral.20` for muted text
|
|
1950
|
-
* `colour.neutral.80` used on top of `colour.neutral.10` or `colour.neutral.20` for standard text
|
|
1951
|
-
* `colour.system.danger.onFill` used on top of `colour.system.danger.fill` for error text that needs to stand out
|
|
1952
|
-
* `colour.system.danger.text` used on top of `colour.system.danger.surface` for error text that needs to be less prominent
|
|
1953
|
-
* `colour.system.success.onFill` used on top of `colour.system.success.fill` for success text that needs to stand out
|
|
1954
|
-
* `colour.system.success.text` used on top of `colour.system.success.surface` for success text that needs to be less prominent
|
|
1955
|
-
* `colour.system.warning.onFill` used on top of `colour.system.warning.fill` for warning text that needs to stand out
|
|
1956
|
-
* `colour.system.warning.text` used on top of `colour.system.warning.surface` for warning text that needs to be less prominent
|
|
1957
|
-
* `colour.system.info.onFill` used on top of `colour.system.info.fill` for informative text that needs to stand out
|
|
1958
|
-
* `colour.system.info.text` used on top of `colour.system.info.surface` for informative text that needs to be less prominent
|
|
1959
|
-
|
|
1960
|
-
ResponsiveProp<ColorToken> | undefined
|
|
1961
|
-
|
|
1962
|
-
| \- | \- |
|
|
1963
|
-
| critical |
|
|
1964
|
-
|
|
1965
|
-
If provided, will switch the skeleton to this template. Use when you have critical content that can be displayed while loading to allow the user to see some content while the rest is loading.
|
|
1966
|
-
|
|
1967
|
-
ReactNode
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
| \- | \- |
|
|
1972
|
-
| focusable |
|
|
1973
|
-
|
|
1974
|
-
The `focusable` prop is used to apply the focus elevation when focused. It can be set to `true` to apply focus styles on focus, or `'within'` to apply focus styles when the element or any of its children are focused.
|
|
1975
|
-
|
|
1976
|
-
"true""within"undefined
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
| \- | \- |
|
|
1981
|
-
| hide |
|
|
1982
|
-
|
|
1983
|
-
Set **`hide`** to hide an element completely using `display: none`. It can also be set to an object of breakpoints to hide the element at specific breakpoints.
|
|
1984
|
-
|
|
1985
|
-
Hide on all breakpoints: `hide: true` Hide on specific breakpoints: `hide: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
|
|
1986
|
-
|
|
1987
|
-
Notes:
|
|
1988
|
-
|
|
1989
|
-
* If you need to hide an element but allow it to be visible to screen readers, use the `srOnly` prop instead.
|
|
1990
|
-
* Consider if you can conditionally render the element instead of hiding it.
|
|
1991
|
-
|
|
1992
|
-
ResponsiveProp<boolean> | undefined
|
|
1993
|
-
|
|
1994
|
-
| \- | \- |
|
|
1995
|
-
| layerStyle |
|
|
1996
|
-
|
|
1997
|
-
Elevate a layer by using a **`layerStyle`**. These are connected to the elevation tokens in the design system. They can be combined to create hierarchy and structure.
|
|
1998
|
-
|
|
1999
|
-
* `elevation.raised`: Raised elevations sit slightly higher than other content. They are reserved for cards that can be moved, such as Jira issue cards and Trello cards. In special circumstances, they can be used for cards as a way to provide additional heirarchy or emphasis.
|
|
2000
|
-
* `elevation.floating`: Floating is the highest elevation available. It is reserved for a UI that sits over another UI, such as modals, dialogs, dropdown menus, floating toolbars, and floating single-action buttons.
|
|
2001
|
-
* `elevation.overflow`: Overflow is a shadow indicating content has scrolled outside a view. It can be used for vertical or horizontal scroll. An example of overflow shadows is the horizontal scroll in tables on a Confluence page.
|
|
2002
|
-
|
|
2003
|
-
ResponsiveProp<"elevation.raised" | "elevation.floating" | "elevation.overflow" | "elevation.focus" | "elevation.focusCompact"> | undefined
|
|
2004
|
-
|
|
2005
|
-
| \- | \- |
|
|
2006
|
-
| loaded |
|
|
2007
|
-
|
|
2008
|
-
If set to `true`, will start hiding the loading indicator. It is recommended to use this prop if you are using the `IressLoading.shouldRender` hook to achieve a smooth loading experience.
|
|
2009
|
-
|
|
2010
|
-
booleanundefined
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
| \- | \- |
|
|
2015
|
-
| m |
|
|
2016
|
-
|
|
2017
|
-
The **`m`** property is short for `margin`, and sets the margin area on all four sides of an element.
|
|
2018
|
-
|
|
2019
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
2020
|
-
|
|
2021
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2022
|
-
| --- | --- | --- | --- | --- |
|
|
2023
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2024
|
-
|
|
2025
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
2026
|
-
|
|
2027
|
-
| \- | \- |
|
|
2028
|
-
| maxWidth |
|
|
2029
|
-
|
|
2030
|
-
The **`max-width`** CSS property sets the maximum width of an element. It prevents the used value of the `width` property from becoming larger than the value specified by `max-width`.
|
|
2031
|
-
|
|
2032
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2033
|
-
| --- | --- | --- | --- | --- |
|
|
2034
|
-
| **1** | **1** | **1** | **12** | **7** |
|
|
2035
|
-
|
|
2036
|
-
ResponsiveProp<"auto" | SizeToken | "screen" | "1/2" | "1/3" | "2/3" | "1/4" | "2/4" | "3/4" | "1/5" | "2/5" | "3/5" | "4/5" | "1/6" | "2/6" | "3/6" | "4/6" | "5/6" | "1/12" | "2/12" | ... 8 more ... | "11/12"> | undefined
|
|
2037
|
-
|
|
2038
|
-
| \- | \- |
|
|
2039
|
-
| mb |
|
|
2040
|
-
|
|
2041
|
-
The **`mb`** property is short for `margin-bottom` and sets the margin area on the bottom side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
2042
|
-
|
|
2043
|
-
It uses the spacing tokens in the design system.
|
|
2044
|
-
|
|
2045
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2046
|
-
| --- | --- | --- | --- | --- |
|
|
2047
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2048
|
-
|
|
2049
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
2050
|
-
|
|
2051
|
-
| \- | \- |
|
|
2052
|
-
| ml |
|
|
2053
|
-
|
|
2054
|
-
The **`ml`** property is short for `margin-left` and sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
2055
|
-
|
|
2056
|
-
It uses the spacing tokens in the design system.
|
|
2057
|
-
|
|
2058
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2059
|
-
| --- | --- | --- | --- | --- |
|
|
2060
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2061
|
-
|
|
2062
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
2063
|
-
|
|
2064
|
-
| \- | \- |
|
|
2065
|
-
| mr |
|
|
2066
|
-
|
|
2067
|
-
The **`mr`** property is short for `margin-right` and sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
2068
|
-
|
|
2069
|
-
It uses the spacing tokens in the design system.
|
|
2070
|
-
|
|
2071
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2072
|
-
| --- | --- | --- | --- | --- |
|
|
2073
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2074
|
-
|
|
2075
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
2076
|
-
|
|
2077
|
-
| \- | \- |
|
|
2078
|
-
| mt |
|
|
2079
|
-
|
|
2080
|
-
The **`mt`** property is short for `margin-top` and sets the margin area on the top side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
2081
|
-
|
|
2082
|
-
It uses the spacing tokens in the design system.
|
|
2083
|
-
|
|
2084
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2085
|
-
| --- | --- | --- | --- | --- |
|
|
2086
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2087
|
-
|
|
2088
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
2089
|
-
|
|
2090
|
-
| \- | \- |
|
|
2091
|
-
| mx |
|
|
2092
|
-
|
|
2093
|
-
The **`mx`** property is short for `margin-inline`. It is a shorthand property that defines both the logical inline start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.
|
|
2094
|
-
|
|
2095
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
2096
|
-
|
|
2097
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2098
|
-
| --- | --- | --- | --- | --- |
|
|
2099
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2100
|
-
|
|
2101
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
2102
|
-
|
|
2103
|
-
| \- | \- |
|
|
2104
|
-
| my |
|
|
2105
|
-
|
|
2106
|
-
The **`my`** property is short for `margin-block`. It defines the logical block start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.
|
|
2107
|
-
|
|
2108
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
2109
|
-
|
|
2110
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2111
|
-
| --- | --- | --- | --- | --- |
|
|
2112
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2113
|
-
|
|
2114
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
2115
|
-
|
|
2116
|
-
| \- | \- |
|
|
2117
|
-
| noGutter |
|
|
2118
|
-
|
|
2119
|
-
The **`noGutter`** property is used to remove the bottom margin from the last child of a component. This is useful when you want to avoid extra spacing at the end of a layout.
|
|
2120
|
-
|
|
2121
|
-
booleanundefined
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
| \- | \- |
|
|
2126
|
-
| p |
|
|
2127
|
-
|
|
2128
|
-
The **`p`** property is short for `padding`, and sets the padding area on all four sides of an element at once.
|
|
2129
|
-
|
|
2130
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
2131
|
-
|
|
2132
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2133
|
-
| --- | --- | --- | --- | --- |
|
|
2134
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2135
|
-
|
|
2136
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
2137
|
-
|
|
2138
|
-
| \- | \- |
|
|
2139
|
-
| pattern |
|
|
2140
|
-
|
|
2141
|
-
Use `pattern="page"` for the following use cases:
|
|
2142
|
-
|
|
2143
|
-
* Detail page for a record
|
|
2144
|
-
* Form page
|
|
2145
|
-
* Article page
|
|
2146
|
-
|
|
2147
|
-
"page"undefined
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
| \- | \- |
|
|
2152
|
-
| pb |
|
|
2153
|
-
|
|
2154
|
-
The **`pb`** property is short for `padding-bottom` and sets the padding area on the bottom side of an element.
|
|
2155
|
-
|
|
2156
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
2157
|
-
|
|
2158
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2159
|
-
| --- | --- | --- | --- | --- |
|
|
2160
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2161
|
-
|
|
2162
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
2163
|
-
|
|
2164
|
-
| \- | \- |
|
|
2165
|
-
| pl |
|
|
2166
|
-
|
|
2167
|
-
The **`pl`** property is short for `padding-left` and sets the padding area on the left side of an element.
|
|
2168
|
-
|
|
2169
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
2170
|
-
|
|
2171
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2172
|
-
| --- | --- | --- | --- | --- |
|
|
2173
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2174
|
-
|
|
2175
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
2176
|
-
|
|
2177
|
-
| \- | \- |
|
|
2178
|
-
| pr |
|
|
2179
|
-
|
|
2180
|
-
The **`pr`** property is short for `padding-right` and sets the padding area on the right side of an element.
|
|
2181
|
-
|
|
2182
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
2183
|
-
|
|
2184
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2185
|
-
| --- | --- | --- | --- | --- |
|
|
2186
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2187
|
-
|
|
2188
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
2189
|
-
|
|
2190
|
-
| \- | \- |
|
|
2191
|
-
| pt |
|
|
2192
|
-
|
|
2193
|
-
The **`pt`** property is short for `padding-top` and sets the padding area on the top side of an element.
|
|
2194
|
-
|
|
2195
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
2196
|
-
|
|
2197
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2198
|
-
| --- | --- | --- | --- | --- |
|
|
2199
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2200
|
-
|
|
2201
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
2202
|
-
|
|
2203
|
-
| \- | \- |
|
|
2204
|
-
| px |
|
|
2205
|
-
|
|
2206
|
-
The **`px`** property is short for `padding-inline`. It is a shorthand property that defines both the logical inline start and end paddings of an element, which maps to physical paddings depending on the element's writing mode, directionality, and text orientation.
|
|
2207
|
-
|
|
2208
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
2209
|
-
|
|
2210
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2211
|
-
| --- | --- | --- | --- | --- |
|
|
2212
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2213
|
-
|
|
2214
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
2215
|
-
|
|
2216
|
-
| \- | \- |
|
|
2217
|
-
| py |
|
|
2218
|
-
|
|
2219
|
-
The **`py`** property is short for `padding-block`. It defines the logical block start and end paddings of an element, which maps to physical paddings depending on the element's writing mode, directionality, and text orientation.
|
|
2220
|
-
|
|
2221
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
2222
|
-
|
|
2223
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2224
|
-
| --- | --- | --- | --- | --- |
|
|
2225
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2226
|
-
|
|
2227
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
2228
|
-
|
|
2229
|
-
| \- | \- |
|
|
2230
|
-
| rowGap |
|
|
2231
|
-
|
|
2232
|
-
The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's rows.
|
|
2233
|
-
|
|
2234
|
-
Note: It only has an effect when used as a direct child of a layout component, such as IressRow, IressStack or IressInline.
|
|
2235
|
-
|
|
2236
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2237
|
-
| --- | --- | --- | --- | --- |
|
|
2238
|
-
| **47** | **52** | **10.1** | **16** | No |
|
|
2239
|
-
|
|
2240
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
2241
|
-
|
|
2242
|
-
| \- | \- |
|
|
2243
|
-
| screenReaderText |
|
|
2244
|
-
|
|
2245
|
-
Only screen readers will see this message.
|
|
2246
|
-
|
|
2247
|
-
ReactNode
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
|
2252
|
-
|
|
2253
|
-
Loading...
|
|
2254
|
-
|
|
2255
|
-
| \- |
|
|
2256
|
-
| srOnly |
|
|
2257
|
-
|
|
2258
|
-
Set **`srOnly`** to hide an element visually but still make it accessible to screen readers. It can also be set to an object of breakpoints to hide the element at specific breakpoints.
|
|
2259
|
-
|
|
2260
|
-
Hide on all breakpoints: `srOnly: true` Hide on specific breakpoints: `srOnly: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
|
|
2261
|
-
|
|
2262
|
-
ResponsiveProp<boolean> | undefined
|
|
2263
|
-
|
|
2264
|
-
| \- | \- |
|
|
2265
|
-
| stretch |
|
|
2266
|
-
|
|
2267
|
-
The **`stretch`** property is used to stretch an element to fill the available space in its parent container. It sets the `height` property to `100%` and `alignSelf` to `stretch`, allowing the element to expand and contract based on the size of its parent.
|
|
2268
|
-
|
|
2269
|
-
booleanundefined
|
|
2270
|
-
|
|
2271
|
-
|
|
2272
|
-
|
|
2273
|
-
| \- | \- |
|
|
2274
|
-
| template |
|
|
2275
|
-
|
|
2276
|
-
Which template to use as the skeleton, or you can use a ReactNode to customise the skeleton completely.
|
|
2277
|
-
|
|
2278
|
-
"form" | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | "page" | "dashboard" | undefined
|
|
2279
|
-
|
|
2280
|
-
|
|
|
2281
|
-
|
|
2282
|
-
page
|
|
2283
|
-
|
|
2284
|
-
| \- |
|
|
2285
|
-
| textAlign |
|
|
2286
|
-
|
|
2287
|
-
The **`text-align`** CSS property sets the horizontal alignment of the inline-level content inside a block element or table-cell box.
|
|
2288
|
-
|
|
2289
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2290
|
-
| --- | --- | --- | --- | --- |
|
|
2291
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2292
|
-
|
|
2293
|
-
ResponsiveProp<"center" | "left" | "right" | "inherit" | "justify"> | undefined
|
|
2294
|
-
|
|
2295
|
-
| \- | \- |
|
|
2296
|
-
| textStyle |
|
|
2297
|
-
|
|
2298
|
-
Select the typography to be used using the **`textStyle`** prop. These are connected to the typography tokens in the design system.'
|
|
2299
|
-
|
|
2300
|
-
* `typography.body.sm` - Use for small components such as badges and disclaimers, as well as compact variations of tables and lists.
|
|
2301
|
-
* `typography.body.md` - The most commonly used body text size, used for most text content in the product and the default state of all components in the design system.
|
|
2302
|
-
* `typography.body.lg` - Use for tag lines, subtitles, and other large text content in the product.
|
|
2303
|
-
* `typography.heading.1` - Use for the main page title to establish a clear hierarchy. There is typically only one H1 per screen, emphasising the primary purpose or context of the page.
|
|
2304
|
-
* `typography.heading.2` - Use for primary section headings within a page to organise content and guide the user through key areas. Also suitable for large components—such as modals—where space allows and where it pairs well with body.md or body.lg.
|
|
2305
|
-
* `typography.heading.3` - Use for sub-sections under H2s to further structure content and maintain a clear visual hierarchy. Ideal for breaking down complex sections into manageable parts.
|
|
2306
|
-
* `typography.heading.4` - Use for supporting headings within content blocks or small components where space is limited—such as table headers, cards, or side panels. Provides structure without overwhelming the layout.
|
|
2307
|
-
* `typography.heading.5` - Use for minor labels or titles in compact UI elements, such as cards, sidebars, or inline labels. Best used to emphasise supplementary information without drawing too much attention. Works well with body.sm and is ideal for subtle content like fine print. Use sparingly to preserve typographic hierarchy.
|
|
2308
|
-
* `typography.code` - Used to display code snippets in the product, such as in the API documentation.
|
|
2309
|
-
|
|
2310
|
-
ResponsiveProp<"typography.heading.1" | "typography.heading.2" | "typography.heading.3" | "typography.heading.4" | "typography.heading.5" | "typography.body.sm" | "typography.body.sm.regular" | ... 10 more ... | "typography.code"> | undefined
|
|
2311
|
-
|
|
2312
|
-
| \- | \- |
|
|
2313
|
-
| timeout |
|
|
2314
|
-
|
|
2315
|
-
Delay in milliseconds before the skeleton is displayed.
|
|
2316
|
-
|
|
2317
|
-
numberundefined
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
|
2322
|
-
|
|
2323
|
-
500
|
|
2324
|
-
|
|
2325
|
-
| \- |
|
|
2326
|
-
| width |
|
|
2327
|
-
|
|
2328
|
-
The **`width`** CSS property sets an element's width. By default, it sets the width of the content area, but if `box-sizing` is set to `border-box`, it sets the width of the border area.
|
|
2329
|
-
|
|
2330
|
-
This prop only allows widths available throughout the component library. To use a custom width, you need to use the `style` prop, or add a custom class to the element and use CSS.
|
|
2331
|
-
|
|
2332
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2333
|
-
| --- | --- | --- | --- | --- |
|
|
2334
|
-
| **1** | **1** | **1** | **12** | **4** |
|
|
2335
|
-
|
|
2336
|
-
ResponsiveProp<"auto" | SizeToken | "screen" | "1/2" | "1/3" | "2/3" | "1/4" | "2/4" | "3/4" | "1/5" | "2/5" | "3/5" | "4/5" | "1/6" | "2/6" | "3/6" | "4/6" | "5/6" | "1/12" | "2/12" | ... 8 more ... | "11/12"> | undefined
|
|
2337
|
-
|
|
2338
|
-
| \- | \- |
|
|
2339
|
-
|
|
2340
|
-
### [](#start-up)`start-up`
|
|
2341
|
-
|
|
2342
|
-
The `start-up` loading pattern is used to indicate that the application is loading. It is typically used when the application is first launched. This pattern is used when the application is first launched or when switching from a different application to a new application. It is also used when switching from a client's website to an Iress application or switching themes.
|
|
2343
|
-
|
|
2344
|
-
#### [](#behavior-4)Behavior
|
|
2345
|
-
|
|
2346
|
-
1. When `loaded` is false, a progress bar will be displayed after 500ms (configured using `timeout.progress`). This progress bar can be customised using the `renderProgress` prop.
|
|
2347
|
-
2. When `loaded` is false after 2.5 seconds (configured using `timeout.message`), the message will be displayed. This message can be customised using the `children` or `messageList` prop.
|
|
2348
|
-
3. If using `messageList`, the messages will rotate until the `loaded` prop is set to true.
|
|
2349
|
-
4. When `loaded` is true, the progress bar and message will begin fading out. To see the fade out, you will need to use the `IressLoading.shouldRender` hook.
|
|
2350
|
-
|
|
2351
|
-
#### [](#adjusting-the-progress-bar-1)Adjusting the progress bar
|
|
2352
|
-
|
|
2353
|
-
The `start-up` loading pattern uses a progress bar to indicate that the application is loading alongside an `estimatedFinishTime` prop. This prop is used to indicate the estimated time until the application is fully loaded, and is used to help the user understand how long they will need to wait and assure them something is happening. The progress bar will animate based on the estimated time.
|
|
2354
|
-
|
|
2355
|
-
If your application is capable of calculating real progress, you can pass the `progress` prop to the `IressLoading` component and that value will be used instead.
|
|
2356
|
-
|
|
2357
|
-
Once the `loaded` prop is set to true, the progress bar will always be set to 100% and the loading pattern will fade out.
|
|
2358
|
-
|
|
2359
|
-
#### [](#rotating-messages)Rotating messages
|
|
2360
|
-
|
|
2361
|
-
The start-up process is often used initialise the application and load any necessary data. This can include loading user preferences, settings, and any other data that is required to make using the application quicker and easier, however this may add burden to the loading time.
|
|
2362
|
-
|
|
2363
|
-
To compensate for this, you can pass multiple messages to the pattern using the `messageList` prop. The `messageList` accepts an object map where the key is the time you want the message to start displaying (in milliseconsds) and the value is the message to display. The messages will rotate until the `loaded` prop is set to true.
|
|
2364
|
-
|
|
2365
|
-
* * *
|
|
2366
|
-
|
|
2367
|
-
Beta
|
|
2368
|
-
|
|
2369
|
-
**New component**
|
|
2370
|
-
|
|
2371
|
-
This component is new, please provide feedback to the IDS team if you encounter any issues.
|
|
2372
|
-
|
|
2373
|
-
Hide codeRefresh
|
|
2374
|
-
|
|
2375
|
-
\[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; }
|
|
2376
|
-
|
|
2377
|
-
<IressLoading
|
|
2378
|
-
messageList\={{
|
|
2379
|
-
'0': <IressText color\="colour.neutral.70"\>Switching applications...</IressText\>,
|
|
2380
|
-
'4500': <IressText color\="colour.neutral.70"\>This is taking longer than expected...</IressText\>
|
|
2381
|
-
}}
|
|
2382
|
-
pattern\="start-up"
|
|
2383
|
-
/>
|
|
2384
|
-
|
|
2385
|
-
Copy
|
|
2386
|
-
|
|
2387
|
-
#### [](#props)Props
|
|
2388
|
-
|
|
2389
|
-
| Name | Description | Default | Control |
|
|
2390
|
-
| --- | --- | --- | --- |
|
|
2391
|
-
| bg |
|
|
2392
|
-
**`bg`** sets the background color of an element using the `background-color` css property using the color tokens in the design system.
|
|
2393
|
-
|
|
2394
|
-
We recommend using the following token values for best background contrast:
|
|
2395
|
-
|
|
2396
|
-
* `colour.primary.fill` for primary backgrounds that need to stand out
|
|
2397
|
-
* `colour.primary.surface` for primary backgrounds that need to be less prominent
|
|
2398
|
-
* `colour.neutral.10` for the base background color, normally white in light mode or shade of grey in dark mode
|
|
2399
|
-
* `colour.neutral.20` for a slightly darker background color, used in neutral state components
|
|
2400
|
-
* `colour.system.danger.fill` for error backgrounds that need to stand out
|
|
2401
|
-
* `colour.system.danger.surface` for error backgrounds that need to be less prominent
|
|
2402
|
-
* `colour.system.success.fill` for success backgrounds that need to stand out
|
|
2403
|
-
* `colour.system.success.surface` for success backgrounds that need to be less prominent
|
|
2404
|
-
* `colour.system.warning.fill` for warning backgrounds that need to stand out
|
|
2405
|
-
* `colour.system.warning.surface` for warning backgrounds that need to be less prominent
|
|
2406
|
-
* `colour.system.info.fill` for info backgrounds that need to stand out
|
|
2407
|
-
* `colour.system.info.surface` for info backgrounds that need to be less prominent
|
|
2408
|
-
|
|
2409
|
-
ResponsiveProp<ColorToken> | undefined
|
|
2410
|
-
|
|
2411
|
-
| \- | Set object |
|
|
2412
|
-
| borderRadius |
|
|
2413
|
-
|
|
2414
|
-
The **`border-radius`** CSS property rounds the corners of an element's outer border edge using the radius tokens in the design system.
|
|
2415
|
-
|
|
2416
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2417
|
-
| --- | --- | --- | --- | --- |
|
|
2418
|
-
| **4** | **4** | **5** | **12** | **9** |
|
|
2419
|
-
| 1 _\-x-_ | | 3 _\-x-_ | | |
|
|
2420
|
-
|
|
2421
|
-
ResponsiveProp<RadiusToken> | undefined
|
|
2422
|
-
|
|
2423
|
-
| \- | Set object |
|
|
2424
|
-
| children |
|
|
2425
|
-
|
|
2426
|
-
Message to display when the loading time is longer than expected.
|
|
2427
|
-
|
|
2428
|
-
ReactNode
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
|
2433
|
-
|
|
2434
|
-
<IressText />
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
| Set object |
|
|
2439
|
-
| estimatedFinishTime |
|
|
2440
|
-
|
|
2441
|
-
Estimated time in milliseconds for the loading to finish.
|
|
2442
|
-
|
|
2443
|
-
numberundefined
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
|
2448
|
-
|
|
2449
|
-
3000
|
|
2450
|
-
|
|
2451
|
-
| Set object |
|
|
2452
|
-
| focusable |
|
|
2453
|
-
|
|
2454
|
-
The `focusable` prop is used to apply the focus elevation when focused. It can be set to `true` to apply focus styles on focus, or `'within'` to apply focus styles when the element or any of its children are focused.
|
|
2455
|
-
|
|
2456
|
-
"true""within"undefined
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
| \- | Set object |
|
|
2461
|
-
| hide |
|
|
2462
|
-
|
|
2463
|
-
Set **`hide`** to hide an element completely using `display: none`. It can also be set to an object of breakpoints to hide the element at specific breakpoints.
|
|
2464
|
-
|
|
2465
|
-
Hide on all breakpoints: `hide: true` Hide on specific breakpoints: `hide: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
|
|
2466
|
-
|
|
2467
|
-
Notes:
|
|
2468
|
-
|
|
2469
|
-
* If you need to hide an element but allow it to be visible to screen readers, use the `srOnly` prop instead.
|
|
2470
|
-
* Consider if you can conditionally render the element instead of hiding it.
|
|
2471
|
-
|
|
2472
|
-
ResponsiveProp<boolean> | undefined
|
|
2473
|
-
|
|
2474
|
-
| \- | Set object |
|
|
2475
|
-
| layerStyle |
|
|
2476
|
-
|
|
2477
|
-
Elevate a layer by using a **`layerStyle`**. These are connected to the elevation tokens in the design system. They can be combined to create hierarchy and structure.
|
|
2478
|
-
|
|
2479
|
-
* `elevation.raised`: Raised elevations sit slightly higher than other content. They are reserved for cards that can be moved, such as Jira issue cards and Trello cards. In special circumstances, they can be used for cards as a way to provide additional heirarchy or emphasis.
|
|
2480
|
-
* `elevation.floating`: Floating is the highest elevation available. It is reserved for a UI that sits over another UI, such as modals, dialogs, dropdown menus, floating toolbars, and floating single-action buttons.
|
|
2481
|
-
* `elevation.overflow`: Overflow is a shadow indicating content has scrolled outside a view. It can be used for vertical or horizontal scroll. An example of overflow shadows is the horizontal scroll in tables on a Confluence page.
|
|
2482
|
-
|
|
2483
|
-
ResponsiveProp<"elevation.raised" | "elevation.floating" | "elevation.overflow" | "elevation.focus" | "elevation.focusCompact"> | undefined
|
|
2484
|
-
|
|
2485
|
-
| \- | Set object |
|
|
2486
|
-
| loaded |
|
|
2487
|
-
|
|
2488
|
-
If set to `true`, will start hiding the loading indicator. It is recommended to use this prop if you are using the `IressLoading.shouldRender` hook to achieve a smooth loading experience.
|
|
2489
|
-
|
|
2490
|
-
booleanundefined
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
| \- | Set object |
|
|
2495
|
-
| m |
|
|
2496
|
-
|
|
2497
|
-
The **`m`** property is short for `margin`, and sets the margin area on all four sides of an element.
|
|
2498
|
-
|
|
2499
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
2500
|
-
|
|
2501
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2502
|
-
| --- | --- | --- | --- | --- |
|
|
2503
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2504
|
-
|
|
2505
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
2506
|
-
|
|
2507
|
-
| \- | Set object |
|
|
2508
|
-
| maxWidth |
|
|
2509
|
-
|
|
2510
|
-
The **`max-width`** CSS property sets the maximum width of an element. It prevents the used value of the `width` property from becoming larger than the value specified by `max-width`.
|
|
2511
|
-
|
|
2512
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2513
|
-
| --- | --- | --- | --- | --- |
|
|
2514
|
-
| **1** | **1** | **1** | **12** | **7** |
|
|
2515
|
-
|
|
2516
|
-
ResponsiveProp<"auto" | SizeToken | "screen" | "1/2" | "1/3" | "2/3" | "1/4" | "2/4" | "3/4" | "1/5" | "2/5" | "3/5" | "4/5" | "1/6" | "2/6" | "3/6" | "4/6" | "5/6" | "1/12" | "2/12" | ... 8 more ... | "11/12"> | undefined
|
|
2517
|
-
|
|
2518
|
-
| \- | Set object |
|
|
2519
|
-
| mb |
|
|
2520
|
-
|
|
2521
|
-
The **`mb`** property is short for `margin-bottom` and sets the margin area on the bottom side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
2522
|
-
|
|
2523
|
-
It uses the spacing tokens in the design system.
|
|
2524
|
-
|
|
2525
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2526
|
-
| --- | --- | --- | --- | --- |
|
|
2527
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2528
|
-
|
|
2529
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
2530
|
-
|
|
2531
|
-
| \- | Set object |
|
|
2532
|
-
| messageList |
|
|
2533
|
-
|
|
2534
|
-
A message list to display while loading. The key is the time when you want the message to change to this message. If using a message list, the `children` will not be displayed.
|
|
2535
|
-
|
|
2536
|
-
Record<number, ReactNode> | undefined
|
|
2537
|
-
|
|
2538
|
-
| \- |
|
|
2539
|
-
|
|
2540
|
-
RAW
|
|
2541
|
-
|
|
2542
|
-
messageList : {
|
|
2543
|
-
|
|
2544
|
-
0 : {...} 0 keys
|
|
2545
|
-
|
|
2546
|
-
4500 : {...} 0 keys
|
|
2547
|
-
|
|
2548
|
-
}
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
|
2555
|
-
| ml |
|
|
2556
|
-
|
|
2557
|
-
The **`ml`** property is short for `margin-left` and sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
2558
|
-
|
|
2559
|
-
It uses the spacing tokens in the design system.
|
|
2560
|
-
|
|
2561
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2562
|
-
| --- | --- | --- | --- | --- |
|
|
2563
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2564
|
-
|
|
2565
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
2566
|
-
|
|
2567
|
-
| \- | Set object |
|
|
2568
|
-
| mr |
|
|
2569
|
-
|
|
2570
|
-
The **`mr`** property is short for `margin-right` and sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
2571
|
-
|
|
2572
|
-
It uses the spacing tokens in the design system.
|
|
2573
|
-
|
|
2574
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2575
|
-
| --- | --- | --- | --- | --- |
|
|
2576
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2577
|
-
|
|
2578
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
2579
|
-
|
|
2580
|
-
| \- | Set object |
|
|
2581
|
-
| mt |
|
|
2582
|
-
|
|
2583
|
-
The **`mt`** property is short for `margin-top` and sets the margin area on the top side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
2584
|
-
|
|
2585
|
-
It uses the spacing tokens in the design system.
|
|
2586
|
-
|
|
2587
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2588
|
-
| --- | --- | --- | --- | --- |
|
|
2589
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2590
|
-
|
|
2591
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
2592
|
-
|
|
2593
|
-
| \- | Set object |
|
|
2594
|
-
| mx |
|
|
2595
|
-
|
|
2596
|
-
The **`mx`** property is short for `margin-inline`. It is a shorthand property that defines both the logical inline start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.
|
|
2597
|
-
|
|
2598
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
2599
|
-
|
|
2600
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2601
|
-
| --- | --- | --- | --- | --- |
|
|
2602
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2603
|
-
|
|
2604
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
2605
|
-
|
|
2606
|
-
| \- | Set object |
|
|
2607
|
-
| my |
|
|
2608
|
-
|
|
2609
|
-
The **`my`** property is short for `margin-block`. It defines the logical block start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.
|
|
2610
|
-
|
|
2611
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
2612
|
-
|
|
2613
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2614
|
-
| --- | --- | --- | --- | --- |
|
|
2615
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2616
|
-
|
|
2617
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
2618
|
-
|
|
2619
|
-
| \- | Set object |
|
|
2620
|
-
| noGutter |
|
|
2621
|
-
|
|
2622
|
-
The **`noGutter`** property is used to remove the bottom margin from the last child of a component. This is useful when you want to avoid extra spacing at the end of a layout.
|
|
2623
|
-
|
|
2624
|
-
booleanundefined
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
| \- | Set object |
|
|
2629
|
-
| p |
|
|
2630
|
-
|
|
2631
|
-
The **`p`** property is short for `padding`, and sets the padding area on all four sides of an element at once.
|
|
2632
|
-
|
|
2633
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
2634
|
-
|
|
2635
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2636
|
-
| --- | --- | --- | --- | --- |
|
|
2637
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2638
|
-
|
|
2639
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
2640
|
-
|
|
2641
|
-
| \- | Set object |
|
|
2642
|
-
| pattern |
|
|
2643
|
-
|
|
2644
|
-
Use `pattern="start-up"` for the following use cases:
|
|
2645
|
-
|
|
2646
|
-
* Loading an application for the first time
|
|
2647
|
-
* Switching from a different application to a new application
|
|
2648
|
-
* Switching from a client's website to an Iress application
|
|
2649
|
-
* Switching themes
|
|
2650
|
-
|
|
2651
|
-
"start-up"undefined
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
| \- |
|
|
2656
|
-
|
|
2657
|
-
"start-up"
|
|
2658
|
-
|
|
2659
|
-
|
|
|
2660
|
-
| pb |
|
|
2661
|
-
|
|
2662
|
-
The **`pb`** property is short for `padding-bottom` and sets the padding area on the bottom side of an element.
|
|
2663
|
-
|
|
2664
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
2665
|
-
|
|
2666
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2667
|
-
| --- | --- | --- | --- | --- |
|
|
2668
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2669
|
-
|
|
2670
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
2671
|
-
|
|
2672
|
-
| \- | Set object |
|
|
2673
|
-
| pl |
|
|
2674
|
-
|
|
2675
|
-
The **`pl`** property is short for `padding-left` and sets the padding area on the left side of an element.
|
|
2676
|
-
|
|
2677
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
2678
|
-
|
|
2679
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2680
|
-
| --- | --- | --- | --- | --- |
|
|
2681
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2682
|
-
|
|
2683
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
2684
|
-
|
|
2685
|
-
| \- | Set object |
|
|
2686
|
-
| pr |
|
|
2687
|
-
|
|
2688
|
-
The **`pr`** property is short for `padding-right` and sets the padding area on the right side of an element.
|
|
2689
|
-
|
|
2690
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
2691
|
-
|
|
2692
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2693
|
-
| --- | --- | --- | --- | --- |
|
|
2694
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2695
|
-
|
|
2696
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
2697
|
-
|
|
2698
|
-
| \- | Set object |
|
|
2699
|
-
| progress |
|
|
2700
|
-
|
|
2701
|
-
If provided, will use this to set the `value` of the progress bar. If not provided, will use the `estimatedFinishTime` to calculate the progress.
|
|
2702
|
-
|
|
2703
|
-
numberundefined
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
| \- | Set object |
|
|
2708
|
-
| pt |
|
|
2709
|
-
|
|
2710
|
-
The **`pt`** property is short for `padding-top` and sets the padding area on the top side of an element.
|
|
2711
|
-
|
|
2712
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
2713
|
-
|
|
2714
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2715
|
-
| --- | --- | --- | --- | --- |
|
|
2716
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2717
|
-
|
|
2718
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
2719
|
-
|
|
2720
|
-
| \- | Set object |
|
|
2721
|
-
| px |
|
|
2722
|
-
|
|
2723
|
-
The **`px`** property is short for `padding-inline`. It is a shorthand property that defines both the logical inline start and end paddings of an element, which maps to physical paddings depending on the element's writing mode, directionality, and text orientation.
|
|
2724
|
-
|
|
2725
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
2726
|
-
|
|
2727
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2728
|
-
| --- | --- | --- | --- | --- |
|
|
2729
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2730
|
-
|
|
2731
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
2732
|
-
|
|
2733
|
-
| \- | Set object |
|
|
2734
|
-
| py |
|
|
2735
|
-
|
|
2736
|
-
The **`py`** property is short for `padding-block`. It defines the logical block start and end paddings of an element, which maps to physical paddings depending on the element's writing mode, directionality, and text orientation.
|
|
2737
|
-
|
|
2738
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
2739
|
-
|
|
2740
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2741
|
-
| --- | --- | --- | --- | --- |
|
|
2742
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2743
|
-
|
|
2744
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
2745
|
-
|
|
2746
|
-
| \- | Set object |
|
|
2747
|
-
| renderProgress |
|
|
2748
|
-
|
|
2749
|
-
This is a render prop that allows you to override the default progress rendering. This is useful if you want to use a different progress component or if you want to add additional props to the progress bar.
|
|
2750
|
-
|
|
2751
|
-
((props: Pick<IressProgressProps<undefined>, "value" | "max" | "sectionTitle">) => ReactNode) | undefined
|
|
2752
|
-
|
|
2753
|
-
| (props) => <IressProgress {...props} /> | \- |
|
|
2754
|
-
| rowGap |
|
|
2755
|
-
|
|
2756
|
-
The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's rows.
|
|
2757
|
-
|
|
2758
|
-
Note: It only has an effect when used as a direct child of a layout component, such as IressRow, IressStack or IressInline.
|
|
2759
|
-
|
|
2760
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2761
|
-
| --- | --- | --- | --- | --- |
|
|
2762
|
-
| **47** | **52** | **10.1** | **16** | No |
|
|
2763
|
-
|
|
2764
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
2765
|
-
|
|
2766
|
-
| \- | Set object |
|
|
2767
|
-
| screenReaderText |
|
|
2768
|
-
|
|
2769
|
-
Only screen readers will see this message, it is changed to the `children` message after the delay.
|
|
2770
|
-
|
|
2771
|
-
ReactNode
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
|
2776
|
-
|
|
2777
|
-
Loading...
|
|
2778
|
-
|
|
2779
|
-
| Set object |
|
|
2780
|
-
| srOnly |
|
|
2781
|
-
|
|
2782
|
-
Set **`srOnly`** to hide an element visually but still make it accessible to screen readers. It can also be set to an object of breakpoints to hide the element at specific breakpoints.
|
|
2783
|
-
|
|
2784
|
-
Hide on all breakpoints: `srOnly: true` Hide on specific breakpoints: `srOnly: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
|
|
2785
|
-
|
|
2786
|
-
ResponsiveProp<boolean> | undefined
|
|
2787
|
-
|
|
2788
|
-
| \- | Set object |
|
|
2789
|
-
| stretch |
|
|
2790
|
-
|
|
2791
|
-
The **`stretch`** property is used to stretch an element to fill the available space in its parent container. It sets the `height` property to `100%` and `alignSelf` to `stretch`, allowing the element to expand and contract based on the size of its parent.
|
|
2792
|
-
|
|
2793
|
-
booleanundefined
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
| \- | Set object |
|
|
2798
|
-
| textAlign |
|
|
2799
|
-
|
|
2800
|
-
The **`text-align`** CSS property sets the horizontal alignment of the inline-level content inside a block element or table-cell box.
|
|
2801
|
-
|
|
2802
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2803
|
-
| --- | --- | --- | --- | --- |
|
|
2804
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
2805
|
-
|
|
2806
|
-
ResponsiveProp<"center" | "left" | "right" | "inherit" | "justify"> | undefined
|
|
2807
|
-
|
|
2808
|
-
| \- | Set object |
|
|
2809
|
-
| textStyle |
|
|
2810
|
-
|
|
2811
|
-
Select the typography to be used using the **`textStyle`** prop. These are connected to the typography tokens in the design system.'
|
|
2812
|
-
|
|
2813
|
-
* `typography.body.sm` - Use for small components such as badges and disclaimers, as well as compact variations of tables and lists.
|
|
2814
|
-
* `typography.body.md` - The most commonly used body text size, used for most text content in the product and the default state of all components in the design system.
|
|
2815
|
-
* `typography.body.lg` - Use for tag lines, subtitles, and other large text content in the product.
|
|
2816
|
-
* `typography.heading.1` - Use for the main page title to establish a clear hierarchy. There is typically only one H1 per screen, emphasising the primary purpose or context of the page.
|
|
2817
|
-
* `typography.heading.2` - Use for primary section headings within a page to organise content and guide the user through key areas. Also suitable for large components—such as modals—where space allows and where it pairs well with body.md or body.lg.
|
|
2818
|
-
* `typography.heading.3` - Use for sub-sections under H2s to further structure content and maintain a clear visual hierarchy. Ideal for breaking down complex sections into manageable parts.
|
|
2819
|
-
* `typography.heading.4` - Use for supporting headings within content blocks or small components where space is limited—such as table headers, cards, or side panels. Provides structure without overwhelming the layout.
|
|
2820
|
-
* `typography.heading.5` - Use for minor labels or titles in compact UI elements, such as cards, sidebars, or inline labels. Best used to emphasise supplementary information without drawing too much attention. Works well with body.sm and is ideal for subtle content like fine print. Use sparingly to preserve typographic hierarchy.
|
|
2821
|
-
* `typography.code` - Used to display code snippets in the product, such as in the API documentation.
|
|
2822
|
-
|
|
2823
|
-
ResponsiveProp<"typography.heading.1" | "typography.heading.2" | "typography.heading.3" | "typography.heading.4" | "typography.heading.5" | "typography.body.sm" | "typography.body.sm.regular" | ... 10 more ... | "typography.code"> | undefined
|
|
2824
|
-
|
|
2825
|
-
| \- | Set object |
|
|
2826
|
-
| timeout |
|
|
2827
|
-
|
|
2828
|
-
Set the timeouts for showing the progress bar and message.
|
|
2829
|
-
|
|
2830
|
-
{ loaded?: number | undefined; message?: number | undefined; progress?: number | undefined; } | undefined
|
|
2831
|
-
|
|
2832
|
-
| \- | Set object |
|
|
2833
|
-
| width |
|
|
2834
|
-
|
|
2835
|
-
The **`width`** CSS property sets an element's width. By default, it sets the width of the content area, but if `box-sizing` is set to `border-box`, it sets the width of the border area.
|
|
2836
|
-
|
|
2837
|
-
This prop only allows widths available throughout the component library. To use a custom width, you need to use the `style` prop, or add a custom class to the element and use CSS.
|
|
2838
|
-
|
|
2839
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2840
|
-
| --- | --- | --- | --- | --- |
|
|
2841
|
-
| **1** | **1** | **1** | **12** | **4** |
|
|
2842
|
-
|
|
2843
|
-
ResponsiveProp<"auto" | SizeToken | "screen" | "1/2" | "1/3" | "2/3" | "1/4" | "2/4" | "3/4" | "1/5" | "2/5" | "3/5" | "4/5" | "1/6" | "2/6" | "3/6" | "4/6" | "5/6" | "1/12" | "2/12" | ... 8 more ... | "11/12"> | undefined
|
|
2844
|
-
|
|
2845
|
-
| \- | Set object |
|
|
2846
|
-
|
|
2847
|
-
### [](#validate)`validate`
|
|
2848
|
-
|
|
2849
|
-
The `validate` loading pattern is used to indicate that a server-side validation is in progress. It is typically used when the user is submitting a form or performing an action that requires validation and the user is not expected to leave the page.
|
|
2850
|
-
|
|
2851
|
-
#### [](#behavior-5)Behavior
|
|
2852
|
-
|
|
2853
|
-
1. When `loading` is false, the button will be displayed immediately (customised using the `renderButton` prop, or the `children` prop if you do not mind passing in the `loading` prop twice).
|
|
2854
|
-
2. When `loading` is true, the button will be disabled and a spinner will be displayed.
|
|
2855
|
-
3. When `loading` is true after 2.5 seconds (configured using `timeout`), the message will be displayed. This message can be customised using the `message` prop. Its placement can be adjusted using the `position` prop.
|
|
2856
|
-
|
|
2857
|
-
#### [](#message-position)Message position
|
|
2858
|
-
|
|
2859
|
-
Forms come in all shapes and sizes, and the `IressLoading` component is designed to be flexible enough to work with any form. The `position` prop allows you to adjust the placement of the loading message. The available options are:
|
|
2860
|
-
|
|
2861
|
-
* `top`: The message will be displayed above the button. It is absolute positioned to the top of the button, and will not disrupt the layout of the form.
|
|
2862
|
-
* `bottom` (default): The message will be displayed below the button. It is absolute positioned to the bottom of the button, and will not disrupt the layout of the form.
|
|
2863
|
-
* `right`: The message will be displayed on the right of the button. It is inline, and will push any content to the right of the button down.
|
|
2864
|
-
|
|
2865
|
-
* * *
|
|
2866
|
-
|
|
2867
|
-
Beta
|
|
2868
|
-
|
|
2869
|
-
**New component**
|
|
2870
|
-
|
|
2871
|
-
This component is new, please provide feedback to the IDS team if you encounter any issues.
|
|
2872
|
-
|
|
2873
|
-
Submit
|
|
2874
|
-
|
|
2875
|
-
This is taking longer than expected...
|
|
2876
|
-
|
|
2877
|
-
Cancel
|
|
2878
|
-
|
|
2879
|
-
Hide codeRefresh
|
|
2880
|
-
|
|
2881
|
-
\[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; }
|
|
2882
|
-
|
|
2883
|
-
<IressInline gap\="sm"\>
|
|
2884
|
-
<IressLoading
|
|
2885
|
-
loading
|
|
2886
|
-
pattern\="validate"
|
|
2887
|
-
/>
|
|
2888
|
-
<IressButton mode\="tertiary"\>
|
|
2889
|
-
Cancel </IressButton\>
|
|
2890
|
-
</IressInline\>
|
|
2891
|
-
|
|
2892
|
-
Copy
|
|
2893
|
-
|
|
2894
|
-
#### [](#props)Props
|
|
2895
|
-
|
|
2896
|
-
| Name | Description | Default | Control |
|
|
2897
|
-
| --- | --- | --- | --- |
|
|
2898
|
-
| bg |
|
|
2899
|
-
**`bg`** sets the background color of an element using the `background-color` css property using the color tokens in the design system.
|
|
2900
|
-
|
|
2901
|
-
We recommend using the following token values for best background contrast:
|
|
2902
|
-
|
|
2903
|
-
* `colour.primary.fill` for primary backgrounds that need to stand out
|
|
2904
|
-
* `colour.primary.surface` for primary backgrounds that need to be less prominent
|
|
2905
|
-
* `colour.neutral.10` for the base background color, normally white in light mode or shade of grey in dark mode
|
|
2906
|
-
* `colour.neutral.20` for a slightly darker background color, used in neutral state components
|
|
2907
|
-
* `colour.system.danger.fill` for error backgrounds that need to stand out
|
|
2908
|
-
* `colour.system.danger.surface` for error backgrounds that need to be less prominent
|
|
2909
|
-
* `colour.system.success.fill` for success backgrounds that need to stand out
|
|
2910
|
-
* `colour.system.success.surface` for success backgrounds that need to be less prominent
|
|
2911
|
-
* `colour.system.warning.fill` for warning backgrounds that need to stand out
|
|
2912
|
-
* `colour.system.warning.surface` for warning backgrounds that need to be less prominent
|
|
2913
|
-
* `colour.system.info.fill` for info backgrounds that need to stand out
|
|
2914
|
-
* `colour.system.info.surface` for info backgrounds that need to be less prominent
|
|
2915
|
-
|
|
2916
|
-
ResponsiveProp<ColorToken> | undefined
|
|
2917
|
-
|
|
2918
|
-
| \- | Set object |
|
|
2919
|
-
| borderRadius |
|
|
2920
|
-
|
|
2921
|
-
The **`border-radius`** CSS property rounds the corners of an element's outer border edge using the radius tokens in the design system.
|
|
2922
|
-
|
|
2923
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
2924
|
-
| --- | --- | --- | --- | --- |
|
|
2925
|
-
| **4** | **4** | **5** | **12** | **9** |
|
|
2926
|
-
| 1 _\-x-_ | | 3 _\-x-_ | | |
|
|
2927
|
-
|
|
2928
|
-
ResponsiveProp<RadiusToken> | undefined
|
|
2929
|
-
|
|
2930
|
-
| \- | Set object |
|
|
2931
|
-
| color |
|
|
2932
|
-
|
|
2933
|
-
The **`color`** CSS property sets the foreground color value of an element's text and text decorations using the colour tokens from the design system. It also sets the `currentcolor` value. `currentcolor` may be used as an indirect value on _other_ properties and is the default for other color properties, such as `border-color`.
|
|
2934
|
-
|
|
2935
|
-
We recommend using the following token values for best color contrast:
|
|
2936
|
-
|
|
2937
|
-
* `colour.primary.onFill` used on top of `colour.primary.fill` for primary text that needs to stand out
|
|
2938
|
-
* `colour.primary.text` used on top of `colour.primary.surface` or `colour.neutral.10` for primary text that needs to be less prominent
|
|
2939
|
-
* `colour.neutral.70` used on top of `colour.neutral.10` or `colour.neutral.20` for muted text
|
|
2940
|
-
* `colour.neutral.80` used on top of `colour.neutral.10` or `colour.neutral.20` for standard text
|
|
2941
|
-
* `colour.system.danger.onFill` used on top of `colour.system.danger.fill` for error text that needs to stand out
|
|
2942
|
-
* `colour.system.danger.text` used on top of `colour.system.danger.surface` for error text that needs to be less prominent
|
|
2943
|
-
* `colour.system.success.onFill` used on top of `colour.system.success.fill` for success text that needs to stand out
|
|
2944
|
-
* `colour.system.success.text` used on top of `colour.system.success.surface` for success text that needs to be less prominent
|
|
2945
|
-
* `colour.system.warning.onFill` used on top of `colour.system.warning.fill` for warning text that needs to stand out
|
|
2946
|
-
* `colour.system.warning.text` used on top of `colour.system.warning.surface` for warning text that needs to be less prominent
|
|
2947
|
-
* `colour.system.info.onFill` used on top of `colour.system.info.fill` for informative text that needs to stand out
|
|
2948
|
-
* `colour.system.info.text` used on top of `colour.system.info.surface` for informative text that needs to be less prominent
|
|
2949
|
-
|
|
2950
|
-
ResponsiveProp<ColorToken> | undefined
|
|
2951
|
-
|
|
2952
|
-
| \- | Set object |
|
|
2953
|
-
| focusable |
|
|
2954
|
-
|
|
2955
|
-
The `focusable` prop is used to apply the focus elevation when focused. It can be set to `true` to apply focus styles on focus, or `'within'` to apply focus styles when the element or any of its children are focused.
|
|
2956
|
-
|
|
2957
|
-
"true""within"undefined
|
|
2958
|
-
|
|
2959
|
-
|
|
2960
|
-
|
|
2961
|
-
| \- | Set object |
|
|
2962
|
-
| hide |
|
|
2963
|
-
|
|
2964
|
-
Set **`hide`** to hide an element completely using `display: none`. It can also be set to an object of breakpoints to hide the element at specific breakpoints.
|
|
2965
|
-
|
|
2966
|
-
Hide on all breakpoints: `hide: true` Hide on specific breakpoints: `hide: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
|
|
2967
|
-
|
|
2968
|
-
Notes:
|
|
2969
|
-
|
|
2970
|
-
* If you need to hide an element but allow it to be visible to screen readers, use the `srOnly` prop instead.
|
|
2971
|
-
* Consider if you can conditionally render the element instead of hiding it.
|
|
2972
|
-
|
|
2973
|
-
ResponsiveProp<boolean> | undefined
|
|
2974
|
-
|
|
2975
|
-
| \- | Set object |
|
|
2976
|
-
| layerStyle |
|
|
2977
|
-
|
|
2978
|
-
Elevate a layer by using a **`layerStyle`**. These are connected to the elevation tokens in the design system. They can be combined to create hierarchy and structure.
|
|
2979
|
-
|
|
2980
|
-
* `elevation.raised`: Raised elevations sit slightly higher than other content. They are reserved for cards that can be moved, such as Jira issue cards and Trello cards. In special circumstances, they can be used for cards as a way to provide additional heirarchy or emphasis.
|
|
2981
|
-
* `elevation.floating`: Floating is the highest elevation available. It is reserved for a UI that sits over another UI, such as modals, dialogs, dropdown menus, floating toolbars, and floating single-action buttons.
|
|
2982
|
-
* `elevation.overflow`: Overflow is a shadow indicating content has scrolled outside a view. It can be used for vertical or horizontal scroll. An example of overflow shadows is the horizontal scroll in tables on a Confluence page.
|
|
2983
|
-
|
|
2984
|
-
ResponsiveProp<"elevation.raised" | "elevation.floating" | "elevation.overflow" | "elevation.focus" | "elevation.focusCompact"> | undefined
|
|
2985
|
-
|
|
2986
|
-
| \- | Set object |
|
|
2987
|
-
| loading |
|
|
2988
|
-
|
|
2989
|
-
When true, button is in loading state. If provided a string, will be used as the loading text for screen readers.
|
|
2990
|
-
|
|
2991
|
-
stringbooleanundefined
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
|
2996
|
-
|
|
2997
|
-
false
|
|
2998
|
-
|
|
2999
|
-
|
|
|
3000
|
-
|
|
3001
|
-
true
|
|
3002
|
-
|
|
3003
|
-
|
|
|
3004
|
-
| m |
|
|
3005
|
-
|
|
3006
|
-
The **`m`** property is short for `margin`, and sets the margin area on all four sides of an element.
|
|
3007
|
-
|
|
3008
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
3009
|
-
|
|
3010
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3011
|
-
| --- | --- | --- | --- | --- |
|
|
3012
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
3013
|
-
|
|
3014
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
3015
|
-
|
|
3016
|
-
| \- | Set object |
|
|
3017
|
-
| maxWidth |
|
|
3018
|
-
|
|
3019
|
-
The **`max-width`** CSS property sets the maximum width of an element. It prevents the used value of the `width` property from becoming larger than the value specified by `max-width`.
|
|
3020
|
-
|
|
3021
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3022
|
-
| --- | --- | --- | --- | --- |
|
|
3023
|
-
| **1** | **1** | **1** | **12** | **7** |
|
|
3024
|
-
|
|
3025
|
-
ResponsiveProp<"auto" | SizeToken | "screen" | "1/2" | "1/3" | "2/3" | "1/4" | "2/4" | "3/4" | "1/5" | "2/5" | "3/5" | "4/5" | "1/6" | "2/6" | "3/6" | "4/6" | "5/6" | "1/12" | "2/12" | ... 8 more ... | "11/12"> | undefined
|
|
3026
|
-
|
|
3027
|
-
| \- | Set object |
|
|
3028
|
-
| mb |
|
|
3029
|
-
|
|
3030
|
-
The **`mb`** property is short for `margin-bottom` and sets the margin area on the bottom side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
3031
|
-
|
|
3032
|
-
It uses the spacing tokens in the design system.
|
|
3033
|
-
|
|
3034
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3035
|
-
| --- | --- | --- | --- | --- |
|
|
3036
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
3037
|
-
|
|
3038
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
3039
|
-
|
|
3040
|
-
| \- | Set object |
|
|
3041
|
-
| message |
|
|
3042
|
-
|
|
3043
|
-
Set the message to be displayed when the button is in the loading state.
|
|
3044
|
-
|
|
3045
|
-
ReactNode
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
|
3050
|
-
|
|
3051
|
-
This is taking longer than expected...
|
|
3052
|
-
|
|
3053
|
-
| Set object |
|
|
3054
|
-
| ml |
|
|
3055
|
-
|
|
3056
|
-
The **`ml`** property is short for `margin-left` and sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
3057
|
-
|
|
3058
|
-
It uses the spacing tokens in the design system.
|
|
3059
|
-
|
|
3060
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3061
|
-
| --- | --- | --- | --- | --- |
|
|
3062
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
3063
|
-
|
|
3064
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
3065
|
-
|
|
3066
|
-
| \- | Set object |
|
|
3067
|
-
| mr |
|
|
3068
|
-
|
|
3069
|
-
The **`mr`** property is short for `margin-right` and sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
3070
|
-
|
|
3071
|
-
It uses the spacing tokens in the design system.
|
|
3072
|
-
|
|
3073
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3074
|
-
| --- | --- | --- | --- | --- |
|
|
3075
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
3076
|
-
|
|
3077
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
3078
|
-
|
|
3079
|
-
| \- | Set object |
|
|
3080
|
-
| mt |
|
|
3081
|
-
|
|
3082
|
-
The **`mt`** property is short for `margin-top` and sets the margin area on the top side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
|
|
3083
|
-
|
|
3084
|
-
It uses the spacing tokens in the design system.
|
|
3085
|
-
|
|
3086
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3087
|
-
| --- | --- | --- | --- | --- |
|
|
3088
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
3089
|
-
|
|
3090
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
3091
|
-
|
|
3092
|
-
| \- | Set object |
|
|
3093
|
-
| mx |
|
|
3094
|
-
|
|
3095
|
-
The **`mx`** property is short for `margin-inline`. It is a shorthand property that defines both the logical inline start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.
|
|
3096
|
-
|
|
3097
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
3098
|
-
|
|
3099
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3100
|
-
| --- | --- | --- | --- | --- |
|
|
3101
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
3102
|
-
|
|
3103
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
3104
|
-
|
|
3105
|
-
| \- | Set object |
|
|
3106
|
-
| my |
|
|
3107
|
-
|
|
3108
|
-
The **`my`** property is short for `margin-block`. It defines the logical block start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.
|
|
3109
|
-
|
|
3110
|
-
It uses the spacing tokens in the design system. You can also use the negative values to overlap elements or ignore padding based on the design requirements.
|
|
3111
|
-
|
|
3112
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3113
|
-
| --- | --- | --- | --- | --- |
|
|
3114
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
3115
|
-
|
|
3116
|
-
ResponsiveProp<SpacingToken | "auto"> | undefined
|
|
3117
|
-
|
|
3118
|
-
| \- | Set object |
|
|
3119
|
-
| noGutter |
|
|
3120
|
-
|
|
3121
|
-
The **`noGutter`** property is used to remove the bottom margin from the last child of a component. This is useful when you want to avoid extra spacing at the end of a layout.
|
|
3122
|
-
|
|
3123
|
-
booleanundefined
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
| \- | Set object |
|
|
3128
|
-
| p |
|
|
3129
|
-
|
|
3130
|
-
The **`p`** property is short for `padding`, and sets the padding area on all four sides of an element at once.
|
|
3131
|
-
|
|
3132
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
3133
|
-
|
|
3134
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3135
|
-
| --- | --- | --- | --- | --- |
|
|
3136
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
3137
|
-
|
|
3138
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
3139
|
-
|
|
3140
|
-
| \- | Set object |
|
|
3141
|
-
| pattern |
|
|
3142
|
-
|
|
3143
|
-
Use `pattern="validate"` for the following use cases:
|
|
3144
|
-
|
|
3145
|
-
* Submitting a form
|
|
3146
|
-
* Saving a record
|
|
3147
|
-
|
|
3148
|
-
"validate"undefined
|
|
3149
|
-
|
|
3150
|
-
|
|
3151
|
-
|
|
3152
|
-
|
|
|
3153
|
-
|
|
3154
|
-
validate
|
|
3155
|
-
|
|
3156
|
-
|
|
|
3157
|
-
|
|
3158
|
-
"validate"
|
|
3159
|
-
|
|
3160
|
-
|
|
|
3161
|
-
| pb |
|
|
3162
|
-
|
|
3163
|
-
The **`pb`** property is short for `padding-bottom` and sets the padding area on the bottom side of an element.
|
|
3164
|
-
|
|
3165
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
3166
|
-
|
|
3167
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3168
|
-
| --- | --- | --- | --- | --- |
|
|
3169
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
3170
|
-
|
|
3171
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
3172
|
-
|
|
3173
|
-
| \- | Set object |
|
|
3174
|
-
| pl |
|
|
3175
|
-
|
|
3176
|
-
The **`pl`** property is short for `padding-left` and sets the padding area on the left side of an element.
|
|
3177
|
-
|
|
3178
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
3179
|
-
|
|
3180
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3181
|
-
| --- | --- | --- | --- | --- |
|
|
3182
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
3183
|
-
|
|
3184
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
3185
|
-
|
|
3186
|
-
| \- | Set object |
|
|
3187
|
-
| position |
|
|
3188
|
-
|
|
3189
|
-
This sets where the loading message will be displayed.
|
|
3190
|
-
|
|
3191
|
-
* `bottom` - The loading message will be displayed below the button. It will be absolute positioned.
|
|
3192
|
-
* `top` - The loading message will be displayed above the button. It will be absolute positioned.
|
|
3193
|
-
* `right` - The loading message will be displayed to the right of the button. It will be inline positioned.
|
|
3194
|
-
|
|
3195
|
-
"bottom""right""top"undefined
|
|
3196
|
-
|
|
3197
|
-
|
|
3198
|
-
|
|
3199
|
-
|
|
|
3200
|
-
|
|
3201
|
-
bottom
|
|
3202
|
-
|
|
3203
|
-
| Set object |
|
|
3204
|
-
| pr |
|
|
3205
|
-
|
|
3206
|
-
The **`pr`** property is short for `padding-right` and sets the padding area on the right side of an element.
|
|
3207
|
-
|
|
3208
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
3209
|
-
|
|
3210
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3211
|
-
| --- | --- | --- | --- | --- |
|
|
3212
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
3213
|
-
|
|
3214
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
3215
|
-
|
|
3216
|
-
| \- | Set object |
|
|
3217
|
-
| pt |
|
|
3218
|
-
|
|
3219
|
-
The **`pt`** property is short for `padding-top` and sets the padding area on the top side of an element.
|
|
3220
|
-
|
|
3221
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
3222
|
-
|
|
3223
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3224
|
-
| --- | --- | --- | --- | --- |
|
|
3225
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
3226
|
-
|
|
3227
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
3228
|
-
|
|
3229
|
-
| \- | Set object |
|
|
3230
|
-
| px |
|
|
3231
|
-
|
|
3232
|
-
The **`px`** property is short for `padding-inline`. It is a shorthand property that defines both the logical inline start and end paddings of an element, which maps to physical paddings depending on the element's writing mode, directionality, and text orientation.
|
|
3233
|
-
|
|
3234
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
3235
|
-
|
|
3236
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3237
|
-
| --- | --- | --- | --- | --- |
|
|
3238
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
3239
|
-
|
|
3240
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
3241
|
-
|
|
3242
|
-
| \- | Set object |
|
|
3243
|
-
| py |
|
|
3244
|
-
|
|
3245
|
-
The **`py`** property is short for `padding-block`. It defines the logical block start and end paddings of an element, which maps to physical paddings depending on the element's writing mode, directionality, and text orientation.
|
|
3246
|
-
|
|
3247
|
-
It uses the spacing tokens in the design system. Padding cannot use negative values, if you need to overlap elements or ignore padding, use the margin property instead.
|
|
3248
|
-
|
|
3249
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3250
|
-
| --- | --- | --- | --- | --- |
|
|
3251
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
3252
|
-
|
|
3253
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
3254
|
-
|
|
3255
|
-
| \- | Set object |
|
|
3256
|
-
| renderButton |
|
|
3257
|
-
|
|
3258
|
-
This is a render prop that allows you to override the default button rendering. This is useful if you want to use a different button component or if you want to add additional props to the button.
|
|
3259
|
-
|
|
3260
|
-
((props: Pick<IressButtonProps, "loading">) => ReactNode) | undefined
|
|
3261
|
-
|
|
3262
|
-
| (props: Pick<IressButtonProps, 'className' | 'loading'>) => ( <IressButton {...props} type="submit"> Submit </IressButton> ) | \- |
|
|
3263
|
-
| rowGap |
|
|
3264
|
-
|
|
3265
|
-
The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's rows.
|
|
3266
|
-
|
|
3267
|
-
Note: It only has an effect when used as a direct child of a layout component, such as IressRow, IressStack or IressInline.
|
|
3268
|
-
|
|
3269
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3270
|
-
| --- | --- | --- | --- | --- |
|
|
3271
|
-
| **47** | **52** | **10.1** | **16** | No |
|
|
3272
|
-
|
|
3273
|
-
ResponsiveProp<"xs" | "sm" | "md" | "lg" | "xl" | "none" | "spacing.000" | "spacing.050" | "spacing.100" | "spacing.150" | "spacing.200" | "spacing.250" | "spacing.300" | "spacing.350" | ... 9 more ... | "slider.tick"> | undefined
|
|
3274
|
-
|
|
3275
|
-
| \- | Set object |
|
|
3276
|
-
| srOnly |
|
|
3277
|
-
|
|
3278
|
-
Set **`srOnly`** to hide an element visually but still make it accessible to screen readers. It can also be set to an object of breakpoints to hide the element at specific breakpoints.
|
|
3279
|
-
|
|
3280
|
-
Hide on all breakpoints: `srOnly: true` Hide on specific breakpoints: `srOnly: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
|
|
3281
|
-
|
|
3282
|
-
ResponsiveProp<boolean> | undefined
|
|
3283
|
-
|
|
3284
|
-
| \- | Set object |
|
|
3285
|
-
| stretch |
|
|
3286
|
-
|
|
3287
|
-
The **`stretch`** property is used to stretch an element to fill the available space in its parent container. It sets the `height` property to `100%` and `alignSelf` to `stretch`, allowing the element to expand and contract based on the size of its parent.
|
|
3288
|
-
|
|
3289
|
-
booleanundefined
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
| \- | Set object |
|
|
3294
|
-
| textAlign |
|
|
3295
|
-
|
|
3296
|
-
The **`text-align`** CSS property sets the horizontal alignment of the inline-level content inside a block element or table-cell box.
|
|
3297
|
-
|
|
3298
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3299
|
-
| --- | --- | --- | --- | --- |
|
|
3300
|
-
| **1** | **1** | **1** | **12** | **3** |
|
|
3301
|
-
|
|
3302
|
-
ResponsiveProp<"center" | "left" | "right" | "inherit" | "justify"> | undefined
|
|
3303
|
-
|
|
3304
|
-
| \- | Set object |
|
|
3305
|
-
| textStyle |
|
|
3306
|
-
|
|
3307
|
-
Select the typography to be used using the **`textStyle`** prop. These are connected to the typography tokens in the design system.'
|
|
3308
|
-
|
|
3309
|
-
* `typography.body.sm` - Use for small components such as badges and disclaimers, as well as compact variations of tables and lists.
|
|
3310
|
-
* `typography.body.md` - The most commonly used body text size, used for most text content in the product and the default state of all components in the design system.
|
|
3311
|
-
* `typography.body.lg` - Use for tag lines, subtitles, and other large text content in the product.
|
|
3312
|
-
* `typography.heading.1` - Use for the main page title to establish a clear hierarchy. There is typically only one H1 per screen, emphasising the primary purpose or context of the page.
|
|
3313
|
-
* `typography.heading.2` - Use for primary section headings within a page to organise content and guide the user through key areas. Also suitable for large components—such as modals—where space allows and where it pairs well with body.md or body.lg.
|
|
3314
|
-
* `typography.heading.3` - Use for sub-sections under H2s to further structure content and maintain a clear visual hierarchy. Ideal for breaking down complex sections into manageable parts.
|
|
3315
|
-
* `typography.heading.4` - Use for supporting headings within content blocks or small components where space is limited—such as table headers, cards, or side panels. Provides structure without overwhelming the layout.
|
|
3316
|
-
* `typography.heading.5` - Use for minor labels or titles in compact UI elements, such as cards, sidebars, or inline labels. Best used to emphasise supplementary information without drawing too much attention. Works well with body.sm and is ideal for subtle content like fine print. Use sparingly to preserve typographic hierarchy.
|
|
3317
|
-
* `typography.code` - Used to display code snippets in the product, such as in the API documentation.
|
|
3318
|
-
|
|
3319
|
-
ResponsiveProp<"typography.heading.1" | "typography.heading.2" | "typography.heading.3" | "typography.heading.4" | "typography.heading.5" | "typography.body.sm" | "typography.body.sm.regular" | ... 10 more ... | "typography.code"> | undefined
|
|
3320
|
-
|
|
3321
|
-
| \- | Set object |
|
|
3322
|
-
| timeout |
|
|
3323
|
-
|
|
3324
|
-
The time in milliseconds before the loading message is displayed.
|
|
3325
|
-
|
|
3326
|
-
numberundefined
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
|
|
|
3331
|
-
|
|
3332
|
-
2500
|
|
3333
|
-
|
|
3334
|
-
| Set object |
|
|
3335
|
-
| width |
|
|
3336
|
-
|
|
3337
|
-
The **`width`** CSS property sets an element's width. By default, it sets the width of the content area, but if `box-sizing` is set to `border-box`, it sets the width of the border area.
|
|
3338
|
-
|
|
3339
|
-
This prop only allows widths available throughout the component library. To use a custom width, you need to use the `style` prop, or add a custom class to the element and use CSS.
|
|
3340
|
-
|
|
3341
|
-
| Chrome | Firefox | Safari | Edge | IE |
|
|
3342
|
-
| --- | --- | --- | --- | --- |
|
|
3343
|
-
| **1** | **1** | **1** | **12** | **4** |
|
|
3344
|
-
|
|
3345
|
-
ResponsiveProp<"auto" | SizeToken | "screen" | "1/2" | "1/3" | "2/3" | "1/4" | "2/4" | "3/4" | "1/5" | "2/5" | "3/5" | "4/5" | "1/6" | "2/6" | "3/6" | "4/6" | "5/6" | "1/12" | "2/12" | ... 8 more ... | "11/12"> | undefined
|
|
3346
|
-
|
|
3347
|
-
| \- | Set object |
|
|
3348
|
-
|
|
3349
|
-
[](#suspense)Suspense
|
|
3350
|
-
---------------------
|
|
3351
|
-
|
|
3352
|
-
Since React 18, React has introduced a new way to handle loading states using `Suspense`, allowing you to lazy load components in an efficient manner.
|
|
3353
|
-
|
|
3354
|
-
The `IressLoadingSuspense` component is a wrapper around the `IressLoading` component that uses `Suspense` to handle loading states. It is used in the same way as the `IressLoading` component, however you do not need to pass the `loaded` prop or use the `IressLoading.shouldRender` hook. The `IressLoadingSuspense` component will automatically handle the loading state for you.
|
|
3355
|
-
|
|
3356
|
-
The wizard example can be translated to use `IressLoadingSuspense` as follows (it includes the slow and fast examples).
|
|
3357
|
-
|
|
3358
|
-
**Differences in behaviour**
|
|
3359
|
-
|
|
3360
|
-
* The `IressLoadingSuspense` component will automatically handle the loading state for you, so you do not need to pass the `loaded` prop or use the `IressLoading.shouldRender` hook.
|
|
3361
|
-
* Nested suspense components will be handled by the highest `IressLoadingSuspense` component. This means that if you have multiple nested `IressLoadingSuspense` components, only the top most one will display a loading state. You can see this in the example when you click the Next button, you no longer see the component loading pattern due to it being nested under the page loading pattern.
|
|
3362
|
-
|
|
3363
|
-
Hide codeRefresh
|
|
3364
|
-
|
|
3365
|
-
\[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; }
|
|
3366
|
-
|
|
3367
|
-
interface PageProps {
|
|
3368
|
-
setPage: (page: number) \=> void;
|
|
3369
|
-
}
|
|
3370
|
-
interface ChartProps {
|
|
3371
|
-
money: number | null;
|
|
3372
|
-
}
|
|
3373
|
-
const API \= {
|
|
3374
|
-
getHomePage: async () \=> {
|
|
3375
|
-
await new Promise((resolve) \=> {
|
|
3376
|
-
setTimeout(resolve, 3000);
|
|
3377
|
-
});
|
|
3378
|
-
return 1;
|
|
3379
|
-
},
|
|
3380
|
-
getRetirementIncomeProjection: async () \=> {
|
|
3381
|
-
await new Promise((resolve) \=> {
|
|
3382
|
-
setTimeout(resolve, 2000);
|
|
3383
|
-
});
|
|
3384
|
-
return true;
|
|
3385
|
-
},
|
|
3386
|
-
getChart: async () \=> {
|
|
3387
|
-
await new Promise((resolve) \=> {
|
|
3388
|
-
const chartImage \= new Image();
|
|
3389
|
-
chartImage.src \= retirementGraph;
|
|
3390
|
-
setTimeout(resolve, 1000);
|
|
3391
|
-
});
|
|
3392
|
-
return true;
|
|
3393
|
-
},
|
|
3394
|
-
chartUpdate: async () \=>
|
|
3395
|
-
new Promise<boolean\>((resolve) \=> {
|
|
3396
|
-
// Simulate a slow network request.
|
|
3397
|
-
setTimeout(() \=> {
|
|
3398
|
-
resolve(true);
|
|
3399
|
-
}, 2000);
|
|
3400
|
-
}),
|
|
3401
|
-
};
|
|
3402
|
-
const Graph \= () \=> (
|
|
3403
|
-
<img
|
|
3404
|
-
src\={retirementGraph}
|
|
3405
|
-
alt\=""
|
|
3406
|
-
style\={{ maxWidth: '100%', height: 'auto' }}
|
|
3407
|
-
/>
|
|
3408
|
-
);
|
|
3409
|
-
const Chart \= () \=> {
|
|
3410
|
-
const initialChart \= IressLoadingSuspense.use(API.getChart);
|
|
3411
|
-
const \[updatedChart, setUpdatedChart\] \= useState<boolean | undefined\>();
|
|
3412
|
-
const \[money, setMoney\] \= useState<number | null\>(null);
|
|
3413
|
-
const \[updating, setUpdating\] \= useState(false);
|
|
3414
|
-
const deferredMoney \= useDeferredValue(money);
|
|
3415
|
-
const chart \= updatedChart ?? initialChart;
|
|
3416
|
-
useEffect(() \=> {
|
|
3417
|
-
if (deferredMoney \=== null) {
|
|
3418
|
-
return;
|
|
3419
|
-
}
|
|
3420
|
-
setUpdating(() \=> true);
|
|
3421
|
-
const update \= async () \=> {
|
|
3422
|
-
const newChart \= await API.chartUpdate();
|
|
3423
|
-
setUpdatedChart(newChart);
|
|
3424
|
-
setUpdating(() \=> false);
|
|
3425
|
-
};
|
|
3426
|
-
void update();
|
|
3427
|
-
}, \[deferredMoney\]);
|
|
3428
|
-
return (
|
|
3429
|
-
<IressLoadingSuspense pattern\="component" update\={updating}\>
|
|
3430
|
-
{chart && <Graph />}
|
|
3431
|
-
<IressPanel\>
|
|
3432
|
-
<IressForm<ChartProps> onSubmit={(projectionData) \=> setMoney(projectionData.money)}
|
|
3433
|
-
> <IressStack gap\="md"\>
|
|
3434
|
-
<h3\>Update projection</h3\>
|
|
3435
|
-
<IressFormField
|
|
3436
|
-
name\="money"
|
|
3437
|
-
label\="My money"
|
|
3438
|
-
render\={(controlledProps) \=> (
|
|
3439
|
-
<IressInputCurrency {...controlledProps} />
|
|
3440
|
-
)}
|
|
3441
|
-
/>
|
|
3442
|
-
<IressButton type\="submit"\>Update projection</IressButton\>
|
|
3443
|
-
</IressStack\>
|
|
3444
|
-
</IressForm\>
|
|
3445
|
-
</IressPanel\>
|
|
3446
|
-
</IressLoadingSuspense\>
|
|
3447
|
-
);
|
|
3448
|
-
};
|
|
3449
|
-
const StartPage \= ({ setPage }: PageProps) \=> (
|
|
3450
|
-
<IressText\>
|
|
3451
|
-
<h2\>Maximise your retirement</h2\>
|
|
3452
|
-
<p\>
|
|
3453
|
-
Maximize your retirement in Australia by contributing to your super early and making voluntary top-ups to benefit from compounding. Take advantage of employer contributions, government co-contributions, and tax benefits. Diversify your investments and review your strategy regularly to stay on track. Consider additional income streams and seek professional advice for a secure future. </p\>
|
|
3454
|
-
<hr />
|
|
3455
|
-
<IressButton onClick\={() \=> setPage(2)}\>Next</IressButton\>
|
|
3456
|
-
</IressText\>
|
|
3457
|
-
);
|
|
3458
|
-
const RetirementIncomeProjectionPage \= () \=> {
|
|
3459
|
-
const promise \= API.getRetirementIncomeProjection;
|
|
3460
|
-
IressLoadingSuspense.use(promise);
|
|
3461
|
-
IressLoadingSuspense.uncache(promise);
|
|
3462
|
-
return (
|
|
3463
|
-
<IressText\>
|
|
3464
|
-
<h2\>Retirement Income Projection</h2\>
|
|
3465
|
-
<p\>
|
|
3466
|
-
We've got enough information to provide you with a retirement income projection. This will help you understand how much you can expect to receive in retirement based on your current super balance, your contributions, and your investment strategy. </p\>
|
|
3467
|
-
<Chart />
|
|
3468
|
-
</IressText\>
|
|
3469
|
-
);
|
|
3470
|
-
};
|
|
3471
|
-
const HomePage \= () \=> {
|
|
3472
|
-
const promise \= API.getHomePage;
|
|
3473
|
-
const startPage \= IressLoadingSuspense.use(promise);
|
|
3474
|
-
IressLoadingSuspense.uncache(promise);
|
|
3475
|
-
const \[movedPage, setMovedPage\] \= useState<number | undefined\>();
|
|
3476
|
-
const page \= movedPage ?? startPage;
|
|
3477
|
-
return (
|
|
3478
|
-
<IressContainer style\={{ maxWidth: '600px', paddingBlock: '3rem' }}\>
|
|
3479
|
-
{page \=== 1 && (
|
|
3480
|
-
<IressLoadingSuspense pattern\="page" template\="form"\>
|
|
3481
|
-
{page \=== 1 && <StartPage setPage\={setMovedPage} />}
|
|
3482
|
-
</IressLoadingSuspense\>
|
|
3483
|
-
)}
|
|
3484
|
-
{page \=== 2 && (
|
|
3485
|
-
<IressLoadingSuspense pattern\="page" template\="form"\>
|
|
3486
|
-
<RetirementIncomeProjectionPage />
|
|
3487
|
-
</IressLoadingSuspense\>
|
|
3488
|
-
)}
|
|
3489
|
-
</IressContainer\>
|
|
3490
|
-
);
|
|
3491
|
-
};
|
|
3492
|
-
export const LoadingSuspenseWizard \= () \=> (
|
|
3493
|
-
<IressLoadingSuspense pattern\="start-up"\>
|
|
3494
|
-
<HomePage />
|
|
3495
|
-
</IressLoadingSuspense\>
|
|
3496
|
-
);
|
|
3497
|
-
|
|
3498
|
-
Copy
|
|
3499
|
-
|
|
3500
|
-
Hide codeRefresh
|
|
3501
|
-
|
|
3502
|
-
\[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; }
|
|
3503
|
-
|
|
3504
|
-
interface PageProps {
|
|
3505
|
-
setPage: (page: number) \=> void;
|
|
3506
|
-
}
|
|
3507
|
-
interface ChartProps {
|
|
3508
|
-
money: number | null;
|
|
3509
|
-
}
|
|
3510
|
-
const API \= {
|
|
3511
|
-
getHomePage: async () \=> {
|
|
3512
|
-
await new Promise((resolve) \=> {
|
|
3513
|
-
setTimeout(resolve, 300);
|
|
3514
|
-
});
|
|
3515
|
-
return 1;
|
|
3516
|
-
},
|
|
3517
|
-
getRetirementIncomeProjection: async () \=> {
|
|
3518
|
-
await new Promise((resolve) \=> {
|
|
3519
|
-
setTimeout(resolve, 200);
|
|
3520
|
-
});
|
|
3521
|
-
return true;
|
|
3522
|
-
},
|
|
3523
|
-
getChart: async () \=> {
|
|
3524
|
-
await new Promise((resolve) \=> {
|
|
3525
|
-
const chartImage \= new Image();
|
|
3526
|
-
chartImage.onload \= resolve;
|
|
3527
|
-
chartImage.src \= retirementGraph;
|
|
3528
|
-
});
|
|
3529
|
-
return true;
|
|
3530
|
-
},
|
|
3531
|
-
chartUpdate: async () \=>
|
|
3532
|
-
new Promise<boolean\>((resolve) \=> {
|
|
3533
|
-
setTimeout(() \=> {
|
|
3534
|
-
resolve(true);
|
|
3535
|
-
}, 200);
|
|
3536
|
-
}),
|
|
3537
|
-
};
|
|
3538
|
-
const Graph \= () \=> (
|
|
3539
|
-
<img
|
|
3540
|
-
src\={retirementGraph}
|
|
3541
|
-
alt\=""
|
|
3542
|
-
style\={{ maxWidth: '100%', height: 'auto' }}
|
|
3543
|
-
/>
|
|
3544
|
-
);
|
|
3545
|
-
const Chart \= () \=> {
|
|
3546
|
-
const initialChart \= IressLoadingSuspense.use(API.getChart);
|
|
3547
|
-
const \[updatedChart, setUpdatedChart\] \= useState<boolean | undefined\>();
|
|
3548
|
-
const \[money, setMoney\] \= useState<number | null\>(null);
|
|
3549
|
-
const \[updating, setUpdating\] \= useState(false);
|
|
3550
|
-
const deferredMoney \= useDeferredValue(money);
|
|
3551
|
-
const chart \= updatedChart ?? initialChart;
|
|
3552
|
-
useEffect(() \=> {
|
|
3553
|
-
if (deferredMoney \=== null) {
|
|
3554
|
-
return;
|
|
3555
|
-
}
|
|
3556
|
-
setUpdating(() \=> true);
|
|
3557
|
-
const update \= async () \=> {
|
|
3558
|
-
const newChart \= await API.chartUpdate();
|
|
3559
|
-
setUpdatedChart(newChart);
|
|
3560
|
-
setUpdating(() \=> false);
|
|
3561
|
-
};
|
|
3562
|
-
void update();
|
|
3563
|
-
}, \[deferredMoney\]);
|
|
3564
|
-
return (
|
|
3565
|
-
<IressLoadingSuspense pattern\="component" update\={updating}\>
|
|
3566
|
-
{chart && <Graph />}
|
|
3567
|
-
<IressPanel\>
|
|
3568
|
-
<IressForm<ChartProps> onSubmit={(projectionData) \=> setMoney(projectionData.money)}
|
|
3569
|
-
> <IressStack gap\="md"\>
|
|
3570
|
-
<h3\>Update projection</h3\>
|
|
3571
|
-
<IressFormField
|
|
3572
|
-
name\="money"
|
|
3573
|
-
label\="My money"
|
|
3574
|
-
render\={(controlledProps) \=> (
|
|
3575
|
-
<IressInputCurrency {...controlledProps} />
|
|
3576
|
-
)}
|
|
3577
|
-
/>
|
|
3578
|
-
<IressButton type\="submit"\>Update projection</IressButton\>
|
|
3579
|
-
</IressStack\>
|
|
3580
|
-
</IressForm\>
|
|
3581
|
-
</IressPanel\>
|
|
3582
|
-
</IressLoadingSuspense\>
|
|
3583
|
-
);
|
|
3584
|
-
};
|
|
3585
|
-
const StartPage \= ({ setPage }: PageProps) \=> (
|
|
3586
|
-
<IressText\>
|
|
3587
|
-
<h2\>Maximise your retirement</h2\>
|
|
3588
|
-
<p\>
|
|
3589
|
-
Maximize your retirement in Australia by contributing to your super early and making voluntary top-ups to benefit from compounding. Take advantage of employer contributions, government co-contributions, and tax benefits. Diversify your investments and review your strategy regularly to stay on track. Consider additional income streams and seek professional advice for a secure future. </p\>
|
|
3590
|
-
<hr />
|
|
3591
|
-
<IressButton onClick\={() \=> setPage(2)}\>Next</IressButton\>
|
|
3592
|
-
</IressText\>
|
|
3593
|
-
);
|
|
3594
|
-
const RetirementIncomeProjectionPage \= () \=> {
|
|
3595
|
-
IressLoadingSuspense.use(API.getRetirementIncomeProjection);
|
|
3596
|
-
return (
|
|
3597
|
-
<IressText\>
|
|
3598
|
-
<h2\>Retirement Income Projection</h2\>
|
|
3599
|
-
<p\>
|
|
3600
|
-
We've got enough information to provide you with a retirement income projection. This will help you understand how much you can expect to receive in retirement based on your current super balance, your contributions, and your investment strategy. </p\>
|
|
3601
|
-
<Chart />
|
|
3602
|
-
</IressText\>
|
|
3603
|
-
);
|
|
3604
|
-
};
|
|
3605
|
-
const HomePage \= () \=> {
|
|
3606
|
-
const startPage \= IressLoadingSuspense.use(API.getHomePage);
|
|
3607
|
-
const \[movedPage, setMovedPage\] \= useState<number | undefined\>();
|
|
3608
|
-
const page \= movedPage ?? startPage;
|
|
3609
|
-
return (
|
|
3610
|
-
<IressContainer style\={{ maxWidth: '600px', paddingBlock: '3rem' }}\>
|
|
3611
|
-
{page \=== 1 && (
|
|
3612
|
-
<IressLoadingSuspense pattern\="page" template\="form"\>
|
|
3613
|
-
{page \=== 1 && <StartPage setPage\={setMovedPage} />}
|
|
3614
|
-
</IressLoadingSuspense\>
|
|
3615
|
-
)}
|
|
3616
|
-
{page \=== 2 && (
|
|
3617
|
-
<IressLoadingSuspense pattern\="page" template\="form"\>
|
|
3618
|
-
<RetirementIncomeProjectionPage />
|
|
3619
|
-
</IressLoadingSuspense\>
|
|
3620
|
-
)}
|
|
3621
|
-
</IressContainer\>
|
|
3622
|
-
);
|
|
3623
|
-
};
|
|
3624
|
-
export const LoadingSuspenseWizardFast \= () \=> (
|
|
3625
|
-
<IressLoadingSuspense pattern\="start-up"\>
|
|
3626
|
-
<HomePage />
|
|
3627
|
-
</IressLoadingSuspense\>
|
|
3628
|
-
);
|
|
3629
|
-
|
|
3630
|
-
Copy
|
|
3631
|
-
|
|
3632
|
-
[](#hooks)Hooks
|
|
3633
|
-
---------------
|
|
3634
|
-
|
|
3635
|
-
### [](#iressloadingshouldrender)`IressLoading.shouldRender`
|
|
3636
|
-
|
|
3637
|
-
The `IressLoading.shouldRender` hook is used to determine whether the loading pattern should be displayed or not. It is used to control the visibility of the loading pattern based on the `loaded` prop.
|
|
3638
|
-
|
|
3639
|
-
Its main function is to delay the un-mounting of the loading pattern when the `loaded` prop is set to true to allow for a fade out animation.
|
|
3640
|
-
|
|
3641
|
-
\[data-radix-scroll-area-viewport\] {
|
|
3642
|
-
scrollbar-width: none;
|
|
3643
|
-
-ms-overflow-style: none;
|
|
3644
|
-
-webkit-overflow-scrolling: touch;
|
|
3645
|
-
}
|
|
3646
|
-
\[data-radix-scroll-area-viewport\]::-webkit-scrollbar {
|
|
3647
|
-
display: none;
|
|
3648
|
-
}
|
|
3649
|
-
:where(\[data-radix-scroll-area-viewport\]) {
|
|
3650
|
-
display: flex;
|
|
3651
|
-
flex-direction: column;
|
|
3652
|
-
align-items: stretch;
|
|
3653
|
-
}
|
|
3654
|
-
:where(\[data-radix-scroll-area-content\]) {
|
|
3655
|
-
flex-grow: 1;
|
|
3656
|
-
}
|
|
3657
|
-
|
|
3658
|
-
const \[loaded, setLoaded\] \= useState(false);
|
|
3659
|
-
const renderLoading \= IressLoading.shouldRender(loaded);
|
|
3660
|
-
// Use renderLoading instead of !loaded for the smooth transition.
|
|
3661
|
-
if (renderLoading) return <IressLoading pattern\="page" loaded\={loaded} />;
|
|
3662
|
-
else return <IressText\>Content is loaded</IressText\>;
|
|
3663
|
-
|
|
3664
|
-
Copy
|
|
3665
|
-
|
|
3666
|
-
### [](#iressloadingsuspenseuse)`IressLoadingSuspense.use`
|
|
3667
|
-
|
|
3668
|
-
The `IressLoadingSuspense.use` hook is a polyfill for the React 19 `use` hook, allowing you to have similar functionality in React 18. It is used to handle loading states when using `IressLoadingSuspense`.
|
|
3669
|
-
|
|
3670
|
-
It is not as smart as the `use` hook in React 19, it will cache the result of the promise and will not re-fetch the data if the component is re-mounted. You can clear a function's results in the cache by using the `IressLoadingSuspense.uncache` function.
|
|
3671
|
-
|
|
3672
|
-
Avoid in React 19
|
|
3673
|
-
-----------------
|
|
3674
|
-
|
|
3675
|
-
If you are using React 19, it is recommended to use the built-in `use` hook instead of this one. In future releases, this hook will be deprecated and removed from the library.
|
|
3676
|
-
|
|
3677
|
-
\[data-radix-scroll-area-viewport\] {
|
|
3678
|
-
scrollbar-width: none;
|
|
3679
|
-
-ms-overflow-style: none;
|
|
3680
|
-
-webkit-overflow-scrolling: touch;
|
|
3681
|
-
}
|
|
3682
|
-
\[data-radix-scroll-area-viewport\]::-webkit-scrollbar {
|
|
3683
|
-
display: none;
|
|
3684
|
-
}
|
|
3685
|
-
:where(\[data-radix-scroll-area-viewport\]) {
|
|
3686
|
-
display: flex;
|
|
3687
|
-
flex-direction: column;
|
|
3688
|
-
align-items: stretch;
|
|
3689
|
-
}
|
|
3690
|
-
:where(\[data-radix-scroll-area-content\]) {
|
|
3691
|
-
flex-grow: 1;
|
|
3692
|
-
}
|
|
3693
|
-
|
|
3694
|
-
const HomePage \= () \=> {
|
|
3695
|
-
const pageData \= IressLoadingSuspense.use(API.fetchPage('home'));
|
|
3696
|
-
return (
|
|
3697
|
-
<IressText\>
|
|
3698
|
-
<h2\>{pageData.title}</h2\>
|
|
3699
|
-
<p\>{pageData.description}</p\>
|
|
3700
|
-
</IressText\>
|
|
3701
|
-
);
|
|
3702
|
-
};
|
|
3703
|
-
export const App \= () \=> (
|
|
3704
|
-
<IressLoadingSuspense pattern\="start-up"\>
|
|
3705
|
-
<HomePage />
|
|
3706
|
-
</IressLoadingSuspense\>
|
|
3707
|
-
);
|
|
3708
|
-
|
|
3709
|
-
Copy
|
|
3710
|
-
|
|
3711
|
-
[](#examples)Examples
|
|
3712
|
-
---------------------
|
|
3713
|
-
|
|
3714
|
-
Below are some examples of how to use the `IressLoading` component in different scenarios.
|
|
3715
|
-
|
|
3716
|
-
### [](#wizard)Wizard
|
|
3717
|
-
|
|
3718
|
-
Here you can see how a wizard can use the `IressLoading` component at different stages of the application. The first example shows a `slow` wizard, and the second example shows how the same code looks when the requests are fast. The main difference is you see minimal loading inidicators in the second example, improving the perception that the system is fast.
|
|
3719
|
-
|
|
3720
|
-
Hide codeRefresh
|
|
3721
|
-
|
|
3722
|
-
\[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; }
|
|
3723
|
-
|
|
3724
|
-
interface PageProps {
|
|
3725
|
-
setPage: (page: number) \=> void;
|
|
3726
|
-
}
|
|
3727
|
-
interface ChartProps {
|
|
3728
|
-
money: number | null;
|
|
3729
|
-
}
|
|
3730
|
-
const API \= {
|
|
3731
|
-
initialise: async () \=>
|
|
3732
|
-
new Promise<boolean\>((resolve) \=> {
|
|
3733
|
-
// Simulate a slow network request.
|
|
3734
|
-
setTimeout(() \=> {
|
|
3735
|
-
resolve(true);
|
|
3736
|
-
}, 3000);
|
|
3737
|
-
}),
|
|
3738
|
-
data: async () \=>
|
|
3739
|
-
new Promise<boolean\>((resolve) \=> {
|
|
3740
|
-
// Simulate a slow network request.
|
|
3741
|
-
setTimeout(() \=> {
|
|
3742
|
-
resolve(true);
|
|
3743
|
-
}, 2000);
|
|
3744
|
-
}),
|
|
3745
|
-
chart: async () \=>
|
|
3746
|
-
new Promise<boolean\>((resolve) \=> {
|
|
3747
|
-
// Simulate a slow network request.
|
|
3748
|
-
setTimeout(() \=> {
|
|
3749
|
-
resolve(true);
|
|
3750
|
-
}, 2000);
|
|
3751
|
-
}),
|
|
3752
|
-
chartUpdate: async () \=>
|
|
3753
|
-
new Promise<boolean\>((resolve) \=> {
|
|
3754
|
-
// Simulate a slow network request.
|
|
3755
|
-
setTimeout(() \=> {
|
|
3756
|
-
resolve(true);
|
|
3757
|
-
}, 2000);
|
|
3758
|
-
}),
|
|
3759
|
-
};
|
|
3760
|
-
const Graph \= () \=> (
|
|
3761
|
-
<img
|
|
3762
|
-
src\={retirementGraph}
|
|
3763
|
-
alt\=""
|
|
3764
|
-
style\={{ maxWidth: '100%', height: 'auto' }}
|
|
3765
|
-
/>
|
|
3766
|
-
);
|
|
3767
|
-
const Chart \= () \=> {
|
|
3768
|
-
const \[chart, setChart\] \= useState(false);
|
|
3769
|
-
const \[money, setMoney\] \= useState<number | null\>(null);
|
|
3770
|
-
const \[loaded, setLoaded\] \= useState(false);
|
|
3771
|
-
const \[updating, setUpdating\] \= useState(false);
|
|
3772
|
-
const safeLoaded \= IressLoading.shouldRender(loaded);
|
|
3773
|
-
const deferredMoney \= useDeferredValue(money);
|
|
3774
|
-
useEffect(() \=> {
|
|
3775
|
-
const initialise \= async () \=> {
|
|
3776
|
-
const newChart \= await API.chart();
|
|
3777
|
-
setChart(newChart);
|
|
3778
|
-
setLoaded(() \=> true);
|
|
3779
|
-
};
|
|
3780
|
-
void initialise();
|
|
3781
|
-
}, \[\]);
|
|
3782
|
-
useEffect(() \=> {
|
|
3783
|
-
if (deferredMoney \=== null) {
|
|
3784
|
-
return;
|
|
3785
|
-
}
|
|
3786
|
-
setUpdating(() \=> true);
|
|
3787
|
-
const update \= async () \=> {
|
|
3788
|
-
const newChart \= await API.chartUpdate();
|
|
3789
|
-
setChart(newChart);
|
|
3790
|
-
setUpdating(() \=> false);
|
|
3791
|
-
};
|
|
3792
|
-
void update();
|
|
3793
|
-
}, \[deferredMoney\]);
|
|
3794
|
-
return (
|
|
3795
|
-
<IressLoading pattern\="component" loaded\={!safeLoaded} update\={updating}\>
|
|
3796
|
-
{chart && <Graph />}
|
|
3797
|
-
<IressPanel\>
|
|
3798
|
-
<IressForm<ChartProps> onSubmit={(projectionData) \=> setMoney(projectionData.money)}
|
|
3799
|
-
> <IressStack gap\="md"\>
|
|
3800
|
-
<h3\>Update projection</h3\>
|
|
3801
|
-
<IressFormField
|
|
3802
|
-
name\="money"
|
|
3803
|
-
label\="My money"
|
|
3804
|
-
render\={(controlledProps) \=> (
|
|
3805
|
-
<IressInputCurrency {...controlledProps} />
|
|
3806
|
-
)}
|
|
3807
|
-
/>
|
|
3808
|
-
<IressButton type\="submit"\>Update projection</IressButton\>
|
|
3809
|
-
</IressStack\>
|
|
3810
|
-
</IressForm\>
|
|
3811
|
-
</IressPanel\>
|
|
3812
|
-
</IressLoading\>
|
|
3813
|
-
);
|
|
3814
|
-
};
|
|
3815
|
-
const StartPage \= ({ setPage }: PageProps) \=> (
|
|
3816
|
-
<IressText\>
|
|
3817
|
-
<h2\>Maximise your retirement</h2\>
|
|
3818
|
-
<p\>
|
|
3819
|
-
Maximize your retirement in Australia by contributing to your super early and making voluntary top-ups to benefit from compounding. Take advantage of employer contributions, government co-contributions, and tax benefits. Diversify your investments and review your strategy regularly to stay on track. Consider additional income streams and seek professional advice for a secure future. </p\>
|
|
3820
|
-
<hr />
|
|
3821
|
-
<IressButton onClick\={() \=> setPage(2)}\>Next</IressButton\>
|
|
3822
|
-
</IressText\>
|
|
3823
|
-
);
|
|
3824
|
-
const RetirementIncomeProjectionPage \= () \=> {
|
|
3825
|
-
const \[data, setData\] \= useState(false);
|
|
3826
|
-
const loaded \= data !== false;
|
|
3827
|
-
const renderLoading \= IressLoading.shouldRender(loaded);
|
|
3828
|
-
useEffect(() \=> {
|
|
3829
|
-
const initialise \= async () \=> {
|
|
3830
|
-
const newData \= await API.data();
|
|
3831
|
-
setData(newData);
|
|
3832
|
-
};
|
|
3833
|
-
void initialise();
|
|
3834
|
-
}, \[\]);
|
|
3835
|
-
if (renderLoading) {
|
|
3836
|
-
return <IressLoading pattern\="page" template\="form" loaded\={loaded} />;
|
|
3837
|
-
}
|
|
3838
|
-
return (
|
|
3839
|
-
<IressText\>
|
|
3840
|
-
<h2\>Retirement Income Projection</h2\>
|
|
3841
|
-
<p\>
|
|
3842
|
-
We've got enough information to provide you with a retirement income projection. This will help you understand how much you can expect to receive in retirement based on your current super balance, your contributions, and your investment strategy. </p\>
|
|
3843
|
-
<Chart />
|
|
3844
|
-
</IressText\>
|
|
3845
|
-
);
|
|
3846
|
-
};
|
|
3847
|
-
export const LoadingWizard \= () \=> {
|
|
3848
|
-
const \[page, setPage\] \= useState(0);
|
|
3849
|
-
const loaded \= page \> 0;
|
|
3850
|
-
const renderLoading \= IressLoading.shouldRender(loaded);
|
|
3851
|
-
useEffect(() \=> {
|
|
3852
|
-
const initialise \= async () \=> {
|
|
3853
|
-
await API.initialise();
|
|
3854
|
-
setPage(1);
|
|
3855
|
-
};
|
|
3856
|
-
void initialise();
|
|
3857
|
-
}, \[\]);
|
|
3858
|
-
if (renderLoading) {
|
|
3859
|
-
return <IressLoading pattern\="start-up" loaded\={loaded} />;
|
|
3860
|
-
}
|
|
3861
|
-
return (
|
|
3862
|
-
<IressContainer style\={{ maxWidth: '600px', paddingBlock: '3rem' }}\>
|
|
3863
|
-
{page \=== 1 && <StartPage setPage\={setPage} />}
|
|
3864
|
-
{page \=== 2 && <RetirementIncomeProjectionPage />}
|
|
3865
|
-
</IressContainer\>
|
|
3866
|
-
);
|
|
3867
|
-
};
|
|
3868
|
-
|
|
3869
|
-
Copy
|
|
3870
|
-
|
|
3871
|
-
Hide codeRefresh
|
|
3872
|
-
|
|
3873
|
-
\[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; }
|
|
3874
|
-
|
|
3875
|
-
interface PageProps {
|
|
3876
|
-
setPage: (page: number) \=> void;
|
|
3877
|
-
}
|
|
3878
|
-
interface ChartProps {
|
|
3879
|
-
money: number | null;
|
|
3880
|
-
}
|
|
3881
|
-
const API \= {
|
|
3882
|
-
initialise: async () \=>
|
|
3883
|
-
new Promise<boolean\>((resolve) \=> {
|
|
3884
|
-
// Simulate a fast network request.
|
|
3885
|
-
setTimeout(() \=> {
|
|
3886
|
-
resolve(true);
|
|
3887
|
-
}, 300);
|
|
3888
|
-
}),
|
|
3889
|
-
data: async () \=>
|
|
3890
|
-
new Promise<boolean\>((resolve) \=> {
|
|
3891
|
-
// Simulate a fast network request.
|
|
3892
|
-
setTimeout(() \=> {
|
|
3893
|
-
resolve(true);
|
|
3894
|
-
}, 300);
|
|
3895
|
-
}),
|
|
3896
|
-
chart: async () \=>
|
|
3897
|
-
new Promise<boolean\>((resolve) \=> {
|
|
3898
|
-
// Simulate a fast network request.
|
|
3899
|
-
setTimeout(() \=> {
|
|
3900
|
-
resolve(true);
|
|
3901
|
-
}, 300);
|
|
3902
|
-
}),
|
|
3903
|
-
chartUpdate: async () \=>
|
|
3904
|
-
new Promise<boolean\>((resolve) \=> {
|
|
3905
|
-
// Simulate a fast network request.
|
|
3906
|
-
setTimeout(() \=> {
|
|
3907
|
-
resolve(true);
|
|
3908
|
-
}, 300);
|
|
3909
|
-
}),
|
|
3910
|
-
};
|
|
3911
|
-
const Graph \= () \=> (
|
|
3912
|
-
<img
|
|
3913
|
-
src\={retirementGraph}
|
|
3914
|
-
alt\=""
|
|
3915
|
-
style\={{ maxWidth: '100%', height: 'auto' }}
|
|
3916
|
-
/>
|
|
3917
|
-
);
|
|
3918
|
-
const Chart \= () \=> {
|
|
3919
|
-
const \[chart, setChart\] \= useState(false);
|
|
3920
|
-
const \[money, setMoney\] \= useState<number | null\>(null);
|
|
3921
|
-
const \[loaded, setLoaded\] \= useState(false);
|
|
3922
|
-
const \[updating, setUpdating\] \= useState(false);
|
|
3923
|
-
const safeLoaded \= IressLoading.shouldRender(loaded);
|
|
3924
|
-
const deferredMoney \= useDeferredValue(money);
|
|
3925
|
-
useEffect(() \=> {
|
|
3926
|
-
const initialise \= async () \=> {
|
|
3927
|
-
const newChart \= await API.chart();
|
|
3928
|
-
setChart(newChart);
|
|
3929
|
-
const testImg \= new Image();
|
|
3930
|
-
testImg.onload \= () \=> setLoaded(true);
|
|
3931
|
-
testImg.src \= retirementGraph;
|
|
3932
|
-
};
|
|
3933
|
-
void initialise();
|
|
3934
|
-
}, \[\]);
|
|
3935
|
-
useEffect(() \=> {
|
|
3936
|
-
if (deferredMoney \=== null) {
|
|
3937
|
-
return;
|
|
3938
|
-
}
|
|
3939
|
-
setUpdating(() \=> true);
|
|
3940
|
-
const update \= async () \=> {
|
|
3941
|
-
const newChart \= await API.chartUpdate();
|
|
3942
|
-
setChart(newChart);
|
|
3943
|
-
setUpdating(() \=> false);
|
|
3944
|
-
};
|
|
3945
|
-
void update();
|
|
3946
|
-
}, \[deferredMoney\]);
|
|
3947
|
-
return (
|
|
3948
|
-
<IressLoading pattern\="component" loaded\={!safeLoaded} update\={updating}\>
|
|
3949
|
-
{chart && <Graph />}
|
|
3950
|
-
<IressPanel\>
|
|
3951
|
-
<IressForm<ChartProps> onSubmit={(projectionData) \=> setMoney(projectionData.money)}
|
|
3952
|
-
> <IressStack gap\="md"\>
|
|
3953
|
-
<h3\>Update projection</h3\>
|
|
3954
|
-
<IressFormField
|
|
3955
|
-
name\="money"
|
|
3956
|
-
label\="My money"
|
|
3957
|
-
render\={(controlledProps) \=> (
|
|
3958
|
-
<IressInputCurrency {...controlledProps} />
|
|
3959
|
-
)}
|
|
3960
|
-
/>
|
|
3961
|
-
<IressButton type\="submit"\>Update projection</IressButton\>
|
|
3962
|
-
</IressStack\>
|
|
3963
|
-
</IressForm\>
|
|
3964
|
-
</IressPanel\>
|
|
3965
|
-
</IressLoading\>
|
|
3966
|
-
);
|
|
3967
|
-
};
|
|
3968
|
-
const StartPage \= ({ setPage }: PageProps) \=> (
|
|
3969
|
-
<IressText\>
|
|
3970
|
-
<h2\>Maximise your retirement</h2\>
|
|
3971
|
-
<p\>
|
|
3972
|
-
Maximize your retirement in Australia by contributing to your super early and making voluntary top-ups to benefit from compounding. Take advantage of employer contributions, government co-contributions, and tax benefits. Diversify your investments and review your strategy regularly to stay on track. Consider additional income streams and seek professional advice for a secure future. </p\>
|
|
3973
|
-
<hr />
|
|
3974
|
-
<IressButton onClick\={() \=> setPage(2)}\>Next</IressButton\>
|
|
3975
|
-
</IressText\>
|
|
3976
|
-
);
|
|
3977
|
-
const RetirementIncomeProjectionPage \= () \=> {
|
|
3978
|
-
const \[data, setData\] \= useState(false);
|
|
3979
|
-
const loaded \= data !== false;
|
|
3980
|
-
const renderLoading \= IressLoading.shouldRender(loaded);
|
|
3981
|
-
useEffect(() \=> {
|
|
3982
|
-
const initialise \= async () \=> {
|
|
3983
|
-
const newData \= await API.data();
|
|
3984
|
-
setData(newData);
|
|
3985
|
-
};
|
|
3986
|
-
void initialise();
|
|
3987
|
-
}, \[\]);
|
|
3988
|
-
if (renderLoading) {
|
|
3989
|
-
return <IressLoading pattern\="page" template\="form" loaded\={loaded} />;
|
|
3990
|
-
}
|
|
3991
|
-
return (
|
|
3992
|
-
<IressText\>
|
|
3993
|
-
<h2\>Retirement Income Projection</h2\>
|
|
3994
|
-
<p\>
|
|
3995
|
-
We've got enough information to provide you with a retirement income projection. This will help you understand how much you can expect to receive in retirement based on your current super balance, your contributions, and your investment strategy. </p\>
|
|
3996
|
-
<Chart />
|
|
3997
|
-
</IressText\>
|
|
3998
|
-
);
|
|
3999
|
-
};
|
|
4000
|
-
export const LoadingWizardFast \= () \=> {
|
|
4001
|
-
const \[page, setPage\] \= useState(0);
|
|
4002
|
-
const loaded \= page \> 0;
|
|
4003
|
-
const renderLoading \= IressLoading.shouldRender(loaded);
|
|
4004
|
-
useEffect(() \=> {
|
|
4005
|
-
const initialise \= async () \=> {
|
|
4006
|
-
await API.initialise();
|
|
4007
|
-
setPage(1);
|
|
4008
|
-
};
|
|
4009
|
-
void initialise();
|
|
4010
|
-
}, \[\]);
|
|
4011
|
-
if (renderLoading) {
|
|
4012
|
-
return <IressLoading pattern\="start-up" loaded\={loaded} />;
|
|
4013
|
-
}
|
|
4014
|
-
return (
|
|
4015
|
-
<IressContainer style\={{ maxWidth: '600px', paddingBlock: '3rem' }}\>
|
|
4016
|
-
{page \=== 1 && <StartPage setPage\={setPage} />}
|
|
4017
|
-
{page \=== 2 && <RetirementIncomeProjectionPage />}
|
|
4018
|
-
</IressContainer\>
|
|
4019
|
-
);
|
|
4020
|
-
};
|
|
4021
|
-
|
|
4022
|
-
Copy
|
|
4023
|
-
|
|
4024
|
-
On this page
|
|
4025
|
-
|
|
4026
|
-
* [Overview](#overview)
|
|
4027
|
-
* [Props](#props)
|
|
4028
|
-
* [Usage](#usage)
|
|
4029
|
-
* [Be consistent](#be-consistent)
|
|
4030
|
-
* [Behaviour](#behaviour)
|
|
4031
|
-
* [Patterns](#patterns)
|
|
4032
|
-
* [component](#component)
|
|
4033
|
-
* [default](#default)
|
|
4034
|
-
* [long](#long)
|
|
4035
|
-
* [page](#page)
|
|
4036
|
-
* [start-up](#start-up)
|
|
4037
|
-
* [validate](#validate)
|
|
4038
|
-
* [Suspense](#suspense)
|
|
4039
|
-
* [Hooks](#hooks)
|
|
4040
|
-
* [IressLoading.shouldRender](#iressloadingshouldrender)
|
|
4041
|
-
* [IressLoadingSuspense.use](#iressloadingsuspenseuse)
|
|
4042
|
-
* [Examples](#examples)
|
|
4043
|
-
* [Wizard](#wizard)
|