@iress-oss/ids-mcp-server 6.0.0-alpha.1-canary-20251204032753-fe18cab → 6.0.0-alpha.1-canary-20251204040305-3639454
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.
- package/generated/docs/components_components-alert-docs.md +1054 -0
- package/generated/docs/components_components-autocomplete-docs.md +3304 -0
- package/generated/docs/components_components-autocomplete-recipes-docs.md +98 -0
- package/generated/docs/components_components-badge-docs.md +312 -0
- package/generated/docs/components_components-button-docs.md +2339 -0
- package/generated/docs/components_components-buttongroup-docs.md +980 -0
- package/generated/docs/components_components-card-docs.md +1970 -0
- package/generated/docs/components_components-checkbox-docs.md +1083 -0
- package/generated/docs/components_components-checkboxgroup-docs.md +1597 -0
- package/generated/docs/components_components-checkboxgroup-recipes-docs.md +209 -0
- package/generated/docs/components_components-col-docs.md +755 -0
- package/generated/docs/components_components-container-docs.md +172 -0
- package/generated/docs/components_components-divider-docs.md +235 -0
- package/generated/docs/components_components-expander-docs.md +428 -0
- package/generated/docs/components_components-field-docs.md +3345 -0
- package/generated/docs/components_components-filter-docs.md +4091 -0
- package/generated/docs/components_components-hide-docs.md +450 -0
- package/generated/docs/components_components-icon-docs.md +1017 -0
- package/generated/docs/components_components-image-docs.md +168 -0
- package/generated/docs/components_components-inline-docs.md +1962 -0
- package/generated/docs/components_components-input-docs.md +1388 -0
- package/generated/docs/components_components-input-recipes-docs.md +349 -0
- package/generated/docs/components_components-inputcurrency-docs.md +636 -0
- package/generated/docs/components_components-inputcurrency-recipes-docs.md +208 -0
- package/generated/docs/components_components-introduction-docs.md +448 -0
- package/generated/docs/components_components-label-docs.md +229 -0
- package/generated/docs/components_components-link-docs.md +454 -0
- package/generated/docs/components_components-menu-docs.md +2219 -0
- package/generated/docs/components_components-menu-menuitem-docs.md +1455 -0
- package/generated/docs/components_components-modal-docs.md +2002 -0
- package/generated/docs/components_components-panel-docs.md +342 -0
- package/generated/docs/components_components-placeholder-docs.md +98 -0
- package/generated/docs/components_components-popover-docs.md +1631 -0
- package/generated/docs/components_components-popover-recipes-docs.md +537 -0
- package/generated/docs/components_components-progress-docs.md +128 -0
- package/generated/docs/components_components-provider-docs.md +123 -0
- package/generated/docs/components_components-radio-docs.md +499 -0
- package/generated/docs/components_components-radiogroup-docs.md +1573 -0
- package/generated/docs/components_components-readonly-docs.md +277 -0
- package/generated/docs/components_components-richselect-docs.md +6101 -0
- package/generated/docs/components_components-row-docs.md +2172 -0
- package/generated/docs/components_components-select-docs.md +1110 -0
- package/generated/docs/components_components-skeleton-docs.md +467 -0
- package/generated/docs/components_components-skeleton-recipes-docs.md +110 -0
- package/generated/docs/components_components-skiplink-docs.md +220 -0
- package/generated/docs/components_components-slideout-docs.md +1910 -0
- package/generated/docs/components_components-slider-docs.md +1284 -0
- package/generated/docs/components_components-spinner-docs.md +90 -0
- package/generated/docs/components_components-stack-docs.md +730 -0
- package/generated/docs/components_components-table-docs.md +4038 -0
- package/generated/docs/components_components-tabset-docs.md +955 -0
- package/generated/docs/components_components-tabset-tab-docs.md +342 -0
- package/generated/docs/components_components-tag-docs.md +410 -0
- package/generated/docs/components_components-text-docs.md +593 -0
- package/generated/docs/components_components-toaster-docs.md +451 -0
- package/generated/docs/components_components-toggle-docs.md +513 -0
- package/generated/docs/components_components-tooltip-docs.md +564 -0
- package/generated/docs/components_components-validationmessage-docs.md +608 -0
- package/generated/docs/components_contact-us-docs.md +9 -0
- package/generated/docs/components_foundations-accessibility-docs.md +33 -0
- package/generated/docs/components_foundations-consistency-docs.md +44 -0
- package/generated/docs/components_foundations-content-docs.md +18 -0
- package/generated/docs/components_foundations-introduction-docs.md +17 -0
- package/generated/docs/components_foundations-principles-docs.md +60 -0
- package/generated/docs/components_foundations-responsive-layout-docs.md +2692 -0
- package/generated/docs/components_foundations-user-experience-docs.md +53 -0
- package/generated/docs/components_foundations-visual-design-docs.md +39 -0
- package/generated/docs/components_foundations-z-index-stacking-docs.md +288 -0
- package/generated/docs/components_frequently-asked-questions-docs.md +44 -0
- package/generated/docs/components_get-started-develop-docs.md +47 -0
- package/generated/docs/components_get-started-using-storybook-docs.md +55 -0
- package/generated/docs/components_introduction-docs.md +85 -0
- package/generated/docs/components_patterns-form-docs.md +2469 -0
- package/generated/docs/components_patterns-form-recipes-docs.md +1597 -0
- package/generated/docs/components_patterns-introduction-docs.md +31 -0
- package/generated/docs/components_patterns-loading-docs.md +1908 -0
- package/generated/docs/components_patterns-shadow-docs.md +195 -0
- package/generated/docs/components_resources-code-katas-docs.md +25 -0
- package/generated/docs/components_resources-introduction-docs.md +28 -0
- package/generated/docs/components_resources-mcp-server-docs.md +23 -0
- package/generated/docs/components_resources-migration-guides-from-v4-to-v5-docs.md +142 -0
- package/generated/docs/components_styling-props-colour-docs.md +91 -0
- package/generated/docs/components_styling-props-elevation-docs.md +69 -0
- package/generated/docs/components_styling-props-radius-docs.md +63 -0
- package/generated/docs/components_styling-props-reference-docs.md +160 -0
- package/generated/docs/components_styling-props-screen-readers-docs.md +66 -0
- package/generated/docs/components_styling-props-sizing-docs.md +217 -0
- package/generated/docs/components_styling-props-spacing-docs.md +545 -0
- package/generated/docs/components_styling-props-typography-docs.md +66 -0
- package/generated/docs/components_versions-docs.md +14 -0
- package/generated/docs/guidelines.md +3083 -0
- package/generated/docs/introduction-docs.md +37 -0
- package/generated/docs/tokens_colour-docs.md +479 -0
- package/generated/docs/tokens_elevation-docs.md +39 -0
- package/generated/docs/tokens_introduction-docs.md +150 -0
- package/generated/docs/tokens_radius-docs.md +67 -0
- package/generated/docs/tokens_spacing-docs.md +87 -0
- package/generated/docs/tokens_typography-docs.md +305 -0
- package/package.json +2 -2
|
@@ -0,0 +1,3083 @@
|
|
|
1
|
+
# Design Guidelines
|
|
2
|
+
|
|
3
|
+
This document contains all design foundations and guidelines for the design system.
|
|
4
|
+
|
|
5
|
+
## React components / Introduction
|
|
6
|
+
|
|
7
|
+
Introduction
|
|
8
|
+
============
|
|
9
|
+
|
|
10
|
+
The IDS and product design team use the foundations to create a consistent user experience across all Iress products. This includes design principles and guidelines that ensure a cohesive look and feel.
|
|
11
|
+
|
|
12
|
+
1. [Principles](/?path=/docs/foundations-principles--docs)
|
|
13
|
+
2. [Accessibility](/?path=/docs/foundations-accessibility--docs)
|
|
14
|
+
3. [Tokens](/?path=/docs/foundations-tokens-introduction--docs)
|
|
15
|
+
4. [Breakpoints](/?path=/docs/foundations-breakpoints--docs)
|
|
16
|
+
5. [Consistency](/?path=/docs/foundations-consistency--docs)
|
|
17
|
+
6. [Grid](/?path=/docs/foundations-grid--docs)
|
|
18
|
+
7. [Content](/?path=/docs/foundations-content--docs)
|
|
19
|
+
8. [User Experience](/?path=/docs/foundations-user-experience--docs)
|
|
20
|
+
9. [Visual Design](/?path=/docs/foundations-visual-design--docs)
|
|
21
|
+
10. [Z-index (stacking)](/?path=/docs/foundations-z-index-stacking--docs)
|
|
22
|
+
|
|
23
|
+
_This document is a living standard. Revisit and revise regularly to reflect evolving needs, technologies, and user expectations._
|
|
24
|
+
|
|
25
|
+
## React components / Principles
|
|
26
|
+
|
|
27
|
+
Core Design Principles
|
|
28
|
+
======================
|
|
29
|
+
|
|
30
|
+
Consistency
|
|
31
|
+
-----------
|
|
32
|
+
|
|
33
|
+
* Maintain brand consistency across all applications and experiences
|
|
34
|
+
* Use standardised component naming conventions (all components start with `Iress` prefix)
|
|
35
|
+
* Leverage shared design tokens for spacing, colours, typography, and interactive states
|
|
36
|
+
* Ensure consistent behaviour patterns across similar components
|
|
37
|
+
|
|
38
|
+
Accessibility First
|
|
39
|
+
-------------------
|
|
40
|
+
|
|
41
|
+
* Meet or exceed WCAG 2.1 Level AA Accessibility Guidelines
|
|
42
|
+
* Provide proper colour contrast ratios (minimum 4.5:1 for AA, 7:1 for AAA)
|
|
43
|
+
* Implement comprehensive keyboard navigation support
|
|
44
|
+
* Include screen reader compatibility with appropriate ARIA attributes
|
|
45
|
+
* Support focus management and skip navigation patterns
|
|
46
|
+
* Document accessibility considerations and requirements
|
|
47
|
+
|
|
48
|
+
Clarity and Usability
|
|
49
|
+
---------------------
|
|
50
|
+
|
|
51
|
+
* Prioritise clear visual hierarchy through typography scales and spacing systems
|
|
52
|
+
* Use progressive disclosure to manage complexity
|
|
53
|
+
* Provide immediate feedback for user actions (loading states, validation, etc.)
|
|
54
|
+
* Design for touch-friendly interfaces with adequate target sizes
|
|
55
|
+
|
|
56
|
+
Developer Experience
|
|
57
|
+
--------------------
|
|
58
|
+
|
|
59
|
+
* Maintain clean component APIs with predictable prop patterns
|
|
60
|
+
* Provide comprehensive documentation with usage examples
|
|
61
|
+
* Include common patterns and anti-patterns
|
|
62
|
+
* Support both controlled and uncontrolled component patterns
|
|
63
|
+
* Enable efficient testing strategies with semantic roles and accessible queries
|
|
64
|
+
* Maintain up-to-date prop documentation and type definitions
|
|
65
|
+
|
|
66
|
+
Quality assurance
|
|
67
|
+
-----------------
|
|
68
|
+
|
|
69
|
+
* Test components across supported browsers and devices
|
|
70
|
+
* Validate accessibility compliance with automated and manual testing
|
|
71
|
+
* Ensure proper keyboard navigation functionality
|
|
72
|
+
* Test with assistive technologies (screen readers, voice control)
|
|
73
|
+
|
|
74
|
+
### Code Standards
|
|
75
|
+
|
|
76
|
+
* Follow consistent naming conventions for CSS classes and component props
|
|
77
|
+
* Use semantic HTML elements where appropriate
|
|
78
|
+
* Implement proper TypeScript typing for better developer experience
|
|
79
|
+
* Maintain clean separation between presentation and logic
|
|
80
|
+
|
|
81
|
+
### Performance Considerations
|
|
82
|
+
|
|
83
|
+
* Optimise component rendering and re-rendering
|
|
84
|
+
* Implement appropriate code splitting strategies
|
|
85
|
+
* Use efficient animation and transition patterns
|
|
86
|
+
* Consider bundle size impact of component dependencies
|
|
87
|
+
|
|
88
|
+
## React components / Accessibility
|
|
89
|
+
|
|
90
|
+
Accessibility
|
|
91
|
+
=============
|
|
92
|
+
|
|
93
|
+
Accessibility is everyone's responsibility. It ensures that all users, regardless of their abilities or disabilities, can access and interact with our components effectively. This document outlines the key practices for building accessible components we follow within IDS.
|
|
94
|
+
|
|
95
|
+
Please note: The default behaviour of our components is to be accessible, but it is the responsibility of the product to ensure that they are used correctly in accessibile context, or any modifications made to them do not compromise accessibility.
|
|
96
|
+
|
|
97
|
+
Interaction Patterns
|
|
98
|
+
--------------------
|
|
99
|
+
|
|
100
|
+
### Keyboard Navigation
|
|
101
|
+
|
|
102
|
+
* Support standard keyboard shortcuts (Tab, Arrow keys, Enter, Space, Escape)
|
|
103
|
+
* Implement proper focus order and visual focus indicators
|
|
104
|
+
* Provide keyboard alternatives for mouse-only interactions
|
|
105
|
+
* Follow established ARIA patterns for complex widgets
|
|
106
|
+
|
|
107
|
+
### Touch Interactions
|
|
108
|
+
|
|
109
|
+
* Provide adequate touch target sizes (minimum 44px)
|
|
110
|
+
* Implement touch-friendly spacing between interactive elements
|
|
111
|
+
* Support gesture-based interactions where appropriate
|
|
112
|
+
* Ensure consistent behaviour across device types
|
|
113
|
+
|
|
114
|
+
### Loading and Feedback
|
|
115
|
+
|
|
116
|
+
* Use appropriate loading patterns based on context:
|
|
117
|
+
* **Page**: Full page loading states
|
|
118
|
+
* **Component**: Local loading within sections
|
|
119
|
+
* **Button**: Inline loading for form submissions
|
|
120
|
+
* **Validate**: Server-side validation feedback
|
|
121
|
+
* Provide clear success and error feedback
|
|
122
|
+
* Use progressive enhancement for better perceived performance
|
|
123
|
+
|
|
124
|
+
## React components / Responsive layout
|
|
125
|
+
|
|
126
|
+
Responsive layout
|
|
127
|
+
=================
|
|
128
|
+
|
|
129
|
+
The Iress Design System (IDS) is built with responsive design principles in mind. This means that our components are designed to adapt to different screen sizes and orientations, ensuring a consistent user experience across devices.
|
|
130
|
+
|
|
131
|
+
Breakpoints
|
|
132
|
+
-----------
|
|
133
|
+
|
|
134
|
+
* Implement mobile-first responsive design
|
|
135
|
+
* Use consistent breakpoint values across all components
|
|
136
|
+
* Provide appropriate component variants for different screen sizes
|
|
137
|
+
* Consider content priority and progressive disclosure on smaller screens
|
|
138
|
+
|
|
139
|
+
[](./iframe.html?id=foundations-responsive-layout--breakpoints)
|
|
140
|
+
|
|
141
|
+
### Breakpoints supported by IDS
|
|
142
|
+
|
|
143
|
+
| Size | Screen Width | Media Query | Active Viewport | Example Viewport |
|
|
144
|
+
| --- | --- | --- | --- | --- |
|
|
145
|
+
| xs | 0 - 575px | (min-width: 0) and (max-width: 575px) | 100% | 360px width |
|
|
146
|
+
| sm | 576px - 767px | (min-width: 576px) and (max-width: 767px) | 100% | 767px width |
|
|
147
|
+
| md | 768px - 1023px | (min-width: 768px) and (max-width: 1023px) | 100% | 962px width |
|
|
148
|
+
| lg | 1024px - 1199px | (min-width: 1024px) and (max-width: 1199px) | 100% | 1180px width |
|
|
149
|
+
| xl | 1200px - 1499px | (min-width: 1200px) and (max-width: 1499px) | 1280px | 1366px width |
|
|
150
|
+
| xxl | 1500px and above | (min-width: 1500px) | 1280px | 1920px width |
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
<IressTable
|
|
155
|
+
caption\={<IressText element\="h3" textAlign\="left"\>Breakpoints supported by IDS</IressText\>}
|
|
156
|
+
rows\={\[
|
|
157
|
+
{
|
|
158
|
+
activeViewport: '100%',
|
|
159
|
+
exampleViewport: '360px width',
|
|
160
|
+
mediaQuery: '(min-width: 0) and (max-width: 575px)',
|
|
161
|
+
screenWidth: '0 - 575px',
|
|
162
|
+
size: 'xs'
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
activeViewport: '100%',
|
|
166
|
+
exampleViewport: '767px width',
|
|
167
|
+
mediaQuery: '(min-width: 576px) and (max-width: 767px)',
|
|
168
|
+
screenWidth: '576px - 767px',
|
|
169
|
+
size: 'sm'
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
activeViewport: '100%',
|
|
173
|
+
exampleViewport: '962px width',
|
|
174
|
+
mediaQuery: '(min-width: 768px) and (max-width: 1023px)',
|
|
175
|
+
screenWidth: '768px - 1023px',
|
|
176
|
+
size: 'md'
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
activeViewport: '100%',
|
|
180
|
+
exampleViewport: '1180px width',
|
|
181
|
+
mediaQuery: '(min-width: 1024px) and (max-width: 1199px)',
|
|
182
|
+
screenWidth: '1024px - 1199px',
|
|
183
|
+
size: 'lg'
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
activeViewport: '1280px',
|
|
187
|
+
exampleViewport: '1366px width',
|
|
188
|
+
mediaQuery: '(min-width: 1200px) and (max-width: 1499px)',
|
|
189
|
+
screenWidth: '1200px - 1499px',
|
|
190
|
+
size: 'xl'
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
activeViewport: '1280px',
|
|
194
|
+
exampleViewport: '1920px width',
|
|
195
|
+
mediaQuery: '(min-width: 1500px)',
|
|
196
|
+
screenWidth: '1500px and above',
|
|
197
|
+
size: 'xxl'
|
|
198
|
+
}
|
|
199
|
+
\]}
|
|
200
|
+
/>
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
#### Props
|
|
205
|
+
|
|
206
|
+
| Name | Description | Default | Control |
|
|
207
|
+
| --- | --- | --- | --- |
|
|
208
|
+
| alternate |
|
|
209
|
+
If set to true, the table will have alternating row colors. This is useful for improving readability in tables with many rows.
|
|
210
|
+
|
|
211
|
+
boolean
|
|
212
|
+
|
|
213
|
+
|
|
|
214
|
+
|
|
215
|
+
false
|
|
216
|
+
|
|
217
|
+
| Set boolean |
|
|
218
|
+
| caption\* |
|
|
219
|
+
|
|
220
|
+
Caption that describes the data in the table, required for accessibility.
|
|
221
|
+
|
|
222
|
+
ReactNode
|
|
223
|
+
|
|
224
|
+
| \- |
|
|
225
|
+
|
|
226
|
+
RAW
|
|
227
|
+
|
|
228
|
+
caption :
|
|
229
|
+
|
|
230
|
+
{
|
|
231
|
+
|
|
232
|
+
* $$typeof : Symbol(react.transitional.element)
|
|
233
|
+
* type : ({ className, ...restProps }) => { \_s(); const Component = useMemo( () => styled(restProps.element ?? "div", text), \[restProps.element\] ); return /\* @\_\_PURE\_\_ \*/ jsxDEV( Component, { ...restProps, className: cx(className, GlobalCSSClass.Text) }, void 0, false, { fileName: "/home/runner/work/design-system/design-system/packages/components/src/components/Text/Text.tsx", lineNumber: 46, columnNumber: 5 }, this ); }
|
|
234
|
+
* key : null
|
|
235
|
+
* props :
|
|
236
|
+
|
|
237
|
+
{...} 3 keys
|
|
238
|
+
|
|
239
|
+
* \_owner : null
|
|
240
|
+
* \_store :
|
|
241
|
+
|
|
242
|
+
{...} 0 keys
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
|
|
|
248
|
+
| children |
|
|
249
|
+
|
|
250
|
+
Multiple table elements can be passed as children. Used to create a static table, or add a `<tfoot />` element to a `rows` based table.
|
|
251
|
+
|
|
252
|
+
ReactNode
|
|
253
|
+
|
|
254
|
+
| \- | Set object |
|
|
255
|
+
| columns |
|
|
256
|
+
|
|
257
|
+
A mapping of columns to be displayed in the table. If not provided, it will be automatically regenerated from the row data.
|
|
258
|
+
|
|
259
|
+
TableColumn<TRow, TVal>\[\]
|
|
260
|
+
|
|
261
|
+
| \- | Set object |
|
|
262
|
+
| compact |
|
|
263
|
+
|
|
264
|
+
Compact view of the table, used for tables with a lot of data.
|
|
265
|
+
|
|
266
|
+
boolean
|
|
267
|
+
|
|
268
|
+
|
|
|
269
|
+
|
|
270
|
+
false
|
|
271
|
+
|
|
272
|
+
| Set boolean |
|
|
273
|
+
| empty |
|
|
274
|
+
|
|
275
|
+
Content to be show when there is no rowData (columns must also be provided).
|
|
276
|
+
|
|
277
|
+
ReactNode
|
|
278
|
+
|
|
279
|
+
| \- | Set object |
|
|
280
|
+
| hiddenCaption |
|
|
281
|
+
|
|
282
|
+
When set to true, the table caption will be visually hidden.
|
|
283
|
+
|
|
284
|
+
boolean
|
|
285
|
+
|
|
286
|
+
| \- | Set boolean |
|
|
287
|
+
| hiddenHeader |
|
|
288
|
+
|
|
289
|
+
When set to true, the table header (`<thead></thead>`) will be not be rendered. Only use with very simple tables.
|
|
290
|
+
|
|
291
|
+
boolean
|
|
292
|
+
|
|
293
|
+
| \- | Set boolean |
|
|
294
|
+
| hover |
|
|
295
|
+
|
|
296
|
+
When set to true, hovering over a row will trigger a UI change.
|
|
297
|
+
|
|
298
|
+
boolean
|
|
299
|
+
|
|
300
|
+
| \- | Set boolean |
|
|
301
|
+
| removeRowBorders |
|
|
302
|
+
|
|
303
|
+
If set to true, the table will not have borders between rows. This is useful for simpler tables where the row borders are not needed.
|
|
304
|
+
|
|
305
|
+
boolean
|
|
306
|
+
|
|
307
|
+
|
|
|
308
|
+
|
|
309
|
+
false
|
|
310
|
+
|
|
311
|
+
| Set boolean |
|
|
312
|
+
| rowProps |
|
|
313
|
+
|
|
314
|
+
Add additional props to the row element. Can be a props map or a function that returns an props map. The function is called with the row data.
|
|
315
|
+
|
|
316
|
+
TableRowsProps\['rowProps'\]
|
|
317
|
+
|
|
318
|
+
| \- | Set object |
|
|
319
|
+
| rows |
|
|
320
|
+
|
|
321
|
+
Each object in the array contains the data for a row.
|
|
322
|
+
|
|
323
|
+
TRow\[\]
|
|
324
|
+
|
|
325
|
+
| \[\] |
|
|
326
|
+
|
|
327
|
+
RAW
|
|
328
|
+
|
|
329
|
+
* rows :
|
|
330
|
+
|
|
331
|
+
\[
|
|
332
|
+
|
|
333
|
+
* 0 :
|
|
334
|
+
|
|
335
|
+
{...} 5 keys
|
|
336
|
+
|
|
337
|
+
* 1 :
|
|
338
|
+
|
|
339
|
+
{...} 5 keys
|
|
340
|
+
|
|
341
|
+
* 2 :
|
|
342
|
+
|
|
343
|
+
{...} 5 keys
|
|
344
|
+
|
|
345
|
+
* 3 :
|
|
346
|
+
|
|
347
|
+
{...} 5 keys
|
|
348
|
+
|
|
349
|
+
* 4 :
|
|
350
|
+
|
|
351
|
+
{...} 5 keys
|
|
352
|
+
|
|
353
|
+
* 5 :
|
|
354
|
+
|
|
355
|
+
{...} 5 keys
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
\]
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
|
|
|
362
|
+
| scope |
|
|
363
|
+
|
|
364
|
+
Defaults to 'row' - the first cell in the row is a `<th>`, otherwise it's a `<td>`.
|
|
365
|
+
|
|
366
|
+
union
|
|
367
|
+
|
|
368
|
+
| \- |
|
|
369
|
+
|
|
370
|
+
rowcol
|
|
371
|
+
|
|
372
|
+
|
|
|
373
|
+
|
|
374
|
+
### Extra-small screens (`xs`)
|
|
375
|
+
|
|
376
|
+
[](./iframe.html?id=foundations-responsive-layout--xs)
|
|
377
|
+
|
|
378
|
+
**0 - 575px**
|
|
379
|
+
The mobile breakpoint is used for small mobile devices.
|
|
380
|
+
|
|
381
|
+
**Min screen width**
|
|
382
|
+
|
|
383
|
+
0px
|
|
384
|
+
|
|
385
|
+
**Max screen width**
|
|
386
|
+
|
|
387
|
+
575px
|
|
388
|
+
|
|
389
|
+
**Example viewport**
|
|
390
|
+
|
|
391
|
+
100%
|
|
392
|
+
|
|
393
|
+
**Margin**
|
|
394
|
+
|
|
395
|
+
16px
|
|
396
|
+
|
|
397
|
+
* * *
|
|
398
|
+
|
|
399
|
+
Grid example
|
|
400
|
+
------------
|
|
401
|
+
|
|
402
|
+
To ensure the best usability and accessibility, please do not use grids with more than 4 columns maximum on extra small screens. For developers, this means the minimum span on mobile devices is 3.
|
|
403
|
+
|
|
404
|
+
You are currently viewing the **xl** breakpoint (1200px - 1499px). Resize your screen to view different breakpoints.
|
|
405
|
+
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
<IressStack gap\="lg"\>
|
|
409
|
+
<IressInline
|
|
410
|
+
gap\="md"
|
|
411
|
+
verticalAlign\="bottom"
|
|
412
|
+
\>
|
|
413
|
+
<IressStack
|
|
414
|
+
gap\="xs"
|
|
415
|
+
maxWidth\="input.16"
|
|
416
|
+
\>
|
|
417
|
+
<React.Suspense\>
|
|
418
|
+
<React.Lazy />
|
|
419
|
+
</React.Suspense\>
|
|
420
|
+
<IressText\>
|
|
421
|
+
<strong\>
|
|
422
|
+
0 - 575px </strong\>
|
|
423
|
+
<br />
|
|
424
|
+
The mobile breakpoint is used for small mobile devices. </IressText\>
|
|
425
|
+
</IressStack\>
|
|
426
|
+
<IressStack gap\="xs"\>
|
|
427
|
+
<IressInline gap\="sm"\>
|
|
428
|
+
<IressText element\="strong"\>
|
|
429
|
+
Min screen width </IressText\>
|
|
430
|
+
<IressText\>
|
|
431
|
+
0px </IressText\>
|
|
432
|
+
</IressInline\>
|
|
433
|
+
<IressInline gap\="sm"\>
|
|
434
|
+
<IressText element\="strong"\>
|
|
435
|
+
Max screen width </IressText\>
|
|
436
|
+
<IressText\>
|
|
437
|
+
575px </IressText\>
|
|
438
|
+
</IressInline\>
|
|
439
|
+
<IressInline gap\="sm"\>
|
|
440
|
+
<IressText element\="strong"\>
|
|
441
|
+
Example viewport </IressText\>
|
|
442
|
+
<IressText\>
|
|
443
|
+
100% </IressText\>
|
|
444
|
+
</IressInline\>
|
|
445
|
+
<IressInline gap\="sm"\>
|
|
446
|
+
<IressText element\="strong"\>
|
|
447
|
+
Margin </IressText\>
|
|
448
|
+
<IressText\>
|
|
449
|
+
16px </IressText\>
|
|
450
|
+
</IressInline\>
|
|
451
|
+
</IressStack\>
|
|
452
|
+
</IressInline\>
|
|
453
|
+
<IressDivider />
|
|
454
|
+
<IressText\>
|
|
455
|
+
<h2\>
|
|
456
|
+
Grid example </h2\>
|
|
457
|
+
<p\>
|
|
458
|
+
To ensure the best usability and accessibility, please do not use grids with more than 4 columns maximum on extra small screens. For developers, this means the minimum span on mobile devices is 3. </p\>
|
|
459
|
+
<IressPanel bg\="alt"\>
|
|
460
|
+
<kn renderLabel\="viewing" />
|
|
461
|
+
</IressPanel\>
|
|
462
|
+
</IressText\>
|
|
463
|
+
<IressContainer
|
|
464
|
+
style\={{
|
|
465
|
+
maxWidth: '360px'
|
|
466
|
+
}}
|
|
467
|
+
\>
|
|
468
|
+
<IressRow gutter\="md"\>
|
|
469
|
+
<IressCol span\={12}\>
|
|
470
|
+
<IressPlaceholder height\="5em" />
|
|
471
|
+
</IressCol\>
|
|
472
|
+
<IressCol span\={6}\>
|
|
473
|
+
<IressPlaceholder height\="5em" />
|
|
474
|
+
</IressCol\>
|
|
475
|
+
<IressCol span\={6}\>
|
|
476
|
+
<IressPlaceholder height\="5em" />
|
|
477
|
+
</IressCol\>
|
|
478
|
+
<IressCol span\={3}\>
|
|
479
|
+
<IressPlaceholder height\="5em" />
|
|
480
|
+
</IressCol\>
|
|
481
|
+
<IressCol span\={3}\>
|
|
482
|
+
<IressPlaceholder height\="5em" />
|
|
483
|
+
</IressCol\>
|
|
484
|
+
<IressCol span\={3}\>
|
|
485
|
+
<IressPlaceholder height\="5em" />
|
|
486
|
+
</IressCol\>
|
|
487
|
+
<IressCol span\={3}\>
|
|
488
|
+
<IressPlaceholder height\="5em" />
|
|
489
|
+
</IressCol\>
|
|
490
|
+
</IressRow\>
|
|
491
|
+
</IressContainer\>
|
|
492
|
+
</IressStack\>
|
|
493
|
+
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
#### Props
|
|
497
|
+
|
|
498
|
+
| Name | Description | Default | Control |
|
|
499
|
+
| --- | --- | --- | --- |
|
|
500
|
+
| alternate |
|
|
501
|
+
If set to true, the table will have alternating row colors. This is useful for improving readability in tables with many rows.
|
|
502
|
+
|
|
503
|
+
boolean
|
|
504
|
+
|
|
505
|
+
|
|
|
506
|
+
|
|
507
|
+
false
|
|
508
|
+
|
|
509
|
+
| Set boolean |
|
|
510
|
+
| caption\* |
|
|
511
|
+
|
|
512
|
+
Caption that describes the data in the table, required for accessibility.
|
|
513
|
+
|
|
514
|
+
ReactNode
|
|
515
|
+
|
|
516
|
+
| \- |
|
|
517
|
+
|
|
518
|
+
"0 - 575px"
|
|
519
|
+
|
|
520
|
+
|
|
|
521
|
+
| children |
|
|
522
|
+
|
|
523
|
+
Multiple table elements can be passed as children. Used to create a static table, or add a `<tfoot />` element to a `rows` based table.
|
|
524
|
+
|
|
525
|
+
ReactNode
|
|
526
|
+
|
|
527
|
+
| \- | Set object |
|
|
528
|
+
| columns |
|
|
529
|
+
|
|
530
|
+
A mapping of columns to be displayed in the table. If not provided, it will be automatically regenerated from the row data.
|
|
531
|
+
|
|
532
|
+
TableColumn<TRow, TVal>\[\]
|
|
533
|
+
|
|
534
|
+
| \- | Set object |
|
|
535
|
+
| compact |
|
|
536
|
+
|
|
537
|
+
Compact view of the table, used for tables with a lot of data.
|
|
538
|
+
|
|
539
|
+
boolean
|
|
540
|
+
|
|
541
|
+
|
|
|
542
|
+
|
|
543
|
+
false
|
|
544
|
+
|
|
545
|
+
| Set boolean |
|
|
546
|
+
| empty |
|
|
547
|
+
|
|
548
|
+
Content to be show when there is no rowData (columns must also be provided).
|
|
549
|
+
|
|
550
|
+
ReactNode
|
|
551
|
+
|
|
552
|
+
| \- | Set object |
|
|
553
|
+
| hiddenCaption |
|
|
554
|
+
|
|
555
|
+
When set to true, the table caption will be visually hidden.
|
|
556
|
+
|
|
557
|
+
boolean
|
|
558
|
+
|
|
559
|
+
| \- | Set boolean |
|
|
560
|
+
| hiddenHeader |
|
|
561
|
+
|
|
562
|
+
When set to true, the table header (`<thead></thead>`) will be not be rendered. Only use with very simple tables.
|
|
563
|
+
|
|
564
|
+
boolean
|
|
565
|
+
|
|
566
|
+
| \- | Set boolean |
|
|
567
|
+
| hover |
|
|
568
|
+
|
|
569
|
+
When set to true, hovering over a row will trigger a UI change.
|
|
570
|
+
|
|
571
|
+
boolean
|
|
572
|
+
|
|
573
|
+
| \- | Set boolean |
|
|
574
|
+
| removeRowBorders |
|
|
575
|
+
|
|
576
|
+
If set to true, the table will not have borders between rows. This is useful for simpler tables where the row borders are not needed.
|
|
577
|
+
|
|
578
|
+
boolean
|
|
579
|
+
|
|
580
|
+
|
|
|
581
|
+
|
|
582
|
+
false
|
|
583
|
+
|
|
584
|
+
| Set boolean |
|
|
585
|
+
| rowProps |
|
|
586
|
+
|
|
587
|
+
Add additional props to the row element. Can be a props map or a function that returns an props map. The function is called with the row data.
|
|
588
|
+
|
|
589
|
+
TableRowsProps\['rowProps'\]
|
|
590
|
+
|
|
591
|
+
| \- | Set object |
|
|
592
|
+
| rows |
|
|
593
|
+
|
|
594
|
+
Each object in the array contains the data for a row.
|
|
595
|
+
|
|
596
|
+
TRow\[\]
|
|
597
|
+
|
|
598
|
+
| \[\] | Set object |
|
|
599
|
+
| scope |
|
|
600
|
+
|
|
601
|
+
Defaults to 'row' - the first cell in the row is a `<th>`, otherwise it's a `<td>`.
|
|
602
|
+
|
|
603
|
+
union
|
|
604
|
+
|
|
605
|
+
| \- |
|
|
606
|
+
|
|
607
|
+
rowcol
|
|
608
|
+
|
|
609
|
+
|
|
|
610
|
+
|
|
611
|
+
### Small screens (`sm`)
|
|
612
|
+
|
|
613
|
+
[](./iframe.html?id=foundations-responsive-layout--sm)
|
|
614
|
+
|
|
615
|
+
**576px - 767px**
|
|
616
|
+
Small breakpoint, for larger mobile devices and tablet portrait.
|
|
617
|
+
|
|
618
|
+
**Min screen width**
|
|
619
|
+
|
|
620
|
+
576px
|
|
621
|
+
|
|
622
|
+
**Max screen width**
|
|
623
|
+
|
|
624
|
+
767px
|
|
625
|
+
|
|
626
|
+
**Example viewport**
|
|
627
|
+
|
|
628
|
+
100%
|
|
629
|
+
|
|
630
|
+
**Margin**
|
|
631
|
+
|
|
632
|
+
16px
|
|
633
|
+
|
|
634
|
+
* * *
|
|
635
|
+
|
|
636
|
+
Grid example
|
|
637
|
+
------------
|
|
638
|
+
|
|
639
|
+
To ensure the best usability and accessibility, please do not use grids with more than 4 columns maximum on small screens. For developers, this means the minimum span on mobile devices is 3.
|
|
640
|
+
|
|
641
|
+
You are currently viewing the **xl** breakpoint (1200px - 1499px). Resize your screen to view different breakpoints.
|
|
642
|
+
|
|
643
|
+
```
|
|
644
|
+
|
|
645
|
+
<IressStack gap\="lg"\>
|
|
646
|
+
<IressInline
|
|
647
|
+
gap\="md"
|
|
648
|
+
verticalAlign\="bottom"
|
|
649
|
+
\>
|
|
650
|
+
<IressStack
|
|
651
|
+
gap\="xs"
|
|
652
|
+
maxWidth\="input.16"
|
|
653
|
+
\>
|
|
654
|
+
<React.Suspense\>
|
|
655
|
+
<React.Lazy />
|
|
656
|
+
</React.Suspense\>
|
|
657
|
+
<IressText\>
|
|
658
|
+
<strong\>
|
|
659
|
+
576px - 767px </strong\>
|
|
660
|
+
<br />
|
|
661
|
+
Small breakpoint, for larger mobile devices and tablet portrait. </IressText\>
|
|
662
|
+
</IressStack\>
|
|
663
|
+
<IressStack gap\="xs"\>
|
|
664
|
+
<IressInline gap\="sm"\>
|
|
665
|
+
<IressText element\="strong"\>
|
|
666
|
+
Min screen width </IressText\>
|
|
667
|
+
<IressText\>
|
|
668
|
+
576px </IressText\>
|
|
669
|
+
</IressInline\>
|
|
670
|
+
<IressInline gap\="sm"\>
|
|
671
|
+
<IressText element\="strong"\>
|
|
672
|
+
Max screen width </IressText\>
|
|
673
|
+
<IressText\>
|
|
674
|
+
767px </IressText\>
|
|
675
|
+
</IressInline\>
|
|
676
|
+
<IressInline gap\="sm"\>
|
|
677
|
+
<IressText element\="strong"\>
|
|
678
|
+
Example viewport </IressText\>
|
|
679
|
+
<IressText\>
|
|
680
|
+
100% </IressText\>
|
|
681
|
+
</IressInline\>
|
|
682
|
+
<IressInline gap\="sm"\>
|
|
683
|
+
<IressText element\="strong"\>
|
|
684
|
+
Margin </IressText\>
|
|
685
|
+
<IressText\>
|
|
686
|
+
16px </IressText\>
|
|
687
|
+
</IressInline\>
|
|
688
|
+
</IressStack\>
|
|
689
|
+
</IressInline\>
|
|
690
|
+
<IressDivider />
|
|
691
|
+
<IressText\>
|
|
692
|
+
<h2\>
|
|
693
|
+
Grid example </h2\>
|
|
694
|
+
<p\>
|
|
695
|
+
To ensure the best usability and accessibility, please do not use grids with more than 4 columns maximum on small screens. For developers, this means the minimum span on mobile devices is 3. </p\>
|
|
696
|
+
<IressPanel bg\="alt"\>
|
|
697
|
+
<kn renderLabel\="viewing" />
|
|
698
|
+
</IressPanel\>
|
|
699
|
+
</IressText\>
|
|
700
|
+
<IressContainer
|
|
701
|
+
style\={{
|
|
702
|
+
maxWidth: '767px'
|
|
703
|
+
}}
|
|
704
|
+
\>
|
|
705
|
+
<IressRow gutter\="md"\>
|
|
706
|
+
<IressCol
|
|
707
|
+
span\={{
|
|
708
|
+
base: 12,
|
|
709
|
+
sm: 12
|
|
710
|
+
}}
|
|
711
|
+
\>
|
|
712
|
+
<IressPlaceholder height\="5em" />
|
|
713
|
+
</IressCol\>
|
|
714
|
+
<IressCol
|
|
715
|
+
span\={{
|
|
716
|
+
base: 12,
|
|
717
|
+
sm: 6
|
|
718
|
+
}}
|
|
719
|
+
\>
|
|
720
|
+
<IressPlaceholder height\="5em" />
|
|
721
|
+
</IressCol\>
|
|
722
|
+
<IressCol
|
|
723
|
+
span\={{
|
|
724
|
+
base: 12,
|
|
725
|
+
sm: 6
|
|
726
|
+
}}
|
|
727
|
+
\>
|
|
728
|
+
<IressPlaceholder height\="5em" />
|
|
729
|
+
</IressCol\>
|
|
730
|
+
<IressCol
|
|
731
|
+
span\={{
|
|
732
|
+
base: 12,
|
|
733
|
+
sm: 3
|
|
734
|
+
}}
|
|
735
|
+
\>
|
|
736
|
+
<IressPlaceholder height\="5em" />
|
|
737
|
+
</IressCol\>
|
|
738
|
+
<IressCol
|
|
739
|
+
span\={{
|
|
740
|
+
base: 12,
|
|
741
|
+
sm: 3
|
|
742
|
+
}}
|
|
743
|
+
\>
|
|
744
|
+
<IressPlaceholder height\="5em" />
|
|
745
|
+
</IressCol\>
|
|
746
|
+
<IressCol
|
|
747
|
+
span\={{
|
|
748
|
+
base: 12,
|
|
749
|
+
sm: 3
|
|
750
|
+
}}
|
|
751
|
+
\>
|
|
752
|
+
<IressPlaceholder height\="5em" />
|
|
753
|
+
</IressCol\>
|
|
754
|
+
<IressCol
|
|
755
|
+
span\={{
|
|
756
|
+
base: 12,
|
|
757
|
+
sm: 3
|
|
758
|
+
}}
|
|
759
|
+
\>
|
|
760
|
+
<IressPlaceholder height\="5em" />
|
|
761
|
+
</IressCol\>
|
|
762
|
+
</IressRow\>
|
|
763
|
+
</IressContainer\>
|
|
764
|
+
</IressStack\>
|
|
765
|
+
|
|
766
|
+
```
|
|
767
|
+
|
|
768
|
+
#### Props
|
|
769
|
+
|
|
770
|
+
| Name | Description | Default | Control |
|
|
771
|
+
| --- | --- | --- | --- |
|
|
772
|
+
| alternate |
|
|
773
|
+
If set to true, the table will have alternating row colors. This is useful for improving readability in tables with many rows.
|
|
774
|
+
|
|
775
|
+
boolean
|
|
776
|
+
|
|
777
|
+
|
|
|
778
|
+
|
|
779
|
+
false
|
|
780
|
+
|
|
781
|
+
| Set boolean |
|
|
782
|
+
| caption\* |
|
|
783
|
+
|
|
784
|
+
Caption that describes the data in the table, required for accessibility.
|
|
785
|
+
|
|
786
|
+
ReactNode
|
|
787
|
+
|
|
788
|
+
| \- |
|
|
789
|
+
|
|
790
|
+
"576px - 767px"
|
|
791
|
+
|
|
792
|
+
|
|
|
793
|
+
| children |
|
|
794
|
+
|
|
795
|
+
Multiple table elements can be passed as children. Used to create a static table, or add a `<tfoot />` element to a `rows` based table.
|
|
796
|
+
|
|
797
|
+
ReactNode
|
|
798
|
+
|
|
799
|
+
| \- | Set object |
|
|
800
|
+
| columns |
|
|
801
|
+
|
|
802
|
+
A mapping of columns to be displayed in the table. If not provided, it will be automatically regenerated from the row data.
|
|
803
|
+
|
|
804
|
+
TableColumn<TRow, TVal>\[\]
|
|
805
|
+
|
|
806
|
+
| \- | Set object |
|
|
807
|
+
| compact |
|
|
808
|
+
|
|
809
|
+
Compact view of the table, used for tables with a lot of data.
|
|
810
|
+
|
|
811
|
+
boolean
|
|
812
|
+
|
|
813
|
+
|
|
|
814
|
+
|
|
815
|
+
false
|
|
816
|
+
|
|
817
|
+
| Set boolean |
|
|
818
|
+
| empty |
|
|
819
|
+
|
|
820
|
+
Content to be show when there is no rowData (columns must also be provided).
|
|
821
|
+
|
|
822
|
+
ReactNode
|
|
823
|
+
|
|
824
|
+
| \- | Set object |
|
|
825
|
+
| hiddenCaption |
|
|
826
|
+
|
|
827
|
+
When set to true, the table caption will be visually hidden.
|
|
828
|
+
|
|
829
|
+
boolean
|
|
830
|
+
|
|
831
|
+
| \- | Set boolean |
|
|
832
|
+
| hiddenHeader |
|
|
833
|
+
|
|
834
|
+
When set to true, the table header (`<thead></thead>`) will be not be rendered. Only use with very simple tables.
|
|
835
|
+
|
|
836
|
+
boolean
|
|
837
|
+
|
|
838
|
+
| \- | Set boolean |
|
|
839
|
+
| hover |
|
|
840
|
+
|
|
841
|
+
When set to true, hovering over a row will trigger a UI change.
|
|
842
|
+
|
|
843
|
+
boolean
|
|
844
|
+
|
|
845
|
+
| \- | Set boolean |
|
|
846
|
+
| removeRowBorders |
|
|
847
|
+
|
|
848
|
+
If set to true, the table will not have borders between rows. This is useful for simpler tables where the row borders are not needed.
|
|
849
|
+
|
|
850
|
+
boolean
|
|
851
|
+
|
|
852
|
+
|
|
|
853
|
+
|
|
854
|
+
false
|
|
855
|
+
|
|
856
|
+
| Set boolean |
|
|
857
|
+
| rowProps |
|
|
858
|
+
|
|
859
|
+
Add additional props to the row element. Can be a props map or a function that returns an props map. The function is called with the row data.
|
|
860
|
+
|
|
861
|
+
TableRowsProps\['rowProps'\]
|
|
862
|
+
|
|
863
|
+
| \- | Set object |
|
|
864
|
+
| rows |
|
|
865
|
+
|
|
866
|
+
Each object in the array contains the data for a row.
|
|
867
|
+
|
|
868
|
+
TRow\[\]
|
|
869
|
+
|
|
870
|
+
| \[\] | Set object |
|
|
871
|
+
| scope |
|
|
872
|
+
|
|
873
|
+
Defaults to 'row' - the first cell in the row is a `<th>`, otherwise it's a `<td>`.
|
|
874
|
+
|
|
875
|
+
union
|
|
876
|
+
|
|
877
|
+
| \- |
|
|
878
|
+
|
|
879
|
+
rowcol
|
|
880
|
+
|
|
881
|
+
|
|
|
882
|
+
|
|
883
|
+
### Medium screens (`md`)
|
|
884
|
+
|
|
885
|
+
[](./iframe.html?id=foundations-responsive-layout--md)
|
|
886
|
+
|
|
887
|
+
**768px - 1023px**
|
|
888
|
+
Medium breakpoint for tablets and small laptops such as Chromebooks.
|
|
889
|
+
|
|
890
|
+
**Min screen width**
|
|
891
|
+
|
|
892
|
+
768px
|
|
893
|
+
|
|
894
|
+
**Max screen width**
|
|
895
|
+
|
|
896
|
+
1023px
|
|
897
|
+
|
|
898
|
+
**Example viewport**
|
|
899
|
+
|
|
900
|
+
100%
|
|
901
|
+
|
|
902
|
+
**Margin**
|
|
903
|
+
|
|
904
|
+
16px
|
|
905
|
+
|
|
906
|
+
* * *
|
|
907
|
+
|
|
908
|
+
Grid example
|
|
909
|
+
------------
|
|
910
|
+
|
|
911
|
+
To ensure the best usability and accessibility, please do not use grids with more than 6 columns maximum on medium screens. For developers, this means the minimum span on medium screems is 2.
|
|
912
|
+
|
|
913
|
+
You are currently viewing the **xl** breakpoint (1200px - 1499px). Resize your screen to view different breakpoints.
|
|
914
|
+
|
|
915
|
+
```
|
|
916
|
+
|
|
917
|
+
<IressStack gap\="lg"\>
|
|
918
|
+
<IressInline
|
|
919
|
+
gap\="md"
|
|
920
|
+
verticalAlign\="bottom"
|
|
921
|
+
\>
|
|
922
|
+
<IressStack
|
|
923
|
+
gap\="xs"
|
|
924
|
+
maxWidth\="input.16"
|
|
925
|
+
\>
|
|
926
|
+
<React.Suspense\>
|
|
927
|
+
<React.Lazy />
|
|
928
|
+
</React.Suspense\>
|
|
929
|
+
<IressText\>
|
|
930
|
+
<strong\>
|
|
931
|
+
768px - 1023px </strong\>
|
|
932
|
+
<br />
|
|
933
|
+
Medium breakpoint for tablets and small laptops such as Chromebooks. </IressText\>
|
|
934
|
+
</IressStack\>
|
|
935
|
+
<IressStack gap\="xs"\>
|
|
936
|
+
<IressInline gap\="sm"\>
|
|
937
|
+
<IressText element\="strong"\>
|
|
938
|
+
Min screen width </IressText\>
|
|
939
|
+
<IressText\>
|
|
940
|
+
768px </IressText\>
|
|
941
|
+
</IressInline\>
|
|
942
|
+
<IressInline gap\="sm"\>
|
|
943
|
+
<IressText element\="strong"\>
|
|
944
|
+
Max screen width </IressText\>
|
|
945
|
+
<IressText\>
|
|
946
|
+
1023px </IressText\>
|
|
947
|
+
</IressInline\>
|
|
948
|
+
<IressInline gap\="sm"\>
|
|
949
|
+
<IressText element\="strong"\>
|
|
950
|
+
Example viewport </IressText\>
|
|
951
|
+
<IressText\>
|
|
952
|
+
100% </IressText\>
|
|
953
|
+
</IressInline\>
|
|
954
|
+
<IressInline gap\="sm"\>
|
|
955
|
+
<IressText element\="strong"\>
|
|
956
|
+
Margin </IressText\>
|
|
957
|
+
<IressText\>
|
|
958
|
+
16px </IressText\>
|
|
959
|
+
</IressInline\>
|
|
960
|
+
</IressStack\>
|
|
961
|
+
</IressInline\>
|
|
962
|
+
<IressDivider />
|
|
963
|
+
<IressText\>
|
|
964
|
+
<h2\>
|
|
965
|
+
Grid example </h2\>
|
|
966
|
+
<p\>
|
|
967
|
+
To ensure the best usability and accessibility, please do not use grids with more than 6 columns maximum on medium screens. For developers, this means the minimum span on medium screems is 2. </p\>
|
|
968
|
+
<IressPanel bg\="alt"\>
|
|
969
|
+
<kn renderLabel\="viewing" />
|
|
970
|
+
</IressPanel\>
|
|
971
|
+
</IressText\>
|
|
972
|
+
<IressContainer
|
|
973
|
+
style\={{
|
|
974
|
+
maxWidth: '962px'
|
|
975
|
+
}}
|
|
976
|
+
\>
|
|
977
|
+
<IressRow gutter\="md"\>
|
|
978
|
+
<IressCol
|
|
979
|
+
span\={{
|
|
980
|
+
base: 12,
|
|
981
|
+
md: 12
|
|
982
|
+
}}
|
|
983
|
+
\>
|
|
984
|
+
<IressPlaceholder height\="5em" />
|
|
985
|
+
</IressCol\>
|
|
986
|
+
<IressCol
|
|
987
|
+
span\={{
|
|
988
|
+
base: 12,
|
|
989
|
+
md: 6
|
|
990
|
+
}}
|
|
991
|
+
\>
|
|
992
|
+
<IressPlaceholder height\="5em" />
|
|
993
|
+
</IressCol\>
|
|
994
|
+
<IressCol
|
|
995
|
+
span\={{
|
|
996
|
+
base: 12,
|
|
997
|
+
md: 6
|
|
998
|
+
}}
|
|
999
|
+
\>
|
|
1000
|
+
<IressPlaceholder height\="5em" />
|
|
1001
|
+
</IressCol\>
|
|
1002
|
+
<IressCol
|
|
1003
|
+
span\={{
|
|
1004
|
+
base: 12,
|
|
1005
|
+
md: 4
|
|
1006
|
+
}}
|
|
1007
|
+
\>
|
|
1008
|
+
<IressPlaceholder height\="5em" />
|
|
1009
|
+
</IressCol\>
|
|
1010
|
+
<IressCol
|
|
1011
|
+
span\={{
|
|
1012
|
+
base: 12,
|
|
1013
|
+
md: 4
|
|
1014
|
+
}}
|
|
1015
|
+
\>
|
|
1016
|
+
<IressPlaceholder height\="5em" />
|
|
1017
|
+
</IressCol\>
|
|
1018
|
+
<IressCol
|
|
1019
|
+
span\={{
|
|
1020
|
+
base: 12,
|
|
1021
|
+
md: 4
|
|
1022
|
+
}}
|
|
1023
|
+
\>
|
|
1024
|
+
<IressPlaceholder height\="5em" />
|
|
1025
|
+
</IressCol\>
|
|
1026
|
+
<IressCol
|
|
1027
|
+
span\={{
|
|
1028
|
+
base: 12,
|
|
1029
|
+
md: 2
|
|
1030
|
+
}}
|
|
1031
|
+
\>
|
|
1032
|
+
<IressPlaceholder height\="5em" />
|
|
1033
|
+
</IressCol\>
|
|
1034
|
+
<IressCol
|
|
1035
|
+
span\={{
|
|
1036
|
+
base: 12,
|
|
1037
|
+
md: 2
|
|
1038
|
+
}}
|
|
1039
|
+
\>
|
|
1040
|
+
<IressPlaceholder height\="5em" />
|
|
1041
|
+
</IressCol\>
|
|
1042
|
+
<IressCol
|
|
1043
|
+
span\={{
|
|
1044
|
+
base: 12,
|
|
1045
|
+
md: 2
|
|
1046
|
+
}}
|
|
1047
|
+
\>
|
|
1048
|
+
<IressPlaceholder height\="5em" />
|
|
1049
|
+
</IressCol\>
|
|
1050
|
+
<IressCol
|
|
1051
|
+
span\={{
|
|
1052
|
+
base: 12,
|
|
1053
|
+
md: 2
|
|
1054
|
+
}}
|
|
1055
|
+
\>
|
|
1056
|
+
<IressPlaceholder height\="5em" />
|
|
1057
|
+
</IressCol\>
|
|
1058
|
+
<IressCol
|
|
1059
|
+
span\={{
|
|
1060
|
+
base: 12,
|
|
1061
|
+
md: 2
|
|
1062
|
+
}}
|
|
1063
|
+
\>
|
|
1064
|
+
<IressPlaceholder height\="5em" />
|
|
1065
|
+
</IressCol\>
|
|
1066
|
+
<IressCol
|
|
1067
|
+
span\={{
|
|
1068
|
+
base: 12,
|
|
1069
|
+
md: 2
|
|
1070
|
+
}}
|
|
1071
|
+
\>
|
|
1072
|
+
<IressPlaceholder height\="5em" />
|
|
1073
|
+
</IressCol\>
|
|
1074
|
+
</IressRow\>
|
|
1075
|
+
</IressContainer\>
|
|
1076
|
+
</IressStack\>
|
|
1077
|
+
|
|
1078
|
+
```
|
|
1079
|
+
|
|
1080
|
+
#### Props
|
|
1081
|
+
|
|
1082
|
+
| Name | Description | Default | Control |
|
|
1083
|
+
| --- | --- | --- | --- |
|
|
1084
|
+
| alternate |
|
|
1085
|
+
If set to true, the table will have alternating row colors. This is useful for improving readability in tables with many rows.
|
|
1086
|
+
|
|
1087
|
+
boolean
|
|
1088
|
+
|
|
1089
|
+
|
|
|
1090
|
+
|
|
1091
|
+
false
|
|
1092
|
+
|
|
1093
|
+
| Set boolean |
|
|
1094
|
+
| caption\* |
|
|
1095
|
+
|
|
1096
|
+
Caption that describes the data in the table, required for accessibility.
|
|
1097
|
+
|
|
1098
|
+
ReactNode
|
|
1099
|
+
|
|
1100
|
+
| \- |
|
|
1101
|
+
|
|
1102
|
+
"768px - 1023px"
|
|
1103
|
+
|
|
1104
|
+
|
|
|
1105
|
+
| children |
|
|
1106
|
+
|
|
1107
|
+
Multiple table elements can be passed as children. Used to create a static table, or add a `<tfoot />` element to a `rows` based table.
|
|
1108
|
+
|
|
1109
|
+
ReactNode
|
|
1110
|
+
|
|
1111
|
+
| \- | Set object |
|
|
1112
|
+
| columns |
|
|
1113
|
+
|
|
1114
|
+
A mapping of columns to be displayed in the table. If not provided, it will be automatically regenerated from the row data.
|
|
1115
|
+
|
|
1116
|
+
TableColumn<TRow, TVal>\[\]
|
|
1117
|
+
|
|
1118
|
+
| \- | Set object |
|
|
1119
|
+
| compact |
|
|
1120
|
+
|
|
1121
|
+
Compact view of the table, used for tables with a lot of data.
|
|
1122
|
+
|
|
1123
|
+
boolean
|
|
1124
|
+
|
|
1125
|
+
|
|
|
1126
|
+
|
|
1127
|
+
false
|
|
1128
|
+
|
|
1129
|
+
| Set boolean |
|
|
1130
|
+
| empty |
|
|
1131
|
+
|
|
1132
|
+
Content to be show when there is no rowData (columns must also be provided).
|
|
1133
|
+
|
|
1134
|
+
ReactNode
|
|
1135
|
+
|
|
1136
|
+
| \- | Set object |
|
|
1137
|
+
| hiddenCaption |
|
|
1138
|
+
|
|
1139
|
+
When set to true, the table caption will be visually hidden.
|
|
1140
|
+
|
|
1141
|
+
boolean
|
|
1142
|
+
|
|
1143
|
+
| \- | Set boolean |
|
|
1144
|
+
| hiddenHeader |
|
|
1145
|
+
|
|
1146
|
+
When set to true, the table header (`<thead></thead>`) will be not be rendered. Only use with very simple tables.
|
|
1147
|
+
|
|
1148
|
+
boolean
|
|
1149
|
+
|
|
1150
|
+
| \- | Set boolean |
|
|
1151
|
+
| hover |
|
|
1152
|
+
|
|
1153
|
+
When set to true, hovering over a row will trigger a UI change.
|
|
1154
|
+
|
|
1155
|
+
boolean
|
|
1156
|
+
|
|
1157
|
+
| \- | Set boolean |
|
|
1158
|
+
| removeRowBorders |
|
|
1159
|
+
|
|
1160
|
+
If set to true, the table will not have borders between rows. This is useful for simpler tables where the row borders are not needed.
|
|
1161
|
+
|
|
1162
|
+
boolean
|
|
1163
|
+
|
|
1164
|
+
|
|
|
1165
|
+
|
|
1166
|
+
false
|
|
1167
|
+
|
|
1168
|
+
| Set boolean |
|
|
1169
|
+
| rowProps |
|
|
1170
|
+
|
|
1171
|
+
Add additional props to the row element. Can be a props map or a function that returns an props map. The function is called with the row data.
|
|
1172
|
+
|
|
1173
|
+
TableRowsProps\['rowProps'\]
|
|
1174
|
+
|
|
1175
|
+
| \- | Set object |
|
|
1176
|
+
| rows |
|
|
1177
|
+
|
|
1178
|
+
Each object in the array contains the data for a row.
|
|
1179
|
+
|
|
1180
|
+
TRow\[\]
|
|
1181
|
+
|
|
1182
|
+
| \[\] | Set object |
|
|
1183
|
+
| scope |
|
|
1184
|
+
|
|
1185
|
+
Defaults to 'row' - the first cell in the row is a `<th>`, otherwise it's a `<td>`.
|
|
1186
|
+
|
|
1187
|
+
union
|
|
1188
|
+
|
|
1189
|
+
| \- |
|
|
1190
|
+
|
|
1191
|
+
rowcol
|
|
1192
|
+
|
|
1193
|
+
|
|
|
1194
|
+
|
|
1195
|
+
### Large screens (`lg`)
|
|
1196
|
+
|
|
1197
|
+
[](./iframe.html?id=foundations-responsive-layout--lg)
|
|
1198
|
+
|
|
1199
|
+
**1024px - 1199px**
|
|
1200
|
+
Large breakpoint for desktops and laptops, such as 13inch MacBooks.
|
|
1201
|
+
|
|
1202
|
+
**Min screen width**
|
|
1203
|
+
|
|
1204
|
+
1024px
|
|
1205
|
+
|
|
1206
|
+
**Max screen width**
|
|
1207
|
+
|
|
1208
|
+
1199px
|
|
1209
|
+
|
|
1210
|
+
**Example viewport**
|
|
1211
|
+
|
|
1212
|
+
100%
|
|
1213
|
+
|
|
1214
|
+
**Margin**
|
|
1215
|
+
|
|
1216
|
+
16px
|
|
1217
|
+
|
|
1218
|
+
* * *
|
|
1219
|
+
|
|
1220
|
+
Grid example
|
|
1221
|
+
------------
|
|
1222
|
+
|
|
1223
|
+
From large screens onwards, all 12 columns of the grid can be used. For developers, this means the minimum span on large screens is 1.
|
|
1224
|
+
|
|
1225
|
+
You are currently viewing the **xl** breakpoint (1200px - 1499px). Resize your screen to view different breakpoints.
|
|
1226
|
+
|
|
1227
|
+
```
|
|
1228
|
+
|
|
1229
|
+
<IressStack gap\="lg"\>
|
|
1230
|
+
<IressInline
|
|
1231
|
+
gap\="md"
|
|
1232
|
+
verticalAlign\="bottom"
|
|
1233
|
+
\>
|
|
1234
|
+
<IressStack
|
|
1235
|
+
gap\="xs"
|
|
1236
|
+
maxWidth\="input.16"
|
|
1237
|
+
\>
|
|
1238
|
+
<React.Suspense\>
|
|
1239
|
+
<React.Lazy />
|
|
1240
|
+
</React.Suspense\>
|
|
1241
|
+
<IressText\>
|
|
1242
|
+
<strong\>
|
|
1243
|
+
1024px - 1199px </strong\>
|
|
1244
|
+
<br />
|
|
1245
|
+
Large breakpoint for desktops and laptops, such as 13inch MacBooks. </IressText\>
|
|
1246
|
+
</IressStack\>
|
|
1247
|
+
<IressStack gap\="xs"\>
|
|
1248
|
+
<IressInline gap\="sm"\>
|
|
1249
|
+
<IressText element\="strong"\>
|
|
1250
|
+
Min screen width </IressText\>
|
|
1251
|
+
<IressText\>
|
|
1252
|
+
1024px </IressText\>
|
|
1253
|
+
</IressInline\>
|
|
1254
|
+
<IressInline gap\="sm"\>
|
|
1255
|
+
<IressText element\="strong"\>
|
|
1256
|
+
Max screen width </IressText\>
|
|
1257
|
+
<IressText\>
|
|
1258
|
+
1199px </IressText\>
|
|
1259
|
+
</IressInline\>
|
|
1260
|
+
<IressInline gap\="sm"\>
|
|
1261
|
+
<IressText element\="strong"\>
|
|
1262
|
+
Example viewport </IressText\>
|
|
1263
|
+
<IressText\>
|
|
1264
|
+
100% </IressText\>
|
|
1265
|
+
</IressInline\>
|
|
1266
|
+
<IressInline gap\="sm"\>
|
|
1267
|
+
<IressText element\="strong"\>
|
|
1268
|
+
Margin </IressText\>
|
|
1269
|
+
<IressText\>
|
|
1270
|
+
16px </IressText\>
|
|
1271
|
+
</IressInline\>
|
|
1272
|
+
</IressStack\>
|
|
1273
|
+
</IressInline\>
|
|
1274
|
+
<IressDivider />
|
|
1275
|
+
<IressText\>
|
|
1276
|
+
<h2\>
|
|
1277
|
+
Grid example </h2\>
|
|
1278
|
+
<p\>
|
|
1279
|
+
From large screens onwards, all 12 columns of the grid can be used. For developers, this means the minimum span on large screens is 1. </p\>
|
|
1280
|
+
<IressPanel bg\="alt"\>
|
|
1281
|
+
<kn renderLabel\="viewing" />
|
|
1282
|
+
</IressPanel\>
|
|
1283
|
+
</IressText\>
|
|
1284
|
+
<IressContainer
|
|
1285
|
+
style\={{
|
|
1286
|
+
maxWidth: '1180px'
|
|
1287
|
+
}}
|
|
1288
|
+
\>
|
|
1289
|
+
<IressRow gutter\="md"\>
|
|
1290
|
+
<IressCol
|
|
1291
|
+
span\={{
|
|
1292
|
+
base: 12,
|
|
1293
|
+
lg: 12
|
|
1294
|
+
}}
|
|
1295
|
+
\>
|
|
1296
|
+
<IressPlaceholder height\="5em" />
|
|
1297
|
+
</IressCol\>
|
|
1298
|
+
<IressCol
|
|
1299
|
+
span\={{
|
|
1300
|
+
base: 12,
|
|
1301
|
+
lg: 6
|
|
1302
|
+
}}
|
|
1303
|
+
\>
|
|
1304
|
+
<IressPlaceholder height\="5em" />
|
|
1305
|
+
</IressCol\>
|
|
1306
|
+
<IressCol
|
|
1307
|
+
span\={{
|
|
1308
|
+
base: 12,
|
|
1309
|
+
lg: 6
|
|
1310
|
+
}}
|
|
1311
|
+
\>
|
|
1312
|
+
<IressPlaceholder height\="5em" />
|
|
1313
|
+
</IressCol\>
|
|
1314
|
+
<IressCol
|
|
1315
|
+
span\={{
|
|
1316
|
+
base: 12,
|
|
1317
|
+
lg: 4
|
|
1318
|
+
}}
|
|
1319
|
+
\>
|
|
1320
|
+
<IressPlaceholder height\="5em" />
|
|
1321
|
+
</IressCol\>
|
|
1322
|
+
<IressCol
|
|
1323
|
+
span\={{
|
|
1324
|
+
base: 12,
|
|
1325
|
+
lg: 4
|
|
1326
|
+
}}
|
|
1327
|
+
\>
|
|
1328
|
+
<IressPlaceholder height\="5em" />
|
|
1329
|
+
</IressCol\>
|
|
1330
|
+
<IressCol
|
|
1331
|
+
span\={{
|
|
1332
|
+
base: 12,
|
|
1333
|
+
lg: 4
|
|
1334
|
+
}}
|
|
1335
|
+
\>
|
|
1336
|
+
<IressPlaceholder height\="5em" />
|
|
1337
|
+
</IressCol\>
|
|
1338
|
+
<IressCol
|
|
1339
|
+
span\={{
|
|
1340
|
+
base: 12,
|
|
1341
|
+
lg: 2
|
|
1342
|
+
}}
|
|
1343
|
+
\>
|
|
1344
|
+
<IressPlaceholder height\="5em" />
|
|
1345
|
+
</IressCol\>
|
|
1346
|
+
<IressCol
|
|
1347
|
+
span\={{
|
|
1348
|
+
base: 12,
|
|
1349
|
+
lg: 2
|
|
1350
|
+
}}
|
|
1351
|
+
\>
|
|
1352
|
+
<IressPlaceholder height\="5em" />
|
|
1353
|
+
</IressCol\>
|
|
1354
|
+
<IressCol
|
|
1355
|
+
span\={{
|
|
1356
|
+
base: 12,
|
|
1357
|
+
lg: 2
|
|
1358
|
+
}}
|
|
1359
|
+
\>
|
|
1360
|
+
<IressPlaceholder height\="5em" />
|
|
1361
|
+
</IressCol\>
|
|
1362
|
+
<IressCol
|
|
1363
|
+
span\={{
|
|
1364
|
+
base: 12,
|
|
1365
|
+
lg: 2
|
|
1366
|
+
}}
|
|
1367
|
+
\>
|
|
1368
|
+
<IressPlaceholder height\="5em" />
|
|
1369
|
+
</IressCol\>
|
|
1370
|
+
<IressCol
|
|
1371
|
+
span\={{
|
|
1372
|
+
base: 12,
|
|
1373
|
+
lg: 2
|
|
1374
|
+
}}
|
|
1375
|
+
\>
|
|
1376
|
+
<IressPlaceholder height\="5em" />
|
|
1377
|
+
</IressCol\>
|
|
1378
|
+
<IressCol
|
|
1379
|
+
span\={{
|
|
1380
|
+
base: 12,
|
|
1381
|
+
lg: 2
|
|
1382
|
+
}}
|
|
1383
|
+
\>
|
|
1384
|
+
<IressPlaceholder height\="5em" />
|
|
1385
|
+
</IressCol\>
|
|
1386
|
+
<IressCol
|
|
1387
|
+
span\={{
|
|
1388
|
+
base: 12,
|
|
1389
|
+
lg: 1
|
|
1390
|
+
}}
|
|
1391
|
+
\>
|
|
1392
|
+
<IressPlaceholder height\="5em" />
|
|
1393
|
+
</IressCol\>
|
|
1394
|
+
<IressCol
|
|
1395
|
+
span\={{
|
|
1396
|
+
base: 12,
|
|
1397
|
+
lg: 1
|
|
1398
|
+
}}
|
|
1399
|
+
\>
|
|
1400
|
+
<IressPlaceholder height\="5em" />
|
|
1401
|
+
</IressCol\>
|
|
1402
|
+
<IressCol
|
|
1403
|
+
span\={{
|
|
1404
|
+
base: 12,
|
|
1405
|
+
lg: 1
|
|
1406
|
+
}}
|
|
1407
|
+
\>
|
|
1408
|
+
<IressPlaceholder height\="5em" />
|
|
1409
|
+
</IressCol\>
|
|
1410
|
+
<IressCol
|
|
1411
|
+
span\={{
|
|
1412
|
+
base: 12,
|
|
1413
|
+
lg: 1
|
|
1414
|
+
}}
|
|
1415
|
+
\>
|
|
1416
|
+
<IressPlaceholder height\="5em" />
|
|
1417
|
+
</IressCol\>
|
|
1418
|
+
<IressCol
|
|
1419
|
+
span\={{
|
|
1420
|
+
base: 12,
|
|
1421
|
+
lg: 1
|
|
1422
|
+
}}
|
|
1423
|
+
\>
|
|
1424
|
+
<IressPlaceholder height\="5em" />
|
|
1425
|
+
</IressCol\>
|
|
1426
|
+
<IressCol
|
|
1427
|
+
span\={{
|
|
1428
|
+
base: 12,
|
|
1429
|
+
lg: 1
|
|
1430
|
+
}}
|
|
1431
|
+
\>
|
|
1432
|
+
<IressPlaceholder height\="5em" />
|
|
1433
|
+
</IressCol\>
|
|
1434
|
+
<IressCol
|
|
1435
|
+
span\={{
|
|
1436
|
+
base: 12,
|
|
1437
|
+
lg: 1
|
|
1438
|
+
}}
|
|
1439
|
+
\>
|
|
1440
|
+
<IressPlaceholder height\="5em" />
|
|
1441
|
+
</IressCol\>
|
|
1442
|
+
<IressCol
|
|
1443
|
+
span\={{
|
|
1444
|
+
base: 12,
|
|
1445
|
+
lg: 1
|
|
1446
|
+
}}
|
|
1447
|
+
\>
|
|
1448
|
+
<IressPlaceholder height\="5em" />
|
|
1449
|
+
</IressCol\>
|
|
1450
|
+
<IressCol
|
|
1451
|
+
span\={{
|
|
1452
|
+
base: 12,
|
|
1453
|
+
lg: 1
|
|
1454
|
+
}}
|
|
1455
|
+
\>
|
|
1456
|
+
<IressPlaceholder height\="5em" />
|
|
1457
|
+
</IressCol\>
|
|
1458
|
+
<IressCol
|
|
1459
|
+
span\={{
|
|
1460
|
+
base: 12,
|
|
1461
|
+
lg: 1
|
|
1462
|
+
}}
|
|
1463
|
+
\>
|
|
1464
|
+
<IressPlaceholder height\="5em" />
|
|
1465
|
+
</IressCol\>
|
|
1466
|
+
<IressCol
|
|
1467
|
+
span\={{
|
|
1468
|
+
base: 12,
|
|
1469
|
+
lg: 1
|
|
1470
|
+
}}
|
|
1471
|
+
\>
|
|
1472
|
+
<IressPlaceholder height\="5em" />
|
|
1473
|
+
</IressCol\>
|
|
1474
|
+
<IressCol
|
|
1475
|
+
span\={{
|
|
1476
|
+
base: 12,
|
|
1477
|
+
lg: 1
|
|
1478
|
+
}}
|
|
1479
|
+
\>
|
|
1480
|
+
<IressPlaceholder height\="5em" />
|
|
1481
|
+
</IressCol\>
|
|
1482
|
+
</IressRow\>
|
|
1483
|
+
</IressContainer\>
|
|
1484
|
+
</IressStack\>
|
|
1485
|
+
|
|
1486
|
+
```
|
|
1487
|
+
|
|
1488
|
+
#### Props
|
|
1489
|
+
|
|
1490
|
+
| Name | Description | Default | Control |
|
|
1491
|
+
| --- | --- | --- | --- |
|
|
1492
|
+
| alternate |
|
|
1493
|
+
If set to true, the table will have alternating row colors. This is useful for improving readability in tables with many rows.
|
|
1494
|
+
|
|
1495
|
+
boolean
|
|
1496
|
+
|
|
1497
|
+
|
|
|
1498
|
+
|
|
1499
|
+
false
|
|
1500
|
+
|
|
1501
|
+
| Set boolean |
|
|
1502
|
+
| caption\* |
|
|
1503
|
+
|
|
1504
|
+
Caption that describes the data in the table, required for accessibility.
|
|
1505
|
+
|
|
1506
|
+
ReactNode
|
|
1507
|
+
|
|
1508
|
+
| \- |
|
|
1509
|
+
|
|
1510
|
+
"1024px - 1199px"
|
|
1511
|
+
|
|
1512
|
+
|
|
|
1513
|
+
| children |
|
|
1514
|
+
|
|
1515
|
+
Multiple table elements can be passed as children. Used to create a static table, or add a `<tfoot />` element to a `rows` based table.
|
|
1516
|
+
|
|
1517
|
+
ReactNode
|
|
1518
|
+
|
|
1519
|
+
| \- | Set object |
|
|
1520
|
+
| columns |
|
|
1521
|
+
|
|
1522
|
+
A mapping of columns to be displayed in the table. If not provided, it will be automatically regenerated from the row data.
|
|
1523
|
+
|
|
1524
|
+
TableColumn<TRow, TVal>\[\]
|
|
1525
|
+
|
|
1526
|
+
| \- | Set object |
|
|
1527
|
+
| compact |
|
|
1528
|
+
|
|
1529
|
+
Compact view of the table, used for tables with a lot of data.
|
|
1530
|
+
|
|
1531
|
+
boolean
|
|
1532
|
+
|
|
1533
|
+
|
|
|
1534
|
+
|
|
1535
|
+
false
|
|
1536
|
+
|
|
1537
|
+
| Set boolean |
|
|
1538
|
+
| empty |
|
|
1539
|
+
|
|
1540
|
+
Content to be show when there is no rowData (columns must also be provided).
|
|
1541
|
+
|
|
1542
|
+
ReactNode
|
|
1543
|
+
|
|
1544
|
+
| \- | Set object |
|
|
1545
|
+
| hiddenCaption |
|
|
1546
|
+
|
|
1547
|
+
When set to true, the table caption will be visually hidden.
|
|
1548
|
+
|
|
1549
|
+
boolean
|
|
1550
|
+
|
|
1551
|
+
| \- | Set boolean |
|
|
1552
|
+
| hiddenHeader |
|
|
1553
|
+
|
|
1554
|
+
When set to true, the table header (`<thead></thead>`) will be not be rendered. Only use with very simple tables.
|
|
1555
|
+
|
|
1556
|
+
boolean
|
|
1557
|
+
|
|
1558
|
+
| \- | Set boolean |
|
|
1559
|
+
| hover |
|
|
1560
|
+
|
|
1561
|
+
When set to true, hovering over a row will trigger a UI change.
|
|
1562
|
+
|
|
1563
|
+
boolean
|
|
1564
|
+
|
|
1565
|
+
| \- | Set boolean |
|
|
1566
|
+
| removeRowBorders |
|
|
1567
|
+
|
|
1568
|
+
If set to true, the table will not have borders between rows. This is useful for simpler tables where the row borders are not needed.
|
|
1569
|
+
|
|
1570
|
+
boolean
|
|
1571
|
+
|
|
1572
|
+
|
|
|
1573
|
+
|
|
1574
|
+
false
|
|
1575
|
+
|
|
1576
|
+
| Set boolean |
|
|
1577
|
+
| rowProps |
|
|
1578
|
+
|
|
1579
|
+
Add additional props to the row element. Can be a props map or a function that returns an props map. The function is called with the row data.
|
|
1580
|
+
|
|
1581
|
+
TableRowsProps\['rowProps'\]
|
|
1582
|
+
|
|
1583
|
+
| \- | Set object |
|
|
1584
|
+
| rows |
|
|
1585
|
+
|
|
1586
|
+
Each object in the array contains the data for a row.
|
|
1587
|
+
|
|
1588
|
+
TRow\[\]
|
|
1589
|
+
|
|
1590
|
+
| \[\] | Set object |
|
|
1591
|
+
| scope |
|
|
1592
|
+
|
|
1593
|
+
Defaults to 'row' - the first cell in the row is a `<th>`, otherwise it's a `<td>`.
|
|
1594
|
+
|
|
1595
|
+
union
|
|
1596
|
+
|
|
1597
|
+
| \- |
|
|
1598
|
+
|
|
1599
|
+
rowcol
|
|
1600
|
+
|
|
1601
|
+
|
|
|
1602
|
+
|
|
1603
|
+
### Extra-large screens (`xl`)
|
|
1604
|
+
|
|
1605
|
+
[](./iframe.html?id=foundations-responsive-layout--xl)
|
|
1606
|
+
|
|
1607
|
+
**1200px - 1499px**
|
|
1608
|
+
Large breakpoint for desktops and laptops, such as 15inch laptops and monitors.
|
|
1609
|
+
|
|
1610
|
+
**Min screen width**
|
|
1611
|
+
|
|
1612
|
+
1200px
|
|
1613
|
+
|
|
1614
|
+
**Max screen width**
|
|
1615
|
+
|
|
1616
|
+
1499px
|
|
1617
|
+
|
|
1618
|
+
**Example viewport**
|
|
1619
|
+
|
|
1620
|
+
1280px
|
|
1621
|
+
|
|
1622
|
+
**Margin**
|
|
1623
|
+
|
|
1624
|
+
16px
|
|
1625
|
+
|
|
1626
|
+
* * *
|
|
1627
|
+
|
|
1628
|
+
Grid example
|
|
1629
|
+
------------
|
|
1630
|
+
|
|
1631
|
+
From large screens onwards, all 12 columns of the grid can be used. For developers, this means the minimum span on extra large screens is 1. At this screen the container max width is applied, but can be opted out by using the `fluid` prop. It is recommended to keep the max width in most scenarios to ensure optimal readability.
|
|
1632
|
+
|
|
1633
|
+
You are currently viewing the **xl** breakpoint (1200px - 1499px). Resize your screen to view different breakpoints.
|
|
1634
|
+
|
|
1635
|
+
```
|
|
1636
|
+
|
|
1637
|
+
<IressStack gap\="lg"\>
|
|
1638
|
+
<IressInline
|
|
1639
|
+
gap\="md"
|
|
1640
|
+
verticalAlign\="bottom"
|
|
1641
|
+
\>
|
|
1642
|
+
<IressStack
|
|
1643
|
+
gap\="xs"
|
|
1644
|
+
maxWidth\="input.16"
|
|
1645
|
+
\>
|
|
1646
|
+
<React.Suspense\>
|
|
1647
|
+
<React.Lazy />
|
|
1648
|
+
</React.Suspense\>
|
|
1649
|
+
<IressText\>
|
|
1650
|
+
<strong\>
|
|
1651
|
+
1200px - 1499px </strong\>
|
|
1652
|
+
<br />
|
|
1653
|
+
Large breakpoint for desktops and laptops, such as 15inch laptops and monitors. </IressText\>
|
|
1654
|
+
</IressStack\>
|
|
1655
|
+
<IressStack gap\="xs"\>
|
|
1656
|
+
<IressInline gap\="sm"\>
|
|
1657
|
+
<IressText element\="strong"\>
|
|
1658
|
+
Min screen width </IressText\>
|
|
1659
|
+
<IressText\>
|
|
1660
|
+
1200px </IressText\>
|
|
1661
|
+
</IressInline\>
|
|
1662
|
+
<IressInline gap\="sm"\>
|
|
1663
|
+
<IressText element\="strong"\>
|
|
1664
|
+
Max screen width </IressText\>
|
|
1665
|
+
<IressText\>
|
|
1666
|
+
1499px </IressText\>
|
|
1667
|
+
</IressInline\>
|
|
1668
|
+
<IressInline gap\="sm"\>
|
|
1669
|
+
<IressText element\="strong"\>
|
|
1670
|
+
Example viewport </IressText\>
|
|
1671
|
+
<IressText\>
|
|
1672
|
+
1280px </IressText\>
|
|
1673
|
+
</IressInline\>
|
|
1674
|
+
<IressInline gap\="sm"\>
|
|
1675
|
+
<IressText element\="strong"\>
|
|
1676
|
+
Margin </IressText\>
|
|
1677
|
+
<IressText\>
|
|
1678
|
+
16px </IressText\>
|
|
1679
|
+
</IressInline\>
|
|
1680
|
+
</IressStack\>
|
|
1681
|
+
</IressInline\>
|
|
1682
|
+
<IressDivider />
|
|
1683
|
+
<IressText\>
|
|
1684
|
+
<h2\>
|
|
1685
|
+
Grid example </h2\>
|
|
1686
|
+
<p\>
|
|
1687
|
+
From large screens onwards, all 12 columns of the grid can be used. For developers, this means the minimum span on extra large screens is 1. At this screen the container max width is applied, but can be opted out by using the{' '}
|
|
1688
|
+
<code\>
|
|
1689
|
+
fluid </code\>
|
|
1690
|
+
{' '}prop. It is recommended to keep the max width in most scenarios to ensure optimal readability.
|
|
1691
|
+
</p\>
|
|
1692
|
+
<IressPanel bg\="alt"\>
|
|
1693
|
+
<kn renderLabel\="viewing" />
|
|
1694
|
+
</IressPanel\>
|
|
1695
|
+
</IressText\>
|
|
1696
|
+
<IressContainer\>
|
|
1697
|
+
<IressRow gutter\="md"\>
|
|
1698
|
+
<IressCol
|
|
1699
|
+
span\={{
|
|
1700
|
+
base: 12,
|
|
1701
|
+
xl: 12
|
|
1702
|
+
}}
|
|
1703
|
+
\>
|
|
1704
|
+
<IressPlaceholder height\="5em" />
|
|
1705
|
+
</IressCol\>
|
|
1706
|
+
<IressCol
|
|
1707
|
+
span\={{
|
|
1708
|
+
base: 12,
|
|
1709
|
+
xl: 6
|
|
1710
|
+
}}
|
|
1711
|
+
\>
|
|
1712
|
+
<IressPlaceholder height\="5em" />
|
|
1713
|
+
</IressCol\>
|
|
1714
|
+
<IressCol
|
|
1715
|
+
span\={{
|
|
1716
|
+
base: 12,
|
|
1717
|
+
xl: 6
|
|
1718
|
+
}}
|
|
1719
|
+
\>
|
|
1720
|
+
<IressPlaceholder height\="5em" />
|
|
1721
|
+
</IressCol\>
|
|
1722
|
+
<IressCol
|
|
1723
|
+
span\={{
|
|
1724
|
+
base: 12,
|
|
1725
|
+
xl: 4
|
|
1726
|
+
}}
|
|
1727
|
+
\>
|
|
1728
|
+
<IressPlaceholder height\="5em" />
|
|
1729
|
+
</IressCol\>
|
|
1730
|
+
<IressCol
|
|
1731
|
+
span\={{
|
|
1732
|
+
base: 12,
|
|
1733
|
+
xl: 4
|
|
1734
|
+
}}
|
|
1735
|
+
\>
|
|
1736
|
+
<IressPlaceholder height\="5em" />
|
|
1737
|
+
</IressCol\>
|
|
1738
|
+
<IressCol
|
|
1739
|
+
span\={{
|
|
1740
|
+
base: 12,
|
|
1741
|
+
xl: 4
|
|
1742
|
+
}}
|
|
1743
|
+
\>
|
|
1744
|
+
<IressPlaceholder height\="5em" />
|
|
1745
|
+
</IressCol\>
|
|
1746
|
+
<IressCol
|
|
1747
|
+
span\={{
|
|
1748
|
+
base: 12,
|
|
1749
|
+
xl: 2
|
|
1750
|
+
}}
|
|
1751
|
+
\>
|
|
1752
|
+
<IressPlaceholder height\="5em" />
|
|
1753
|
+
</IressCol\>
|
|
1754
|
+
<IressCol
|
|
1755
|
+
span\={{
|
|
1756
|
+
base: 12,
|
|
1757
|
+
xl: 2
|
|
1758
|
+
}}
|
|
1759
|
+
\>
|
|
1760
|
+
<IressPlaceholder height\="5em" />
|
|
1761
|
+
</IressCol\>
|
|
1762
|
+
<IressCol
|
|
1763
|
+
span\={{
|
|
1764
|
+
base: 12,
|
|
1765
|
+
xl: 2
|
|
1766
|
+
}}
|
|
1767
|
+
\>
|
|
1768
|
+
<IressPlaceholder height\="5em" />
|
|
1769
|
+
</IressCol\>
|
|
1770
|
+
<IressCol
|
|
1771
|
+
span\={{
|
|
1772
|
+
base: 12,
|
|
1773
|
+
xl: 2
|
|
1774
|
+
}}
|
|
1775
|
+
\>
|
|
1776
|
+
<IressPlaceholder height\="5em" />
|
|
1777
|
+
</IressCol\>
|
|
1778
|
+
<IressCol
|
|
1779
|
+
span\={{
|
|
1780
|
+
base: 12,
|
|
1781
|
+
xl: 2
|
|
1782
|
+
}}
|
|
1783
|
+
\>
|
|
1784
|
+
<IressPlaceholder height\="5em" />
|
|
1785
|
+
</IressCol\>
|
|
1786
|
+
<IressCol
|
|
1787
|
+
span\={{
|
|
1788
|
+
base: 12,
|
|
1789
|
+
xl: 2
|
|
1790
|
+
}}
|
|
1791
|
+
\>
|
|
1792
|
+
<IressPlaceholder height\="5em" />
|
|
1793
|
+
</IressCol\>
|
|
1794
|
+
<IressCol
|
|
1795
|
+
span\={{
|
|
1796
|
+
base: 12,
|
|
1797
|
+
xl: 1
|
|
1798
|
+
}}
|
|
1799
|
+
\>
|
|
1800
|
+
<IressPlaceholder height\="5em" />
|
|
1801
|
+
</IressCol\>
|
|
1802
|
+
<IressCol
|
|
1803
|
+
span\={{
|
|
1804
|
+
base: 12,
|
|
1805
|
+
xl: 1
|
|
1806
|
+
}}
|
|
1807
|
+
\>
|
|
1808
|
+
<IressPlaceholder height\="5em" />
|
|
1809
|
+
</IressCol\>
|
|
1810
|
+
<IressCol
|
|
1811
|
+
span\={{
|
|
1812
|
+
base: 12,
|
|
1813
|
+
xl: 1
|
|
1814
|
+
}}
|
|
1815
|
+
\>
|
|
1816
|
+
<IressPlaceholder height\="5em" />
|
|
1817
|
+
</IressCol\>
|
|
1818
|
+
<IressCol
|
|
1819
|
+
span\={{
|
|
1820
|
+
base: 12,
|
|
1821
|
+
xl: 1
|
|
1822
|
+
}}
|
|
1823
|
+
\>
|
|
1824
|
+
<IressPlaceholder height\="5em" />
|
|
1825
|
+
</IressCol\>
|
|
1826
|
+
<IressCol
|
|
1827
|
+
span\={{
|
|
1828
|
+
base: 12,
|
|
1829
|
+
xl: 1
|
|
1830
|
+
}}
|
|
1831
|
+
\>
|
|
1832
|
+
<IressPlaceholder height\="5em" />
|
|
1833
|
+
</IressCol\>
|
|
1834
|
+
<IressCol
|
|
1835
|
+
span\={{
|
|
1836
|
+
base: 12,
|
|
1837
|
+
xl: 1
|
|
1838
|
+
}}
|
|
1839
|
+
\>
|
|
1840
|
+
<IressPlaceholder height\="5em" />
|
|
1841
|
+
</IressCol\>
|
|
1842
|
+
<IressCol
|
|
1843
|
+
span\={{
|
|
1844
|
+
base: 12,
|
|
1845
|
+
xl: 1
|
|
1846
|
+
}}
|
|
1847
|
+
\>
|
|
1848
|
+
<IressPlaceholder height\="5em" />
|
|
1849
|
+
</IressCol\>
|
|
1850
|
+
<IressCol
|
|
1851
|
+
span\={{
|
|
1852
|
+
base: 12,
|
|
1853
|
+
xl: 1
|
|
1854
|
+
}}
|
|
1855
|
+
\>
|
|
1856
|
+
<IressPlaceholder height\="5em" />
|
|
1857
|
+
</IressCol\>
|
|
1858
|
+
<IressCol
|
|
1859
|
+
span\={{
|
|
1860
|
+
base: 12,
|
|
1861
|
+
xl: 1
|
|
1862
|
+
}}
|
|
1863
|
+
\>
|
|
1864
|
+
<IressPlaceholder height\="5em" />
|
|
1865
|
+
</IressCol\>
|
|
1866
|
+
<IressCol
|
|
1867
|
+
span\={{
|
|
1868
|
+
base: 12,
|
|
1869
|
+
xl: 1
|
|
1870
|
+
}}
|
|
1871
|
+
\>
|
|
1872
|
+
<IressPlaceholder height\="5em" />
|
|
1873
|
+
</IressCol\>
|
|
1874
|
+
<IressCol
|
|
1875
|
+
span\={{
|
|
1876
|
+
base: 12,
|
|
1877
|
+
xl: 1
|
|
1878
|
+
}}
|
|
1879
|
+
\>
|
|
1880
|
+
<IressPlaceholder height\="5em" />
|
|
1881
|
+
</IressCol\>
|
|
1882
|
+
<IressCol
|
|
1883
|
+
span\={{
|
|
1884
|
+
base: 12,
|
|
1885
|
+
xl: 1
|
|
1886
|
+
}}
|
|
1887
|
+
\>
|
|
1888
|
+
<IressPlaceholder height\="5em" />
|
|
1889
|
+
</IressCol\>
|
|
1890
|
+
</IressRow\>
|
|
1891
|
+
</IressContainer\>
|
|
1892
|
+
</IressStack\>
|
|
1893
|
+
|
|
1894
|
+
```
|
|
1895
|
+
|
|
1896
|
+
#### Props
|
|
1897
|
+
|
|
1898
|
+
| Name | Description | Default | Control |
|
|
1899
|
+
| --- | --- | --- | --- |
|
|
1900
|
+
| alternate |
|
|
1901
|
+
If set to true, the table will have alternating row colors. This is useful for improving readability in tables with many rows.
|
|
1902
|
+
|
|
1903
|
+
boolean
|
|
1904
|
+
|
|
1905
|
+
|
|
|
1906
|
+
|
|
1907
|
+
false
|
|
1908
|
+
|
|
1909
|
+
| Set boolean |
|
|
1910
|
+
| caption\* |
|
|
1911
|
+
|
|
1912
|
+
Caption that describes the data in the table, required for accessibility.
|
|
1913
|
+
|
|
1914
|
+
ReactNode
|
|
1915
|
+
|
|
1916
|
+
| \- |
|
|
1917
|
+
|
|
1918
|
+
"1200px - 1499px"
|
|
1919
|
+
|
|
1920
|
+
|
|
|
1921
|
+
| children |
|
|
1922
|
+
|
|
1923
|
+
Multiple table elements can be passed as children. Used to create a static table, or add a `<tfoot />` element to a `rows` based table.
|
|
1924
|
+
|
|
1925
|
+
ReactNode
|
|
1926
|
+
|
|
1927
|
+
| \- | Set object |
|
|
1928
|
+
| columns |
|
|
1929
|
+
|
|
1930
|
+
A mapping of columns to be displayed in the table. If not provided, it will be automatically regenerated from the row data.
|
|
1931
|
+
|
|
1932
|
+
TableColumn<TRow, TVal>\[\]
|
|
1933
|
+
|
|
1934
|
+
| \- | Set object |
|
|
1935
|
+
| compact |
|
|
1936
|
+
|
|
1937
|
+
Compact view of the table, used for tables with a lot of data.
|
|
1938
|
+
|
|
1939
|
+
boolean
|
|
1940
|
+
|
|
1941
|
+
|
|
|
1942
|
+
|
|
1943
|
+
false
|
|
1944
|
+
|
|
1945
|
+
| Set boolean |
|
|
1946
|
+
| empty |
|
|
1947
|
+
|
|
1948
|
+
Content to be show when there is no rowData (columns must also be provided).
|
|
1949
|
+
|
|
1950
|
+
ReactNode
|
|
1951
|
+
|
|
1952
|
+
| \- | Set object |
|
|
1953
|
+
| hiddenCaption |
|
|
1954
|
+
|
|
1955
|
+
When set to true, the table caption will be visually hidden.
|
|
1956
|
+
|
|
1957
|
+
boolean
|
|
1958
|
+
|
|
1959
|
+
| \- | Set boolean |
|
|
1960
|
+
| hiddenHeader |
|
|
1961
|
+
|
|
1962
|
+
When set to true, the table header (`<thead></thead>`) will be not be rendered. Only use with very simple tables.
|
|
1963
|
+
|
|
1964
|
+
boolean
|
|
1965
|
+
|
|
1966
|
+
| \- | Set boolean |
|
|
1967
|
+
| hover |
|
|
1968
|
+
|
|
1969
|
+
When set to true, hovering over a row will trigger a UI change.
|
|
1970
|
+
|
|
1971
|
+
boolean
|
|
1972
|
+
|
|
1973
|
+
| \- | Set boolean |
|
|
1974
|
+
| removeRowBorders |
|
|
1975
|
+
|
|
1976
|
+
If set to true, the table will not have borders between rows. This is useful for simpler tables where the row borders are not needed.
|
|
1977
|
+
|
|
1978
|
+
boolean
|
|
1979
|
+
|
|
1980
|
+
|
|
|
1981
|
+
|
|
1982
|
+
false
|
|
1983
|
+
|
|
1984
|
+
| Set boolean |
|
|
1985
|
+
| rowProps |
|
|
1986
|
+
|
|
1987
|
+
Add additional props to the row element. Can be a props map or a function that returns an props map. The function is called with the row data.
|
|
1988
|
+
|
|
1989
|
+
TableRowsProps\['rowProps'\]
|
|
1990
|
+
|
|
1991
|
+
| \- | Set object |
|
|
1992
|
+
| rows |
|
|
1993
|
+
|
|
1994
|
+
Each object in the array contains the data for a row.
|
|
1995
|
+
|
|
1996
|
+
TRow\[\]
|
|
1997
|
+
|
|
1998
|
+
| \[\] | Set object |
|
|
1999
|
+
| scope |
|
|
2000
|
+
|
|
2001
|
+
Defaults to 'row' - the first cell in the row is a `<th>`, otherwise it's a `<td>`.
|
|
2002
|
+
|
|
2003
|
+
union
|
|
2004
|
+
|
|
2005
|
+
| \- |
|
|
2006
|
+
|
|
2007
|
+
rowcol
|
|
2008
|
+
|
|
2009
|
+
|
|
|
2010
|
+
|
|
2011
|
+
### Extremely large screens (`xxl`)
|
|
2012
|
+
|
|
2013
|
+
[](./iframe.html?id=foundations-responsive-layout--xxl)
|
|
2014
|
+
|
|
2015
|
+
**1500px and above**
|
|
2016
|
+
Extra-large breakpoint for modern desktop monitors and large laptops (17inch+).
|
|
2017
|
+
|
|
2018
|
+
**Min screen width**
|
|
2019
|
+
|
|
2020
|
+
1500px
|
|
2021
|
+
|
|
2022
|
+
**Max screen width**
|
|
2023
|
+
|
|
2024
|
+
N/A
|
|
2025
|
+
|
|
2026
|
+
**Example viewport**
|
|
2027
|
+
|
|
2028
|
+
1280px
|
|
2029
|
+
|
|
2030
|
+
**Margin**
|
|
2031
|
+
|
|
2032
|
+
16px
|
|
2033
|
+
|
|
2034
|
+
* * *
|
|
2035
|
+
|
|
2036
|
+
Grid example
|
|
2037
|
+
------------
|
|
2038
|
+
|
|
2039
|
+
From large screens onwards, all 12 columns of the grid can be used. For developers, this means the minimum span on extra large screens is 1. At this screen the container max width is applied, but can be opted out by using the `fluid` prop. It is recommended to keep the max width in most scenarios to ensure optimal readability.
|
|
2040
|
+
|
|
2041
|
+
You are currently viewing the **xl** breakpoint (1200px - 1499px). Resize your screen to view different breakpoints.
|
|
2042
|
+
|
|
2043
|
+
```
|
|
2044
|
+
|
|
2045
|
+
<IressStack gap\="lg"\>
|
|
2046
|
+
<IressInline
|
|
2047
|
+
gap\="md"
|
|
2048
|
+
verticalAlign\="bottom"
|
|
2049
|
+
\>
|
|
2050
|
+
<IressStack
|
|
2051
|
+
gap\="xs"
|
|
2052
|
+
maxWidth\="input.16"
|
|
2053
|
+
\>
|
|
2054
|
+
<React.Suspense\>
|
|
2055
|
+
<React.Lazy />
|
|
2056
|
+
</React.Suspense\>
|
|
2057
|
+
<IressText\>
|
|
2058
|
+
<strong\>
|
|
2059
|
+
1500px and above </strong\>
|
|
2060
|
+
<br />
|
|
2061
|
+
Extra-large breakpoint for modern desktop monitors and large laptops (17inch+). </IressText\>
|
|
2062
|
+
</IressStack\>
|
|
2063
|
+
<IressStack gap\="xs"\>
|
|
2064
|
+
<IressInline gap\="sm"\>
|
|
2065
|
+
<IressText element\="strong"\>
|
|
2066
|
+
Min screen width </IressText\>
|
|
2067
|
+
<IressText\>
|
|
2068
|
+
1500px </IressText\>
|
|
2069
|
+
</IressInline\>
|
|
2070
|
+
<IressInline gap\="sm"\>
|
|
2071
|
+
<IressText element\="strong"\>
|
|
2072
|
+
Max screen width </IressText\>
|
|
2073
|
+
<IressText\>
|
|
2074
|
+
N/A </IressText\>
|
|
2075
|
+
</IressInline\>
|
|
2076
|
+
<IressInline gap\="sm"\>
|
|
2077
|
+
<IressText element\="strong"\>
|
|
2078
|
+
Example viewport </IressText\>
|
|
2079
|
+
<IressText\>
|
|
2080
|
+
1280px </IressText\>
|
|
2081
|
+
</IressInline\>
|
|
2082
|
+
<IressInline gap\="sm"\>
|
|
2083
|
+
<IressText element\="strong"\>
|
|
2084
|
+
Margin </IressText\>
|
|
2085
|
+
<IressText\>
|
|
2086
|
+
16px </IressText\>
|
|
2087
|
+
</IressInline\>
|
|
2088
|
+
</IressStack\>
|
|
2089
|
+
</IressInline\>
|
|
2090
|
+
<IressDivider />
|
|
2091
|
+
<IressText\>
|
|
2092
|
+
<h2\>
|
|
2093
|
+
Grid example </h2\>
|
|
2094
|
+
<p\>
|
|
2095
|
+
From large screens onwards, all 12 columns of the grid can be used. For developers, this means the minimum span on extra large screens is 1. At this screen the container max width is applied, but can be opted out by using the{' '}
|
|
2096
|
+
<code\>
|
|
2097
|
+
fluid </code\>
|
|
2098
|
+
{' '}prop. It is recommended to keep the max width in most scenarios to ensure optimal readability.
|
|
2099
|
+
</p\>
|
|
2100
|
+
<IressPanel bg\="alt"\>
|
|
2101
|
+
<kn renderLabel\="viewing" />
|
|
2102
|
+
</IressPanel\>
|
|
2103
|
+
</IressText\>
|
|
2104
|
+
<IressContainer\>
|
|
2105
|
+
<IressRow gutter\="md"\>
|
|
2106
|
+
<IressCol
|
|
2107
|
+
span\={{
|
|
2108
|
+
base: 12,
|
|
2109
|
+
xxl: 12
|
|
2110
|
+
}}
|
|
2111
|
+
\>
|
|
2112
|
+
<IressPlaceholder height\="5em" />
|
|
2113
|
+
</IressCol\>
|
|
2114
|
+
<IressCol
|
|
2115
|
+
span\={{
|
|
2116
|
+
base: 12,
|
|
2117
|
+
xxl: 6
|
|
2118
|
+
}}
|
|
2119
|
+
\>
|
|
2120
|
+
<IressPlaceholder height\="5em" />
|
|
2121
|
+
</IressCol\>
|
|
2122
|
+
<IressCol
|
|
2123
|
+
span\={{
|
|
2124
|
+
base: 12,
|
|
2125
|
+
xxl: 6
|
|
2126
|
+
}}
|
|
2127
|
+
\>
|
|
2128
|
+
<IressPlaceholder height\="5em" />
|
|
2129
|
+
</IressCol\>
|
|
2130
|
+
<IressCol
|
|
2131
|
+
span\={{
|
|
2132
|
+
base: 12,
|
|
2133
|
+
xxl: 4
|
|
2134
|
+
}}
|
|
2135
|
+
\>
|
|
2136
|
+
<IressPlaceholder height\="5em" />
|
|
2137
|
+
</IressCol\>
|
|
2138
|
+
<IressCol
|
|
2139
|
+
span\={{
|
|
2140
|
+
base: 12,
|
|
2141
|
+
xxl: 4
|
|
2142
|
+
}}
|
|
2143
|
+
\>
|
|
2144
|
+
<IressPlaceholder height\="5em" />
|
|
2145
|
+
</IressCol\>
|
|
2146
|
+
<IressCol
|
|
2147
|
+
span\={{
|
|
2148
|
+
base: 12,
|
|
2149
|
+
xxl: 4
|
|
2150
|
+
}}
|
|
2151
|
+
\>
|
|
2152
|
+
<IressPlaceholder height\="5em" />
|
|
2153
|
+
</IressCol\>
|
|
2154
|
+
<IressCol
|
|
2155
|
+
span\={{
|
|
2156
|
+
base: 12,
|
|
2157
|
+
xxl: 2
|
|
2158
|
+
}}
|
|
2159
|
+
\>
|
|
2160
|
+
<IressPlaceholder height\="5em" />
|
|
2161
|
+
</IressCol\>
|
|
2162
|
+
<IressCol
|
|
2163
|
+
span\={{
|
|
2164
|
+
base: 12,
|
|
2165
|
+
xxl: 2
|
|
2166
|
+
}}
|
|
2167
|
+
\>
|
|
2168
|
+
<IressPlaceholder height\="5em" />
|
|
2169
|
+
</IressCol\>
|
|
2170
|
+
<IressCol
|
|
2171
|
+
span\={{
|
|
2172
|
+
base: 12,
|
|
2173
|
+
xxl: 2
|
|
2174
|
+
}}
|
|
2175
|
+
\>
|
|
2176
|
+
<IressPlaceholder height\="5em" />
|
|
2177
|
+
</IressCol\>
|
|
2178
|
+
<IressCol
|
|
2179
|
+
span\={{
|
|
2180
|
+
base: 12,
|
|
2181
|
+
xxl: 2
|
|
2182
|
+
}}
|
|
2183
|
+
\>
|
|
2184
|
+
<IressPlaceholder height\="5em" />
|
|
2185
|
+
</IressCol\>
|
|
2186
|
+
<IressCol
|
|
2187
|
+
span\={{
|
|
2188
|
+
base: 12,
|
|
2189
|
+
xxl: 2
|
|
2190
|
+
}}
|
|
2191
|
+
\>
|
|
2192
|
+
<IressPlaceholder height\="5em" />
|
|
2193
|
+
</IressCol\>
|
|
2194
|
+
<IressCol
|
|
2195
|
+
span\={{
|
|
2196
|
+
base: 12,
|
|
2197
|
+
xxl: 2
|
|
2198
|
+
}}
|
|
2199
|
+
\>
|
|
2200
|
+
<IressPlaceholder height\="5em" />
|
|
2201
|
+
</IressCol\>
|
|
2202
|
+
<IressCol
|
|
2203
|
+
span\={{
|
|
2204
|
+
base: 12,
|
|
2205
|
+
xxl: 1
|
|
2206
|
+
}}
|
|
2207
|
+
\>
|
|
2208
|
+
<IressPlaceholder height\="5em" />
|
|
2209
|
+
</IressCol\>
|
|
2210
|
+
<IressCol
|
|
2211
|
+
span\={{
|
|
2212
|
+
base: 12,
|
|
2213
|
+
xxl: 1
|
|
2214
|
+
}}
|
|
2215
|
+
\>
|
|
2216
|
+
<IressPlaceholder height\="5em" />
|
|
2217
|
+
</IressCol\>
|
|
2218
|
+
<IressCol
|
|
2219
|
+
span\={{
|
|
2220
|
+
base: 12,
|
|
2221
|
+
xxl: 1
|
|
2222
|
+
}}
|
|
2223
|
+
\>
|
|
2224
|
+
<IressPlaceholder height\="5em" />
|
|
2225
|
+
</IressCol\>
|
|
2226
|
+
<IressCol
|
|
2227
|
+
span\={{
|
|
2228
|
+
base: 12,
|
|
2229
|
+
xxl: 1
|
|
2230
|
+
}}
|
|
2231
|
+
\>
|
|
2232
|
+
<IressPlaceholder height\="5em" />
|
|
2233
|
+
</IressCol\>
|
|
2234
|
+
<IressCol
|
|
2235
|
+
span\={{
|
|
2236
|
+
base: 12,
|
|
2237
|
+
xxl: 1
|
|
2238
|
+
}}
|
|
2239
|
+
\>
|
|
2240
|
+
<IressPlaceholder height\="5em" />
|
|
2241
|
+
</IressCol\>
|
|
2242
|
+
<IressCol
|
|
2243
|
+
span\={{
|
|
2244
|
+
base: 12,
|
|
2245
|
+
xxl: 1
|
|
2246
|
+
}}
|
|
2247
|
+
\>
|
|
2248
|
+
<IressPlaceholder height\="5em" />
|
|
2249
|
+
</IressCol\>
|
|
2250
|
+
<IressCol
|
|
2251
|
+
span\={{
|
|
2252
|
+
base: 12,
|
|
2253
|
+
xxl: 1
|
|
2254
|
+
}}
|
|
2255
|
+
\>
|
|
2256
|
+
<IressPlaceholder height\="5em" />
|
|
2257
|
+
</IressCol\>
|
|
2258
|
+
<IressCol
|
|
2259
|
+
span\={{
|
|
2260
|
+
base: 12,
|
|
2261
|
+
xxl: 1
|
|
2262
|
+
}}
|
|
2263
|
+
\>
|
|
2264
|
+
<IressPlaceholder height\="5em" />
|
|
2265
|
+
</IressCol\>
|
|
2266
|
+
<IressCol
|
|
2267
|
+
span\={{
|
|
2268
|
+
base: 12,
|
|
2269
|
+
xxl: 1
|
|
2270
|
+
}}
|
|
2271
|
+
\>
|
|
2272
|
+
<IressPlaceholder height\="5em" />
|
|
2273
|
+
</IressCol\>
|
|
2274
|
+
<IressCol
|
|
2275
|
+
span\={{
|
|
2276
|
+
base: 12,
|
|
2277
|
+
xxl: 1
|
|
2278
|
+
}}
|
|
2279
|
+
\>
|
|
2280
|
+
<IressPlaceholder height\="5em" />
|
|
2281
|
+
</IressCol\>
|
|
2282
|
+
<IressCol
|
|
2283
|
+
span\={{
|
|
2284
|
+
base: 12,
|
|
2285
|
+
xxl: 1
|
|
2286
|
+
}}
|
|
2287
|
+
\>
|
|
2288
|
+
<IressPlaceholder height\="5em" />
|
|
2289
|
+
</IressCol\>
|
|
2290
|
+
<IressCol
|
|
2291
|
+
span\={{
|
|
2292
|
+
base: 12,
|
|
2293
|
+
xxl: 1
|
|
2294
|
+
}}
|
|
2295
|
+
\>
|
|
2296
|
+
<IressPlaceholder height\="5em" />
|
|
2297
|
+
</IressCol\>
|
|
2298
|
+
</IressRow\>
|
|
2299
|
+
</IressContainer\>
|
|
2300
|
+
</IressStack\>
|
|
2301
|
+
|
|
2302
|
+
```
|
|
2303
|
+
|
|
2304
|
+
#### Props
|
|
2305
|
+
|
|
2306
|
+
| Name | Description | Default | Control |
|
|
2307
|
+
| --- | --- | --- | --- |
|
|
2308
|
+
| alternate |
|
|
2309
|
+
If set to true, the table will have alternating row colors. This is useful for improving readability in tables with many rows.
|
|
2310
|
+
|
|
2311
|
+
boolean
|
|
2312
|
+
|
|
2313
|
+
|
|
|
2314
|
+
|
|
2315
|
+
false
|
|
2316
|
+
|
|
2317
|
+
| Set boolean |
|
|
2318
|
+
| caption\* |
|
|
2319
|
+
|
|
2320
|
+
Caption that describes the data in the table, required for accessibility.
|
|
2321
|
+
|
|
2322
|
+
ReactNode
|
|
2323
|
+
|
|
2324
|
+
| \- |
|
|
2325
|
+
|
|
2326
|
+
"1500px and above"
|
|
2327
|
+
|
|
2328
|
+
|
|
|
2329
|
+
| children |
|
|
2330
|
+
|
|
2331
|
+
Multiple table elements can be passed as children. Used to create a static table, or add a `<tfoot />` element to a `rows` based table.
|
|
2332
|
+
|
|
2333
|
+
ReactNode
|
|
2334
|
+
|
|
2335
|
+
| \- | Set object |
|
|
2336
|
+
| columns |
|
|
2337
|
+
|
|
2338
|
+
A mapping of columns to be displayed in the table. If not provided, it will be automatically regenerated from the row data.
|
|
2339
|
+
|
|
2340
|
+
TableColumn<TRow, TVal>\[\]
|
|
2341
|
+
|
|
2342
|
+
| \- | Set object |
|
|
2343
|
+
| compact |
|
|
2344
|
+
|
|
2345
|
+
Compact view of the table, used for tables with a lot of data.
|
|
2346
|
+
|
|
2347
|
+
boolean
|
|
2348
|
+
|
|
2349
|
+
|
|
|
2350
|
+
|
|
2351
|
+
false
|
|
2352
|
+
|
|
2353
|
+
| Set boolean |
|
|
2354
|
+
| empty |
|
|
2355
|
+
|
|
2356
|
+
Content to be show when there is no rowData (columns must also be provided).
|
|
2357
|
+
|
|
2358
|
+
ReactNode
|
|
2359
|
+
|
|
2360
|
+
| \- | Set object |
|
|
2361
|
+
| hiddenCaption |
|
|
2362
|
+
|
|
2363
|
+
When set to true, the table caption will be visually hidden.
|
|
2364
|
+
|
|
2365
|
+
boolean
|
|
2366
|
+
|
|
2367
|
+
| \- | Set boolean |
|
|
2368
|
+
| hiddenHeader |
|
|
2369
|
+
|
|
2370
|
+
When set to true, the table header (`<thead></thead>`) will be not be rendered. Only use with very simple tables.
|
|
2371
|
+
|
|
2372
|
+
boolean
|
|
2373
|
+
|
|
2374
|
+
| \- | Set boolean |
|
|
2375
|
+
| hover |
|
|
2376
|
+
|
|
2377
|
+
When set to true, hovering over a row will trigger a UI change.
|
|
2378
|
+
|
|
2379
|
+
boolean
|
|
2380
|
+
|
|
2381
|
+
| \- | Set boolean |
|
|
2382
|
+
| removeRowBorders |
|
|
2383
|
+
|
|
2384
|
+
If set to true, the table will not have borders between rows. This is useful for simpler tables where the row borders are not needed.
|
|
2385
|
+
|
|
2386
|
+
boolean
|
|
2387
|
+
|
|
2388
|
+
|
|
|
2389
|
+
|
|
2390
|
+
false
|
|
2391
|
+
|
|
2392
|
+
| Set boolean |
|
|
2393
|
+
| rowProps |
|
|
2394
|
+
|
|
2395
|
+
Add additional props to the row element. Can be a props map or a function that returns an props map. The function is called with the row data.
|
|
2396
|
+
|
|
2397
|
+
TableRowsProps\['rowProps'\]
|
|
2398
|
+
|
|
2399
|
+
| \- | Set object |
|
|
2400
|
+
| rows |
|
|
2401
|
+
|
|
2402
|
+
Each object in the array contains the data for a row.
|
|
2403
|
+
|
|
2404
|
+
TRow\[\]
|
|
2405
|
+
|
|
2406
|
+
| \[\] | Set object |
|
|
2407
|
+
| scope |
|
|
2408
|
+
|
|
2409
|
+
Defaults to 'row' - the first cell in the row is a `<th>`, otherwise it's a `<td>`.
|
|
2410
|
+
|
|
2411
|
+
union
|
|
2412
|
+
|
|
2413
|
+
| \- |
|
|
2414
|
+
|
|
2415
|
+
rowcol
|
|
2416
|
+
|
|
2417
|
+
|
|
|
2418
|
+
|
|
2419
|
+
* * *
|
|
2420
|
+
|
|
2421
|
+
For designers
|
|
2422
|
+
-------------
|
|
2423
|
+
|
|
2424
|
+
When designing for responsive layouts, consider how your designs will adapt to different screen sizes. Use the breakpoints defined in the design system to guide your layout decisions and ensure that your designs are flexible and adaptable.
|
|
2425
|
+
|
|
2426
|
+
### Tips
|
|
2427
|
+
|
|
2428
|
+
1. Use the example viewport sizes provided in the breakpoints table to show your designs at different screen widths.
|
|
2429
|
+
2. Prioritise content based on screen size, ensuring that the most important information is easily accessible on smaller devices.
|
|
2430
|
+
3. Reduce option counts on mobile devices where appropriate
|
|
2431
|
+
4. Implement responsive navigation patterns
|
|
2432
|
+
5. Adjust spacing and sizing for different contexts
|
|
2433
|
+
6. Maintain usability across all supported devices
|
|
2434
|
+
|
|
2435
|
+
* * *
|
|
2436
|
+
|
|
2437
|
+
For developers
|
|
2438
|
+
--------------
|
|
2439
|
+
|
|
2440
|
+
If you are using the IDS components, the breakpoints have already been mapped out to their respective props. You can use props such as `gap` to change the visual properties of the component at certain breakpoints.
|
|
2441
|
+
|
|
2442
|
+
import { IressStack } from '@iress-oss/ids-components';
|
|
2443
|
+
<IressStack gap\={{ xs: 'spacing.100', md: 'spacing.200' }} />;
|
|
2444
|
+
|
|
2445
|
+
```
|
|
2446
|
+
|
|
2447
|
+
### Hooks
|
|
2448
|
+
|
|
2449
|
+
#### `useBreakpoint`
|
|
2450
|
+
|
|
2451
|
+
We also provide a `useBreakpoint` hook that allows you to access the current breakpoint in your components. This can be useful for conditionally rendering components based on the current screen size.
|
|
2452
|
+
|
|
2453
|
+
**Note:** It is best to use media queries for responsive styling. Most props that require responsive values already support breakpoints which map to CSS values. Only use the `useBreakpoint` hook when there is no other way to achieve the desired responsive behavior.
|
|
2454
|
+
|
|
2455
|
+
import { useBreakpoint } from '@iress-oss/ids-components';
|
|
2456
|
+
const MyComponent \= () \=> {
|
|
2457
|
+
const { breakpoint } \= useBreakpoint();
|
|
2458
|
+
return (
|
|
2459
|
+
<div\>
|
|
2460
|
+
{breakpoint \=== 'xs' && <p\>This is extra small screen</p\>}
|
|
2461
|
+
{breakpoint \=== 'md' && <p\>This is medium screen</p\>}
|
|
2462
|
+
</div\>
|
|
2463
|
+
);
|
|
2464
|
+
};
|
|
2465
|
+
|
|
2466
|
+
```
|
|
2467
|
+
|
|
2468
|
+
#### `useResponsiveProps`
|
|
2469
|
+
|
|
2470
|
+
Another hook is `useResponsiveProps`, which allows you to define responsive properties that change based on the current breakpoint. This is particularly useful for completely changing components at various screen sizes.
|
|
2471
|
+
|
|
2472
|
+
**Note:** It is best to use media queries for responsive styling. Most props that require responsive values already support breakpoints which map to CSS values. Only use the `useResponsiveProps` hook when there is no other way to achieve the desired responsive behavior.
|
|
2473
|
+
|
|
2474
|
+
[](./iframe.html?id=foundations-responsive-layout--responsive-props)
|
|
2475
|
+
|
|
2476
|
+
`useResponsiveProps`
|
|
2477
|
+
--------------------
|
|
2478
|
+
|
|
2479
|
+
This example demonstrates a use case for `useResponsiveProps`, for changing the columns on a table based on the breakpoint.
|
|
2480
|
+
|
|
2481
|
+
Resize the screen to see the columns change
|
|
2482
|
+
|
|
2483
|
+
| Name | Age |
|
|
2484
|
+
| --- | --- |
|
|
2485
|
+
| Luke Skywalker | 19 |
|
|
2486
|
+
| Princess Leia | 19 |
|
|
2487
|
+
| Han Solo | 32 |
|
|
2488
|
+
|
|
2489
|
+
```
|
|
2490
|
+
|
|
2491
|
+
export const ResponsiveTableColumns \= () \=> {
|
|
2492
|
+
const { value } \= useResponsiveProps({
|
|
2493
|
+
base: \[{ key: 'name', label: 'Name' }\],
|
|
2494
|
+
lg: \[
|
|
2495
|
+
{ key: 'name', label: 'Name' },
|
|
2496
|
+
{ key: 'age', label: 'Age' },
|
|
2497
|
+
\],
|
|
2498
|
+
});
|
|
2499
|
+
return (
|
|
2500
|
+
<IressTable
|
|
2501
|
+
caption\={
|
|
2502
|
+
<IressText textAlign\="left"\>
|
|
2503
|
+
<h2\>
|
|
2504
|
+
<code\>useResponsiveProps</code\>
|
|
2505
|
+
</h2\>
|
|
2506
|
+
<p\>
|
|
2507
|
+
This example demonstrates a use case for{' '}
|
|
2508
|
+
<code\>useResponsiveProps</code\>, for changing the columns on a table
|
|
2509
|
+
based on the breakpoint. </p\>
|
|
2510
|
+
<p\>Resize the screen to see the columns change</p\>
|
|
2511
|
+
</IressText\>
|
|
2512
|
+
}
|
|
2513
|
+
columns\={value}
|
|
2514
|
+
rows\={\[
|
|
2515
|
+
{ name: 'Luke Skywalker', age: 19 },
|
|
2516
|
+
{ name: 'Princess Leia', age: 19 },
|
|
2517
|
+
{ name: 'Han Solo', age: 32 },
|
|
2518
|
+
\]}
|
|
2519
|
+
/>
|
|
2520
|
+
);
|
|
2521
|
+
};
|
|
2522
|
+
|
|
2523
|
+
```
|
|
2524
|
+
|
|
2525
|
+
#### Props
|
|
2526
|
+
|
|
2527
|
+
| Name | Description | Default | Control |
|
|
2528
|
+
| --- | --- | --- | --- |
|
|
2529
|
+
| alternate |
|
|
2530
|
+
If set to true, the table will have alternating row colors. This is useful for improving readability in tables with many rows.
|
|
2531
|
+
|
|
2532
|
+
boolean
|
|
2533
|
+
|
|
2534
|
+
|
|
|
2535
|
+
|
|
2536
|
+
false
|
|
2537
|
+
|
|
2538
|
+
| Set boolean |
|
|
2539
|
+
| caption\* |
|
|
2540
|
+
|
|
2541
|
+
Caption that describes the data in the table, required for accessibility.
|
|
2542
|
+
|
|
2543
|
+
ReactNode
|
|
2544
|
+
|
|
2545
|
+
| \- | Set object |
|
|
2546
|
+
| children |
|
|
2547
|
+
|
|
2548
|
+
Multiple table elements can be passed as children. Used to create a static table, or add a `<tfoot />` element to a `rows` based table.
|
|
2549
|
+
|
|
2550
|
+
ReactNode
|
|
2551
|
+
|
|
2552
|
+
| \- | Set object |
|
|
2553
|
+
| columns |
|
|
2554
|
+
|
|
2555
|
+
A mapping of columns to be displayed in the table. If not provided, it will be automatically regenerated from the row data.
|
|
2556
|
+
|
|
2557
|
+
TableColumn<TRow, TVal>\[\]
|
|
2558
|
+
|
|
2559
|
+
| \- | Set object |
|
|
2560
|
+
| compact |
|
|
2561
|
+
|
|
2562
|
+
Compact view of the table, used for tables with a lot of data.
|
|
2563
|
+
|
|
2564
|
+
boolean
|
|
2565
|
+
|
|
2566
|
+
|
|
|
2567
|
+
|
|
2568
|
+
false
|
|
2569
|
+
|
|
2570
|
+
| Set boolean |
|
|
2571
|
+
| empty |
|
|
2572
|
+
|
|
2573
|
+
Content to be show when there is no rowData (columns must also be provided).
|
|
2574
|
+
|
|
2575
|
+
ReactNode
|
|
2576
|
+
|
|
2577
|
+
| \- | Set object |
|
|
2578
|
+
| hiddenCaption |
|
|
2579
|
+
|
|
2580
|
+
When set to true, the table caption will be visually hidden.
|
|
2581
|
+
|
|
2582
|
+
boolean
|
|
2583
|
+
|
|
2584
|
+
| \- | Set boolean |
|
|
2585
|
+
| hiddenHeader |
|
|
2586
|
+
|
|
2587
|
+
When set to true, the table header (`<thead></thead>`) will be not be rendered. Only use with very simple tables.
|
|
2588
|
+
|
|
2589
|
+
boolean
|
|
2590
|
+
|
|
2591
|
+
| \- | Set boolean |
|
|
2592
|
+
| hover |
|
|
2593
|
+
|
|
2594
|
+
When set to true, hovering over a row will trigger a UI change.
|
|
2595
|
+
|
|
2596
|
+
boolean
|
|
2597
|
+
|
|
2598
|
+
| \- | Set boolean |
|
|
2599
|
+
| removeRowBorders |
|
|
2600
|
+
|
|
2601
|
+
If set to true, the table will not have borders between rows. This is useful for simpler tables where the row borders are not needed.
|
|
2602
|
+
|
|
2603
|
+
boolean
|
|
2604
|
+
|
|
2605
|
+
|
|
|
2606
|
+
|
|
2607
|
+
false
|
|
2608
|
+
|
|
2609
|
+
| Set boolean |
|
|
2610
|
+
| rowProps |
|
|
2611
|
+
|
|
2612
|
+
Add additional props to the row element. Can be a props map or a function that returns an props map. The function is called with the row data.
|
|
2613
|
+
|
|
2614
|
+
TableRowsProps\['rowProps'\]
|
|
2615
|
+
|
|
2616
|
+
| \- | Set object |
|
|
2617
|
+
| rows |
|
|
2618
|
+
|
|
2619
|
+
Each object in the array contains the data for a row.
|
|
2620
|
+
|
|
2621
|
+
TRow\[\]
|
|
2622
|
+
|
|
2623
|
+
| \[\] | Set object |
|
|
2624
|
+
| scope |
|
|
2625
|
+
|
|
2626
|
+
Defaults to 'row' - the first cell in the row is a `<th>`, otherwise it's a `<td>`.
|
|
2627
|
+
|
|
2628
|
+
union
|
|
2629
|
+
|
|
2630
|
+
| \- |
|
|
2631
|
+
|
|
2632
|
+
rowcol
|
|
2633
|
+
|
|
2634
|
+
|
|
|
2635
|
+
|
|
2636
|
+
### Constant
|
|
2637
|
+
|
|
2638
|
+
You can also use the breakpoints directly in your CSS or styled components. The breakpoints are defined in the `@iress-oss/ids-components` package.
|
|
2639
|
+
|
|
2640
|
+
import { BREAKPOINT\_DETAILS } from '@iress-oss/ids-components';
|
|
2641
|
+
const css \= \`
|
|
2642
|
+
@media (${BREAKPOINT\_DETAILS.md.mediaQuery}}) {
|
|
2643
|
+
.my-class { padding: 20px; } }
|
|
2644
|
+
\`;
|
|
2645
|
+
<style\>{css}</style\>;
|
|
2646
|
+
|
|
2647
|
+
```
|
|
2648
|
+
|
|
2649
|
+
The base grid size is exported as `GRID_SIZE` from the `@iress-oss/ids-components` package, in case you need to reference it in your own code.
|
|
2650
|
+
|
|
2651
|
+
## React components / Z-index (stacking)
|
|
2652
|
+
|
|
2653
|
+
Z-index (stacking)
|
|
2654
|
+
==================
|
|
2655
|
+
|
|
2656
|
+
The z-index determines the stacking order of elements. Elements with a higher z-index always sit in front of elements with a lower z-index. Each index has been mapped to the appropriate elevation(s).
|
|
2657
|
+
|
|
2658
|
+
Reference
|
|
2659
|
+
---------
|
|
2660
|
+
|
|
2661
|
+
[](./iframe.html?id=foundations-z-index-stacking--reference)
|
|
2662
|
+
|
|
2663
|
+
| Name | Usage | Value |
|
|
2664
|
+
| --- | --- | --- |
|
|
2665
|
+
| DEFAULT | The default z-index used for most elements. Can be combined with raised and floating elevations. | 0 |
|
|
2666
|
+
| MODAL | Used for IressModal. Can be combined with floating elevation. | 400 |
|
|
2667
|
+
| NAVBAR | Used for navbars. Can be combined with overflow elevation. | 100 |
|
|
2668
|
+
| POPOVER | Used for IressPopover. Can be combined with floating elevation. | 200 |
|
|
2669
|
+
| SLIDEOUT | Used for IressSlideout. Can be combined with floating elevation. | 300 |
|
|
2670
|
+
| TOAST | Used for IressToast. Can be combined with floating elevation. | 500 |
|
|
2671
|
+
| TOOLTIP | Used for IressTooltip. Can be combined with floating elevation. | 600 |
|
|
2672
|
+
|
|
2673
|
+
```
|
|
2674
|
+
|
|
2675
|
+
<IressTable
|
|
2676
|
+
columns\={\[
|
|
2677
|
+
{
|
|
2678
|
+
key: 'name',
|
|
2679
|
+
label: 'Name',
|
|
2680
|
+
sort: 'asc',
|
|
2681
|
+
width: '1%'
|
|
2682
|
+
},
|
|
2683
|
+
{
|
|
2684
|
+
key: 'usage',
|
|
2685
|
+
label: 'Usage'
|
|
2686
|
+
},
|
|
2687
|
+
{
|
|
2688
|
+
key: 'value',
|
|
2689
|
+
label: 'Value',
|
|
2690
|
+
width: '200px'
|
|
2691
|
+
}
|
|
2692
|
+
\]}
|
|
2693
|
+
rows\={\[
|
|
2694
|
+
{
|
|
2695
|
+
name: 'DEFAULT',
|
|
2696
|
+
usage: 'The default z-index used for most elements. Can be combined with raised and floating elevations.',
|
|
2697
|
+
value: 0
|
|
2698
|
+
},
|
|
2699
|
+
{
|
|
2700
|
+
name: 'NAVBAR',
|
|
2701
|
+
usage: 'Used for navbars. Can be combined with overflow elevation.',
|
|
2702
|
+
value: 100
|
|
2703
|
+
},
|
|
2704
|
+
{
|
|
2705
|
+
name: 'POPOVER',
|
|
2706
|
+
usage: 'Used for IressPopover. Can be combined with floating elevation.',
|
|
2707
|
+
value: 200
|
|
2708
|
+
},
|
|
2709
|
+
{
|
|
2710
|
+
name: 'SLIDEOUT',
|
|
2711
|
+
usage: 'Used for IressSlideout. Can be combined with floating elevation.',
|
|
2712
|
+
value: 300
|
|
2713
|
+
},
|
|
2714
|
+
{
|
|
2715
|
+
name: 'MODAL',
|
|
2716
|
+
usage: 'Used for IressModal. Can be combined with floating elevation.',
|
|
2717
|
+
value: 400
|
|
2718
|
+
},
|
|
2719
|
+
{
|
|
2720
|
+
name: 'TOAST',
|
|
2721
|
+
usage: 'Used for IressToast. Can be combined with floating elevation.',
|
|
2722
|
+
value: 500
|
|
2723
|
+
},
|
|
2724
|
+
{
|
|
2725
|
+
name: 'TOOLTIP',
|
|
2726
|
+
usage: 'Used for IressTooltip. Can be combined with floating elevation.',
|
|
2727
|
+
value: 600
|
|
2728
|
+
}
|
|
2729
|
+
\]}
|
|
2730
|
+
/>
|
|
2731
|
+
|
|
2732
|
+
```
|
|
2733
|
+
|
|
2734
|
+
#### Props
|
|
2735
|
+
|
|
2736
|
+
| Name | Description | Default | Control |
|
|
2737
|
+
| --- | --- | --- | --- |
|
|
2738
|
+
| alternate |
|
|
2739
|
+
If set to true, the table will have alternating row colors. This is useful for improving readability in tables with many rows.
|
|
2740
|
+
|
|
2741
|
+
boolean
|
|
2742
|
+
|
|
2743
|
+
|
|
|
2744
|
+
|
|
2745
|
+
false
|
|
2746
|
+
|
|
2747
|
+
| Set boolean |
|
|
2748
|
+
| caption\* |
|
|
2749
|
+
|
|
2750
|
+
Caption that describes the data in the table, required for accessibility.
|
|
2751
|
+
|
|
2752
|
+
ReactNode
|
|
2753
|
+
|
|
2754
|
+
| \- | Set object |
|
|
2755
|
+
| children |
|
|
2756
|
+
|
|
2757
|
+
Multiple table elements can be passed as children. Used to create a static table, or add a `<tfoot />` element to a `rows` based table.
|
|
2758
|
+
|
|
2759
|
+
ReactNode
|
|
2760
|
+
|
|
2761
|
+
| \- | Set object |
|
|
2762
|
+
| columns |
|
|
2763
|
+
|
|
2764
|
+
A mapping of columns to be displayed in the table. If not provided, it will be automatically regenerated from the row data.
|
|
2765
|
+
|
|
2766
|
+
TableColumn<TRow, TVal>\[\]
|
|
2767
|
+
|
|
2768
|
+
| \- |
|
|
2769
|
+
|
|
2770
|
+
RAW
|
|
2771
|
+
|
|
2772
|
+
* columns :
|
|
2773
|
+
|
|
2774
|
+
\[
|
|
2775
|
+
|
|
2776
|
+
* 0 :
|
|
2777
|
+
|
|
2778
|
+
{...} 4 keys
|
|
2779
|
+
|
|
2780
|
+
* 1 :
|
|
2781
|
+
|
|
2782
|
+
{...} 2 keys
|
|
2783
|
+
|
|
2784
|
+
* 2 :
|
|
2785
|
+
|
|
2786
|
+
{...} 3 keys
|
|
2787
|
+
|
|
2788
|
+
|
|
2789
|
+
\]
|
|
2790
|
+
|
|
2791
|
+
|
|
2792
|
+
|
|
|
2793
|
+
| compact |
|
|
2794
|
+
|
|
2795
|
+
Compact view of the table, used for tables with a lot of data.
|
|
2796
|
+
|
|
2797
|
+
boolean
|
|
2798
|
+
|
|
2799
|
+
|
|
|
2800
|
+
|
|
2801
|
+
false
|
|
2802
|
+
|
|
2803
|
+
| Set boolean |
|
|
2804
|
+
| empty |
|
|
2805
|
+
|
|
2806
|
+
Content to be show when there is no rowData (columns must also be provided).
|
|
2807
|
+
|
|
2808
|
+
ReactNode
|
|
2809
|
+
|
|
2810
|
+
| \- | Set object |
|
|
2811
|
+
| hiddenCaption |
|
|
2812
|
+
|
|
2813
|
+
When set to true, the table caption will be visually hidden.
|
|
2814
|
+
|
|
2815
|
+
boolean
|
|
2816
|
+
|
|
2817
|
+
| \- | Set boolean |
|
|
2818
|
+
| hiddenHeader |
|
|
2819
|
+
|
|
2820
|
+
When set to true, the table header (`<thead></thead>`) will be not be rendered. Only use with very simple tables.
|
|
2821
|
+
|
|
2822
|
+
boolean
|
|
2823
|
+
|
|
2824
|
+
| \- | Set boolean |
|
|
2825
|
+
| hover |
|
|
2826
|
+
|
|
2827
|
+
When set to true, hovering over a row will trigger a UI change.
|
|
2828
|
+
|
|
2829
|
+
boolean
|
|
2830
|
+
|
|
2831
|
+
| \- | Set boolean |
|
|
2832
|
+
| removeRowBorders |
|
|
2833
|
+
|
|
2834
|
+
If set to true, the table will not have borders between rows. This is useful for simpler tables where the row borders are not needed.
|
|
2835
|
+
|
|
2836
|
+
boolean
|
|
2837
|
+
|
|
2838
|
+
|
|
|
2839
|
+
|
|
2840
|
+
false
|
|
2841
|
+
|
|
2842
|
+
| Set boolean |
|
|
2843
|
+
| rowProps |
|
|
2844
|
+
|
|
2845
|
+
Add additional props to the row element. Can be a props map or a function that returns an props map. The function is called with the row data.
|
|
2846
|
+
|
|
2847
|
+
TableRowsProps\['rowProps'\]
|
|
2848
|
+
|
|
2849
|
+
| \- | Set object |
|
|
2850
|
+
| rows |
|
|
2851
|
+
|
|
2852
|
+
Each object in the array contains the data for a row.
|
|
2853
|
+
|
|
2854
|
+
TRow\[\]
|
|
2855
|
+
|
|
2856
|
+
| \[\] |
|
|
2857
|
+
|
|
2858
|
+
RAW
|
|
2859
|
+
|
|
2860
|
+
* rows :
|
|
2861
|
+
|
|
2862
|
+
\[
|
|
2863
|
+
|
|
2864
|
+
* 0 :
|
|
2865
|
+
|
|
2866
|
+
{...} 3 keys
|
|
2867
|
+
|
|
2868
|
+
* 1 :
|
|
2869
|
+
|
|
2870
|
+
{...} 3 keys
|
|
2871
|
+
|
|
2872
|
+
* 2 :
|
|
2873
|
+
|
|
2874
|
+
{...} 3 keys
|
|
2875
|
+
|
|
2876
|
+
* 3 :
|
|
2877
|
+
|
|
2878
|
+
{...} 3 keys
|
|
2879
|
+
|
|
2880
|
+
* 4 :
|
|
2881
|
+
|
|
2882
|
+
{...} 3 keys
|
|
2883
|
+
|
|
2884
|
+
* 5 :
|
|
2885
|
+
|
|
2886
|
+
{...} 3 keys
|
|
2887
|
+
|
|
2888
|
+
* 6 :
|
|
2889
|
+
|
|
2890
|
+
{...} 3 keys
|
|
2891
|
+
|
|
2892
|
+
|
|
2893
|
+
\]
|
|
2894
|
+
|
|
2895
|
+
|
|
2896
|
+
|
|
|
2897
|
+
| scope |
|
|
2898
|
+
|
|
2899
|
+
Defaults to 'row' - the first cell in the row is a `<th>`, otherwise it's a `<td>`.
|
|
2900
|
+
|
|
2901
|
+
union
|
|
2902
|
+
|
|
2903
|
+
| \- |
|
|
2904
|
+
|
|
2905
|
+
rowcol
|
|
2906
|
+
|
|
2907
|
+
|
|
|
2908
|
+
|
|
2909
|
+
* * *
|
|
2910
|
+
|
|
2911
|
+
For developers
|
|
2912
|
+
--------------
|
|
2913
|
+
|
|
2914
|
+
If you are using the IDS components, the z-indexes have already been mapped out to their respective components based on the usage above. They are hardcoded into the components, so you don't need to worry about them.
|
|
2915
|
+
|
|
2916
|
+
The mapping is exported as `Z_INDEX` from the `@iress-oss/ids-components` package, in case you need to reference it in your own code.
|
|
2917
|
+
|
|
2918
|
+
## React components / Visual Design
|
|
2919
|
+
|
|
2920
|
+
Visual Design Standards
|
|
2921
|
+
=======================
|
|
2922
|
+
|
|
2923
|
+
Typography
|
|
2924
|
+
----------
|
|
2925
|
+
|
|
2926
|
+
* Use systematic font sizing with heading scales (H1-H6)
|
|
2927
|
+
* Implement consistent line heights and font weights
|
|
2928
|
+
* Provide text colour hierarchies (primary, muted, success, warning, danger)
|
|
2929
|
+
* Support responsive typography scaling
|
|
2930
|
+
|
|
2931
|
+
Colour System
|
|
2932
|
+
-------------
|
|
2933
|
+
|
|
2934
|
+
* Maintain semantic colour meanings:
|
|
2935
|
+
* **Primary**: Main call-to-action colour with high contrast
|
|
2936
|
+
* **Success**: Positive outcomes and confirmations
|
|
2937
|
+
* **Warning**: Caution and important notices
|
|
2938
|
+
* **Danger**: Errors and destructive actions
|
|
2939
|
+
* **Info**: Neutral information and guidance
|
|
2940
|
+
* **Positive/Negative**: Financial context (buy/sell actions)
|
|
2941
|
+
* Ensure all colour combinations meet accessibility contrast requirements
|
|
2942
|
+
* Provide consistent hover and active state colours
|
|
2943
|
+
|
|
2944
|
+
Spacing and Layout
|
|
2945
|
+
------------------
|
|
2946
|
+
|
|
2947
|
+
* Use systematic spacing scale (xs, sm, md, lg, xl)
|
|
2948
|
+
* Apply consistent gutter systems for layout components
|
|
2949
|
+
* Implement responsive breakpoints for adaptive layouts
|
|
2950
|
+
* Maintain proper margin and padding relationships
|
|
2951
|
+
|
|
2952
|
+
Interactive States
|
|
2953
|
+
------------------
|
|
2954
|
+
|
|
2955
|
+
* Provide clear hover, focus, active, and disabled states
|
|
2956
|
+
* Use consistent transition timing and easing
|
|
2957
|
+
* Implement proper focus indicators for keyboard navigation
|
|
2958
|
+
* Show loading states for asynchronous operations
|
|
2959
|
+
|
|
2960
|
+
## React components / Consistency
|
|
2961
|
+
|
|
2962
|
+
Using components consistently
|
|
2963
|
+
=============================
|
|
2964
|
+
|
|
2965
|
+
Buttons
|
|
2966
|
+
-------
|
|
2967
|
+
|
|
2968
|
+
* **Primary**: Limit to one per view for main call-to-action
|
|
2969
|
+
* **Secondary**: Use for secondary actions
|
|
2970
|
+
* **Tertiary**: Extra affordance between secondary actions
|
|
2971
|
+
* **Link**: Button styled as link (avoid with icon-only content)
|
|
2972
|
+
* **Danger**: Destructive actions requiring extra confirmation
|
|
2973
|
+
* **Positive/Negative**: Financial transactions (buy/sell)
|
|
2974
|
+
|
|
2975
|
+
Forms
|
|
2976
|
+
-----
|
|
2977
|
+
|
|
2978
|
+
* Always use `IressField` wrapper for proper label, hint, and error placement
|
|
2979
|
+
* Provide clear validation feedback with appropriate error messages
|
|
2980
|
+
* Use consistent input sizing based on expected content length
|
|
2981
|
+
* Implement proper form state management and accessibility
|
|
2982
|
+
|
|
2983
|
+
Navigation
|
|
2984
|
+
----------
|
|
2985
|
+
|
|
2986
|
+
* Use semantic HTML5 navigation elements
|
|
2987
|
+
* Provide skip links for keyboard users
|
|
2988
|
+
* Implement proper ARIA labelling for navigation sections
|
|
2989
|
+
* Ensure consistent navigation patterns across applications
|
|
2990
|
+
|
|
2991
|
+
Data Display
|
|
2992
|
+
------------
|
|
2993
|
+
|
|
2994
|
+
* Use semantic table structures with proper headers
|
|
2995
|
+
* Provide clear visual hierarchy in data presentations
|
|
2996
|
+
* Implement consistent sorting and filtering patterns
|
|
2997
|
+
* Use appropriate loading states for data-heavy components
|
|
2998
|
+
|
|
2999
|
+
Modals and Overlays
|
|
3000
|
+
-------------------
|
|
3001
|
+
|
|
3002
|
+
* Reserve modals for critical tasks requiring full attention
|
|
3003
|
+
* Provide multiple dismissal methods (backdrop, escape key, close button)
|
|
3004
|
+
* Implement proper focus management and restoration
|
|
3005
|
+
* Use slideouts for supplementary tasks where underlying content needs visibility
|
|
3006
|
+
|
|
3007
|
+
## React components / Content
|
|
3008
|
+
|
|
3009
|
+
Content
|
|
3010
|
+
=======
|
|
3011
|
+
|
|
3012
|
+
Microcopy Guidelines
|
|
3013
|
+
--------------------
|
|
3014
|
+
|
|
3015
|
+
* Use clear, concise language that matches user mental models
|
|
3016
|
+
* Provide helpful error messages with actionable guidance
|
|
3017
|
+
* Implement consistent tone of voice across all interface text
|
|
3018
|
+
* Use progressive disclosure for complex information
|
|
3019
|
+
|
|
3020
|
+
Iconography
|
|
3021
|
+
-----------
|
|
3022
|
+
|
|
3023
|
+
* Use icons consistently with established meanings
|
|
3024
|
+
* Provide screen reader text for meaningful icons
|
|
3025
|
+
* Avoid using icons as the sole means of communication
|
|
3026
|
+
* Maintain consistent icon sizing and alignment
|
|
3027
|
+
|
|
3028
|
+
## React components / User Experience
|
|
3029
|
+
|
|
3030
|
+
User experience
|
|
3031
|
+
===============
|
|
3032
|
+
|
|
3033
|
+
We use heuristic guidelines to assess the usability and user-centred design quality of all Iress products.
|
|
3034
|
+
|
|
3035
|
+
System Feedback
|
|
3036
|
+
---------------
|
|
3037
|
+
|
|
3038
|
+
* Always show users where they are, what just happened, and what’s possible next.
|
|
3039
|
+
* Provide immediate visual and textual feedback for all actions and states.
|
|
3040
|
+
* Ensure feedback is clear, contextual, and proportionate to the importance of the action.
|
|
3041
|
+
|
|
3042
|
+
Language and Mental Models
|
|
3043
|
+
--------------------------
|
|
3044
|
+
|
|
3045
|
+
* Use user-centred language and avoid technical jargon.
|
|
3046
|
+
* Follow cultural and industry conventions for colour, iconography, terminology, and layout.
|
|
3047
|
+
* Align interaction patterns with real-world analogues wherever feasible.
|
|
3048
|
+
|
|
3049
|
+
Control and Forgiveness
|
|
3050
|
+
-----------------------
|
|
3051
|
+
|
|
3052
|
+
* Make actions reversible and provide undo where errors may occur.
|
|
3053
|
+
* Let users easily backtrack, edit inputs, or abandon flows.
|
|
3054
|
+
* Provide escape hatches from any process without penalty.
|
|
3055
|
+
|
|
3056
|
+
Standards and Consistency
|
|
3057
|
+
-------------------------
|
|
3058
|
+
|
|
3059
|
+
* Use consistent layout, labelling, iconography, and grammar.
|
|
3060
|
+
* Reinforce expectations by placing similar elements in predictable positions.
|
|
3061
|
+
* Apply colour, spacing, and visual patterns consistently across all screens.
|
|
3062
|
+
|
|
3063
|
+
Error Prevention and Recovery
|
|
3064
|
+
-----------------------------
|
|
3065
|
+
|
|
3066
|
+
* Prevent errors by anticipating misuse and validating early.
|
|
3067
|
+
* Phrase error messages with clarity, empathy, and constructive suggestions.
|
|
3068
|
+
* Where errors occur, explain why and how they can be resolved.
|
|
3069
|
+
|
|
3070
|
+
Recognition Over Recall
|
|
3071
|
+
-----------------------
|
|
3072
|
+
|
|
3073
|
+
* Display necessary information at the point of decision.
|
|
3074
|
+
* Use visual grouping, spacing, and affordance to reveal hierarchy.
|
|
3075
|
+
* Prioritise visual clarity over novelty.
|
|
3076
|
+
|
|
3077
|
+
Simplicity and Minimalism
|
|
3078
|
+
-------------------------
|
|
3079
|
+
|
|
3080
|
+
* Remove unnecessary detail—every word, element, or feature should earn its place.
|
|
3081
|
+
* Design for clarity of purpose with visually distinct, semantically meaningful UI components.
|
|
3082
|
+
* Use whitespace, clean alignment, and simplified flows to reduce cognitive load.
|
|
3083
|
+
|