@react-ui-org/react-ui 0.52.1 → 0.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/CODEOWNERS +23 -0
  2. package/README.md +10 -7
  3. package/dist/react-ui.css +5 -3
  4. package/dist/react-ui.js +1 -1
  5. package/package.json +64 -77
  6. package/src/{lib/components → components}/Alert/Alert.jsx +1 -1
  7. package/src/{lib/components/Alert/README.mdx → components/Alert/README.md} +84 -100
  8. package/src/{lib/components → components}/Badge/Badge.jsx +1 -1
  9. package/src/{lib/components → components}/Badge/Badge.scss +1 -1
  10. package/src/components/Badge/README.md +103 -0
  11. package/src/{lib/components → components}/Button/Button.jsx +1 -1
  12. package/src/components/Button/README.md +580 -0
  13. package/src/{lib/components → components}/ButtonGroup/ButtonGroup.jsx +11 -9
  14. package/src/{lib/components/ButtonGroup/README.mdx → components/ButtonGroup/README.md} +128 -134
  15. package/src/{lib/components → components}/Card/Card.jsx +1 -1
  16. package/src/components/Card/README.md +314 -0
  17. package/src/{lib/components/CheckboxField/README.mdx → components/CheckboxField/README.md} +96 -108
  18. package/src/{lib/components/FileInputField/README.mdx → components/FileInputField/README.md} +83 -95
  19. package/src/{lib/components → components}/FormLayout/FormLayout.jsx +4 -4
  20. package/src/components/FormLayout/README.md +462 -0
  21. package/src/{lib/components → components}/Grid/Grid.jsx +2 -2
  22. package/src/components/Grid/README.md +281 -0
  23. package/src/{lib/components → components}/InputGroup/InputGroup.jsx +20 -19
  24. package/src/{lib/components → components}/InputGroup/InputGroup.scss +0 -5
  25. package/src/{lib/components/InputGroup/README.mdx → components/InputGroup/README.md} +145 -163
  26. package/src/{lib/components → components}/Modal/Modal.jsx +6 -6
  27. package/src/components/Modal/README.md +1090 -0
  28. package/src/components/Modal/_hooks/useModalScrollPrevention.js +37 -0
  29. package/src/{lib/components/Paper/README.mdx → components/Paper/README.md} +18 -30
  30. package/src/{lib/components/Popover/README.mdx → components/Popover/README.md} +102 -132
  31. package/src/{lib/components/Radio/README.mdx → components/Radio/README.md} +122 -134
  32. package/src/{lib/components → components}/Radio/Radio.jsx +11 -12
  33. package/src/{lib/components → components}/Radio/Radio.scss +0 -5
  34. package/src/components/ScrollView/README.md +503 -0
  35. package/src/{lib/components → components}/ScrollView/ScrollView.jsx +12 -3
  36. package/src/components/SelectField/README.md +681 -0
  37. package/src/components/Table/README.md +259 -0
  38. package/src/{lib/components → components}/Table/Table.jsx +4 -1
  39. package/src/{lib/components → components}/Table/_components/TableHeaderCell/TableHeaderCell.jsx +1 -1
  40. package/src/{lib/components/Tabs/README.mdx → components/Tabs/README.md} +117 -134
  41. package/src/{lib/components → components}/Tabs/TabsItem.jsx +3 -3
  42. package/src/components/Text/README.md +220 -0
  43. package/src/components/TextArea/README.md +359 -0
  44. package/src/{lib/components/TextField/README.mdx → components/TextField/README.md} +336 -342
  45. package/src/{lib/components/TextLink/README.mdx → components/TextLink/README.md} +19 -31
  46. package/src/{lib/components/Toggle/README.mdx → components/Toggle/README.md} +98 -110
  47. package/src/components/Toolbar/README.md +359 -0
  48. package/src/{lib/components → components}/Toolbar/_helpers/getAlignClassName.js +12 -4
  49. package/src/components/_helpers/getRootPriorityClassName.js +15 -0
  50. package/src/{lib/index.js → index.js} +6 -0
  51. package/src/{lib/provider → provider}/RUIProvider.jsx +17 -11
  52. package/src/{lib/styles → styles}/tools/_caret.scss +1 -1
  53. package/src/{lib/styles → styles}/tools/form-fields/_box-field-elements.scss +1 -1
  54. package/src/{lib/styles → styles}/tools/form-fields/_inline-field-elements.scss +2 -2
  55. package/src/{lib/theme.scss → theme.scss} +4 -3
  56. package/CONTRIBUTING.md +0 -137
  57. package/dist/lib.development.js +0 -3179
  58. package/dist/lib.js +0 -1
  59. package/public/racom.svg +0 -11
  60. package/src/lib/components/Badge/README.mdx +0 -126
  61. package/src/lib/components/Button/README.mdx +0 -581
  62. package/src/lib/components/Card/README.mdx +0 -326
  63. package/src/lib/components/FormLayout/README.mdx +0 -501
  64. package/src/lib/components/Grid/README.mdx +0 -299
  65. package/src/lib/components/Modal/README.mdx +0 -1360
  66. package/src/lib/components/Modal/_hooks/useModalScrollPrevention.js +0 -35
  67. package/src/lib/components/ScrollView/README.mdx +0 -521
  68. package/src/lib/components/SelectField/README.mdx +0 -693
  69. package/src/lib/components/Table/README.mdx +0 -275
  70. package/src/lib/components/Text/README.mdx +0 -241
  71. package/src/lib/components/TextArea/README.mdx +0 -366
  72. package/src/lib/components/Toolbar/README.mdx +0 -386
  73. package/src/{lib/components → components}/Alert/Alert.scss +0 -0
  74. package/src/{lib/components → components}/Alert/_settings.scss +0 -0
  75. package/src/{lib/components → components}/Alert/_theme.scss +0 -0
  76. package/src/{lib/components → components}/Alert/_tools.scss +0 -0
  77. package/src/{lib/components → components}/Alert/index.js +0 -0
  78. package/src/{lib/components → components}/Badge/index.js +0 -0
  79. package/src/{lib/components → components}/Button/Button.scss +0 -0
  80. package/src/{lib/components → components}/Button/_base.scss +0 -0
  81. package/src/{lib/components → components}/Button/_priorities.scss +0 -0
  82. package/src/{lib/components → components}/Button/_settings.scss +0 -0
  83. package/src/{lib/components → components}/Button/_theme.scss +0 -0
  84. package/src/{lib/components → components}/Button/_tools.scss +0 -0
  85. package/src/{lib/components → components}/Button/helpers/getRootLabelVisibilityClassName.js +0 -0
  86. package/src/{lib/components/_helpers → components/Button/helpers}/getRootPriorityClassName.js +0 -0
  87. package/src/{lib/components → components}/Button/index.js +0 -0
  88. package/src/{lib/components → components}/ButtonGroup/ButtonGroup.scss +0 -0
  89. package/src/{lib/components → components}/ButtonGroup/ButtonGroupContext.js +0 -0
  90. package/src/{lib/components → components}/ButtonGroup/_theme.scss +0 -0
  91. package/src/{lib/components → components}/ButtonGroup/index.js +0 -0
  92. package/src/{lib/components → components}/Card/Card.scss +0 -0
  93. package/src/{lib/components → components}/Card/CardBody.jsx +0 -0
  94. package/src/{lib/components → components}/Card/CardFooter.jsx +0 -0
  95. package/src/{lib/components → components}/Card/_theme.scss +0 -0
  96. package/src/{lib/components → components}/Card/_tools.scss +0 -0
  97. package/src/{lib/components → components}/Card/index.js +0 -0
  98. package/src/{lib/components → components}/CheckboxField/CheckboxField.jsx +0 -0
  99. package/src/{lib/components → components}/CheckboxField/CheckboxField.scss +0 -0
  100. package/src/{lib/components → components}/CheckboxField/index.js +0 -0
  101. package/src/{lib/components → components}/FileInputField/FileInputField.jsx +0 -0
  102. package/src/{lib/components → components}/FileInputField/FileInputField.scss +0 -0
  103. package/src/{lib/components → components}/FileInputField/index.js +0 -0
  104. package/src/{lib/components → components}/FormLayout/FormLayout.scss +0 -0
  105. package/src/{lib/components → components}/FormLayout/FormLayoutContext.js +0 -0
  106. package/src/{lib/components → components}/FormLayout/FormLayoutCustomField.jsx +4 -4
  107. package/src/{lib/components → components}/FormLayout/FormLayoutCustomField.scss +0 -0
  108. package/src/{lib/components → components}/FormLayout/_theme.scss +0 -0
  109. package/src/{lib/components → components}/FormLayout/index.js +0 -0
  110. package/src/{lib/components → components}/Grid/Grid.scss +0 -0
  111. package/src/{lib/components → components}/Grid/GridSpan.jsx +0 -0
  112. package/src/{lib/components → components}/Grid/_helpers/generateResponsiveCustomProperties.js +0 -0
  113. package/src/{lib/components → components}/Grid/_settings.scss +0 -0
  114. package/src/{lib/components → components}/Grid/_tools.scss +0 -0
  115. package/src/{lib/components → components}/Grid/index.js +0 -0
  116. package/src/{lib/components → components}/InputGroup/InputGroupContext.js +0 -0
  117. package/src/{lib/components → components}/InputGroup/_theme.scss +0 -0
  118. package/src/{lib/components → components}/InputGroup/index.js +0 -0
  119. package/src/{lib/components → components}/Modal/Modal.scss +0 -0
  120. package/src/{lib/components → components}/Modal/ModalBody.jsx +0 -0
  121. package/src/{lib/components → components}/Modal/ModalBody.scss +0 -0
  122. package/src/{lib/components → components}/Modal/ModalCloseButton.jsx +1 -1
  123. package/src/{lib/components → components}/Modal/ModalCloseButton.scss +0 -0
  124. package/src/{lib/components → components}/Modal/ModalContent.jsx +0 -0
  125. package/src/{lib/components → components}/Modal/ModalContent.scss +0 -0
  126. package/src/{lib/components → components}/Modal/ModalFooter.jsx +0 -0
  127. package/src/{lib/components → components}/Modal/ModalFooter.scss +0 -0
  128. package/src/{lib/components → components}/Modal/ModalHeader.jsx +0 -0
  129. package/src/{lib/components → components}/Modal/ModalHeader.scss +0 -0
  130. package/src/{lib/components → components}/Modal/ModalTitle.jsx +0 -0
  131. package/src/{lib/components → components}/Modal/ModalTitle.scss +0 -0
  132. package/src/{lib/components → components}/Modal/_helpers/getJustifyClassName.js +0 -0
  133. package/src/{lib/components → components}/Modal/_helpers/getPositionClassName.js +0 -0
  134. package/src/{lib/components → components}/Modal/_helpers/getScrollingClassName.js +0 -0
  135. package/src/{lib/components → components}/Modal/_helpers/getSizeClassName.js +0 -0
  136. package/src/{lib/components → components}/Modal/_hooks/useModalFocus.js +0 -0
  137. package/src/{lib/components → components}/Modal/_settings.scss +0 -0
  138. package/src/{lib/components → components}/Modal/_theme.scss +0 -0
  139. package/src/{lib/components → components}/Modal/index.js +0 -0
  140. package/src/{lib/components → components}/Paper/Paper.jsx +0 -0
  141. package/src/{lib/components → components}/Paper/Paper.scss +0 -0
  142. package/src/{lib/components → components}/Paper/_theme.scss +0 -0
  143. package/src/{lib/components → components}/Paper/index.js +0 -0
  144. package/src/{lib/components → components}/Popover/Popover.jsx +0 -0
  145. package/src/{lib/components → components}/Popover/Popover.scss +0 -0
  146. package/src/{lib/components → components}/Popover/PopoverWrapper.jsx +0 -0
  147. package/src/{lib/components → components}/Popover/PopoverWrapper.scss +0 -0
  148. package/src/{lib/components → components}/Popover/_helpers/getRootAlignmentClassName.js +0 -0
  149. package/src/{lib/components → components}/Popover/_helpers/getRootSideClassName.js +0 -0
  150. package/src/{lib/components → components}/Popover/_theme.scss +0 -0
  151. package/src/{lib/components → components}/Popover/index.js +0 -0
  152. package/src/{lib/components → components}/Radio/index.js +0 -0
  153. package/src/{lib/components → components}/ScrollView/ScrollView.scss +0 -0
  154. package/src/{lib/components → components}/ScrollView/_helpers/getElementsPositionDifference.js +0 -0
  155. package/src/{lib/components → components}/ScrollView/_hooks/useLoadResizeHook.js +0 -0
  156. package/src/{lib/components → components}/ScrollView/_hooks/useScrollPositionHook.js +0 -0
  157. package/src/{lib/components → components}/ScrollView/index.js +0 -0
  158. package/src/{lib/components → components}/SelectField/SelectField.jsx +0 -0
  159. package/src/{lib/components → components}/SelectField/SelectField.scss +0 -0
  160. package/src/{lib/components → components}/SelectField/_components/Option/Option.jsx +0 -0
  161. package/src/{lib/components → components}/SelectField/_components/Option/index.js +0 -0
  162. package/src/{lib/components → components}/SelectField/index.js +0 -0
  163. package/src/{lib/components → components}/Table/Table.scss +0 -0
  164. package/src/{lib/components → components}/Table/_components/TableBodyCell/TableBodyCell.jsx +0 -0
  165. package/src/{lib/components → components}/Table/_components/TableBodyCell/index.js +0 -0
  166. package/src/{lib/components → components}/Table/_components/TableCell.scss +0 -0
  167. package/src/{lib/components → components}/Table/_components/TableHeaderCell/index.js +0 -0
  168. package/src/{lib/components → components}/Table/_settings.scss +0 -0
  169. package/src/{lib/components → components}/Table/index.js +0 -0
  170. package/src/{lib/components → components}/Tabs/Tabs.jsx +0 -0
  171. package/src/{lib/components → components}/Tabs/Tabs.scss +0 -0
  172. package/src/{lib/components → components}/Tabs/TabsItem.scss +0 -0
  173. package/src/{lib/components → components}/Tabs/_theme.scss +0 -0
  174. package/src/{lib/components → components}/Tabs/index.js +0 -0
  175. package/src/{lib/components → components}/Text/Text.jsx +0 -0
  176. package/src/{lib/components → components}/Text/Text.scss +0 -0
  177. package/src/{lib/components → components}/Text/_helpers/getRootClampClassName.js +0 -0
  178. package/src/{lib/components → components}/Text/_helpers/getRootHyphensClassName.js +0 -0
  179. package/src/{lib/components → components}/Text/_helpers/getRootWordWrappingClassName.js +0 -0
  180. package/src/{lib/components → components}/Text/index.js +0 -0
  181. package/src/{lib/components → components}/TextArea/TextArea.jsx +0 -0
  182. package/src/{lib/components → components}/TextArea/TextArea.scss +0 -0
  183. package/src/{lib/components → components}/TextArea/index.js +0 -0
  184. package/src/{lib/components → components}/TextField/TextField.jsx +0 -0
  185. package/src/{lib/components → components}/TextField/TextField.scss +0 -0
  186. package/src/{lib/components → components}/TextField/index.js +0 -0
  187. package/src/{lib/components → components}/TextLink/TextLink.jsx +1 -1
  188. /package/src/{lib/components → components}/TextLink/TextLink.scss +0 -0
  189. /package/src/{lib/components → components}/TextLink/_theme.scss +0 -0
  190. /package/src/{lib/components → components}/TextLink/index.js +0 -0
  191. /package/src/{lib/components → components}/Toggle/Toggle.jsx +0 -0
  192. /package/src/{lib/components → components}/Toggle/Toggle.scss +0 -0
  193. /package/src/{lib/components → components}/Toggle/index.js +0 -0
  194. /package/src/{lib/components → components}/Toolbar/Toolbar.jsx +0 -0
  195. /package/src/{lib/components → components}/Toolbar/Toolbar.scss +0 -0
  196. /package/src/{lib/components → components}/Toolbar/ToolbarGroup.jsx +0 -0
  197. /package/src/{lib/components → components}/Toolbar/ToolbarItem.jsx +0 -0
  198. /package/src/{lib/components → components}/Toolbar/_helpers/getJustifyClassName.js +0 -0
  199. /package/src/{lib/components → components}/Toolbar/_theme.scss +0 -0
  200. /package/src/{lib/components → components}/Toolbar/index.js +0 -0
  201. /package/src/{lib/components → components}/_helpers/getRootColorClassName.js +0 -0
  202. /package/src/{lib/components → components}/_helpers/getRootSizeClassName.js +0 -0
  203. /package/src/{lib/components → components}/_helpers/getRootValidationStateClassName.js +0 -0
  204. /package/src/{lib/components → components}/_helpers/isChildrenEmpty.js +0 -0
  205. /package/src/{lib/components → components}/_helpers/resolveContextOrProp.js +0 -0
  206. /package/src/{lib/components → components}/_helpers/transferProps.js +0 -0
  207. /package/src/{lib/foundation.scss → foundation.scss} +0 -0
  208. /package/src/{lib/helpers.scss → helpers.scss} +0 -0
  209. /package/src/{lib/provider → provider}/RUIContext.jsx +0 -0
  210. /package/src/{lib/provider → provider}/index.js +0 -0
  211. /package/src/{lib/provider → provider}/withGlobalProps.jsx +0 -0
  212. /package/src/{lib/styles → styles}/_utilities.scss +0 -0
  213. /package/src/{lib/styles → styles}/elements/_code.scss +0 -0
  214. /package/src/{lib/styles → styles}/elements/_links.scss +0 -0
  215. /package/src/{lib/styles → styles}/elements/_lists.scss +0 -0
  216. /package/src/{lib/styles → styles}/elements/_page.scss +0 -0
  217. /package/src/{lib/styles → styles}/elements/_rulers.scss +0 -0
  218. /package/src/{lib/styles → styles}/elements/_small.scss +0 -0
  219. /package/src/{lib/styles → styles}/generic/_box-sizing.scss +0 -0
  220. /package/src/{lib/styles → styles}/generic/_focus.scss +0 -0
  221. /package/src/{lib/styles → styles}/generic/_forms.scss +0 -0
  222. /package/src/{lib/styles → styles}/generic/_reset.scss +0 -0
  223. /package/src/{lib/styles → styles}/generic/_shared.scss +0 -0
  224. /package/src/{lib/styles → styles}/helpers/_animation.scss +0 -0
  225. /package/src/{lib/styles → styles}/settings/_animations.scss +0 -0
  226. /package/src/{lib/styles → styles}/settings/_breakpoints.scss +0 -0
  227. /package/src/{lib/styles → styles}/settings/_escaped-characters.scss +0 -0
  228. /package/src/{lib/styles → styles}/settings/_form-fields.scss +0 -0
  229. /package/src/{lib/styles → styles}/settings/_forms.scss +0 -0
  230. /package/src/{lib/styles → styles}/settings/_utilities.scss +0 -0
  231. /package/src/{lib/styles → styles}/settings/_z-indexes.scss +0 -0
  232. /package/src/{lib/styles → styles}/theme/_accessibility.scss +0 -0
  233. /package/src/{lib/styles → styles}/theme/_borders.scss +0 -0
  234. /package/src/{lib/styles → styles}/theme/_code.scss +0 -0
  235. /package/src/{lib/styles → styles}/theme/_form-fields.scss +0 -0
  236. /package/src/{lib/styles → styles}/theme/_links.scss +0 -0
  237. /package/src/{lib/styles → styles}/theme/_lists.scss +0 -0
  238. /package/src/{lib/styles → styles}/theme/_page.scss +0 -0
  239. /package/src/{lib/styles → styles}/theme/_spacing.scss +0 -0
  240. /package/src/{lib/styles → styles}/theme/_typography.scss +0 -0
  241. /package/src/{lib/styles → styles}/theme-constants/_breakpoints.scss +0 -0
  242. /package/src/{lib/styles → styles}/theme-constants/_colors.scss +0 -0
  243. /package/src/{lib/styles → styles}/theme-constants/_svg.scss +0 -0
  244. /package/src/{lib/styles → styles}/tools/_accessibility.scss +0 -0
  245. /package/src/{lib/styles → styles}/tools/_breakpoint.scss +0 -0
  246. /package/src/{lib/styles → styles}/tools/_colors.scss +0 -0
  247. /package/src/{lib/styles → styles}/tools/_reset.scss +0 -0
  248. /package/src/{lib/styles → styles}/tools/_scrollbar.scss +0 -0
  249. /package/src/{lib/styles → styles}/tools/_spacing.scss +0 -0
  250. /package/src/{lib/styles → styles}/tools/_string.scss +0 -0
  251. /package/src/{lib/styles → styles}/tools/_svg.scss +0 -0
  252. /package/src/{lib/styles → styles}/tools/_transition.scss +0 -0
  253. /package/src/{lib/styles → styles}/tools/_utilities.scss +0 -0
  254. /package/src/{lib/styles → styles}/tools/form-fields/_box-field-layout.scss +0 -0
  255. /package/src/{lib/styles → styles}/tools/form-fields/_box-field-sizes.scss +0 -0
  256. /package/src/{lib/styles → styles}/tools/form-fields/_foundation.scss +0 -0
  257. /package/src/{lib/styles → styles}/tools/form-fields/_inline-field-layout.scss +0 -0
  258. /package/src/{lib/styles → styles}/tools/form-fields/_variants.scss +0 -0
  259. /package/src/{lib/translations → translations}/en.js +0 -0
  260. /package/src/{lib/utils → utils}/classNames.js +0 -0
@@ -1,326 +0,0 @@
1
- ---
2
- name: Card
3
- menu: 'Miscellaneous'
4
- route: /components/card
5
- ---
6
-
7
- # Card
8
-
9
- import {
10
- Playground,
11
- Props,
12
- } from 'docz'
13
- import {
14
- Button,
15
- ScrollView,
16
- Card,
17
- CardBody,
18
- CardFooter,
19
- } from '../..'
20
-
21
- Cards contain content and actions about a single subject.
22
-
23
- ## Basic Usage
24
-
25
- To implement the Card component, you need to import at least Card and
26
- [CardBody](#cardbody) components:
27
-
28
- ```js
29
- import { Card, CardBody } from '@react-ui-org/react-ui';
30
- ```
31
-
32
- And use it:
33
-
34
- <Playground>
35
- <Card>
36
- <CardBody>
37
- Hello!
38
- </CardBody>
39
- </Card>
40
- </Playground>
41
-
42
- See [API](#api) for all available options.
43
-
44
- ## General Guidelines
45
-
46
- - Default card is **designed for non-white background.** You may want to either
47
- use the [raised variant](#raised-card) or
48
- [customize](/customize/theming/overview) the default appearance to make the
49
- card stand out on white surfaces.
50
-
51
- - Use optional [CardBody](#cardbody) and [CardFooter](#cardfooter) components to
52
- provide your content with expected spacing.
53
-
54
- - Use **medium or low-emphasis buttons** when there are more cards, e.g. in a
55
- grid. It will help you keep the UI clean and easy to scan.
56
-
57
- - **Card, or Paper?** Card is a versatile surface for displaying content.
58
- However, there is also the [Paper](/components/paper) component. While Card
59
- is designed for displaying items (and also supports more visual options),
60
- Paper is usually used to hold larger content areas like lists, grids, or
61
- forms.
62
-
63
- ## Card Composition
64
-
65
- Aside from the [CardBody](#cardbody) element, you can add a
66
- [CardFooter](#cardfooter) to better separate your card's actions from the rest
67
- of the content.
68
-
69
- Import all necessary components:
70
-
71
- ```js
72
- import { Card, CardBody, CardFooter } from '@react-ui-org/react-ui';
73
- ````
74
-
75
- And use them:
76
-
77
- <Playground>
78
- <Card>
79
- <CardBody>
80
- Hello! I&apos;m card with footer.
81
- </CardBody>
82
- <CardFooter>
83
- <Button label="Read more" priority="outline" />
84
- </CardFooter>
85
- </Card>
86
- </Playground>
87
-
88
- 👉 CardFooter is required in case you need to align the actions of multiple
89
- cards with varying height of content.
90
-
91
- ## Raised Card
92
-
93
- Add optional shadow to lift the card above surface.
94
-
95
- <Playground>
96
- <Card raised>
97
- <CardBody>
98
- Hello! I&apos;m raised card with footer.
99
- </CardBody>
100
- <CardFooter>
101
- <Button label="Read more" priority="outline" />
102
- </CardFooter>
103
- </Card>
104
- </Playground>
105
-
106
- ## Dense Card
107
-
108
- Use a dense card when you need to save space on screen. Other elements in the
109
- card should be also smaller to keep the card contained and easy to scan.
110
-
111
- <Playground>
112
- <Card dense raised>
113
- <CardBody>
114
- <small>Hello! I&apos;m dense card. Everything is smaller here.</small>
115
- </CardBody>
116
- <CardFooter>
117
- <Button label="Read more" priority="outline" size="small" />
118
- </CardFooter>
119
- </Card>
120
- </Playground>
121
-
122
- ## Scrollable Card
123
-
124
- Combine Card with [ScrollView](/components/scroll-view) to enable scrolling
125
- for card content.
126
-
127
- <Playground>
128
- <div
129
- style={{
130
- display: 'flex',
131
- height: '200px',
132
- }}
133
- >
134
- <Card raised>
135
- <ScrollView>
136
- <CardBody>
137
- Hello! I&apos;m scrollable card.
138
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
139
- ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis
140
- dis parturient montes, nascetur ridiculus mus. Donec quam felis,
141
- ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa
142
- quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget,
143
- arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo.
144
- Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras
145
- dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend
146
- tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
147
- enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.
148
- Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean
149
- imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper
150
- ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus
151
- eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing
152
- sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar,
153
- hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus.
154
- </CardBody>
155
- </ScrollView>
156
- </Card>
157
- </div>
158
- </Playground>
159
-
160
- ## Color Variants
161
-
162
- Card supports all
163
- [component colors](/foundation/colors#component-colors) to cover different needs
164
- of your app.
165
-
166
- <Playground>
167
- <Card color="success">
168
- <CardBody>
169
- Hello! I&apos;m success variant of card.
170
- </CardBody>
171
- <CardFooter>
172
- <Button label="Read more" priority="outline" color="success" />
173
- </CardFooter>
174
- </Card>
175
- <Card color="warning">
176
- <CardBody>
177
- Hello! I&apos;m warning variant of card.
178
- </CardBody>
179
- <CardFooter>
180
- <Button label="Read more" priority="outline" color="warning" />
181
- </CardFooter>
182
- </Card>
183
- <Card color="danger">
184
- <CardBody>
185
- Hello! I&apos;m danger variant of card.
186
- </CardBody>
187
- <CardFooter>
188
- <Button label="Read more" priority="outline" color="danger" />
189
- </CardFooter>
190
- </Card>
191
- <Card color="help">
192
- <CardBody>
193
- Hello! I&apos;m help variant of card.
194
- </CardBody>
195
- <CardFooter>
196
- <Button label="Read more" priority="outline" color="help" />
197
- </CardFooter>
198
- </Card>
199
- <Card color="info">
200
- <CardBody>
201
- Hello! I&apos;m info variant of card.
202
- </CardBody>
203
- <CardFooter>
204
- <Button label="Read more" priority="outline" color="info" />
205
- </CardFooter>
206
- </Card>
207
- <Card color="note">
208
- <CardBody>
209
- Hello! I&apos;m note variant of card.
210
- </CardBody>
211
- <CardFooter>
212
- <Button label="Read more" priority="outline" color="note" />
213
- </CardFooter>
214
- </Card>
215
- <Card>
216
- <CardBody>
217
- Hello! I&apos;m light (default) variant of card.
218
- </CardBody>
219
- <CardFooter>
220
- <Button label="Read more" priority="outline" color="dark" />
221
- </CardFooter>
222
- </Card>
223
- <Card color="dark">
224
- <CardBody>
225
- Hello! I&apos;m dark variant of card.
226
- </CardBody>
227
- <CardFooter>
228
- <Button label="Read more" priority="outline" color="light" />
229
- </CardFooter>
230
- </Card>
231
- </Playground>
232
-
233
- ## States
234
-
235
- ### Disabled State
236
-
237
- Entire card can appear disabled. However, you'll still need to manually disable
238
- its interactive elements to disallow user's interaction.
239
-
240
- <Playground>
241
- <Card disabled>
242
- <CardBody>
243
- Hello! I&apos;m a disabled card.
244
- </CardBody>
245
- <CardFooter>
246
- <Button label="Read more" priority="outline" disabled />
247
- </CardFooter>
248
- </Card>
249
- <Card disabled raised>
250
- <CardBody>
251
- Hello! I&apos;m a disabled raised card.
252
- </CardBody>
253
- <CardFooter>
254
- <Button label="Read more" priority="outline" disabled />
255
- </CardFooter>
256
- </Card>
257
- <Card color="success" disabled>
258
- <CardBody>
259
- Hello! I&apos;m a disabled success variant of card.
260
- </CardBody>
261
- <CardFooter>
262
- <Button label="Read more" priority="outline" color="success" disabled />
263
- </CardFooter>
264
- </Card>
265
- </Playground>
266
-
267
- ## Forwarding HTML Attributes
268
-
269
- In addition to the options below in the [component's API](#api) section, you
270
- can specify [React synthetic events] or **any HTML attribute you like.** All
271
- attributes that don't interfere with the API are forwarded to the root `<div>`
272
- HTML element. This enables making the component interactive and helps to improve
273
- its accessibility.
274
-
275
- 👉 Refer to the MDN reference for the full list of supported attributes of the
276
- [div] element.
277
-
278
- ## API
279
-
280
- <Props table of={Card} />
281
-
282
- ### CardBody
283
-
284
- Space your content with CardBody. See [Card Composition](#card-composition) for
285
- all details.
286
-
287
- <Props table of={CardBody} />
288
-
289
- ### CardFooter
290
-
291
- Separate your card actions with CardFooter. See
292
- [Card Composition](#card-composition) for all details.
293
-
294
- <Props table of={CardFooter} />
295
-
296
- ## Theming
297
-
298
- ### Common Theming Options
299
-
300
- | Custom Property | Description |
301
- |------------------------------------------------------|--------------------------------------------------------------|
302
- | `--rui-Card__padding` | Padding shared by card header, body and footer |
303
- | `--rui-Card__border-width` | Border width |
304
- | `--rui-Card__border-radius` | Corner radius |
305
- | `--rui-Card--dense__padding` | Padding of dense card |
306
- | `--rui-Card--raised__box-shadow` | Box shadow of raised card |
307
- | `--rui-Card--disabled__background-color` | Card background color in disabled state |
308
- | `--rui-Card--disabled__opacity` | Card opacity in disabled state |
309
-
310
- ### Theming Variants
311
-
312
- It's possible to adjust the theme of specific color variant. Naming convention
313
- looks as follows:
314
-
315
- `--rui-Card--<COLOR>__<PROPERTY>`
316
-
317
- Where:
318
-
319
- - `<COLOR>` is one of supported
320
- [component colors](/foundation/colors#component-colors)
321
- (see [color variants](#color-variants) and [API](#api)),
322
- - `<PROPERTY>` is one of `color` (color of text), `border-color`, or
323
- `background-color`.
324
-
325
- [React synthetic events]: https://reactjs.org/docs/events.html
326
- [div]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/div#attributes