@react-ui-org/react-ui 0.52.1 → 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 +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({