@onewelcome/react-lib-components 0.2.1 → 0.2.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 (282) hide show
  1. package/dist/Breadcrumbs/Breadcrumbs.d.ts +4 -4
  2. package/dist/Button/BaseButton.d.ts +4 -4
  3. package/dist/Button/Button.d.ts +3 -3
  4. package/dist/Button/IconButton.d.ts +4 -4
  5. package/dist/ContextMenu/ContextMenu.d.ts +5 -5
  6. package/dist/ContextMenu/ContextMenuItem.d.ts +2 -2
  7. package/dist/DataGrid/DataGrid.d.ts +6 -6
  8. package/dist/DataGrid/DataGridActions/DataGridActions.d.ts +4 -4
  9. package/dist/DataGrid/DataGridActions/DataGridColumnsToggle.d.ts +3 -3
  10. package/dist/DataGrid/DataGridBody/DataGridBody.d.ts +3 -3
  11. package/dist/DataGrid/DataGridBody/DataGridCell.d.ts +2 -2
  12. package/dist/DataGrid/DataGridBody/DataGridRow.d.ts +3 -3
  13. package/dist/DataGrid/DataGridHeader/DataGridHeader.d.ts +3 -3
  14. package/dist/DataGrid/DataGridHeader/DataGridHeaderCell.d.ts +3 -3
  15. package/dist/DataGrid/datagrid.interfaces.d.ts +1 -1
  16. package/dist/Form/Checkbox/Checkbox.d.ts +5 -5
  17. package/dist/Form/Fieldset/Fieldset.d.ts +3 -3
  18. package/dist/Form/Form.d.ts +1 -1
  19. package/dist/Form/FormControl/FormControl.d.ts +3 -3
  20. package/dist/Form/FormGroup/FormGroup.d.ts +5 -5
  21. package/dist/Form/FormHelperText/FormHelperText.d.ts +3 -3
  22. package/dist/Form/FormSelectorWrapper/FormSelectorWrapper.d.ts +6 -6
  23. package/dist/Form/Input/Input.d.ts +5 -5
  24. package/dist/Form/Label/Label.d.ts +2 -2
  25. package/dist/Form/Radio/Radio.d.ts +5 -5
  26. package/dist/Form/Select/Option.d.ts +2 -2
  27. package/dist/Form/Select/Select.d.ts +5 -5
  28. package/dist/Form/Textarea/Textarea.d.ts +6 -6
  29. package/dist/Form/Toggle/Toggle.d.ts +3 -3
  30. package/dist/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.d.ts +4 -4
  31. package/dist/Form/Wrapper/InputWrapper/InputWrapper.d.ts +4 -4
  32. package/dist/Form/Wrapper/RadioWrapper/RadioWrapper.d.ts +4 -4
  33. package/dist/Form/Wrapper/SelectWrapper/SelectWrapper.d.ts +4 -4
  34. package/dist/Form/Wrapper/TextareaWrapper/TextareaWrapper.d.ts +4 -4
  35. package/dist/Form/Wrapper/Wrapper/Wrapper.d.ts +6 -6
  36. package/dist/Form/form.interfaces.d.ts +1 -1
  37. package/dist/Icon/Icon.d.ts +3 -3
  38. package/dist/Link/Link.d.ts +7 -7
  39. package/dist/Notifications/BaseModal/BaseModal.d.ts +4 -4
  40. package/dist/Notifications/BaseModal/BaseModalActions/BaseModalActions.d.ts +2 -2
  41. package/dist/Notifications/BaseModal/BaseModalContent/BaseModalContent.d.ts +2 -2
  42. package/dist/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.d.ts +2 -2
  43. package/dist/Notifications/Dialog/Dialog.d.ts +5 -5
  44. package/dist/Notifications/Dialog/DialogActions/DialogActions.d.ts +3 -3
  45. package/dist/Notifications/Dialog/DialogTitle/DialogTitle.d.ts +2 -2
  46. package/dist/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.d.ts +3 -3
  47. package/dist/Notifications/DiscardChangesModal/DiscardChangesModal.d.ts +7 -7
  48. package/dist/Notifications/Modal/Modal.d.ts +1 -1
  49. package/dist/Notifications/Modal/ModalActions/ModalActions.d.ts +1 -1
  50. package/dist/Notifications/Modal/ModalContent/ModalContent.d.ts +1 -1
  51. package/dist/Notifications/Modal/ModalHeader/ModalHeader.d.ts +1 -1
  52. package/dist/Notifications/SlideInModal/SlideInModal.d.ts +3 -3
  53. package/dist/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.d.ts +3 -3
  54. package/dist/Notifications/Snackbar/SnackbarItem/SnackbarItem.d.ts +2 -2
  55. package/dist/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +3 -3
  56. package/dist/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.d.ts +2 -2
  57. package/dist/Notifications/Snackbar/interfaces.d.ts +2 -2
  58. package/dist/Pagination/Pagination.d.ts +3 -3
  59. package/dist/Popover/Popover.d.ts +3 -3
  60. package/dist/Skeleton/Skeleton.d.ts +3 -3
  61. package/dist/StatusIndicator/StatusIndicator.d.ts +5 -5
  62. package/dist/Tabs/Tab.d.ts +1 -1
  63. package/dist/Tabs/TabButton.d.ts +2 -2
  64. package/dist/Tabs/TabPanel.d.ts +2 -2
  65. package/dist/Tabs/Tabs.d.ts +4 -4
  66. package/dist/TextEllipsis/TextEllipsis.d.ts +2 -2
  67. package/dist/Tiles/Tile.d.ts +5 -5
  68. package/dist/Tiles/Tiles.d.ts +2 -2
  69. package/dist/Tooltip/Tooltip.d.ts +3 -3
  70. package/dist/Typography/Typography.d.ts +3 -3
  71. package/dist/Wizard/BaseWizardSteps/BaseWizardSteps.d.ts +2 -2
  72. package/dist/Wizard/Wizard.d.ts +3 -3
  73. package/dist/Wizard/WizardActions/WizardActions.d.ts +2 -2
  74. package/dist/Wizard/WizardStateProvider.d.ts +2 -2
  75. package/dist/Wizard/WizardSteps/WizardSteps.d.ts +2 -2
  76. package/dist/Wizard/wizardStateReducer.d.ts +5 -5
  77. package/dist/_BaseStyling_/BaseStyling.d.ts +1 -1
  78. package/dist/hooks/usePosition.d.ts +4 -4
  79. package/dist/hooks/useRepeater.d.ts +1 -1
  80. package/dist/hooks/useScroll.d.ts +1 -1
  81. package/dist/hooks/useSpacing.d.ts +1 -1
  82. package/dist/hooks/useWrapper.d.ts +1 -1
  83. package/dist/index.d.ts +55 -55
  84. package/dist/react-lib-components.cjs.development.js +672 -576
  85. package/dist/react-lib-components.cjs.development.js.map +1 -1
  86. package/dist/react-lib-components.cjs.production.min.js +1 -1
  87. package/dist/react-lib-components.cjs.production.min.js.map +1 -1
  88. package/dist/react-lib-components.esm.js +672 -576
  89. package/dist/react-lib-components.esm.js.map +1 -1
  90. package/package.json +27 -16
  91. package/src/Breadcrumbs/Breadcrumbs.test.tsx +15 -15
  92. package/src/Breadcrumbs/Breadcrumbs.tsx +11 -11
  93. package/src/Button/BaseButton.module.scss +1 -1
  94. package/src/Button/BaseButton.test.tsx +27 -27
  95. package/src/Button/BaseButton.tsx +8 -8
  96. package/src/Button/Button.module.scss +5 -5
  97. package/src/Button/Button.test.tsx +39 -39
  98. package/src/Button/Button.tsx +10 -10
  99. package/src/Button/IconButton.module.scss +5 -5
  100. package/src/Button/IconButton.test.tsx +29 -29
  101. package/src/Button/IconButton.tsx +11 -11
  102. package/src/ContextMenu/ContextMenu.test.tsx +81 -76
  103. package/src/ContextMenu/ContextMenu.tsx +43 -41
  104. package/src/ContextMenu/ContextMenuItem.module.scss +1 -1
  105. package/src/ContextMenu/ContextMenuItem.tsx +5 -5
  106. package/src/DataGrid/DataGrid.test.tsx +193 -193
  107. package/src/DataGrid/DataGrid.tsx +26 -26
  108. package/src/DataGrid/DataGridActions/DataGridActions.test.tsx +63 -63
  109. package/src/DataGrid/DataGridActions/DataGridActions.tsx +15 -15
  110. package/src/DataGrid/DataGridActions/DataGridColumnsToggle.module.scss +1 -1
  111. package/src/DataGrid/DataGridActions/DataGridColumnsToggle.test.tsx +21 -21
  112. package/src/DataGrid/DataGridActions/DataGridColumnsToggle.tsx +20 -20
  113. package/src/DataGrid/DataGridBody/DataGridBody.test.tsx +40 -40
  114. package/src/DataGrid/DataGridBody/DataGridBody.tsx +10 -10
  115. package/src/DataGrid/DataGridBody/DataGridCell.module.scss +1 -1
  116. package/src/DataGrid/DataGridBody/DataGridCell.test.tsx +25 -25
  117. package/src/DataGrid/DataGridBody/DataGridCell.tsx +6 -6
  118. package/src/DataGrid/DataGridBody/DataGridRow.test.tsx +38 -38
  119. package/src/DataGrid/DataGridBody/DataGridRow.tsx +8 -8
  120. package/src/DataGrid/DataGridHeader/DataGridHeader.module.scss +1 -2
  121. package/src/DataGrid/DataGridHeader/DataGridHeader.test.tsx +119 -119
  122. package/src/DataGrid/DataGridHeader/DataGridHeader.tsx +13 -13
  123. package/src/DataGrid/DataGridHeader/DataGridHeaderCell.module.scss +2 -0
  124. package/src/DataGrid/DataGridHeader/DataGridHeaderCell.test.tsx +51 -51
  125. package/src/DataGrid/DataGridHeader/DataGridHeaderCell.tsx +14 -14
  126. package/src/DataGrid/datagrid.interfaces.ts +1 -1
  127. package/src/Form/Checkbox/Checkbox.test.tsx +74 -74
  128. package/src/Form/Checkbox/Checkbox.tsx +27 -27
  129. package/src/Form/Fieldset/Fieldset.module.scss +1 -1
  130. package/src/Form/Fieldset/Fieldset.test.tsx +35 -35
  131. package/src/Form/Fieldset/Fieldset.tsx +27 -27
  132. package/src/Form/Form.test.tsx +18 -18
  133. package/src/Form/Form.tsx +3 -3
  134. package/src/Form/FormControl/FormControl.test.tsx +22 -22
  135. package/src/Form/FormControl/FormControl.tsx +10 -10
  136. package/src/Form/FormGroup/FormGroup.test.tsx +37 -37
  137. package/src/Form/FormGroup/FormGroup.tsx +16 -16
  138. package/src/Form/FormHelperText/FormHelperText.test.tsx +18 -18
  139. package/src/Form/FormHelperText/FormHelperText.tsx +7 -7
  140. package/src/Form/FormSelectorWrapper/FormSelectorWrapper.test.tsx +15 -15
  141. package/src/Form/FormSelectorWrapper/FormSelectorWrapper.tsx +14 -14
  142. package/src/Form/Input/Input.module.scss +20 -44
  143. package/src/Form/Input/Input.test.tsx +86 -59
  144. package/src/Form/Input/Input.tsx +96 -35
  145. package/src/Form/Label/Label.test.tsx +13 -13
  146. package/src/Form/Label/Label.tsx +6 -6
  147. package/src/Form/Radio/Radio.test.tsx +35 -35
  148. package/src/Form/Radio/Radio.tsx +17 -17
  149. package/src/Form/Select/Option.test.tsx +10 -10
  150. package/src/Form/Select/Option.tsx +8 -8
  151. package/src/Form/Select/Select.module.scss +7 -9
  152. package/src/Form/Select/Select.test.tsx +144 -141
  153. package/src/Form/Select/Select.tsx +79 -78
  154. package/src/Form/Textarea/Textarea.module.scss +8 -18
  155. package/src/Form/Textarea/Textarea.test.tsx +27 -27
  156. package/src/Form/Textarea/Textarea.tsx +33 -13
  157. package/src/Form/Toggle/Toggle.module.scss +1 -1
  158. package/src/Form/Toggle/Toggle.test.tsx +22 -22
  159. package/src/Form/Toggle/Toggle.tsx +10 -10
  160. package/src/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.test.tsx +39 -39
  161. package/src/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.tsx +12 -12
  162. package/src/Form/Wrapper/InputWrapper/InputWrapper.module.scss +2 -8
  163. package/src/Form/Wrapper/InputWrapper/InputWrapper.test.tsx +55 -55
  164. package/src/Form/Wrapper/InputWrapper/InputWrapper.tsx +30 -35
  165. package/src/Form/Wrapper/RadioWrapper/RadioWrapper.test.tsx +35 -35
  166. package/src/Form/Wrapper/RadioWrapper/RadioWrapper.tsx +12 -12
  167. package/src/Form/Wrapper/SelectWrapper/SelectWrapper.test.tsx +55 -55
  168. package/src/Form/Wrapper/SelectWrapper/SelectWrapper.tsx +12 -12
  169. package/src/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss +2 -11
  170. package/src/Form/Wrapper/TextareaWrapper/TextareaWrapper.test.tsx +50 -50
  171. package/src/Form/Wrapper/TextareaWrapper/TextareaWrapper.tsx +22 -22
  172. package/src/Form/Wrapper/Wrapper/Wrapper.module.scss +2 -2
  173. package/src/Form/Wrapper/Wrapper/Wrapper.test.tsx +11 -11
  174. package/src/Form/Wrapper/Wrapper/Wrapper.tsx +17 -17
  175. package/src/Form/form.interfaces.ts +1 -1
  176. package/src/Icon/Icon.module.scss +71 -71
  177. package/src/Icon/Icon.test.tsx +18 -18
  178. package/src/Icon/Icon.tsx +70 -70
  179. package/src/Link/Link.module.scss +5 -5
  180. package/src/Link/Link.test.tsx +76 -76
  181. package/src/Link/Link.tsx +27 -27
  182. package/src/Link/types.d.ts +1 -1
  183. package/src/Notifications/BaseModal/BaseModal.module.scss +1 -1
  184. package/src/Notifications/BaseModal/BaseModal.test.tsx +53 -53
  185. package/src/Notifications/BaseModal/BaseModal.tsx +16 -16
  186. package/src/Notifications/BaseModal/BaseModalActions/BaseModalActions.test.tsx +13 -13
  187. package/src/Notifications/BaseModal/BaseModalActions/BaseModalActions.tsx +5 -5
  188. package/src/Notifications/BaseModal/BaseModalContent/BaseModalContent.test.tsx +16 -16
  189. package/src/Notifications/BaseModal/BaseModalContent/BaseModalContent.tsx +5 -5
  190. package/src/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.test.tsx +19 -19
  191. package/src/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.tsx +10 -10
  192. package/src/Notifications/Dialog/Dialog.test.tsx +35 -35
  193. package/src/Notifications/Dialog/Dialog.tsx +19 -19
  194. package/src/Notifications/Dialog/DialogActions/DialogActions.test.tsx +14 -14
  195. package/src/Notifications/Dialog/DialogActions/DialogActions.tsx +6 -6
  196. package/src/Notifications/Dialog/DialogTitle/DialogTitle.test.tsx +12 -12
  197. package/src/Notifications/Dialog/DialogTitle/DialogTitle.tsx +6 -6
  198. package/src/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.test.tsx +20 -20
  199. package/src/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.tsx +7 -7
  200. package/src/Notifications/DiscardChangesModal/DiscardChangesModal.test.tsx +36 -36
  201. package/src/Notifications/DiscardChangesModal/DiscardChangesModal.tsx +8 -8
  202. package/src/Notifications/Modal/Modal.test.tsx +6 -6
  203. package/src/Notifications/Modal/Modal.tsx +1 -1
  204. package/src/Notifications/Modal/ModalActions/ModalActions.tsx +2 -2
  205. package/src/Notifications/Modal/ModalContent/ModalContent.tsx +2 -2
  206. package/src/Notifications/Modal/ModalHeader/ModalHeader.tsx +2 -2
  207. package/src/Notifications/SlideInModal/SlideInModal.test.tsx +16 -16
  208. package/src/Notifications/SlideInModal/SlideInModal.tsx +16 -11
  209. package/src/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.test.tsx +16 -16
  210. package/src/Notifications/Snackbar/SnackbarContainer/SnackbarContainer.tsx +6 -6
  211. package/src/Notifications/Snackbar/SnackbarItem/SnackbarItem.module.scss +2 -2
  212. package/src/Notifications/Snackbar/SnackbarItem/SnackbarItem.test.tsx +17 -17
  213. package/src/Notifications/Snackbar/SnackbarItem/SnackbarItem.tsx +23 -23
  214. package/src/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.test.tsx +32 -32
  215. package/src/Notifications/Snackbar/SnackbarProvider/SnackbarProvider.tsx +18 -18
  216. package/src/Notifications/Snackbar/SnackbarProvider/SnackbarStateProvider.tsx +3 -3
  217. package/src/Notifications/Snackbar/interfaces.ts +2 -2
  218. package/src/Notifications/Snackbar/useSnackbar.ts +2 -2
  219. package/src/Pagination/Pagination.module.scss +2 -0
  220. package/src/Pagination/Pagination.test.tsx +47 -47
  221. package/src/Pagination/Pagination.tsx +35 -35
  222. package/src/Popover/Popover.test.tsx +19 -19
  223. package/src/Popover/Popover.tsx +7 -7
  224. package/src/Skeleton/Skeleton.module.scss +2 -2
  225. package/src/Skeleton/Skeleton.test.tsx +29 -29
  226. package/src/Skeleton/Skeleton.tsx +10 -10
  227. package/src/StatusIndicator/StatusIndicator.test.tsx +38 -38
  228. package/src/StatusIndicator/StatusIndicator.tsx +9 -9
  229. package/src/Tabs/Tab.test.tsx +13 -13
  230. package/src/Tabs/Tab.tsx +1 -1
  231. package/src/Tabs/TabButton.test.tsx +28 -28
  232. package/src/Tabs/TabButton.tsx +7 -7
  233. package/src/Tabs/TabPanel.test.tsx +30 -30
  234. package/src/Tabs/TabPanel.tsx +4 -4
  235. package/src/Tabs/Tabs.test.tsx +93 -93
  236. package/src/Tabs/Tabs.tsx +25 -25
  237. package/src/TextEllipsis/TextEllipsis.test.tsx +22 -22
  238. package/src/TextEllipsis/TextEllipsis.tsx +6 -6
  239. package/src/Tiles/Tile.module.scss +1 -1
  240. package/src/Tiles/Tile.test.tsx +42 -42
  241. package/src/Tiles/Tile.tsx +22 -22
  242. package/src/Tiles/Tiles.test.tsx +30 -30
  243. package/src/Tiles/Tiles.tsx +9 -9
  244. package/src/Tooltip/Tooltip.test.tsx +35 -35
  245. package/src/Tooltip/Tooltip.tsx +21 -21
  246. package/src/Typography/Typography.module.scss +1 -1
  247. package/src/Typography/Typography.test.tsx +49 -49
  248. package/src/Typography/Typography.tsx +42 -42
  249. package/src/Wizard/BaseWizardSteps/BaseWizardSteps.module.scss +1 -1
  250. package/src/Wizard/BaseWizardSteps/BaseWizardSteps.test.tsx +26 -26
  251. package/src/Wizard/BaseWizardSteps/BaseWizardSteps.tsx +24 -24
  252. package/src/Wizard/Wizard.test.tsx +56 -56
  253. package/src/Wizard/Wizard.tsx +6 -6
  254. package/src/Wizard/WizardActions/WizardActions.test.tsx +34 -34
  255. package/src/Wizard/WizardActions/WizardActions.tsx +14 -14
  256. package/src/Wizard/WizardStateProvider.tsx +3 -3
  257. package/src/Wizard/WizardSteps/WizardSteps.test.tsx +27 -27
  258. package/src/Wizard/WizardSteps/WizardSteps.tsx +7 -7
  259. package/src/Wizard/wizardStateReducer.ts +9 -9
  260. package/src/_BaseStyling_/BaseStyling.test.tsx +14 -14
  261. package/src/_BaseStyling_/BaseStyling.tsx +50 -50
  262. package/src/hooks/useAnimation.test.tsx +12 -12
  263. package/src/hooks/useAnimation.ts +4 -4
  264. package/src/hooks/useBodyClick.test.tsx +8 -8
  265. package/src/hooks/useBodyClick.ts +3 -3
  266. package/src/hooks/useFormSelector.test.ts +17 -17
  267. package/src/hooks/useFormSelector.ts +4 -4
  268. package/src/hooks/usePosition.test.tsx +215 -215
  269. package/src/hooks/usePosition.ts +68 -68
  270. package/src/hooks/useRepeater.test.tsx +26 -26
  271. package/src/hooks/useRepeater.ts +5 -5
  272. package/src/hooks/useScroll.test.tsx +5 -5
  273. package/src/hooks/useScroll.ts +3 -3
  274. package/src/hooks/useSpacing.test.ts +40 -40
  275. package/src/hooks/useSpacing.ts +3 -3
  276. package/src/hooks/useWrapper.test.ts +12 -12
  277. package/src/hooks/useWrapper.ts +10 -10
  278. package/src/index.ts +67 -67
  279. package/src/mixins.module.scss +76 -27
  280. package/src/types.d.ts +1 -1
  281. package/src/util/helper.test.tsx +25 -25
  282. package/src/util/helper.tsx +64 -64
@@ -1,4 +1,4 @@
1
- import React, { useState } from 'react';
1
+ import React, { useState } from "react";
2
2
 
3
3
  export interface ConfigObject {
4
4
  relativeElement: RefElement;
@@ -8,10 +8,10 @@ export interface ConfigObject {
8
8
  offset?: Offset;
9
9
  }
10
10
 
11
- export type HorizontalPlacment = 'left' | 'center' | 'centerh' | 'right';
12
- export type VerticalPlacement = 'top' | 'center' | 'centerv' | 'bottom';
11
+ export type HorizontalPlacment = "left" | "center" | "centerh" | "right";
12
+ export type VerticalPlacement = "top" | "center" | "centerv" | "bottom";
13
13
 
14
- type Axis = 'vertical' | 'horizontal';
14
+ type Axis = "vertical" | "horizontal";
15
15
  type RefElement = React.RefObject<HTMLOrSVGElement> | undefined;
16
16
 
17
17
  interface DomRectObject {
@@ -52,25 +52,25 @@ interface Dimensions {
52
52
  width: number;
53
53
  }
54
54
 
55
- type PositionType = number | 'initial';
55
+ type PositionType = number | "initial";
56
56
 
57
57
  const defaultConfigObject: ConfigObject = {
58
58
  relativeElement: undefined,
59
59
  elementToBePositioned: undefined,
60
60
  transformOrigin: {
61
- horizontal: 'left',
62
- vertical: 'top',
61
+ horizontal: "left",
62
+ vertical: "top"
63
63
  },
64
64
  placement: {
65
- horizontal: 'left',
66
- vertical: 'top',
65
+ horizontal: "left",
66
+ vertical: "top"
67
67
  },
68
68
  offset: {
69
69
  top: 0,
70
70
  right: 0,
71
71
  bottom: 0,
72
- left: 0,
73
- },
72
+ left: 0
73
+ }
74
74
  };
75
75
 
76
76
  export const usePosition = (providedConfigObject: ConfigObject = defaultConfigObject) => {
@@ -91,8 +91,8 @@ export const usePosition = (providedConfigObject: ConfigObject = defaultConfigOb
91
91
  const [position, setPosition] = useState<Position>({
92
92
  left: 0,
93
93
  top: 0,
94
- right: 'initial',
95
- bottom: 'initial',
94
+ right: "initial",
95
+ bottom: "initial"
96
96
  });
97
97
 
98
98
  const _fixPossibleViewportOverflow = (
@@ -104,43 +104,43 @@ export const usePosition = (providedConfigObject: ConfigObject = defaultConfigOb
104
104
  let returnValue = value;
105
105
 
106
106
  if (
107
- (transformOrigin[requestedReturnValue] === 'left' && returnValue < 0) ||
108
- (transformOrigin[requestedReturnValue] === 'top' && returnValue < 0) ||
109
- (transformOrigin[requestedReturnValue] === 'center' && returnValue < 0) ||
110
- (transformOrigin[requestedReturnValue] === 'bottom' && returnValue < 0)
107
+ (transformOrigin[requestedReturnValue] === "left" && returnValue < 0) ||
108
+ (transformOrigin[requestedReturnValue] === "top" && returnValue < 0) ||
109
+ (transformOrigin[requestedReturnValue] === "center" && returnValue < 0) ||
110
+ (transformOrigin[requestedReturnValue] === "bottom" && returnValue < 0)
111
111
  ) {
112
112
  returnValue = 0;
113
113
  }
114
114
 
115
115
  if (
116
- (transformOrigin[requestedReturnValue] === 'left' &&
116
+ (transformOrigin[requestedReturnValue] === "left" &&
117
117
  returnValue > window.innerWidth - elDimensions.width) ||
118
- (transformOrigin[requestedReturnValue] === 'center' &&
119
- requestedReturnValue === 'horizontal' &&
118
+ (transformOrigin[requestedReturnValue] === "center" &&
119
+ requestedReturnValue === "horizontal" &&
120
120
  returnValue > window.innerWidth - elDimensions.width)
121
121
  ) {
122
122
  returnValue = window.innerWidth - elDimensions.width;
123
123
  }
124
124
 
125
125
  if (
126
- (transformOrigin[requestedReturnValue] === 'top' &&
126
+ (transformOrigin[requestedReturnValue] === "top" &&
127
127
  returnValue > window.innerHeight - elDimensions.height) ||
128
- (transformOrigin[requestedReturnValue] === 'center' &&
129
- requestedReturnValue === 'vertical' &&
128
+ (transformOrigin[requestedReturnValue] === "center" &&
129
+ requestedReturnValue === "vertical" &&
130
130
  returnValue > window.innerHeight - elDimensions.height)
131
131
  ) {
132
132
  returnValue = window.innerHeight - elDimensions.height;
133
133
  }
134
134
 
135
135
  if (
136
- transformOrigin[requestedReturnValue] === 'right' &&
136
+ transformOrigin[requestedReturnValue] === "right" &&
137
137
  returnValue > window.innerWidth - elDimensions.width
138
138
  ) {
139
139
  returnValue = window.innerWidth - elDimensions.width;
140
140
  }
141
141
 
142
142
  if (
143
- transformOrigin[requestedReturnValue] === 'bottom' &&
143
+ transformOrigin[requestedReturnValue] === "bottom" &&
144
144
  returnValue > window.innerHeight - elDimensions.height
145
145
  ) {
146
146
  returnValue = window.innerHeight - elDimensions.height;
@@ -156,36 +156,36 @@ export const usePosition = (providedConfigObject: ConfigObject = defaultConfigOb
156
156
  ) => {
157
157
  let returnValue = value;
158
158
  if (
159
- (requestedReturnValue === 'horizontal' && configObject.offset?.left !== 0) ||
160
- (requestedReturnValue === 'horizontal' && configObject.offset?.right !== 0)
159
+ (requestedReturnValue === "horizontal" && configObject.offset?.left !== 0) ||
160
+ (requestedReturnValue === "horizontal" && configObject.offset?.right !== 0)
161
161
  ) {
162
162
  if (
163
- transformOrigin[requestedReturnValue] === 'left' ||
164
- transformOrigin[requestedReturnValue] === 'center'
163
+ transformOrigin[requestedReturnValue] === "left" ||
164
+ transformOrigin[requestedReturnValue] === "center"
165
165
  ) {
166
166
  returnValue += configObject.offset?.left!;
167
167
  returnValue -= configObject.offset?.right!;
168
168
  }
169
169
 
170
- if (transformOrigin[requestedReturnValue] === 'right') {
170
+ if (transformOrigin[requestedReturnValue] === "right") {
171
171
  returnValue -= configObject.offset?.left!;
172
172
  returnValue += configObject.offset?.right!;
173
173
  }
174
174
  }
175
175
 
176
176
  if (
177
- (requestedReturnValue === 'vertical' && configObject.offset?.top !== 0) ||
178
- (requestedReturnValue === 'vertical' && configObject.offset?.bottom !== 0)
177
+ (requestedReturnValue === "vertical" && configObject.offset?.top !== 0) ||
178
+ (requestedReturnValue === "vertical" && configObject.offset?.bottom !== 0)
179
179
  ) {
180
180
  if (
181
- transformOrigin[requestedReturnValue] === 'top' ||
182
- transformOrigin[requestedReturnValue] === 'center'
181
+ transformOrigin[requestedReturnValue] === "top" ||
182
+ transformOrigin[requestedReturnValue] === "center"
183
183
  ) {
184
184
  returnValue += configObject.offset?.top!;
185
185
  returnValue -= configObject.offset?.bottom!;
186
186
  }
187
187
 
188
- if (transformOrigin[requestedReturnValue] === 'bottom') {
188
+ if (transformOrigin[requestedReturnValue] === "bottom") {
189
189
  returnValue -= configObject.offset?.top!;
190
190
  returnValue += configObject.offset?.bottom!;
191
191
  }
@@ -204,20 +204,20 @@ export const usePosition = (providedConfigObject: ConfigObject = defaultConfigOb
204
204
  let value = 0;
205
205
 
206
206
  if (
207
- transformOrigin[requestedReturnValue] === 'left' ||
208
- transformOrigin[requestedReturnValue] === 'top'
207
+ transformOrigin[requestedReturnValue] === "left" ||
208
+ transformOrigin[requestedReturnValue] === "top"
209
209
  ) {
210
210
  value = relEl[placementOriginDefinition];
211
- } else if (transformOrigin[requestedReturnValue] === 'center') {
211
+ } else if (transformOrigin[requestedReturnValue] === "center") {
212
212
  value =
213
213
  relEl[placementOriginDefinition] -
214
- elDimensions[requestedReturnValue === 'horizontal' ? 'width' : 'height'] / 2;
214
+ elDimensions[requestedReturnValue === "horizontal" ? "width" : "height"] / 2;
215
215
  } else if (
216
- transformOrigin[requestedReturnValue] === 'right' ||
217
- transformOrigin[requestedReturnValue] === 'bottom'
216
+ transformOrigin[requestedReturnValue] === "right" ||
217
+ transformOrigin[requestedReturnValue] === "bottom"
218
218
  ) {
219
219
  value =
220
- window[requestedReturnValue === 'horizontal' ? 'innerWidth' : 'innerHeight'] -
220
+ window[requestedReturnValue === "horizontal" ? "innerWidth" : "innerHeight"] -
221
221
  relEl[placementOriginDefinition];
222
222
  }
223
223
 
@@ -230,10 +230,10 @@ export const usePosition = (providedConfigObject: ConfigObject = defaultConfigOb
230
230
  * @returns either the horizontally centered placement definition (centerh) or the vertically centered one (centerv)
231
231
  */
232
232
  const _determineCenteredPlacementOrigin = (requestedReturnValue: Axis) => {
233
- if (requestedReturnValue === 'horizontal') {
234
- return 'centerh';
235
- } else if (requestedReturnValue === 'vertical') {
236
- return 'centerv';
233
+ if (requestedReturnValue === "horizontal") {
234
+ return "centerh";
235
+ } else if (requestedReturnValue === "vertical") {
236
+ return "centerv";
237
237
  }
238
238
  throw new Error(
239
239
  `the requested return value isn\'t "vertical" or "horizontal" ${requestedReturnValue} was given.`
@@ -248,7 +248,7 @@ export const usePosition = (providedConfigObject: ConfigObject = defaultConfigOb
248
248
  elDimensions: Dimensions
249
249
  ): number => {
250
250
  const placementOriginDefinition =
251
- placement === 'center' ? _determineCenteredPlacementOrigin(requestedReturnValue) : placement;
251
+ placement === "center" ? _determineCenteredPlacementOrigin(requestedReturnValue) : placement;
252
252
 
253
253
  const value = _calculateInitialPlacementValue(
254
254
  transformOrigin,
@@ -283,29 +283,29 @@ export const usePosition = (providedConfigObject: ConfigObject = defaultConfigOb
283
283
  elDimensions
284
284
  );
285
285
 
286
- let direction = 'left';
287
- let oppositeDirection = 'right';
286
+ let direction = "left";
287
+ let oppositeDirection = "right";
288
288
 
289
- if (axis === 'horizontal' && configObject.transformOrigin?.horizontal === 'right') {
290
- direction = 'right';
291
- oppositeDirection = 'left';
292
- } else if (axis === 'horizontal') {
293
- direction = 'left';
294
- oppositeDirection = 'right';
289
+ if (axis === "horizontal" && configObject.transformOrigin?.horizontal === "right") {
290
+ direction = "right";
291
+ oppositeDirection = "left";
292
+ } else if (axis === "horizontal") {
293
+ direction = "left";
294
+ oppositeDirection = "right";
295
295
  }
296
296
 
297
- if (axis === 'vertical' && configObject.transformOrigin?.vertical === 'bottom') {
298
- direction = 'bottom';
299
- oppositeDirection = 'top';
300
- } else if (axis === 'vertical') {
301
- direction = 'top';
302
- oppositeDirection = 'bottom';
297
+ if (axis === "vertical" && configObject.transformOrigin?.vertical === "bottom") {
298
+ direction = "bottom";
299
+ oppositeDirection = "top";
300
+ } else if (axis === "vertical") {
301
+ direction = "top";
302
+ oppositeDirection = "bottom";
303
303
  }
304
304
 
305
- setPosition((prevState) => ({
305
+ setPosition(prevState => ({
306
306
  ...prevState,
307
307
  [direction]: placementValue,
308
- [oppositeDirection]: 'initial',
308
+ [oppositeDirection]: "initial"
309
309
  }));
310
310
  };
311
311
 
@@ -315,7 +315,7 @@ export const usePosition = (providedConfigObject: ConfigObject = defaultConfigOb
315
315
  .current as HTMLElement)!.getBoundingClientRect();
316
316
  const elementToBePositionedDimensions: Dimensions = {
317
317
  height: (configObject.elementToBePositioned!.current as HTMLElement).offsetHeight,
318
- width: (configObject.elementToBePositioned!.current as HTMLElement).offsetWidth,
318
+ width: (configObject.elementToBePositioned!.current as HTMLElement).offsetWidth
319
319
  };
320
320
 
321
321
  /** We want to add a center (horizontal and vertical) property to the DOMRect object. Since it's a special object we can't modify so we clone it and add it. */
@@ -330,11 +330,11 @@ export const usePosition = (providedConfigObject: ConfigObject = defaultConfigOb
330
330
  width: relativeElRect.width,
331
331
  height: relativeElRect.height,
332
332
  x: relativeElRect.x,
333
- y: relativeElRect.y,
333
+ y: relativeElRect.y
334
334
  };
335
335
 
336
- _calculatePlacement(clonedRelEl, elementToBePositionedDimensions, 'horizontal');
337
- _calculatePlacement(clonedRelEl, elementToBePositionedDimensions, 'vertical');
336
+ _calculatePlacement(clonedRelEl, elementToBePositionedDimensions, "horizontal");
337
+ _calculatePlacement(clonedRelEl, elementToBePositionedDimensions, "vertical");
338
338
  };
339
339
 
340
340
  return {
@@ -342,6 +342,6 @@ export const usePosition = (providedConfigObject: ConfigObject = defaultConfigOb
342
342
  bottom: position.bottom,
343
343
  left: position.left,
344
344
  right: position.right,
345
- calculatePosition,
345
+ calculatePosition
346
346
  };
347
347
  };
@@ -1,9 +1,9 @@
1
- import React, { Fragment, useEffect, useState } from 'react';
2
- import { useRepeater } from './useRepeater';
3
- import { render } from '@testing-library/react';
4
- import { InputWrapper } from '../Form/Wrapper/InputWrapper/InputWrapper';
5
- import { generateID } from '../util/helper';
6
- import userEvent from '@testing-library/user-event';
1
+ import React, { Fragment, useEffect, useState } from "react";
2
+ import { useRepeater } from "./useRepeater";
3
+ import { render } from "@testing-library/react";
4
+ import { InputWrapper } from "../Form/Wrapper/InputWrapper/InputWrapper";
5
+ import { generateID } from "../util/helper";
6
+ import userEvent from "@testing-library/user-event";
7
7
 
8
8
  export interface RepeatedComponentProps {
9
9
  onChange?: (state: { [key: string]: unknown }) => void;
@@ -12,10 +12,10 @@ export interface RepeatedComponentProps {
12
12
 
13
13
  const ComponentToRepeat = ({ onChange, identifier }: RepeatedComponentProps) => {
14
14
  const [inputState, setInputState] = useState({
15
- errorMessage: 'random error',
15
+ errorMessage: "random error",
16
16
  error: false,
17
- value: '',
18
- identifier: identifier,
17
+ value: "",
18
+ identifier: identifier
19
19
  });
20
20
 
21
21
  useEffect(() => {
@@ -31,27 +31,27 @@ const ComponentToRepeat = ({ onChange, identifier }: RepeatedComponentProps) =>
31
31
  error={inputState.error}
32
32
  value={inputState.value}
33
33
  label="Label for this inputfield"
34
- onChange={(event) => {
35
- setInputState((prevState) => ({ ...prevState, value: event.target.value }));
34
+ onChange={event => {
35
+ setInputState(prevState => ({ ...prevState, value: event.target.value }));
36
36
  }}
37
37
  />
38
38
  );
39
39
  };
40
40
 
41
- describe('useRepeater should render', () => {
42
- it('renders without crashing and repeats 1 item', () => {
41
+ describe("useRepeater should render", () => {
42
+ it("renders without crashing and repeats 1 item", () => {
43
43
  const onChangeHandler = jest.fn();
44
44
 
45
45
  const App = () => {
46
46
  const { repeatedComponents } = useRepeater({
47
- componentToRepeat: <ComponentToRepeat onChange={onChangeHandler} />,
47
+ componentToRepeat: <ComponentToRepeat onChange={onChangeHandler} />
48
48
  });
49
49
 
50
50
  return (
51
51
  <div>
52
52
  {repeatedComponents.map((component, index) =>
53
53
  React.cloneElement(component, {
54
- identifier: `component_${index}`,
54
+ identifier: `component_${index}`
55
55
  })
56
56
  )}
57
57
  </div>
@@ -60,17 +60,17 @@ describe('useRepeater should render', () => {
60
60
 
61
61
  const renderedItems = render(<App />);
62
62
 
63
- const inputWrappers = renderedItems.container.querySelectorAll('.wrapper.input-wrapper');
63
+ const inputWrappers = renderedItems.container.querySelectorAll(".wrapper.input-wrapper");
64
64
 
65
65
  expect(inputWrappers.length).toBe(1);
66
66
  });
67
67
 
68
- it('should repeat 2 items', () => {
68
+ it("should repeat 2 items", () => {
69
69
  const onChangeHandler = jest.fn();
70
70
 
71
71
  const App = () => {
72
72
  const { repeatedComponents, repeat } = useRepeater({
73
- componentToRepeat: <ComponentToRepeat onChange={onChangeHandler} />,
73
+ componentToRepeat: <ComponentToRepeat onChange={onChangeHandler} />
74
74
  });
75
75
 
76
76
  useEffect(() => {
@@ -81,7 +81,7 @@ describe('useRepeater should render', () => {
81
81
  <div>
82
82
  {repeatedComponents.map((component, index) =>
83
83
  React.cloneElement(component, {
84
- identifier: `component_${index}`,
84
+ identifier: `component_${index}`
85
85
  })
86
86
  )}
87
87
  </div>
@@ -90,17 +90,17 @@ describe('useRepeater should render', () => {
90
90
 
91
91
  const renderedItems = render(<App />);
92
92
 
93
- const inputWrappers = renderedItems.container.querySelectorAll('.wrapper.input-wrapper');
93
+ const inputWrappers = renderedItems.container.querySelectorAll(".wrapper.input-wrapper");
94
94
 
95
95
  expect(inputWrappers.length).toBe(2);
96
96
  });
97
97
 
98
- it('should repeat 3 items and remove the first index', () => {
98
+ it("should repeat 3 items and remove the first index", () => {
99
99
  const onChangeHandler = jest.fn();
100
100
 
101
101
  const App = () => {
102
102
  const { repeatedComponents, repeat, remove } = useRepeater({
103
- componentToRepeat: <ComponentToRepeat onChange={onChangeHandler} />,
103
+ componentToRepeat: <ComponentToRepeat onChange={onChangeHandler} />
104
104
  });
105
105
 
106
106
  useEffect(() => {
@@ -113,7 +113,7 @@ describe('useRepeater should render', () => {
113
113
  {repeatedComponents.map((component, index) => (
114
114
  <Fragment key={index}>
115
115
  {React.cloneElement(component, {
116
- identifier: generateID(),
116
+ identifier: generateID()
117
117
  })}
118
118
  <button id={`remove_input_${index}`} onClick={() => remove(component)}>
119
119
  Remove
@@ -126,14 +126,14 @@ describe('useRepeater should render', () => {
126
126
 
127
127
  const renderedItems = render(<App />);
128
128
 
129
- const secondInputID = renderedItems.container.querySelectorAll('.input-wrapper input')[1].id;
129
+ const secondInputID = renderedItems.container.querySelectorAll(".input-wrapper input")[1].id;
130
130
 
131
- const removeButton = renderedItems.container.querySelector('#remove_input_1');
131
+ const removeButton = renderedItems.container.querySelector("#remove_input_1");
132
132
 
133
133
  userEvent.click(removeButton!);
134
134
 
135
135
  expect(renderedItems.container.querySelector(`#${secondInputID}`)).toBeFalsy();
136
- const inputWrappers = renderedItems.container.querySelectorAll('.wrapper.input-wrapper');
136
+ const inputWrappers = renderedItems.container.querySelectorAll(".wrapper.input-wrapper");
137
137
  expect(inputWrappers.length).toBe(2);
138
138
  });
139
139
  });
@@ -1,5 +1,5 @@
1
- import React, { useEffect, useState } from 'react';
2
- import { generateID } from '../util/helper';
1
+ import React, { useEffect, useState } from "react";
2
+ import { generateID } from "../util/helper";
3
3
 
4
4
  interface Arguments {
5
5
  componentToRepeat: React.ReactElement;
@@ -15,12 +15,12 @@ export const useRepeater = <T>({ componentToRepeat }: Arguments) => {
15
15
  const repeat = () => {
16
16
  const clonedComponent = React.cloneElement(componentToRepeat, { key: generateID(20) });
17
17
 
18
- setRepeatedComponents((prevState) => [...prevState, clonedComponent]);
18
+ setRepeatedComponents(prevState => [...prevState, clonedComponent]);
19
19
  };
20
20
 
21
21
  const remove = (componentToRemove: React.ReactElement<T>) => {
22
22
  const newRepeatedComponents = repeatedComponents.filter(
23
- (component) => component !== componentToRemove
23
+ component => component !== componentToRemove
24
24
  );
25
25
 
26
26
  setRepeatedComponents(newRepeatedComponents);
@@ -29,6 +29,6 @@ export const useRepeater = <T>({ componentToRepeat }: Arguments) => {
29
29
  return {
30
30
  repeatedComponents,
31
31
  repeat,
32
- remove,
32
+ remove
33
33
  };
34
34
  };
@@ -1,9 +1,9 @@
1
- import React from 'react';
2
- import { fireEvent, render } from '@testing-library/react';
3
- import { useScroll } from './useScroll';
1
+ import React from "react";
2
+ import { fireEvent, render } from "@testing-library/react";
3
+ import { useScroll } from "./useScroll";
4
4
 
5
- describe('function should be executed', () => {
6
- it('should execute', () => {
5
+ describe("function should be executed", () => {
6
+ it("should execute", () => {
7
7
  const scrollHandler = jest.fn();
8
8
 
9
9
  const Component = () => {
@@ -1,4 +1,4 @@
1
- import React, { useLayoutEffect } from 'react';
1
+ import React, { useLayoutEffect } from "react";
2
2
 
3
3
  export const useScroll = (
4
4
  callbackFunction: (event: Event) => unknown,
@@ -7,10 +7,10 @@ export const useScroll = (
7
7
  const scrollListener = (event: Event) => callbackFunction(event);
8
8
 
9
9
  useLayoutEffect(() => {
10
- window.addEventListener('scroll', scrollListener);
10
+ window.addEventListener("scroll", scrollListener);
11
11
 
12
12
  return () => {
13
- window.removeEventListener('scroll', scrollListener);
13
+ window.removeEventListener("scroll", scrollListener);
14
14
  };
15
15
  }, [...dependingStateVariable]);
16
16
  };
@@ -1,70 +1,70 @@
1
- import { useSpacing } from './useSpacing';
1
+ import { useSpacing } from "./useSpacing";
2
2
 
3
- describe('useSpacing should set propert padding and margin css properties', () => {
4
- it('should set padding and margin for 4 values definition', () => {
5
- const styles = useSpacing({ padding: '0 0.5 1 2', margin: '0 0.5 1 2' });
6
- expect(styles).toHaveProperty('padding', '0rem 0.125rem 0.25rem 0.5rem');
7
- expect(styles).toHaveProperty('margin', '0rem 0.125rem 0.25rem 0.5rem');
3
+ describe("useSpacing should set propert padding and margin css properties", () => {
4
+ it("should set padding and margin for 4 values definition", () => {
5
+ const styles = useSpacing({ padding: "0 0.5 1 2", margin: "0 0.5 1 2" });
6
+ expect(styles).toHaveProperty("padding", "0rem 0.125rem 0.25rem 0.5rem");
7
+ expect(styles).toHaveProperty("margin", "0rem 0.125rem 0.25rem 0.5rem");
8
8
  });
9
9
 
10
- it('should set padding and margin for 3 values definition', () => {
11
- const styles = useSpacing({ padding: '3 4 5', margin: '3 4 5' });
12
- expect(styles).toHaveProperty('padding', '0.75rem 1rem 1.25rem');
13
- expect(styles).toHaveProperty('margin', '0.75rem 1rem 1.25rem');
10
+ it("should set padding and margin for 3 values definition", () => {
11
+ const styles = useSpacing({ padding: "3 4 5", margin: "3 4 5" });
12
+ expect(styles).toHaveProperty("padding", "0.75rem 1rem 1.25rem");
13
+ expect(styles).toHaveProperty("margin", "0.75rem 1rem 1.25rem");
14
14
  });
15
15
 
16
- it('should set padding and margin for 2 values definition', () => {
17
- const styles = useSpacing({ padding: '6 7', margin: '6 7' });
18
- expect(styles).toHaveProperty('padding', '1.5rem 1.75rem');
19
- expect(styles).toHaveProperty('margin', '1.5rem 1.75rem');
16
+ it("should set padding and margin for 2 values definition", () => {
17
+ const styles = useSpacing({ padding: "6 7", margin: "6 7" });
18
+ expect(styles).toHaveProperty("padding", "1.5rem 1.75rem");
19
+ expect(styles).toHaveProperty("margin", "1.5rem 1.75rem");
20
20
  });
21
21
 
22
- it('should set padding and margin for 1 value definition', () => {
23
- const styles = useSpacing({ padding: 8, margin: '8' });
24
- expect(styles).toHaveProperty('padding', '2rem');
25
- expect(styles).toHaveProperty('margin', '2rem');
22
+ it("should set padding and margin for 1 value definition", () => {
23
+ const styles = useSpacing({ padding: 8, margin: "8" });
24
+ expect(styles).toHaveProperty("padding", "2rem");
25
+ expect(styles).toHaveProperty("margin", "2rem");
26
26
  });
27
27
 
28
- it('should set paddingLeft, paddingRight, paddingTop, paddingBottom, marginLeft, marginRight, marginTop, marginBottom css values when all provided', async () => {
28
+ it("should set paddingLeft, paddingRight, paddingTop, paddingBottom, marginLeft, marginRight, marginTop, marginBottom css values when all provided", async () => {
29
29
  const styles = useSpacing({
30
- paddingLeft: '1',
30
+ paddingLeft: "1",
31
31
  paddingRight: 1,
32
- paddingTop: '2',
32
+ paddingTop: "2",
33
33
  paddingBottom: 0.5,
34
34
  marginLeft: 3,
35
35
  marginRight: 4,
36
36
  marginTop: 5,
37
- marginBottom: 6,
37
+ marginBottom: 6
38
38
  });
39
- expect(styles).toHaveProperty('paddingLeft', '0.25rem');
40
- expect(styles).toHaveProperty('paddingRight', '0.25rem');
41
- expect(styles).toHaveProperty('paddingTop', '0.5rem');
42
- expect(styles).toHaveProperty('paddingBottom', '0.125rem');
43
- expect(styles).toHaveProperty('marginLeft', '0.75rem');
44
- expect(styles).toHaveProperty('marginRight', '1rem');
45
- expect(styles).toHaveProperty('marginTop', '1.25rem');
46
- expect(styles).toHaveProperty('marginBottom', '1.5rem');
39
+ expect(styles).toHaveProperty("paddingLeft", "0.25rem");
40
+ expect(styles).toHaveProperty("paddingRight", "0.25rem");
41
+ expect(styles).toHaveProperty("paddingTop", "0.5rem");
42
+ expect(styles).toHaveProperty("paddingBottom", "0.125rem");
43
+ expect(styles).toHaveProperty("marginLeft", "0.75rem");
44
+ expect(styles).toHaveProperty("marginRight", "1rem");
45
+ expect(styles).toHaveProperty("marginTop", "1.25rem");
46
+ expect(styles).toHaveProperty("marginBottom", "1.5rem");
47
47
  expect(styles?.padding).toBeUndefined();
48
48
  expect(styles?.margin).toBeUndefined();
49
49
  });
50
50
  });
51
51
 
52
- describe('useSpacing should add/repalce properties in passed style object', () => {
53
- it('should add properties to style object', () => {
54
- const styles = useSpacing({ padding: 8, margin: '8' }, { backgroundColor: 'red' });
55
- expect(styles).toStrictEqual({ padding: '2rem', margin: '2rem', backgroundColor: 'red' });
52
+ describe("useSpacing should add/repalce properties in passed style object", () => {
53
+ it("should add properties to style object", () => {
54
+ const styles = useSpacing({ padding: 8, margin: "8" }, { backgroundColor: "red" });
55
+ expect(styles).toStrictEqual({ padding: "2rem", margin: "2rem", backgroundColor: "red" });
56
56
  });
57
57
 
58
- it('should add and replace properties to style object', () => {
58
+ it("should add and replace properties to style object", () => {
59
59
  const styles = useSpacing(
60
- { padding: 8, margin: '8' },
61
- { padding: '2px', paddingTop: 2, backgroundColor: 'red' }
60
+ { padding: 8, margin: "8" },
61
+ { padding: "2px", paddingTop: 2, backgroundColor: "red" }
62
62
  );
63
63
  expect(styles).toStrictEqual({
64
- padding: '2rem',
65
- margin: '2rem',
64
+ padding: "2rem",
65
+ margin: "2rem",
66
66
  paddingTop: 2,
67
- backgroundColor: 'red',
67
+ backgroundColor: "red"
68
68
  });
69
69
  });
70
70
  });
@@ -1,4 +1,4 @@
1
- import { CSSProperties } from 'react';
1
+ import { CSSProperties } from "react";
2
2
 
3
3
  export type SpacingMultiplier = 0 | 0.5 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
4
4
  type SpacingMultiplierStringOrNumber = `${SpacingMultiplier}` | SpacingMultiplier;
@@ -22,7 +22,7 @@ export interface Spacing {
22
22
  }
23
23
 
24
24
  const defaultFactor = 0.25;
25
- const defaultUnit = 'rem';
25
+ const defaultUnit = "rem";
26
26
  const spacingNumberRegex = /(\d+\.?\d*)+/g;
27
27
 
28
28
  export const useSpacing = (
@@ -34,7 +34,7 @@ export const useSpacing = (
34
34
  const matches = String(multiplier).matchAll(spacingNumberRegex);
35
35
  const cssSpacingValue = Array.from(matches)
36
36
  .map(([multiplierValue]) => `${Number(multiplierValue) * defaultFactor}${defaultUnit}`)
37
- .join(' ');
37
+ .join(" ");
38
38
  return { ...prev, [spacing]: cssSpacingValue };
39
39
  }, style ?? {});
40
40
  }