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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (260) hide show
  1. package/CODEOWNERS +23 -0
  2. package/README.md +10 -7
  3. package/dist/react-ui.css +42 -0
  4. package/dist/react-ui.js +1 -0
  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 +1 -6
  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 +1 -6
  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/_box-field-layout.scss +26 -14
  55. package/src/{lib/styles → styles}/tools/form-fields/_inline-field-elements.scss +2 -2
  56. package/src/{lib/theme.scss → theme.scss} +4 -3
  57. package/CONTRIBUTING.md +0 -137
  58. package/dist/lib.development.js +0 -3179
  59. package/dist/lib.js +0 -1
  60. package/public/racom.svg +0 -11
  61. package/src/lib/components/Badge/README.mdx +0 -126
  62. package/src/lib/components/Button/README.mdx +0 -581
  63. package/src/lib/components/Card/README.mdx +0 -326
  64. package/src/lib/components/FormLayout/README.mdx +0 -501
  65. package/src/lib/components/Grid/README.mdx +0 -299
  66. package/src/lib/components/Modal/README.mdx +0 -1360
  67. package/src/lib/components/Modal/_hooks/useModalScrollPrevention.js +0 -35
  68. package/src/lib/components/ScrollView/README.mdx +0 -521
  69. package/src/lib/components/SelectField/README.mdx +0 -693
  70. package/src/lib/components/Table/README.mdx +0 -275
  71. package/src/lib/components/Text/README.mdx +0 -241
  72. package/src/lib/components/TextArea/README.mdx +0 -366
  73. package/src/lib/components/Toolbar/README.mdx +0 -386
  74. package/src/{lib/components → components}/Alert/Alert.scss +0 -0
  75. package/src/{lib/components → components}/Alert/_settings.scss +0 -0
  76. package/src/{lib/components → components}/Alert/_theme.scss +0 -0
  77. package/src/{lib/components → components}/Alert/_tools.scss +0 -0
  78. package/src/{lib/components → components}/Alert/index.js +0 -0
  79. package/src/{lib/components → components}/Badge/index.js +0 -0
  80. package/src/{lib/components → components}/Button/Button.scss +0 -0
  81. package/src/{lib/components → components}/Button/_base.scss +0 -0
  82. package/src/{lib/components → components}/Button/_priorities.scss +0 -0
  83. package/src/{lib/components → components}/Button/_settings.scss +0 -0
  84. package/src/{lib/components → components}/Button/_theme.scss +0 -0
  85. package/src/{lib/components → components}/Button/_tools.scss +0 -0
  86. package/src/{lib/components → components}/Button/helpers/getRootLabelVisibilityClassName.js +0 -0
  87. package/src/{lib/components/_helpers → components/Button/helpers}/getRootPriorityClassName.js +0 -0
  88. package/src/{lib/components → components}/Button/index.js +0 -0
  89. package/src/{lib/components → components}/ButtonGroup/ButtonGroup.scss +0 -0
  90. package/src/{lib/components → components}/ButtonGroup/ButtonGroupContext.js +0 -0
  91. package/src/{lib/components → components}/ButtonGroup/_theme.scss +0 -0
  92. package/src/{lib/components → components}/ButtonGroup/index.js +0 -0
  93. package/src/{lib/components → components}/Card/Card.scss +0 -0
  94. package/src/{lib/components → components}/Card/CardBody.jsx +0 -0
  95. package/src/{lib/components → components}/Card/CardFooter.jsx +0 -0
  96. package/src/{lib/components → components}/Card/_theme.scss +0 -0
  97. package/src/{lib/components → components}/Card/_tools.scss +0 -0
  98. package/src/{lib/components → components}/Card/index.js +0 -0
  99. package/src/{lib/components → components}/CheckboxField/CheckboxField.jsx +0 -0
  100. package/src/{lib/components → components}/CheckboxField/CheckboxField.scss +0 -0
  101. package/src/{lib/components → components}/CheckboxField/index.js +0 -0
  102. package/src/{lib/components → components}/FileInputField/FileInputField.jsx +0 -0
  103. package/src/{lib/components → components}/FileInputField/FileInputField.scss +0 -0
  104. package/src/{lib/components → components}/FileInputField/index.js +0 -0
  105. package/src/{lib/components → components}/FormLayout/FormLayout.scss +0 -0
  106. package/src/{lib/components → components}/FormLayout/FormLayoutContext.js +0 -0
  107. package/src/{lib/components → components}/FormLayout/FormLayoutCustomField.jsx +4 -4
  108. package/src/{lib/components → components}/FormLayout/FormLayoutCustomField.scss +0 -0
  109. package/src/{lib/components → components}/FormLayout/_theme.scss +0 -0
  110. package/src/{lib/components → components}/FormLayout/index.js +0 -0
  111. package/src/{lib/components → components}/Grid/Grid.scss +0 -0
  112. package/src/{lib/components → components}/Grid/GridSpan.jsx +0 -0
  113. package/src/{lib/components → components}/Grid/_helpers/generateResponsiveCustomProperties.js +0 -0
  114. package/src/{lib/components → components}/Grid/_settings.scss +0 -0
  115. package/src/{lib/components → components}/Grid/_tools.scss +0 -0
  116. package/src/{lib/components → components}/Grid/index.js +0 -0
  117. package/src/{lib/components → components}/InputGroup/InputGroupContext.js +0 -0
  118. package/src/{lib/components → components}/InputGroup/_theme.scss +0 -0
  119. package/src/{lib/components → components}/InputGroup/index.js +0 -0
  120. package/src/{lib/components → components}/Modal/Modal.scss +0 -0
  121. package/src/{lib/components → components}/Modal/ModalBody.jsx +0 -0
  122. package/src/{lib/components → components}/Modal/ModalBody.scss +0 -0
  123. package/src/{lib/components → components}/Modal/ModalCloseButton.jsx +1 -1
  124. package/src/{lib/components → components}/Modal/ModalCloseButton.scss +0 -0
  125. package/src/{lib/components → components}/Modal/ModalContent.jsx +0 -0
  126. package/src/{lib/components → components}/Modal/ModalContent.scss +0 -0
  127. package/src/{lib/components → components}/Modal/ModalFooter.jsx +0 -0
  128. package/src/{lib/components → components}/Modal/ModalFooter.scss +0 -0
  129. package/src/{lib/components → components}/Modal/ModalHeader.jsx +0 -0
  130. package/src/{lib/components → components}/Modal/ModalHeader.scss +0 -0
  131. package/src/{lib/components → components}/Modal/ModalTitle.jsx +0 -0
  132. package/src/{lib/components → components}/Modal/ModalTitle.scss +0 -0
  133. package/src/{lib/components → components}/Modal/_helpers/getJustifyClassName.js +0 -0
  134. package/src/{lib/components → components}/Modal/_helpers/getPositionClassName.js +0 -0
  135. package/src/{lib/components → components}/Modal/_helpers/getScrollingClassName.js +0 -0
  136. package/src/{lib/components → components}/Modal/_helpers/getSizeClassName.js +0 -0
  137. package/src/{lib/components → components}/Modal/_hooks/useModalFocus.js +0 -0
  138. package/src/{lib/components → components}/Modal/_settings.scss +0 -0
  139. package/src/{lib/components → components}/Modal/_theme.scss +0 -0
  140. package/src/{lib/components → components}/Modal/index.js +0 -0
  141. package/src/{lib/components → components}/Paper/Paper.jsx +0 -0
  142. package/src/{lib/components → components}/Paper/Paper.scss +0 -0
  143. package/src/{lib/components → components}/Paper/_theme.scss +0 -0
  144. package/src/{lib/components → components}/Paper/index.js +0 -0
  145. package/src/{lib/components → components}/Popover/Popover.jsx +0 -0
  146. package/src/{lib/components → components}/Popover/Popover.scss +0 -0
  147. package/src/{lib/components → components}/Popover/PopoverWrapper.jsx +0 -0
  148. package/src/{lib/components → components}/Popover/PopoverWrapper.scss +0 -0
  149. package/src/{lib/components → components}/Popover/_helpers/getRootAlignmentClassName.js +0 -0
  150. package/src/{lib/components → components}/Popover/_helpers/getRootSideClassName.js +0 -0
  151. package/src/{lib/components → components}/Popover/_theme.scss +0 -0
  152. package/src/{lib/components → components}/Popover/index.js +0 -0
  153. package/src/{lib/components → components}/Radio/index.js +0 -0
  154. package/src/{lib/components → components}/ScrollView/ScrollView.scss +0 -0
  155. package/src/{lib/components → components}/ScrollView/_helpers/getElementsPositionDifference.js +0 -0
  156. package/src/{lib/components → components}/ScrollView/_hooks/useLoadResizeHook.js +0 -0
  157. package/src/{lib/components → components}/ScrollView/_hooks/useScrollPositionHook.js +0 -0
  158. package/src/{lib/components → components}/ScrollView/index.js +0 -0
  159. package/src/{lib/components → components}/SelectField/SelectField.jsx +0 -0
  160. package/src/{lib/components → components}/SelectField/SelectField.scss +0 -0
  161. package/src/{lib/components → components}/SelectField/_components/Option/Option.jsx +0 -0
  162. package/src/{lib/components → components}/SelectField/_components/Option/index.js +0 -0
  163. package/src/{lib/components → components}/SelectField/index.js +0 -0
  164. package/src/{lib/components → components}/Table/Table.scss +0 -0
  165. package/src/{lib/components → components}/Table/_components/TableBodyCell/TableBodyCell.jsx +0 -0
  166. package/src/{lib/components → components}/Table/_components/TableBodyCell/index.js +0 -0
  167. package/src/{lib/components → components}/Table/_components/TableCell.scss +0 -0
  168. package/src/{lib/components → components}/Table/_components/TableHeaderCell/index.js +0 -0
  169. package/src/{lib/components → components}/Table/_settings.scss +0 -0
  170. package/src/{lib/components → components}/Table/index.js +0 -0
  171. package/src/{lib/components → components}/Tabs/Tabs.jsx +0 -0
  172. package/src/{lib/components → components}/Tabs/Tabs.scss +0 -0
  173. package/src/{lib/components → components}/Tabs/TabsItem.scss +0 -0
  174. package/src/{lib/components → components}/Tabs/_theme.scss +0 -0
  175. package/src/{lib/components → components}/Tabs/index.js +0 -0
  176. package/src/{lib/components → components}/Text/Text.jsx +0 -0
  177. package/src/{lib/components → components}/Text/Text.scss +0 -0
  178. package/src/{lib/components → components}/Text/_helpers/getRootClampClassName.js +0 -0
  179. package/src/{lib/components → components}/Text/_helpers/getRootHyphensClassName.js +0 -0
  180. package/src/{lib/components → components}/Text/_helpers/getRootWordWrappingClassName.js +0 -0
  181. package/src/{lib/components → components}/Text/index.js +0 -0
  182. package/src/{lib/components → components}/TextArea/TextArea.jsx +0 -0
  183. package/src/{lib/components → components}/TextArea/TextArea.scss +0 -0
  184. package/src/{lib/components → components}/TextArea/index.js +0 -0
  185. package/src/{lib/components → components}/TextField/TextField.jsx +0 -0
  186. package/src/{lib/components → components}/TextField/TextField.scss +0 -0
  187. package/src/{lib/components → components}/TextField/index.js +0 -0
  188. package/src/{lib/components → components}/TextLink/TextLink.jsx +1 -1
  189. /package/src/{lib/components → components}/TextLink/TextLink.scss +0 -0
  190. /package/src/{lib/components → components}/TextLink/_theme.scss +0 -0
  191. /package/src/{lib/components → components}/TextLink/index.js +0 -0
  192. /package/src/{lib/components → components}/Toggle/Toggle.jsx +0 -0
  193. /package/src/{lib/components → components}/Toggle/Toggle.scss +0 -0
  194. /package/src/{lib/components → components}/Toggle/index.js +0 -0
  195. /package/src/{lib/components → components}/Toolbar/Toolbar.jsx +0 -0
  196. /package/src/{lib/components → components}/Toolbar/Toolbar.scss +0 -0
  197. /package/src/{lib/components → components}/Toolbar/ToolbarGroup.jsx +0 -0
  198. /package/src/{lib/components → components}/Toolbar/ToolbarItem.jsx +0 -0
  199. /package/src/{lib/components → components}/Toolbar/_helpers/getJustifyClassName.js +0 -0
  200. /package/src/{lib/components → components}/Toolbar/_theme.scss +0 -0
  201. /package/src/{lib/components → components}/Toolbar/index.js +0 -0
  202. /package/src/{lib/components → components}/_helpers/getRootColorClassName.js +0 -0
  203. /package/src/{lib/components → components}/_helpers/getRootSizeClassName.js +0 -0
  204. /package/src/{lib/components → components}/_helpers/getRootValidationStateClassName.js +0 -0
  205. /package/src/{lib/components → components}/_helpers/isChildrenEmpty.js +0 -0
  206. /package/src/{lib/components → components}/_helpers/resolveContextOrProp.js +0 -0
  207. /package/src/{lib/components → components}/_helpers/transferProps.js +0 -0
  208. /package/src/{lib/foundation.scss → foundation.scss} +0 -0
  209. /package/src/{lib/helpers.scss → helpers.scss} +0 -0
  210. /package/src/{lib/provider → provider}/RUIContext.jsx +0 -0
  211. /package/src/{lib/provider → provider}/index.js +0 -0
  212. /package/src/{lib/provider → provider}/withGlobalProps.jsx +0 -0
  213. /package/src/{lib/styles → styles}/_utilities.scss +0 -0
  214. /package/src/{lib/styles → styles}/elements/_code.scss +0 -0
  215. /package/src/{lib/styles → styles}/elements/_links.scss +0 -0
  216. /package/src/{lib/styles → styles}/elements/_lists.scss +0 -0
  217. /package/src/{lib/styles → styles}/elements/_page.scss +0 -0
  218. /package/src/{lib/styles → styles}/elements/_rulers.scss +0 -0
  219. /package/src/{lib/styles → styles}/elements/_small.scss +0 -0
  220. /package/src/{lib/styles → styles}/generic/_box-sizing.scss +0 -0
  221. /package/src/{lib/styles → styles}/generic/_focus.scss +0 -0
  222. /package/src/{lib/styles → styles}/generic/_forms.scss +0 -0
  223. /package/src/{lib/styles → styles}/generic/_reset.scss +0 -0
  224. /package/src/{lib/styles → styles}/generic/_shared.scss +0 -0
  225. /package/src/{lib/styles → styles}/helpers/_animation.scss +0 -0
  226. /package/src/{lib/styles → styles}/settings/_animations.scss +0 -0
  227. /package/src/{lib/styles → styles}/settings/_breakpoints.scss +0 -0
  228. /package/src/{lib/styles → styles}/settings/_escaped-characters.scss +0 -0
  229. /package/src/{lib/styles → styles}/settings/_form-fields.scss +0 -0
  230. /package/src/{lib/styles → styles}/settings/_forms.scss +0 -0
  231. /package/src/{lib/styles → styles}/settings/_utilities.scss +0 -0
  232. /package/src/{lib/styles → styles}/settings/_z-indexes.scss +0 -0
  233. /package/src/{lib/styles → styles}/theme/_accessibility.scss +0 -0
  234. /package/src/{lib/styles → styles}/theme/_borders.scss +0 -0
  235. /package/src/{lib/styles → styles}/theme/_code.scss +0 -0
  236. /package/src/{lib/styles → styles}/theme/_form-fields.scss +0 -0
  237. /package/src/{lib/styles → styles}/theme/_links.scss +0 -0
  238. /package/src/{lib/styles → styles}/theme/_lists.scss +0 -0
  239. /package/src/{lib/styles → styles}/theme/_page.scss +0 -0
  240. /package/src/{lib/styles → styles}/theme/_spacing.scss +0 -0
  241. /package/src/{lib/styles → styles}/theme/_typography.scss +0 -0
  242. /package/src/{lib/styles → styles}/theme-constants/_breakpoints.scss +0 -0
  243. /package/src/{lib/styles → styles}/theme-constants/_colors.scss +0 -0
  244. /package/src/{lib/styles → styles}/theme-constants/_svg.scss +0 -0
  245. /package/src/{lib/styles → styles}/tools/_accessibility.scss +0 -0
  246. /package/src/{lib/styles → styles}/tools/_breakpoint.scss +0 -0
  247. /package/src/{lib/styles → styles}/tools/_colors.scss +0 -0
  248. /package/src/{lib/styles → styles}/tools/_reset.scss +0 -0
  249. /package/src/{lib/styles → styles}/tools/_scrollbar.scss +0 -0
  250. /package/src/{lib/styles → styles}/tools/_spacing.scss +0 -0
  251. /package/src/{lib/styles → styles}/tools/_string.scss +0 -0
  252. /package/src/{lib/styles → styles}/tools/_svg.scss +0 -0
  253. /package/src/{lib/styles → styles}/tools/_transition.scss +0 -0
  254. /package/src/{lib/styles → styles}/tools/_utilities.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