@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
@@ -11,12 +11,14 @@ The IDS and product design team use the foundations to create a consistent user
11
11
 
12
12
  1. [Principles](./?path=/docs/foundations-principles--docs)
13
13
  2. [Accessibility](./?path=/docs/foundations-accessibility--docs)
14
- 3. [Colours](./?path=/docs/foundations-colours--docs)
15
- 4. [Typography](./?path=/docs/foundations-typography--docs)
16
- 5. [Visual Design](./?path=/docs/foundations-visual-design--docs)
17
- 6. [Consistency](./?path=/docs/foundations-consistency--docs)
14
+ 3. [Tokens](./?path=/docs/foundations-tokens-introduction--docs)
15
+ 4. [Breakpoints](./?path=/docs/foundations-breakpoints--docs)
16
+ 5. [Consistency](./?path=/docs/foundations-consistency--docs)
17
+ 6. [Grid](./?path=/docs/foundations-grid--docs)
18
18
  7. [Content](./?path=/docs/foundations-content--docs)
19
19
  8. [User Experience](./?path=/docs/foundations-user-experience--docs)
20
+ 9. [Visual Design](./?path=/docs/foundations-visual-design--docs)
21
+ 10. [Z-index (stacking)](./?path=/docs/foundations-z-index-stacking--docs)
20
22
 
21
23
  _This document is a living standard. Revisit and revise regularly to reflect evolving needs, technologies, and user expectations._
22
24
 
@@ -131,310 +133,1110 @@ Please note: The default behaviour of our components is to be accessible, but it
131
133
  * Provide clear success and error feedback
132
134
  * Use progressive enhancement for better perceived performance
133
135
 
136
+ On this page
137
+
138
+ * [Interaction Patterns](#interaction-patterns)
139
+ * [Keyboard Navigation](#keyboard-navigation)
140
+ * [Touch Interactions](#touch-interactions)
141
+ * [Loading and Feedback](#loading-and-feedback)
142
+
143
+ ## Introduction
144
+
145
+ [](#tokens)Tokens
146
+ =================
147
+
148
+ Design tokens are an integral part of the design system. They help us create consistency across components by sharing common design decisions and simplify our theming ecosystem.
149
+
150
+ [](#what-are-tokens)What are tokens?
151
+ ------------------------------------
152
+
153
+ Tokens are a set of variables that define the design properties of a component. They are used to define the visual properties of a component, such as colours, typography, spacing, and more.
154
+
155
+ [](#token-list)Token list
156
+ -------------------------
157
+
158
+ The table below shows all the new and old tokens in the design system. Use the filters to narrow down the list of tokens.
159
+
160
+ Columns: 4 selected
161
+
162
+ labelaliasdescriptionreadonly
163
+
134
164
  * * *
135
165
 
136
- [](#responsive-design)Responsive Design
137
- ---------------------------------------
166
+ typedefaultValuedeprecated
167
+
168
+ None selected
169
+
170
+ Show deprecated tokens
171
+
172
+ Tokens (88)
173
+ | Name
174
+ | Alias
175
+
176
+ | Description
177
+
178
+ | Themeable
179
+
180
+ |
181
+ | --- | --- | --- | --- |
182
+ | colour.primary.fill | | Used for primary buttons and the active state of form controls such as checkboxes and radio buttons. Also used for the border of tags when they have a custom button. | |
183
+ | colour.primary.fillHover | | Used for the hover state of primary buttons as well as hovering over active form controls. | |
184
+ | colour.primary.onFill | | Used as the foreground colour on primary buttons and active form controls. | |
185
+ | colour.primary.surface | | Used as the background colour for secondary buttons and the focused state of menu and tab items. Also used as the background colour of active buttons. | |
186
+ | colour.primary.surfaceHover | | Used for the hover state of secondary buttons, form controls and hovering over focused menu and tab items. Also used when hovering over table rows. | |
187
+ | colour.primary.text | | Used for text on primary buttons, active form controls and focused tab and menu items. Also used for the link text colour and tertiary buttons. | |
188
+ | colour.neutral.10 | | Used as the default background colour for most components. For tooltips, it is used as the foreground colour for the tooltip content. | |
189
+ | colour.neutral.20 | | Used as the alternating background colour for components such as tables. Used as the background colour behind panels and cards for highly interactive screens. | |
190
+ | colour.neutral.30 | | Used as the border colour for dividers, and the default divider colour for components with in-built headers and footers such as cards. | |
191
+ | colour.neutral.40 | | Used for borders in subtle interactive components, such as checkboxes and radios with hidden controls and the progress bar. | |
192
+ | colour.neutral.50 | | Used as the background colour for interactive components such as the slider. | |
193
+ | colour.neutral.60 | | Used for placeholder text in form controls and disabled states. | |
194
+ | colour.neutral.70 | | Used for muted text such as hints and descriptions to allow for content hierarchy. | |
195
+ | colour.neutral.80 | | Used as the default text colour for most components. For tooltips, it is used as the background colour. | |
196
+ | colour.accent.brand | | The brand accent is useful for grabbing attention and to support your primary/brand colour. It should be used sparingly to draw attention to key elements. | |
197
+ | colour.system.success.fill | | Used for the background colour of primary success buttons, as well as the border of alerts and badges. It is also used for the foreground colour of icons inside toasts and alerts. | |
198
+ | colour.system.success.fillHover | | Used for the hover state of primary success buttons. | |
199
+ | colour.system.success.onFill | | Used for the foreground colour of primary success buttons and badges. | |
200
+ | colour.system.success.surface | | Used for the background colour of success alerts and toasts, and the background of secondary success buttons. | |
201
+ | colour.system.success.surfaceHover | | Used for the hover state of secondary success buttons. | |
202
+ | colour.system.success.text | | Used for the text colour of success alerts and toasts, and success tertiary buttons. | |
203
+ | colour.system.danger.fill | | Used for the background colour of primary danger buttons, as well as the border of alerts and badges. It is also used for the foreground colour of icons inside toasts and alerts. | |
204
+ | colour.system.danger.fillHover | | Used for the hover state of primary danger buttons. | |
205
+ | colour.system.danger.onFill | | Used for the foreground colour of primary danger buttons and badges. | |
206
+ | colour.system.danger.surface | | Used for the background colour of danger alerts and toasts, and the background of secondary danger buttons. | |
207
+ | colour.system.danger.surfaceHover | | Used for the hover state of secondary danger buttons. | |
208
+ | colour.system.danger.text | | Used for the text colour of danger alerts and toasts, and danger tertiary buttons. | |
209
+ | colour.system.warning.fill | | Used for the border of warning alerts and the background of warning badges. | |
210
+ | colour.system.warning.onFill | | Used for the foreground colour of warning badges. | |
211
+ | colour.system.warning.surface | | Used for the background colour of warning alerts. | |
212
+ | colour.system.warning.text | | Used for the text colour of warning alerts. | |
213
+ | colour.system.info.fill | | Used for the border of info alerts and toasts and the background of info badges. | |
214
+ | colour.system.info.onFill | | Used for the foreground colour of info badges. | |
215
+ | colour.system.info.surface | | Used for the background colour of info alerts and toasts. | |
216
+ | colour.system.info.text | | Used for the text colour of info alerts and toasts. | |
217
+ | colour.system.backdrop.fill | | Used for the background colour of the backdrop. | |
218
+ | elevation.raised.shadow | | Shadow for raised elevations | |
219
+ | elevation.raised.border | | Border for raised elevations | |
220
+ | elevation.floating.shadow | | Shadow for floating elevations | |
221
+ | elevation.floating.border | | Border for floating elevations | |
222
+ | elevation.overflow.shadow | | Shadow for overflow elevations | |
223
+ | elevation.overflow.border | | Border for overflow elevations | |
224
+ | elevation.focus.shadow | | Shadow for focus elevations | |
225
+ | elevation.focusCompact.shadow | | Shadow for focus compact elevations | |
226
+ | elevation.focusCompact.borderColor | | Border color for focus compact elevations | |
227
+ | radius.100 | | The base unit for radius. The fallback for all other values will be calculated from this value. | |
228
+ | radius.000 | none | No radius | |
229
+ | radius.025 | | 25% (0.25x) radius | |
230
+ | radius.050 | | 50% (0.5x) radius | |
231
+ | radius.075 | | 75% (0.75x) radius | |
232
+ | radius.system.badge | | Applies to badges and tags (that have not been designated to be a circle). | |
233
+ | radius.system.button | | Applies to buttons and other interactive elements such as the hover state of links. | |
234
+ | radius.system.form | | Applies to form inputs and alerts. | |
235
+ | radius.system.layout | | Applies to panels, modals and slideouts. | |
236
+ | spacing.100 | xs | The base unit for spacing. The fallback for all other values will be calculated from this value. | |
237
+ | spacing.150 | | 150% (1.5x) spacing | |
238
+ | spacing.200 | sm | 200% (2x) spacing | |
239
+ | spacing.250 | | 250% (2.5x) spacing | |
240
+ | spacing.300 | | 300% (3x) spacing | |
241
+ | spacing.350 | | 350% (3.5x) spacing | |
242
+ | spacing.400 | md | 400% (4x) spacing | |
243
+ | spacing.500 | | 500% (5x) spacing | |
244
+ | spacing.600 | lg | 600% (6x) spacing | |
245
+ | spacing.700 | | 700% (7x) spacing | |
246
+ | spacing.800 | | 800% (8x) spacing | |
247
+ | spacing.900 | | 900% (9x) spacing | |
248
+ | spacing.1000 | | 1000% (10x) spacing | |
249
+ | spacing.1200 | xl | 1200% (12x) spacing | |
250
+ | spacing.000 | none | No spacing | |
251
+ | spacing.050 | | 50% (0.5x) spacing | |
252
+ | typography.base.size | | This is the base font size, and is used to calculate the font sizes of each token. | |
253
+ | typography.base.headingFont | | This is the base font family for headings, used for heading tokens. | |
254
+ | typography.base.bodyFont | | This is the base font family for body, used for body tokens. | |
255
+ | typography.heading.1 | | Use for the main page title to establish a clear hierarchy. There is only one H1 per screen, emphasising the primary purpose or context of the page. | |
256
+ | 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. | |
257
+ | 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. | |
258
+ | 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. | |
259
+ | 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. | |
260
+ | typography.body.sm.regular | | The default small text, most commonly used to display text in small components and compact tables and lists. | |
261
+ | typography.body.sm.strong | | Strong text is used to highlight important information in a paragraph of text. | |
262
+ | typography.body.sm.em | | Emphasised text is used to highlight a term or definition in a paragraph of text. It is used sparingly, usually for legal purposes. | |
263
+ | typography.body.md.regular | | The default medium text, most commonly used to display text across all products. | |
264
+ | typography.body.md.strong | | Strong text is used to highlight important information in a paragraph of text. | |
265
+ | typography.body.md.em | | Emphasised text is used to highlight a term or definition in a paragraph of text. It is used sparingly, usually for legal purposes. | |
266
+ | typography.body.lg.regular | | The default large text, most commonly used to display large text across all products. | |
267
+ | typography.body.lg.strong | | Strong text is used to highlight important information in a paragraph of text. | |
268
+ | typography.body.lg.em | | Emphasised text is used to highlight a term or definition in a paragraph of text. It is used sparingly, usually for legal purposes. | |
269
+ | typography.code | | Used to display code snippets in the product, such as in the API documentation. | |
138
270
 
139
- ### [](#breakpoint-strategy)Breakpoint Strategy
271
+ * * *
140
272
 
141
- * Implement mobile-first responsive design
142
- * Use consistent breakpoint values across all components
143
- * Provide appropriate component variants for different screen sizes
144
- * Consider content priority and progressive disclosure on smaller screens
273
+ [](#for-developers)For developers
274
+ ---------------------------------
145
275
 
146
- ### [](#adaptive-behaviour)Adaptive Behaviour
276
+ If you are using the IDS components, the tokens have already been mapped out to their respective components. You can use the tokens in the component props to change the visual properties of the component.
147
277
 
148
- * Reduce option counts on mobile devices where appropriate
149
- * Implement responsive navigation patterns
150
- * Adjust spacing and sizing for different contexts
151
- * Maintain usability across all supported devices
278
+ [
279
+
280
+ Learn more about styling props
281
+
282
+ ](/?path=/docs/styling-props-reference--docs)
283
+
284
+ \[data-radix-scroll-area-viewport\] {
285
+ scrollbar-width: none;
286
+ -ms-overflow-style: none;
287
+ -webkit-overflow-scrolling: touch;
288
+ }
289
+ \[data-radix-scroll-area-viewport\]::-webkit-scrollbar {
290
+ display: none;
291
+ }
292
+ :where(\[data-radix-scroll-area-viewport\]) {
293
+ display: flex;
294
+ flex-direction: column;
295
+ align-items: stretch;
296
+ }
297
+ :where(\[data-radix-scroll-area-content\]) {
298
+ flex-grow: 1;
299
+ }
300
+
301
+ import { IressText } from '@iress-oss/ids-components';
302
+ <IressText color\="colour.primary.text"\>I am branded text</IressText\>;
303
+
304
+ Copy
305
+
306
+ If you are not using the IDS components, you can use the tokens directly by using the `cssVars` object from `@iress-oss/ids-tokens`.
307
+
308
+ \[data-radix-scroll-area-viewport\] {
309
+ scrollbar-width: none;
310
+ -ms-overflow-style: none;
311
+ -webkit-overflow-scrolling: touch;
312
+ }
313
+ \[data-radix-scroll-area-viewport\]::-webkit-scrollbar {
314
+ display: none;
315
+ }
316
+ :where(\[data-radix-scroll-area-viewport\]) {
317
+ display: flex;
318
+ flex-direction: column;
319
+ align-items: stretch;
320
+ }
321
+ :where(\[data-radix-scroll-area-content\]) {
322
+ flex-grow: 1;
323
+ }
324
+
325
+ import { cssVars } from '@iress-oss/ids-tokens';
326
+ <div style\={{ color: cssVars.colour.primary.text }}\>I am branded text</div\>;
327
+
328
+ Copy
152
329
 
153
330
  On this page
154
331
 
155
- * [Interaction Patterns](#interaction-patterns)
156
- * [Keyboard Navigation](#keyboard-navigation)
157
- * [Touch Interactions](#touch-interactions)
158
- * [Loading and Feedback](#loading-and-feedback)
159
- * [Responsive Design](#responsive-design)
160
- * [Breakpoint Strategy](#breakpoint-strategy)
161
- * [Adaptive Behaviour](#adaptive-behaviour)
332
+ * [What are tokens?](#what-are-tokens)
333
+ * [Token list](#token-list)
334
+ * [For developers](#for-developers)
162
335
 
163
- ## Colours
336
+ ## Colour
164
337
 
165
- [](#colours)Colours
166
- ===================
338
+ [](#colour)Colour
339
+ =================
167
340
 
168
341
  Colour is an integral aspect of conveying clear concise data. Our colours are optimized across two backgrounds, meeting or exceeding [WCAG 2.1 Level AA Accessibility Guidelines](https://www.w3.org/TR/WCAG21/#contrast-minimum).
169
342
 
170
- The Iress themes are designed to meet WCAG contrast guidelines (2.1 AA). We can't guarantee this when consumer branding is applied, so colour combinations should be checked to ensure conformance.
343
+ The default theme is designed to meet WCAG contrast guidelines. We can't guarantee this when consumer branding is applied, so colour combinations should be checked to ensure conformance.
171
344
 
172
- [](#backgrounds)Backgrounds
173
- ---------------------------
345
+ [](#primary)Primary
346
+ -------------------
174
347
 
175
- ### Default Background
348
+ The primary colour is your "brand" colour, and is used across all interactive elements such as buttons, links, inputs, etc. This colour can define the overall feel and can elicit emotion.
176
349
 
177
- \--iress-g-background-color
350
+ ### Fill
178
351
 
179
- Used for the default panel background.
352
+ colour.primary.fill #13213F
353
+
354
+ Used for primary buttons and the active state of form controls such as checkboxes and radio buttons. Also used for the border of tags when they have a custom button.
180
355
 
181
356
  #### Allowed foregrounds
182
357
 
183
- * \--iress-g-text-color
358
+ * colour.primary.onFill (#ECF2FF)
184
359
 
185
- 9.7 AAA
360
+ 14.2 AAA
186
361
 
187
- * \--iress-g-muted-text-color
362
+
363
+ ### On Fill
364
+
365
+ colour.primary.onFill #ECF2FF
366
+
367
+ Used as the foreground colour on primary buttons and active form controls.
368
+
369
+ #### Allowed foregrounds
370
+
371
+ * colour.primary.fill (#13213F)
188
372
 
189
- 5.4 AA
373
+ 14.2 AAA
190
374
 
191
- * \--iress-g-info-color
375
+
376
+ ### Fill Hover
377
+
378
+ colour.primary.fillHover #2B3752
379
+
380
+ Used for the hover state of primary buttons as well as hovering over active form controls.
381
+
382
+ #### Allowed foregrounds
383
+
384
+ * colour.primary.onFill (#ECF2FF)
192
385
 
193
- 5.4 AA
386
+ 10.6 AAA
194
387
 
195
- * \--iress-g-success-color
388
+
389
+ ### Surface
390
+
391
+ colour.primary.surface #D9E5FF
392
+
393
+ Used as the background colour for secondary buttons and the focused state of menu and tab items. Also used as the background colour of active buttons.
394
+
395
+ #### Allowed foregrounds
396
+
397
+ * colour.primary.text (#13213F)
196
398
 
197
- 5.4 AA
399
+ 12.6 AAA
198
400
 
199
- * \--iress-g-warning-color
401
+ * colour.neutral.80 (#393F46)
200
402
 
201
- 5.6 AA
403
+ 8.4 AAA
202
404
 
203
- * \--iress-g-danger-color
405
+
406
+ ### Text
407
+
408
+ colour.primary.text #13213F
409
+
410
+ Used for text on primary buttons, active form controls and focused tab and menu items. Also used for the link text colour and tertiary buttons.
411
+
412
+ #### Allowed foregrounds
413
+
414
+ * colour.primary.surface (#D9E5FF)
204
415
 
205
- 5.4 AA
416
+ 12.6 AAA
206
417
 
207
418
 
208
- ### Page Background
419
+ ### Surface Hover
209
420
 
210
- \--iress-g-page-background-color
421
+ colour.primary.surfaceHover #E1EAFF
211
422
 
212
- The background colour of the page.
423
+ Used for the hover state of secondary buttons, form controls and hovering over focused menu and tab items. Also used when hovering over table rows.
213
424
 
214
425
  #### Allowed foregrounds
215
426
 
216
- * \--iress-g-text-color
427
+ * colour.primary.text (#13213F)
217
428
 
218
- 10.4 AAA
429
+ 13.2 AAA
219
430
 
220
- * \--iress-g-muted-text-color
431
+ * colour.neutral.80 (#393F46)
221
432
 
222
- 5.7 AA
433
+ 8.8 AAA
223
434
 
224
- * \--iress-g-info-color
435
+
436
+ * * *
437
+
438
+ [](#neutral)Neutral
439
+ -------------------
440
+
441
+ Neutral colours apply to most backgrounds, text, and shapes in our experiences. They do not typically have a meaning associated with them, though they can imply things like disabled states. **Note:** There are some colour contrasts that are AA Large and are used for placeholders. If WCAG compliance is necessary for your application, please avoid using placeholders to meet this requirement.
442
+
443
+ ### 10
444
+
445
+ colour.neutral.10 #FFF
446
+
447
+ Used as the default background colour for most components. For tooltips, it is used as the foreground colour for the tooltip content.
448
+
449
+ #### Allowed foregrounds
450
+
451
+ * colour.neutral.80 (#393F46)
225
452
 
226
- 5.8 AA
453
+ 10.6 AAA
227
454
 
228
- * \--iress-g-success-color
455
+ * colour.neutral.70 (#6D7278)
229
456
 
230
- 5.8 AA
457
+ 4.9 AA
231
458
 
232
- * \--iress-g-warning-color
459
+ * colour.neutral.60 (#878B92)
233
460
 
234
- 6.0 AA
461
+ 3.4 AA Large
235
462
 
236
- * \--iress-g-danger-color
463
+
464
+ ### 20
465
+
466
+ colour.neutral.20 #F9F9F9
467
+
468
+ Used as the alternating background colour for components such as tables. Used as the background colour behind panels and cards for highly interactive screens.
469
+
470
+ #### Allowed foregrounds
471
+
472
+ * colour.neutral.80 (#393F46)
473
+
474
+ 10.1 AAA
237
475
 
238
- 5.8 AA
476
+ * colour.neutral.70 (#6D7278)
477
+
478
+ 4.6 AA
239
479
 
240
480
 
241
- ### Alt Background
481
+ ### 30
242
482
 
243
- \--iress-g-background-color-alt
483
+ colour.neutral.30 #E4E5E7
244
484
 
245
- Used for the alt panel background.
485
+ Used as the border colour for dividers, and the default divider colour for components with in-built headers and footers such as cards.
486
+
487
+ ### 40
488
+
489
+ colour.neutral.40 #D7D8DA
490
+
491
+ Used for borders in subtle interactive components, such as checkboxes and radios with hidden controls and the progress bar.
492
+
493
+ ### 50
494
+
495
+ colour.neutral.50 #AFB2B6
496
+
497
+ Used as the background colour for interactive components such as the slider.
498
+
499
+ ### 60
500
+
501
+ colour.neutral.60 #878B92
502
+
503
+ Used for placeholder text in form controls and disabled states.
246
504
 
247
505
  #### Allowed foregrounds
248
506
 
249
- * \--iress-g-text-color
507
+ * colour.neutral.10 (#FFF)
250
508
 
251
- 8.2 AAA
509
+ 3.4 AA Large
252
510
 
253
- * \--iress-g-muted-text-color
511
+
512
+ ### 70
513
+
514
+ colour.neutral.70 #6D7278
515
+
516
+ Used for muted text such as hints and descriptions to allow for content hierarchy.
517
+
518
+ #### Allowed foregrounds
519
+
520
+ * colour.neutral.10 (#FFF)
254
521
 
255
- 4.5 AA
522
+ 4.9 AA
256
523
 
257
- * \--iress-g-info-color
524
+ * colour.neutral.20 (#F9F9F9)
258
525
 
259
526
  4.6 AA
260
527
 
261
- * \--iress-g-success-color
528
+
529
+ ### 80
530
+
531
+ colour.neutral.80 #393F46
532
+
533
+ Used as the default text colour for most components. For tooltips, it is used as the background colour.
534
+
535
+ #### Allowed foregrounds
536
+
537
+ * colour.neutral.10 (#FFF)
538
+
539
+ 10.6 AAA
540
+
541
+ * colour.neutral.20 (#F9F9F9)
542
+
543
+ 10.1 AAA
544
+
545
+
546
+ * * *
547
+
548
+ [](#accent)Accent
549
+ -----------------
550
+
551
+ The accent colour is a colour used to emphasise key parts of the UI. These act as "secondary" or "supporting" colours to you primary colour.
552
+
553
+ ### Brand
554
+
555
+ colour.accent.brand #FF99A8
556
+
557
+ The brand accent is useful for grabbing attention and to support your primary/brand colour. It should be used sparingly to draw attention to key elements.
558
+
559
+ * * *
560
+
561
+ [](#system-colours)System colours
562
+ ---------------------------------
563
+
564
+ Along with primary colours, it is helpful to have a selection of system colours to use in components such as pills, alerts and labels. System colours emphasis different semantic states. They are used to provide visual feedback and/or warnings to users as they use your interface.
565
+
566
+ ### [](#success-positive)Success (Positive)
567
+
568
+ Communicates that an action has been successful and inform a user that the action is a positive action.
569
+
570
+ ### Fill
571
+
572
+ colour.system.success.fill #02794D
573
+
574
+ Used for the background colour of primary success buttons, as well as the border of alerts and badges. It is also used for the foreground colour of icons inside toasts and alerts.
575
+
576
+ #### Allowed foregrounds
577
+
578
+ * colour.system.success.onFill (#EFFBF2)
262
579
 
263
- 4.5 AA
580
+ 5.1 AA
264
581
 
265
- * \--iress-g-warning-color
582
+
583
+ ### On Fill
584
+
585
+ colour.system.success.onFill #EFFBF2
586
+
587
+ Used for the foreground colour of primary success buttons and badges.
588
+
589
+ #### Allowed foregrounds
590
+
591
+ * colour.system.success.fill (#02794D)
266
592
 
267
- 4.7 AA
593
+ 5.1 AA
268
594
 
269
- * \--iress-g-danger-color
595
+
596
+ ### Fill Hover
597
+
598
+ colour.system.success.fillHover #01603D
599
+
600
+ Used for the hover state of primary success buttons.
601
+
602
+ #### Allowed foregrounds
603
+
604
+ * colour.system.success.onFill (#EFFBF2)
270
605
 
271
- 4.5 AA
606
+ 7.2 AAA
272
607
 
273
608
 
274
- ### Hover Background
609
+ ### Surface
275
610
 
276
- \--iress-g-hover-background-color
611
+ colour.system.success.surface #E6F9EB
277
612
 
278
- Used for the hover and active state of elements such as tables, button groups, expanders, checkboxes and more.
613
+ Used for the background colour of success alerts and toasts, and the background of secondary success buttons.
279
614
 
280
615
  #### Allowed foregrounds
281
616
 
282
- * \--iress-g-text-color
617
+ * colour.system.success.text (#015537)
283
618
 
284
- 9.3 AAA
619
+ 8.1 AAA
285
620
 
286
- * \--iress-g-muted-text-color
621
+ * colour.neutral.80 (#393F46)
287
622
 
288
- 5.1 AA
623
+ 9.7 AAA
624
+
625
+
626
+ ### Text
627
+
628
+ colour.system.success.text #015537
629
+
630
+ Used for the text colour of success alerts and toasts, and success tertiary buttons.
631
+
632
+ #### Allowed foregrounds
633
+
634
+ * colour.system.success.surface (#E6F9EB)
289
635
 
290
- * \--iress-g-info-color
636
+ 8.1 AAA
291
637
 
292
- 5.2 AA
638
+
639
+ ### Surface Hover
640
+
641
+ colour.system.success.surfaceHover #D5F6DE
642
+
643
+ Used for the hover state of secondary success buttons.
644
+
645
+ #### Allowed foregrounds
646
+
647
+ * colour.system.success.text (#015537)
293
648
 
294
- * \--iress-g-success-color
649
+ 7.7 AAA
295
650
 
296
- 5.1 AA
651
+ * colour.neutral.80 (#393F46)
297
652
 
298
- * \--iress-g-warning-color
653
+ 9.2 AAA
299
654
 
300
- 5.3 AA
655
+
656
+ * * *
657
+
658
+ ### [](#danger-negative)Danger (Negative)
659
+
660
+ Communicates something went wrong or prevents the user from moving forward with their task, as well as inform a potential action is destructive/negative.
661
+
662
+ ### Fill
663
+
664
+ colour.system.danger.fill #C20A0A
665
+
666
+ Used for the background colour of primary danger buttons, as well as the border of alerts and badges. It is also used for the foreground colour of icons inside toasts and alerts.
667
+
668
+ #### Allowed foregrounds
669
+
670
+ * colour.system.danger.onFill (#FFF6F5)
301
671
 
302
- * \--iress-g-danger-color
672
+ 5.9 AA
303
673
 
304
- 5.1 AA
674
+
675
+ ### On Fill
676
+
677
+ colour.system.danger.onFill #FFF6F5
678
+
679
+ Used for the foreground colour of primary danger buttons and badges.
680
+
681
+ #### Allowed foregrounds
682
+
683
+ * colour.system.danger.fill (#C20A0A)
684
+
685
+ 5.9 AA
686
+
687
+
688
+ ### Fill Hover
689
+
690
+ colour.system.danger.fillHover #A50606
691
+
692
+ Used for the hover state of primary danger buttons.
693
+
694
+ #### Allowed foregrounds
695
+
696
+ * colour.system.danger.onFill (#FFF6F5)
697
+
698
+ 7.5 AAA
699
+
700
+
701
+ ### Surface
702
+
703
+ colour.system.danger.surface #FEE8E7
704
+
705
+ Used for the background colour of danger alerts and toasts, and the background of secondary danger buttons.
706
+
707
+ #### Allowed foregrounds
708
+
709
+ * colour.system.danger.text (#970202)
710
+
711
+ 7.7 AAA
305
712
 
713
+ * colour.neutral.80 (#393F46)
714
+
715
+ 9.1 AAA
716
+
717
+
718
+ ### Text
719
+
720
+ colour.system.danger.text #970202
721
+
722
+ Used for the text colour of danger alerts and toasts, and danger tertiary buttons.
723
+
724
+ #### Allowed foregrounds
725
+
726
+ * colour.system.danger.surface (#FEE8E7)
727
+
728
+ 7.7 AAA
729
+
730
+
731
+ ### Surface Hover
732
+
733
+ colour.system.danger.surfaceHover #FEDEDC
734
+
735
+ Used for the hover state of secondary danger buttons.
736
+
737
+ #### Allowed foregrounds
738
+
739
+ * colour.system.danger.text (#970202)
740
+
741
+ 7.2 AAA
742
+
743
+ * colour.neutral.80 (#393F46)
744
+
745
+ 8.5 AAA
746
+
747
+
748
+ * * *
749
+
750
+ ### [](#warning)Warning
751
+
752
+ Communicates attention required but does not prevent the user from moving forward with their task.
753
+
754
+ ### Fill
755
+
756
+ colour.system.warning.fill #F6C84C
757
+
758
+ Used for the border of warning alerts and the background of warning badges.
759
+
760
+ #### Allowed foregrounds
761
+
762
+ * colour.system.warning.onFill (#1A1200)
763
+
764
+ 11.8 AAA
765
+
766
+
767
+ ### On Fill
768
+
769
+ colour.system.warning.onFill #1A1200
770
+
771
+ Used for the foreground colour of warning badges.
772
+
773
+ #### Allowed foregrounds
774
+
775
+ * colour.system.warning.fill (#F6C84C)
776
+
777
+ 11.8 AAA
778
+
779
+
780
+ ### Surface
781
+
782
+ colour.system.warning.surface #FEF4CD
783
+
784
+ Used for the background colour of warning alerts.
785
+
786
+ #### Allowed foregrounds
787
+
788
+ * colour.system.warning.text (#1A1200)
789
+
790
+ 16.8 AAA
791
+
792
+ * colour.neutral.80 (#393F46)
793
+
794
+ 9.6 AAA
795
+
796
+
797
+ ### Text
798
+
799
+ colour.system.warning.text #1A1200
800
+
801
+ Used for the text colour of warning alerts.
802
+
803
+ #### Allowed foregrounds
804
+
805
+ * colour.system.warning.surface (#FEF4CD)
806
+
807
+ 16.8 AAA
808
+
809
+
810
+ * * *
811
+
812
+ ### [](#information)Information
813
+
814
+ Provides additional helpful context.
815
+
816
+ ### Fill
817
+
818
+ colour.system.info.fill #004FBD
819
+
820
+ Used for the border of info alerts and toasts and the background of info badges.
821
+
822
+ #### Allowed foregrounds
823
+
824
+ * colour.system.info.onFill (#F5FAFF)
825
+
826
+ 7.0 AAA
827
+
828
+
829
+ ### On Fill
830
+
831
+ colour.system.info.onFill #F5FAFF
832
+
833
+ Used for the foreground colour of info badges.
834
+
835
+ #### Allowed foregrounds
836
+
837
+ * colour.system.info.fill (#004FBD)
838
+
839
+ 7.0 AAA
840
+
841
+
842
+ ### Surface
843
+
844
+ colour.system.info.surface #E5F3FF
845
+
846
+ Used for the background colour of info alerts and toasts.
847
+
848
+ #### Allowed foregrounds
849
+
850
+ * colour.system.info.text (#123987)
851
+
852
+ 9.5 AAA
853
+
854
+ * colour.neutral.80 (#393F46)
855
+
856
+ 9.4 AAA
857
+
858
+
859
+ ### Text
860
+
861
+ colour.system.info.text #123987
862
+
863
+ Used for the text colour of info alerts and toasts.
864
+
865
+ #### Allowed foregrounds
866
+
867
+ * colour.system.info.surface (#E5F3FF)
868
+
869
+ 9.5 AAA
870
+
871
+
872
+ * * *
873
+
874
+ ### [](#backdrop)Backdrop
875
+
876
+ Used to cover the page in order to highlight a specific component, such as a modal.
877
+
878
+ ### Fill
879
+
880
+ colour.system.backdrop.fill #393F46CC
881
+
882
+ Used for the background colour of the backdrop.
883
+
884
+ #### Allowed foregrounds
885
+
886
+ * colour.neutral.10 (#FFF)
887
+
888
+ 10.6 AAA
889
+
890
+
891
+ On this page
892
+
893
+ * [Primary](#primary)
894
+ * [Neutral](#neutral)
895
+ * [Accent](#accent)
896
+ * [System colours](#system-colours)
897
+ * [Success (Positive)](#success-positive)
898
+ * [Danger (Negative)](#danger-negative)
899
+ * [Warning](#warning)
900
+ * [Information](#information)
901
+ * [Backdrop](#backdrop)
902
+
903
+ ## Elevation
904
+
905
+ [](#elevation)Elevation
906
+ =======================
907
+
908
+ Elevation is a design concept that adds depth and hierarchy to user interfaces by using shadows and layers. It helps users understand the relationship between different elements on the page, guiding their attention and interaction.
909
+
910
+ Raised
911
+ ------
912
+
913
+ Raised elevations sit slightly higher than default elevations. 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.
914
+
915
+ elevation.raised
916
+
917
+ Floating
918
+ --------
919
+
920
+ 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.
921
+
922
+ elevation.floating
923
+
924
+ Overflow
925
+ --------
926
+
927
+ 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.
928
+
929
+ elevation.overflow
930
+
931
+ Focus
932
+ -----
933
+
934
+ Focus is an outline indicating that an element is focused, usually via keyboard interaction. It is user when a user cannot interact with the page using a mouse/touch.
935
+
936
+ elevation.focus
937
+
938
+ Focus Compact
939
+ -------------
940
+
941
+ Focus compact is a variation of the focus elevation to indicate focus on elements that have restricted space making the default focus not aesthetically pleasing (for example, a search input in a dropdown like rich select). Avoid using where possible, as it makes the focus state less obvious.
942
+
943
+ elevation.focusCompact
944
+
945
+ Hide code
946
+
947
+ \[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; }
948
+
949
+ <I\>
950
+ <w
951
+ gutter\="md"
952
+ verticalAlign\="stretch"
953
+ \>
954
+ <n
955
+ span\={{
956
+ base: 6,
957
+ xl: 3
958
+ }}
959
+ \>
960
+ <I
961
+ layerStyle\="elevation.raised"
962
+ stretch
963
+ \>
964
+ <h2\>
965
+ Raised </h2\>
966
+ <p\>
967
+ Raised elevations sit slightly higher than default elevations. 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. </p\>
968
+ <p\>
969
+ <TokenTag\>
970
+ elevation.raised </TokenTag\>
971
+ </p\>
972
+ </I\>
973
+ </n\>
974
+ <n
975
+ span\={{
976
+ base: 6,
977
+ xl: 3
978
+ }}
979
+ \>
980
+ <I
981
+ layerStyle\="elevation.floating"
982
+ stretch
983
+ \>
984
+ <h2\>
985
+ Floating </h2\>
986
+ <p\>
987
+ 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. </p\>
988
+ <p\>
989
+ <TokenTag\>
990
+ elevation.floating </TokenTag\>
991
+ </p\>
992
+ </I\>
993
+ </n\>
994
+ <n
995
+ span\={{
996
+ base: 6,
997
+ xl: 3
998
+ }}
999
+ \>
1000
+ <I
1001
+ layerStyle\="elevation.overflow"
1002
+ stretch
1003
+ \>
1004
+ <h2\>
1005
+ Overflow </h2\>
1006
+ <p\>
1007
+ 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. </p\>
1008
+ <p\>
1009
+ <TokenTag\>
1010
+ elevation.overflow </TokenTag\>
1011
+ </p\>
1012
+ </I\>
1013
+ </n\>
1014
+ <n
1015
+ span\={{
1016
+ base: 6,
1017
+ xl: 3
1018
+ }}
1019
+ \>
1020
+ <I
1021
+ layerStyle\="elevation.focus"
1022
+ stretch
1023
+ \>
1024
+ <h2\>
1025
+ Focus </h2\>
1026
+ <p\>
1027
+ Focus is an outline indicating that an element is focused, usually via keyboard interaction. It is user when a user cannot interact with the page using a mouse/touch. </p\>
1028
+ <p\>
1029
+ <TokenTag\>
1030
+ elevation.focus </TokenTag\>
1031
+ </p\>
1032
+ </I\>
1033
+ </n\>
1034
+ <n
1035
+ span\={{
1036
+ base: 6,
1037
+ xl: 3
1038
+ }}
1039
+ \>
1040
+ <I
1041
+ layerStyle\="elevation.focusCompact"
1042
+ stretch
1043
+ \>
1044
+ <h2\>
1045
+ Focus Compact </h2\>
1046
+ <p\>
1047
+ Focus compact is a variation of the focus elevation to indicate focus on elements that have restricted space making the default focus not aesthetically pleasing (for example, a search input in a dropdown like rich select). Avoid using where possible, as it makes the focus state less obvious. </p\>
1048
+ <p\>
1049
+ <TokenTag\>
1050
+ elevation.focusCompact </TokenTag\>
1051
+ </p\>
1052
+ </I\>
1053
+ </n\>
1054
+ </w\>
1055
+ </I\>
1056
+
1057
+ Copy
1058
+
1059
+ On this page
1060
+
1061
+ ## Radius
1062
+
1063
+ [](#radius)Radius
1064
+ =================
1065
+
1066
+ Radius is the curvature of the corners of elements. It is used to soften the appearance of elements and make them more visually appealing.
1067
+
1068
+ Radius tokens
1069
+ | Token Name | Alias | Description | Visual |
1070
+ | --- | --- | --- | --- |
1071
+ | radius.000 | none | No radius |
1072
+ 0px
1073
+
1074
+ |
1075
+ | radius.025 | | 25% (0.25x) radius |
1076
+
1077
+ 4px
1078
+
1079
+ |
1080
+ | radius.050 | | 50% (0.5x) radius |
1081
+
1082
+ 8px
1083
+
1084
+ |
1085
+ | radius.075 | | 75% (0.75x) radius |
1086
+
1087
+ 12px
1088
+
1089
+ |
1090
+ | radius.100 | | The base unit for radius. The fallback for all other values will be calculated from this value. |
1091
+
1092
+ 16px
1093
+
1094
+ |
1095
+
1096
+ [](#system)System
1097
+ -----------------
1098
+
1099
+ Some components have a default radius to better align to a brand. Although usually they inherit from the base units, for some brands you may need to customise this to further emphasise their identity.
1100
+
1101
+ ### Badge
1102
+
1103
+ Applies to badges and tags (that have not been designated to be a circle).
1104
+
1105
+ radius.system.badge
1106
+
1107
+ * * *
1108
+
1109
+ ### Button
1110
+
1111
+ Applies to buttons and other interactive elements such as the hover state of links.
1112
+
1113
+ radius.system.button
1114
+
1115
+ * * *
306
1116
 
307
- [](#primary)Primary
308
- -------------------
1117
+ ### Form
309
1118
 
310
- ### Primary
1119
+ Applies to form inputs and alerts.
311
1120
 
312
- \--iress-g-primary-color
1121
+ radius.system.form
313
1122
 
314
- Used for the background colour of primary buttons, and to highlight other interactive/featured elements.
1123
+ * * *
315
1124
 
316
- #### Allowed foregrounds
1125
+ ### Layout
317
1126
 
318
- * \--iress-g-primary-contrast-color
319
-
320
- 10.7 AAA
321
-
1127
+ Applies to panels, modals and slideouts.
322
1128
 
323
- ### Primary Hover
1129
+ radius.system.layout
324
1130
 
325
- \--iress-g-primary-hover-color
1131
+ On this page
326
1132
 
327
- Used for the hover state of primary buttons.
1133
+ * [System](#system)
328
1134
 
329
- #### Allowed foregrounds
1135
+ ## Spacing
330
1136
 
331
- * \--iress-g-primary-contrast-color
332
-
333
- 15.5 AAA
334
-
1137
+ [](#spacing)Spacing
1138
+ ===================
335
1139
 
336
- [](#system)System
337
- -----------------
1140
+ Spacing is the distance between elements. It is used to create visual balance and hierarchy in the UI to ensure a cohesive experience for the user.
338
1141
 
339
- ### Info
1142
+ Spacing tokens
1143
+ | Token Name | Alias | Description | Visual |
1144
+ | --- | --- | --- | --- |
1145
+ | spacing.000 | none | No spacing |
1146
+ 0px
340
1147
 
341
- \--iress-g-info-color
1148
+ |
1149
+ | spacing.050 | | 50% (0.5x) spacing |
342
1150
 
343
- Used to indicate an element that provides information, usually an element without an action. Used in alerts and badges.
1151
+ 2px
344
1152
 
345
- #### Allowed foregrounds
1153
+ |
1154
+ | spacing.100 | xs | The base unit for spacing. The fallback for all other values will be calculated from this value. |
346
1155
 
347
- * \--iress-g-info-contrast-color
348
-
349
- 5.8 AA
350
-
1156
+ 4px
351
1157
 
352
- ### Danger
1158
+ |
1159
+ | spacing.150 | | 150% (1.5x) spacing |
353
1160
 
354
- \--iress-g-danger-color
1161
+ 6px
355
1162
 
356
- Used to indicate an error that requires the user's attention and action. Used in alerts and badges.
1163
+ |
1164
+ | spacing.200 | sm | 200% (2x) spacing |
357
1165
 
358
- #### Allowed foregrounds
1166
+ 8px
359
1167
 
360
- * \--iress-g-danger-contrast-color
361
-
362
- 5.8 AA
363
-
1168
+ |
1169
+ | spacing.250 | | 250% (2.5x) spacing |
364
1170
 
365
- ### Warning
1171
+ 10px
366
1172
 
367
- \--iress-g-warning-color
1173
+ |
1174
+ | spacing.300 | | 300% (3x) spacing |
368
1175
 
369
- Used to indicate an action/information that may have consequences. Used in alerts and badges.
1176
+ 12px
370
1177
 
371
- #### Allowed foregrounds
1178
+ |
1179
+ | spacing.350 | | 350% (3.5x) spacing |
372
1180
 
373
- * \--iress-g-warning-contrast-color
374
-
375
- 6.0 AA
376
-
1181
+ 14px
377
1182
 
378
- ### Success
1183
+ |
1184
+ | spacing.400 | md | 400% (4x) spacing |
379
1185
 
380
- \--iress-g-success-color
1186
+ 16px
381
1187
 
382
- Used to indicate a successful action. Used in alerts and badges.
1188
+ |
1189
+ | spacing.500 | | 500% (5x) spacing |
383
1190
 
384
- #### Allowed foregrounds
1191
+ 20px
385
1192
 
386
- * \--iress-g-success-contrast-color
387
-
388
- 5.8 AA
389
-
1193
+ |
1194
+ | spacing.600 | lg | 600% (6x) spacing |
390
1195
 
391
- ### Negative
1196
+ 24px
392
1197
 
393
- \--iress-g-negative-color
1198
+ |
1199
+ | spacing.700 | | 700% (7x) spacing |
394
1200
 
395
- Used to indicate an element that is below a threshold or limit. Usually used for trading to indicate a loss.
1201
+ 28px
396
1202
 
397
- #### Allowed foregrounds
1203
+ |
1204
+ | spacing.800 | | 800% (8x) spacing |
398
1205
 
399
- * \--iress-g-negative-contrast-color
400
-
401
- 5.8 AA
402
-
1206
+ 32px
403
1207
 
404
- ### Positive
1208
+ |
1209
+ | spacing.900 | | 900% (9x) spacing |
405
1210
 
406
- \--iress-g-positive-color
1211
+ 36px
407
1212
 
408
- Used to indicate an element that is above a threshold or limit. Usually used for trading to indicate a gain.
1213
+ |
1214
+ | spacing.1000 | | 1000% (10x) spacing |
409
1215
 
410
- #### Allowed foregrounds
1216
+ 40px
411
1217
 
412
- * \--iress-g-positive-contrast-color
413
-
414
- 5.5 AA
415
-
1218
+ |
1219
+ | spacing.1200 | xl | 1200% (12x) spacing |
416
1220
 
417
- On this page
1221
+ 48px
418
1222
 
419
- * [Backgrounds](#backgrounds)
420
- * [Primary](#primary)
421
- * [System](#system)
1223
+ |
1224
+
1225
+ On this page
422
1226
 
423
1227
  ## Typography
424
1228
 
425
1229
  [](#typography)Typography
426
1230
  =========================
427
1231
 
428
- Typography is set up as part of the theming. Typography is controlled by the `IressText` component and the `iress-u-text` utility class. They implement consistent line heights and font weights.
429
-
430
- Typography styles are designed to be encapsulated. If you want text to pick up the Iress styling, you'll need to wrap it in an `IressText` component.
1232
+ Typography is controlled by the `IressText` component, or the `textStyle` prop on other components. They implement consistent line heights and font weights.
431
1233
 
432
1234
  [](#body)Body
433
1235
  -------------
434
1236
 
435
- This is the default text variant, and is designed to be clear and easy to read.
1237
+ This is the default text variant, and is designed to be clear and easy to read. This high level token also styles other tags beneath it such as `ul`, `ol`, `em` and `strong`, so that they inherit the same styling as the body text.
436
1238
 
437
- Nobis odit nesciunt in, harum provident deleniti molestiae dolorum aliquid tempora optio accusamus dolore porro voluptatibus. Dolorum, repellat expedita.
1239
+ Nobis odit nesciunt in, **harum provident** deleniti molestiae dolorum aliquid tempora optio accusamus dolore _porro voluptatibus_. Dolorum, repellat expedita.
438
1240
 
439
1241
  * Voluptatem assumenda soluta!
440
1242
  * Illum et atque alias possimus maiores rem in corrupti consectetur!
@@ -446,7 +1248,13 @@ Hide code
446
1248
 
447
1249
  <IressText\>
448
1250
  <p\>
449
- Nobis odit nesciunt in, harum provident deleniti molestiae dolorum aliquid tempora optio accusamus dolore porro voluptatibus. Dolorum, repellat expedita. </p\>
1251
+ Nobis odit nesciunt in,{' '}
1252
+ <strong\>
1253
+ harum provident </strong\>
1254
+ {' '}deleniti molestiae dolorum aliquid tempora optio accusamus dolore{' '}
1255
+ <em\>
1256
+ porro voluptatibus </em\>
1257
+ . Dolorum, repellat expedita. </p\>
450
1258
  <ul\>
451
1259
  <li\>
452
1260
  Voluptatem assumenda soluta! </li\>
@@ -459,148 +1267,276 @@ Hide code
459
1267
 
460
1268
  Copy
461
1269
 
462
- [](#headings)Headings
463
- ---------------------
464
-
465
- Headings form the structure of a web page. They're designed to stand out visually, drawing a user's eye to distinct sections of the document. They can be set in a variety of sizes based on systematic font sizing with native heading scales (H1-H6).
466
-
467
- Hello, we are a company that puts clients first.
468
- ================================================
1270
+ ### [](#sizes)Sizes
469
1271
 
470
- Hello, we are a company that puts clients first.
471
- ------------------------------------------------
1272
+ Body text can be set in a variety of sizes, from small to large. The size of the text should be chosen based on the context and importance of the content.
472
1273
 
473
- ### Hello, we are a company that puts clients first.
1274
+ typography.body.sm Used for small components such as badges and field hints, as well as compact variations of tables and lists.
474
1275
 
475
- #### Hello, we are a company that puts clients first.
1276
+ typography.body.md The most commonly used body text size, used for most text content in the product.
476
1277
 
477
- ##### Hello, we are a company that puts clients first.
478
-
479
- An H2 styled as an H3.
480
- ----------------------
1278
+ typography.body.lg Used for tag lines, subtitles, and other large text content in the product.
481
1279
 
482
1280
  Hide code
483
1281
 
484
1282
  \[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; }
485
1283
 
486
- <IressStack gutter\="md"\>
487
- <IressText element\="h1"\>
488
- Hello, we are a company that puts clients first. </IressText\>
489
- <IressText element\="h2"\>
490
- Hello, we are a company that puts clients first. </IressText\>
491
- <IressText element\="h3"\>
492
- Hello, we are a company that puts clients first. </IressText\>
493
- <IressText element\="h4"\>
494
- Hello, we are a company that puts clients first. </IressText\>
495
- <IressText element\="h5"\>
496
- Hello, we are a company that puts clients first. </IressText\>
497
- <IressText
498
- element\="h2"
499
- variant\="h3"
500
- \>
501
- An H2 styled as an H3. </IressText\>
1284
+ <IressStack gap\="md"\>
1285
+ <IressText textStyle\="typography.body.sm"\>
1286
+ <TokenTag\>
1287
+ typography.body.sm </TokenTag\>
1288
+ {' '}Used for small components such as badges and field hints, as well as compact variations of tables and lists.
1289
+ </IressText\>
1290
+ <IressText textStyle\="typography.body.md"\>
1291
+ <TokenTag\>
1292
+ typography.body.md </TokenTag\>
1293
+ {' '}The most commonly used body text size, used for most text content in the product.
1294
+ </IressText\>
1295
+ <IressText textStyle\="typography.body.lg"\>
1296
+ <TokenTag\>
1297
+ typography.body.lg </TokenTag\>
1298
+ {' '}Used for tag lines, subtitles, and other large text content in the product.
1299
+ </IressText\>
502
1300
  </IressStack\>
503
1301
 
504
1302
  Copy
505
1303
 
506
- [](#display)Display
507
- -------------------
1304
+ ### [](#variants)Variants
1305
+
1306
+ Body text can be combined with bold (strong) and italic (emphasis) text to create emphasis or hierarchy within the content.
1307
+
1308
+ * Bold text should be used to **draw attention** to part of a sentence, or to provide a visual label for readonly text.
1309
+ * Italic text should be used to add _emphasis_ to content, or to add stress to part of a sentence.
508
1310
 
509
- Display text is used to draw attention to specific pieces of content, like introductory text on a landing page. It has larger font sizes than the heading variants, and a lighter font weight.
1311
+ #### Strong
510
1312
 
511
- Hello, we are a company that puts clients first.
1313
+ Strong variant is used to draw attention to certain text, making a large block of text easier to scan. This token is used to style the <strong /> tag in a body of text.
512
1314
 
513
- Hello, we are a company that puts clients first.
1315
+ typography.body.sm.strongStrong text is used to highlight important information in a paragraph of text.
514
1316
 
515
- Hello, we are a company that puts clients first.
1317
+ typography.body.md.strongStrong text is used to highlight important information in a paragraph of text.
516
1318
 
517
- Hello, we are a company that puts clients first.
1319
+ typography.body.lg.strongStrong text is used to highlight important information in a paragraph of text.
1320
+
1321
+ * * *
1322
+
1323
+ #### Emphasis
1324
+
1325
+ Emphasis (em) variant is used to emphasise certain text to indicate they make a reference to a standard/legal term. This token is used to style the <em /> tag in a body of text.
1326
+
1327
+ typography.body.sm.em Emphasised text is used to highlight a term or definition in a paragraph of text. It is used sparingly, usually for legal purposes.
1328
+
1329
+ typography.body.md.em Emphasised text is used to highlight a term or definition in a paragraph of text. It is used sparingly, usually for legal purposes.
1330
+
1331
+ typography.body.lg.em Emphasised text is used to highlight a term or definition in a paragraph of text. It is used sparingly, usually for legal purposes.
518
1332
 
519
1333
  Hide code
520
1334
 
521
1335
  \[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; }
522
1336
 
523
- <IressStack gutter\="md"\>
524
- <IressText variant\="display1"\>
525
- Hello, we are a company that puts clients first. </IressText\>
526
- <IressText variant\="display2"\>
527
- Hello, we are a company that puts clients first. </IressText\>
528
- <IressText variant\="display3"\>
529
- Hello, we are a company that puts clients first. </IressText\>
530
- <IressText variant\="display4"\>
531
- Hello, we are a company that puts clients first. </IressText\>
1337
+ <IressStack gap\="md"\>
1338
+ <IressText\>
1339
+ <h4\>
1340
+ Strong </h4\>
1341
+ <p\>
1342
+ {\`Strong variant is used to draw attention to certain text, making a large block of text easier to scan. This token is used to style the <strong /> tag in a body of text.\`}
1343
+ </p\>
1344
+ </IressText\>
1345
+ <IressText textStyle\="typography.body.sm.strong"\>
1346
+ <TokenTag\>
1347
+ typography.body.sm.strong </TokenTag\>
1348
+ Strong text is used to highlight important information in a paragraph of text. </IressText\>
1349
+ <IressText textStyle\="typography.body.md.strong"\>
1350
+ <TokenTag\>
1351
+ typography.body.md.strong </TokenTag\>
1352
+ Strong text is used to highlight important information in a paragraph of text. </IressText\>
1353
+ <IressText textStyle\="typography.body.lg.strong"\>
1354
+ <TokenTag\>
1355
+ typography.body.lg.strong </TokenTag\>
1356
+ Strong text is used to highlight important information in a paragraph of text. </IressText\>
1357
+ <IressDivider />
1358
+ <IressText\>
1359
+ <h4\>
1360
+ Emphasis </h4\>
1361
+ <p\>
1362
+ {\`Emphasis (em) variant is used to emphasise certain text to indicate they make a reference to a standard/legal term. This token is used to style the <em /> tag in a body of text.\`}
1363
+ </p\>
1364
+ </IressText\>
1365
+ <IressText textStyle\="typography.body.sm.em"\>
1366
+ <TokenTag\>
1367
+ typography.body.sm.em </TokenTag\>
1368
+ {' '}Emphasised text is used to highlight a term or definition in a paragraph of text. It is used sparingly, usually for legal purposes.
1369
+ </IressText\>
1370
+ <IressText textStyle\="typography.body.md.em"\>
1371
+ <TokenTag\>
1372
+ typography.body.md.em </TokenTag\>
1373
+ {' '}Emphasised text is used to highlight a term or definition in a paragraph of text. It is used sparingly, usually for legal purposes.
1374
+ </IressText\>
1375
+ <IressText textStyle\="typography.body.lg.em"\>
1376
+ <TokenTag\>
1377
+ typography.body.lg.em </TokenTag\>
1378
+ {' '}Emphasised text is used to highlight a term or definition in a paragraph of text. It is used sparingly, usually for legal purposes.
1379
+ </IressText\>
532
1380
  </IressStack\>
533
1381
 
534
1382
  Copy
535
1383
 
536
- [](#lead)Lead
537
- -------------
1384
+ [](#headings)Headings
1385
+ ---------------------
538
1386
 
539
- Lead text is used to introduce users to a new section, and often gives a brief summary of a section. It has a larger font size than body text, but a lighter font weight so that it doesn't clash with headings.
1387
+ Headings form the structure of a web page. They're designed to stand out visually, drawing a user's eye to distinct sections of the document. They can be set in a variety of sizes based on systematic font sizing with native heading scales (H1-H6).
540
1388
 
541
- Nobis odit nesciunt in, harum provident deleniti molestiae dolorum aliquid tempora optio accusamus dolore porro voluptatibus. Dolorum, repellat expedita.
1389
+ Heading 1 `<h1 />`
1390
+ ==================
542
1391
 
543
- Hide code
1392
+ typography.heading.1
544
1393
 
545
- \[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; }
1394
+ Use for the main page title to establish a clear hierarchy. There is only one H1 per screen, emphasising the primary purpose or context of the page.
546
1395
 
547
- <IressText
548
- element\="p"
549
- variant\="lead"
550
- \>
551
- Nobis odit nesciunt in, harum provident deleniti molestiae dolorum aliquid tempora optio accusamus dolore porro voluptatibus. Dolorum, repellat expedita.
552
- </IressText\>
1396
+ Heading 2 `<h2 />`
1397
+ ------------------
553
1398
 
554
- Copy
1399
+ typography.heading.2
555
1400
 
556
- [](#caption)Caption
557
- -------------------
1401
+ 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.
558
1402
 
559
- The caption variant is used for small text that provides additional information about a table or image. It has a smaller font size than body text, and a lighter font weight.
1403
+ ### Heading 3 `<h3 />`
560
1404
 
561
- Example caption
1405
+ typography.heading.3
562
1406
 
563
- Hide code
1407
+ 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.
564
1408
 
565
- \[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; }
1409
+ #### Heading 4 `<h4 />`
566
1410
 
567
- <IressText element\="caption"\>
568
- Example caption
569
- </IressText\>
1411
+ typography.heading.4
570
1412
 
571
- Copy
1413
+ 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.
572
1414
 
573
- [](#other-variants)Other variants
574
- ---------------------------------
1415
+ ##### Heading 5 `<h5 />`
575
1416
 
576
- IDS also includes bold, italic and small text variants.
1417
+ typography.heading.5
577
1418
 
578
- * Bold text should be used to **draw attention** to part of a sentence, or to provide a visual label for readonly text.
579
- * Italic text should be used to add _emphasis_ to content, or to add stress to part of a sentence.
580
- * Small text is used for side comments or for text that's secondary to the main content.
581
- * Muted text is used to de-emphasise content, such as when displaying informative text that is not critical to the user experience.
1419
+ 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.
1420
+
1421
+ An H2 styled as an H3.
1422
+ ----------------------
1423
+
1424
+ Hide code
1425
+
1426
+ \[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; }
1427
+
1428
+ <IressStack gap\="lg"\>
1429
+ <IressText\>
1430
+ <h1\>
1431
+ Heading 1{' '}
1432
+ <code\>
1433
+ {\`<h1 />\`}
1434
+ </code\>
1435
+ </h1\>
1436
+ <IressText
1437
+ mb\="sm"
1438
+ mt\="\-sm"
1439
+ \>
1440
+ <TokenTag\>
1441
+ typography.heading.1 </TokenTag\>
1442
+ </IressText\>
1443
+ <p\>
1444
+ Use for the main page title to establish a clear hierarchy. There is only one H1 per screen, emphasising the primary purpose or context of the page. </p\>
1445
+ </IressText\>
1446
+ <IressText\>
1447
+ <h2\>
1448
+ Heading 2{' '}
1449
+ <code\>
1450
+ {\`<h2 />\`}
1451
+ </code\>
1452
+ </h2\>
1453
+ <IressText
1454
+ mb\="sm"
1455
+ mt\="\-xs"
1456
+ \>
1457
+ <TokenTag\>
1458
+ typography.heading.2 </TokenTag\>
1459
+ </IressText\>
1460
+ <p\>
1461
+ 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. </p\>
1462
+ </IressText\>
1463
+ <IressText\>
1464
+ <h3\>
1465
+ Heading 3{' '}
1466
+ <code\>
1467
+ {\`<h3 />\`}
1468
+ </code\>
1469
+ </h3\>
1470
+ <IressText
1471
+ mb\="sm"
1472
+ mt\="\-xs"
1473
+ \>
1474
+ <TokenTag\>
1475
+ typography.heading.3 </TokenTag\>
1476
+ </IressText\>
1477
+ <p\>
1478
+ 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. </p\>
1479
+ </IressText\>
1480
+ <IressText\>
1481
+ <h4\>
1482
+ Heading 4{' '}
1483
+ <code\>
1484
+ {\`<h4 />\`}
1485
+ </code\>
1486
+ </h4\>
1487
+ <IressText
1488
+ mb\="sm"
1489
+ mt\="\-xs"
1490
+ \>
1491
+ <TokenTag\>
1492
+ typography.heading.4 </TokenTag\>
1493
+ </IressText\>
1494
+ <p\>
1495
+ 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. </p\>
1496
+ </IressText\>
1497
+ <IressText\>
1498
+ <h5\>
1499
+ Heading 5{' '}
1500
+ <code\>
1501
+ {\`<h5 />\`}
1502
+ </code\>
1503
+ </h5\>
1504
+ <IressText
1505
+ mb\="sm"
1506
+ mt\="\-xs"
1507
+ \>
1508
+ <TokenTag\>
1509
+ typography.heading.5 </TokenTag\>
1510
+ </IressText\>
1511
+ <p\>
1512
+ 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. </p\>
1513
+ </IressText\>
1514
+ <IressText
1515
+ element\="h2"
1516
+ textStyle\="typography.heading.3"
1517
+ \>
1518
+ An H2 styled as an H3. </IressText\>
1519
+ </IressStack\>
582
1520
 
583
- Bold text
1521
+ Copy
584
1522
 
585
- Italic text
1523
+ [](#code)Code
1524
+ -------------
586
1525
 
587
- Small text
1526
+ The code variant is used to display code snippets or other monospaced text. It is designed to be clear and easy to read, with a fixed-width font that makes it easy to distinguish between characters.
588
1527
 
589
- Muted text
1528
+ typography.code Used to display code snippets in the product, such as in the API documentation.
590
1529
 
591
1530
  Hide code
592
1531
 
593
1532
  \[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; }
594
1533
 
595
- <IressStack gutter\="md"\>
596
- <IressText variant\="bold"\>
597
- Bold text </IressText\>
598
- <IressText variant\="italic"\>
599
- Italic text </IressText\>
600
- <IressText variant\="small"\>
601
- Small text </IressText\>
602
- <IressText mode\="muted"\>
603
- Muted text </IressText\>
1534
+ <IressStack gap\="md"\>
1535
+ <IressText textStyle\="typography.code"\>
1536
+ <TokenTag\>
1537
+ typography.code </TokenTag\>
1538
+ {' '}Used to display code snippets in the product, such as in the API documentation.
1539
+ </IressText\>
604
1540
  </IressStack\>
605
1541
 
606
1542
  Copy
@@ -608,60 +1544,206 @@ Copy
608
1544
  On this page
609
1545
 
610
1546
  * [Body](#body)
1547
+ * [Sizes](#sizes)
1548
+ * [Variants](#variants)
611
1549
  * [Headings](#headings)
612
- * [Display](#display)
613
- * [Lead](#lead)
614
- * [Caption](#caption)
615
- * [Other variants](#other-variants)
1550
+ * [Code](#code)
616
1551
 
617
- ## Visual Design
1552
+ ## Responsive (breakpoints)
618
1553
 
619
- [](#visual-design-standards)Visual Design Standards
620
- ===================================================
1554
+ [](#responsive-design)Responsive Design
1555
+ =======================================
621
1556
 
622
- [](#typography)Typography
623
- -------------------------
1557
+ The Iress Design System (IDS) is built with responsive design principles in mind. This means that our components are designed to adapt to different screen sizes and orientations, ensuring a consistent user experience across devices.
624
1558
 
625
- * Use systematic font sizing with heading scales (H1-H6)
626
- * Implement consistent line heights and font weights
627
- * Provide text colour hierarchies (primary, muted, success, warning, danger)
628
- * Support responsive typography scaling
1559
+ [](#breakpoints)Breakpoints
1560
+ ---------------------------
629
1561
 
630
- [](#colour-system)Colour System
631
- -------------------------------
1562
+ * Implement mobile-first responsive design
1563
+ * Use consistent breakpoint values across all components
1564
+ * Provide appropriate component variants for different screen sizes
1565
+ * Consider content priority and progressive disclosure on smaller screens
632
1566
 
633
- * Maintain semantic colour meanings:
634
- * **Primary**: Main call-to-action colour with high contrast
635
- * **Success**: Positive outcomes and confirmations
636
- * **Warning**: Caution and important notices
637
- * **Danger**: Errors and destructive actions
638
- * **Info**: Neutral information and guidance
639
- * **Positive/Negative**: Financial context (buy/sell actions)
640
- * Ensure all colour combinations meet accessibility contrast requirements
641
- * Provide consistent hover and active state colours
1567
+ ### Breakpoints supported by IDS
642
1568
 
643
- [](#spacing-and-layout)Spacing and Layout
1569
+ | Name | Screen Width | Media Query |
1570
+ | --- | --- | --- |
1571
+ | xs | 0 - 575px | (min-width: 0) and (max-width: 575px) |
1572
+ | sm | 576px - 767px | (min-width: 576px) and (max-width: 767px) |
1573
+ | md | 768px - 1023px | (min-width: 768px) and (max-width: 1023px) |
1574
+ | lg | 1024px - 1199px | (min-width: 1024px) and (max-width: 1199px) |
1575
+ | xl | 1200px - 1499px | (min-width: 1200px) and (max-width: 1499px) |
1576
+ | xxl | 1500px and above | (min-width: 1500px) |
1577
+
1578
+ [](#adaptive-behaviour)Adaptive Behaviour
644
1579
  -----------------------------------------
645
1580
 
646
- * Use systematic spacing scale (xs, sm, md, lg, xl)
647
- * Apply consistent gutter systems for layout components
648
- * Implement responsive breakpoints for adaptive layouts
649
- * Maintain proper margin and padding relationships
1581
+ * Reduce option counts on mobile devices where appropriate
1582
+ * Implement responsive navigation patterns
1583
+ * Adjust spacing and sizing for different contexts
1584
+ * Maintain usability across all supported devices
650
1585
 
651
- [](#interactive-states)Interactive States
652
- -----------------------------------------
1586
+ * * *
653
1587
 
654
- * Provide clear hover, focus, active, and disabled states
655
- * Use consistent transition timing and easing
656
- * Implement proper focus indicators for keyboard navigation
657
- * Show loading states for asynchronous operations
1588
+ [](#for-developers)For developers
1589
+ ---------------------------------
1590
+
1591
+ If you are using the IDS components, the breakpoints have already been mapped out to their respective props. You can use props such as `gap` to change the visual properties of the component at certain breakpoints.
1592
+
1593
+ \[data-radix-scroll-area-viewport\] {
1594
+ scrollbar-width: none;
1595
+ -ms-overflow-style: none;
1596
+ -webkit-overflow-scrolling: touch;
1597
+ }
1598
+ \[data-radix-scroll-area-viewport\]::-webkit-scrollbar {
1599
+ display: none;
1600
+ }
1601
+ :where(\[data-radix-scroll-area-viewport\]) {
1602
+ display: flex;
1603
+ flex-direction: column;
1604
+ align-items: stretch;
1605
+ }
1606
+ :where(\[data-radix-scroll-area-content\]) {
1607
+ flex-grow: 1;
1608
+ }
1609
+
1610
+ import { IressStack } from '@iress-oss/ids-components';
1611
+ <IressStack gap\={{ xs: 'spacing.100', md: 'spacing.200' }} />;
1612
+
1613
+ Copy
1614
+
1615
+ ### [](#hooks)Hooks
1616
+
1617
+ #### [](#usebreakpoint)`useBreakpoint`
1618
+
1619
+ We also provide a `useBreakpoint` hook that allows you to access the current breakpoint in your components. This can be useful for conditionally rendering components based on the current screen size.
1620
+
1621
+ **Note:** It is best to use media queries for responsive styling. Most props that require responsive values already support breakpoints which map to CSS values. Only use the `useBreakpoint` hook when there is no other way to achieve the desired responsive behavior.
1622
+
1623
+ \[data-radix-scroll-area-viewport\] {
1624
+ scrollbar-width: none;
1625
+ -ms-overflow-style: none;
1626
+ -webkit-overflow-scrolling: touch;
1627
+ }
1628
+ \[data-radix-scroll-area-viewport\]::-webkit-scrollbar {
1629
+ display: none;
1630
+ }
1631
+ :where(\[data-radix-scroll-area-viewport\]) {
1632
+ display: flex;
1633
+ flex-direction: column;
1634
+ align-items: stretch;
1635
+ }
1636
+ :where(\[data-radix-scroll-area-content\]) {
1637
+ flex-grow: 1;
1638
+ }
1639
+
1640
+ import { useBreakpoint } from '@iress-oss/ids-components';
1641
+ const MyComponent \= () \=> {
1642
+ const { breakpoint } \= useBreakpoint();
1643
+ return (
1644
+ <div\>
1645
+ {breakpoint \=== 'xs' && <p\>This is extra small screen</p\>}
1646
+ {breakpoint \=== 'md' && <p\>This is medium screen</p\>}
1647
+ </div\>
1648
+ );
1649
+ };
1650
+
1651
+ Copy
1652
+
1653
+ #### [](#useresponsiveprops)`useResponsiveProps`
1654
+
1655
+ Another hook is `useResponsiveProps`, which allows you to define responsive properties that change based on the current breakpoint. This is particularly useful for completely changing components at various screen sizes.
1656
+
1657
+ **Note:** It is best to use media queries for responsive styling. Most props that require responsive values already support breakpoints which map to CSS values. Only use the `useResponsiveProps` hook when there is no other way to achieve the desired responsive behavior.
1658
+
1659
+ `useResponsiveProps`
1660
+ --------------------
1661
+
1662
+ This example demonstrates a use case for `useResponsiveProps`, for changing the columns on a table based on the breakpoint.
1663
+
1664
+ Resize the screen to see the columns change
1665
+
1666
+ | Name | Age |
1667
+ | --- | --- |
1668
+ | Luke Skywalker | 19 |
1669
+ | Princess Leia | 19 |
1670
+ | Han Solo | 32 |
1671
+
1672
+ Hide code
1673
+
1674
+ \[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; }
1675
+
1676
+ export const ResponsiveTableColumns \= () \=> {
1677
+ const { value } \= useResponsiveProps({
1678
+ base: \[{ key: 'name', label: 'Name' }\],
1679
+ lg: \[
1680
+ { key: 'name', label: 'Name' },
1681
+ { key: 'age', label: 'Age' },
1682
+ \],
1683
+ });
1684
+ return (
1685
+ <IressTable
1686
+ caption\={
1687
+ <IressText textAlign\="left"\>
1688
+ <h2\>
1689
+ <code\>useResponsiveProps</code\>
1690
+ </h2\>
1691
+ <p\>
1692
+ This example demonstrates a use case for{' '}
1693
+ <code\>useResponsiveProps</code\>, for changing the columns on a table
1694
+ based on the breakpoint. </p\>
1695
+ <p\>Resize the screen to see the columns change</p\>
1696
+ </IressText\>
1697
+ }
1698
+ columns\={value}
1699
+ rows\={\[
1700
+ { name: 'Luke Skywalker', age: 19 },
1701
+ { name: 'Princess Leia', age: 19 },
1702
+ { name: 'Han Solo', age: 32 },
1703
+ \]}
1704
+ />
1705
+ );
1706
+ };
1707
+
1708
+ Copy
1709
+
1710
+ ### [](#constant)Constant
1711
+
1712
+ You can also use the breakpoints directly in your CSS or styled components. The breakpoints are defined in the `@iress-oss/ids-components` package.
1713
+
1714
+ \[data-radix-scroll-area-viewport\] {
1715
+ scrollbar-width: none;
1716
+ -ms-overflow-style: none;
1717
+ -webkit-overflow-scrolling: touch;
1718
+ }
1719
+ \[data-radix-scroll-area-viewport\]::-webkit-scrollbar {
1720
+ display: none;
1721
+ }
1722
+ :where(\[data-radix-scroll-area-viewport\]) {
1723
+ display: flex;
1724
+ flex-direction: column;
1725
+ align-items: stretch;
1726
+ }
1727
+ :where(\[data-radix-scroll-area-content\]) {
1728
+ flex-grow: 1;
1729
+ }
1730
+
1731
+ import { BREAKPOINT\_DETAILS } from '@iress-oss/ids-components';
1732
+ const css \= \`
1733
+ @media (${BREAKPOINT\_DETAILS.md.mediaQuery}}) {
1734
+ .my-class { padding: 20px; } }
1735
+ \`;
1736
+ <style\>{css}</style\>;
1737
+
1738
+ Copy
658
1739
 
659
1740
  On this page
660
1741
 
661
- * [Typography](#typography)
662
- * [Colour System](#colour-system)
663
- * [Spacing and Layout](#spacing-and-layout)
664
- * [Interactive States](#interactive-states)
1742
+ * [Breakpoints](#breakpoints)
1743
+ * [Adaptive Behaviour](#adaptive-behaviour)
1744
+ * [For developers](#for-developers)
1745
+ * [Hooks](#hooks)
1746
+ * [Constant](#constant)
665
1747
 
666
1748
  ## Consistency
667
1749
 
@@ -718,6 +1800,83 @@ On this page
718
1800
  * [Data Display](#data-display)
719
1801
  * [Modals and Overlays](#modals-and-overlays)
720
1802
 
1803
+ ## Grid
1804
+
1805
+ [](#grid)Grid
1806
+ =============
1807
+
1808
+ The grid is used to evenly place other components across the page to ensure a consistent hierarchy and structure.
1809
+
1810
+ [](#reference)Reference
1811
+ -----------------------
1812
+
1813
+ Grid size: 12
1814
+
1815
+ 1
1816
+
1817
+ 2
1818
+
1819
+ 3
1820
+
1821
+ 4
1822
+
1823
+ 5
1824
+
1825
+ 6
1826
+
1827
+ 7
1828
+
1829
+ 8
1830
+
1831
+ 9
1832
+
1833
+ 10
1834
+
1835
+ 11
1836
+
1837
+ 12
1838
+
1839
+ * * *
1840
+
1841
+ [](#for-developers)For developers
1842
+ ---------------------------------
1843
+
1844
+ If you are using the IDS components, you can use `IressContainer`, `IressRow`, and `IressCol` to create a grid layout. These components are designed to work together to create a responsive grid system.
1845
+
1846
+ \[data-radix-scroll-area-viewport\] {
1847
+ scrollbar-width: none;
1848
+ -ms-overflow-style: none;
1849
+ -webkit-overflow-scrolling: touch;
1850
+ }
1851
+ \[data-radix-scroll-area-viewport\]::-webkit-scrollbar {
1852
+ display: none;
1853
+ }
1854
+ :where(\[data-radix-scroll-area-viewport\]) {
1855
+ display: flex;
1856
+ flex-direction: column;
1857
+ align-items: stretch;
1858
+ }
1859
+ :where(\[data-radix-scroll-area-content\]) {
1860
+ flex-grow: 1;
1861
+ }
1862
+
1863
+ import { IressContainer, IressRow, IressCol } from '@iress-oss/ids-components';
1864
+ <IressContainer\>
1865
+ <IressRow\>
1866
+ <IressCol span\={8}\>Column 1</IressCol\>
1867
+ <IressCol span\={4}\>Column 2</IressCol\>
1868
+ </IressRow\>
1869
+ </IressContainer\>;
1870
+
1871
+ Copy
1872
+
1873
+ The base grid size is exported as `GRID_SIZE` from the `@iress-oss/ids-components` package, in case you need to reference it in your own code.
1874
+
1875
+ On this page
1876
+
1877
+ * [Reference](#reference)
1878
+ * [For developers](#for-developers)
1879
+
721
1880
  ## Content
722
1881
 
723
1882
  [](#content)Content
@@ -810,3 +1969,86 @@ On this page
810
1969
  * [Recognition Over Recall](#recognition-over-recall)
811
1970
  * [Simplicity and Minimalism](#simplicity-and-minimalism)
812
1971
 
1972
+ ## Visual Design
1973
+
1974
+ [](#visual-design-standards)Visual Design Standards
1975
+ ===================================================
1976
+
1977
+ [](#typography)Typography
1978
+ -------------------------
1979
+
1980
+ * Use systematic font sizing with heading scales (H1-H6)
1981
+ * Implement consistent line heights and font weights
1982
+ * Provide text colour hierarchies (primary, muted, success, warning, danger)
1983
+ * Support responsive typography scaling
1984
+
1985
+ [](#colour-system)Colour System
1986
+ -------------------------------
1987
+
1988
+ * Maintain semantic colour meanings:
1989
+ * **Primary**: Main call-to-action colour with high contrast
1990
+ * **Success**: Positive outcomes and confirmations
1991
+ * **Warning**: Caution and important notices
1992
+ * **Danger**: Errors and destructive actions
1993
+ * **Info**: Neutral information and guidance
1994
+ * **Positive/Negative**: Financial context (buy/sell actions)
1995
+ * Ensure all colour combinations meet accessibility contrast requirements
1996
+ * Provide consistent hover and active state colours
1997
+
1998
+ [](#spacing-and-layout)Spacing and Layout
1999
+ -----------------------------------------
2000
+
2001
+ * Use systematic spacing scale (xs, sm, md, lg, xl)
2002
+ * Apply consistent gutter systems for layout components
2003
+ * Implement responsive breakpoints for adaptive layouts
2004
+ * Maintain proper margin and padding relationships
2005
+
2006
+ [](#interactive-states)Interactive States
2007
+ -----------------------------------------
2008
+
2009
+ * Provide clear hover, focus, active, and disabled states
2010
+ * Use consistent transition timing and easing
2011
+ * Implement proper focus indicators for keyboard navigation
2012
+ * Show loading states for asynchronous operations
2013
+
2014
+ On this page
2015
+
2016
+ * [Typography](#typography)
2017
+ * [Colour System](#colour-system)
2018
+ * [Spacing and Layout](#spacing-and-layout)
2019
+ * [Interactive States](#interactive-states)
2020
+
2021
+ ## Z-index (stacking)
2022
+
2023
+ [](#z-index-stacking)Z-index (stacking)
2024
+ =======================================
2025
+
2026
+ The z-index determines the stacking order of elements. Elements with a higher z-index always sit in front of elements with a lower z-index. Each index has been mapped to the appropriate elevation(s).
2027
+
2028
+ [](#reference)Reference
2029
+ -----------------------
2030
+
2031
+ | Name | Usage | Value |
2032
+ | --- | --- | --- |
2033
+ | DEFAULT | The default z-index used for most elements. Can be combined with raised and floating elevations. | 0 |
2034
+ | MODAL | Used for IressModal. Can be combined with floating elevation. | 400 |
2035
+ | NAVBAR | Used for navbars. Can be combined with overflow elevation. | 100 |
2036
+ | POPOVER | Used for IressPopover. Can be combined with floating elevation. | 200 |
2037
+ | SLIDEOUT | Used for IressSlideout. Can be combined with floating elevation. | 300 |
2038
+ | TOAST | Used for IressToast. Can be combined with floating elevation. | 500 |
2039
+ | TOOLTIP | Used for IressTooltip. Can be combined with floating elevation. | 600 |
2040
+
2041
+ * * *
2042
+
2043
+ [](#for-developers)For developers
2044
+ ---------------------------------
2045
+
2046
+ If you are using the IDS components, the z-indexes have already been mapped out to their respective components based on the usage above. They are hardcoded into the components, so you don't need to worry about them.
2047
+
2048
+ The mapping is exported as `Z_INDEX` from the `@iress-oss/ids-components` package, in case you need to reference it in your own code.
2049
+
2050
+ On this page
2051
+
2052
+ * [Reference](#reference)
2053
+ * [For developers](#for-developers)
2054
+