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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (261) hide show
  1. package/README.md +10 -7
  2. package/dist/react-ui.css +5 -3
  3. package/dist/react-ui.development.css +11302 -0
  4. package/dist/react-ui.development.js +1588 -0
  5. package/dist/react-ui.js +1 -1
  6. package/package.json +66 -77
  7. package/src/{lib/components → components}/Alert/Alert.jsx +1 -1
  8. package/src/{lib/components/Alert/README.mdx → components/Alert/README.md} +84 -100
  9. package/src/{lib/components → components}/Badge/Badge.jsx +1 -1
  10. package/src/{lib/components → components}/Badge/Badge.scss +1 -1
  11. package/src/components/Badge/README.md +103 -0
  12. package/src/{lib/components → components}/Button/Button.jsx +1 -1
  13. package/src/components/Button/README.md +580 -0
  14. package/src/{lib/components → components}/ButtonGroup/ButtonGroup.jsx +11 -9
  15. package/src/{lib/components/ButtonGroup/README.mdx → components/ButtonGroup/README.md} +128 -134
  16. package/src/{lib/components → components}/Card/Card.jsx +1 -1
  17. package/src/components/Card/README.md +314 -0
  18. package/src/{lib/components/CheckboxField/README.mdx → components/CheckboxField/README.md} +96 -108
  19. package/src/{lib/components/FileInputField/README.mdx → components/FileInputField/README.md} +83 -95
  20. package/src/{lib/components → components}/FormLayout/FormLayout.jsx +4 -4
  21. package/src/components/FormLayout/README.md +462 -0
  22. package/src/{lib/components → components}/Grid/Grid.jsx +2 -2
  23. package/src/components/Grid/README.md +281 -0
  24. package/src/{lib/components → components}/InputGroup/InputGroup.jsx +28 -19
  25. package/src/{lib/components → components}/InputGroup/InputGroup.scss +4 -5
  26. package/src/{lib/components/InputGroup/README.mdx → components/InputGroup/README.md} +162 -165
  27. package/src/{lib/components → components}/Modal/Modal.jsx +6 -6
  28. package/src/components/Modal/README.md +1090 -0
  29. package/src/components/Modal/_hooks/useModalScrollPrevention.js +37 -0
  30. package/src/{lib/components/Paper/README.mdx → components/Paper/README.md} +18 -30
  31. package/src/{lib/components/Popover/README.mdx → components/Popover/README.md} +102 -132
  32. package/src/{lib/components/Radio/README.mdx → components/Radio/README.md} +122 -134
  33. package/src/{lib/components → components}/Radio/Radio.jsx +11 -12
  34. package/src/{lib/components → components}/Radio/Radio.scss +0 -5
  35. package/src/components/ScrollView/README.md +503 -0
  36. package/src/{lib/components → components}/ScrollView/ScrollView.jsx +12 -3
  37. package/src/components/SelectField/README.md +681 -0
  38. package/src/components/Table/README.md +259 -0
  39. package/src/{lib/components → components}/Table/Table.jsx +4 -1
  40. package/src/{lib/components → components}/Table/_components/TableHeaderCell/TableHeaderCell.jsx +1 -1
  41. package/src/{lib/components/Tabs/README.mdx → components/Tabs/README.md} +117 -134
  42. package/src/{lib/components → components}/Tabs/TabsItem.jsx +3 -3
  43. package/src/components/Text/README.md +220 -0
  44. package/src/components/TextArea/README.md +359 -0
  45. package/src/{lib/components/TextField/README.mdx → components/TextField/README.md} +336 -342
  46. package/src/{lib/components/TextLink/README.mdx → components/TextLink/README.md} +19 -31
  47. package/src/{lib/components/Toggle/README.mdx → components/Toggle/README.md} +98 -110
  48. package/src/components/Toolbar/README.md +359 -0
  49. package/src/{lib/components → components}/Toolbar/_helpers/getAlignClassName.js +12 -4
  50. package/src/components/_helpers/getRootPriorityClassName.js +15 -0
  51. package/src/{lib/index.js → index.js} +6 -0
  52. package/src/{lib/provider → provider}/RUIProvider.jsx +17 -11
  53. package/src/{lib/styles → styles}/tools/_caret.scss +1 -1
  54. package/src/{lib/styles → styles}/tools/form-fields/_box-field-elements.scss +1 -1
  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-layout.scss +0 -0
  256. /package/src/{lib/styles → styles}/tools/form-fields/_box-field-sizes.scss +0 -0
  257. /package/src/{lib/styles → styles}/tools/form-fields/_foundation.scss +0 -0
  258. /package/src/{lib/styles → styles}/tools/form-fields/_inline-field-layout.scss +0 -0
  259. /package/src/{lib/styles → styles}/tools/form-fields/_variants.scss +0 -0
  260. /package/src/{lib/translations → translations}/en.js +0 -0
  261. /package/src/{lib/utils → utils}/classNames.js +0 -0
@@ -1,19 +1,7 @@
1
- ---
2
- name: TextField
3
- menu: 'Inputs'
4
- route: /components/text-field
5
- ---
6
-
7
1
  # TextField
8
2
 
9
3
  TextField allows users to input text information.
10
4
 
11
- import {
12
- Playground,
13
- Props,
14
- } from 'docz'
15
- import { TextField } from '../..'
16
-
17
5
  ## Basic Usage
18
6
 
19
7
  To implement the TextField component, you need to import it first:
@@ -24,9 +12,9 @@ import { TextField } from '@react-ui-org/react-ui';
24
12
 
25
13
  And use it:
26
14
 
27
- <Playground>
28
- <TextField label="First name" />
29
- </Playground>
15
+ ```docoff-react-preview
16
+ <TextField label="First name" />
17
+ ```
30
18
 
31
19
  See [API](#api) for all available options.
32
20
 
@@ -72,106 +60,106 @@ To satisfy the design requirements of your project, all input fields in React UI
72
60
  come in **two design variants** to choose from: outline and filled. Both can be
73
61
  further [customized](#theming) with CSS custom properties.
74
62
 
75
- <Playground>
76
- <TextField
77
- label="First name"
78
- />
79
- <TextField
80
- label="First name"
81
- variant="filled"
82
- />
83
- </Playground>
63
+ ```docoff-react-preview
64
+ <TextField
65
+ label="First name"
66
+ />
67
+ <TextField
68
+ label="First name"
69
+ variant="filled"
70
+ />
71
+ ```
84
72
 
85
73
  ## Sizes
86
74
 
87
75
  Aside from the default (medium) size, two additional sizes are available: small
88
76
  and large.
89
77
 
90
- <Playground>
91
- <TextField
92
- label="First name"
93
- size="small"
94
- />
95
- <TextField
96
- label="First name"
97
- />
98
- <TextField
99
- label="First name"
100
- size="large"
101
- />
102
- <TextField
103
- label="First name"
104
- size="small"
105
- variant="filled"
106
- />
107
- <TextField
108
- label="First name"
109
- variant="filled"
110
- />
111
- <TextField
112
- label="First name"
113
- size="large"
114
- variant="filled"
115
- />
116
- </Playground>
78
+ ```docoff-react-preview
79
+ <TextField
80
+ label="First name"
81
+ size="small"
82
+ />
83
+ <TextField
84
+ label="First name"
85
+ />
86
+ <TextField
87
+ label="First name"
88
+ size="large"
89
+ />
90
+ <TextField
91
+ label="First name"
92
+ size="small"
93
+ variant="filled"
94
+ />
95
+ <TextField
96
+ label="First name"
97
+ variant="filled"
98
+ />
99
+ <TextField
100
+ label="First name"
101
+ size="large"
102
+ variant="filled"
103
+ />
104
+ ```
117
105
 
118
106
  Full-width fields span the full width of a parent:
119
107
 
120
- <Playground>
121
- <TextField
122
- label="First name"
123
- fullWidth
124
- />
125
- <TextField
126
- label="First name"
127
- variant="filled"
128
- fullWidth
129
- />
130
- </Playground>
108
+ ```docoff-react-preview
109
+ <TextField
110
+ label="First name"
111
+ fullWidth
112
+ />
113
+ <TextField
114
+ label="First name"
115
+ variant="filled"
116
+ fullWidth
117
+ />
118
+ ```
131
119
 
132
120
  ## Input Types
133
121
 
134
122
  Aside from the common `text` type, there are also `email`, `number`, `password`,
135
123
  and `tel` types at your disposal.
136
124
 
137
- <Playground>
138
- <TextField
139
- label="Email"
140
- type="email"
141
- />
142
- <TextField
143
- label="Email"
144
- variant="filled"
145
- type="email"
146
- />
147
- <TextField
148
- label="Age"
149
- type="number"
150
- />
151
- <TextField
152
- label="Age"
153
- variant="filled"
154
- type="number"
155
- />
156
- <TextField
157
- label="Password"
158
- type="password"
159
- />
160
- <TextField
161
- label="Password"
162
- variant="filled"
163
- type="password"
164
- />
165
- <TextField
166
- label="Phone"
167
- type="tel"
168
- />
169
- <TextField
170
- label="Phone"
171
- variant="filled"
172
- type="tel"
173
- />
174
- </Playground>
125
+ ```docoff-react-preview
126
+ <TextField
127
+ label="Email"
128
+ type="email"
129
+ />
130
+ <TextField
131
+ label="Email"
132
+ variant="filled"
133
+ type="email"
134
+ />
135
+ <TextField
136
+ label="Age"
137
+ type="number"
138
+ />
139
+ <TextField
140
+ label="Age"
141
+ variant="filled"
142
+ type="number"
143
+ />
144
+ <TextField
145
+ label="Password"
146
+ type="password"
147
+ />
148
+ <TextField
149
+ label="Password"
150
+ variant="filled"
151
+ type="password"
152
+ />
153
+ <TextField
154
+ label="Phone"
155
+ type="tel"
156
+ />
157
+ <TextField
158
+ label="Phone"
159
+ variant="filled"
160
+ type="tel"
161
+ />
162
+ ```
175
163
 
176
164
  ## Input Size
177
165
 
@@ -192,28 +180,28 @@ by `inputSize` API option) is
192
180
  it suitable. Just keep in mind the `size` attribute will not be present in the
193
181
  DOM for numeric inputs.
194
182
 
195
- <Playground>
196
- <TextField
197
- inputSize={3}
198
- label="Title"
199
- />
200
- <TextField
201
- inputSize={3}
202
- label="Title"
203
- variant="filled"
204
- />
205
- <TextField
206
- inputSize={3}
207
- label="Age"
208
- type="number"
209
- />
210
- <TextField
211
- inputSize={3}
212
- label="Age"
213
- type="number"
214
- variant="filled"
215
- />
216
- </Playground>
183
+ ```docoff-react-preview
184
+ <TextField
185
+ inputSize={3}
186
+ label="Title"
187
+ />
188
+ <TextField
189
+ inputSize={3}
190
+ label="Title"
191
+ variant="filled"
192
+ />
193
+ <TextField
194
+ inputSize={3}
195
+ label="Age"
196
+ type="number"
197
+ />
198
+ <TextField
199
+ inputSize={3}
200
+ label="Age"
201
+ type="number"
202
+ variant="filled"
203
+ />
204
+ ```
217
205
 
218
206
  ## Invisible Label
219
207
 
@@ -225,19 +213,19 @@ simple forms, it's dangerous to hide labels from users in most cases. Keep in
225
213
  mind you should **provide another visual clue** so users know what to fill into
226
214
  the input.
227
215
 
228
- <Playground>
229
- <TextField
230
- label="User name"
231
- isLabelVisible={false}
232
- placeholder="Eg. john@example.com"
233
- />
234
- <TextField
235
- label="User name"
236
- isLabelVisible={false}
237
- variant="filled"
238
- placeholder="Eg. john@example.com"
239
- />
240
- </Playground>
216
+ ```docoff-react-preview
217
+ <TextField
218
+ label="User name"
219
+ isLabelVisible={false}
220
+ placeholder="Eg. john@example.com"
221
+ />
222
+ <TextField
223
+ label="User name"
224
+ isLabelVisible={false}
225
+ variant="filled"
226
+ placeholder="Eg. john@example.com"
227
+ />
228
+ ```
241
229
 
242
230
  ## Horizontal Layout
243
231
 
@@ -245,135 +233,135 @@ The default vertical layout is very easy to use and work with. However, there
245
233
  are situations where horizontal layout suits better — and that's why React UI
246
234
  supports this kind of layout as well.
247
235
 
248
- <Playground>
249
- <TextField
250
- inputSize={3}
251
- label="Title"
252
- layout="horizontal"
253
- />
254
- <TextField
255
- inputSize={3}
256
- label="Title"
257
- layout="horizontal"
258
- variant="filled"
259
- />
260
- <TextField
261
- label="First name"
262
- layout="horizontal"
263
- />
264
- <TextField
265
- label="First name"
266
- layout="horizontal"
267
- variant="filled"
268
- />
269
- <TextField
270
- label="First name"
271
- layout="horizontal"
272
- fullWidth
273
- />
274
- <TextField
275
- label="First name"
276
- layout="horizontal"
277
- variant="filled"
278
- fullWidth
279
- />
280
- <TextField
281
- isLabelVisible={false}
282
- label="First name"
283
- layout="horizontal"
284
- placeholder="First name"
285
- fullWidth
286
- />
287
- <TextField
288
- isLabelVisible={false}
289
- label="First name"
290
- layout="horizontal"
291
- placeholder="First name"
292
- variant="filled"
293
- fullWidth
294
- />
295
- </Playground>
236
+ ```docoff-react-preview
237
+ <TextField
238
+ inputSize={3}
239
+ label="Title"
240
+ layout="horizontal"
241
+ />
242
+ <TextField
243
+ inputSize={3}
244
+ label="Title"
245
+ layout="horizontal"
246
+ variant="filled"
247
+ />
248
+ <TextField
249
+ label="First name"
250
+ layout="horizontal"
251
+ />
252
+ <TextField
253
+ label="First name"
254
+ layout="horizontal"
255
+ variant="filled"
256
+ />
257
+ <TextField
258
+ label="First name"
259
+ layout="horizontal"
260
+ fullWidth
261
+ />
262
+ <TextField
263
+ label="First name"
264
+ layout="horizontal"
265
+ variant="filled"
266
+ fullWidth
267
+ />
268
+ <TextField
269
+ isLabelVisible={false}
270
+ label="First name"
271
+ layout="horizontal"
272
+ placeholder="First name"
273
+ fullWidth
274
+ />
275
+ <TextField
276
+ isLabelVisible={false}
277
+ label="First name"
278
+ layout="horizontal"
279
+ placeholder="First name"
280
+ variant="filled"
281
+ fullWidth
282
+ />
283
+ ```
296
284
 
297
285
  ## Help Text
298
286
 
299
287
  You may provide an additional help text to clarify how the input should be
300
288
  filled.
301
289
 
302
- <Playground>
303
- <TextField
304
- label="First name"
305
- helpText="Choose one or more kinds of fruit to feel happy."
306
- />
307
- <TextField
308
- label="First name"
309
- variant="filled"
310
- helpText="Choose one or more kinds of fruit to feel happy."
311
- />
312
- <TextField
313
- label="First name"
314
- layout="horizontal"
315
- helpText="Choose one or more kinds of fruit to feel happy."
316
- />
317
- <TextField
318
- label="First name"
319
- layout="horizontal"
320
- helpText="Choose one or more kinds of fruit to feel happy."
321
- variant="filled"
322
- />
323
- <TextField
324
- label="First name"
325
- layout="horizontal"
326
- helpText="Choose one or more kinds of fruit to feel happy."
327
- fullWidth
328
- />
329
- <TextField
330
- label="First name"
331
- layout="horizontal"
332
- variant="filled"
333
- helpText="Choose one or more kinds of fruit to feel happy."
334
- fullWidth
335
- />
336
- </Playground>
290
+ ```docoff-react-preview
291
+ <TextField
292
+ label="First name"
293
+ helpText="Choose one or more kinds of fruit to feel happy."
294
+ />
295
+ <TextField
296
+ label="First name"
297
+ variant="filled"
298
+ helpText="Choose one or more kinds of fruit to feel happy."
299
+ />
300
+ <TextField
301
+ label="First name"
302
+ layout="horizontal"
303
+ helpText="Choose one or more kinds of fruit to feel happy."
304
+ />
305
+ <TextField
306
+ label="First name"
307
+ layout="horizontal"
308
+ helpText="Choose one or more kinds of fruit to feel happy."
309
+ variant="filled"
310
+ />
311
+ <TextField
312
+ label="First name"
313
+ layout="horizontal"
314
+ helpText="Choose one or more kinds of fruit to feel happy."
315
+ fullWidth
316
+ />
317
+ <TextField
318
+ label="First name"
319
+ layout="horizontal"
320
+ variant="filled"
321
+ helpText="Choose one or more kinds of fruit to feel happy."
322
+ fullWidth
323
+ />
324
+ ```
337
325
 
338
326
  Keep in mind that **long help texts don't play well with small input sizes,**
339
327
  especially in vertical layout. To fix this at least for horizontal layout, help
340
328
  text expands over the full field width when the desired input width (based on
341
329
  `inputSize` option) is 10 characters or smaller.
342
330
 
343
- <Playground>
344
- <TextField
345
- inputSize={3}
346
- label="Title"
347
- layout="horizontal"
348
- helpText="What academic degree do you hold?"
349
- />
350
- <TextField
351
- inputSize={3}
352
- label="Title"
353
- layout="horizontal"
354
- variant="filled"
355
- helpText="What academic degree do you hold?"
356
- />
357
- <TextField
358
- label="Age"
359
- layout="horizontal"
360
- min={13}
361
- max={120}
362
- inputSize={3}
363
- type="number"
364
- helpText="How old do you see yourself?"
365
- />
366
- <TextField
367
- label="Age"
368
- layout="horizontal"
369
- min={13}
370
- max={120}
371
- inputSize={3}
372
- variant="filled"
373
- type="number"
374
- helpText="How old do you see yourself?"
375
- />
376
- </Playground>
331
+ ```docoff-react-preview
332
+ <TextField
333
+ inputSize={3}
334
+ label="Title"
335
+ layout="horizontal"
336
+ helpText="What academic degree do you hold?"
337
+ />
338
+ <TextField
339
+ inputSize={3}
340
+ label="Title"
341
+ layout="horizontal"
342
+ variant="filled"
343
+ helpText="What academic degree do you hold?"
344
+ />
345
+ <TextField
346
+ label="Age"
347
+ layout="horizontal"
348
+ min={13}
349
+ max={120}
350
+ inputSize={3}
351
+ type="number"
352
+ helpText="How old do you see yourself?"
353
+ />
354
+ <TextField
355
+ label="Age"
356
+ layout="horizontal"
357
+ min={13}
358
+ max={120}
359
+ inputSize={3}
360
+ variant="filled"
361
+ type="number"
362
+ helpText="How old do you see yourself?"
363
+ />
364
+ ```
377
365
 
378
366
  ## States
379
367
 
@@ -384,69 +372,75 @@ should always **provide a validation message for states other than valid** so
384
372
  users know what happened and what action they should take or what options they
385
373
  have.
386
374
 
387
- <Playground>
388
- <TextField
389
- label="User name"
390
- validationState="valid"
391
- validationText="Looks good!"
392
- value="johnny1986"
393
- required
394
- />
395
- <TextField
396
- label="User name"
397
- validationState="warning"
398
- validationText="Account with this name already exists, pick a different one."
399
- value="joe"
400
- required
401
- />
402
- <TextField
403
- label="User name"
404
- validationState="invalid"
405
- validationText="Please enter a user name of your choice."
406
- required
407
- />
408
- <TextField
409
- label="User name"
410
- validationState="valid"
411
- validationText="Looks good!"
412
- variant="filled"
413
- value="johnny1986"
414
- required
415
- />
416
- <TextField
417
- label="User name"
418
- validationState="warning"
419
- validationText="Account with this name already exists, pick a different one."
420
- variant="filled"
421
- value="joe"
422
- required
423
- />
424
- <TextField
425
- label="User name"
426
- validationState="invalid"
427
- validationText="Please enter a user name of your choice."
428
- variant="filled"
429
- required
430
- />
431
- </Playground>
375
+ ```docoff-react-preview
376
+ <TextField
377
+ label="User name"
378
+ onChange={() => {}}
379
+ validationState="valid"
380
+ validationText="Looks good!"
381
+ value="johnny1986"
382
+ required
383
+ />
384
+ <TextField
385
+ label="User name"
386
+ onChange={() => {}}
387
+ validationState="warning"
388
+ validationText="Account with this name already exists, pick a different one."
389
+ value="joe"
390
+ required
391
+ />
392
+ <TextField
393
+ label="User name"
394
+ validationState="invalid"
395
+ validationText="Please enter a user name of your choice."
396
+ required
397
+ />
398
+ <TextField
399
+ label="User name"
400
+ onChange={() => {}}
401
+ validationState="valid"
402
+ validationText="Looks good!"
403
+ variant="filled"
404
+ value="johnny1986"
405
+ required
406
+ />
407
+ <TextField
408
+ label="User name"
409
+ onChange={() => {}}
410
+ validationState="warning"
411
+ validationText="Account with this name already exists, pick a different one."
412
+ variant="filled"
413
+ value="joe"
414
+ required
415
+ />
416
+ <TextField
417
+ label="User name"
418
+ validationState="invalid"
419
+ validationText="Please enter a user name of your choice."
420
+ variant="filled"
421
+ required
422
+ />
423
+ ```
432
424
 
433
425
  ### Disabled State
434
426
 
435
427
  It's possible to disable the whole input.
436
428
 
437
- <Playground>
438
- <TextField
439
- label="First name"
440
- value="John"
441
- disabled
442
- />
443
- <TextField
444
- label="First name"
445
- variant="filled"
446
- value="John"
447
- disabled
448
- />
449
- </Playground>
429
+ ```docoff-react-preview
430
+ <TextField
431
+ label="First name"
432
+ onChange={() => {}}
433
+ value="John"
434
+ disabled
435
+ />
436
+ <TextField
437
+ label="First name"
438
+ onChange={() => {}}
439
+ variant="filled"
440
+ value="John"
441
+ disabled
442
+ />
443
+ ```
450
444
 
451
445
  ## Forwarding HTML Attributes
452
446
 
@@ -456,36 +450,36 @@ you like.** All attributes that don't interfere with the API are forwarded to
456
450
  the native HTML `<input>`. This enables making the component interactive and
457
451
  helps to improve its accessibility.
458
452
 
459
- <Playground>
460
- <TextField
461
- label="Address"
462
- autoComplete="street-address"
463
- minLength={3}
464
- maxLength={80}
465
- />
466
- <TextField
467
- label="Address"
468
- variant="filled"
469
- autoComplete="street-address"
470
- minLength={3}
471
- maxLength={80}
472
- />
473
- <TextField
474
- inputSize={3}
475
- min={13}
476
- max={120}
477
- label="Age"
478
- type="number"
479
- />
480
- <TextField
481
- inputSize={3}
482
- min={13}
483
- max={120}
484
- label="Age"
485
- type="number"
486
- variant="filled"
487
- />
488
- </Playground>
453
+ ```docoff-react-preview
454
+ <TextField
455
+ label="Address"
456
+ autoComplete="street-address"
457
+ minLength={3}
458
+ maxLength={80}
459
+ />
460
+ <TextField
461
+ label="Address"
462
+ variant="filled"
463
+ autoComplete="street-address"
464
+ minLength={3}
465
+ maxLength={80}
466
+ />
467
+ <TextField
468
+ inputSize={3}
469
+ min={13}
470
+ max={120}
471
+ label="Age"
472
+ type="number"
473
+ />
474
+ <TextField
475
+ inputSize={3}
476
+ min={13}
477
+ max={120}
478
+ label="Age"
479
+ type="number"
480
+ variant="filled"
481
+ />
482
+ ```
489
483
 
490
484
  👉 Refer to the MDN reference for the full list of supported attributes of the
491
485
  [text][input-text], [email][input-email], [number][input-number],
@@ -497,7 +491,7 @@ If you provide [ref], it is forwarded to the native HTML `<input>` element.
497
491
 
498
492
  ## API
499
493
 
500
- <Props table of={TextField} />
494
+ <docoff-react-props src="/components/TextField/TextField.jsx"></docoff-react-props>
501
495
 
502
496
  ## Theming
503
497
 
@@ -513,6 +507,6 @@ Head to [Forms Theming][theming-forms] to see shared form theming options.
513
507
  [input-number]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number#additional_attributes
514
508
  [input-tel]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/tel#additional_attributes
515
509
  [input-password]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/password#additional_attributes
516
- [theming-forms]: /customize/theming/forms
510
+ [theming-forms]: /docs/customize/theming/forms
517
511
  [React synthetic events]: https://reactjs.org/docs/events.html
518
512
  [ref]: https://reactjs.org/docs/refs-and-the-dom.html