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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (260) hide show
  1. package/CODEOWNERS +23 -0
  2. package/README.md +10 -7
  3. package/dist/react-ui.css +42 -0
  4. package/dist/react-ui.js +1 -0
  5. package/package.json +64 -77
  6. package/src/{lib/components → components}/Alert/Alert.jsx +1 -1
  7. package/src/{lib/components/Alert/README.mdx → components/Alert/README.md} +84 -100
  8. package/src/{lib/components → components}/Badge/Badge.jsx +1 -1
  9. package/src/{lib/components → components}/Badge/Badge.scss +1 -1
  10. package/src/components/Badge/README.md +103 -0
  11. package/src/{lib/components → components}/Button/Button.jsx +1 -1
  12. package/src/components/Button/README.md +580 -0
  13. package/src/{lib/components → components}/ButtonGroup/ButtonGroup.jsx +11 -9
  14. package/src/{lib/components/ButtonGroup/README.mdx → components/ButtonGroup/README.md} +128 -134
  15. package/src/{lib/components → components}/Card/Card.jsx +1 -1
  16. package/src/components/Card/README.md +314 -0
  17. package/src/{lib/components/CheckboxField/README.mdx → components/CheckboxField/README.md} +96 -108
  18. package/src/{lib/components/FileInputField/README.mdx → components/FileInputField/README.md} +83 -95
  19. package/src/{lib/components → components}/FormLayout/FormLayout.jsx +4 -4
  20. package/src/components/FormLayout/README.md +462 -0
  21. package/src/{lib/components → components}/Grid/Grid.jsx +2 -2
  22. package/src/components/Grid/README.md +281 -0
  23. package/src/{lib/components → components}/InputGroup/InputGroup.jsx +20 -19
  24. package/src/{lib/components → components}/InputGroup/InputGroup.scss +1 -6
  25. package/src/{lib/components/InputGroup/README.mdx → components/InputGroup/README.md} +145 -163
  26. package/src/{lib/components → components}/Modal/Modal.jsx +6 -6
  27. package/src/components/Modal/README.md +1090 -0
  28. package/src/components/Modal/_hooks/useModalScrollPrevention.js +37 -0
  29. package/src/{lib/components/Paper/README.mdx → components/Paper/README.md} +18 -30
  30. package/src/{lib/components/Popover/README.mdx → components/Popover/README.md} +102 -132
  31. package/src/{lib/components/Radio/README.mdx → components/Radio/README.md} +122 -134
  32. package/src/{lib/components → components}/Radio/Radio.jsx +11 -12
  33. package/src/{lib/components → components}/Radio/Radio.scss +1 -6
  34. package/src/components/ScrollView/README.md +503 -0
  35. package/src/{lib/components → components}/ScrollView/ScrollView.jsx +12 -3
  36. package/src/components/SelectField/README.md +681 -0
  37. package/src/components/Table/README.md +259 -0
  38. package/src/{lib/components → components}/Table/Table.jsx +4 -1
  39. package/src/{lib/components → components}/Table/_components/TableHeaderCell/TableHeaderCell.jsx +1 -1
  40. package/src/{lib/components/Tabs/README.mdx → components/Tabs/README.md} +117 -134
  41. package/src/{lib/components → components}/Tabs/TabsItem.jsx +3 -3
  42. package/src/components/Text/README.md +220 -0
  43. package/src/components/TextArea/README.md +359 -0
  44. package/src/{lib/components/TextField/README.mdx → components/TextField/README.md} +336 -342
  45. package/src/{lib/components/TextLink/README.mdx → components/TextLink/README.md} +19 -31
  46. package/src/{lib/components/Toggle/README.mdx → components/Toggle/README.md} +98 -110
  47. package/src/components/Toolbar/README.md +359 -0
  48. package/src/{lib/components → components}/Toolbar/_helpers/getAlignClassName.js +12 -4
  49. package/src/components/_helpers/getRootPriorityClassName.js +15 -0
  50. package/src/{lib/index.js → index.js} +6 -0
  51. package/src/{lib/provider → provider}/RUIProvider.jsx +17 -11
  52. package/src/{lib/styles → styles}/tools/_caret.scss +1 -1
  53. package/src/{lib/styles → styles}/tools/form-fields/_box-field-elements.scss +1 -1
  54. package/src/{lib/styles → styles}/tools/form-fields/_box-field-layout.scss +26 -14
  55. package/src/{lib/styles → styles}/tools/form-fields/_inline-field-elements.scss +2 -2
  56. package/src/{lib/theme.scss → theme.scss} +4 -3
  57. package/CONTRIBUTING.md +0 -137
  58. package/dist/lib.development.js +0 -3179
  59. package/dist/lib.js +0 -1
  60. package/public/racom.svg +0 -11
  61. package/src/lib/components/Badge/README.mdx +0 -126
  62. package/src/lib/components/Button/README.mdx +0 -581
  63. package/src/lib/components/Card/README.mdx +0 -326
  64. package/src/lib/components/FormLayout/README.mdx +0 -501
  65. package/src/lib/components/Grid/README.mdx +0 -299
  66. package/src/lib/components/Modal/README.mdx +0 -1360
  67. package/src/lib/components/Modal/_hooks/useModalScrollPrevention.js +0 -35
  68. package/src/lib/components/ScrollView/README.mdx +0 -521
  69. package/src/lib/components/SelectField/README.mdx +0 -693
  70. package/src/lib/components/Table/README.mdx +0 -275
  71. package/src/lib/components/Text/README.mdx +0 -241
  72. package/src/lib/components/TextArea/README.mdx +0 -366
  73. package/src/lib/components/Toolbar/README.mdx +0 -386
  74. package/src/{lib/components → components}/Alert/Alert.scss +0 -0
  75. package/src/{lib/components → components}/Alert/_settings.scss +0 -0
  76. package/src/{lib/components → components}/Alert/_theme.scss +0 -0
  77. package/src/{lib/components → components}/Alert/_tools.scss +0 -0
  78. package/src/{lib/components → components}/Alert/index.js +0 -0
  79. package/src/{lib/components → components}/Badge/index.js +0 -0
  80. package/src/{lib/components → components}/Button/Button.scss +0 -0
  81. package/src/{lib/components → components}/Button/_base.scss +0 -0
  82. package/src/{lib/components → components}/Button/_priorities.scss +0 -0
  83. package/src/{lib/components → components}/Button/_settings.scss +0 -0
  84. package/src/{lib/components → components}/Button/_theme.scss +0 -0
  85. package/src/{lib/components → components}/Button/_tools.scss +0 -0
  86. package/src/{lib/components → components}/Button/helpers/getRootLabelVisibilityClassName.js +0 -0
  87. package/src/{lib/components/_helpers → components/Button/helpers}/getRootPriorityClassName.js +0 -0
  88. package/src/{lib/components → components}/Button/index.js +0 -0
  89. package/src/{lib/components → components}/ButtonGroup/ButtonGroup.scss +0 -0
  90. package/src/{lib/components → components}/ButtonGroup/ButtonGroupContext.js +0 -0
  91. package/src/{lib/components → components}/ButtonGroup/_theme.scss +0 -0
  92. package/src/{lib/components → components}/ButtonGroup/index.js +0 -0
  93. package/src/{lib/components → components}/Card/Card.scss +0 -0
  94. package/src/{lib/components → components}/Card/CardBody.jsx +0 -0
  95. package/src/{lib/components → components}/Card/CardFooter.jsx +0 -0
  96. package/src/{lib/components → components}/Card/_theme.scss +0 -0
  97. package/src/{lib/components → components}/Card/_tools.scss +0 -0
  98. package/src/{lib/components → components}/Card/index.js +0 -0
  99. package/src/{lib/components → components}/CheckboxField/CheckboxField.jsx +0 -0
  100. package/src/{lib/components → components}/CheckboxField/CheckboxField.scss +0 -0
  101. package/src/{lib/components → components}/CheckboxField/index.js +0 -0
  102. package/src/{lib/components → components}/FileInputField/FileInputField.jsx +0 -0
  103. package/src/{lib/components → components}/FileInputField/FileInputField.scss +0 -0
  104. package/src/{lib/components → components}/FileInputField/index.js +0 -0
  105. package/src/{lib/components → components}/FormLayout/FormLayout.scss +0 -0
  106. package/src/{lib/components → components}/FormLayout/FormLayoutContext.js +0 -0
  107. package/src/{lib/components → components}/FormLayout/FormLayoutCustomField.jsx +4 -4
  108. package/src/{lib/components → components}/FormLayout/FormLayoutCustomField.scss +0 -0
  109. package/src/{lib/components → components}/FormLayout/_theme.scss +0 -0
  110. package/src/{lib/components → components}/FormLayout/index.js +0 -0
  111. package/src/{lib/components → components}/Grid/Grid.scss +0 -0
  112. package/src/{lib/components → components}/Grid/GridSpan.jsx +0 -0
  113. package/src/{lib/components → components}/Grid/_helpers/generateResponsiveCustomProperties.js +0 -0
  114. package/src/{lib/components → components}/Grid/_settings.scss +0 -0
  115. package/src/{lib/components → components}/Grid/_tools.scss +0 -0
  116. package/src/{lib/components → components}/Grid/index.js +0 -0
  117. package/src/{lib/components → components}/InputGroup/InputGroupContext.js +0 -0
  118. package/src/{lib/components → components}/InputGroup/_theme.scss +0 -0
  119. package/src/{lib/components → components}/InputGroup/index.js +0 -0
  120. package/src/{lib/components → components}/Modal/Modal.scss +0 -0
  121. package/src/{lib/components → components}/Modal/ModalBody.jsx +0 -0
  122. package/src/{lib/components → components}/Modal/ModalBody.scss +0 -0
  123. package/src/{lib/components → components}/Modal/ModalCloseButton.jsx +1 -1
  124. package/src/{lib/components → components}/Modal/ModalCloseButton.scss +0 -0
  125. package/src/{lib/components → components}/Modal/ModalContent.jsx +0 -0
  126. package/src/{lib/components → components}/Modal/ModalContent.scss +0 -0
  127. package/src/{lib/components → components}/Modal/ModalFooter.jsx +0 -0
  128. package/src/{lib/components → components}/Modal/ModalFooter.scss +0 -0
  129. package/src/{lib/components → components}/Modal/ModalHeader.jsx +0 -0
  130. package/src/{lib/components → components}/Modal/ModalHeader.scss +0 -0
  131. package/src/{lib/components → components}/Modal/ModalTitle.jsx +0 -0
  132. package/src/{lib/components → components}/Modal/ModalTitle.scss +0 -0
  133. package/src/{lib/components → components}/Modal/_helpers/getJustifyClassName.js +0 -0
  134. package/src/{lib/components → components}/Modal/_helpers/getPositionClassName.js +0 -0
  135. package/src/{lib/components → components}/Modal/_helpers/getScrollingClassName.js +0 -0
  136. package/src/{lib/components → components}/Modal/_helpers/getSizeClassName.js +0 -0
  137. package/src/{lib/components → components}/Modal/_hooks/useModalFocus.js +0 -0
  138. package/src/{lib/components → components}/Modal/_settings.scss +0 -0
  139. package/src/{lib/components → components}/Modal/_theme.scss +0 -0
  140. package/src/{lib/components → components}/Modal/index.js +0 -0
  141. package/src/{lib/components → components}/Paper/Paper.jsx +0 -0
  142. package/src/{lib/components → components}/Paper/Paper.scss +0 -0
  143. package/src/{lib/components → components}/Paper/_theme.scss +0 -0
  144. package/src/{lib/components → components}/Paper/index.js +0 -0
  145. package/src/{lib/components → components}/Popover/Popover.jsx +0 -0
  146. package/src/{lib/components → components}/Popover/Popover.scss +0 -0
  147. package/src/{lib/components → components}/Popover/PopoverWrapper.jsx +0 -0
  148. package/src/{lib/components → components}/Popover/PopoverWrapper.scss +0 -0
  149. package/src/{lib/components → components}/Popover/_helpers/getRootAlignmentClassName.js +0 -0
  150. package/src/{lib/components → components}/Popover/_helpers/getRootSideClassName.js +0 -0
  151. package/src/{lib/components → components}/Popover/_theme.scss +0 -0
  152. package/src/{lib/components → components}/Popover/index.js +0 -0
  153. package/src/{lib/components → components}/Radio/index.js +0 -0
  154. package/src/{lib/components → components}/ScrollView/ScrollView.scss +0 -0
  155. package/src/{lib/components → components}/ScrollView/_helpers/getElementsPositionDifference.js +0 -0
  156. package/src/{lib/components → components}/ScrollView/_hooks/useLoadResizeHook.js +0 -0
  157. package/src/{lib/components → components}/ScrollView/_hooks/useScrollPositionHook.js +0 -0
  158. package/src/{lib/components → components}/ScrollView/index.js +0 -0
  159. package/src/{lib/components → components}/SelectField/SelectField.jsx +0 -0
  160. package/src/{lib/components → components}/SelectField/SelectField.scss +0 -0
  161. package/src/{lib/components → components}/SelectField/_components/Option/Option.jsx +0 -0
  162. package/src/{lib/components → components}/SelectField/_components/Option/index.js +0 -0
  163. package/src/{lib/components → components}/SelectField/index.js +0 -0
  164. package/src/{lib/components → components}/Table/Table.scss +0 -0
  165. package/src/{lib/components → components}/Table/_components/TableBodyCell/TableBodyCell.jsx +0 -0
  166. package/src/{lib/components → components}/Table/_components/TableBodyCell/index.js +0 -0
  167. package/src/{lib/components → components}/Table/_components/TableCell.scss +0 -0
  168. package/src/{lib/components → components}/Table/_components/TableHeaderCell/index.js +0 -0
  169. package/src/{lib/components → components}/Table/_settings.scss +0 -0
  170. package/src/{lib/components → components}/Table/index.js +0 -0
  171. package/src/{lib/components → components}/Tabs/Tabs.jsx +0 -0
  172. package/src/{lib/components → components}/Tabs/Tabs.scss +0 -0
  173. package/src/{lib/components → components}/Tabs/TabsItem.scss +0 -0
  174. package/src/{lib/components → components}/Tabs/_theme.scss +0 -0
  175. package/src/{lib/components → components}/Tabs/index.js +0 -0
  176. package/src/{lib/components → components}/Text/Text.jsx +0 -0
  177. package/src/{lib/components → components}/Text/Text.scss +0 -0
  178. package/src/{lib/components → components}/Text/_helpers/getRootClampClassName.js +0 -0
  179. package/src/{lib/components → components}/Text/_helpers/getRootHyphensClassName.js +0 -0
  180. package/src/{lib/components → components}/Text/_helpers/getRootWordWrappingClassName.js +0 -0
  181. package/src/{lib/components → components}/Text/index.js +0 -0
  182. package/src/{lib/components → components}/TextArea/TextArea.jsx +0 -0
  183. package/src/{lib/components → components}/TextArea/TextArea.scss +0 -0
  184. package/src/{lib/components → components}/TextArea/index.js +0 -0
  185. package/src/{lib/components → components}/TextField/TextField.jsx +0 -0
  186. package/src/{lib/components → components}/TextField/TextField.scss +0 -0
  187. package/src/{lib/components → components}/TextField/index.js +0 -0
  188. package/src/{lib/components → components}/TextLink/TextLink.jsx +1 -1
  189. /package/src/{lib/components → components}/TextLink/TextLink.scss +0 -0
  190. /package/src/{lib/components → components}/TextLink/_theme.scss +0 -0
  191. /package/src/{lib/components → components}/TextLink/index.js +0 -0
  192. /package/src/{lib/components → components}/Toggle/Toggle.jsx +0 -0
  193. /package/src/{lib/components → components}/Toggle/Toggle.scss +0 -0
  194. /package/src/{lib/components → components}/Toggle/index.js +0 -0
  195. /package/src/{lib/components → components}/Toolbar/Toolbar.jsx +0 -0
  196. /package/src/{lib/components → components}/Toolbar/Toolbar.scss +0 -0
  197. /package/src/{lib/components → components}/Toolbar/ToolbarGroup.jsx +0 -0
  198. /package/src/{lib/components → components}/Toolbar/ToolbarItem.jsx +0 -0
  199. /package/src/{lib/components → components}/Toolbar/_helpers/getJustifyClassName.js +0 -0
  200. /package/src/{lib/components → components}/Toolbar/_theme.scss +0 -0
  201. /package/src/{lib/components → components}/Toolbar/index.js +0 -0
  202. /package/src/{lib/components → components}/_helpers/getRootColorClassName.js +0 -0
  203. /package/src/{lib/components → components}/_helpers/getRootSizeClassName.js +0 -0
  204. /package/src/{lib/components → components}/_helpers/getRootValidationStateClassName.js +0 -0
  205. /package/src/{lib/components → components}/_helpers/isChildrenEmpty.js +0 -0
  206. /package/src/{lib/components → components}/_helpers/resolveContextOrProp.js +0 -0
  207. /package/src/{lib/components → components}/_helpers/transferProps.js +0 -0
  208. /package/src/{lib/foundation.scss → foundation.scss} +0 -0
  209. /package/src/{lib/helpers.scss → helpers.scss} +0 -0
  210. /package/src/{lib/provider → provider}/RUIContext.jsx +0 -0
  211. /package/src/{lib/provider → provider}/index.js +0 -0
  212. /package/src/{lib/provider → provider}/withGlobalProps.jsx +0 -0
  213. /package/src/{lib/styles → styles}/_utilities.scss +0 -0
  214. /package/src/{lib/styles → styles}/elements/_code.scss +0 -0
  215. /package/src/{lib/styles → styles}/elements/_links.scss +0 -0
  216. /package/src/{lib/styles → styles}/elements/_lists.scss +0 -0
  217. /package/src/{lib/styles → styles}/elements/_page.scss +0 -0
  218. /package/src/{lib/styles → styles}/elements/_rulers.scss +0 -0
  219. /package/src/{lib/styles → styles}/elements/_small.scss +0 -0
  220. /package/src/{lib/styles → styles}/generic/_box-sizing.scss +0 -0
  221. /package/src/{lib/styles → styles}/generic/_focus.scss +0 -0
  222. /package/src/{lib/styles → styles}/generic/_forms.scss +0 -0
  223. /package/src/{lib/styles → styles}/generic/_reset.scss +0 -0
  224. /package/src/{lib/styles → styles}/generic/_shared.scss +0 -0
  225. /package/src/{lib/styles → styles}/helpers/_animation.scss +0 -0
  226. /package/src/{lib/styles → styles}/settings/_animations.scss +0 -0
  227. /package/src/{lib/styles → styles}/settings/_breakpoints.scss +0 -0
  228. /package/src/{lib/styles → styles}/settings/_escaped-characters.scss +0 -0
  229. /package/src/{lib/styles → styles}/settings/_form-fields.scss +0 -0
  230. /package/src/{lib/styles → styles}/settings/_forms.scss +0 -0
  231. /package/src/{lib/styles → styles}/settings/_utilities.scss +0 -0
  232. /package/src/{lib/styles → styles}/settings/_z-indexes.scss +0 -0
  233. /package/src/{lib/styles → styles}/theme/_accessibility.scss +0 -0
  234. /package/src/{lib/styles → styles}/theme/_borders.scss +0 -0
  235. /package/src/{lib/styles → styles}/theme/_code.scss +0 -0
  236. /package/src/{lib/styles → styles}/theme/_form-fields.scss +0 -0
  237. /package/src/{lib/styles → styles}/theme/_links.scss +0 -0
  238. /package/src/{lib/styles → styles}/theme/_lists.scss +0 -0
  239. /package/src/{lib/styles → styles}/theme/_page.scss +0 -0
  240. /package/src/{lib/styles → styles}/theme/_spacing.scss +0 -0
  241. /package/src/{lib/styles → styles}/theme/_typography.scss +0 -0
  242. /package/src/{lib/styles → styles}/theme-constants/_breakpoints.scss +0 -0
  243. /package/src/{lib/styles → styles}/theme-constants/_colors.scss +0 -0
  244. /package/src/{lib/styles → styles}/theme-constants/_svg.scss +0 -0
  245. /package/src/{lib/styles → styles}/tools/_accessibility.scss +0 -0
  246. /package/src/{lib/styles → styles}/tools/_breakpoint.scss +0 -0
  247. /package/src/{lib/styles → styles}/tools/_colors.scss +0 -0
  248. /package/src/{lib/styles → styles}/tools/_reset.scss +0 -0
  249. /package/src/{lib/styles → styles}/tools/_scrollbar.scss +0 -0
  250. /package/src/{lib/styles → styles}/tools/_spacing.scss +0 -0
  251. /package/src/{lib/styles → styles}/tools/_string.scss +0 -0
  252. /package/src/{lib/styles → styles}/tools/_svg.scss +0 -0
  253. /package/src/{lib/styles → styles}/tools/_transition.scss +0 -0
  254. /package/src/{lib/styles → styles}/tools/_utilities.scss +0 -0
  255. /package/src/{lib/styles → styles}/tools/form-fields/_box-field-sizes.scss +0 -0
  256. /package/src/{lib/styles → styles}/tools/form-fields/_foundation.scss +0 -0
  257. /package/src/{lib/styles → styles}/tools/form-fields/_inline-field-layout.scss +0 -0
  258. /package/src/{lib/styles → styles}/tools/form-fields/_variants.scss +0 -0
  259. /package/src/{lib/translations → translations}/en.js +0 -0
  260. /package/src/{lib/utils → utils}/classNames.js +0 -0
@@ -0,0 +1,37 @@
1
+ import { useLayoutEffect } from 'react';
2
+
3
+ export const useModalScrollPrevention = (preventScrollUnderneath) => {
4
+ useLayoutEffect(
5
+ () => {
6
+ if (preventScrollUnderneath === 'off') {
7
+ return () => {};
8
+ }
9
+
10
+ if (preventScrollUnderneath instanceof HTMLElement) {
11
+ const scrollableElement = preventScrollUnderneath;
12
+
13
+ const scrollbarWidth = Math.abs(window.innerWidth - window.document.documentElement.clientWidth);
14
+ const prevOverflow = scrollableElement.style.overflow;
15
+ const prevPaddingRight = scrollableElement.style.paddingRight;
16
+
17
+ scrollableElement.style.overflow = 'hidden';
18
+
19
+ if (Number.isNaN(parseInt(prevPaddingRight, 10))) {
20
+ scrollableElement.style.paddingRight = `${scrollbarWidth}px`;
21
+ } else {
22
+ scrollableElement.style.paddingRight = `calc(${prevPaddingRight} + ${scrollbarWidth}px)`;
23
+ }
24
+
25
+ return () => {
26
+ scrollableElement.style.overflow = prevOverflow;
27
+ scrollableElement.style.paddingRight = prevPaddingRight;
28
+ };
29
+ }
30
+
31
+ preventScrollUnderneath?.start();
32
+
33
+ return preventScrollUnderneath?.reset;
34
+ },
35
+ [preventScrollUnderneath],
36
+ );
37
+ };
@@ -1,17 +1,5 @@
1
- ---
2
- name: Paper
3
- menu: 'Miscellaneous'
4
- route: /components/paper
5
- ---
6
-
7
1
  # Paper
8
2
 
9
- import {
10
- Playground,
11
- Props,
12
- } from 'docz'
13
- import { Paper } from '../..'
14
-
15
3
  Paper is a basic surface to hold content.
16
4
 
17
5
  ## Basic Usage
@@ -24,22 +12,22 @@ import { Paper } from '@react-ui-org/react-ui';
24
12
 
25
13
  And use it:
26
14
 
27
- <Playground>
28
- <Paper>
29
- Hello!
30
- </Paper>
31
- </Playground>
15
+ ```docoff-react-preview
16
+ <Paper>
17
+ Hello!
18
+ </Paper>
19
+ ```
32
20
 
33
21
  See [API](#api) for all available options.
34
22
 
35
23
  ## General Guidelines
36
24
 
37
25
  - Paper is **designed for non-white background.** You may want to either use its
38
- [raised variant](#raised-paper) or [customize](/customize/theming/overview)
26
+ [raised variant](#raised-paper) or [customize](/docs/customize/theming/overview)
39
27
  the default appearance to make it stand out on white background.
40
28
 
41
29
  - **Paper, or Card?** Paper is a basic surface to put content on. However,
42
- there is also the [Card](/components/card) component. While Paper is
30
+ there is also the [Card](/components/Card) component. While Paper is
43
31
  usually used to hold larger content areas like lists, grids, or forms, Card is
44
32
  designed for displaying items. Card also supports more visual options.
45
33
 
@@ -47,21 +35,21 @@ See [API](#api) for all available options.
47
35
 
48
36
  Add optional shadow to lift the paper above background.
49
37
 
50
- <Playground>
51
- <Paper raised>
52
- Hello! I&apos;m paper and I&apos;m raised.
53
- </Paper>
54
- </Playground>
38
+ ```docoff-react-preview
39
+ <Paper raised>
40
+ Hello! I&apos;m paper and I&apos;m raised.
41
+ </Paper>
42
+ ```
55
43
 
56
44
  ## Muted Paper
57
45
 
58
46
  Dim background and add transparency to visually suppress the Paper.
59
47
 
60
- <Playground>
61
- <Paper muted>
62
- Sssh! I&apos;m paper and I&apos;m muted.
63
- </Paper>
64
- </Playground>
48
+ ```docoff-react-preview
49
+ <Paper muted>
50
+ Sssh! I&apos;m paper and I&apos;m muted.
51
+ </Paper>
52
+ ```
65
53
 
66
54
  ## Forwarding HTML Attributes
67
55
 
@@ -76,7 +64,7 @@ its accessibility.
76
64
 
77
65
  ## API
78
66
 
79
- <Props table of={Paper} />
67
+ <docoff-react-props src="/components/Paper/Paper.jsx"></docoff-react-props>
80
68
 
81
69
  ## Theming
82
70
 
@@ -1,31 +1,5 @@
1
- ---
2
- name: Popover
3
- menu: 'Miscellaneous'
4
- route: /components/popover
5
- ---
6
-
7
1
  # Popover
8
2
 
9
- import {
10
- useFloating,
11
- autoUpdate,
12
- flip,
13
- } from '@floating-ui/react-dom'
14
- import {
15
- Playground,
16
- Props,
17
- } from 'docz'
18
- import { Placeholder } from '../../../docs/_components/Placeholder/Placeholder'
19
- import {
20
- Button,
21
- Popover,
22
- ButtonGroup,
23
- SelectField,
24
- Toolbar,
25
- ToolbarItem,
26
- PopoverWrapper,
27
- } from '../..'
28
-
29
3
  Popover displays additional information without interrupting user flow.
30
4
 
31
5
  ## Basic Usage
@@ -38,8 +12,8 @@ import { Popover, PopoverWrapper } from '@react-ui-org/react-ui';
38
12
 
39
13
  And use it:
40
14
 
41
- <Playground>
42
- {() => {
15
+ ```docoff-react-preview
16
+ React.createElement(() => {
43
17
  const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);
44
18
  // All inline styles in this example are for demonstration purposes only.
45
19
  return (
@@ -65,8 +39,8 @@ And use it:
65
39
  </PopoverWrapper>
66
40
  </div>
67
41
  );
68
- }}
69
- </Playground>
42
+ });
43
+ ```
70
44
 
71
45
  See [API](#api) for all available options.
72
46
 
@@ -77,8 +51,8 @@ placements can be aligned to the center (default, no suffix), start (e.g.
77
51
  `top-start`), or end (e.g. `bottom-end`). Check Popover [API](#api) for the
78
52
  complete list of accepted values.
79
53
 
80
- <Playground>
81
- {() => {
54
+ ```docoff-react-preview
55
+ React.createElement(() => {
82
56
  const [align, setAlign] = React.useState('');
83
57
  // All inline styles in this example are for demonstration purposes only.
84
58
  return (
@@ -119,11 +93,11 @@ complete list of accepted values.
119
93
  }}
120
94
  >
121
95
  <PopoverWrapper>
122
- <Placeholder bordered aria-describedby="my-popover-top">
96
+ <docoff-placeholder bordered aria-describedby="my-popover-top">
123
97
  Popovers
124
98
  <br />
125
99
  all day long…
126
- </Placeholder>
100
+ </docoff-placeholder>
127
101
  <Popover id="my-popover-top" placement={`top${align}`}>
128
102
  Top side
129
103
  </Popover>
@@ -140,8 +114,8 @@ complete list of accepted values.
140
114
  </div>
141
115
  </>
142
116
  );
143
- }}
144
- </Playground>
117
+ });
118
+ ```
145
119
 
146
120
  ## PopoverWrapper
147
121
 
@@ -198,11 +172,7 @@ npm install --save @floating-ui/react-dom
198
172
  And import it along with Popover, e.g.:
199
173
 
200
174
  ```js
201
- import {
202
- useFloating,
203
- autoUpdate,
204
- flip,
205
- } from '@floating-ui/react-dom';
175
+ import FloatingUIReactDOM from '@floating-ui/react-dom';
206
176
  import { Popover } from '@react-ui-org/react-ui';
207
177
  ```
208
178
 
@@ -219,100 +189,100 @@ get an idea of all possible cases you may need to cover.
219
189
 
220
190
  🖱 Try scrolling the example to see how Popover placement is updated.
221
191
 
222
- <Playground>
223
- {() => {
224
- const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);
225
- const [placement, setPlacement] = React.useState('top');
226
- const {
227
- x,
228
- y,
229
- reference,
230
- floating,
231
- placement: finalPlacement,
232
- strategy,
233
- } = useFloating({
234
- placement,
235
- middleware: [flip()],
236
- whileElementsMounted: autoUpdate,
237
- });
238
- const placementOptions = [
239
- 'top',
240
- 'top-start',
241
- 'top-end',
242
- 'right',
243
- 'right-start',
244
- 'right-end',
245
- 'bottom',
246
- 'bottom-start',
247
- 'bottom-end',
248
- 'left',
249
- 'left-start',
250
- 'left-end',
251
- ];
252
- // All inline styles in this example EXCEPT Popover `style` are for
253
- // demonstration purposes only.
254
- return (
255
- <>
256
- <Toolbar>
257
- <ToolbarItem>
258
- <SelectField
259
- label="Suggested placement:"
260
- onChange={e => setPlacement(e.target.value)}
261
- options={placementOptions.map((el) => ({
262
- label: el,
263
- value: el,
264
- }))}
265
- value={placement}
266
- />
267
- </ToolbarItem>
268
- <ToolbarItem>
269
- <div className="mb-2">Final placement:</div>
270
- <code>{finalPlacement}</code>
271
- </ToolbarItem>
272
- </Toolbar>
192
+ ```docoff-react-preview
193
+ React.createElement(() => {
194
+ const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);
195
+ const [placement, setPlacement] = React.useState('top');
196
+ const {
197
+ x,
198
+ y,
199
+ reference,
200
+ floating,
201
+ placement: finalPlacement,
202
+ strategy,
203
+ } = FloatingUIReactDOM.useFloating({
204
+ placement,
205
+ middleware: [FloatingUIReactDOM.flip()],
206
+ whileElementsMounted: FloatingUIReactDOM.autoUpdate,
207
+ });
208
+ const placementOptions = [
209
+ 'top',
210
+ 'top-start',
211
+ 'top-end',
212
+ 'right',
213
+ 'right-start',
214
+ 'right-end',
215
+ 'bottom',
216
+ 'bottom-start',
217
+ 'bottom-end',
218
+ 'left',
219
+ 'left-start',
220
+ 'left-end',
221
+ ];
222
+ // All inline styles in this example EXCEPT Popover `style` are for
223
+ // demonstration purposes only.
224
+ return (
225
+ <>
226
+ <Toolbar>
227
+ <ToolbarItem>
228
+ <SelectField
229
+ label="Suggested placement:"
230
+ onChange={e => setPlacement(e.target.value)}
231
+ options={placementOptions.map((el) => ({
232
+ label: el,
233
+ value: el,
234
+ }))}
235
+ value={placement}
236
+ />
237
+ </ToolbarItem>
238
+ <ToolbarItem>
239
+ <div className="mb-2">Final placement:</div>
240
+ <code>{finalPlacement}</code>
241
+ </ToolbarItem>
242
+ </Toolbar>
243
+ <div
244
+ style={{
245
+ width: '40rem',
246
+ maxWidth: '100%',
247
+ height: '10rem',
248
+ overflow: 'auto',
249
+ }}
250
+ >
273
251
  <div
274
252
  style={{
275
- width: '40rem',
276
- maxWidth: '100%',
277
- height: '10rem',
278
- overflow: 'auto',
253
+ position: 'relative',
254
+ width: '60rem',
255
+ height: '20rem',
256
+ paddingBlock: '7rem',
257
+ textAlign: 'center',
279
258
  }}
280
259
  >
281
- <div
282
- style={{
283
- position: 'relative',
284
- width: '60rem',
285
- height: '20rem',
286
- paddingBlock: '7rem',
287
- textAlign: 'center',
288
- }}
289
- >
290
- <Button
291
- aria-describedby={isPopoverOpen ? 'my-advanced-popover' : undefined}
292
- label="Trigger Popover"
293
- onClick={() => setIsPopoverOpen(!isPopoverOpen)}
294
- ref={reference}
295
- />
296
- {isPopoverOpen && (
297
- <Popover
298
- id="my-advanced-popover"
299
- placement={finalPlacement}
300
- style={{
301
- position: strategy,
302
- top: y ? y : '',
303
- left: x ? x : '',
304
- }}
305
- ref={floating}
306
- >
307
- Auto-flipping Popover
308
- </Popover>
309
- )}
310
- </div>
260
+ <Button
261
+ aria-describedby={isPopoverOpen ? 'my-advanced-popover' : undefined}
262
+ label="Trigger Popover"
263
+ onClick={() => setIsPopoverOpen(!isPopoverOpen)}
264
+ ref={reference}
265
+ />
266
+ {isPopoverOpen && (
267
+ <Popover
268
+ id="my-advanced-popover"
269
+ placement={finalPlacement}
270
+ style={{
271
+ position: strategy,
272
+ top: y ? y : '',
273
+ left: x ? x : '',
274
+ }}
275
+ ref={floating}
276
+ >
277
+ Auto-flipping Popover
278
+ </Popover>
279
+ )}
311
280
  </div>
312
- </>
313
- );
314
- }}
315
- </Playground>
281
+ </div>
282
+ </>
283
+ );
284
+ });
285
+ ```
316
286
 
317
287
  ## Forwarding HTML Attributes
318
288
 
@@ -332,11 +302,11 @@ which enables [Advanced Positioning](#advanced-positioning).
332
302
 
333
303
  ## API
334
304
 
335
- <Props table of={Popover} />
305
+ <docoff-react-props src="/components/Popover/Popover.jsx"></docoff-react-props>
336
306
 
337
307
  ### PopoverWrapper API
338
308
 
339
- <Props table of={PopoverWrapper} />
309
+ <docoff-react-props src="/components/Popover/PopoverWrapper.jsx"></docoff-react-props>
340
310
 
341
311
  ## Theming
342
312