@iress-oss/ids-mcp-server 5.15.0 → 6.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/generated/docs/components-alert-docs.md +579 -7
  2. package/generated/docs/components-autocomplete-docs.md +694 -15
  3. package/generated/docs/components-autocomplete-recipes-docs.md +1 -1
  4. package/generated/docs/components-badge-docs.md +442 -59
  5. package/generated/docs/components-button-docs.md +1150 -70
  6. package/generated/docs/components-buttongroup-docs.md +441 -3
  7. package/generated/docs/components-card-docs.md +487 -37
  8. package/generated/docs/components-checkbox-docs.md +506 -5
  9. package/generated/docs/components-checkboxgroup-docs.md +586 -191
  10. package/generated/docs/components-checkboxgroup-recipes-docs.md +3 -3
  11. package/generated/docs/components-col-docs.md +451 -36
  12. package/generated/docs/components-container-docs.md +32 -0
  13. package/generated/docs/components-divider-docs.md +427 -27
  14. package/generated/docs/components-expander-docs.md +487 -108
  15. package/generated/docs/components-field-docs.md +1400 -68
  16. package/generated/docs/components-filter-docs.md +268 -55
  17. package/generated/docs/components-hide-docs.md +447 -10
  18. package/generated/docs/components-icon-docs.md +522 -259
  19. package/generated/docs/components-image-docs.md +493 -0
  20. package/generated/docs/components-inline-docs.md +1179 -44
  21. package/generated/docs/components-input-docs.md +544 -12
  22. package/generated/docs/components-input-recipes-docs.md +4 -4
  23. package/generated/docs/components-inputcurrency-docs.md +532 -0
  24. package/generated/docs/components-inputcurrency-recipes-docs.md +4 -5
  25. package/generated/docs/components-introduction-docs.md +450 -0
  26. package/generated/docs/components-label-docs.md +454 -27
  27. package/generated/docs/components-link-docs.md +586 -0
  28. package/generated/docs/components-menu-docs.md +531 -89
  29. package/generated/docs/components-menu-menuitem-docs.md +556 -10
  30. package/generated/docs/components-modal-docs.md +814 -55
  31. package/generated/docs/components-panel-docs.md +418 -198
  32. package/generated/docs/components-placeholder-docs.md +420 -1
  33. package/generated/docs/components-popover-docs.md +1097 -32
  34. package/generated/docs/components-popover-recipes-docs.md +39 -73
  35. package/generated/docs/components-progress-docs.md +464 -0
  36. package/generated/docs/components-provider-docs.md +57 -2
  37. package/generated/docs/components-radio-docs.md +460 -4
  38. package/generated/docs/components-radiogroup-docs.md +586 -116
  39. package/generated/docs/components-readonly-docs.md +450 -4
  40. package/generated/docs/components-richselect-docs.md +4660 -1257
  41. package/generated/docs/components-row-docs.md +2065 -588
  42. package/generated/docs/components-select-docs.md +489 -5
  43. package/generated/docs/components-skeleton-docs.md +399 -16
  44. package/generated/docs/components-skeleton-recipes-docs.md +7 -7
  45. package/generated/docs/components-skiplink-docs.md +548 -27
  46. package/generated/docs/components-slideout-docs.md +648 -150
  47. package/generated/docs/components-slider-docs.md +515 -33
  48. package/generated/docs/components-spinner-docs.md +393 -2
  49. package/generated/docs/components-stack-docs.md +732 -74
  50. package/generated/docs/components-table-ag-grid-docs.md +497 -127
  51. package/generated/docs/components-table-docs.md +1049 -27
  52. package/generated/docs/components-tabset-docs.md +454 -27
  53. package/generated/docs/components-tabset-tab-docs.md +464 -0
  54. package/generated/docs/components-tag-docs.md +452 -19
  55. package/generated/docs/components-text-docs.md +322 -131
  56. package/generated/docs/components-toaster-docs.md +463 -53
  57. package/generated/docs/components-toggle-docs.md +476 -20
  58. package/generated/docs/components-tooltip-docs.md +443 -7
  59. package/generated/docs/components-validationmessage-docs.md +933 -13
  60. package/generated/docs/extensions-editor-docs.md +906 -13
  61. package/generated/docs/extensions-editor-recipes-docs.md +51 -1
  62. package/generated/docs/foundations-accessibility-docs.md +1 -23
  63. package/generated/docs/foundations-grid-docs.md +74 -0
  64. package/generated/docs/foundations-introduction-docs.md +6 -4
  65. package/generated/docs/foundations-responsive-breakpoints-docs.md +193 -0
  66. package/generated/docs/foundations-tokens-colour-docs.md +564 -0
  67. package/generated/docs/foundations-tokens-elevation-docs.md +155 -0
  68. package/generated/docs/foundations-tokens-introduction-docs.md +190 -0
  69. package/generated/docs/foundations-tokens-radius-docs.md +71 -0
  70. package/generated/docs/foundations-tokens-spacing-docs.md +89 -0
  71. package/generated/docs/foundations-tokens-typography-docs.md +322 -0
  72. package/generated/docs/foundations-z-index-stacking-docs.md +31 -0
  73. package/generated/docs/guidelines.md +1537 -295
  74. package/generated/docs/introduction-docs.md +65 -21
  75. package/generated/docs/news-version-6-docs.md +93 -0
  76. package/generated/docs/patterns-form-docs.md +3902 -0
  77. package/generated/docs/patterns-form-recipes-docs.md +1370 -0
  78. package/generated/docs/patterns-introduction-docs.md +24 -0
  79. package/generated/docs/patterns-loading-docs.md +2940 -201
  80. package/generated/docs/resources-introduction-docs.md +38 -0
  81. package/generated/docs/resources-mcp-server-docs.md +27 -0
  82. package/generated/docs/styling-props-colour-docs.md +172 -0
  83. package/generated/docs/styling-props-elevation-docs.md +88 -0
  84. package/generated/docs/styling-props-radius-docs.md +86 -0
  85. package/generated/docs/styling-props-reference-docs.md +160 -0
  86. package/generated/docs/styling-props-screen-readers-docs.md +71 -0
  87. package/generated/docs/styling-props-sizing-docs.md +627 -0
  88. package/generated/docs/styling-props-spacing-docs.md +2282 -0
  89. package/generated/docs/styling-props-typography-docs.md +121 -0
  90. package/generated/docs/themes-available-themes-docs.md +29 -29
  91. package/generated/docs/themes-introduction-docs.md +1 -1
  92. package/package.json +3 -22
  93. package/generated/docs/components-button-recipes-docs.md +0 -76
  94. package/generated/docs/components-card-recipes-docs.md +0 -89
  95. package/generated/docs/components-combobox-docs.md +0 -1016
  96. package/generated/docs/components-form-docs.md +0 -2410
  97. package/generated/docs/components-form-recipes-docs.md +0 -886
  98. package/generated/docs/components-navbar-docs.md +0 -291
  99. package/generated/docs/components-navbar-recipes-docs.md +0 -413
  100. package/generated/docs/components-toaster-toast-docs.md +0 -157
  101. package/generated/docs/foundations-colours-docs.md +0 -257
  102. package/generated/docs/foundations-typography-docs.md +0 -191
  103. package/generated/docs/resources-changelog-docs.md +0 -6
  104. package/generated/docs/themes-tokens-docs.md +0 -1200
@@ -10,7 +10,7 @@ The loading pattern is used to indicate that content is being loaded or processe
10
10
 
11
11
  Beta
12
12
 
13
- New component
13
+ **New component**
14
14
 
15
15
  This component is new, please provide feedback to the IDS team if you encounter any issues.
16
16
 
@@ -93,7 +93,7 @@ const Chart \= () \=> {
93
93
  {chart && <Graph />}
94
94
  <IressPanel\>
95
95
  <IressForm<ChartProps> onSubmit={(projectionData) \=> setMoney(projectionData.money)}
96
- > <IressStack gutter\="md"\>
96
+ > <IressStack gap\="md"\>
97
97
  <h3\>Update projection</h3\>
98
98
  <IressFormField
99
99
  name\="money"
@@ -165,6 +165,40 @@ export const LoadingWizard \= () \=> {
165
165
 
166
166
  Copy
167
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
+
168
202
  [](#usage)Usage
169
203
  ---------------
170
204
 
@@ -250,7 +284,7 @@ The skeleton representing the component should be as simple as possible, it does
250
284
 
251
285
  Beta
252
286
 
253
- New component
287
+ **New component**
254
288
 
255
289
  This component is new, please provide feedback to the IDS team if you encounter any issues.
256
290
 
@@ -310,7 +344,7 @@ export const LoadingGraph \= () \=> {
310
344
  loaded\={!renderLoading}
311
345
  update\={updating}
312
346
  \>
313
- <IressStack gutter\="md" style\={{ display: 'inline-block' }}\>
347
+ <IressStack gap\="md" style\={{ display: 'inline-block' }}\>
314
348
  <div\>
315
349
  <Graph />
316
350
  </div\>
@@ -322,290 +356,2995 @@ export const LoadingGraph \= () \=> {
322
356
 
323
357
  Copy
324
358
 
325
- ### [](#default)`default`
359
+ #### [](#props)Props
326
360
 
327
- 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.
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.
328
365
 
329
- This pattern is used when the user is navigating between different pages or sections of the application.
366
+ We recommend using the following token values for best background contrast:
330
367
 
331
- #### [](#behavior-1)Behavior
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
332
380
 
333
- 1. Displays nothing by default
334
-
335
- 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.
336
-
381
+ ResponsiveProp<ColorToken> | undefined
337
382
 
338
- * * *
383
+ | \- | \- |
384
+ | borderRadius |
339
385
 
340
- Beta
386
+ The **`border-radius`** CSS property rounds the corners of an element's outer border edge using the radius tokens in the design system.
341
387
 
342
- New component
388
+ | Chrome | Firefox | Safari | Edge | IE |
389
+ | --- | --- | --- | --- | --- |
390
+ | **4** | **4** | **5** | **12** | **9** |
391
+ | 1 _\-x-_ | | 3 _\-x-_ | | |
343
392
 
344
- This component is new, please provide feedback to the IDS team if you encounter any issues.
393
+ ResponsiveProp<RadiusToken> | undefined
345
394
 
346
- This is taking longer than expected...
395
+ | \- | \- |
396
+ | children\* |
347
397
 
348
- Hide codeRefresh
398
+ The chart that is being loaded for the first time or being refreshed/updated.
349
399
 
350
- \[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; }
400
+ ReactNode
351
401
 
352
- <IressLoading pattern\="default" />
353
402
 
354
- Copy
355
403
 
356
- ### [](#long)`long`
404
+ | \- | \- |
405
+ | color |
357
406
 
358
- 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.
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`.
359
408
 
360
- 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.
409
+ We recommend using the following token values for best color contrast:
361
410
 
362
- #### [](#behavior-2)Behavior
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
363
423
 
364
- 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.
365
- 2. The messages will rotate until the `loaded` prop is set to true.
366
- * 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.
367
- * When a message is completed, it will be displayed with a check mark.
368
- 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.
369
- 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.
424
+ ResponsiveProp<ColorToken> | undefined
370
425
 
371
- #### [](#adjusting-the-progress-bar)Adjusting the progress bar
426
+ | \- | \- |
427
+ | focusable |
372
428
 
373
- 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.
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.
374
430
 
375
- 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.
431
+ "true""within"undefined
376
432
 
377
- Once the `loaded` prop is set to true, the progress bar will always be set to 100% and the loading pattern will fade out.
378
433
 
379
- * * *
380
434
 
381
- Beta
435
+ | \- | \- |
436
+ | hide |
382
437
 
383
- New component
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.
384
439
 
385
- This component is new, please provide feedback to the IDS team if you encounter any issues.
440
+ Hide on all breakpoints: `hide: true` Hide on specific breakpoints: `hide: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
386
441
 
387
- * Finished: Processing transcript
388
- * Finished: Noting key information
389
- * Finished: Generating summary...
442
+ Notes:
390
443
 
391
- Hide codeRefresh
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.
392
446
 
393
- \[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; }
447
+ ResponsiveProp<boolean> | undefined
394
448
 
395
- <IressLoading
396
- messageList\={{
397
- '3000': 'Processing transcript',
398
- '5000': 'Noting key information',
399
- '7000': 'Generating summary'
400
- }}
401
- pattern\="long"
402
- />
449
+ | \- | \- |
450
+ | layerStyle |
403
451
 
404
- Copy
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.
405
453
 
406
- ### [](#page)`page`
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.
407
457
 
408
- 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.
458
+ ResponsiveProp<"elevation.raised" | "elevation.floating" | "elevation.overflow" | "elevation.focus" | "elevation.focusCompact"> | undefined
409
459
 
410
- #### [](#behavior-3)Behavior
460
+ | \- | \- |
461
+ | loaded |
411
462
 
412
- 1. When `loaded` is false, a skeleton will be displayed after 500ms (configured using `timeout`). This skeleton can be customised using the `template` prop.
413
- 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.
414
- 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.
463
+ If set to `true`, will hide the skeleton and display the chart.
415
464
 
416
- #### [](#custom-skeletons-1)Custom skeletons
465
+ booleanundefined
417
466
 
418
- 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:
419
467
 
420
- * 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.
421
- * If there are multiple filters, only create a few filters in the general area where they will appear.
422
- * 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.
423
468
 
424
- For your convenience, we have provided a few templates that you can use in the `template` prop, including: `page`, `form` and `dashboard`.
469
+ | \- | \- |
470
+ | m |
425
471
 
426
- #### [](#critical-content)Critical content
472
+ The **`m`** property is short for `margin`, and sets the margin area on all four sides of an element.
427
473
 
428
- 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.
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.
429
475
 
430
- * * *
476
+ | Chrome | Firefox | Safari | Edge | IE |
477
+ | --- | --- | --- | --- | --- |
478
+ | **1** | **1** | **1** | **12** | **3** |
431
479
 
432
- Beta
480
+ ResponsiveProp<SpacingToken | "auto"> | undefined
433
481
 
434
- New component
482
+ | \- | \- |
483
+ | maxWidth |
435
484
 
436
- This component is new, please provide feedback to the IDS team if you encounter any issues.
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`.
437
486
 
438
- Dashboard
439
- =========
487
+ | Chrome | Firefox | Safari | Edge | IE |
488
+ | --- | --- | --- | --- | --- |
489
+ | **1** | **1** | **1** | **12** | **7** |
440
490
 
441
- * * *
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 |
442
620
 
443
- ### Financial update 2025
621
+ The **`pl`** property is short for `padding-left` and sets the padding area on the left side of an element.
444
622
 
445
- ### The ASX update
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.
446
624
 
447
- ### In the news
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
+ |
448
706
 
449
707
  Loading...
450
708
 
451
- Hide codeRefresh
709
+ | \- |
710
+ | srOnly |
452
711
 
453
- \[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; }
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.
454
713
 
455
- const API \= {
456
- criticalContent: async () \=>
457
- new Promise<ReactNode\>((resolve) \=> {
458
- // Simulate a slow network request.
459
- setTimeout(() \=> {
460
- resolve(
461
- <IressContainer\>
462
- <IressStack gutter\="lg"\>
463
- <IressRow horizontalAlign\="between" verticalAlign\="middle"\>
464
- <IressText element\="h1" noGutter\>
465
- Dashboard </IressText\>
466
- <IressInline gutter\="lg"\>
467
- <IressSkeleton textVariant\="lead" width\="200px" />
468
- <IressSkeleton textVariant\="lead" width\="200px" />
469
- </IressInline\>
470
- </IressRow\>
471
- <IressDivider />
472
- <IressRow gutter\="lg"\>
473
- <IressCol span\="4"\>
474
- <IressCard stretch\>
475
- <IressStack gutter\="md"\>
476
- <IressSkeleton mode\="rect" height\="300px" />
477
- <IressText element\="h3"\>Financial update 2025</IressText\>
478
- <IressSkeleton textVariant\="body" width\="50%" />
479
- </IressStack\>
480
- </IressCard\>
481
- </IressCol\>
482
- <IressCol span\="4"\>
483
- <IressCard stretch\>
484
- <IressStack gutter\="md"\>
485
- <IressSkeleton mode\="rect" height\="300px" />
486
- <IressText element\="h3"\>The ASX update</IressText\>
487
- <IressSkeleton textVariant\="body" width\="50%" />
488
- </IressStack\>
489
- </IressCard\>
490
- </IressCol\>
491
- <IressCol span\="4"\>
492
- <IressCard stretch\>
493
- <IressStack gutter\="md"\>
494
- <IressSkeleton mode\="rect" height\="300px" />
495
- <IressText element\="h3"\>In the news</IressText\>
496
- <IressSkeleton textVariant\="body" width\="50%" />
497
- </IressStack\>
498
- </IressCard\>
499
- </IressCol\>
500
- </IressRow\>
501
- </IressStack\>
502
- </IressContainer\>,
503
- );
504
- }, 3000);
505
- }),
506
- };
507
- export const LoadingDashboard \= () \=> {
508
- const \[critical, setCritical\] \= useState<ReactNode | undefined\>();
509
- useEffect(() \=> {
510
- const initialise \= async () \=> {
511
- setCritical(await API.criticalContent());
512
- };
513
- void initialise();
514
- }, \[\]);
515
- return (
516
- <IressLoading pattern\="page" critical\={critical} template\="dashboard" />
517
- );
518
- };
714
+ Hide on all breakpoints: `srOnly: true` Hide on specific breakpoints: `srOnly: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
519
715
 
520
- Copy
716
+ ResponsiveProp<boolean> | undefined
521
717
 
522
- ### [](#start-up)`start-up`
718
+ | \- | \- |
719
+ | stretch |
523
720
 
524
- 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.
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.
525
722
 
526
- #### [](#behavior-4)Behavior
723
+ booleanundefined
527
724
 
528
- 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.
529
- 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.
530
- 3. If using `messageList`, the messages will rotate until the `loaded` prop is set to true.
531
- 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.
532
725
 
533
- #### [](#adjusting-the-progress-bar-1)Adjusting the progress bar
534
726
 
535
- 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.
727
+ | \- | \- |
728
+ | template |
536
729
 
537
- 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.
730
+ Which template to use as the skeleton, or you can use a ReactNode to customise the skeleton completely.
538
731
 
539
- Once the `loaded` prop is set to true, the progress bar will always be set to 100% and the loading pattern will fade out.
732
+ ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | "chart" | undefined
540
733
 
541
- #### [](#rotating-messages)Rotating messages
734
+ |
542
735
 
543
- 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.
736
+ chart
544
737
 
545
- 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.
738
+ | \- |
739
+ | textAlign |
546
740
 
547
- * * *
741
+ The **`text-align`** CSS property sets the horizontal alignment of the inline-level content inside a block element or table-cell box.
548
742
 
549
- Beta
743
+ | Chrome | Firefox | Safari | Edge | IE |
744
+ | --- | --- | --- | --- | --- |
745
+ | **1** | **1** | **1** | **12** | **3** |
550
746
 
551
- New component
747
+ ResponsiveProp<"center" | "left" | "right" | "inherit" | "justify"> | undefined
552
748
 
553
- This component is new, please provide feedback to the IDS team if you encounter any issues.
749
+ | \- | \- |
750
+ | textStyle |
554
751
 
555
- Hide codeRefresh
752
+ Select the typography to be used using the **`textStyle`** prop. These are connected to the typography tokens in the design system.'
556
753
 
557
- \[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; }
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.
558
763
 
559
- <IressLoading
560
- messageList\={{
561
- '0': <IressText mode\="muted"\>Switching applications...</IressText\>,
562
- '4500': <IressText mode\="muted"\>This is taking longer than expected...</IressText\>
563
- }}
564
- pattern\="start-up"
565
- />
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
566
765
 
567
- Copy
766
+ | \- | \- |
767
+ | timeout |
568
768
 
569
- ### [](#validate)`validate`
769
+ Set the timeouts for showing the skeleton and update messages.
570
770
 
571
- 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.
771
+ { skeleton?: number | undefined; update?: number | undefined; } | undefined
572
772
 
573
- #### [](#behavior-5)Behavior
773
+ | \- | \- |
774
+ | update |
574
775
 
575
- 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).
576
- 2. When `loading` is true, the button will be disabled and a spinner will be displayed.
577
- 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.
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...`.
578
777
 
579
- #### [](#message-position)Message position
778
+ ReactNode
580
779
 
581
- 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:
582
780
 
583
- * `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.
584
- * `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.
585
- * `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.
586
781
 
587
- * * *
782
+ | \- | \- |
783
+ | width |
588
784
 
589
- Beta
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.
590
786
 
591
- New component
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.
592
788
 
593
- This component is new, please provide feedback to the IDS team if you encounter any issues.
789
+ | Chrome | Firefox | Safari | Edge | IE |
790
+ | --- | --- | --- | --- | --- |
791
+ | **1** | **1** | **1** | **12** | **4** |
594
792
 
595
- Submit
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
596
794
 
597
- This is taking longer than expected...
795
+ | \- | \- |
598
796
 
599
- Hide codeRefresh
797
+ ### [](#default)`default`
600
798
 
601
- \[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; }
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.
602
800
 
603
- <IressLoading
604
- loading
605
- pattern\="validate"
606
- />
801
+ This pattern is used when the user is navigating between different pages or sections of the application.
607
802
 
608
- Copy
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 |
609
3348
 
610
3349
  [](#suspense)Suspense
611
3350
  ---------------------
@@ -691,7 +3430,7 @@ const Chart \= () \=> {
691
3430
  {chart && <Graph />}
692
3431
  <IressPanel\>
693
3432
  <IressForm<ChartProps> onSubmit={(projectionData) \=> setMoney(projectionData.money)}
694
- > <IressStack gutter\="md"\>
3433
+ > <IressStack gap\="md"\>
695
3434
  <h3\>Update projection</h3\>
696
3435
  <IressFormField
697
3436
  name\="money"
@@ -771,7 +3510,7 @@ interface ChartProps {
771
3510
  const API \= {
772
3511
  getHomePage: async () \=> {
773
3512
  await new Promise((resolve) \=> {
774
- setTimeout(resolve, 500);
3513
+ setTimeout(resolve, 300);
775
3514
  });
776
3515
  return 1;
777
3516
  },
@@ -827,7 +3566,7 @@ const Chart \= () \=> {
827
3566
  {chart && <Graph />}
828
3567
  <IressPanel\>
829
3568
  <IressForm<ChartProps> onSubmit={(projectionData) \=> setMoney(projectionData.money)}
830
- > <IressStack gutter\="md"\>
3569
+ > <IressStack gap\="md"\>
831
3570
  <h3\>Update projection</h3\>
832
3571
  <IressFormField
833
3572
  name\="money"
@@ -1057,7 +3796,7 @@ const Chart \= () \=> {
1057
3796
  {chart && <Graph />}
1058
3797
  <IressPanel\>
1059
3798
  <IressForm<ChartProps> onSubmit={(projectionData) \=> setMoney(projectionData.money)}
1060
- > <IressStack gutter\="md"\>
3799
+ > <IressStack gap\="md"\>
1061
3800
  <h3\>Update projection</h3\>
1062
3801
  <IressFormField
1063
3802
  name\="money"
@@ -1210,7 +3949,7 @@ const Chart \= () \=> {
1210
3949
  {chart && <Graph />}
1211
3950
  <IressPanel\>
1212
3951
  <IressForm<ChartProps> onSubmit={(projectionData) \=> setMoney(projectionData.money)}
1213
- > <IressStack gutter\="md"\>
3952
+ > <IressStack gap\="md"\>
1214
3953
  <h3\>Update projection</h3\>
1215
3954
  <IressFormField
1216
3955
  name\="money"