@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,25 +1,7 @@
1
- ---
2
- name: InputGroup
3
- menu: 'Layouts'
4
- route: /components/input-group
5
- ---
6
-
7
1
  # InputGroup
8
2
 
9
3
  InputGroup visually groups related form fields and actions together.
10
4
 
11
- import {
12
- Playground,
13
- Props,
14
- } from 'docz'
15
- import Icon from '../../../docs/_components/Icon'
16
- import {
17
- Button,
18
- InputGroup,
19
- SelectField,
20
- TextField,
21
- } from '../..'
22
-
23
5
  ## Basic Usage
24
6
 
25
7
  To implement the InputGroup component, you need to import it first:
@@ -30,40 +12,40 @@ import { InputGroup } from '@react-ui-org/react-ui';
30
12
 
31
13
  And use it:
32
14
 
33
- <Playground>
34
- {() => {
35
- const [fruit, setFruit] = React.useState('apple');
36
- const options = [
37
- {
38
- label: 'Apple',
39
- value: 'apple',
40
- },
41
- {
42
- label: 'Pear',
43
- value: 'pear',
44
- },
45
- {
46
- label: 'Cherry',
47
- value: 'cherry',
48
- },
49
- ];
50
- return (
51
- <InputGroup label="Your favourite fruit">
52
- <SelectField
53
- label="Your favourite fruit"
54
- onChange={(e) => setFruit(e.target.value)}
55
- options={options}
56
- value={fruit}
57
- />
58
- <TextField
59
- label="Variety"
60
- placeholder="Eg. Golden delicious"
61
- />
62
- <Button label="Submit" />
63
- </InputGroup>
64
- );
65
- }}
66
- </Playground>
15
+ ```docoff-react-preview
16
+ React.createElement(() => {
17
+ const [fruit, setFruit] = React.useState('apple');
18
+ const options = [
19
+ {
20
+ label: 'Apple',
21
+ value: 'apple',
22
+ },
23
+ {
24
+ label: 'Pear',
25
+ value: 'pear',
26
+ },
27
+ {
28
+ label: 'Cherry',
29
+ value: 'cherry',
30
+ },
31
+ ];
32
+ return (
33
+ <InputGroup label="Your favourite fruit">
34
+ <SelectField
35
+ label="Your favourite fruit"
36
+ onChange={(e) => setFruit(e.target.value)}
37
+ options={options}
38
+ value={fruit}
39
+ />
40
+ <TextField
41
+ label="Variety"
42
+ placeholder="Eg. Golden delicious"
43
+ />
44
+ <Button label="Submit" />
45
+ </InputGroup>
46
+ );
47
+ })
48
+ ```
67
49
 
68
50
  See [API](#api) for all available options.
69
51
 
@@ -83,11 +65,11 @@ See [API](#api) for all available options.
83
65
  group with a form outside. Consult [the MDN docs][fieldset] to learn more.
84
66
 
85
67
  - InputGroup currently **supports grouping of**
86
- [TextField](/components/text-field), [SelectField](/components/select-field),
87
- and [Button](/components/button) components.
68
+ [TextField](/components/TextField), [SelectField](/components/SelectField),
69
+ and [Button](/components/Button) components.
88
70
 
89
- - To group [Buttons](/components/button) only, use the
90
- [ButtonGroup](/components/button-group) component which is designed
71
+ - To group [Buttons](/components/Button) only, use the
72
+ [ButtonGroup](/components/ButtonGroup) component which is designed
91
73
  specifically for that purpose.
92
74
 
93
75
  ## Sizes
@@ -95,26 +77,26 @@ See [API](#api) for all available options.
95
77
  All existing field and button sizes are also available on the input group level:
96
78
  small, medium, and large.
97
79
 
98
- <Playground>
99
- <InputGroup
100
- label="Small size"
101
- size="small"
102
- >
103
- <TextField label="Input" />
104
- <Button label="Submit" />
105
- </InputGroup>
106
- <InputGroup label="Medium size">
107
- <TextField label="Input" />
108
- <Button label="Submit" />
109
- </InputGroup>
110
- <InputGroup
111
- label="Large size"
112
- size="large"
113
- >
114
- <TextField label="Input" />
115
- <Button label="Submit" />
116
- </InputGroup>
117
- </Playground>
80
+ ```docoff-react-preview
81
+ <InputGroup
82
+ label="Small size"
83
+ size="small"
84
+ >
85
+ <TextField label="Input" />
86
+ <Button label="Submit" />
87
+ </InputGroup>
88
+ <InputGroup label="Medium size">
89
+ <TextField label="Input" />
90
+ <Button label="Submit" />
91
+ </InputGroup>
92
+ <InputGroup
93
+ label="Large size"
94
+ size="large"
95
+ >
96
+ <TextField label="Input" />
97
+ <Button label="Submit" />
98
+ </InputGroup>
99
+ ```
118
100
 
119
101
  ### Shared Property
120
102
 
@@ -135,22 +117,22 @@ simple forms, it's dangerous to hide labels from users in most cases. Keep in
135
117
  mind you should **provide another visual clue** so users know what to fill into
136
118
  the input.
137
119
 
138
- <Playground>
139
- <InputGroup
140
- isLabelVisible={false}
141
- label="First and last name"
142
- >
143
- <TextField
144
- label="First name"
145
- placeholder="Eg. John"
146
- />
147
- <TextField
148
- label="Last name"
149
- placeholder="Eg. Doe"
150
- />
151
- <Button label="Submit" />
152
- </InputGroup>
153
- </Playground>
120
+ ```docoff-react-preview
121
+ <InputGroup
122
+ isLabelVisible={false}
123
+ label="First and last name"
124
+ >
125
+ <TextField
126
+ label="First name"
127
+ placeholder="Eg. John"
128
+ />
129
+ <TextField
130
+ label="Last name"
131
+ placeholder="Eg. Doe"
132
+ />
133
+ <Button label="Submit" />
134
+ </InputGroup>
135
+ ```
154
136
 
155
137
  ## Horizontal layout
156
138
 
@@ -158,15 +140,15 @@ The default vertical layout is very easy to use and work with. However, there
158
140
  are situations where horizontal layout suits better — and that's why React UI
159
141
  supports this kind of layout as well.
160
142
 
161
- <Playground>
162
- <InputGroup
163
- label="Horizontal layout"
164
- layout="horizontal"
165
- >
166
- <TextField label="Label" />
167
- <Button label="Submit" />
168
- </InputGroup>
169
- </Playground>
143
+ ```docoff-react-preview
144
+ <InputGroup
145
+ label="Horizontal layout"
146
+ layout="horizontal"
147
+ >
148
+ <TextField label="Label" />
149
+ <Button label="Submit" />
150
+ </InputGroup>
151
+ ```
170
152
 
171
153
  ## States
172
154
 
@@ -174,12 +156,12 @@ supports this kind of layout as well.
174
156
 
175
157
  Disables all fields and buttons inside the group.
176
158
 
177
- <Playground>
178
- <InputGroup disabled label="Disabled group">
179
- <TextField label="Label" />
180
- <Button label="Submit" />
181
- </InputGroup>
182
- </Playground>
159
+ ```docoff-react-preview
160
+ <InputGroup disabled label="Disabled group">
161
+ <TextField label="Label" />
162
+ <Button label="Submit" />
163
+ </InputGroup>
164
+ ```
183
165
 
184
166
  ### Validation States
185
167
 
@@ -194,61 +176,61 @@ not show any `validationText`, they only show their respective `validationState`
194
176
  Validation messages passed to input elements' `validationText` prop will be
195
177
  ignored.
196
178
 
197
- <Playground>
198
- <InputGroup
199
- label="First and last name"
200
- validationTexts={[
201
- "First name must be filled in.",
202
- "Last name must be filled in.",
203
- ]}
204
- >
205
- <TextField
206
- label="First name"
207
- placeholder="Eg. John"
208
- validationState="invalid"
209
- />
210
- <TextField
211
- label="Last name"
212
- placeholder="Eg. Doe"
213
- validationState="invalid"
214
- />
215
- <Button label="Submit" />
216
- </InputGroup>
217
- <InputGroup
218
- label="First and last name"
219
- validationTexts={[
220
- "Last name should not include any digits.",
221
- ]}
222
- >
223
- <TextField
224
- label="First name"
225
- placeholder="Eg. John"
226
- value="John"
227
- />
228
- <TextField
229
- label="Last name"
230
- placeholder="Eg. Doe"
231
- validationState="warning"
232
- value="123Doe"
233
- />
234
- <Button label="Submit" />
235
- </InputGroup>
236
- <InputGroup label="First and last name">
237
- <TextField
238
- label="First name"
239
- placeholder="Eg. John"
240
- validationState="valid"
241
- value="John"
242
- />
243
- <TextField
244
- label="Last name"
245
- placeholder="Eg. Doe"
246
- validationState="valid"
247
- value="Doe"
248
- />
249
- <Button label="Submit" />
250
- </InputGroup>
251
- </Playground>
179
+ ```docoff-react-preview
180
+ <InputGroup
181
+ label="First and last name"
182
+ validationTexts={[
183
+ "First name must be filled in.",
184
+ "Last name must be filled in.",
185
+ ]}
186
+ >
187
+ <TextField
188
+ label="First name"
189
+ placeholder="Eg. John"
190
+ validationState="invalid"
191
+ />
192
+ <TextField
193
+ label="Last name"
194
+ placeholder="Eg. Doe"
195
+ validationState="invalid"
196
+ />
197
+ <Button label="Submit" />
198
+ </InputGroup>
199
+ <InputGroup
200
+ label="First and last name"
201
+ validationTexts={[
202
+ "Last name should not include any digits.",
203
+ ]}
204
+ >
205
+ <TextField
206
+ label="First name"
207
+ placeholder="Eg. John"
208
+ value="John"
209
+ />
210
+ <TextField
211
+ label="Last name"
212
+ placeholder="Eg. Doe"
213
+ validationState="warning"
214
+ value="123Doe"
215
+ />
216
+ <Button label="Submit" />
217
+ </InputGroup>
218
+ <InputGroup label="First and last name">
219
+ <TextField
220
+ label="First name"
221
+ placeholder="Eg. John"
222
+ validationState="valid"
223
+ value="John"
224
+ />
225
+ <TextField
226
+ label="Last name"
227
+ placeholder="Eg. Doe"
228
+ validationState="valid"
229
+ value="Doe"
230
+ />
231
+ <Button label="Submit" />
232
+ </InputGroup>
233
+ ```
252
234
 
253
235
  ## Forwarding HTML Attributes
254
236
 
@@ -263,7 +245,7 @@ interactive and helps to improve its accessibility.
263
245
 
264
246
  ## API
265
247
 
266
- <Props table of={InputGroup} />
248
+ <docoff-react-props src="/components/InputGroup/InputGroup.jsx"></docoff-react-props>
267
249
 
268
250
  ## Theming
269
251
 
@@ -38,8 +38,8 @@ const preRender = (
38
38
  onClick={(e) => {
39
39
  e.stopPropagation();
40
40
  }}
41
- role="presentation"
42
41
  ref={childrenWrapperRef}
42
+ role="presentation"
43
43
  >
44
44
  {children}
45
45
  </div>
@@ -98,7 +98,7 @@ Modal.defaultProps = {
98
98
  closeButtonRef: null,
99
99
  portalId: null,
100
100
  position: 'center',
101
- preventScrollUnderneath: 'default',
101
+ preventScrollUnderneath: window.document.body,
102
102
  primaryButtonRef: null,
103
103
  size: 'medium',
104
104
  };
@@ -137,15 +137,15 @@ Modal.propTypes = {
137
137
  position: PropTypes.oneOf(['top', 'center']),
138
138
  /**
139
139
  * Mode in which Modal prevents scroll of elements bellow:
140
- * * `default` - Modal prevents scroll on the `body` element
141
140
  * * `off` - Modal does not prevent any scroll
141
+ * * [HTMLElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement) - Modal prevents scroll on this HTML element
142
142
  * * object
143
- * * * `reset` - method called on Modal's unmount to reset scroll prevention
144
- * * * `start` - method called on Modal's mount to custom scroll prevention
143
+ * * `reset` - method called on Modal's unmount to reset scroll prevention
144
+ * * `start` - method called on Modal's mount to custom scroll prevention
145
145
  */
146
146
  preventScrollUnderneath: PropTypes.oneOfType([
147
147
  PropTypes.oneOf([
148
- 'default',
148
+ HTMLElement,
149
149
  'off',
150
150
  ]),
151
151
  PropTypes.shape({