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

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/package.json +30 -29
  2. package/generated/docs/components-alert-docs.md +0 -702
  3. package/generated/docs/components-autocomplete-docs.md +0 -1433
  4. package/generated/docs/components-autocomplete-recipes-docs.md +0 -104
  5. package/generated/docs/components-badge-docs.md +0 -531
  6. package/generated/docs/components-button-docs.md +0 -1442
  7. package/generated/docs/components-buttongroup-docs.md +0 -748
  8. package/generated/docs/components-card-docs.md +0 -944
  9. package/generated/docs/components-checkbox-docs.md +0 -694
  10. package/generated/docs/components-checkboxgroup-docs.md +0 -1087
  11. package/generated/docs/components-checkboxgroup-recipes-docs.md +0 -119
  12. package/generated/docs/components-col-docs.md +0 -881
  13. package/generated/docs/components-container-docs.md +0 -123
  14. package/generated/docs/components-divider-docs.md +0 -576
  15. package/generated/docs/components-expander-docs.md +0 -594
  16. package/generated/docs/components-field-docs.md +0 -2007
  17. package/generated/docs/components-filter-docs.md +0 -1322
  18. package/generated/docs/components-hide-docs.md +0 -702
  19. package/generated/docs/components-icon-docs.md +0 -816
  20. package/generated/docs/components-image-docs.md +0 -493
  21. package/generated/docs/components-inline-docs.md +0 -2003
  22. package/generated/docs/components-input-docs.md +0 -867
  23. package/generated/docs/components-input-recipes-docs.md +0 -140
  24. package/generated/docs/components-inputcurrency-docs.md +0 -689
  25. package/generated/docs/components-inputcurrency-recipes-docs.md +0 -115
  26. package/generated/docs/components-introduction-docs.md +0 -450
  27. package/generated/docs/components-label-docs.md +0 -562
  28. package/generated/docs/components-link-docs.md +0 -586
  29. package/generated/docs/components-menu-docs.md +0 -1146
  30. package/generated/docs/components-menu-menuitem-docs.md +0 -739
  31. package/generated/docs/components-modal-docs.md +0 -1346
  32. package/generated/docs/components-panel-docs.md +0 -600
  33. package/generated/docs/components-placeholder-docs.md +0 -446
  34. package/generated/docs/components-popover-docs.md +0 -1529
  35. package/generated/docs/components-popover-recipes-docs.md +0 -211
  36. package/generated/docs/components-progress-docs.md +0 -568
  37. package/generated/docs/components-provider-docs.md +0 -160
  38. package/generated/docs/components-radio-docs.md +0 -563
  39. package/generated/docs/components-radiogroup-docs.md +0 -1153
  40. package/generated/docs/components-readonly-docs.md +0 -535
  41. package/generated/docs/components-richselect-docs.md +0 -5836
  42. package/generated/docs/components-row-docs.md +0 -2354
  43. package/generated/docs/components-select-docs.md +0 -940
  44. package/generated/docs/components-skeleton-docs.md +0 -597
  45. package/generated/docs/components-skeleton-recipes-docs.md +0 -76
  46. package/generated/docs/components-skiplink-docs.md +0 -587
  47. package/generated/docs/components-slideout-docs.md +0 -1036
  48. package/generated/docs/components-slider-docs.md +0 -828
  49. package/generated/docs/components-spinner-docs.md +0 -450
  50. package/generated/docs/components-stack-docs.md +0 -923
  51. package/generated/docs/components-table-ag-grid-docs.md +0 -1444
  52. package/generated/docs/components-table-docs.md +0 -2327
  53. package/generated/docs/components-tabset-docs.md +0 -768
  54. package/generated/docs/components-tabset-tab-docs.md +0 -550
  55. package/generated/docs/components-tag-docs.md +0 -548
  56. package/generated/docs/components-text-docs.md +0 -585
  57. package/generated/docs/components-toaster-docs.md +0 -755
  58. package/generated/docs/components-toggle-docs.md +0 -614
  59. package/generated/docs/components-tooltip-docs.md +0 -747
  60. package/generated/docs/components-validationmessage-docs.md +0 -1161
  61. package/generated/docs/contact-us-docs.md +0 -27
  62. package/generated/docs/extensions-editor-docs.md +0 -1181
  63. package/generated/docs/extensions-editor-recipes-docs.md +0 -89
  64. package/generated/docs/foundations-accessibility-docs.md +0 -40
  65. package/generated/docs/foundations-consistency-docs.md +0 -52
  66. package/generated/docs/foundations-content-docs.md +0 -23
  67. package/generated/docs/foundations-grid-docs.md +0 -74
  68. package/generated/docs/foundations-introduction-docs.md +0 -19
  69. package/generated/docs/foundations-principles-docs.md +0 -70
  70. package/generated/docs/foundations-responsive-breakpoints-docs.md +0 -193
  71. package/generated/docs/foundations-tokens-colour-docs.md +0 -564
  72. package/generated/docs/foundations-tokens-elevation-docs.md +0 -155
  73. package/generated/docs/foundations-tokens-introduction-docs.md +0 -190
  74. package/generated/docs/foundations-tokens-radius-docs.md +0 -71
  75. package/generated/docs/foundations-tokens-spacing-docs.md +0 -89
  76. package/generated/docs/foundations-tokens-typography-docs.md +0 -322
  77. package/generated/docs/foundations-user-experience-docs.md +0 -63
  78. package/generated/docs/foundations-visual-design-docs.md +0 -46
  79. package/generated/docs/foundations-z-index-stacking-docs.md +0 -31
  80. package/generated/docs/frequently-asked-questions-docs.md +0 -53
  81. package/generated/docs/get-started-develop-docs.md +0 -209
  82. package/generated/docs/get-started-using-storybook-docs.md +0 -68
  83. package/generated/docs/guidelines.md +0 -2054
  84. package/generated/docs/introduction-docs.md +0 -87
  85. package/generated/docs/news-version-6-docs.md +0 -93
  86. package/generated/docs/patterns-form-docs.md +0 -3902
  87. package/generated/docs/patterns-form-recipes-docs.md +0 -1370
  88. package/generated/docs/patterns-introduction-docs.md +0 -24
  89. package/generated/docs/patterns-loading-docs.md +0 -4043
  90. package/generated/docs/resources-code-katas-docs.md +0 -29
  91. package/generated/docs/resources-introduction-docs.md +0 -38
  92. package/generated/docs/resources-mcp-server-docs.md +0 -27
  93. package/generated/docs/resources-migration-guides-from-v4-to-v5-docs.md +0 -437
  94. package/generated/docs/styling-props-colour-docs.md +0 -172
  95. package/generated/docs/styling-props-elevation-docs.md +0 -88
  96. package/generated/docs/styling-props-radius-docs.md +0 -86
  97. package/generated/docs/styling-props-reference-docs.md +0 -160
  98. package/generated/docs/styling-props-screen-readers-docs.md +0 -71
  99. package/generated/docs/styling-props-sizing-docs.md +0 -627
  100. package/generated/docs/styling-props-spacing-docs.md +0 -2282
  101. package/generated/docs/styling-props-typography-docs.md +0 -121
  102. package/generated/docs/themes-available-themes-docs.md +0 -66
  103. package/generated/docs/themes-introduction-docs.md +0 -121
  104. package/generated/docs/versions-docs.md +0 -17
  105. /package/{LICENSE.txt → LICENSE} +0 -0
@@ -1,748 +0,0 @@
1
- [](#buttongroup)ButtonGroup
2
- ===========================
3
-
4
- Overview
5
- --------
6
-
7
- ButtonGroup allows users to switch between two or more possible states. ButtonGroups are only used for actions that occur immediately after the user “flips the switch”.
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
-
17
- Button group
18
-
19
- Option 1Option 2Option 3Option 4
20
-
21
- Hide code
22
-
23
- \[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; }
24
-
25
- <IressButtonGroup label\="Button group"\>
26
- <IressButton\>
27
- Option 1 </IressButton\>
28
- <IressButton\>
29
- Option 2 </IressButton\>
30
- <IressButton\>
31
- Option 3 </IressButton\>
32
- <IressButton\>
33
- Option 4 </IressButton\>
34
- </IressButtonGroup\>
35
-
36
- Copy
37
-
38
- [](#props)Props
39
- ---------------
40
-
41
- | Name | Description | Default | Control |
42
- | --- | --- | --- | --- |
43
- | bg |
44
- **`bg`** sets the background color of an element using the `background-color` css property using the color tokens in the design system.
45
-
46
- We recommend using the following token values for best background contrast:
47
-
48
- * `colour.primary.fill` for primary backgrounds that need to stand out
49
- * `colour.primary.surface` for primary backgrounds that need to be less prominent
50
- * `colour.neutral.10` for the base background color, normally white in light mode or shade of grey in dark mode
51
- * `colour.neutral.20` for a slightly darker background color, used in neutral state components
52
- * `colour.system.danger.fill` for error backgrounds that need to stand out
53
- * `colour.system.danger.surface` for error backgrounds that need to be less prominent
54
- * `colour.system.success.fill` for success backgrounds that need to stand out
55
- * `colour.system.success.surface` for success backgrounds that need to be less prominent
56
- * `colour.system.warning.fill` for warning backgrounds that need to stand out
57
- * `colour.system.warning.surface` for warning backgrounds that need to be less prominent
58
- * `colour.system.info.fill` for info backgrounds that need to stand out
59
- * `colour.system.info.surface` for info backgrounds that need to be less prominent
60
-
61
- ResponsiveProp<ColorToken> | undefined
62
-
63
- | \- | Set object |
64
- | borderRadius |
65
-
66
- The **`border-radius`** CSS property rounds the corners of an element's outer border edge using the radius tokens in the design system.
67
-
68
- | Chrome | Firefox | Safari | Edge | IE |
69
- | --- | --- | --- | --- | --- |
70
- | **4** | **4** | **5** | **12** | **9** |
71
- | 1 _\-x-_ | | 3 _\-x-_ | | |
72
-
73
- ResponsiveProp<RadiusToken> | undefined
74
-
75
- | \- | Set object |
76
- | children |
77
-
78
- Content of the button group, usually multiple `IressButton`.
79
-
80
- ReactNode
81
-
82
-
83
-
84
- | \- | \- |
85
- | color |
86
-
87
- 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`.
88
-
89
- We recommend using the following token values for best color contrast:
90
-
91
- * `colour.primary.onFill` used on top of `colour.primary.fill` for primary text that needs to stand out
92
- * `colour.primary.text` used on top of `colour.primary.surface` or `colour.neutral.10` for primary text that needs to be less prominent
93
- * `colour.neutral.70` used on top of `colour.neutral.10` or `colour.neutral.20` for muted text
94
- * `colour.neutral.80` used on top of `colour.neutral.10` or `colour.neutral.20` for standard text
95
- * `colour.system.danger.onFill` used on top of `colour.system.danger.fill` for error text that needs to stand out
96
- * `colour.system.danger.text` used on top of `colour.system.danger.surface` for error text that needs to be less prominent
97
- * `colour.system.success.onFill` used on top of `colour.system.success.fill` for success text that needs to stand out
98
- * `colour.system.success.text` used on top of `colour.system.success.surface` for success text that needs to be less prominent
99
- * `colour.system.warning.onFill` used on top of `colour.system.warning.fill` for warning text that needs to stand out
100
- * `colour.system.warning.text` used on top of `colour.system.warning.surface` for warning text that needs to be less prominent
101
- * `colour.system.info.onFill` used on top of `colour.system.info.fill` for informative text that needs to stand out
102
- * `colour.system.info.text` used on top of `colour.system.info.surface` for informative text that needs to be less prominent
103
-
104
- ResponsiveProp<ColorToken> | undefined
105
-
106
- | \- | Set object |
107
- | defaultSelected |
108
-
109
- Initially selected value, use for uncontrolled components.
110
-
111
- ControlledValue<T, TMultiple> | undefined
112
-
113
- | \- | Set object |
114
- | focusable |
115
-
116
- 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.
117
-
118
- "true""within"undefined
119
-
120
-
121
-
122
- | \- | Set object |
123
- | hiddenLabel |
124
-
125
- Hides the label if set; label will still be read out by screen readers.
126
-
127
- booleanundefined
128
-
129
-
130
-
131
- | \- | Set object |
132
- | hide |
133
-
134
- 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.
135
-
136
- Hide on all breakpoints: `hide: true` Hide on specific breakpoints: `hide: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
137
-
138
- Notes:
139
-
140
- * If you need to hide an element but allow it to be visible to screen readers, use the `srOnly` prop instead.
141
- * Consider if you can conditionally render the element instead of hiding it.
142
-
143
- ResponsiveProp<boolean> | undefined
144
-
145
- | \- | Set object |
146
- | label\* |
147
-
148
- Sets the label text for the button group. If passed an element, it will render the element with an id, to ensure its connection to the button group.
149
-
150
- ReactNode
151
-
152
-
153
-
154
- | \- |
155
-
156
- "Button group"
157
-
158
- |
159
- | layerStyle |
160
-
161
- 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.
162
-
163
- * `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.
164
- * `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.
165
- * `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.
166
-
167
- ResponsiveProp<"elevation.raised" | "elevation.floating" | "elevation.overflow" | "elevation.focus" | "elevation.focusCompact"> | undefined
168
-
169
- | \- | Set object |
170
- | m |
171
-
172
- The **`m`** property is short for `margin`, and sets the margin area on all four sides of an element.
173
-
174
- 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.
175
-
176
- | Chrome | Firefox | Safari | Edge | IE |
177
- | --- | --- | --- | --- | --- |
178
- | **1** | **1** | **1** | **12** | **3** |
179
-
180
- ResponsiveProp<SpacingToken | "auto"> | undefined
181
-
182
- | \- | Set object |
183
- | maxWidth |
184
-
185
- 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`.
186
-
187
- | Chrome | Firefox | Safari | Edge | IE |
188
- | --- | --- | --- | --- | --- |
189
- | **1** | **1** | **1** | **12** | **7** |
190
-
191
- 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
192
-
193
- | \- | Set object |
194
- | mb |
195
-
196
- 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.
197
-
198
- It uses the spacing tokens in the design system.
199
-
200
- | Chrome | Firefox | Safari | Edge | IE |
201
- | --- | --- | --- | --- | --- |
202
- | **1** | **1** | **1** | **12** | **3** |
203
-
204
- ResponsiveProp<SpacingToken | "auto"> | undefined
205
-
206
- | \- | Set object |
207
- | ml |
208
-
209
- 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.
210
-
211
- It uses the spacing tokens in the design system.
212
-
213
- | Chrome | Firefox | Safari | Edge | IE |
214
- | --- | --- | --- | --- | --- |
215
- | **1** | **1** | **1** | **12** | **3** |
216
-
217
- ResponsiveProp<SpacingToken | "auto"> | undefined
218
-
219
- | \- | Set object |
220
- | mr |
221
-
222
- 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.
223
-
224
- It uses the spacing tokens in the design system.
225
-
226
- | Chrome | Firefox | Safari | Edge | IE |
227
- | --- | --- | --- | --- | --- |
228
- | **1** | **1** | **1** | **12** | **3** |
229
-
230
- ResponsiveProp<SpacingToken | "auto"> | undefined
231
-
232
- | \- | Set object |
233
- | mt |
234
-
235
- 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.
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
- | multiple |
247
-
248
- Allows multiple buttons to be selected.
249
-
250
- booleanundefined
251
-
252
-
253
-
254
- | \- | Set object |
255
- | mx |
256
-
257
- 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.
258
-
259
- 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.
260
-
261
- | Chrome | Firefox | Safari | Edge | IE |
262
- | --- | --- | --- | --- | --- |
263
- | **1** | **1** | **1** | **12** | **3** |
264
-
265
- ResponsiveProp<SpacingToken | "auto"> | undefined
266
-
267
- | \- | Set object |
268
- | my |
269
-
270
- 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.
271
-
272
- 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.
273
-
274
- | Chrome | Firefox | Safari | Edge | IE |
275
- | --- | --- | --- | --- | --- |
276
- | **1** | **1** | **1** | **12** | **3** |
277
-
278
- ResponsiveProp<SpacingToken | "auto"> | undefined
279
-
280
- | \- | Set object |
281
- | noGutter |
282
-
283
- 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.
284
-
285
- booleanundefined
286
-
287
-
288
-
289
- | \- | Set object |
290
- | onChange |
291
-
292
- Called when a user activates one of its children buttons.
293
-
294
- ((newValue?: ControlledValue<T, TMultiple> | undefined) => void) | undefined
295
-
296
- | \- | \- |
297
- | p |
298
-
299
- The **`p`** property is short for `padding`, and sets the padding area on all four sides of an element at once.
300
-
301
- 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.
302
-
303
- | Chrome | Firefox | Safari | Edge | IE |
304
- | --- | --- | --- | --- | --- |
305
- | **1** | **1** | **1** | **12** | **3** |
306
-
307
- 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
308
-
309
- | \- | Set object |
310
- | pb |
311
-
312
- The **`pb`** property is short for `padding-bottom` and sets the padding area on the bottom side of an element.
313
-
314
- 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.
315
-
316
- | Chrome | Firefox | Safari | Edge | IE |
317
- | --- | --- | --- | --- | --- |
318
- | **1** | **1** | **1** | **12** | **3** |
319
-
320
- 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
321
-
322
- | \- | Set object |
323
- | pl |
324
-
325
- The **`pl`** property is short for `padding-left` and sets the padding area on the left side of an element.
326
-
327
- 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.
328
-
329
- | Chrome | Firefox | Safari | Edge | IE |
330
- | --- | --- | --- | --- | --- |
331
- | **1** | **1** | **1** | **12** | **3** |
332
-
333
- 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
334
-
335
- | \- | Set object |
336
- | pr |
337
-
338
- The **`pr`** property is short for `padding-right` and sets the padding area on the right side of an element.
339
-
340
- 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.
341
-
342
- | Chrome | Firefox | Safari | Edge | IE |
343
- | --- | --- | --- | --- | --- |
344
- | **1** | **1** | **1** | **12** | **3** |
345
-
346
- 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
347
-
348
- | \- | Set object |
349
- | pt |
350
-
351
- The **`pt`** property is short for `padding-top` and sets the padding area on the top side of an element.
352
-
353
- 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.
354
-
355
- | Chrome | Firefox | Safari | Edge | IE |
356
- | --- | --- | --- | --- | --- |
357
- | **1** | **1** | **1** | **12** | **3** |
358
-
359
- 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
360
-
361
- | \- | Set object |
362
- | px |
363
-
364
- 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.
365
-
366
- 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.
367
-
368
- | Chrome | Firefox | Safari | Edge | IE |
369
- | --- | --- | --- | --- | --- |
370
- | **1** | **1** | **1** | **12** | **3** |
371
-
372
- 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
373
-
374
- | \- | Set object |
375
- | py |
376
-
377
- 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.
378
-
379
- 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.
380
-
381
- | Chrome | Firefox | Safari | Edge | IE |
382
- | --- | --- | --- | --- | --- |
383
- | **1** | **1** | **1** | **12** | **3** |
384
-
385
- 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
386
-
387
- | \- | Set object |
388
- | rowGap |
389
-
390
- The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's rows.
391
-
392
- Note: It only has an effect when used as a direct child of a layout component, such as IressRow, IressStack or IressInline.
393
-
394
- | Chrome | Firefox | Safari | Edge | IE |
395
- | --- | --- | --- | --- | --- |
396
- | **47** | **52** | **10.1** | **16** | No |
397
-
398
- 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
399
-
400
- | \- | Set object |
401
- | selected |
402
-
403
- Selected value, use for controlled components.
404
-
405
- ControlledValue<T, TMultiple> | undefined
406
-
407
- | \- | Set object |
408
- | srOnly |
409
-
410
- 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.
411
-
412
- Hide on all breakpoints: `srOnly: true` Hide on specific breakpoints: `srOnly: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
413
-
414
- ResponsiveProp<boolean> | undefined
415
-
416
- | \- | Set object |
417
- | stretch |
418
-
419
- 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.
420
-
421
- booleanundefined
422
-
423
-
424
-
425
- | \- | Set object |
426
- | textAlign |
427
-
428
- The **`text-align`** CSS property sets the horizontal alignment of the inline-level content inside a block element or table-cell box.
429
-
430
- | Chrome | Firefox | Safari | Edge | IE |
431
- | --- | --- | --- | --- | --- |
432
- | **1** | **1** | **1** | **12** | **3** |
433
-
434
- ResponsiveProp<"center" | "left" | "right" | "inherit" | "justify"> | undefined
435
-
436
- | \- | Set object |
437
- | textStyle |
438
-
439
- Select the typography to be used using the **`textStyle`** prop. These are connected to the typography tokens in the design system.'
440
-
441
- * `typography.body.sm` - Use for small components such as badges and disclaimers, as well as compact variations of tables and lists.
442
- * `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.
443
- * `typography.body.lg` - Use for tag lines, subtitles, and other large text content in the product.
444
- * `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.
445
- * `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.
446
- * `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.
447
- * `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.
448
- * `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.
449
- * `typography.code` - Used to display code snippets in the product, such as in the API documentation.
450
-
451
- 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
452
-
453
- | \- | Set object |
454
- | width |
455
-
456
- 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.
457
-
458
- 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.
459
-
460
- | Chrome | Firefox | Safari | Edge | IE |
461
- | --- | --- | --- | --- | --- |
462
- | **1** | **1** | **1** | **12** | **4** |
463
-
464
- 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
465
-
466
- | \- | Set object |
467
-
468
- [](#usage)Usage
469
- ---------------
470
-
471
- Button Group requires some `label` text to describe what the group of buttons represent. The `label` text can be visually hidden (but still read by screenreaders) using the `hiddenLabel` prop.
472
-
473
- The `children` prop should contain multiple `IressButton` components.
474
-
475
- You can use the `onChange` prop to watch when a button is clicked.
476
-
477
- **Note:**
478
-
479
- * The `options` props, originally used to map a set of strings to `IressButton`, has been deprecated. Instead, you can use array.map to map the options to `IressButton` in your own application.
480
- * The `mode` prop on `IressButton` is not supported when used inside an `IressButtonGroup`.
481
-
482
- Button group
483
-
484
- Option 1Option 2Option 3Option 4
485
-
486
- Hide code
487
-
488
- \[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; }
489
-
490
- <IressButtonGroup label\="Button group"\>
491
- <IressButton\>
492
- Option 1 </IressButton\>
493
- <IressButton\>
494
- Option 2 </IressButton\>
495
- <IressButton\>
496
- Option 3 </IressButton\>
497
- <IressButton\>
498
- Option 4 </IressButton\>
499
- </IressButtonGroup\>
500
-
501
- Copy
502
-
503
- [](#examples)Examples
504
- ---------------------
505
-
506
- ### [](#rich-buttons)Rich buttons
507
-
508
- By passing the buttons as children you have more control over the display of the button allowing you to use icons or tooltips.
509
-
510
- **Note:** In this case, please set the `value` prop on the `IressButton` component to ensure the correct value is used when the button is clicked.
511
-
512
- Text alignment
513
-
514
- Left
515
-
516
- Center
517
-
518
- Right
519
-
520
- * * *
521
-
522
- Justify
523
-
524
- Hide code
525
-
526
- \[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; }
527
-
528
- <IressButtonGroup label\="Text alignment"\>
529
- <IressTooltip tooltipText\="Left"\>
530
- <IressButton value\="left"\>
531
- <IressIcon name\="align-left" />
532
- <span className\="iress-sr-only"\>
533
- Left </span\>
534
- </IressButton\>
535
- </IressTooltip\>
536
- <IressTooltip tooltipText\="Center"\>
537
- <IressButton value\="center"\>
538
- <IressIcon name\="align-center" />
539
- <span className\="iress-sr-only"\>
540
- Center </span\>
541
- </IressButton\>
542
- </IressTooltip\>
543
- <IressTooltip tooltipText\="Right"\>
544
- <IressButton value\="right"\>
545
- <IressIcon name\="align-right" />
546
- <span className\="iress-sr-only"\>
547
- Right </span\>
548
- </IressButton\>
549
- </IressTooltip\>
550
- <IressDivider
551
- mx\="xs"
552
- vertical
553
- />
554
- <IressTooltip tooltipText\="Justify"\>
555
- <IressButton value\="justify"\>
556
- <IressIcon name\="align-justify" />
557
- <span className\="iress-sr-only"\>
558
- Justify </span\>
559
- </IressButton\>
560
- </IressTooltip\>
561
- </IressButtonGroup\>
562
-
563
- Copy
564
-
565
- ### [](#multi-select)Multi-select
566
-
567
- By default, only one button in the group can be selected at a time. By setting the `multiple` prop, multiple buttons can be selected.
568
-
569
- Multiple options can be selected
570
-
571
- Option 1Option 2Option 3Option 4
572
-
573
- Hide code
574
-
575
- \[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; }
576
-
577
- <IressButtonGroup
578
- label\="Multiple options can be selected"
579
- multiple
580
- \>
581
- <IressButton\>
582
- Option 1 </IressButton\>
583
- <IressButton\>
584
- Option 2 </IressButton\>
585
- <IressButton\>
586
- Option 3 </IressButton\>
587
- <IressButton\>
588
- Option 4 </IressButton\>
589
- </IressButtonGroup\>
590
-
591
- Copy
592
-
593
- ### [](#pre-selecting-buttons)Pre-selecting buttons
594
-
595
- Buttons within the group can be pre-selected using the `defaultSelected` prop (for uncontrolled components), or the `selected` prop if you are planning to control the state yourself.
596
-
597
- If the button group is in its default single select mode, these props expects a string that matches the text of one of the buttons, or the `value` prop of the button if it has been set.
598
-
599
- In multi-select mode, these props expects an array of matching strings.
600
-
601
- Selected option for single select
602
-
603
- Option 1Option 2Option 3Option 4
604
-
605
- Hide code
606
-
607
- \[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; }
608
-
609
- <IressButtonGroup
610
- defaultSelected\="Option 2"
611
- label\="Selected option for single select"
612
- \>
613
- <IressButton\>
614
- Option 1 </IressButton\>
615
- <IressButton\>
616
- Option 2 </IressButton\>
617
- <IressButton\>
618
- Option 3 </IressButton\>
619
- <IressButton\>
620
- Option 4 </IressButton\>
621
- </IressButtonGroup\>
622
-
623
- Copy
624
-
625
- Selected option for multi-select
626
-
627
- Option 1Option 2Option 3Option 4
628
-
629
- Hide code
630
-
631
- \[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; }
632
-
633
- <IressButtonGroup
634
- defaultSelected\={\[
635
- 'Option 2',
636
- 'Option 4'
637
- \]}
638
- label\="Selected option for multi-select"
639
- multiple
640
- \>
641
- <IressButton\>
642
- Option 1 </IressButton\>
643
- <IressButton\>
644
- Option 2 </IressButton\>
645
- <IressButton\>
646
- Option 3 </IressButton\>
647
- <IressButton\>
648
- Option 4 </IressButton\>
649
- </IressButtonGroup\>
650
-
651
- Copy
652
-
653
- ### [](#onchange-event)`onChange` event
654
-
655
- The Button Group emits an event when any of the selected buttons change. The event detail (`ButtonGroupChange`) consist of a string or an array of strings (depending on if it's in single or multi select mode) that represents the selected button(s).
656
-
657
- Trigger toasts by selecting an option below
658
-
659
- Option 1Option 2Option 3Option 4
660
-
661
- Hide code
662
-
663
- \[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; }
664
-
665
- {
666
- args: {
667
- ...ButtonChildren.args,
668
- label: 'Trigger toasts by selecting an option below'
669
- },
670
- render: args \=> {
671
- const {
672
- success
673
- } \= useToaster();
674
- return <IressButtonGroup {...args} onChange\={selected \=> {
675
- success({
676
- content: \`Selected: ${selected ? String(selected) : 'none'}\`
677
- });
678
- }} /\>;
679
- },
680
- decorators: \[Story \=> <IressToasterProvider\>
681
- <Story />
682
- </IressToasterProvider\>\]
683
- }
684
-
685
- Copy
686
-
687
- ### [](#hidden-label)Hidden label
688
-
689
- If you would like to visually hide the label, you can use the `hiddenLabel` prop.
690
-
691
- Button group
692
-
693
- Option 1Option 2Option 3Option 4
694
-
695
- Hide code
696
-
697
- \[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; }
698
-
699
- <IressButtonGroup
700
- hiddenLabel
701
- label\="Button group"
702
- \>
703
- <IressButton\>
704
- Option 1 </IressButton\>
705
- <IressButton\>
706
- Option 2 </IressButton\>
707
- <IressButton\>
708
- Option 3 </IressButton\>
709
- <IressButton\>
710
- Option 4 </IressButton\>
711
- </IressButtonGroup\>
712
-
713
- Copy
714
-
715
- ### [](#headings-as-labels)Headings as labels
716
-
717
- For semantic reasons, you may need the label to be rendered as a heading. In this case, you can pass the element directly to the `label` prop. The component will automatically add the `id` required to connect the button group to its label.
718
-
719
- Heading as label
720
- ----------------
721
-
722
- Option 1Option 2Option 3Option 4
723
-
724
- Hide code
725
-
726
- \[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; }
727
-
728
- {
729
- args: {
730
- ...ButtonChildren.args,
731
- label: <IressText element\="h2"\>Heading as label</IressText\>
732
- }
733
- }
734
-
735
- Copy
736
-
737
- On this page
738
-
739
- * [Overview](#overview)
740
- * [Props](#props)
741
- * [Usage](#usage)
742
- * [Examples](#examples)
743
- * [Rich buttons](#rich-buttons)
744
- * [Multi-select](#multi-select)
745
- * [Pre-selecting buttons](#pre-selecting-buttons)
746
- * [onChange event](#onchange-event)
747
- * [Hidden label](#hidden-label)
748
- * [Headings as labels](#headings-as-labels)