@iress-oss/ids-mcp-server 6.0.0-alpha.0 → 6.0.0-alpha.1-canary-20251204014525-3f0dce4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/searchHandlers.test.js +8 -2
  2. package/dist/toolHandler.test.js +9 -9
  3. package/dist/utils.test.js +6 -2
  4. package/package.json +32 -30
  5. package/generated/docs/components-alert-docs.md +0 -702
  6. package/generated/docs/components-autocomplete-docs.md +0 -1433
  7. package/generated/docs/components-autocomplete-recipes-docs.md +0 -104
  8. package/generated/docs/components-badge-docs.md +0 -531
  9. package/generated/docs/components-button-docs.md +0 -1442
  10. package/generated/docs/components-buttongroup-docs.md +0 -748
  11. package/generated/docs/components-card-docs.md +0 -944
  12. package/generated/docs/components-checkbox-docs.md +0 -694
  13. package/generated/docs/components-checkboxgroup-docs.md +0 -1087
  14. package/generated/docs/components-checkboxgroup-recipes-docs.md +0 -119
  15. package/generated/docs/components-col-docs.md +0 -881
  16. package/generated/docs/components-container-docs.md +0 -123
  17. package/generated/docs/components-divider-docs.md +0 -576
  18. package/generated/docs/components-expander-docs.md +0 -594
  19. package/generated/docs/components-field-docs.md +0 -2007
  20. package/generated/docs/components-filter-docs.md +0 -1322
  21. package/generated/docs/components-hide-docs.md +0 -702
  22. package/generated/docs/components-icon-docs.md +0 -816
  23. package/generated/docs/components-image-docs.md +0 -493
  24. package/generated/docs/components-inline-docs.md +0 -2003
  25. package/generated/docs/components-input-docs.md +0 -867
  26. package/generated/docs/components-input-recipes-docs.md +0 -140
  27. package/generated/docs/components-inputcurrency-docs.md +0 -689
  28. package/generated/docs/components-inputcurrency-recipes-docs.md +0 -115
  29. package/generated/docs/components-introduction-docs.md +0 -450
  30. package/generated/docs/components-label-docs.md +0 -562
  31. package/generated/docs/components-link-docs.md +0 -586
  32. package/generated/docs/components-menu-docs.md +0 -1146
  33. package/generated/docs/components-menu-menuitem-docs.md +0 -739
  34. package/generated/docs/components-modal-docs.md +0 -1346
  35. package/generated/docs/components-panel-docs.md +0 -600
  36. package/generated/docs/components-placeholder-docs.md +0 -446
  37. package/generated/docs/components-popover-docs.md +0 -1529
  38. package/generated/docs/components-popover-recipes-docs.md +0 -211
  39. package/generated/docs/components-progress-docs.md +0 -568
  40. package/generated/docs/components-provider-docs.md +0 -160
  41. package/generated/docs/components-radio-docs.md +0 -563
  42. package/generated/docs/components-radiogroup-docs.md +0 -1153
  43. package/generated/docs/components-readonly-docs.md +0 -535
  44. package/generated/docs/components-richselect-docs.md +0 -5836
  45. package/generated/docs/components-row-docs.md +0 -2354
  46. package/generated/docs/components-select-docs.md +0 -940
  47. package/generated/docs/components-skeleton-docs.md +0 -597
  48. package/generated/docs/components-skeleton-recipes-docs.md +0 -76
  49. package/generated/docs/components-skiplink-docs.md +0 -587
  50. package/generated/docs/components-slideout-docs.md +0 -1036
  51. package/generated/docs/components-slider-docs.md +0 -828
  52. package/generated/docs/components-spinner-docs.md +0 -450
  53. package/generated/docs/components-stack-docs.md +0 -923
  54. package/generated/docs/components-table-ag-grid-docs.md +0 -1444
  55. package/generated/docs/components-table-docs.md +0 -2327
  56. package/generated/docs/components-tabset-docs.md +0 -768
  57. package/generated/docs/components-tabset-tab-docs.md +0 -550
  58. package/generated/docs/components-tag-docs.md +0 -548
  59. package/generated/docs/components-text-docs.md +0 -585
  60. package/generated/docs/components-toaster-docs.md +0 -755
  61. package/generated/docs/components-toggle-docs.md +0 -614
  62. package/generated/docs/components-tooltip-docs.md +0 -747
  63. package/generated/docs/components-validationmessage-docs.md +0 -1161
  64. package/generated/docs/contact-us-docs.md +0 -27
  65. package/generated/docs/extensions-editor-docs.md +0 -1181
  66. package/generated/docs/extensions-editor-recipes-docs.md +0 -89
  67. package/generated/docs/foundations-accessibility-docs.md +0 -40
  68. package/generated/docs/foundations-consistency-docs.md +0 -52
  69. package/generated/docs/foundations-content-docs.md +0 -23
  70. package/generated/docs/foundations-grid-docs.md +0 -74
  71. package/generated/docs/foundations-introduction-docs.md +0 -19
  72. package/generated/docs/foundations-principles-docs.md +0 -70
  73. package/generated/docs/foundations-responsive-breakpoints-docs.md +0 -193
  74. package/generated/docs/foundations-tokens-colour-docs.md +0 -564
  75. package/generated/docs/foundations-tokens-elevation-docs.md +0 -155
  76. package/generated/docs/foundations-tokens-introduction-docs.md +0 -190
  77. package/generated/docs/foundations-tokens-radius-docs.md +0 -71
  78. package/generated/docs/foundations-tokens-spacing-docs.md +0 -89
  79. package/generated/docs/foundations-tokens-typography-docs.md +0 -322
  80. package/generated/docs/foundations-user-experience-docs.md +0 -63
  81. package/generated/docs/foundations-visual-design-docs.md +0 -46
  82. package/generated/docs/foundations-z-index-stacking-docs.md +0 -31
  83. package/generated/docs/frequently-asked-questions-docs.md +0 -53
  84. package/generated/docs/get-started-develop-docs.md +0 -209
  85. package/generated/docs/get-started-using-storybook-docs.md +0 -68
  86. package/generated/docs/guidelines.md +0 -2054
  87. package/generated/docs/introduction-docs.md +0 -87
  88. package/generated/docs/news-version-6-docs.md +0 -93
  89. package/generated/docs/patterns-form-docs.md +0 -3902
  90. package/generated/docs/patterns-form-recipes-docs.md +0 -1370
  91. package/generated/docs/patterns-introduction-docs.md +0 -24
  92. package/generated/docs/patterns-loading-docs.md +0 -4043
  93. package/generated/docs/resources-code-katas-docs.md +0 -29
  94. package/generated/docs/resources-introduction-docs.md +0 -38
  95. package/generated/docs/resources-mcp-server-docs.md +0 -27
  96. package/generated/docs/resources-migration-guides-from-v4-to-v5-docs.md +0 -437
  97. package/generated/docs/styling-props-colour-docs.md +0 -172
  98. package/generated/docs/styling-props-elevation-docs.md +0 -88
  99. package/generated/docs/styling-props-radius-docs.md +0 -86
  100. package/generated/docs/styling-props-reference-docs.md +0 -160
  101. package/generated/docs/styling-props-screen-readers-docs.md +0 -71
  102. package/generated/docs/styling-props-sizing-docs.md +0 -627
  103. package/generated/docs/styling-props-spacing-docs.md +0 -2282
  104. package/generated/docs/styling-props-typography-docs.md +0 -121
  105. package/generated/docs/themes-available-themes-docs.md +0 -66
  106. package/generated/docs/themes-introduction-docs.md +0 -121
  107. package/generated/docs/versions-docs.md +0 -17
  108. /package/{LICENSE.txt → LICENSE} +0 -0
@@ -1,944 +0,0 @@
1
- [](#card)Card
2
- =============
3
-
4
- Overview
5
- --------
6
-
7
- Cards are used to group small, related pieces of information into one digestible unit.
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
- Read more
18
-
19
- A single card will typically include a few different types of media, such as an image, a title, a synopsis, a call-to-action button or sub actions buttons - all associated with the same concept.
20
-
21
- Cards can be configured in a variety of ways. You can use the render props (slots) if you want to create a structured layout, or you can create a custom card with your own markup if you need more flexibility.
22
-
23
- I'm a card
24
-
25
- Hide code
26
-
27
- \[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; }
28
-
29
- <IressCard\>
30
- I'm a card
31
- </IressCard\>
32
-
33
- Copy
34
-
35
- [](#props)Props
36
- ---------------
37
-
38
- | Name | Description | Default | Control |
39
- | --- | --- | --- | --- |
40
- | bg |
41
- **`bg`** sets the background color of an element using the `background-color` css property using the color tokens in the design system.
42
-
43
- We recommend using the following token values for best background contrast:
44
-
45
- * `colour.primary.fill` for primary backgrounds that need to stand out
46
- * `colour.primary.surface` for primary backgrounds that need to be less prominent
47
- * `colour.neutral.10` for the base background color, normally white in light mode or shade of grey in dark mode
48
- * `colour.neutral.20` for a slightly darker background color, used in neutral state components
49
- * `colour.system.danger.fill` for error backgrounds that need to stand out
50
- * `colour.system.danger.surface` for error backgrounds that need to be less prominent
51
- * `colour.system.success.fill` for success backgrounds that need to stand out
52
- * `colour.system.success.surface` for success backgrounds that need to be less prominent
53
- * `colour.system.warning.fill` for warning backgrounds that need to stand out
54
- * `colour.system.warning.surface` for warning backgrounds that need to be less prominent
55
- * `colour.system.info.fill` for info backgrounds that need to stand out
56
- * `colour.system.info.surface` for info backgrounds that need to be less prominent
57
-
58
- ResponsiveProp<ColorToken> | undefined
59
-
60
- | \- | Set object |
61
- | borderRadius |
62
-
63
- The **`border-radius`** CSS property rounds the corners of an element's outer border edge using the radius tokens in the design system.
64
-
65
- | Chrome | Firefox | Safari | Edge | IE |
66
- | --- | --- | --- | --- | --- |
67
- | **4** | **4** | **5** | **12** | **9** |
68
- | 1 _\-x-_ | | 3 _\-x-_ | | |
69
-
70
- ResponsiveProp<RadiusToken> | undefined
71
-
72
- | \- | Set object |
73
- | children |
74
-
75
- Main body of the card
76
-
77
- ReactNode
78
-
79
-
80
-
81
- | \- |
82
-
83
- "I'm a card"
84
-
85
- |
86
- | color |
87
-
88
- 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`.
89
-
90
- We recommend using the following token values for best color contrast:
91
-
92
- * `colour.primary.onFill` used on top of `colour.primary.fill` for primary text that needs to stand out
93
- * `colour.primary.text` used on top of `colour.primary.surface` or `colour.neutral.10` for primary text that needs to be less prominent
94
- * `colour.neutral.70` used on top of `colour.neutral.10` or `colour.neutral.20` for muted text
95
- * `colour.neutral.80` used on top of `colour.neutral.10` or `colour.neutral.20` for standard text
96
- * `colour.system.danger.onFill` used on top of `colour.system.danger.fill` for error text that needs to stand out
97
- * `colour.system.danger.text` used on top of `colour.system.danger.surface` for error text that needs to be less prominent
98
- * `colour.system.success.onFill` used on top of `colour.system.success.fill` for success text that needs to stand out
99
- * `colour.system.success.text` used on top of `colour.system.success.surface` for success text that needs to be less prominent
100
- * `colour.system.warning.onFill` used on top of `colour.system.warning.fill` for warning text that needs to stand out
101
- * `colour.system.warning.text` used on top of `colour.system.warning.surface` for warning text that needs to be less prominent
102
- * `colour.system.info.onFill` used on top of `colour.system.info.fill` for informative text that needs to stand out
103
- * `colour.system.info.text` used on top of `colour.system.info.surface` for informative text that needs to be less prominent
104
-
105
- ResponsiveProp<ColorToken> | undefined
106
-
107
- | \- | Set object |
108
- | element |
109
-
110
- Element type to render the Card as.
111
-
112
- ElementTypeundefined
113
-
114
-
115
-
116
- | \- | Set object |
117
- | focusable |
118
-
119
- 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.
120
-
121
- "true""within"undefined
122
-
123
-
124
-
125
- | \- | Set object |
126
- | footer |
127
-
128
- Section that sticks to the bottom of the card
129
-
130
- ReactNode
131
-
132
-
133
-
134
- | \- | Set object |
135
- | heading |
136
-
137
- Heading slot. Often used for a title or description.
138
-
139
- ReactNode
140
-
141
-
142
-
143
- | \- | Set object |
144
- | hide |
145
-
146
- 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.
147
-
148
- Hide on all breakpoints: `hide: true` Hide on specific breakpoints: `hide: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
149
-
150
- Notes:
151
-
152
- * If you need to hide an element but allow it to be visible to screen readers, use the `srOnly` prop instead.
153
- * Consider if you can conditionally render the element instead of hiding it.
154
-
155
- ResponsiveProp<boolean> | undefined
156
-
157
- | \- | Set object |
158
- | layerStyle |
159
-
160
- 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.
161
-
162
- * `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.
163
- * `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.
164
- * `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.
165
-
166
- ResponsiveProp<"elevation.raised" | "elevation.floating" | "elevation.overflow" | "elevation.focus" | "elevation.focusCompact"> | undefined
167
-
168
- | \- | Set object |
169
- | m |
170
-
171
- The **`m`** property is short for `margin`, and sets the margin area on all four sides of an element.
172
-
173
- 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.
174
-
175
- | Chrome | Firefox | Safari | Edge | IE |
176
- | --- | --- | --- | --- | --- |
177
- | **1** | **1** | **1** | **12** | **3** |
178
-
179
- ResponsiveProp<SpacingToken | "auto"> | undefined
180
-
181
- | \- | Set object |
182
- | maxWidth |
183
-
184
- 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`.
185
-
186
- | Chrome | Firefox | Safari | Edge | IE |
187
- | --- | --- | --- | --- | --- |
188
- | **1** | **1** | **1** | **12** | **7** |
189
-
190
- 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
191
-
192
- | \- | Set object |
193
- | mb |
194
-
195
- 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.
196
-
197
- It uses the spacing tokens in the design system.
198
-
199
- | Chrome | Firefox | Safari | Edge | IE |
200
- | --- | --- | --- | --- | --- |
201
- | **1** | **1** | **1** | **12** | **3** |
202
-
203
- ResponsiveProp<SpacingToken | "auto"> | undefined
204
-
205
- | \- | Set object |
206
- | media |
207
-
208
- Section (often for an image, table or chart) that appears before the heading
209
-
210
- ReactNode
211
-
212
-
213
-
214
- | \- | Set object |
215
- | ml |
216
-
217
- 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.
218
-
219
- It uses the spacing tokens in the design system.
220
-
221
- | Chrome | Firefox | Safari | Edge | IE |
222
- | --- | --- | --- | --- | --- |
223
- | **1** | **1** | **1** | **12** | **3** |
224
-
225
- ResponsiveProp<SpacingToken | "auto"> | undefined
226
-
227
- | \- | Set object |
228
- | mr |
229
-
230
- 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.
231
-
232
- It uses the spacing tokens in the design system.
233
-
234
- | Chrome | Firefox | Safari | Edge | IE |
235
- | --- | --- | --- | --- | --- |
236
- | **1** | **1** | **1** | **12** | **3** |
237
-
238
- ResponsiveProp<SpacingToken | "auto"> | undefined
239
-
240
- | \- | Set object |
241
- | mt |
242
-
243
- 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.
244
-
245
- It uses the spacing tokens in the design system.
246
-
247
- | Chrome | Firefox | Safari | Edge | IE |
248
- | --- | --- | --- | --- | --- |
249
- | **1** | **1** | **1** | **12** | **3** |
250
-
251
- ResponsiveProp<SpacingToken | "auto"> | undefined
252
-
253
- | \- | Set object |
254
- | mx |
255
-
256
- 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.
257
-
258
- 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.
259
-
260
- | Chrome | Firefox | Safari | Edge | IE |
261
- | --- | --- | --- | --- | --- |
262
- | **1** | **1** | **1** | **12** | **3** |
263
-
264
- ResponsiveProp<SpacingToken | "auto"> | undefined
265
-
266
- | \- | Set object |
267
- | my |
268
-
269
- 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.
270
-
271
- 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.
272
-
273
- | Chrome | Firefox | Safari | Edge | IE |
274
- | --- | --- | --- | --- | --- |
275
- | **1** | **1** | **1** | **12** | **3** |
276
-
277
- ResponsiveProp<SpacingToken | "auto"> | undefined
278
-
279
- | \- | Set object |
280
- | noGutter |
281
-
282
- 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.
283
-
284
- booleanundefined
285
-
286
-
287
-
288
- | \- | Set object |
289
- | p |
290
-
291
- The **`p`** property is short for `padding`, and sets the padding area on all four sides of an element at once.
292
-
293
- 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.
294
-
295
- | Chrome | Firefox | Safari | Edge | IE |
296
- | --- | --- | --- | --- | --- |
297
- | **1** | **1** | **1** | **12** | **3** |
298
-
299
- 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
300
-
301
- | \- | Set object |
302
- | pb |
303
-
304
- The **`pb`** property is short for `padding-bottom` and sets the padding area on the bottom side of an element.
305
-
306
- 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.
307
-
308
- | Chrome | Firefox | Safari | Edge | IE |
309
- | --- | --- | --- | --- | --- |
310
- | **1** | **1** | **1** | **12** | **3** |
311
-
312
- 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
313
-
314
- | \- | Set object |
315
- | pl |
316
-
317
- The **`pl`** property is short for `padding-left` and sets the padding area on the left side of an element.
318
-
319
- 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.
320
-
321
- | Chrome | Firefox | Safari | Edge | IE |
322
- | --- | --- | --- | --- | --- |
323
- | **1** | **1** | **1** | **12** | **3** |
324
-
325
- 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
326
-
327
- | \- | Set object |
328
- | pr |
329
-
330
- The **`pr`** property is short for `padding-right` and sets the padding area on the right side of an element.
331
-
332
- 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.
333
-
334
- | Chrome | Firefox | Safari | Edge | IE |
335
- | --- | --- | --- | --- | --- |
336
- | **1** | **1** | **1** | **12** | **3** |
337
-
338
- 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
339
-
340
- | \- | Set object |
341
- | prepend |
342
-
343
- Slot to the left of card content.
344
-
345
- ReactNode
346
-
347
-
348
-
349
- | \- | Set object |
350
- | pt |
351
-
352
- The **`pt`** property is short for `padding-top` and sets the padding area on the top side of an element.
353
-
354
- 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.
355
-
356
- | Chrome | Firefox | Safari | Edge | IE |
357
- | --- | --- | --- | --- | --- |
358
- | **1** | **1** | **1** | **12** | **3** |
359
-
360
- 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
361
-
362
- | \- | Set object |
363
- | px |
364
-
365
- 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.
366
-
367
- 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.
368
-
369
- | Chrome | Firefox | Safari | Edge | IE |
370
- | --- | --- | --- | --- | --- |
371
- | **1** | **1** | **1** | **12** | **3** |
372
-
373
- 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
374
-
375
- | \- | Set object |
376
- | py |
377
-
378
- 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.
379
-
380
- 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.
381
-
382
- | Chrome | Firefox | Safari | Edge | IE |
383
- | --- | --- | --- | --- | --- |
384
- | **1** | **1** | **1** | **12** | **3** |
385
-
386
- 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
387
-
388
- | \- | Set object |
389
- | rowGap |
390
-
391
- The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's rows.
392
-
393
- Note: It only has an effect when used as a direct child of a layout component, such as IressRow, IressStack or IressInline.
394
-
395
- | Chrome | Firefox | Safari | Edge | IE |
396
- | --- | --- | --- | --- | --- |
397
- | **47** | **52** | **10.1** | **16** | No |
398
-
399
- 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
400
-
401
- | \- | Set object |
402
- | selected |
403
-
404
- When set to true, card appears selected.
405
-
406
- booleanundefined
407
-
408
-
409
-
410
- | \- | Set object |
411
- | srOnly |
412
-
413
- 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.
414
-
415
- Hide on all breakpoints: `srOnly: true` Hide on specific breakpoints: `srOnly: { xs: false, sm: true, md: false, lg: true, xl: false, xxl: true }`
416
-
417
- ResponsiveProp<boolean> | undefined
418
-
419
- | \- | Set object |
420
- | stretch |
421
-
422
- 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.
423
-
424
- booleanundefined
425
-
426
-
427
-
428
- | \- | Set object |
429
- | textAlign |
430
-
431
- The **`text-align`** CSS property sets the horizontal alignment of the inline-level content inside a block element or table-cell box.
432
-
433
- | Chrome | Firefox | Safari | Edge | IE |
434
- | --- | --- | --- | --- | --- |
435
- | **1** | **1** | **1** | **12** | **3** |
436
-
437
- ResponsiveProp<"center" | "left" | "right" | "inherit" | "justify"> | undefined
438
-
439
- | \- | Set object |
440
- | textStyle |
441
-
442
- Select the typography to be used using the **`textStyle`** prop. These are connected to the typography tokens in the design system.'
443
-
444
- * `typography.body.sm` - Use for small components such as badges and disclaimers, as well as compact variations of tables and lists.
445
- * `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.
446
- * `typography.body.lg` - Use for tag lines, subtitles, and other large text content in the product.
447
- * `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.
448
- * `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.
449
- * `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.
450
- * `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.
451
- * `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.
452
- * `typography.code` - Used to display code snippets in the product, such as in the API documentation.
453
-
454
- 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
455
-
456
- | \- | Set object |
457
- | topRight |
458
-
459
- Slot positioned to the top right of the card, often used for an icon or action menu
460
-
461
- ReactNode
462
-
463
-
464
-
465
- | \- | Set object |
466
- | width |
467
-
468
- 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.
469
-
470
- 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.
471
-
472
- | Chrome | Firefox | Safari | Edge | IE |
473
- | --- | --- | --- | --- | --- |
474
- | **1** | **1** | **1** | **12** | **4** |
475
-
476
- 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
477
-
478
- | \- | Set object |
479
-
480
- [](#examples)Examples
481
- ---------------------
482
-
483
- ### [](#simple-cards)Simple cards
484
-
485
- All slots and props for card are optional. You can create a simple card by adding some content to the default slot.
486
-
487
- I'm a simple card
488
-
489
- Hide code
490
-
491
- \[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; }
492
-
493
- <IressCard\>
494
- I'm a simple card
495
- </IressCard\>
496
-
497
- Copy
498
-
499
- ### [](#padding)Padding
500
-
501
- Padding can be controlled using the `padding` prop. It can be set to `none`, `sm`, `md` or `lg`. It defaults to `md`.
502
-
503
- I’m a card with none padding
504
-
505
- I’m a card with sm padding
506
-
507
- I’m a card with md padding
508
-
509
- I’m a card with lg padding
510
-
511
- Hide code
512
-
513
- \[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; }
514
-
515
- <IressStack gap\="md"\>
516
- <IressCard p\="none"\>
517
- I’m a card with none padding </IressCard\>
518
- <IressCard p\="sm"\>
519
- I’m a card with sm padding </IressCard\>
520
- <IressCard p\="md"\>
521
- I’m a card with md padding </IressCard\>
522
- <IressCard p\="lg"\>
523
- I’m a card with lg padding </IressCard\>
524
- </IressStack\>
525
-
526
- Copy
527
-
528
- ### [](#stretch)Stretch
529
-
530
- The `stretch` prop can be used to stretch the card to fill its container.
531
-
532
- I’m a stretched card
533
-
534
- I’m a card with lots of content. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah.
535
-
536
- Hide code
537
-
538
- \[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; }
539
-
540
- <IressRow
541
- gutter\="md"
542
- verticalAlign\="stretch"
543
- \>
544
- <IressCol\>
545
- <IressCard stretch\>
546
- I’m a stretched card </IressCard\>
547
- </IressCol\>
548
- <IressCol\>
549
- <IressCard\>
550
- I’m a card with lots of content. Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. </IressCard\>
551
- </IressCol\>
552
- </IressRow\>
553
-
554
- Copy
555
-
556
- ### [](#selected)Selected
557
-
558
- Setting the `selected` prop highlights the card, usually to allow selection in a list.
559
-
560
- I'm a selected card
561
-
562
- Hide code
563
-
564
- \[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; }
565
-
566
- <IressCard selected\>
567
- I'm a selected card
568
- </IressCard\>
569
-
570
- Copy
571
-
572
- [](#render-props-slots)Render props (slots)
573
- -------------------------------------------
574
-
575
- If you're coming from v4 or earlier, you might be used to slots. In v5, we've replaced slots with render props which align with the React API. Render props allow you to create a structured layout for your card, while still having the flexibility to add custom content. They are simply functions that return JSX, so you can pass any component you like.
576
-
577
- However, please be diligent as the component you use may not fit withing the confines of the `IressCard` layout.
578
-
579
- ### [](#prepend)Prepend
580
-
581
- Use the `prepend` prop to add content to the left side of the card.
582
-
583
- I'm a card using the prepend render prop
584
-
585
- Hide code
586
-
587
- \[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; }
588
-
589
- <IressCard prepend\={<IressIcon name\="star" />}\>
590
- I'm a card using the prepend render prop
591
- </IressCard\>
592
-
593
- Copy
594
-
595
- ### [](#top-right)Top Right
596
-
597
- Use the `topRight` prop to add content to the top right of the card. This is useful for adding a badge, icon, or an actions menu.
598
-
599
- More actions in here
600
-
601
- I'm a card using the topRight render prop
602
-
603
- Hide code
604
-
605
- \[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; }
606
-
607
- <IressCard topRight\={<IressPopover activator\={<IressButton mode\="tertiary" textStyle\="typography.body.lg"\><IressIcon name\="ellipsis-v" /></IressButton\>} align\="bottom-end"\><IressPanel\>More actions in here</IressPanel\></IressPopover\>}\>
608
- I'm a card using the topRight render prop
609
- </IressCard\>
610
-
611
- Copy
612
-
613
- ### [](#heading)Heading
614
-
615
- Use the `heading` prop to add a header to the card. The header can be any component you like, but it is designed to support a simple heading element, optionally wrapped with a link.
616
-
617
- **Note:** `headingText` and `headingLevel` props have been replaced with the `heading` render prop to give you more control over the heading element and its content. To use the previous behaviour, you can pass a string which will automatically create a `h2` element, or pass a `h*` element with the text as a child.
618
-
619
- Welcome to Iress!
620
- -----------------
621
-
622
- I'm a card using the heading render prop
623
-
624
- Hide code
625
-
626
- \[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; }
627
-
628
- <IressCard heading\={<h2\>Welcome to Iress!</h2\>}\>
629
- I'm a card using the heading render prop
630
- </IressCard\>
631
-
632
- Copy
633
-
634
- ### [](#media)Media
635
-
636
- Use the `media` prop to add media to the card. The media can be any component you like, but it is designed to support an image or video.
637
-
638
- ![A man in an Iress branded t-shirt smiles at the camera while two female colleagues have a discussion in the foreground](https://www.iress.com/media/images/media-contact.width-600.png)
639
-
640
- I'm a card using the media render prop
641
-
642
- Hide code
643
-
644
- \[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; }
645
-
646
- <IressCard media\={<img alt\="A man in an Iress branded t-shirt smiles at the camera while two female colleagues have a discussion in the foreground" src\="https://www.iress.com/media/images/media-contact.width-600.png" width\="250"/>}\>
647
- I'm a card using the media render prop
648
- </IressCard\>
649
-
650
- Copy
651
-
652
- ### [](#content)Content
653
-
654
- Use the `content` prop to add content to the card. The content can be any component you like, but it is designed to support simple text based elements.
655
-
656
- Find out all the onboarding material you need [with this easy guide](https://iress.com).
657
-
658
- Hide code
659
-
660
- \[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; }
661
-
662
- <IressCard\>
663
- <IressText\>
664
- Find out all the onboarding material you need{' '}
665
- <a href\="https://iress.com"\>
666
- with this easy guide </a\>
667
- . </IressText\>
668
- </IressCard\>
669
-
670
- Copy
671
-
672
- ### [](#footer)Footer
673
-
674
- Use the `footer` prop to add a footer to the card. The footer can be any component you like, but it is designed to support buttons.
675
-
676
- I'm a card using the footer render prop
677
-
678
- #new-starter#first-day
679
-
680
- NEW
681
-
682
- Hide code
683
-
684
- \[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; }
685
-
686
- <IressCard footer\={<IressInline gap\="sm" horizontalAlign\="between"\><IressInline gap\="sm"\><IressBadge pill\>#new-starter</IressBadge\><IressBadge pill\>#first-day</IressBadge\></IressInline\><IressBadge mode\="success"\>NEW</IressBadge\></IressInline\>}\>
687
- I'm a card using the footer render prop
688
- </IressCard\>
689
-
690
- Copy
691
-
692
- ### [](#all-slots)All slots
693
-
694
- You can use all the slots together to create a custom card layout.
695
-
696
- prepend
697
-
698
- media
699
-
700
- heading
701
-
702
- topRight
703
-
704
- children
705
-
706
- footer
707
-
708
- * * *
709
-
710
- More actions in here
711
-
712
- ![A man in an Iress branded t-shirt smiles at the camera while two female colleagues have a discussion in the foreground](https://www.iress.com/media/images/media-contact.width-600.png)
713
-
714
- Welcome to Iress!
715
- -----------------
716
-
717
- Find out all the onboarding material you need [with this easy guide](https://iress.com).
718
-
719
- #new-starter#first-day
720
-
721
- NEW
722
-
723
- More actions in here
724
-
725
- ![A man in an Iress branded t-shirt smiles at the camera while two female colleagues have a discussion in the foreground](https://www.iress.com/media/images/media-contact.width-600.png)
726
-
727
- Welcome to Iress!
728
- -----------------
729
-
730
- Find out all the onboarding material you need [with this easy guide](https://iress.com).
731
-
732
- #new-starter#first-day
733
-
734
- NEW
735
-
736
- More actions in here
737
-
738
- ![A man in an Iress branded t-shirt smiles at the camera while two female colleagues have a discussion in the foreground](https://www.iress.com/media/images/media-contact.width-600.png)
739
-
740
- Welcome to Iress!
741
- -----------------
742
-
743
- Find out all the onboarding material you need [with this easy guide](https://iress.com).
744
-
745
- #new-starter#first-day
746
-
747
- NEW
748
-
749
- Hide code
750
-
751
- \[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; }
752
-
753
- const supportedCardSlots \= {
754
- prepend: <IressIcon name\="star" />,
755
- media: (
756
- <img
757
- src\="https://www.iress.com/media/images/media-contact.width-600.png"
758
- width\="250"
759
- alt\="A man in an Iress branded t-shirt smiles at the camera while two female colleagues have a discussion in the foreground"
760
- />
761
- ),
762
- heading: <h2\>Welcome to Iress!</h2\>,
763
- topRight: (
764
- <IressPopover
765
- align\="bottom-end"
766
- activator\={
767
- <IressButton mode\="tertiary" textStyle\="typography.body.lg"\>
768
- <IressIcon name\="ellipsis-v" />
769
- </IressButton\>
770
- }
771
- \>
772
- <IressPanel\>More actions in here</IressPanel\>
773
- </IressPopover\>
774
- ),
775
- children: (
776
- <IressText\>
777
- Find out all the onboarding material you need{' '}
778
- <a href\="https://iress.com"\>with this easy guide</a\>.
779
- </IressText\>
780
- ),
781
- footer: (
782
- <IressInline gap\="sm" horizontalAlign\="between"\>
783
- <IressInline gap\="sm"\>
784
- <IressBadge pill\>#new-starter</IressBadge\>
785
- <IressBadge pill\>#first-day</IressBadge\>
786
- </IressInline\>
787
- <IressBadge mode\="success"\>NEW</IressBadge\>
788
- </IressInline\>
789
- ),
790
- };
791
- const SUPPORTED\_CARD\_SLOTS \= Object.keys(supportedCardSlots);
792
- type SupportedCardSlots \= keyof typeof supportedCardSlots;
793
-
794
- export const CardAllSlots \= () \=> {
795
- const \[show, setShow\] \= useState({
796
- children: true,
797
- prepend: false,
798
- media: true,
799
- heading: true,
800
- topRight: true,
801
- footer: true,
802
- });
803
- const filteredArgs \= Object.fromEntries(
804
- Object.entries(supportedCardSlots).filter(
805
- (\[key\]) \=> show\[key as SupportedCardSlots\] || !(key in show),
806
- ),
807
- );
808
- return (
809
- <IressStack maxWidth\="container.lg" gap\="md" mx\="auto"\>
810
- <IressInline gap\="md"\>
811
- {SUPPORTED\_CARD\_SLOTS.map((slot) \=> (
812
- <IressToggle
813
- key\={slot}
814
- checked\={show\[slot as never\]}
815
- onChange\={(checked) \=> {
816
- setShow({ ...show, \[slot\]: checked });
817
- }}
818
- \>
819
- {slot}
820
- </IressToggle\>
821
- ))}
822
- </IressInline\>
823
- <IressDivider />
824
- <IressRow gutter\="md"\>
825
- <IressCol\>
826
- <IressCard {...filteredArgs} />
827
- </IressCol\>
828
- <IressCol\>
829
- <IressCard {...filteredArgs} />
830
- </IressCol\>
831
- <IressCol\>
832
- <IressCard {...filteredArgs} />
833
- </IressCol\>
834
- </IressRow\>
835
- </IressStack\>
836
- );
837
- };
838
-
839
- Copy
840
-
841
- [](#clickable-cards)Clickable cards
842
- -----------------------------------
843
-
844
- Note: The `clickable` prop has been deprecated in favour of using component variations, or the `onClick` prop.
845
-
846
- ### [](#heading-only)Heading only
847
-
848
- Since the `heading` prop now renders the component you give it, you have full control over the content of the `heading`. This means you can add pass it a heading with a link.
849
-
850
- [Clickable heading](https://iress.com)
851
- --------------------------------------
852
-
853
- I'm a card with a clickable heading. NEVER use me when the whole card is clickable.
854
-
855
- Hide code
856
-
857
- \[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; }
858
-
859
- <IressCard heading\={<h2\><a href\="https://iress.com"\>Clickable heading</a\></h2\>}\>
860
- I'm a card with a clickable heading. NEVER use me when the whole card is clickable.
861
- </IressCard\>
862
-
863
- Copy
864
-
865
- ### [](#whole-card)Whole card
866
-
867
- The whole card can be made clickable by passing an `onClick` prop. All the appropriate styling will be added as well.
868
-
869
- It's recommended to add `role="button"` and `tabindex="0"` to the card to make it clear to screen readers that the card is clickable.
870
-
871
- I am a card with an onClick handler. Click me to see what happens.
872
-
873
- Hide code
874
-
875
- \[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; }
876
-
877
- <IressCard
878
- onClick\={() \=> alert("Card clicked")}
879
- onKeyDown\={() \=> alert("Key down on card (for keyboard users)")}
880
- role\="button"
881
- tabIndex\={0}
882
- \>
883
- I am a card with an onClick handler. Click me to see what happens.
884
- </IressCard\>
885
-
886
- Copy
887
-
888
- ### [](#links-and-buttons)Links and Buttons
889
-
890
- To simplify the process of making the whole card clickable, you can use the `IressLinkCard` and `IressButtonCard` components. These components look exactly the same as the `IressCard` component, however their base tags are different, allowing you to use them exactly like you would a html link and button.
891
-
892
- **Note:** These components replace the `button`, `clickable` and `href` props. You no longer need `button` and `clickable`, as these are automatically inferred. To mimic the `href` prop, simply change the component you are using to `IressLinkCard`.
893
-
894
- I am a card with a button element
895
-
896
- Hide code
897
-
898
- \[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; }
899
-
900
- <IressButtonCard
901
- onClick\={() \=> alert("Card clicked")}
902
- type\="button"
903
- \>
904
- I am a card with a button element
905
- </IressButtonCard\>
906
-
907
- Copy
908
-
909
- [I am a card with an anchor element](https://iress.com)
910
-
911
- Hide code
912
-
913
- \[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; }
914
-
915
- <IressLinkCard
916
- href\="https://iress.com"
917
- target\="\_blank"
918
- \>
919
- I am a card with an anchor element
920
- </IressLinkCard\>
921
-
922
- Copy
923
-
924
- On this page
925
-
926
- * [Overview](#overview)
927
- * [Props](#props)
928
- * [Examples](#examples)
929
- * [Simple cards](#simple-cards)
930
- * [Padding](#padding)
931
- * [Stretch](#stretch)
932
- * [Selected](#selected)
933
- * [Render props (slots)](#render-props-slots)
934
- * [Prepend](#prepend)
935
- * [Top Right](#top-right)
936
- * [Heading](#heading)
937
- * [Media](#media)
938
- * [Content](#content)
939
- * [Footer](#footer)
940
- * [All slots](#all-slots)
941
- * [Clickable cards](#clickable-cards)
942
- * [Heading only](#heading-only)
943
- * [Whole card](#whole-card)
944
- * [Links and Buttons](#links-and-buttons)