@unbxd-ui/unbxd-react-components 0.2.107-beta.2 → 0.2.108-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/components/Accordian/Accordian.js +13 -45
  2. package/components/Accordian/Accordian.stories.js +6 -25
  3. package/components/Accordian/index.js +0 -3
  4. package/components/Button/Button.js +9 -26
  5. package/components/Button/Button.stories.js +1 -14
  6. package/components/Button/DropdownButton.js +9 -31
  7. package/components/Button/DropdownButton.stories.js +6 -23
  8. package/components/Button/index.js +1 -8
  9. package/components/DataLoader/DataLoader.js +10 -40
  10. package/components/DataLoader/DataLoader.stories.js +5 -30
  11. package/components/DataLoader/index.js +0 -3
  12. package/components/Form/Checkbox.js +18 -43
  13. package/components/Form/DragDropFileUploader.js +12 -42
  14. package/components/Form/Dropdown.js +106 -182
  15. package/components/Form/FileUploader.js +10 -32
  16. package/components/Form/Form.js +15 -45
  17. package/components/Form/FormElementWrapper.js +2 -7
  18. package/components/Form/Input.js +27 -72
  19. package/components/Form/RadioList.js +20 -49
  20. package/components/Form/RangeSlider.js +39 -74
  21. package/components/Form/ServerPaginatedDDList.js +86 -130
  22. package/components/Form/Textarea.js +18 -43
  23. package/components/Form/Toggle.js +16 -48
  24. package/components/Form/index.js +18 -30
  25. package/components/Form/stories/Checkbox.stories.js +1 -12
  26. package/components/Form/stories/DragDropFileUploader.stories.js +0 -8
  27. package/components/Form/stories/Dropdown.stories.js +6 -24
  28. package/components/Form/stories/FileUploader.stories.js +0 -8
  29. package/components/Form/stories/FormDefault.stories.js +1 -21
  30. package/components/Form/stories/RadioList.stories.js +1 -12
  31. package/components/Form/stories/RangeSlider.stories.js +1 -15
  32. package/components/Form/stories/TextInput.stories.js +3 -19
  33. package/components/Form/stories/Textarea.stories.js +1 -12
  34. package/components/Form/stories/Toggle.stories.js +0 -7
  35. package/components/Form/stories/form.stories.js +3 -40
  36. package/components/InlineModal/InlineModal.js +14 -51
  37. package/components/InlineModal/InlineModal.stories.js +2 -14
  38. package/components/InlineModal/index.js +1 -6
  39. package/components/List/List.js +9 -24
  40. package/components/List/index.js +0 -3
  41. package/components/List/list.stories.js +0 -10
  42. package/components/Modal/Modal.js +17 -49
  43. package/components/Modal/Modal.stories.js +1 -15
  44. package/components/Modal/index.js +0 -3
  45. package/components/NotificationComponent/NotificationComponent.js +11 -34
  46. package/components/NotificationComponent/NotificationComponent.stories.js +0 -6
  47. package/components/NotificationComponent/index.js +0 -3
  48. package/components/ProgressBar/ProgressBar.js +2 -11
  49. package/components/ProgressBar/ProgressBar.stories.js +0 -6
  50. package/components/ProgressBar/index.js +0 -3
  51. package/components/Table/BaseTable.js +69 -134
  52. package/components/Table/PaginationComponent.js +11 -23
  53. package/components/Table/Table.js +68 -149
  54. package/components/Table/Table.stories.js +22 -67
  55. package/components/Table/index.js +0 -4
  56. package/components/TabsComponent/TabsComponent.js +20 -57
  57. package/components/TabsComponent/TabsComponent.stories.js +0 -16
  58. package/components/TabsComponent/index.js +0 -3
  59. package/components/Tooltip/Tooltip.js +25 -47
  60. package/components/Tooltip/Tooltip.stories.js +0 -6
  61. package/components/Tooltip/index.js +0 -3
  62. package/components/core.css +3 -1
  63. package/components/index.js +1 -17
  64. package/components/theme.css +2 -0
  65. package/package.json +3 -2
  66. package/.babelrc +0 -4
  67. package/.eslintrc.js +0 -38
  68. package/CONTRIBUTE.md +0 -105
  69. package/README.md +0 -82
  70. package/lib/components/Accordian/Accordian.js +0 -117
  71. package/lib/components/Accordian/Accordian.stories.js +0 -137
  72. package/lib/components/Accordian/index.js +0 -10
  73. package/lib/components/Button/Button.js +0 -84
  74. package/lib/components/Button/Button.stories.js +0 -89
  75. package/lib/components/Button/DropdownButton.js +0 -77
  76. package/lib/components/Button/DropdownButton.stories.js +0 -51
  77. package/lib/components/Button/index.js +0 -32
  78. package/lib/components/DataLoader/DataLoader.js +0 -88
  79. package/lib/components/DataLoader/DataLoader.stories.js +0 -77
  80. package/lib/components/DataLoader/index.js +0 -10
  81. package/lib/components/Form/Checkbox.js +0 -93
  82. package/lib/components/Form/DragDropFileUploader.js +0 -85
  83. package/lib/components/Form/Dropdown.js +0 -478
  84. package/lib/components/Form/FileUploader.js +0 -81
  85. package/lib/components/Form/Form.js +0 -106
  86. package/lib/components/Form/FormElementWrapper.js +0 -27
  87. package/lib/components/Form/Input.js +0 -140
  88. package/lib/components/Form/RadioList.js +0 -111
  89. package/lib/components/Form/RangeSlider.js +0 -142
  90. package/lib/components/Form/ServerPaginatedDDList.js +0 -267
  91. package/lib/components/Form/Textarea.js +0 -95
  92. package/lib/components/Form/Toggle.js +0 -117
  93. package/lib/components/Form/index.js +0 -73
  94. package/lib/components/Form/stories/Checkbox.stories.js +0 -54
  95. package/lib/components/Form/stories/DragDropFileUploader.stories.js +0 -27
  96. package/lib/components/Form/stories/Dropdown.stories.js +0 -114
  97. package/lib/components/Form/stories/FileUploader.stories.js +0 -31
  98. package/lib/components/Form/stories/FormDefault.stories.js +0 -117
  99. package/lib/components/Form/stories/RadioList.stories.js +0 -55
  100. package/lib/components/Form/stories/RangeSlider.stories.js +0 -82
  101. package/lib/components/Form/stories/TextInput.stories.js +0 -79
  102. package/lib/components/Form/stories/Textarea.stories.js +0 -48
  103. package/lib/components/Form/stories/Toggle.stories.js +0 -25
  104. package/lib/components/Form/stories/form.stories.js +0 -240
  105. package/lib/components/InlineModal/InlineModal.js +0 -146
  106. package/lib/components/InlineModal/InlineModal.stories.js +0 -61
  107. package/lib/components/InlineModal/index.js +0 -24
  108. package/lib/components/List/List.js +0 -76
  109. package/lib/components/List/index.js +0 -10
  110. package/lib/components/List/list.stories.js +0 -38
  111. package/lib/components/Modal/Modal.js +0 -117
  112. package/lib/components/Modal/Modal.stories.js +0 -55
  113. package/lib/components/Modal/index.js +0 -10
  114. package/lib/components/NotificationComponent/NotificationComponent.js +0 -76
  115. package/lib/components/NotificationComponent/NotificationComponent.stories.js +0 -29
  116. package/lib/components/NotificationComponent/index.js +0 -10
  117. package/lib/components/ProgressBar/ProgressBar.js +0 -49
  118. package/lib/components/ProgressBar/ProgressBar.stories.js +0 -21
  119. package/lib/components/ProgressBar/index.js +0 -10
  120. package/lib/components/Table/BaseTable.js +0 -352
  121. package/lib/components/Table/PaginationComponent.js +0 -87
  122. package/lib/components/Table/Table.js +0 -333
  123. package/lib/components/Table/Table.stories.js +0 -204
  124. package/lib/components/Table/index.js +0 -17
  125. package/lib/components/TabsComponent/TabsComponent.js +0 -134
  126. package/lib/components/TabsComponent/TabsComponent.stories.js +0 -65
  127. package/lib/components/TabsComponent/index.js +0 -10
  128. package/lib/components/Tooltip/Tooltip.js +0 -102
  129. package/lib/components/Tooltip/Tooltip.stories.js +0 -25
  130. package/lib/components/Tooltip/index.js +0 -10
  131. package/lib/components/core.css +0 -3
  132. package/lib/components/core.scss +0 -29
  133. package/lib/components/index.js +0 -159
  134. package/lib/components/theme.css +0 -3
  135. package/lib/components/theme.scss +0 -11
  136. package/lib/package-lock.json +0 -20607
  137. package/lib/package.json +0 -94
  138. package/src/Intro.stories.mdx +0 -119
  139. package/src/components/Accordian/Accordian.js +0 -89
  140. package/src/components/Accordian/Accordian.stories.js +0 -92
  141. package/src/components/Accordian/accordianCore.css +0 -1
  142. package/src/components/Accordian/accordianCore.scss +0 -8
  143. package/src/components/Accordian/accordianTheme.css +0 -1
  144. package/src/components/Accordian/accordianTheme.scss +0 -6
  145. package/src/components/Accordian/index.js +0 -3
  146. package/src/components/Button/Button.js +0 -67
  147. package/src/components/Button/Button.stories.js +0 -103
  148. package/src/components/Button/DropdownButton.js +0 -60
  149. package/src/components/Button/DropdownButton.stories.js +0 -38
  150. package/src/components/Button/button.css +0 -1
  151. package/src/components/Button/buttonTheme.css +0 -1
  152. package/src/components/Button/buttonTheme.scss +0 -45
  153. package/src/components/Button/index.js +0 -5
  154. package/src/components/DataLoader/DataLoader.js +0 -86
  155. package/src/components/DataLoader/DataLoader.stories.js +0 -72
  156. package/src/components/DataLoader/index.js +0 -3
  157. package/src/components/Form/Checkbox.js +0 -73
  158. package/src/components/Form/DragDropFileUploader.js +0 -67
  159. package/src/components/Form/Dropdown.js +0 -430
  160. package/src/components/Form/FileUploader.js +0 -64
  161. package/src/components/Form/Form.js +0 -83
  162. package/src/components/Form/FormElementWrapper.js +0 -22
  163. package/src/components/Form/Input.js +0 -121
  164. package/src/components/Form/RadioList.js +0 -86
  165. package/src/components/Form/RangeSlider.js +0 -100
  166. package/src/components/Form/ServerPaginatedDDList.js +0 -231
  167. package/src/components/Form/Textarea.js +0 -76
  168. package/src/components/Form/Toggle.js +0 -96
  169. package/src/components/Form/form.css +0 -1
  170. package/src/components/Form/formCore.css +0 -1
  171. package/src/components/Form/formCore.scss +0 -142
  172. package/src/components/Form/formTheme.css +0 -1
  173. package/src/components/Form/formTheme.scss +0 -27
  174. package/src/components/Form/index.js +0 -13
  175. package/src/components/Form/stories/Checkbox.stories.js +0 -41
  176. package/src/components/Form/stories/DragDropFileUploader.stories.js +0 -21
  177. package/src/components/Form/stories/Dropdown.stories.js +0 -124
  178. package/src/components/Form/stories/FileUploader.stories.js +0 -21
  179. package/src/components/Form/stories/FormDefault.stories.js +0 -87
  180. package/src/components/Form/stories/RadioList.stories.js +0 -48
  181. package/src/components/Form/stories/RangeSlider.stories.js +0 -84
  182. package/src/components/Form/stories/TextInput.stories.js +0 -77
  183. package/src/components/Form/stories/Textarea.stories.js +0 -43
  184. package/src/components/Form/stories/Toggle.stories.js +0 -14
  185. package/src/components/Form/stories/form.stories.js +0 -216
  186. package/src/components/InlineModal/InlineModal.js +0 -135
  187. package/src/components/InlineModal/InlineModal.stories.js +0 -54
  188. package/src/components/InlineModal/index.js +0 -4
  189. package/src/components/InlineModal/inlineModal.css +0 -1
  190. package/src/components/InlineModal/inlineModalCore.css +0 -1
  191. package/src/components/InlineModal/inlineModalCore.scss +0 -31
  192. package/src/components/InlineModal/inlineModalTheme.css +0 -1
  193. package/src/components/InlineModal/inlineModalTheme.scss +0 -16
  194. package/src/components/List/List.js +0 -72
  195. package/src/components/List/index.js +0 -3
  196. package/src/components/List/list.css +0 -1
  197. package/src/components/List/list.stories.js +0 -28
  198. package/src/components/List/listCore.css +0 -1
  199. package/src/components/List/listCore.scss +0 -6
  200. package/src/components/List/listTheme.css +0 -0
  201. package/src/components/List/listTheme.scss +0 -0
  202. package/src/components/Modal/Modal.js +0 -99
  203. package/src/components/Modal/Modal.stories.js +0 -54
  204. package/src/components/Modal/index.js +0 -3
  205. package/src/components/Modal/modal.css +0 -1
  206. package/src/components/Modal/modalCore.css +0 -1
  207. package/src/components/Modal/modalCore.scss +0 -34
  208. package/src/components/Modal/modalTheme.css +0 -0
  209. package/src/components/Modal/modalTheme.scss +0 -0
  210. package/src/components/NotificationComponent/NotificationComponent.js +0 -58
  211. package/src/components/NotificationComponent/NotificationComponent.stories.js +0 -28
  212. package/src/components/NotificationComponent/index.js +0 -3
  213. package/src/components/NotificationComponent/notificationComponent.css +0 -1
  214. package/src/components/NotificationComponent/notificationTheme.css +0 -1
  215. package/src/components/NotificationComponent/notificationTheme.scss +0 -30
  216. package/src/components/ProgressBar/ProgressBar.js +0 -45
  217. package/src/components/ProgressBar/ProgressBar.stories.js +0 -14
  218. package/src/components/ProgressBar/index.js +0 -3
  219. package/src/components/ProgressBar/progressBar.css +0 -1
  220. package/src/components/ProgressBar/progressBarCore.css +0 -1
  221. package/src/components/ProgressBar/progressBarCore.scss +0 -14
  222. package/src/components/ProgressBar/progressBarTheme.css +0 -0
  223. package/src/components/ProgressBar/progressBarTheme.scss +0 -0
  224. package/src/components/Table/BaseTable.js +0 -306
  225. package/src/components/Table/PaginationComponent.js +0 -73
  226. package/src/components/Table/Table.js +0 -295
  227. package/src/components/Table/Table.stories.js +0 -198
  228. package/src/components/Table/index.js +0 -8
  229. package/src/components/Table/table.css +0 -1
  230. package/src/components/Table/tableCore.css +0 -1
  231. package/src/components/Table/tableCore.scss +0 -94
  232. package/src/components/Table/tableTheme.css +0 -1
  233. package/src/components/Table/tableTheme.scss +0 -34
  234. package/src/components/TabsComponent/TabsComponent.js +0 -99
  235. package/src/components/TabsComponent/TabsComponent.stories.js +0 -69
  236. package/src/components/TabsComponent/index.js +0 -3
  237. package/src/components/TabsComponent/tabs.css +0 -1
  238. package/src/components/TabsComponent/tabsCore.css +0 -1
  239. package/src/components/TabsComponent/tabsCore.scss +0 -59
  240. package/src/components/TabsComponent/tabsTheme.css +0 -0
  241. package/src/components/TabsComponent/tabsTheme.scss +0 -0
  242. package/src/components/Tooltip/Tooltip.js +0 -87
  243. package/src/components/Tooltip/Tooltip.stories.js +0 -16
  244. package/src/components/Tooltip/index.js +0 -3
  245. package/src/components/Tooltip/tooltipCore.css +0 -1
  246. package/src/components/Tooltip/tooltipCore.scss +0 -22
  247. package/src/components/Tooltip/tooltipTheme.css +0 -1
  248. package/src/components/Tooltip/tooltipTheme.scss +0 -21
  249. package/src/components/core.css +0 -1
  250. package/src/components/core.scss +0 -29
  251. package/src/components/index.js +0 -38
  252. package/src/components/theme.css +0 -1
  253. package/src/components/theme.scss +0 -11
  254. package/src/core/Validators.js +0 -34
  255. package/src/core/customHooks.js +0 -20
  256. package/src/core/dataLoader.js +0 -143
  257. package/src/core/dataLoader.stories.js +0 -123
  258. package/src/core/index.js +0 -3
  259. package/src/core/utils.js +0 -95
  260. package/src/index.js +0 -68
  261. package/vscode-templates/NewStoryTemplate.stories.js +0 -8
  262. /package/{lib/Readme.md → Readme.md} +0 -0
  263. /package/{lib/components → components}/Accordian/accordianCore.css +0 -0
  264. /package/{lib/components → components}/Accordian/accordianTheme.css +0 -0
  265. /package/{lib/components → components}/Button/buttonTheme.css +0 -0
  266. /package/{lib/components → components}/Form/formCore.css +0 -0
  267. /package/{lib/components → components}/Form/formTheme.css +0 -0
  268. /package/{lib/components → components}/InlineModal/inlineModalCore.css +0 -0
  269. /package/{lib/components → components}/InlineModal/inlineModalTheme.css +0 -0
  270. /package/{lib/components → components}/List/listCore.css +0 -0
  271. /package/{lib/components → components}/List/listTheme.css +0 -0
  272. /package/{lib/components → components}/Modal/modalCore.css +0 -0
  273. /package/{lib/components → components}/Modal/modalTheme.css +0 -0
  274. /package/{lib/components → components}/NotificationComponent/notificationTheme.css +0 -0
  275. /package/{lib/components → components}/ProgressBar/progressBarCore.css +0 -0
  276. /package/{lib/components → components}/ProgressBar/progressBarTheme.css +0 -0
  277. /package/{lib/components → components}/Table/tableCore.css +0 -0
  278. /package/{lib/components → components}/Table/tableTheme.css +0 -0
  279. /package/{lib/components → components}/TabsComponent/tabsCore.css +0 -0
  280. /package/{lib/components → components}/TabsComponent/tabsTheme.css +0 -0
  281. /package/{lib/components → components}/Tooltip/tooltipCore.css +0 -0
  282. /package/{lib/components → components}/Tooltip/tooltipTheme.css +0 -0
  283. /package/{lib/core → core}/Validators.js +0 -0
  284. /package/{lib/core → core}/customHooks.js +0 -0
  285. /package/{lib/core → core}/dataLoader.js +0 -0
  286. /package/{lib/core → core}/dataLoader.stories.js +0 -0
  287. /package/{lib/core → core}/index.js +0 -0
  288. /package/{lib/core → core}/utils.js +0 -0
  289. /package/{lib/index.js → index.js} +0 -0
@@ -1 +0,0 @@
1
- .RCB-btn{border-radius:3px;cursor:pointer}.RCB-btn-default:hover{background:#f3f3f3}.RCB-btn-primary{background:#1fa7fd;color:#FFF;border:0}.RCB-btn-primary:hover{background:#208dd2}.RCB-btn-secondary{background:#FFF;border:1px solid #95c7e7}.RCB-btn-secondary:hover{background:#eef8ff}.RCB-btn-small{padding:6px 8px}.RCB-btn-medium{padding:10px 15px}.RCB-btn-large{padding:15px 22px}
@@ -1,45 +0,0 @@
1
- .RCB {
2
- &-btn {
3
- border-radius: 3px;
4
- cursor: pointer;
5
- }
6
-
7
- &-btn {
8
- &-default {
9
- &:hover {
10
- background: #f3f3f3;
11
- }
12
- }
13
-
14
- &-primary {
15
- background: #1fa7fd;
16
- color: #FFF;
17
- border: 0;
18
-
19
- &:hover {
20
- background: #208dd2;
21
- }
22
- }
23
-
24
- &-secondary {
25
- background: #FFF;
26
- border: 1px solid #95c7e7;
27
-
28
- &:hover {
29
- background: #eef8ff;
30
- }
31
- }
32
-
33
- &-small {
34
- padding: 6px 8px;
35
- }
36
-
37
- &-medium {
38
- padding: 10px 15px;
39
- }
40
-
41
- &-large {
42
- padding: 15px 22px;
43
- }
44
- }
45
- }
@@ -1,5 +0,0 @@
1
- import Button, { ButtonAppearance, ButtonSize } from "./Button";
2
- import DropdownButton from "./DropdownButton";
3
-
4
- export default Button;
5
- export { ButtonAppearance, ButtonSize, DropdownButton };
@@ -1,86 +0,0 @@
1
- import React, { useState, useEffect, Fragment } from "react";
2
- import PropTypes from "prop-types";
3
- import Promise from "bluebird";
4
- import dequal from "dequal";
5
- import dataLoader from "../../core/dataLoader";
6
- import cloneDeep from "lodash.clonedeep";
7
- import utils from "../../core/utils";
8
-
9
- const DefaultLoader = () => {
10
- return (<div>Loading...</div>);
11
- };
12
-
13
- const loadData = (requests) => {
14
- let promisesArray = requests.map(reqObj => {
15
- return dataLoader.getRequestDef(reqObj);
16
- });
17
-
18
- return Promise.all(promisesArray);
19
- };
20
-
21
- const DataLoader = (props) => {
22
- const [ isLoading, setIsLoading ] = useState(true);
23
- const dataRef = React.useRef();
24
- const { children, Loader, requests, onDataLoaded, onDataFailed } = props;
25
-
26
- const renderLoader = () => {
27
- const LoaderComponent = Loader || utils.getDefaultConfig("DefaultLoader") || DefaultLoader;
28
- return <LoaderComponent />;
29
- };
30
-
31
- const renderChildren = () => {
32
- return children;
33
- };
34
-
35
- const fetchData = () => {
36
- setIsLoading(true);
37
- loadData(requests)
38
- .then(resultsArray => {
39
- onDataLoaded(resultsArray);
40
- })
41
- .catch(exception => {
42
- onDataFailed(exception);
43
- })
44
- .finally(() => {
45
- setIsLoading(false);
46
- });
47
- }
48
-
49
- useEffect(() => {
50
- /*
51
- As useEffect does not do a deep comparision on dependent props,
52
- do a manual deep comparision to decide whether to load data
53
- */
54
- if (!dequal(requests, dataRef.current)) {
55
- dataRef.current = cloneDeep(requests);
56
- fetchData();
57
- }
58
- });
59
-
60
- return (<Fragment>
61
- {isLoading ?
62
- renderLoader()
63
- : renderChildren()}
64
- </Fragment>);
65
- };
66
-
67
- DataLoader.propTypes = {
68
- /** Requests array */
69
- requests: PropTypes.array.isRequired,
70
- /** Callback function which is called when data is loaded */
71
- onDataLoaded: PropTypes.func,
72
- /** Callback function which is called when data fetching fails */
73
- onDataFailed: PropTypes.func,
74
- /** Custom loader component */
75
- Loader: PropTypes.oneOfType([
76
- PropTypes.instanceOf(Element),
77
- PropTypes.func
78
- ])
79
- };
80
-
81
- DataLoader.defaultProps = {
82
- onDataLoaded: () => {},
83
- onDataFailed: () => {}
84
- }
85
-
86
- export default DataLoader;
@@ -1,72 +0,0 @@
1
- import React, { Fragment } from "react";
2
- import DataLoader from "./DataLoader";
3
- import dataLoader from "../../core/dataLoader";
4
-
5
- export const SimpleUsage = () => {
6
- dataLoader.addRequestConfig("getTodos", {
7
- method: "GET",
8
- url: "https://jsonplaceholder.typicode.com/todos",
9
- });
10
-
11
- const onDataLoaded = ([todos]) => {
12
- console.log(todos);
13
- };
14
-
15
- const onDataFailed = e => {
16
- console.log("Error ", e);
17
- };
18
-
19
- const requests = [
20
- {
21
- requestId: "getTodos",
22
- },
23
- ];
24
-
25
- return (<Fragment>
26
- <p>Use the <code>DataLoader</code> component to make implicit API calls by wrapping the JSX content where you want the API data with this component.
27
- This would mostly be used for GET calls.</p>
28
- <DataLoader requests={requests} onDataLoaded={onDataLoaded} onDataFailed={onDataFailed}>
29
- <div>Received the data</div>
30
- </DataLoader>
31
- </Fragment>);
32
- };
33
-
34
- export const FunctionUrl = () => {
35
- dataLoader.addRequestConfig("getTodoById", {
36
- method: "GET",
37
- url: function(params) {
38
- return `https://jsonplaceholder.typicode.com/todos/${params.id}`;
39
- },
40
- });
41
-
42
- const onDataLoaded = ([todo]) => {
43
- console.log(todo);
44
- };
45
-
46
- const onDataFailed = e => {
47
- console.log("Error ", e);
48
- };
49
-
50
- const requests = [
51
- {
52
- requestId: "getTodoById",
53
- urlParams: {
54
- id: 1,
55
- },
56
- },
57
- ];
58
-
59
- return (
60
- <DataLoader requests={requests} onDataLoaded={onDataLoaded} onDataFailed={onDataFailed}>
61
- <div>Recieved todo data</div>
62
- </DataLoader>
63
- );
64
- };
65
-
66
- FunctionUrl.story = {
67
- name: "Function URL",
68
- };
69
-
70
- export default {
71
- title: "Data fetching|DataLoader (Component)"
72
- };
@@ -1,3 +0,0 @@
1
- import DataLoader from "./DataLoader";
2
-
3
- export default DataLoader;
@@ -1,73 +0,0 @@
1
- import React, { useContext, useEffect } from "react";
2
- import PropTypes from "prop-types";
3
- import { FormContext } from "./Form";
4
- import FormElementWrapper from "./FormElementWrapper";
5
-
6
- const Checkbox = (props) => {
7
- const { label, name, className, value, defaultValue, appearance, onChange, ...restProps } = props;
8
- const { onValueChange } = useContext(FormContext);
9
-
10
- const postFormValueChange = (value) => {
11
- typeof(onValueChange) === "function" && onValueChange(name, value);
12
- };
13
-
14
- const onInputChange = (event) => {
15
- const value = event.target.checked;
16
-
17
- if (typeof(onChange) === "function") {
18
- onChange(value);
19
- }
20
-
21
- postFormValueChange(value);
22
- }
23
-
24
- useEffect(() => {
25
- /* set the initial form element value in the form context */
26
- const postValue = typeof(onChange) === "function" ? value : defaultValue;
27
- postFormValueChange(postValue);
28
- }, [value, defaultValue]);
29
-
30
- let inputProps = {
31
- type: "checkbox",
32
- label,
33
- name,
34
- id: name,
35
- defaultChecked: defaultValue,
36
- className: "RCB-form-el",
37
- onChange: onInputChange,
38
- ...restProps
39
- };
40
-
41
- if (typeof(onChange) === "function") {
42
- /* make it a controlled component if onChange function is given */
43
- inputProps.checked = value;
44
- }
45
-
46
- return (<FormElementWrapper className={className} appearance={appearance}>
47
- <input {...inputProps} data-hj-allow />
48
- <label className="RCB-form-el-label" htmlFor={name}>{label}</label>
49
- </FormElementWrapper>);
50
- };
51
-
52
- Checkbox.propTypes = {
53
- /** Pass any additional classNames to Input component */
54
- className: PropTypes.string,
55
- /** Label for the input element */
56
- label: PropTypes.any,
57
- /** Unique ID for the input element */
58
- name: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
59
- /** Will be used only with onChange function, or else ignored */
60
- value: PropTypes.bool,
61
- defaultValue: PropTypes.bool,
62
- /** Define the appearance of the form element. Accepted values are either "inline" or "block" */
63
- appearance: PropTypes.oneOf(["inline", "block"]),
64
- /** Becomes a controlled component if onChange function is given */
65
- onChange: PropTypes.func
66
- };
67
-
68
- Checkbox.defaultProps = {
69
- className: "",
70
- appearance: "inline"
71
- };
72
-
73
- export default Checkbox;
@@ -1,67 +0,0 @@
1
- import React, { useState, useContext } from "react";
2
- import PropTypes from "prop-types";
3
- import { FormContext } from "./Form";
4
- import FormElementWrapper from "./FormElementWrapper";
5
-
6
- const DragDropFileUploader = (props) => {
7
- const { name, label, children, onChange, className, appearance } = props;
8
- const [ isDragOver, setIsDragOver ] = useState(false);
9
- const { onValueChange } = useContext(FormContext);
10
-
11
- const onDragEnter = () => {
12
- setIsDragOver(true);
13
- };
14
-
15
- const onDragLeave = () => {
16
- setIsDragOver(false);
17
- };
18
-
19
- const onDragOver = (event) => {
20
- event.preventDefault();
21
- };
22
-
23
- const onDrop = (event) => {
24
- event.preventDefault();
25
- let value = event.dataTransfer.files;
26
-
27
- if (typeof(onChange) === "function") {
28
- onChange(value);
29
- }
30
-
31
- typeof(onValueChange) === "function" && onValueChange(name, value);
32
-
33
- setIsDragOver(false);
34
- };
35
-
36
- return (<FormElementWrapper className={className} appearance={appearance}>
37
- <label className="RCB-form-el-label">{label}</label>
38
- <div onDragEnter={onDragEnter} onDragLeave={onDragLeave}
39
- onDragOver={onDragOver} onDrop={onDrop}
40
- className={`RCB-drag-drop-uploader ${isDragOver ? "RCB-drag-over" : ""}`}>
41
- {children}
42
- </div>
43
- </FormElementWrapper>);
44
- };
45
-
46
- DragDropFileUploader.propTypes = {
47
- /** Pass any additional classNames to Input component */
48
- className: PropTypes.string,
49
- /** Label for the input element */
50
- label: PropTypes.string,
51
- /** Unique ID for the input element */
52
- name: PropTypes.string.isRequired,
53
- /** mime type of the acceptable files */
54
- accept: PropTypes.string,
55
- /** Define the appearance of the form element. Accepted values are either "inline" or "block" */
56
- appearance: PropTypes.oneOf(["inline", "block"]),
57
- /** Becomes a controlled component if onChange function is given */
58
- onChange: PropTypes.func
59
- };
60
-
61
- DragDropFileUploader.defaultProps = {
62
- className: "",
63
- appearance: "inline",
64
- accept: "image/*"
65
- };
66
-
67
- export default DragDropFileUploader;