@tenancy.nz/ui 1.0.0 → 1.0.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 (294) hide show
  1. package/README.md +0 -69
  2. package/dist/cjs/components/Alert.cjs +48 -0
  3. package/dist/cjs/components/Alert.styled.cjs +41 -0
  4. package/dist/cjs/components/Autocomplete.cjs +176 -0
  5. package/dist/cjs/components/Autocomplete.styled.cjs +15 -0
  6. package/dist/cjs/components/Avatar.cjs +52 -0
  7. package/dist/cjs/components/Avatar.styled.cjs +24 -0
  8. package/dist/cjs/components/AvatarCropDialog.cjs +200 -0
  9. package/dist/cjs/components/AvatarCropDialog.styled.cjs +21 -0
  10. package/dist/cjs/components/AvatarInput.cjs +215 -0
  11. package/dist/cjs/components/AvatarInput.styled.cjs +151 -0
  12. package/dist/cjs/components/Badge.cjs +83 -0
  13. package/dist/cjs/components/Badge.styled.cjs +23 -0
  14. package/dist/cjs/components/BankAccountInput.cjs +296 -0
  15. package/dist/cjs/components/BankAccountInput.styled.cjs +163 -0
  16. package/dist/cjs/components/Bar.cjs +44 -0
  17. package/dist/cjs/components/Bar.styled.cjs +22 -0
  18. package/dist/cjs/components/BaseModal.cjs +41 -0
  19. package/dist/cjs/components/BaseModal.styled.cjs +20 -0
  20. package/dist/cjs/components/BooleanInput.cjs +173 -0
  21. package/dist/cjs/components/BooleanInput.styled.cjs +65 -0
  22. package/dist/cjs/components/BorderedGrid.cjs +46 -0
  23. package/dist/cjs/components/Box.cjs +97 -0
  24. package/dist/cjs/components/Button.cjs +48 -0
  25. package/dist/cjs/components/Button.styled.cjs +106 -0
  26. package/dist/cjs/components/Card.cjs +61 -0
  27. package/dist/cjs/components/Card.styled.cjs +15 -0
  28. package/dist/cjs/components/CardContent.cjs +21 -0
  29. package/dist/cjs/components/CardContent.styled.cjs +10 -0
  30. package/dist/cjs/components/Checkbox.cjs +49 -0
  31. package/dist/cjs/components/Checkbox.styled.cjs +25 -0
  32. package/dist/cjs/components/CircularProgress.cjs +14 -0
  33. package/dist/cjs/components/CollapsedText.cjs +88 -0
  34. package/dist/cjs/components/CollapsedText.styled.cjs +52 -0
  35. package/dist/cjs/components/Confirmation.cjs +60 -0
  36. package/dist/cjs/components/Container.cjs +21 -0
  37. package/dist/cjs/components/CroppedImageInput.cjs +465 -0
  38. package/dist/cjs/components/CroppedImageInput.styled.cjs +91 -0
  39. package/dist/cjs/components/CroppedImageInputActions.cjs +78 -0
  40. package/dist/cjs/components/DateInput.cjs +218 -0
  41. package/dist/cjs/components/DateInput.styled.cjs +26 -0
  42. package/dist/cjs/components/DateNumberInput.cjs +175 -0
  43. package/dist/cjs/components/DateNumberInput.styled.cjs +58 -0
  44. package/dist/cjs/components/DatePicker.cjs +134 -0
  45. package/dist/cjs/components/DatePicker.styled.cjs +17 -0
  46. package/dist/cjs/components/DateSelect.cjs +212 -0
  47. package/dist/cjs/components/DateSelect.styled.cjs +15 -0
  48. package/dist/cjs/components/Divider.cjs +67 -0
  49. package/dist/cjs/components/Divider.styled.cjs +62 -0
  50. package/dist/cjs/components/DropZone.cjs +153 -0
  51. package/dist/cjs/components/DropZone.styled.cjs +76 -0
  52. package/dist/cjs/components/Embed.cjs +41 -0
  53. package/dist/cjs/components/Embed.styled.cjs +38 -0
  54. package/dist/cjs/components/FileUpload.cjs +319 -0
  55. package/dist/cjs/components/FileUpload.styled.cjs +47 -0
  56. package/dist/cjs/components/FileUploadButton.cjs +117 -0
  57. package/dist/cjs/components/FileUploadButtonLoader.cjs +27 -0
  58. package/dist/cjs/components/FileViewer.cjs +117 -0
  59. package/dist/cjs/components/FileViewer.styled.cjs +29 -0
  60. package/dist/cjs/components/FlashMessage.cjs +69 -0
  61. package/dist/cjs/components/FormControl.cjs +102 -0
  62. package/dist/cjs/components/FormControl.styled.cjs +22 -0
  63. package/dist/cjs/components/FormFocus.cjs +37 -0
  64. package/dist/cjs/components/FormLabel.cjs +24 -0
  65. package/dist/cjs/components/FormLabel.styled.cjs +55 -0
  66. package/dist/cjs/components/Grid.cjs +52 -0
  67. package/dist/cjs/components/Grid.styled.cjs +12 -0
  68. package/dist/cjs/components/Heading.cjs +41 -0
  69. package/dist/cjs/components/IconButton.cjs +31 -0
  70. package/dist/cjs/components/IconButton.styled.cjs +31 -0
  71. package/dist/cjs/components/Icons.cjs +62 -0
  72. package/dist/cjs/components/LinearProgress.cjs +14 -0
  73. package/dist/cjs/components/Link.cjs +37 -0
  74. package/dist/cjs/components/Link.styled.cjs +39 -0
  75. package/dist/cjs/components/Media.cjs +44 -0
  76. package/dist/cjs/components/Media.styled.cjs +46 -0
  77. package/dist/cjs/components/Modal.cjs +56 -0
  78. package/dist/cjs/components/ModalActions.cjs +23 -0
  79. package/dist/cjs/components/ModalContent.cjs +32 -0
  80. package/dist/cjs/components/ModalHeader.cjs +24 -0
  81. package/dist/cjs/components/ModalHeader.styled.cjs +29 -0
  82. package/dist/cjs/components/Nameplate.cjs +110 -0
  83. package/dist/cjs/components/Nameplate.styled.cjs +49 -0
  84. package/dist/cjs/components/Pagination.cjs +147 -0
  85. package/dist/cjs/components/Pagination.styled.cjs +83 -0
  86. package/dist/cjs/components/Paper.cjs +34 -0
  87. package/dist/cjs/components/Paper.styled.cjs +63 -0
  88. package/dist/cjs/components/Popper.cjs +64 -0
  89. package/dist/cjs/components/PropertyCard.cjs +222 -0
  90. package/dist/cjs/components/PropertyCard.styled.cjs +67 -0
  91. package/dist/cjs/components/Radio.cjs +49 -0
  92. package/dist/cjs/components/Radio.styled.cjs +25 -0
  93. package/dist/cjs/components/Rating.cjs +14 -0
  94. package/dist/cjs/components/Select.cjs +105 -0
  95. package/dist/cjs/components/Select.styled.cjs +104 -0
  96. package/dist/cjs/components/Skeleton.cjs +23 -0
  97. package/dist/cjs/components/StatusMessage.cjs +27 -0
  98. package/dist/cjs/components/StepIcon.cjs +50 -0
  99. package/dist/cjs/components/StepIcon.styled.cjs +57 -0
  100. package/dist/cjs/components/Stepper.cjs +58 -0
  101. package/dist/cjs/components/Stepper.styled.cjs +61 -0
  102. package/dist/cjs/components/SuccessModal.cjs +43 -0
  103. package/dist/cjs/components/SuccessModal.styled.cjs +22 -0
  104. package/dist/cjs/components/Switch.cjs +46 -0
  105. package/dist/cjs/components/Switch.styled.cjs +109 -0
  106. package/dist/cjs/components/Tab.cjs +39 -0
  107. package/dist/cjs/components/Tab.styled.cjs +14 -0
  108. package/dist/cjs/components/TabPanel.cjs +30 -0
  109. package/dist/cjs/components/TabPanel.styled.cjs +12 -0
  110. package/dist/cjs/components/Table.cjs +21 -0
  111. package/dist/cjs/components/TableBody.cjs +21 -0
  112. package/dist/cjs/components/TableCell.cjs +21 -0
  113. package/dist/cjs/components/TableContainer.cjs +21 -0
  114. package/dist/cjs/components/TableFooter.cjs +21 -0
  115. package/dist/cjs/components/TableHead.cjs +21 -0
  116. package/dist/cjs/components/TableRow.cjs +21 -0
  117. package/dist/cjs/components/Tabs.cjs +65 -0
  118. package/dist/cjs/components/Tabs.styled.cjs +90 -0
  119. package/dist/cjs/components/Tag.cjs +37 -0
  120. package/dist/cjs/components/Tag.styled.cjs +120 -0
  121. package/dist/cjs/components/Text.cjs +36 -0
  122. package/dist/cjs/components/TextInput.cjs +145 -0
  123. package/dist/cjs/components/TextInput.styled.cjs +117 -0
  124. package/dist/cjs/components/ThemeProvider.cjs +43 -0
  125. package/dist/cjs/components/TimeInput.cjs +248 -0
  126. package/dist/cjs/components/TimeInput.styled.cjs +38 -0
  127. package/dist/cjs/components/Tooltip.cjs +40 -0
  128. package/dist/cjs/components/Tooltip.styled.cjs +55 -0
  129. package/dist/cjs/components/Truncate.cjs +23 -0
  130. package/dist/cjs/index.cjs +182 -0
  131. package/dist/cjs/theme/index.cjs +252 -0
  132. package/dist/cjs/utils/animations.cjs +68 -0
  133. package/dist/cjs/utils/colors.cjs +31 -0
  134. package/dist/cjs/utils/constants.cjs +8 -0
  135. package/dist/cjs/utils/files.cjs +44 -0
  136. package/dist/cjs/utils/helpers/array.cjs +24 -0
  137. package/dist/cjs/utils/helpers/boolean.cjs +25 -0
  138. package/dist/cjs/utils/helpers/date.cjs +11 -0
  139. package/dist/cjs/utils/helpers/dateSelect.cjs +41 -0
  140. package/dist/cjs/utils/helpers/file.cjs +53 -0
  141. package/dist/cjs/utils/helpers/index.cjs +36 -0
  142. package/dist/cjs/utils/helpers/number.cjs +18 -0
  143. package/dist/cjs/utils/helpers/object.cjs +97 -0
  144. package/dist/cjs/utils/helpers/string.cjs +21 -0
  145. package/dist/cjs/utils/helpers/time.cjs +64 -0
  146. package/dist/cjs/utils/loadFont.cjs +19 -0
  147. package/dist/cjs/utils/useResize.cjs +24 -0
  148. package/dist/esm/components/Alert.js +44 -0
  149. package/dist/esm/components/Alert.styled.js +36 -0
  150. package/dist/esm/components/Autocomplete.js +172 -0
  151. package/dist/esm/components/Autocomplete.styled.js +13 -0
  152. package/dist/esm/components/Avatar.js +48 -0
  153. package/dist/esm/components/Avatar.styled.js +22 -0
  154. package/dist/esm/components/AvatarCropDialog.js +196 -0
  155. package/dist/esm/components/AvatarCropDialog.styled.js +19 -0
  156. package/dist/esm/components/AvatarInput.js +211 -0
  157. package/dist/esm/components/AvatarInput.styled.js +143 -0
  158. package/dist/esm/components/Badge.js +79 -0
  159. package/dist/esm/components/Badge.styled.js +21 -0
  160. package/dist/esm/components/BankAccountInput.js +292 -0
  161. package/dist/esm/components/BankAccountInput.styled.js +158 -0
  162. package/dist/esm/components/Bar.js +40 -0
  163. package/dist/esm/components/Bar.styled.js +20 -0
  164. package/dist/esm/components/BaseModal.js +37 -0
  165. package/dist/esm/components/BaseModal.styled.js +16 -0
  166. package/dist/esm/components/BooleanInput.js +169 -0
  167. package/dist/esm/components/BooleanInput.styled.js +62 -0
  168. package/dist/esm/components/BorderedGrid.js +42 -0
  169. package/dist/esm/components/Box.js +93 -0
  170. package/dist/esm/components/Button.js +44 -0
  171. package/dist/esm/components/Button.styled.js +96 -0
  172. package/dist/esm/components/Card.js +57 -0
  173. package/dist/esm/components/Card.styled.js +13 -0
  174. package/dist/esm/components/CardContent.js +17 -0
  175. package/dist/esm/components/CardContent.styled.js +8 -0
  176. package/dist/esm/components/Checkbox.js +45 -0
  177. package/dist/esm/components/Checkbox.styled.js +23 -0
  178. package/dist/esm/components/CircularProgress.js +10 -0
  179. package/dist/esm/components/CollapsedText.js +84 -0
  180. package/dist/esm/components/CollapsedText.styled.js +48 -0
  181. package/dist/esm/components/Confirmation.js +56 -0
  182. package/dist/esm/components/Container.js +17 -0
  183. package/dist/esm/components/CroppedImageInput.js +461 -0
  184. package/dist/esm/components/CroppedImageInput.styled.js +85 -0
  185. package/dist/esm/components/CroppedImageInputActions.js +74 -0
  186. package/dist/esm/components/DateInput.js +214 -0
  187. package/dist/esm/components/DateInput.styled.js +21 -0
  188. package/dist/esm/components/DateNumberInput.js +171 -0
  189. package/dist/esm/components/DateNumberInput.styled.js +55 -0
  190. package/dist/esm/components/DatePicker.js +130 -0
  191. package/dist/esm/components/DatePicker.styled.js +15 -0
  192. package/dist/esm/components/DateSelect.js +208 -0
  193. package/dist/esm/components/DateSelect.styled.js +11 -0
  194. package/dist/esm/components/Divider.js +63 -0
  195. package/dist/esm/components/Divider.styled.js +60 -0
  196. package/dist/esm/components/DropZone.js +149 -0
  197. package/dist/esm/components/DropZone.styled.js +71 -0
  198. package/dist/esm/components/Embed.js +37 -0
  199. package/dist/esm/components/Embed.styled.js +34 -0
  200. package/dist/esm/components/FileUpload.js +315 -0
  201. package/dist/esm/components/FileUpload.styled.js +43 -0
  202. package/dist/esm/components/FileUploadButton.js +113 -0
  203. package/dist/esm/components/FileUploadButtonLoader.js +23 -0
  204. package/dist/esm/components/FileViewer.js +113 -0
  205. package/dist/esm/components/FileViewer.styled.js +25 -0
  206. package/dist/esm/components/FlashMessage.js +65 -0
  207. package/dist/esm/components/FormControl.js +98 -0
  208. package/dist/esm/components/FormControl.styled.js +18 -0
  209. package/dist/esm/components/FormFocus.js +33 -0
  210. package/dist/esm/components/FormLabel.js +20 -0
  211. package/dist/esm/components/FormLabel.styled.js +51 -0
  212. package/dist/esm/components/Grid.js +48 -0
  213. package/dist/esm/components/Grid.styled.js +10 -0
  214. package/dist/esm/components/Heading.js +37 -0
  215. package/dist/esm/components/IconButton.js +27 -0
  216. package/dist/esm/components/IconButton.styled.js +27 -0
  217. package/dist/esm/components/Icons.js +58 -0
  218. package/dist/esm/components/LinearProgress.js +10 -0
  219. package/dist/esm/components/Link.js +33 -0
  220. package/dist/esm/components/Link.styled.js +37 -0
  221. package/dist/esm/components/Media.js +40 -0
  222. package/dist/esm/components/Media.styled.js +42 -0
  223. package/dist/esm/components/Modal.js +52 -0
  224. package/dist/esm/components/ModalActions.js +19 -0
  225. package/dist/esm/components/ModalContent.js +28 -0
  226. package/dist/esm/components/ModalHeader.js +20 -0
  227. package/dist/esm/components/ModalHeader.styled.js +25 -0
  228. package/dist/esm/components/Nameplate.js +106 -0
  229. package/dist/esm/components/Nameplate.styled.js +44 -0
  230. package/dist/esm/components/Pagination.js +143 -0
  231. package/dist/esm/components/Pagination.styled.js +79 -0
  232. package/dist/esm/components/Paper.js +30 -0
  233. package/dist/esm/components/Paper.styled.js +59 -0
  234. package/dist/esm/components/Popper.js +60 -0
  235. package/dist/esm/components/PropertyCard.js +218 -0
  236. package/dist/esm/components/PropertyCard.styled.js +62 -0
  237. package/dist/esm/components/Radio.js +45 -0
  238. package/dist/esm/components/Radio.styled.js +23 -0
  239. package/dist/esm/components/Rating.js +10 -0
  240. package/dist/esm/components/Select.js +101 -0
  241. package/dist/esm/components/Select.styled.js +95 -0
  242. package/dist/esm/components/Skeleton.js +19 -0
  243. package/dist/esm/components/StatusMessage.js +23 -0
  244. package/dist/esm/components/StepIcon.js +46 -0
  245. package/dist/esm/components/StepIcon.styled.js +54 -0
  246. package/dist/esm/components/Stepper.js +54 -0
  247. package/dist/esm/components/Stepper.styled.js +59 -0
  248. package/dist/esm/components/SuccessModal.js +39 -0
  249. package/dist/esm/components/SuccessModal.styled.js +19 -0
  250. package/dist/esm/components/Switch.js +42 -0
  251. package/dist/esm/components/Switch.styled.js +103 -0
  252. package/dist/esm/components/Tab.js +35 -0
  253. package/dist/esm/components/Tab.styled.js +12 -0
  254. package/dist/esm/components/TabPanel.js +26 -0
  255. package/dist/esm/components/TabPanel.styled.js +10 -0
  256. package/dist/esm/components/Table.js +17 -0
  257. package/dist/esm/components/TableBody.js +17 -0
  258. package/dist/esm/components/TableCell.js +17 -0
  259. package/dist/esm/components/TableContainer.js +17 -0
  260. package/dist/esm/components/TableFooter.js +17 -0
  261. package/dist/esm/components/TableHead.js +17 -0
  262. package/dist/esm/components/TableRow.js +17 -0
  263. package/dist/esm/components/Tabs.js +61 -0
  264. package/dist/esm/components/Tabs.styled.js +88 -0
  265. package/dist/esm/components/Tag.js +33 -0
  266. package/dist/esm/components/Tag.styled.js +114 -0
  267. package/dist/esm/components/Text.js +32 -0
  268. package/dist/esm/components/TextInput.js +141 -0
  269. package/dist/esm/components/TextInput.styled.js +105 -0
  270. package/dist/esm/components/ThemeProvider.js +39 -0
  271. package/dist/esm/components/TimeInput.js +244 -0
  272. package/dist/esm/components/TimeInput.styled.js +34 -0
  273. package/dist/esm/components/Tooltip.js +36 -0
  274. package/dist/esm/components/Tooltip.styled.js +51 -0
  275. package/dist/esm/components/Truncate.js +19 -0
  276. package/dist/esm/index.js +84 -0
  277. package/dist/esm/theme/index.js +247 -0
  278. package/dist/esm/utils/animations.js +60 -0
  279. package/dist/esm/utils/colors.js +28 -0
  280. package/dist/esm/utils/constants.js +5 -0
  281. package/dist/esm/utils/files.js +39 -0
  282. package/dist/esm/utils/helpers/array.js +20 -0
  283. package/dist/esm/utils/helpers/boolean.js +16 -0
  284. package/dist/esm/utils/helpers/date.js +6 -0
  285. package/dist/esm/utils/helpers/dateSelect.js +35 -0
  286. package/dist/esm/utils/helpers/file.js +47 -0
  287. package/dist/esm/utils/helpers/index.js +6 -0
  288. package/dist/esm/utils/helpers/number.js +15 -0
  289. package/dist/esm/utils/helpers/object.js +88 -0
  290. package/dist/esm/utils/helpers/string.js +15 -0
  291. package/dist/esm/utils/helpers/time.js +59 -0
  292. package/dist/esm/utils/loadFont.js +15 -0
  293. package/dist/esm/utils/useResize.js +20 -0
  294. package/package.json +2 -2
@@ -0,0 +1,296 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ var React = require('react');
8
+ var PropTypes = require('prop-types');
9
+ var CancelIcon = require('@mui/icons-material/Cancel');
10
+ var FormControl = require('./FormControl.cjs');
11
+ var IconButton = require('./IconButton.cjs');
12
+ var BankAccountInput_styled = require('./BankAccountInput.styled.cjs');
13
+ var boolean = require('../utils/helpers/boolean.cjs');
14
+ require('mime/lite');
15
+ var string = require('../utils/helpers/string.cjs');
16
+ require('../utils/helpers/time.cjs');
17
+
18
+ function BankAccountInput({
19
+ disabled = false,
20
+ edges = "normal",
21
+ errorMessage = "",
22
+ fullWidth = false,
23
+ helperText = "",
24
+ helperTextPlacement = "below",
25
+ hideLabel = false,
26
+ label = "",
27
+ name,
28
+ onChange,
29
+ onClear = void 0,
30
+ required = false,
31
+ showError = false,
32
+ value = void 0,
33
+ variant = "outlined"
34
+ }) {
35
+ const bankRef = React.useRef(null);
36
+ const branchRef = React.useRef(null);
37
+ const accountRef = React.useRef(null);
38
+ const suffixRef = React.useRef(null);
39
+ const [bank, setBank] = React.useState(value && value.bank || "");
40
+ const [branch, setBranch] = React.useState(value && value.branch || "");
41
+ const [account, setAccount] = React.useState(value && value.account || "");
42
+ const [suffix, setSuffix] = React.useState(value && value.suffix || "");
43
+ const [focused, setFocused] = React.useState(false);
44
+ const valueStr = `${bank}${branch}${account}${suffix}`;
45
+ const handleFocus = () => {
46
+ setFocused(true);
47
+ };
48
+ const handleBlur = () => {
49
+ setFocused(false);
50
+ };
51
+ const handleNextFieldFocus = (e) => {
52
+ const { target } = e;
53
+ if (target.id === `${name}_bank` && branch.length === 0) {
54
+ branchRef.current.focus();
55
+ } else if (target.id === `${name}_branch` && account.length === 0) {
56
+ accountRef.current.focus();
57
+ } else if (target.id === `${name}_account` && suffix.length === 0) {
58
+ suffixRef.current.focus();
59
+ } else if (target.id === `${name}_suffix` && bank.length === 0) {
60
+ bankRef.current.focus();
61
+ }
62
+ };
63
+ const handleClear = () => {
64
+ setAccount("");
65
+ setBank("");
66
+ setBranch("");
67
+ setSuffix("");
68
+ onClear({ account, bank, branch, suffix });
69
+ };
70
+ const handleBankChange = (e) => {
71
+ const thisValue = string.stripNonNumeric(e.target.value);
72
+ if (thisValue !== bank) {
73
+ onChange({ account, bank: thisValue, branch, suffix });
74
+ setBank(thisValue);
75
+ if (thisValue && boolean.isNumber(thisValue) && thisValue.length === 2) {
76
+ handleNextFieldFocus(e);
77
+ }
78
+ }
79
+ };
80
+ const handleBranchChange = (e) => {
81
+ const thisValue = string.stripNonNumeric(e.target.value);
82
+ if (thisValue !== branch) {
83
+ onChange({ account, bank, branch: thisValue, suffix });
84
+ setBranch(thisValue);
85
+ if (thisValue && boolean.isNumber(thisValue) && thisValue.length === 4) {
86
+ handleNextFieldFocus(e);
87
+ }
88
+ }
89
+ };
90
+ const handleAccountChange = (e) => {
91
+ const thisValue = string.stripNonNumeric(e.target.value);
92
+ if (thisValue !== account) {
93
+ onChange({ account: thisValue, bank, branch, suffix });
94
+ setAccount(thisValue);
95
+ if (thisValue && boolean.isNumber(thisValue) && thisValue.length === 7) {
96
+ handleNextFieldFocus(e);
97
+ }
98
+ }
99
+ };
100
+ const handleSuffixChange = (e) => {
101
+ const thisValue = string.stripNonNumeric(e.target.value);
102
+ if (thisValue !== suffix) {
103
+ onChange({ account, bank, branch, suffix: thisValue });
104
+ setSuffix(thisValue);
105
+ if (thisValue && boolean.isNumber(thisValue) && thisValue.length === 3) {
106
+ handleNextFieldFocus(e);
107
+ }
108
+ }
109
+ };
110
+ const handlePaste = (e) => {
111
+ const text = (e.clipboardData || window.clipboardData).getData("text");
112
+ const sanitizedText = string.stripNonNumeric(text);
113
+ if (bankRef.current.id === e.target.id && !bankRef.current.value) {
114
+ const values = {
115
+ bank: sanitizedText.slice(0, bankRef.current.maxLength),
116
+ branch: sanitizedText.slice(2, 2 + branchRef.current.maxLength),
117
+ account: sanitizedText.slice(6, 6 + accountRef.current.maxLength),
118
+ suffix: sanitizedText.slice(13, 13 + suffixRef.current.maxLength)
119
+ };
120
+ onChange(values);
121
+ setBank(values.bank);
122
+ setBranch(values.branch);
123
+ setAccount(values.account);
124
+ setSuffix(values.suffix);
125
+ }
126
+ };
127
+ return /* @__PURE__ */ jsxRuntime.jsxs(BankAccountInput_styled.StyledWrapper, { fullWidth, children: [
128
+ /* @__PURE__ */ jsxRuntime.jsxs(
129
+ FormControl.default,
130
+ {
131
+ fullWidth,
132
+ disabled,
133
+ name,
134
+ required,
135
+ label,
136
+ hideLabel,
137
+ helperText,
138
+ helperTextPlacement,
139
+ showError,
140
+ errorMessage,
141
+ edges,
142
+ children: [
143
+ /* @__PURE__ */ jsxRuntime.jsx(
144
+ "input",
145
+ {
146
+ type: "hidden",
147
+ name,
148
+ value: `${bank} ${branch} ${account} ${suffix}`
149
+ }
150
+ ),
151
+ /* @__PURE__ */ jsxRuntime.jsxs(
152
+ BankAccountInput_styled.StyledInputWrapper,
153
+ {
154
+ disabled,
155
+ edges,
156
+ focused,
157
+ fullWidth,
158
+ required: required && valueStr.length < 15,
159
+ variant,
160
+ children: [
161
+ /* @__PURE__ */ jsxRuntime.jsx(
162
+ BankAccountInput_styled.StyledInput,
163
+ {
164
+ disabled,
165
+ id: `${name}_bank`,
166
+ fieldType: "bank",
167
+ placeholder: "Bank",
168
+ maxLength: "2",
169
+ ref: bankRef,
170
+ value: bank,
171
+ onChange: handleBankChange,
172
+ onFocus: handleFocus,
173
+ onBlur: handleBlur,
174
+ onPaste: handlePaste
175
+ }
176
+ ),
177
+ /* @__PURE__ */ jsxRuntime.jsx(
178
+ BankAccountInput_styled.StyledInput,
179
+ {
180
+ disabled,
181
+ id: `${name}_branch`,
182
+ fieldType: "branch",
183
+ placeholder: "Branch",
184
+ maxLength: "4",
185
+ ref: branchRef,
186
+ value: branch,
187
+ onChange: handleBranchChange,
188
+ onFocus: handleFocus,
189
+ onBlur: handleBlur
190
+ }
191
+ ),
192
+ /* @__PURE__ */ jsxRuntime.jsx(
193
+ BankAccountInput_styled.StyledInput,
194
+ {
195
+ disabled,
196
+ id: `${name}_account`,
197
+ fieldType: "account",
198
+ placeholder: "Account",
199
+ maxLength: "7",
200
+ ref: accountRef,
201
+ value: account,
202
+ onChange: handleAccountChange,
203
+ onFocus: handleFocus,
204
+ onBlur: handleBlur
205
+ }
206
+ ),
207
+ /* @__PURE__ */ jsxRuntime.jsx(
208
+ BankAccountInput_styled.StyledInput,
209
+ {
210
+ disabled,
211
+ id: `${name}_suffix`,
212
+ fieldType: "suffix",
213
+ placeholder: "Suffix",
214
+ maxLength: "3",
215
+ ref: suffixRef,
216
+ value: suffix,
217
+ onChange: handleSuffixChange,
218
+ onFocus: handleFocus,
219
+ onBlur: handleBlur
220
+ }
221
+ )
222
+ ]
223
+ }
224
+ )
225
+ ]
226
+ }
227
+ ),
228
+ boolean.isFunction(onClear) && valueStr && /* @__PURE__ */ jsxRuntime.jsx(BankAccountInput_styled.StyledIcon, { children: /* @__PURE__ */ jsxRuntime.jsx(IconButton.default, { onClick: handleClear, size: "small", color: "inherit", children: /* @__PURE__ */ jsxRuntime.jsx(CancelIcon, {}) }) })
229
+ ] });
230
+ }
231
+ BankAccountInput.propTypes = {
232
+ /**
233
+ * If `true`, the label, input and helper text should be displayed in a disabled state.
234
+ */
235
+ disabled: PropTypes.bool,
236
+ /**
237
+ * Make button edges rounded or square
238
+ */
239
+ edges: PropTypes.oneOf(["normal", "rounded", "sharp"]),
240
+ /**
241
+ * The error message to display if showError === true
242
+ */
243
+ errorMessage: PropTypes.string,
244
+ /**
245
+ * If `true`, the component will take up the full width of its container.
246
+ */
247
+ fullWidth: PropTypes.bool,
248
+ /**
249
+ * The helper text content.
250
+ */
251
+ helperText: PropTypes.node,
252
+ /**
253
+ * Make label visible only to screen readers
254
+ */
255
+ hideLabel: PropTypes.bool,
256
+ /**
257
+ * Placed the helper text above or below the input.
258
+ */
259
+ helperTextPlacement: PropTypes.oneOf(["above", "below"]),
260
+ /**
261
+ * The label content.
262
+ */
263
+ label: PropTypes.node,
264
+ /**
265
+ * The input name.
266
+ */
267
+ name: PropTypes.string.isRequired,
268
+ /**
269
+ * Function to handle change event
270
+ */
271
+ onChange: PropTypes.func.isRequired,
272
+ /**
273
+ * Function to handle clear event
274
+ */
275
+ onClear: PropTypes.func,
276
+ /**
277
+ * If `true`, the label will indicate that the input is required.
278
+ */
279
+ required: PropTypes.bool,
280
+ /**
281
+ * Whether or not to display an error message (if there is a message to display).
282
+ */
283
+ showError: PropTypes.bool,
284
+ value: PropTypes.exact({
285
+ bank: PropTypes.string,
286
+ branch: PropTypes.string,
287
+ account: PropTypes.string,
288
+ suffix: PropTypes.string
289
+ }),
290
+ /**
291
+ * How input should look visually
292
+ */
293
+ variant: PropTypes.oneOf(["filled", "outlined"])
294
+ };
295
+
296
+ exports.default = BankAccountInput;
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var styled = require('styled-components');
5
+
6
+ const StyledWrapper = styled.div`
7
+ ${({ fullWidth }) => styled.css`
8
+ display: inline-flex;
9
+ align-items: center;
10
+ ${fullWidth && styled.css`
11
+ width: 100%;
12
+ `}
13
+ `}
14
+ `;
15
+ const StyledInputWrapper = styled.div`
16
+ ${({ disabled, edges, focused, fullWidth, required, theme, variant }) => styled.css`
17
+ font-family: 'Montserrat', sans-serif;
18
+ font-weight: 500;
19
+ font-size: 15px;
20
+ line-height: 1.4375em;
21
+ color: #394869;
22
+ position: relative;
23
+ cursor: text;
24
+ display: flex;
25
+ align-items: center;
26
+ box-sizing: border-box;
27
+ padding: 0.75rem 0;
28
+ width: ${fullWidth ? "100%" : "400px"};
29
+
30
+ ${!required && !focused && styled.css`
31
+ border: 1px solid rgba(0, 0, 0, 0.23);
32
+ `}
33
+
34
+ ${required && !focused && styled.css`
35
+ border: 1px solid ${theme.palette.secondary.main};
36
+ `}
37
+
38
+ ${!required && focused && styled.css`
39
+ border: 1px solid ${theme.palette.primary.main};
40
+ `}
41
+
42
+ ${required && focused && styled.css`
43
+ border: 1px solid ${theme.palette.secondary.main};
44
+ `}
45
+
46
+ ${edges === "sharp" && styled.css`
47
+ border-radius: 0px;
48
+ `}
49
+
50
+ ${edges === "normal" && styled.css`
51
+ border-radius: 5px;
52
+ `}
53
+
54
+ ${edges === "rounded" && styled.css`
55
+ border-radius: 9999px;
56
+ `}
57
+
58
+ ${variant === "filled" && styled.css`
59
+ background: rgba(140, 152, 178, 0.1);
60
+ border-color: rgba(140, 152, 178, 0.1);
61
+ `}
62
+
63
+ ${disabled && styled.css`
64
+ background: rgba(140, 152, 178, 0.1);
65
+ `}
66
+ `}
67
+ `;
68
+ const StyledInput = styled.input.attrs({
69
+ type: "text",
70
+ autoComplete: "off",
71
+ inputMode: "numeric"
72
+ })`
73
+ ${({ fieldType }) => styled.css`
74
+ height: 1.4375em;
75
+ -webkit-tap-highlight-color: transparent;
76
+ background: transparent;
77
+ letter-spacing: inherit;
78
+ color: currentColor;
79
+ box-sizing: content-box;
80
+ font: inherit;
81
+ border: none;
82
+ border-left: 1px solid rgba(0, 0, 0, 0.23);
83
+ padding: 0 1rem;
84
+ text-align: center;
85
+
86
+ ${fieldType === "bank" && styled.css`
87
+ width: 15%;
88
+ `}
89
+
90
+ ${fieldType === "branch" && styled.css`
91
+ width: 22%;
92
+ `}
93
+
94
+ ${fieldType === "account" && styled.css`
95
+ width: 43%;
96
+ `}
97
+
98
+ ${fieldType === "suffix" && styled.css`
99
+ width: 20%;
100
+ `}
101
+
102
+ &:focus,
103
+ &:active {
104
+ box-shadow: none;
105
+ outline: none;
106
+ }
107
+
108
+ &:first-child {
109
+ border: none;
110
+ }
111
+
112
+ &::-webkit-input-placeholder {
113
+ transition: opacity 200ms ease;
114
+ }
115
+
116
+ &::-moz-placeholder {
117
+ transition: opacity 200ms ease;
118
+ }
119
+
120
+ &:-ms-input-placeholder {
121
+ transition: opacity 200ms ease;
122
+ }
123
+
124
+ &:-moz-placeholder {
125
+ transition: opacity 200ms ease;
126
+ }
127
+
128
+ &:focus::-webkit-input-placeholder {
129
+ opacity: 0.4;
130
+ }
131
+
132
+ &:focus::-moz-placeholder {
133
+ opacity: 0.4;
134
+ }
135
+
136
+ &:focus:-ms-input-placeholder {
137
+ opacity: 0.4;
138
+ }
139
+
140
+ &:focus:-moz-placeholder {
141
+ opacity: 0.4;
142
+ }
143
+ `}
144
+ `;
145
+ const StyledIcon = styled.div`
146
+ ${({ theme }) => styled.css`
147
+ color: ${theme.palette.grey[300]};
148
+ margin-left: 5px;
149
+ transition: color 200ms ease;
150
+ svg {
151
+ font-size: 1.15rem;
152
+ }
153
+
154
+ &:hover {
155
+ color: ${theme.palette.grey[400]};
156
+ }
157
+ `}
158
+ `;
159
+
160
+ exports.StyledIcon = StyledIcon;
161
+ exports.StyledInput = StyledInput;
162
+ exports.StyledInputWrapper = StyledInputWrapper;
163
+ exports.StyledWrapper = StyledWrapper;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ require('react');
8
+ var PropTypes = require('prop-types');
9
+ var Bar_styled = require('./Bar.styled.cjs');
10
+
11
+ function Bar({ children, color = "transparent", position = "relative" }) {
12
+ return /* @__PURE__ */ jsxRuntime.jsx(Bar_styled.StyledBar, { color, position, children });
13
+ }
14
+ Bar.propTypes = {
15
+ /**
16
+ * The content of the component.
17
+ */
18
+ children: PropTypes.node.isRequired,
19
+ /**
20
+ * The color of the component. It supports those theme colors that make sense for this component.
21
+ */
22
+ color: PropTypes.oneOf([
23
+ "default",
24
+ "inherit",
25
+ "primary",
26
+ "primaryAlt",
27
+ "secondary",
28
+ "secondaryAlt",
29
+ "tertiary",
30
+ "transparent"
31
+ ]),
32
+ /**
33
+ * The positioning type.
34
+ */
35
+ position: PropTypes.oneOf([
36
+ "absolute",
37
+ "fixed",
38
+ "relative",
39
+ "static",
40
+ "sticky"
41
+ ])
42
+ };
43
+
44
+ exports.default = Bar;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var styled = require('styled-components');
5
+
6
+ const defaultColors = ["inherit", "transparent"];
7
+ const StyledBar = styled.div`
8
+ ${({ color, position, theme }) => styled.css`
9
+ position: ${position};
10
+ ${defaultColors.includes(color) && styled.css`
11
+ background: ${color};
12
+ color: inherit;
13
+ `}
14
+
15
+ ${!defaultColors.includes(color) && styled.css`
16
+ background: ${theme.palette[color].main};
17
+ color: ${theme.palette[color].contrastText};
18
+ `}
19
+ `}
20
+ `;
21
+
22
+ exports.StyledBar = StyledBar;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ var BaseModal_styled = require('./BaseModal.styled.cjs');
8
+ var object = require('../utils/helpers/object.cjs');
9
+
10
+ function BaseModal({
11
+ children,
12
+ fullScreen = false,
13
+ fullWidth = false,
14
+ escapePress = false,
15
+ hideBackdrop = false,
16
+ maxWidth = "sm",
17
+ onClose = () => {
18
+ },
19
+ open = false,
20
+ slotProps = {},
21
+ ...rest
22
+ }) {
23
+ const defaultSlotProps = {
24
+ paper: {
25
+ elevation: "none"
26
+ }
27
+ };
28
+ const props = {
29
+ fullScreen,
30
+ fullWidth,
31
+ hideBackdrop,
32
+ maxWidth,
33
+ onClose,
34
+ open,
35
+ ...rest,
36
+ slotProps: object.objectDeepMerge(defaultSlotProps, slotProps)
37
+ };
38
+ return /* @__PURE__ */ jsxRuntime.jsx(BaseModal_styled.default, { ...props, disableEscapeKeyDown: !escapePress, children });
39
+ }
40
+
41
+ exports.default = BaseModal;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var react = require('@emotion/react');
7
+ var Dialog = require('@mui/material/Dialog');
8
+ var styles = require('@mui/material/styles');
9
+ var object = require('../utils/helpers/object.cjs');
10
+
11
+ const StyledBaseModal = styles.styled(Dialog)`
12
+ ${({ theme }) => react.css`
13
+ .MuiPaper-root {
14
+ color: ${object.getObjectProp(theme, "vars.palette.text.body")};
15
+ box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.25);
16
+ }
17
+ `};
18
+ `;
19
+
20
+ exports.default = StyledBaseModal;