@iress-oss/ids-mcp-server 5.14.2 → 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 (105) 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 +269 -56
  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 +160 -0
  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 +501 -1723
  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 +512 -51
  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/get-started-develop-docs.md +177 -16
  74. package/generated/docs/guidelines.md +1537 -295
  75. package/generated/docs/introduction-docs.md +65 -21
  76. package/generated/docs/news-version-6-docs.md +93 -0
  77. package/generated/docs/patterns-form-docs.md +3902 -0
  78. package/generated/docs/patterns-form-recipes-docs.md +1370 -0
  79. package/generated/docs/patterns-introduction-docs.md +24 -0
  80. package/generated/docs/patterns-loading-docs.md +2942 -203
  81. package/generated/docs/resources-introduction-docs.md +38 -0
  82. package/generated/docs/resources-mcp-server-docs.md +27 -0
  83. package/generated/docs/styling-props-colour-docs.md +172 -0
  84. package/generated/docs/styling-props-elevation-docs.md +88 -0
  85. package/generated/docs/styling-props-radius-docs.md +86 -0
  86. package/generated/docs/styling-props-reference-docs.md +160 -0
  87. package/generated/docs/styling-props-screen-readers-docs.md +71 -0
  88. package/generated/docs/styling-props-sizing-docs.md +627 -0
  89. package/generated/docs/styling-props-spacing-docs.md +2282 -0
  90. package/generated/docs/styling-props-typography-docs.md +121 -0
  91. package/generated/docs/themes-available-themes-docs.md +29 -29
  92. package/generated/docs/themes-introduction-docs.md +1 -1
  93. package/package.json +3 -22
  94. package/generated/docs/components-button-recipes-docs.md +0 -76
  95. package/generated/docs/components-card-recipes-docs.md +0 -89
  96. package/generated/docs/components-combobox-docs.md +0 -1016
  97. package/generated/docs/components-form-docs.md +0 -2442
  98. package/generated/docs/components-form-recipes-docs.md +0 -892
  99. package/generated/docs/components-navbar-docs.md +0 -291
  100. package/generated/docs/components-navbar-recipes-docs.md +0 -413
  101. package/generated/docs/components-toaster-toast-docs.md +0 -157
  102. package/generated/docs/foundations-colours-docs.md +0 -257
  103. package/generated/docs/foundations-typography-docs.md +0 -191
  104. package/generated/docs/resources-changelog-docs.md +0 -6
  105. package/generated/docs/themes-tokens-docs.md +0 -1200
@@ -6,6 +6,14 @@ Overview
6
6
 
7
7
  The field component is used to place label, hint and error information around form controls.
8
8
 
9
+ * * *
10
+
11
+ Updated
12
+
13
+ **Recently updated**
14
+
15
+ This component has been recently updated with new props. The props have been marked as beta. Please tell us if there are any issues.
16
+
9
17
  First name
10
18
 
11
19
  Hide code
@@ -23,6 +31,493 @@ Hide code
23
31
 
24
32
  Copy
25
33
 
34
+ [](#props)Props
35
+ ---------------
36
+
37
+ | Name | Description | Default | Control |
38
+ | --- | --- | --- | --- |
39
+ | bg |
40
+ **`bg`** sets the background color of an element using the `background-color` css property using the color tokens in the design system.
41
+
42
+ We recommend using the following token values for best background contrast:
43
+
44
+ * `colour.primary.fill` for primary backgrounds that need to stand out
45
+ * `colour.primary.surface` for primary backgrounds that need to be less prominent
46
+ * `colour.neutral.10` for the base background color, normally white in light mode or shade of grey in dark mode
47
+ * `colour.neutral.20` for a slightly darker background color, used in neutral state components
48
+ * `colour.system.danger.fill` for error backgrounds that need to stand out
49
+ * `colour.system.danger.surface` for error backgrounds that need to be less prominent
50
+ * `colour.system.success.fill` for success backgrounds that need to stand out
51
+ * `colour.system.success.surface` for success backgrounds that need to be less prominent
52
+ * `colour.system.warning.fill` for warning backgrounds that need to stand out
53
+ * `colour.system.warning.surface` for warning backgrounds that need to be less prominent
54
+ * `colour.system.info.fill` for info backgrounds that need to stand out
55
+ * `colour.system.info.surface` for info backgrounds that need to be less prominent
56
+
57
+ ResponsiveProp<ColorToken> | undefined
58
+
59
+ | \- | Set object |
60
+ | borderRadius |
61
+
62
+ The **`border-radius`** CSS property rounds the corners of an element's outer border edge using the radius tokens in the design system.
63
+
64
+ | Chrome | Firefox | Safari | Edge | IE |
65
+ | --- | --- | --- | --- | --- |
66
+ | **4** | **4** | **5** | **12** | **9** |
67
+ | 1 _\-x-_ | | 3 _\-x-_ | | |
68
+
69
+ ResponsiveProp<RadiusToken> | undefined
70
+
71
+ | \- | Set object |
72
+ | children |
73
+
74
+ \-
75
+
76
+ | \- | \- |
77
+ | color |
78
+
79
+ 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`.
80
+
81
+ We recommend using the following token values for best color contrast:
82
+
83
+ * `colour.primary.onFill` used on top of `colour.primary.fill` for primary text that needs to stand out
84
+ * `colour.primary.text` used on top of `colour.primary.surface` or `colour.neutral.10` for primary text that needs to be less prominent
85
+ * `colour.neutral.70` used on top of `colour.neutral.10` or `colour.neutral.20` for muted text
86
+ * `colour.neutral.80` used on top of `colour.neutral.10` or `colour.neutral.20` for standard text
87
+ * `colour.system.danger.onFill` used on top of `colour.system.danger.fill` for error text that needs to stand out
88
+ * `colour.system.danger.text` used on top of `colour.system.danger.surface` for error text that needs to be less prominent
89
+ * `colour.system.success.onFill` used on top of `colour.system.success.fill` for success text that needs to stand out
90
+ * `colour.system.success.text` used on top of `colour.system.success.surface` for success text that needs to be less prominent
91
+ * `colour.system.warning.onFill` used on top of `colour.system.warning.fill` for warning text that needs to stand out
92
+ * `colour.system.warning.text` used on top of `colour.system.warning.surface` for warning text that needs to be less prominent
93
+ * `colour.system.info.onFill` used on top of `colour.system.info.fill` for informative text that needs to stand out
94
+ * `colour.system.info.text` used on top of `colour.system.info.surface` for informative text that needs to be less prominent
95
+
96
+ ResponsiveProp<ColorToken> | undefined
97
+
98
+ | \- | Set object |
99
+ | error |
100
+
101
+ Validation error to be displayed above the field.
102
+
103
+ ReactNode
104
+
105
+
106
+
107
+ | \- | Set object |
108
+ | errorMessages |
109
+
110
+ Validation errors to be displayed above the field, an array of validation messages to be displayed in `IressValidationSummary`.
111
+
112
+ ValidationMessageObj\[\] | undefined
113
+
114
+ | \- | Set object |
115
+ | focusable |
116
+
117
+ 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.
118
+
119
+ "true""within"undefined
120
+
121
+
122
+
123
+ | \- | Set object |
124
+ | hiddenLabel |
125
+
126
+ Visually hides the label text, but still available to screen readers.
127
+
128
+ booleanundefined
129
+
130
+
131
+
132
+ | \- | Set object |
133
+ | hide |
134
+
135
+ 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.
136
+
137
+ Hide on all breakpoints: `hide: true` Hide on specific breakpoints: `hide: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
138
+
139
+ Notes:
140
+
141
+ * If you need to hide an element but allow it to be visible to screen readers, use the `srOnly` prop instead.
142
+ * Consider if you can conditionally render the element instead of hiding it.
143
+
144
+ ResponsiveProp<boolean> | undefined
145
+
146
+ | \- | Set object |
147
+ | hint |
148
+
149
+ Text to be displayed as supporting field description.
150
+
151
+ ReactNode
152
+
153
+
154
+
155
+ | \- | Set object |
156
+ | horizontal |
157
+
158
+ Displays the label and input field inline instead of stacked vertically.
159
+
160
+ booleanundefined
161
+
162
+
163
+
164
+ | \- | Set object |
165
+ | htmlFor |
166
+
167
+ Used to connect it to the input element, it should be the input's id. If provided, the label will be rendered as a `<label>` element, otherwise it will be rendered as a `<strong>` element.
168
+
169
+ [Learn more](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/for)
170
+
171
+ stringundefined
172
+
173
+
174
+
175
+ | \- | Set object |
176
+ | label\* |
177
+
178
+ Text to be displayed in the label.
179
+
180
+ ReactNode
181
+
182
+
183
+
184
+ | \- |
185
+
186
+ "First name"
187
+
188
+ |
189
+ | labelWidth |
190
+
191
+ Controls the width of the label container when in horizontal mode. Can be any valid CSS width value (e.g., '200px', '20%', 'auto'). Only applies when `horizontal` is true.
192
+
193
+ stringundefined
194
+
195
+
196
+
197
+ | \- | Set object |
198
+ | layerStyle |
199
+
200
+ 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.
201
+
202
+ * `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.
203
+ * `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.
204
+ * `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.
205
+
206
+ ResponsiveProp<"elevation.raised" | "elevation.floating" | "elevation.overflow" | "elevation.focus" | "elevation.focusCompact"> | undefined
207
+
208
+ | \- | Set object |
209
+ | m |
210
+
211
+ The **`m`** property is short for `margin`, and sets the margin area on all four sides of an element.
212
+
213
+ 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.
214
+
215
+ | Chrome | Firefox | Safari | Edge | IE |
216
+ | --- | --- | --- | --- | --- |
217
+ | **1** | **1** | **1** | **12** | **3** |
218
+
219
+ ResponsiveProp<SpacingToken | "auto"> | undefined
220
+
221
+ | \- | Set object |
222
+ | maxWidth |
223
+
224
+ 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`.
225
+
226
+ | Chrome | Firefox | Safari | Edge | IE |
227
+ | --- | --- | --- | --- | --- |
228
+ | **1** | **1** | **1** | **12** | **7** |
229
+
230
+ 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
231
+
232
+ | \- | Set object |
233
+ | mb |
234
+
235
+ 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.
236
+
237
+ It uses the spacing tokens in the design system.
238
+
239
+ | Chrome | Firefox | Safari | Edge | IE |
240
+ | --- | --- | --- | --- | --- |
241
+ | **1** | **1** | **1** | **12** | **3** |
242
+
243
+ ResponsiveProp<SpacingToken | "auto"> | undefined
244
+
245
+ | \- | Set object |
246
+ | ml |
247
+
248
+ 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.
249
+
250
+ It uses the spacing tokens in the design system.
251
+
252
+ | Chrome | Firefox | Safari | Edge | IE |
253
+ | --- | --- | --- | --- | --- |
254
+ | **1** | **1** | **1** | **12** | **3** |
255
+
256
+ ResponsiveProp<SpacingToken | "auto"> | undefined
257
+
258
+ | \- | Set object |
259
+ | mr |
260
+
261
+ 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.
262
+
263
+ It uses the spacing tokens in the design system.
264
+
265
+ | Chrome | Firefox | Safari | Edge | IE |
266
+ | --- | --- | --- | --- | --- |
267
+ | **1** | **1** | **1** | **12** | **3** |
268
+
269
+ ResponsiveProp<SpacingToken | "auto"> | undefined
270
+
271
+ | \- | Set object |
272
+ | mt |
273
+
274
+ 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.
275
+
276
+ It uses the spacing tokens in the design system.
277
+
278
+ | Chrome | Firefox | Safari | Edge | IE |
279
+ | --- | --- | --- | --- | --- |
280
+ | **1** | **1** | **1** | **12** | **3** |
281
+
282
+ ResponsiveProp<SpacingToken | "auto"> | undefined
283
+
284
+ | \- | Set object |
285
+ | mx |
286
+
287
+ 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.
288
+
289
+ 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.
290
+
291
+ | Chrome | Firefox | Safari | Edge | IE |
292
+ | --- | --- | --- | --- | --- |
293
+ | **1** | **1** | **1** | **12** | **3** |
294
+
295
+ ResponsiveProp<SpacingToken | "auto"> | undefined
296
+
297
+ | \- | Set object |
298
+ | my |
299
+
300
+ 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.
301
+
302
+ 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.
303
+
304
+ | Chrome | Firefox | Safari | Edge | IE |
305
+ | --- | --- | --- | --- | --- |
306
+ | **1** | **1** | **1** | **12** | **3** |
307
+
308
+ ResponsiveProp<SpacingToken | "auto"> | undefined
309
+
310
+ | \- | Set object |
311
+ | noGutter |
312
+
313
+ 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.
314
+
315
+ booleanundefined
316
+
317
+
318
+
319
+ | \- | Set object |
320
+ | p |
321
+
322
+ The **`p`** property is short for `padding`, and sets the padding area on all four sides of an element at once.
323
+
324
+ 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.
325
+
326
+ | Chrome | Firefox | Safari | Edge | IE |
327
+ | --- | --- | --- | --- | --- |
328
+ | **1** | **1** | **1** | **12** | **3** |
329
+
330
+ 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
331
+
332
+ | \- | Set object |
333
+ | pb |
334
+
335
+ The **`pb`** property is short for `padding-bottom` and sets the padding area on the bottom side of an element.
336
+
337
+ 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.
338
+
339
+ | Chrome | Firefox | Safari | Edge | IE |
340
+ | --- | --- | --- | --- | --- |
341
+ | **1** | **1** | **1** | **12** | **3** |
342
+
343
+ 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
344
+
345
+ | \- | Set object |
346
+ | pl |
347
+
348
+ The **`pl`** property is short for `padding-left` and sets the padding area on the left side of an element.
349
+
350
+ 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.
351
+
352
+ | Chrome | Firefox | Safari | Edge | IE |
353
+ | --- | --- | --- | --- | --- |
354
+ | **1** | **1** | **1** | **12** | **3** |
355
+
356
+ 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
357
+
358
+ | \- | Set object |
359
+ | pr |
360
+
361
+ The **`pr`** property is short for `padding-right` and sets the padding area on the right side of an element.
362
+
363
+ 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.
364
+
365
+ | Chrome | Firefox | Safari | Edge | IE |
366
+ | --- | --- | --- | --- | --- |
367
+ | **1** | **1** | **1** | **12** | **3** |
368
+
369
+ 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
370
+
371
+ | \- | Set object |
372
+ | pt |
373
+
374
+ The **`pt`** property is short for `padding-top` and sets the padding area on the top side of an element.
375
+
376
+ 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.
377
+
378
+ | Chrome | Firefox | Safari | Edge | IE |
379
+ | --- | --- | --- | --- | --- |
380
+ | **1** | **1** | **1** | **12** | **3** |
381
+
382
+ 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
383
+
384
+ | \- | Set object |
385
+ | px |
386
+
387
+ 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.
388
+
389
+ 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.
390
+
391
+ | Chrome | Firefox | Safari | Edge | IE |
392
+ | --- | --- | --- | --- | --- |
393
+ | **1** | **1** | **1** | **12** | **3** |
394
+
395
+ 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
396
+
397
+ | \- | Set object |
398
+ | py |
399
+
400
+ 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.
401
+
402
+ 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.
403
+
404
+ | Chrome | Firefox | Safari | Edge | IE |
405
+ | --- | --- | --- | --- | --- |
406
+ | **1** | **1** | **1** | **12** | **3** |
407
+
408
+ 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
409
+
410
+ | \- | Set object |
411
+ | readOnly |
412
+
413
+ Renders the group in a read-only state (no asterisk symbol).
414
+
415
+ booleanundefined
416
+
417
+
418
+
419
+ | \- | Set object |
420
+ | removeErrorMargin |
421
+
422
+ Removes the reserved space for error messages, allowing fields to stack with narrower gaps. When true, no margin is reserved for potential error messages.
423
+
424
+ booleanundefined
425
+
426
+
427
+
428
+ | \- | Set object |
429
+ | required |
430
+
431
+ When set to true, the 'required asterisk (\*)' is displayed next to the label text.
432
+
433
+ booleanundefined
434
+
435
+
436
+
437
+ | \- | Set object |
438
+ | rowGap |
439
+
440
+ The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's rows.
441
+
442
+ Note: It only has an effect when used as a direct child of a layout component, such as IressRow, IressStack or IressInline.
443
+
444
+ | Chrome | Firefox | Safari | Edge | IE |
445
+ | --- | --- | --- | --- | --- |
446
+ | **47** | **52** | **10.1** | **16** | No |
447
+
448
+ 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
449
+
450
+ | \- | Set object |
451
+ | srOnly |
452
+
453
+ 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
+
455
+ Hide on all breakpoints: `srOnly: true` Hide on specific breakpoints: `srOnly: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
456
+
457
+ ResponsiveProp<boolean> | undefined
458
+
459
+ | \- | Set object |
460
+ | stretch |
461
+
462
+ 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.
463
+
464
+ booleanundefined
465
+
466
+
467
+
468
+ | \- | Set object |
469
+ | supplementary |
470
+
471
+ Supplementary content to be displayed below the field. Is only shown when the field is not in an error state.
472
+
473
+ ReactNode
474
+
475
+
476
+
477
+ | \- | Set object |
478
+ | textAlign |
479
+
480
+ The **`text-align`** CSS property sets the horizontal alignment of the inline-level content inside a block element or table-cell box.
481
+
482
+ | Chrome | Firefox | Safari | Edge | IE |
483
+ | --- | --- | --- | --- | --- |
484
+ | **1** | **1** | **1** | **12** | **3** |
485
+
486
+ ResponsiveProp<"center" | "left" | "right" | "inherit" | "justify"> | undefined
487
+
488
+ | \- | Set object |
489
+ | textStyle |
490
+
491
+ Select the typography to be used using the **`textStyle`** prop. These are connected to the typography tokens in the design system.'
492
+
493
+ * `typography.body.sm` - Use for small components such as badges and disclaimers, as well as compact variations of tables and lists.
494
+ * `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.
495
+ * `typography.body.lg` - Use for tag lines, subtitles, and other large text content in the product.
496
+ * `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.
497
+ * `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.
498
+ * `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.
499
+ * `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.
500
+ * `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.
501
+ * `typography.code` - Used to display code snippets in the product, such as in the API documentation.
502
+
503
+ 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
504
+
505
+ | \- | Set object |
506
+ | width |
507
+
508
+ 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.
509
+
510
+ 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.
511
+
512
+ | Chrome | Firefox | Safari | Edge | IE |
513
+ | --- | --- | --- | --- | --- |
514
+ | **1** | **1** | **1** | **12** | **4** |
515
+
516
+ 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
517
+
518
+ | \- | Set object |
519
+ | Show Storybook only itemsStorybook only | Show Storybook only items |
520
+
26
521
  [](#examples)Examples
27
522
  ---------------------
28
523
 
@@ -81,9 +576,7 @@ To display error messages associated with the field, you can use the `errorMessa
81
576
 
82
577
  Error message
83
578
 
84
- * Error:
85
-
86
- This field is required
579
+ * This field is required
87
580
 
88
581
 
89
582
  Hide code
@@ -98,8 +591,12 @@ Hide code
98
591
  \]}
99
592
  label\="Error message"
100
593
  \>
101
- <IressInput append={<IressButton data-testid\="show-password-icon" mode\="tertiary" prepend\={<IressIcon name\="fal fa-light fa-eye" screenreaderText\="Show" size\="sm" style\={{width: '18px'}}/>}/>}
102
- id="name" name="name" required />
594
+ <IressInput
595
+ append\={<IressButton data-testid\="show-password-icon" mode\="tertiary" prepend\={<IressIcon name\="eye" screenreaderText\="Show"/>}/>}
596
+ id\="name"
597
+ name\="name"
598
+ required
599
+ />
103
600
  </IressField\>
104
601
 
105
602
  Copy
@@ -112,16 +609,15 @@ For more control over the formatting of the error, you can use the `error` prop.
112
609
 
113
610
  Custom error
114
611
 
115
- Error:
116
-
117
- This is a custom error message
612
+ * This is a custom error message
613
+
118
614
 
119
615
  Hide code
120
616
 
121
617
  \[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; }
122
618
 
123
619
  <IressField
124
- error\={<IressValidationMessage\>This is a custom error message</IressValidationMessage\>}
620
+ error\={<IressText color\="colour.system.danger.text" element\="small"\>This is a custom error message</IressText\>}
125
621
  label\="Custom error"
126
622
  \>
127
623
  <IressInput
@@ -164,16 +660,15 @@ This label is hidden
164
660
 
165
661
  This hint text is hidden
166
662
 
167
- Error:
168
-
169
- Even fields with hidden labels will show their validation message
663
+ * Even fields with hidden labels will show their validation message
664
+
170
665
 
171
666
  Hide code
172
667
 
173
668
  \[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; }
174
669
 
175
670
  <IressField
176
- error\={<IressValidationMessage\>Even fields with hidden labels will show their validation message</IressValidationMessage\>}
671
+ error\={<IressText color\="colour.system.danger.text" element\="small"\>Even fields with hidden labels will show their validation message</IressText\>}
177
672
  hiddenLabel
178
673
  hint\="This hint text is hidden"
179
674
  label\="This label is hidden"
@@ -192,7 +687,7 @@ Copy
192
687
 
193
688
  Fields marked as `required` will have an asterisk prepended to the label.
194
689
 
195
- \*Required This field is required
690
+ \*RequiredThis field is required
196
691
 
197
692
  Hide code
198
693
 
@@ -212,32 +707,6 @@ Hide code
212
707
 
213
708
  Copy
214
709
 
215
- ### [](#optional)Optional
216
-
217
- Fields marked as `optional` will have optional text appended to the label. This is used in cases where the majority of the fields are required, and you only want to highlight the optional fields and not overwhelm the user.
218
-
219
- You can set `optional` to a string to customise the optional text.
220
-
221
- This field is optional(optional)
222
-
223
- Hide code
224
-
225
- \[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; }
226
-
227
- <IressField
228
- label\="This field is optional"
229
- optional
230
- \>
231
- <IressInput
232
- id\="name"
233
- name\="input1"
234
- required
235
- type\="text"
236
- />
237
- </IressField\>
238
-
239
- Copy
240
-
241
710
  ### [](#readonly-data)Readonly data
242
711
 
243
712
  Fields can be used to display read-only data. This is useful when you want to display data that the user can't change, but you still want to display it in a form-like layout.
@@ -271,42 +740,395 @@ Hide code
271
740
 
272
741
  Copy
273
742
 
274
- [](#iressfieldgroup)`IressFieldGroup`
275
- -------------------------------------
743
+ ### [](#supplementary)Supplementary
276
744
 
277
- The `IressFieldGroup` component is used to group multiple `Field` components together. This is useful when you have multiple fields that are related to each other, and you want to display them together.
745
+ The `supplementary` prop can be used to display additional information about the field.
278
746
 
279
- Under the hood it uses a `fieldset` and `legend` element to group the fields together, improving the semantics of your form if you use multiple inputs (eg. in the case of a checkbox group) and making it more accessible.
747
+ This is used to display some metadata based on the value of the field in context. Examples include:
280
748
 
281
- Full name
749
+ * A trading share field that displays the current price of the share.
750
+ * A commission percentage field that displays the expected commission based on the value of multiple fields.
282
751
 
283
- Title
752
+ #### [](#notes)Notes
753
+
754
+ * The `supplementary` prop is not a replacement for the `hint` prop. The `hint` prop should be used to provide additional information about the field itself, while the `supplementary` prop should be used to display additional information about the value of the field.
755
+ * The `supplementary` prop will only be displayed if the field is not in an error state. If the field is in an error state, the `error` and `errorMessages` prop will be displayed instead.
284
756
 
285
- \*Required First name
757
+ Show error
286
758
 
287
- \*Required Last name
759
+ First name
760
+
761
+ I only show if there is no error
288
762
 
289
763
  Hide code
290
764
 
291
765
  \[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; }
292
766
 
293
- <IressFieldGroup label\="Full name"\>
767
+ <IressStack gap\="spacing.500"\>
768
+ <IressToggle
769
+ onChange\={(checked) \=> setError(checked ? "This field is required" : void 0)}
770
+ \>
771
+ Show error </IressToggle\>
294
772
  <IressField
295
- htmlFor\="title"
296
- label\="Title"
773
+ label\="First name"
774
+ supplementary\="I only show if there is no error"
297
775
  \>
298
776
  <IressInput
299
- id\="title"
300
- name\="title"
777
+ id\="name"
778
+ name\="input1"
779
+ required
301
780
  type\="text"
302
- width\="2"
303
781
  />
304
782
  </IressField\>
305
- <IressField
306
- htmlFor\="firstName"
307
- label\="First name"
308
- required
309
- \>
783
+ </IressStack\>
784
+
785
+ Copy
786
+
787
+ ### [](#horizontal-layout)Horizontal layout
788
+
789
+ Fields can be displayed with a horizontal layout where the label and input are on the same line, which can save vertical space in forms. Use the `horizontal` prop to enable this layout. In horizontal mode, hint text is displayed as a tooltip when hovering over the info icon, rather than being shown below the label as in the default vertical layout.
790
+
791
+ #### [](#avoid-using-horizontal-mode-for-majority-of-cases)Avoid using horizontal mode for majority of cases
792
+
793
+ Vertical layout is preferred, it is more accessible in more scenarios by ensuring a consistent layout on different devices and keep the label closer to the input ensuring its relationship and making forms easier to scan. There are studies showing [vertical layouts can be faster to fill out](https://content-and-marketing.com/blog/10-mobile-form-design-best-practices-2024). Here are a few cases where you may use a horizontal layout:
794
+
795
+ * On dashboards where space is limited, it may be necessary to display fields in a horizontal layout to make use of the space and give prominence to dashboard visuals.
796
+ * Collaborative visual tools that require real-time editing and previews, such as Styler, Miro, Figma, where fields are less prominent to give prominence to the intended output.
797
+
798
+ Email address
799
+
800
+ We will not share your email with third parties (Supplementary text)
801
+
802
+ Hide code
803
+
804
+ \[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; }
805
+
806
+ <IressField
807
+ hint\="Enter your email address for contact"
808
+ horizontal
809
+ label\="Email address"
810
+ labelWidth\="250px"
811
+ supplementary\="We will not share your email with third parties (Supplementary text)"
812
+ \>
813
+ <IressInput
814
+ id\="email"
815
+ name\="email"
816
+ placeholder\="john.doe@example.com"
817
+ required
818
+ type\="email"
819
+ />
820
+ </IressField\>
821
+
822
+ Copy
823
+
824
+ #### [](#horizontal-with-error)Horizontal with error
825
+
826
+ Error messages in horizontal layout are displayed below both the label and input field, spanning the full width.
827
+
828
+ Email address
829
+
830
+ * Please enter a valid email address
831
+
832
+
833
+ Hide code
834
+
835
+ \[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; }
836
+
837
+ <IressField
838
+ errorMessages\={\[
839
+ {
840
+ message: 'Please enter a valid email address'
841
+ }
842
+ \]}
843
+ hint\="Enter your email address for contact"
844
+ horizontal
845
+ label\="Email address"
846
+ labelWidth\="250px"
847
+ supplementary\="We will not share your email with third parties (Supplementary text)"
848
+ \>
849
+ <IressInput
850
+ id\="email"
851
+ name\="email"
852
+ placeholder\="john.doe@example.com"
853
+ required
854
+ type\="email"
855
+ />
856
+ </IressField\>
857
+
858
+ Copy
859
+
860
+ #### [](#horizontal-label-width)Horizontal label width
861
+
862
+ In horizontal layout, you can control the width of the label using the `labelWidth` prop. This accepts CSS width values like pixels, percentages, or `auto`.
863
+
864
+ labelWidth: 100px
865
+
866
+ labelWidth: 200px
867
+
868
+ labelWidth: 25%
869
+
870
+ labelWidth: auto
871
+
872
+ Default (no labelWidth)
873
+
874
+ Hide code
875
+
876
+ \[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; }
877
+
878
+ <IressStack gap\="spacing.500"\>
879
+ <IressField
880
+ horizontal
881
+ label\="labelWidth: 100px"
882
+ labelWidth\="100px"
883
+ \>
884
+ <IressInput
885
+ id\="name"
886
+ name\="input1"
887
+ placeholder\="Label width: 100px"
888
+ required
889
+ type\="text"
890
+ />
891
+ </IressField\>
892
+ <IressField
893
+ horizontal
894
+ label\="labelWidth: 200px"
895
+ labelWidth\="200px"
896
+ \>
897
+ <IressInput
898
+ id\="name"
899
+ name\="input1"
900
+ placeholder\="Label width: 200px"
901
+ required
902
+ type\="text"
903
+ />
904
+ </IressField\>
905
+ <IressField
906
+ horizontal
907
+ label\="labelWidth: 25%"
908
+ labelWidth\="25%"
909
+ \>
910
+ <IressInput
911
+ id\="name"
912
+ name\="input1"
913
+ placeholder\="Label width: 25%"
914
+ required
915
+ type\="text"
916
+ />
917
+ </IressField\>
918
+ <IressField
919
+ horizontal
920
+ label\="labelWidth: auto"
921
+ labelWidth\="auto"
922
+ \>
923
+ <IressInput
924
+ id\="name"
925
+ name\="input1"
926
+ placeholder\="Label width: auto"
927
+ required
928
+ type\="text"
929
+ />
930
+ </IressField\>
931
+ <IressField
932
+ horizontal
933
+ label\="Default (no labelWidth)"
934
+ \>
935
+ <IressInput
936
+ id\="name"
937
+ name\="input1"
938
+ placeholder\="Default horizontal layout"
939
+ required
940
+ type\="text"
941
+ />
942
+ </IressField\>
943
+ </IressStack\>
944
+
945
+ Copy
946
+
947
+ ### [](#remove-error-margin)Remove error margin
948
+
949
+ By default, fields reserve space for error messages to maintain consistent spacing. Use the `removeErrorMargin` prop to remove this reserved space, creating tighter field spacing when stacking multiple fields.
950
+
951
+ This is particularly useful in dense forms or when you want to minimize vertical space usage.
952
+
953
+ **Note:** When `removeErrorMargin` is enabled, subsequent fields will be pushed down when error or supplementary messages appear, as no space is reserved for these messages. You can use the `IressStack` component to control field gaps and spacing as needed.
954
+
955
+ Remove error margin (tighter field spacing)
956
+
957
+ Show error message
958
+
959
+ ### Vertical Label Layout
960
+
961
+ First Name
962
+
963
+ Last Name
964
+
965
+ This is always-displayed supplementary text
966
+
967
+ Email Address
968
+
969
+ ### Horizontal Label Layout
970
+
971
+ First Name
972
+
973
+ Last Name
974
+
975
+ This is always-displayed supplementary text
976
+
977
+ Email Address
978
+
979
+ Hide code
980
+
981
+ \[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; }
982
+
983
+ <IressStack gap\="spacing.500"\>
984
+ <IressInline gap\="spacing.400"\>
985
+ <IressToggle
986
+ onChange\={(checked) \=> setRemoveErrorMargin(checked)}
987
+ \>
988
+ Remove error margin (tighter field spacing) </IressToggle\>
989
+ <IressToggle
990
+ onChange\={(checked) \=> setShowError(checked)}
991
+ \>
992
+ Show error message </IressToggle\>
993
+ </IressInline\>
994
+ <IressRow gutter\="spacing.600"\>
995
+ <IressCol span\="6"\>
996
+ <IressStack gap\="spacing.200"\>
997
+ <IressText
998
+ element\="h3"
999
+ textStyle\="typography.body.lg.strong"
1000
+ \>
1001
+ Vertical Label Layout </IressText\>
1002
+ <IressStack gap\="spacing.000"\>
1003
+ <IressField
1004
+ label\="First Name"
1005
+ \>
1006
+ <IressInput
1007
+ id\="name"
1008
+ name\="input1"
1009
+ placeholder\="Enter first name"
1010
+ required
1011
+ type\="text"
1012
+ />
1013
+ </IressField\>
1014
+ <IressField
1015
+ label\="Last Name"
1016
+ supplementary\="This is always-displayed supplementary text"
1017
+ \>
1018
+ <IressInput
1019
+ id\="name"
1020
+ name\="input1"
1021
+ placeholder\="Enter last name"
1022
+ required
1023
+ type\="text"
1024
+ />
1025
+ </IressField\>
1026
+ <IressField
1027
+ label\="Email Address"
1028
+ \>
1029
+ <IressInput
1030
+ id\="name"
1031
+ name\="input1"
1032
+ placeholder\="Enter email"
1033
+ required
1034
+ type\="email"
1035
+ />
1036
+ </IressField\>
1037
+ </IressStack\>
1038
+ </IressStack\>
1039
+ </IressCol\>
1040
+ <IressCol span\="6"\>
1041
+ <IressStack gap\="spacing.200"\>
1042
+ <IressText
1043
+ element\="h3"
1044
+ textStyle\="typography.body.lg.strong"
1045
+ \>
1046
+ Horizontal Label Layout </IressText\>
1047
+ <IressStack gap\="spacing.000"\>
1048
+ <IressField
1049
+ horizontal
1050
+ label\="First Name"
1051
+ labelWidth\="120px"
1052
+ \>
1053
+ <IressInput
1054
+ id\="name"
1055
+ name\="input1"
1056
+ placeholder\="Enter first name"
1057
+ required
1058
+ type\="text"
1059
+ />
1060
+ </IressField\>
1061
+ <IressField
1062
+ horizontal
1063
+ label\="Last Name"
1064
+ labelWidth\="120px"
1065
+ supplementary\="This is always-displayed supplementary text"
1066
+ \>
1067
+ <IressInput
1068
+ id\="name"
1069
+ name\="input1"
1070
+ placeholder\="Enter last name"
1071
+ required
1072
+ type\="text"
1073
+ />
1074
+ </IressField\>
1075
+ <IressField
1076
+ horizontal
1077
+ label\="Email Address"
1078
+ labelWidth\="120px"
1079
+ \>
1080
+ <IressInput
1081
+ id\="name"
1082
+ name\="input1"
1083
+ placeholder\="Enter email"
1084
+ required
1085
+ type\="email"
1086
+ />
1087
+ </IressField\>
1088
+ </IressStack\>
1089
+ </IressStack\>
1090
+ </IressCol\>
1091
+ </IressRow\>
1092
+ </IressStack\>
1093
+
1094
+ Copy
1095
+
1096
+ [](#iressfieldgroup)`IressFieldGroup`
1097
+ -------------------------------------
1098
+
1099
+ The `IressFieldGroup` component is used to group multiple `Field` components together. This is useful when you have multiple fields that are related to each other, and you want to display them together.
1100
+
1101
+ Under the hood it uses a `fieldset` and `legend` element to group the fields together, improving the semantics of your form if you use multiple inputs (eg. in the case of a checkbox group) and making it more accessible.
1102
+
1103
+ Full name
1104
+
1105
+ Title
1106
+
1107
+ \*RequiredFirst name
1108
+
1109
+ \*RequiredLast name
1110
+
1111
+ Hide code
1112
+
1113
+ \[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; }
1114
+
1115
+ <IressFieldGroup label\="Full name"\>
1116
+ <IressField
1117
+ htmlFor\="title"
1118
+ label\="Title"
1119
+ \>
1120
+ <IressInput
1121
+ id\="title"
1122
+ name\="title"
1123
+ type\="text"
1124
+ width\="2"
1125
+ />
1126
+ </IressField\>
1127
+ <IressField
1128
+ htmlFor\="firstName"
1129
+ label\="First name"
1130
+ required
1131
+ \>
310
1132
  <IressInput
311
1133
  id\="firstName"
312
1134
  name\="firstName"
@@ -330,6 +1152,514 @@ Hide code
330
1152
 
331
1153
  Copy
332
1154
 
1155
+ #### [](#field-group-api)Props
1156
+
1157
+ | Name | Description | Default | Control |
1158
+ | --- | --- | --- | --- |
1159
+ | bg |
1160
+ **`bg`** sets the background color of an element using the `background-color` css property using the color tokens in the design system.
1161
+
1162
+ We recommend using the following token values for best background contrast:
1163
+
1164
+ * `colour.primary.fill` for primary backgrounds that need to stand out
1165
+ * `colour.primary.surface` for primary backgrounds that need to be less prominent
1166
+ * `colour.neutral.10` for the base background color, normally white in light mode or shade of grey in dark mode
1167
+ * `colour.neutral.20` for a slightly darker background color, used in neutral state components
1168
+ * `colour.system.danger.fill` for error backgrounds that need to stand out
1169
+ * `colour.system.danger.surface` for error backgrounds that need to be less prominent
1170
+ * `colour.system.success.fill` for success backgrounds that need to stand out
1171
+ * `colour.system.success.surface` for success backgrounds that need to be less prominent
1172
+ * `colour.system.warning.fill` for warning backgrounds that need to stand out
1173
+ * `colour.system.warning.surface` for warning backgrounds that need to be less prominent
1174
+ * `colour.system.info.fill` for info backgrounds that need to stand out
1175
+ * `colour.system.info.surface` for info backgrounds that need to be less prominent
1176
+
1177
+ ResponsiveProp<ColorToken> | undefined
1178
+
1179
+ | \- | Set object |
1180
+ | borderRadius |
1181
+
1182
+ The **`border-radius`** CSS property rounds the corners of an element's outer border edge using the radius tokens in the design system.
1183
+
1184
+ | Chrome | Firefox | Safari | Edge | IE |
1185
+ | --- | --- | --- | --- | --- |
1186
+ | **4** | **4** | **5** | **12** | **9** |
1187
+ | 1 _\-x-_ | | 3 _\-x-_ | | |
1188
+
1189
+ ResponsiveProp<RadiusToken> | undefined
1190
+
1191
+ | \- | Set object |
1192
+ | children |
1193
+
1194
+ Should contain multiple `IressField`, or other elements supported in field group such as `IressButton`.
1195
+
1196
+ ReactNode
1197
+
1198
+
1199
+
1200
+ | \- | \- |
1201
+ | color |
1202
+
1203
+ 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`.
1204
+
1205
+ We recommend using the following token values for best color contrast:
1206
+
1207
+ * `colour.primary.onFill` used on top of `colour.primary.fill` for primary text that needs to stand out
1208
+ * `colour.primary.text` used on top of `colour.primary.surface` or `colour.neutral.10` for primary text that needs to be less prominent
1209
+ * `colour.neutral.70` used on top of `colour.neutral.10` or `colour.neutral.20` for muted text
1210
+ * `colour.neutral.80` used on top of `colour.neutral.10` or `colour.neutral.20` for standard text
1211
+ * `colour.system.danger.onFill` used on top of `colour.system.danger.fill` for error text that needs to stand out
1212
+ * `colour.system.danger.text` used on top of `colour.system.danger.surface` for error text that needs to be less prominent
1213
+ * `colour.system.success.onFill` used on top of `colour.system.success.fill` for success text that needs to stand out
1214
+ * `colour.system.success.text` used on top of `colour.system.success.surface` for success text that needs to be less prominent
1215
+ * `colour.system.warning.onFill` used on top of `colour.system.warning.fill` for warning text that needs to stand out
1216
+ * `colour.system.warning.text` used on top of `colour.system.warning.surface` for warning text that needs to be less prominent
1217
+ * `colour.system.info.onFill` used on top of `colour.system.info.fill` for informative text that needs to stand out
1218
+ * `colour.system.info.text` used on top of `colour.system.info.surface` for informative text that needs to be less prominent
1219
+
1220
+ ResponsiveProp<ColorToken> | undefined
1221
+
1222
+ | \- | Set object |
1223
+ | error |
1224
+
1225
+ Validation error to be displayed above the field.
1226
+
1227
+ ReactNode
1228
+
1229
+
1230
+
1231
+ | \- | Set object |
1232
+ | errorMessages |
1233
+
1234
+ Validation errors to be displayed above the field, an array of validation messages to be displayed in `IressValidationSummary`.
1235
+
1236
+ ValidationMessageObj\[\] | undefined
1237
+
1238
+ | \- | Set object |
1239
+ | focusable |
1240
+
1241
+ 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.
1242
+
1243
+ "true""within"undefined
1244
+
1245
+
1246
+
1247
+ | \- | Set object |
1248
+ | hiddenLabel |
1249
+
1250
+ Visually hides the label text, but still available to screen readers.
1251
+
1252
+ booleanundefined
1253
+
1254
+
1255
+
1256
+ | \- | Set object |
1257
+ | hide |
1258
+
1259
+ 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.
1260
+
1261
+ Hide on all breakpoints: `hide: true` Hide on specific breakpoints: `hide: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
1262
+
1263
+ Notes:
1264
+
1265
+ * If you need to hide an element but allow it to be visible to screen readers, use the `srOnly` prop instead.
1266
+ * Consider if you can conditionally render the element instead of hiding it.
1267
+
1268
+ ResponsiveProp<boolean> | undefined
1269
+
1270
+ | \- | Set object |
1271
+ | hint |
1272
+
1273
+ Text to be displayed as supporting field description.
1274
+
1275
+ ReactNode
1276
+
1277
+
1278
+
1279
+ | \- | Set object |
1280
+ | horizontal |
1281
+
1282
+ Displays the label and input field inline instead of stacked vertically.
1283
+
1284
+ booleanundefined
1285
+
1286
+
1287
+
1288
+ | \- | Set object |
1289
+ | htmlFor |
1290
+
1291
+ Used to connect it to the input element, it should be the input's id. If provided, the label will be rendered as a `<label>` element, otherwise it will be rendered as a `<strong>` element.
1292
+
1293
+ [Learn more](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/for)
1294
+
1295
+ undefined
1296
+
1297
+
1298
+
1299
+ | \- | Set object |
1300
+ | inline |
1301
+
1302
+ Displays multiple children inline rather than stacked, with a small gap.
1303
+
1304
+ booleanundefined
1305
+
1306
+
1307
+
1308
+ | \- | Set object |
1309
+ | join |
1310
+
1311
+ Displays multiple children inline and removes column gap.
1312
+
1313
+ booleanundefined
1314
+
1315
+
1316
+
1317
+ | \- | Set object |
1318
+ | label\* |
1319
+
1320
+ Text to be displayed in the label.
1321
+
1322
+ ReactNode
1323
+
1324
+
1325
+
1326
+ | \- |
1327
+
1328
+ "Full name"
1329
+
1330
+ |
1331
+ | labelWidth |
1332
+
1333
+ Controls the width of the label container when in horizontal mode. Can be any valid CSS width value (e.g., '200px', '20%', 'auto'). Only applies when `horizontal` is true.
1334
+
1335
+ stringundefined
1336
+
1337
+
1338
+
1339
+ | \- | Set object |
1340
+ | layerStyle |
1341
+
1342
+ 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.
1343
+
1344
+ * `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.
1345
+ * `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.
1346
+ * `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.
1347
+
1348
+ ResponsiveProp<"elevation.raised" | "elevation.floating" | "elevation.overflow" | "elevation.focus" | "elevation.focusCompact"> | undefined
1349
+
1350
+ | \- | Set object |
1351
+ | m |
1352
+
1353
+ The **`m`** property is short for `margin`, and sets the margin area on all four sides of an element.
1354
+
1355
+ 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.
1356
+
1357
+ | Chrome | Firefox | Safari | Edge | IE |
1358
+ | --- | --- | --- | --- | --- |
1359
+ | **1** | **1** | **1** | **12** | **3** |
1360
+
1361
+ ResponsiveProp<SpacingToken | "auto"> | undefined
1362
+
1363
+ | \- | Set object |
1364
+ | maxWidth |
1365
+
1366
+ 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`.
1367
+
1368
+ | Chrome | Firefox | Safari | Edge | IE |
1369
+ | --- | --- | --- | --- | --- |
1370
+ | **1** | **1** | **1** | **12** | **7** |
1371
+
1372
+ 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
1373
+
1374
+ | \- | Set object |
1375
+ | mb |
1376
+
1377
+ 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.
1378
+
1379
+ It uses the spacing tokens in the design system.
1380
+
1381
+ | Chrome | Firefox | Safari | Edge | IE |
1382
+ | --- | --- | --- | --- | --- |
1383
+ | **1** | **1** | **1** | **12** | **3** |
1384
+
1385
+ ResponsiveProp<SpacingToken | "auto"> | undefined
1386
+
1387
+ | \- | Set object |
1388
+ | ml |
1389
+
1390
+ 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.
1391
+
1392
+ It uses the spacing tokens in the design system.
1393
+
1394
+ | Chrome | Firefox | Safari | Edge | IE |
1395
+ | --- | --- | --- | --- | --- |
1396
+ | **1** | **1** | **1** | **12** | **3** |
1397
+
1398
+ ResponsiveProp<SpacingToken | "auto"> | undefined
1399
+
1400
+ | \- | Set object |
1401
+ | mr |
1402
+
1403
+ 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.
1404
+
1405
+ It uses the spacing tokens in the design system.
1406
+
1407
+ | Chrome | Firefox | Safari | Edge | IE |
1408
+ | --- | --- | --- | --- | --- |
1409
+ | **1** | **1** | **1** | **12** | **3** |
1410
+
1411
+ ResponsiveProp<SpacingToken | "auto"> | undefined
1412
+
1413
+ | \- | Set object |
1414
+ | mt |
1415
+
1416
+ 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.
1417
+
1418
+ It uses the spacing tokens in the design system.
1419
+
1420
+ | Chrome | Firefox | Safari | Edge | IE |
1421
+ | --- | --- | --- | --- | --- |
1422
+ | **1** | **1** | **1** | **12** | **3** |
1423
+
1424
+ ResponsiveProp<SpacingToken | "auto"> | undefined
1425
+
1426
+ | \- | Set object |
1427
+ | mx |
1428
+
1429
+ 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.
1430
+
1431
+ 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.
1432
+
1433
+ | Chrome | Firefox | Safari | Edge | IE |
1434
+ | --- | --- | --- | --- | --- |
1435
+ | **1** | **1** | **1** | **12** | **3** |
1436
+
1437
+ ResponsiveProp<SpacingToken | "auto"> | undefined
1438
+
1439
+ | \- | Set object |
1440
+ | my |
1441
+
1442
+ 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.
1443
+
1444
+ 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.
1445
+
1446
+ | Chrome | Firefox | Safari | Edge | IE |
1447
+ | --- | --- | --- | --- | --- |
1448
+ | **1** | **1** | **1** | **12** | **3** |
1449
+
1450
+ ResponsiveProp<SpacingToken | "auto"> | undefined
1451
+
1452
+ | \- | Set object |
1453
+ | noGutter |
1454
+
1455
+ 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.
1456
+
1457
+ booleanundefined
1458
+
1459
+
1460
+
1461
+ | \- | Set object |
1462
+ | p |
1463
+
1464
+ The **`p`** property is short for `padding`, and sets the padding area on all four sides of an element at once.
1465
+
1466
+ 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.
1467
+
1468
+ | Chrome | Firefox | Safari | Edge | IE |
1469
+ | --- | --- | --- | --- | --- |
1470
+ | **1** | **1** | **1** | **12** | **3** |
1471
+
1472
+ 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
1473
+
1474
+ | \- | Set object |
1475
+ | pb |
1476
+
1477
+ The **`pb`** property is short for `padding-bottom` and sets the padding area on the bottom side of an element.
1478
+
1479
+ 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.
1480
+
1481
+ | Chrome | Firefox | Safari | Edge | IE |
1482
+ | --- | --- | --- | --- | --- |
1483
+ | **1** | **1** | **1** | **12** | **3** |
1484
+
1485
+ 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
1486
+
1487
+ | \- | Set object |
1488
+ | pl |
1489
+
1490
+ The **`pl`** property is short for `padding-left` and sets the padding area on the left side of an element.
1491
+
1492
+ 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.
1493
+
1494
+ | Chrome | Firefox | Safari | Edge | IE |
1495
+ | --- | --- | --- | --- | --- |
1496
+ | **1** | **1** | **1** | **12** | **3** |
1497
+
1498
+ 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
1499
+
1500
+ | \- | Set object |
1501
+ | pr |
1502
+
1503
+ The **`pr`** property is short for `padding-right` and sets the padding area on the right side of an element.
1504
+
1505
+ 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.
1506
+
1507
+ | Chrome | Firefox | Safari | Edge | IE |
1508
+ | --- | --- | --- | --- | --- |
1509
+ | **1** | **1** | **1** | **12** | **3** |
1510
+
1511
+ 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
1512
+
1513
+ | \- | Set object |
1514
+ | pt |
1515
+
1516
+ The **`pt`** property is short for `padding-top` and sets the padding area on the top side of an element.
1517
+
1518
+ 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.
1519
+
1520
+ | Chrome | Firefox | Safari | Edge | IE |
1521
+ | --- | --- | --- | --- | --- |
1522
+ | **1** | **1** | **1** | **12** | **3** |
1523
+
1524
+ 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
1525
+
1526
+ | \- | Set object |
1527
+ | px |
1528
+
1529
+ 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.
1530
+
1531
+ 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.
1532
+
1533
+ | Chrome | Firefox | Safari | Edge | IE |
1534
+ | --- | --- | --- | --- | --- |
1535
+ | **1** | **1** | **1** | **12** | **3** |
1536
+
1537
+ 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
1538
+
1539
+ | \- | Set object |
1540
+ | py |
1541
+
1542
+ 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.
1543
+
1544
+ 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.
1545
+
1546
+ | Chrome | Firefox | Safari | Edge | IE |
1547
+ | --- | --- | --- | --- | --- |
1548
+ | **1** | **1** | **1** | **12** | **3** |
1549
+
1550
+ 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
1551
+
1552
+ | \- | Set object |
1553
+ | readOnly |
1554
+
1555
+ Renders the group in a read-only state (no asterisk symbol).
1556
+
1557
+ booleanundefined
1558
+
1559
+
1560
+
1561
+ | \- | Set object |
1562
+ | removeErrorMargin |
1563
+
1564
+ Removes the reserved space for error messages, allowing fields to stack with narrower gaps. When true, no margin is reserved for potential error messages.
1565
+
1566
+ booleanundefined
1567
+
1568
+
1569
+
1570
+ | \- | Set object |
1571
+ | required |
1572
+
1573
+ When set to true, the 'required asterisk (\*)' is displayed next to the label text.
1574
+
1575
+ booleanundefined
1576
+
1577
+
1578
+
1579
+ | \- | Set object |
1580
+ | rowGap |
1581
+
1582
+ The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's rows.
1583
+
1584
+ Note: It only has an effect when used as a direct child of a layout component, such as IressRow, IressStack or IressInline.
1585
+
1586
+ | Chrome | Firefox | Safari | Edge | IE |
1587
+ | --- | --- | --- | --- | --- |
1588
+ | **47** | **52** | **10.1** | **16** | No |
1589
+
1590
+ 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
1591
+
1592
+ | \- | Set object |
1593
+ | srOnly |
1594
+
1595
+ 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.
1596
+
1597
+ Hide on all breakpoints: `srOnly: true` Hide on specific breakpoints: `srOnly: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
1598
+
1599
+ ResponsiveProp<boolean> | undefined
1600
+
1601
+ | \- | Set object |
1602
+ | stretch |
1603
+
1604
+ 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.
1605
+
1606
+ booleanundefined
1607
+
1608
+
1609
+
1610
+ | \- | Set object |
1611
+ | supplementary |
1612
+
1613
+ Supplementary content to be displayed below the field. Is only shown when the field is not in an error state.
1614
+
1615
+ ReactNode
1616
+
1617
+
1618
+
1619
+ | \- | Set object |
1620
+ | textAlign |
1621
+
1622
+ The **`text-align`** CSS property sets the horizontal alignment of the inline-level content inside a block element or table-cell box.
1623
+
1624
+ | Chrome | Firefox | Safari | Edge | IE |
1625
+ | --- | --- | --- | --- | --- |
1626
+ | **1** | **1** | **1** | **12** | **3** |
1627
+
1628
+ ResponsiveProp<"center" | "left" | "right" | "inherit" | "justify"> | undefined
1629
+
1630
+ | \- | Set object |
1631
+ | textStyle |
1632
+
1633
+ Select the typography to be used using the **`textStyle`** prop. These are connected to the typography tokens in the design system.'
1634
+
1635
+ * `typography.body.sm` - Use for small components such as badges and disclaimers, as well as compact variations of tables and lists.
1636
+ * `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.
1637
+ * `typography.body.lg` - Use for tag lines, subtitles, and other large text content in the product.
1638
+ * `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.
1639
+ * `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.
1640
+ * `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.
1641
+ * `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.
1642
+ * `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.
1643
+ * `typography.code` - Used to display code snippets in the product, such as in the API documentation.
1644
+
1645
+ 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
1646
+
1647
+ | \- | Set object |
1648
+ | width |
1649
+
1650
+ 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.
1651
+
1652
+ 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.
1653
+
1654
+ | Chrome | Firefox | Safari | Edge | IE |
1655
+ | --- | --- | --- | --- | --- |
1656
+ | **1** | **1** | **1** | **12** | **4** |
1657
+
1658
+ 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
1659
+
1660
+ | \- | Set object |
1661
+ | Show Storybook only itemsStorybook only | Show Storybook only items |
1662
+
333
1663
  ### [](#inline)Inline
334
1664
 
335
1665
  Multiple fields can be displayed inline using the `inline` prop. On smaller screens, inline elements will wrap on to a new line if there's not enough space for everything on one line.
@@ -338,9 +1668,9 @@ Full name
338
1668
 
339
1669
  Title
340
1670
 
341
- \*Required First name
1671
+ \*RequiredFirst name
342
1672
 
343
- \*Required Last name
1673
+ \*RequiredLast name
344
1674
 
345
1675
  Hide code
346
1676
 
@@ -397,9 +1727,9 @@ Title
397
1727
 
398
1728
  MrMrsMiss
399
1729
 
400
- \*Required First name
1730
+ \*RequiredFirst name
401
1731
 
402
- \*Required Last name
1732
+ \*RequiredLast name
403
1733
 
404
1734
  Submit
405
1735
 
@@ -495,9 +1825,9 @@ Full name
495
1825
 
496
1826
  Title
497
1827
 
498
- \*Required First name
1828
+ \*RequiredFirst name
499
1829
 
500
- \*Required Last name
1830
+ \*RequiredLast name
501
1831
 
502
1832
  Hide code
503
1833
 
@@ -554,9 +1884,9 @@ Title
554
1884
 
555
1885
  MrMrsMiss
556
1886
 
557
- \*Required First name
1887
+ \*RequiredFirst name
558
1888
 
559
- \*Required Last name
1889
+ \*RequiredLast name
560
1890
 
561
1891
  Submit
562
1892
 
@@ -667,8 +1997,10 @@ On this page
667
1997
  * [Custom error](#custom-error)
668
1998
  * [Hidden label](#hidden-label)
669
1999
  * [Required](#required)
670
- * [Optional](#optional)
671
2000
  * [Readonly data](#readonly-data)
2001
+ * [Supplementary](#supplementary)
2002
+ * [Horizontal layout](#horizontal-layout)
2003
+ * [Remove error margin](#remove-error-margin)
672
2004
  * [IressFieldGroup](#iressfieldgroup)
673
2005
  * [Inline](#inline)
674
2006
  * [Join](#join)