@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,15 +1,15 @@
1
1
  /** The empty className property on FormHelperText is on purpose! We want to basically "filter" out the className from helperProps because we're adding this to the surrounding div. This makes it so also the errormessage receives this styling. */
2
2
 
3
- import React, { ComponentPropsWithRef, ReactChild } from 'react';
4
- import classes from './FormGroup.module.scss';
5
- import { FormHelperText, Props as HelperProps } from '../FormHelperText/FormHelperText';
6
- import { Icon, Icons } from '../../Icon/Icon';
3
+ import React, { ComponentPropsWithRef, ReactChild } from "react";
4
+ import classes from "./FormGroup.module.scss";
5
+ import { FormHelperText, Props as HelperProps } from "../FormHelperText/FormHelperText";
6
+ import { Icon, Icons } from "../../Icon/Icon";
7
7
 
8
- export interface Props extends ComponentPropsWithRef<'div'> {
8
+ export interface Props extends ComponentPropsWithRef<"div"> {
9
9
  children: ReactChild[] | ReactChild;
10
10
  error?: boolean;
11
11
  errorMessageIcon?: Icons;
12
- errorMessageIconPosition?: 'before' | 'after';
12
+ errorMessageIconPosition?: "before" | "after";
13
13
  errorMessage?: string;
14
14
  errorId?: string;
15
15
  helperIndent?: number;
@@ -28,7 +28,7 @@ export const FormGroup = React.forwardRef<HTMLDivElement, Props>(
28
28
  errorMessage,
29
29
  errorId,
30
30
  errorMessageIcon,
31
- errorMessageIconPosition = 'before',
31
+ errorMessageIconPosition = "before",
32
32
  helperText,
33
33
  helperId,
34
34
  helperProps,
@@ -41,35 +41,35 @@ export const FormGroup = React.forwardRef<HTMLDivElement, Props>(
41
41
  <div
42
42
  {...rest}
43
43
  ref={ref}
44
- className={`${classes['form-group']} ${error ? classes.error : ''} ${className ?? ''}`}
44
+ className={`${classes["form-group"]} ${error ? classes.error : ""} ${className ?? ""}`}
45
45
  >
46
46
  {children}
47
47
 
48
48
  {(helperText || (errorMessage && error)) && (
49
49
  <div
50
50
  style={{ marginLeft: `${helperIndent}px` }}
51
- className={`${classes['default-helper']} ${
52
- helperProps?.className ? helperProps.className : ''
51
+ className={`${classes["default-helper"]} ${
52
+ helperProps?.className ? helperProps.className : ""
53
53
  }`}
54
54
  >
55
55
  {helperText && !error && (
56
- <FormHelperText {...helperProps} className={''} id={helperId}>
56
+ <FormHelperText {...helperProps} className={""} id={helperId}>
57
57
  {(helperProps && helperProps.children) || helperText}
58
58
  </FormHelperText>
59
59
  )}
60
60
  {error && errorMessage && (
61
- <span className={classes['error-message']}>
61
+ <span className={classes["error-message"]}>
62
62
  <span className={classes.message} id={errorId}>
63
- {errorMessageIcon && errorMessageIconPosition === 'before' && (
63
+ {errorMessageIcon && errorMessageIconPosition === "before" && (
64
64
  <Icon
65
- className={`${classes['error-icon']} ${classes['error-icon-before']}`}
65
+ className={`${classes["error-icon"]} ${classes["error-icon-before"]}`}
66
66
  icon={errorMessageIcon}
67
67
  />
68
68
  )}
69
69
  {errorMessage}
70
- {errorMessageIcon && errorMessageIconPosition === 'after' && (
70
+ {errorMessageIcon && errorMessageIconPosition === "after" && (
71
71
  <Icon
72
- className={`${classes['error-icon']} ${classes['error-icon-after']}`}
72
+ className={`${classes["error-icon"]} ${classes["error-icon-after"]}`}
73
73
  icon={errorMessageIcon}
74
74
  />
75
75
  )}
@@ -1,10 +1,10 @@
1
- import React, { useEffect, useRef } from 'react';
2
- import { FormHelperText, Props } from './FormHelperText';
3
- import { render } from '@testing-library/react';
1
+ import React, { useEffect, useRef } from "react";
2
+ import { FormHelperText, Props } from "./FormHelperText";
3
+ import { render } from "@testing-library/react";
4
4
 
5
5
  const defaultParams: Props = {
6
6
  error: false,
7
- children: 'This is a field description',
7
+ children: "This is a field description"
8
8
  };
9
9
 
10
10
  const createFormHelperText = (params?: (defaultParams: Props) => Props) => {
@@ -13,26 +13,26 @@ const createFormHelperText = (params?: (defaultParams: Props) => Props) => {
13
13
  parameters = params(defaultParams);
14
14
  }
15
15
  const queries = render(<FormHelperText {...parameters} data-testid="formhelpertext" />);
16
- const formhelpertext = queries.getByTestId('formhelpertext');
16
+ const formhelpertext = queries.getByTestId("formhelpertext");
17
17
 
18
18
  return {
19
19
  ...queries,
20
- formhelpertext,
20
+ formhelpertext
21
21
  };
22
22
  };
23
23
 
24
- describe('FormHelperText should render', () => {
25
- it('renders without crashing', () => {
24
+ describe("FormHelperText should render", () => {
25
+ it("renders without crashing", () => {
26
26
  const { formhelpertext } = createFormHelperText();
27
27
 
28
28
  expect(formhelpertext).toBeTruthy();
29
29
  });
30
30
  });
31
31
 
32
- describe('ref should work', () => {
33
- it('should give back the proper data prop, this also checks if the component propagates ...rest properly', () => {
32
+ describe("ref should work", () => {
33
+ it("should give back the proper data prop, this also checks if the component propagates ...rest properly", () => {
34
34
  const ExampleComponent = ({
35
- propagateRef,
35
+ propagateRef
36
36
  }: {
37
37
  propagateRef?: (ref: React.RefObject<HTMLElement>) => void;
38
38
  }) => {
@@ -48,21 +48,21 @@ describe('ref should work', () => {
48
48
  };
49
49
 
50
50
  const refCheck = (ref: React.RefObject<HTMLElement>) => {
51
- expect(ref.current).toHaveAttribute('data-ref', 'testing');
51
+ expect(ref.current).toHaveAttribute("data-ref", "testing");
52
52
  };
53
53
 
54
54
  render(<ExampleComponent propagateRef={refCheck} />);
55
55
  });
56
56
  });
57
57
 
58
- describe('Attributes', () => {
59
- it('contains the error class', () => {
60
- const { formhelpertext } = createFormHelperText((defaultParams) => ({
58
+ describe("Attributes", () => {
59
+ it("contains the error class", () => {
60
+ const { formhelpertext } = createFormHelperText(defaultParams => ({
61
61
  ...defaultParams,
62
- error: true,
62
+ error: true
63
63
  }));
64
64
 
65
- expect(formhelpertext).toHaveClass('error');
66
- expect(formhelpertext).toHaveStyle({ color: 'rgb(226, 42, 29);' });
65
+ expect(formhelpertext).toHaveClass("error");
66
+ expect(formhelpertext).toHaveStyle({ color: "rgb(226, 42, 29);" });
67
67
  });
68
68
  });
@@ -1,9 +1,9 @@
1
- import React, { ComponentPropsWithRef, ReactNode } from 'react';
2
- import classes from './FormHelperText.module.scss';
3
- import { Typography } from '../../Typography/Typography';
4
- import { FormElement } from '../form.interfaces';
1
+ import React, { ComponentPropsWithRef, ReactNode } from "react";
2
+ import classes from "./FormHelperText.module.scss";
3
+ import { Typography } from "../../Typography/Typography";
4
+ import { FormElement } from "../form.interfaces";
5
5
 
6
- export interface Props extends ComponentPropsWithRef<'div'>, FormElement {
6
+ export interface Props extends ComponentPropsWithRef<"div">, FormElement {
7
7
  children?: ReactNode;
8
8
  }
9
9
 
@@ -15,8 +15,8 @@ export const FormHelperText = React.forwardRef<HTMLDivElement, Props>(
15
15
  ref={ref}
16
16
  variant="sub-text"
17
17
  tag="div"
18
- className={`${classes['form-helper-text']} ${error ? classes.error : ''} ${
19
- className ?? ''
18
+ className={`${classes["form-helper-text"]} ${error ? classes.error : ""} ${
19
+ className ?? ""
20
20
  }`}
21
21
  >
22
22
  {children}
@@ -1,6 +1,6 @@
1
- import React, { useRef, useEffect } from 'react';
2
- import { FormSelectorWrapper, Props } from './FormSelectorWrapper';
3
- import { render } from '@testing-library/react';
1
+ import React, { useRef, useEffect } from "react";
2
+ import { FormSelectorWrapper, Props } from "./FormSelectorWrapper";
3
+ import { render } from "@testing-library/react";
4
4
 
5
5
  const defaultParams: Props = {};
6
6
 
@@ -14,26 +14,26 @@ const createFormSelectorWrapper = (params?: (defaultParams: Props) => Props) =>
14
14
  formSelectorWrapper content
15
15
  </FormSelectorWrapper>
16
16
  );
17
- const formSelectorWrapper = queries.getByTestId('formSelectorWrapper');
17
+ const formSelectorWrapper = queries.getByTestId("formSelectorWrapper");
18
18
 
19
19
  return {
20
20
  ...queries,
21
- formSelectorWrapper,
21
+ formSelectorWrapper
22
22
  };
23
23
  };
24
24
 
25
- describe('FormSelectorWrapper should render', () => {
26
- it('renders without crashing', () => {
25
+ describe("FormSelectorWrapper should render", () => {
26
+ it("renders without crashing", () => {
27
27
  const { formSelectorWrapper } = createFormSelectorWrapper();
28
28
 
29
29
  expect(formSelectorWrapper).toBeDefined();
30
30
  });
31
31
  });
32
32
 
33
- describe('ref should work', () => {
34
- it('should give back the proper data prop, this also checks if the component propagates ...rest properly', () => {
33
+ describe("ref should work", () => {
34
+ it("should give back the proper data prop, this also checks if the component propagates ...rest properly", () => {
35
35
  const ExampleComponent = ({
36
- propagateRef,
36
+ propagateRef
37
37
  }: {
38
38
  propagateRef?: (
39
39
  ref: React.RefObject<HTMLElement>,
@@ -54,9 +54,9 @@ describe('ref should work', () => {
54
54
  return (
55
55
  <FormSelectorWrapper
56
56
  {...defaultParams}
57
- containerProps={{ 'data-ref': 'testing', ref: containerRef }}
57
+ containerProps={{ "data-ref": "testing", ref: containerRef }}
58
58
  helperText="helpertext"
59
- helperProps={{ 'data-ref': 'testing', ref: helperRef }}
59
+ helperProps={{ "data-ref": "testing", ref: helperRef }}
60
60
  data-ref="testing"
61
61
  ref={ref}
62
62
  />
@@ -68,9 +68,9 @@ describe('ref should work', () => {
68
68
  ref2: React.RefObject<HTMLElement>,
69
69
  ref3: React.RefObject<HTMLElement>
70
70
  ) => {
71
- expect(ref.current).toHaveAttribute('data-ref', 'testing');
72
- expect(ref2.current).toHaveAttribute('data-ref', 'testing');
73
- expect(ref3.current).toHaveAttribute('data-ref', 'testing');
71
+ expect(ref.current).toHaveAttribute("data-ref", "testing");
72
+ expect(ref2.current).toHaveAttribute("data-ref", "testing");
73
+ expect(ref3.current).toHaveAttribute("data-ref", "testing");
74
74
  };
75
75
 
76
76
  render(<ExampleComponent propagateRef={refCheck} />);
@@ -1,14 +1,14 @@
1
- import React, { ComponentPropsWithRef, createRef, ReactNode } from 'react';
2
- import { Icon, Icons } from '../../Icon/Icon';
3
- import { KeyValuePair } from '../../interfaces';
4
- import { FormSelector } from '../form.interfaces';
5
- import { FormHelperText, Props as FormHelperTextProps } from '../FormHelperText/FormHelperText';
6
- import classes from './FormSelectorWrapper.module.scss';
1
+ import React, { ComponentPropsWithRef, createRef, ReactNode } from "react";
2
+ import { Icon, Icons } from "../../Icon/Icon";
3
+ import { KeyValuePair } from "../../interfaces";
4
+ import { FormSelector } from "../form.interfaces";
5
+ import { FormHelperText, Props as FormHelperTextProps } from "../FormHelperText/FormHelperText";
6
+ import classes from "./FormSelectorWrapper.module.scss";
7
7
 
8
- export interface Props extends ComponentPropsWithRef<'div'>, FormSelector {
8
+ export interface Props extends ComponentPropsWithRef<"div">, FormSelector {
9
9
  children?: ReactNode;
10
10
  nestedChildren?: ReactNode;
11
- containerProps?: ComponentPropsWithRef<'div'> & KeyValuePair;
11
+ containerProps?: ComponentPropsWithRef<"div"> & KeyValuePair;
12
12
  helperProps?: FormHelperTextProps;
13
13
  disabled?: boolean;
14
14
  errorId?: string;
@@ -40,8 +40,8 @@ export const FormSelectorWrapper = React.forwardRef<HTMLDivElement, Props>(
40
40
  <div
41
41
  {...rest}
42
42
  ref={ref}
43
- className={`${error ? classes['error'] : ''} ${disabled ? classes['disabled'] : ''} ${
44
- className ?? ''
43
+ className={`${error ? classes["error"] : ""} ${disabled ? classes["disabled"] : ""} ${
44
+ className ?? ""
45
45
  }`}
46
46
  >
47
47
  <div {...containerProps}>{children}</div>
@@ -51,16 +51,16 @@ export const FormSelectorWrapper = React.forwardRef<HTMLDivElement, Props>(
51
51
  {...helperProps}
52
52
  ref={helperRef}
53
53
  id={`${identifier}`}
54
- className={`${classes['helper-text']} ${helperProps?.className ?? ''} ${
55
- error ? classes['error'] : ''
54
+ className={`${classes["helper-text"]} ${helperProps?.className ?? ""} ${
55
+ error ? classes["error"] : ""
56
56
  }`}
57
57
  >
58
58
  {(helperProps && helperProps.children) || helperText}
59
59
  </FormHelperText>
60
60
  )}
61
61
  {errorMessage && !parentErrorId && error && (
62
- <span className={classes['error-message']}>
63
- <Icon className={classes['error-icon']} icon={Icons.Error} />
62
+ <span className={classes["error-message"]}>
63
+ <Icon className={classes["error-icon"]} icon={Icons.Error} />
64
64
  <span id={errorId}>{errorMessage}</span>
65
65
  </span>
66
66
  )}
@@ -1,70 +1,46 @@
1
+ @import "../../mixins.module.scss";
2
+
1
3
  .input-wrapper {
2
4
  position: relative;
3
5
  display: flex;
4
6
  align-items: center;
5
- height: calc(4rem - (2 * var(--input-border-width)));
6
- padding: 0 1.25rem;
7
-
8
- background-color: var(--input-background-color);
9
- border-color: var(--input-border-color);
10
- border-style: var(--input-border-style);
11
- border-width: var(--input-border-width);
7
+ height: 4rem;
8
+ border: 0;
12
9
  border-radius: var(--input-border-radius);
10
+ background-color: var(--input-background-color);
11
+ padding: 0 1.25rem;
13
12
  transition: all 0.2s ease-in-out;
14
13
 
15
- &:hover:not(:disabled):not(.error) {
16
- height: calc(4rem - (2 * var(--input-border-width)));
17
- padding: 0 1.25rem;
18
-
19
- border-color: var(--default);
20
- border-width: var(--input-border-width);
21
- }
22
-
23
- &.disabled,
24
- &.disabled input {
25
- background-color: var(--disabled);
26
- border-color: #fff;
27
- cursor: not-allowed;
28
- }
29
-
30
- &.error {
31
- border-color: var(--error);
32
- }
33
-
34
- &.focus {
35
- height: calc(4rem - (2 * var(--input-border-width-focus)));
36
- padding: 0 calc(1.25rem - var(--input-border-width));
37
- border-width: var(--input-border-width-focus);
38
- }
39
-
40
- &.focus:not(.error) {
41
- border-color: var(--color-primary);
42
- }
14
+ @include outlineStates;
43
15
  }
44
16
 
45
17
  .input {
46
- height: calc(4rem - (2 * var(--input-border-width)));
47
- border: 0;
18
+ padding: 0;
19
+ height: 4rem;
48
20
  color: var(--greyed-out);
49
21
  font-size: var(--font-size);
50
22
  font-family: var(--font-family);
51
23
  width: 100%;
52
24
  box-sizing: border-box;
53
- padding: 0;
25
+ border: 0;
26
+ border-radius: var(--input-border-radius);
54
27
 
55
- &:focus:not(:disabled) {
56
- height: calc(4rem - (2 * var(--input-border-width-focus)));
57
- outline: none;
58
- border-color: var(--color-primary);
28
+ &:disabled {
29
+ background-color: var(--disabled);
30
+ cursor: not-allowed;
59
31
  }
32
+
33
+ @include browserOutlineDisabled;
60
34
  }
61
35
 
36
+ @include outline;
37
+
62
38
  .error input {
63
39
  color: var(--error);
64
- padding-right: 3.75rem;
40
+ padding-right: 3.5rem;
65
41
 
66
42
  &.remove-extra-indent {
67
- padding-right: 1.25rem;
43
+ padding-right: 0rem;
68
44
  }
69
45
  }
70
46
 
@@ -1,11 +1,11 @@
1
- import React, { useEffect, useRef } from 'react';
2
- import { Input, Props } from './Input';
3
- import { render } from '@testing-library/react';
4
- import userEvent from '@testing-library/user-event';
1
+ import React, { useEffect, useRef } from "react";
2
+ import { Input, Props } from "./Input";
3
+ import { render } from "@testing-library/react";
4
+ import userEvent from "@testing-library/user-event";
5
5
 
6
6
  const defaultParams: Props = {
7
- name: 'input',
8
- type: 'text',
7
+ name: "input",
8
+ type: "text"
9
9
  };
10
10
 
11
11
  const createInput = (params?: (defaultParams: Props) => Props) => {
@@ -14,25 +14,25 @@ const createInput = (params?: (defaultParams: Props) => Props) => {
14
14
  parameters = params(defaultParams);
15
15
  }
16
16
  const queries = render(<Input {...parameters} data-testid="input" />);
17
- const input = queries.getByTestId('input');
17
+ const input = queries.getByTestId("input");
18
18
 
19
19
  return {
20
20
  ...queries,
21
- input,
21
+ input
22
22
  };
23
23
  };
24
24
 
25
- describe('Input should render', () => {
26
- it('renders without crashing and has a name and type', () => {
25
+ describe("Input should render", () => {
26
+ it("renders without crashing and has a name and type", () => {
27
27
  const { input } = createInput();
28
28
  expect(input).toBeTruthy();
29
29
  });
30
30
  });
31
31
 
32
- describe('ref should work', () => {
33
- it('should give back the proper data prop, this also checks if the component propagates ...rest properly', () => {
32
+ describe("ref should work", () => {
33
+ it("should give back the proper data prop, this also checks if the component propagates ...rest properly", () => {
34
34
  const ExampleComponent = ({
35
- propagateRef,
35
+ propagateRef
36
36
  }: {
37
37
  propagateRef?: (ref: React.RefObject<HTMLElement>) => void;
38
38
  }) => {
@@ -48,114 +48,141 @@ describe('ref should work', () => {
48
48
  };
49
49
 
50
50
  const refCheck = (ref: React.RefObject<HTMLElement>) => {
51
- expect(ref.current).toHaveAttribute('data-ref', 'testing');
51
+ expect(ref.current).toHaveAttribute("data-ref", "testing");
52
52
  };
53
53
 
54
54
  render(<ExampleComponent propagateRef={refCheck} />);
55
55
  });
56
56
  });
57
57
 
58
- describe('Should have the appropriate attributes', () => {
59
- it('is disabled and has a class', () => {
60
- const { input } = createInput((defaultParams) => ({
58
+ describe("Should have the appropriate attributes", () => {
59
+ it("is disabled and has a class", () => {
60
+ const { input } = createInput(defaultParams => ({
61
61
  ...defaultParams,
62
62
  disabled: true,
63
- className: 'classname',
63
+ className: "classname"
64
64
  }));
65
65
 
66
- expect(input).toHaveAttribute('disabled');
67
- expect(input).toHaveClass('classname');
66
+ expect(input).toHaveAttribute("disabled");
67
+ expect(input).toHaveClass("classname");
68
68
  });
69
69
  });
70
70
 
71
- describe('Should render all different types of inputs', () => {
72
- it('should render a text input', () => {
73
- const { input } = createInput((defaultParams) => ({ ...defaultParams, type: 'text' }));
71
+ describe("Should render all different types of inputs", () => {
72
+ it("should render a text input", () => {
73
+ const { input } = createInput(defaultParams => ({ ...defaultParams, type: "text" }));
74
74
 
75
- expect(input).toHaveAttribute('type', 'text');
75
+ expect(input).toHaveAttribute("type", "text");
76
76
  });
77
77
 
78
- it('should render a email input', () => {
79
- const { input } = createInput((defaultParams) => ({ ...defaultParams, type: 'email' }));
78
+ it("should render a email input", () => {
79
+ const { input } = createInput(defaultParams => ({ ...defaultParams, type: "email" }));
80
80
 
81
- expect(input).toHaveAttribute('type', 'email');
81
+ expect(input).toHaveAttribute("type", "email");
82
82
  });
83
83
 
84
- it('should render a tel input', () => {
85
- const { input } = createInput((defaultParams) => ({ ...defaultParams, type: 'tel' }));
84
+ it("should render a tel input", () => {
85
+ const { input } = createInput(defaultParams => ({ ...defaultParams, type: "tel" }));
86
86
 
87
- expect(input).toHaveAttribute('type', 'tel');
87
+ expect(input).toHaveAttribute("type", "tel");
88
88
  });
89
89
 
90
- it('should render a number input', () => {
91
- const { input } = createInput((defaultParams) => ({ ...defaultParams, type: 'number' }));
90
+ it("should render a number input", () => {
91
+ const { input } = createInput(defaultParams => ({ ...defaultParams, type: "number" }));
92
92
 
93
- expect(input).toHaveAttribute('type', 'number');
93
+ expect(input).toHaveAttribute("type", "number");
94
94
  });
95
95
 
96
- it('should render a password input', () => {
97
- const { input } = createInput((defaultParams) => ({ ...defaultParams, type: 'password' }));
96
+ it("should render a password input", () => {
97
+ const { input } = createInput(defaultParams => ({ ...defaultParams, type: "password" }));
98
98
 
99
- expect(input).toHaveAttribute('type', 'password');
99
+ expect(input).toHaveAttribute("type", "password");
100
100
  });
101
101
 
102
- it('should render a search input', () => {
103
- const { input } = createInput((defaultParams) => ({ ...defaultParams, type: 'search' }));
102
+ it("should render a search input", () => {
103
+ const { input } = createInput(defaultParams => ({ ...defaultParams, type: "search" }));
104
104
 
105
- expect(input).toHaveAttribute('type', 'search');
105
+ expect(input).toHaveAttribute("type", "search");
106
106
  });
107
107
 
108
- it('should render a time input', () => {
109
- const { input } = createInput((defaultParams) => ({ ...defaultParams, type: 'time' }));
108
+ it("should render a time input", () => {
109
+ const { input } = createInput(defaultParams => ({ ...defaultParams, type: "time" }));
110
110
 
111
- expect(input).toHaveAttribute('type', 'time');
111
+ expect(input).toHaveAttribute("type", "time");
112
112
  });
113
113
 
114
- it('should render a url input', () => {
115
- const { input } = createInput((defaultParams) => ({ ...defaultParams, type: 'url' }));
114
+ it("should render a url input", () => {
115
+ const { input } = createInput(defaultParams => ({ ...defaultParams, type: "url" }));
116
116
 
117
- expect(input).toHaveAttribute('type', 'url');
117
+ expect(input).toHaveAttribute("type", "url");
118
118
  });
119
119
 
120
- it('should render a datetime input', () => {
121
- const { input } = createInput((defaultParams) => ({
120
+ it("should render a datetime input", () => {
121
+ const { input } = createInput(defaultParams => ({
122
122
  ...defaultParams,
123
- type: 'datetime-local',
123
+ type: "datetime-local"
124
124
  }));
125
125
 
126
- expect(input).toHaveAttribute('type', 'datetime-local');
126
+ expect(input).toHaveAttribute("type", "datetime-local");
127
127
  });
128
128
 
129
- it('should be hidden', () => {
130
- const { input } = createInput((defaultParams) => ({ ...defaultParams, type: 'hidden' }));
129
+ it("should be hidden", () => {
130
+ const { input } = createInput(defaultParams => ({ ...defaultParams, type: "hidden" }));
131
131
 
132
- expect(input.parentElement).toHaveClass('hidden');
133
- expect(input).toHaveAttribute('type', 'hidden');
132
+ expect(input.parentElement).toHaveClass("hidden");
133
+ expect(input).toHaveAttribute("type", "hidden");
134
134
  });
135
135
  });
136
136
 
137
- describe('It should execute the listeners', () => {
138
- it('fires event handlers', () => {
137
+ describe("It should execute the listeners", () => {
138
+ it("fires event handlers", () => {
139
139
  const onChangeHandler = jest.fn();
140
140
  const onKeyUpHandler = jest.fn();
141
141
  const onKeyDownHandler = jest.fn();
142
142
 
143
- const { input } = createInput((defaultParams) => ({
143
+ const { input } = createInput(defaultParams => ({
144
144
  ...defaultParams,
145
- type: 'text',
145
+ type: "text",
146
146
  onKeyUp: onKeyUpHandler,
147
147
  onKeyDown: onKeyDownHandler,
148
- onChange: onChangeHandler,
148
+ onChange: onChangeHandler
149
149
  }));
150
150
 
151
151
  input.focus();
152
152
 
153
153
  expect(input).toHaveFocus();
154
154
 
155
- userEvent.keyboard('test');
155
+ userEvent.keyboard("test");
156
156
 
157
157
  expect(onKeyUpHandler).toHaveBeenCalled();
158
158
  expect(onKeyDownHandler).toHaveBeenCalled();
159
159
  expect(onChangeHandler).toHaveBeenCalled();
160
160
  });
161
161
  });
162
+
163
+ describe("It should render prefix and suffix ", () => {
164
+ it("renders prefix and suffix", () => {
165
+ const prefix = "http://";
166
+ const suffix = ".com";
167
+ const { getByText } = createInput(defaultParams => ({
168
+ ...defaultParams,
169
+ prefix,
170
+ suffix
171
+ }));
172
+
173
+ expect(getByText(prefix)).toBeDefined();
174
+ expect(getByText(suffix)).toBeDefined();
175
+ });
176
+
177
+ it("error icon should be visible with suffix", () => {
178
+ const suffix = ".com";
179
+ const { input, getByText } = createInput(defaultParams => ({
180
+ ...defaultParams,
181
+ error: true,
182
+ suffix
183
+ }));
184
+
185
+ expect(input.querySelector("icon-warning")).toBeDefined();
186
+ expect(getByText(suffix)).toBeDefined();
187
+ });
188
+ });