@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,23 @@
1
+ "use strict";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import Alert from './Alert.js';
4
+
5
+ function StatusMessage({
6
+ children,
7
+ color = "info",
8
+ sx = {}
9
+ }) {
10
+ const styles = {
11
+ color: `${color}.main`,
12
+ border: "none",
13
+ background: "none",
14
+ padding: "0px",
15
+ "& .MuiAlert-icon": {
16
+ color: `${color}.main`
17
+ },
18
+ ...sx
19
+ };
20
+ return /* @__PURE__ */ jsx(Alert, { variant: "standard", sx: styles, children });
21
+ }
22
+
23
+ export { StatusMessage as default };
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import 'react';
4
+ import PropTypes from 'prop-types';
5
+ import useMediaQuery from '@mui/material/useMediaQuery';
6
+ import CheckIcon from '@mui/icons-material/Check';
7
+ import { StyledContainer, StyledText } from './StepIcon.styled.js';
8
+
9
+ function StepIcon({ active, completed, error, icon }) {
10
+ const isMobile = useMediaQuery((theme) => theme.breakpoints.down("sm"));
11
+ const commonProps = {
12
+ active,
13
+ completed,
14
+ error,
15
+ isMobile
16
+ };
17
+ return /* @__PURE__ */ jsx(StyledContainer, { ...commonProps, children: (() => {
18
+ if (error) {
19
+ return /* @__PURE__ */ jsx(StyledText, { align: "center", ...commonProps, children: "!" });
20
+ }
21
+ if (completed && !active) {
22
+ return /* @__PURE__ */ jsx(CheckIcon, {});
23
+ }
24
+ return /* @__PURE__ */ jsx(StyledText, { align: "center", ...commonProps, children: icon });
25
+ })() });
26
+ }
27
+ StepIcon.propTypes = {
28
+ /**
29
+ * Whether this step is active.
30
+ */
31
+ active: PropTypes.bool.isRequired,
32
+ /**
33
+ * Mark the step as completed.
34
+ */
35
+ completed: PropTypes.bool.isRequired,
36
+ /**
37
+ * Whether this step has an error.
38
+ */
39
+ error: PropTypes.bool.isRequired,
40
+ /**
41
+ * Which step are we displaying
42
+ */
43
+ icon: PropTypes.node.isRequired
44
+ };
45
+
46
+ export { StepIcon as default };
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ import { styled } from '@mui/material/styles';
3
+ import Typography from '@mui/material/Typography';
4
+
5
+ const backgroundColorStyles = (active, completed, error, theme) => {
6
+ if (active || completed) {
7
+ return theme.palette.primary.main;
8
+ }
9
+ if (error) {
10
+ return theme.palette.secondary.main;
11
+ }
12
+ return "#fff";
13
+ };
14
+ const borderStyles = (active, completed, error, theme) => {
15
+ if (active || completed) {
16
+ return `1px solid ${theme.palette.primary.main}`;
17
+ }
18
+ if (!completed || error) {
19
+ return `1px solid ${theme.palette.secondary.main}`;
20
+ }
21
+ return `1px solid ${theme.palette.grey[400]}`;
22
+ };
23
+ const textColorStyles = (active, completed, error, theme) => {
24
+ if (!active && !error && !completed) {
25
+ return theme.palette.secondary.main;
26
+ }
27
+ return "#fff";
28
+ };
29
+ const StyledContainer = styled("div")(
30
+ ({ active, completed, error, isMobile, theme }) => ({
31
+ borderRadius: 99,
32
+ height: isMobile ? 32 : 50,
33
+ width: isMobile ? 32 : 50,
34
+ display: "flex",
35
+ zIndex: 1,
36
+ alignItems: "center",
37
+ justifyContent: "center",
38
+ fontWeight: 700,
39
+ backgroundColor: backgroundColorStyles(active, completed, error, theme),
40
+ border: borderStyles(active, completed, error, theme),
41
+ "& svg": {
42
+ color: "#fff"
43
+ }
44
+ })
45
+ );
46
+ const StyledText = styled(Typography)(
47
+ ({ active, completed, error, isMobile, theme }) => ({
48
+ fontSize: isMobile ? 16 : 22,
49
+ fontWeight: 700,
50
+ color: textColorStyles(active, completed, error, theme)
51
+ })
52
+ );
53
+
54
+ export { StyledContainer, StyledText };
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import React from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import StepButton from '@mui/material/StepButton';
6
+ import Step from '@mui/material/Step';
7
+ import MuiStepper from '@mui/material/Stepper';
8
+ import StepLabel from '@mui/material/StepLabel';
9
+ import useMediaQuery from '@mui/material/useMediaQuery';
10
+ import StepIcon from './StepIcon.js';
11
+ import Heading from './Heading.js';
12
+ import { StyledContainer } from './Stepper.styled.js';
13
+
14
+ function Stepper({ steps, onChange = () => null, ...rest }) {
15
+ const isMobile = useMediaQuery((theme) => theme.breakpoints.down("sm"));
16
+ const [activeStep, setActiveStep] = React.useState(0);
17
+ const handleStep = (step) => () => {
18
+ setActiveStep(step);
19
+ onChange(step);
20
+ };
21
+ return /* @__PURE__ */ jsxs(StyledContainer, { isMobile, children: [
22
+ isMobile && /* @__PURE__ */ jsx(Heading, { as: "h3", align: "center", gutterBottom: false, children: steps[activeStep].label }),
23
+ /* @__PURE__ */ jsx(
24
+ MuiStepper,
25
+ {
26
+ alternativeLabel: true,
27
+ activeStep,
28
+ ...rest,
29
+ style: { padding: isMobile ? "18px 0" : "5px 0px 24px 0px" },
30
+ children: steps.map(({ label, error, completed, disabled }, index) => /* @__PURE__ */ jsx(Step, { completed, disabled: !!disabled, children: /* @__PURE__ */ jsx(StepButton, { onClick: handleStep(index), children: /* @__PURE__ */ jsx(StepLabel, { error, StepIconComponent: StepIcon, children: !isMobile && label }) }) }, label))
31
+ }
32
+ )
33
+ ] });
34
+ }
35
+ Stepper.propTypes = {
36
+ /**
37
+ * Array of step labels
38
+ */
39
+ steps: PropTypes.arrayOf(
40
+ PropTypes.shape({
41
+ optional: PropTypes.bool,
42
+ label: PropTypes.string,
43
+ error: PropTypes.bool,
44
+ completed: PropTypes.bool,
45
+ disabled: PropTypes.bool
46
+ })
47
+ ).isRequired,
48
+ /**
49
+ * Function to trigger action when activeStep changes...
50
+ */
51
+ onChange: PropTypes.func
52
+ };
53
+
54
+ export { Stepper as default };
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ import { styled } from '@mui/material/styles';
3
+
4
+ const StyledContainer = styled("div")(({ isMobile, theme }) => ({
5
+ width: "100%",
6
+ paddingTop: isMobile ? 12 : 0,
7
+ "& .MuiStepper-root": {
8
+ paddingLeft: isMobile ? 0 : null,
9
+ paddingRight: isMobile ? 0 : null
10
+ },
11
+ "& .MuiStepConnector-alternativeLabel": {
12
+ top: "auto",
13
+ bottom: isMobile ? 15 : 25,
14
+ zIndex: 0
15
+ },
16
+ "& .MuiStepConnector-lineHorizontal": {
17
+ borderWidth: "2px"
18
+ },
19
+ "& .MuiStepConnector-completed .MuiStepConnector-lineHorizontal": {
20
+ borderColor: theme.palette.primary.main
21
+ },
22
+ "& .MuiStepper-alternativeLabel": {
23
+ alignItems: "flex-end"
24
+ },
25
+ "& .MuiStepButton-root": {
26
+ paddingTop: isMobile ? 0 : null
27
+ },
28
+ "& .MuiStepLabel-alternativeLabel": {
29
+ flexDirection: "column-reverse",
30
+ marginTop: theme.spacing(2),
31
+ fontWeight: theme.typography.fontWeightMedium
32
+ },
33
+ "& .MuiStepLabel-alternativeLabel .Mui-error": {
34
+ color: theme.palette.secondary.main
35
+ },
36
+ "& .MuiStepConnector-horizontal": {
37
+ left: isMobile ? "-50%" : null,
38
+ right: isMobile ? "50%" : null
39
+ },
40
+ "& .MuiStepButton-touchRipple": {
41
+ display: "none"
42
+ },
43
+ // disabled state
44
+ "& .MuiStepLabel-alternativeLabel:not(.Mui-error), & .MuiStep-alternativeLabel:not(.MuiStep-completed)": {
45
+ "& .Mui-disabled .MuiStepLabel-iconContainer > div": {
46
+ border: "1px solid rgba(236, 0, 140, 0.5)"
47
+ },
48
+ "& .Mui-disabled .MuiStepLabel-iconContainer > div > p": {
49
+ color: "rgba(236, 0, 140, 0.5)"
50
+ }
51
+ },
52
+ "& .MuiStepLabel-alternativeLabel.Mui-error, & .MuiStepLabel-alternativeLabel.Mui-error.Mui-disabled": {
53
+ "& .MuiStepLabel-iconContainer > div > p": {
54
+ color: "#fff !important"
55
+ }
56
+ }
57
+ }));
58
+
59
+ export { StyledContainer };
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { useState, useEffect } from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import CheckCircleOutlineIcon from '@mui/icons-material/CheckCircleOutline';
6
+ import { StyledContent, StyledIcon } from './SuccessModal.styled.js';
7
+ import Heading from './Heading.js';
8
+ import Modal from './Modal.js';
9
+ import ModalContent from './ModalContent.js';
10
+
11
+ function SuccessModal({ duration = 1500, message = "Saved!", show = false }) {
12
+ const [isOpen, setIsOpen] = useState(false);
13
+ useEffect(() => {
14
+ if (show) {
15
+ setIsOpen(true);
16
+ setTimeout(() => setIsOpen(false), duration);
17
+ }
18
+ }, [duration, show]);
19
+ return /* @__PURE__ */ jsx(Modal, { open: isOpen, fullWidth: true, maxWidth: "sm", hideBackdrop: true, children: /* @__PURE__ */ jsx(ModalContent, { children: /* @__PURE__ */ jsxs(StyledContent, { children: [
20
+ /* @__PURE__ */ jsx(StyledIcon, { children: /* @__PURE__ */ jsx(CheckCircleOutlineIcon, {}) }),
21
+ /* @__PURE__ */ jsx(Heading, { align: "center", as: "h4", gutterBottom: false, children: message })
22
+ ] }) }) });
23
+ }
24
+ SuccessModal.propTypes = {
25
+ /**
26
+ * How long modal should remain visible on screen
27
+ */
28
+ duration: PropTypes.number,
29
+ /**
30
+ * Message to display under the icon
31
+ */
32
+ message: PropTypes.string,
33
+ /**
34
+ * If `true`, then modal will be visible
35
+ */
36
+ show: PropTypes.bool
37
+ };
38
+
39
+ export { SuccessModal as default };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ import styled, { css } from 'styled-components';
3
+
4
+ const StyledContent = styled.div`
5
+ text-align: center;
6
+ padding: 5rem;
7
+ & svg {
8
+ font-size: 150px;
9
+ }
10
+ `;
11
+ const StyledIcon = styled.div`
12
+ ${({ theme }) => css`
13
+ display: inline-flex;
14
+ margin-bottom: 10px;
15
+ color: ${theme.palette.success.main};
16
+ `}
17
+ `;
18
+
19
+ export { StyledContent, StyledIcon };
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import FormLabel from './FormLabel.js';
4
+ import { StyledSwitch, StyledSwitchInput, StyledSwitchTrack, StyledSwitchKnob } from './Switch.styled.js';
5
+
6
+ function Switch({
7
+ checked = void 0,
8
+ color = "primary",
9
+ defaultChecked = void 0,
10
+ disabled = false,
11
+ label = void 0,
12
+ onChange = void 0,
13
+ name,
14
+ required = void 0,
15
+ size = "medium",
16
+ value = void 0
17
+ }) {
18
+ const inputProps = {
19
+ disabled,
20
+ ...checked !== void 0 && { checked },
21
+ ...defaultChecked !== void 0 && { defaultChecked },
22
+ ...onChange !== void 0 && { onChange },
23
+ ...required !== void 0 && { required },
24
+ ...value !== void 0 && { value }
25
+ };
26
+ return /* @__PURE__ */ jsxs(StyledSwitch, { disabled, size, children: [
27
+ /* @__PURE__ */ jsx(
28
+ StyledSwitchInput,
29
+ {
30
+ color,
31
+ name,
32
+ size,
33
+ ...inputProps,
34
+ type: "checkbox"
35
+ }
36
+ ),
37
+ label && /* @__PURE__ */ jsx(FormLabel, { required, margin: "none", size, children: label }),
38
+ /* @__PURE__ */ jsx(StyledSwitchTrack, { size, children: /* @__PURE__ */ jsx(StyledSwitchKnob, { size }) })
39
+ ] });
40
+ }
41
+
42
+ export { Switch as default };
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ import { css } from '@emotion/react';
3
+ import styled from '@emotion/styled';
4
+ import { getObjectProp } from '../utils/helpers/object.js';
5
+
6
+ const StyledSwitch = styled.label`
7
+ ${({ disabled }) => css`
8
+ position: relative;
9
+ cursor: pointer;
10
+ display: inline-flex;
11
+ gap: 20px;
12
+ align-items: center;
13
+ ${disabled && css`
14
+ opacity: 0.5;
15
+ pointer-events: none;
16
+ `}
17
+ `}
18
+ `;
19
+ const StyledSwitchLabel = styled.span`
20
+ ${({ required, theme }) => css`
21
+ font-size: 13px;
22
+ font-weight: 600;
23
+ color: ${getObjectProp(theme, "palette.text.primary")};
24
+
25
+ ${required && css`
26
+ &:after {
27
+ content: '*';
28
+ color: ${getObjectProp(theme, "palette.error.main")};
29
+ }
30
+ `}
31
+ `}
32
+ `;
33
+ const StyledSwitchKnob = styled.span`
34
+ ${({ size, theme }) => css`
35
+ border-radius: 99999px;
36
+ box-shadow: ${getObjectProp(theme, "shadows.1")};
37
+ background: #fff;
38
+ position: absolute;
39
+ transition:
40
+ translate 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
41
+ transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
42
+
43
+ ${size === "medium" && css`
44
+ width: 20px;
45
+ height: 20px;
46
+ top: 2px;
47
+ left: 2px;
48
+ `}
49
+
50
+ ${size === "small" && css`
51
+ width: 14px;
52
+ height: 14px;
53
+ top: 2px;
54
+ left: 2px;
55
+ `}
56
+ `}
57
+ `;
58
+ const StyledSwitchTrack = styled.span`
59
+ ${({ size, theme }) => css`
60
+ position: relative;
61
+ background: ${getObjectProp(theme, "palette.grey.300")};
62
+ transition: background 150ms linear;
63
+ display: inline-flex;
64
+ justify-content: center;
65
+ align-items: center;
66
+
67
+ &:focus {
68
+ box-shadow: 0px 0px 6px #1f1c4f;
69
+ }
70
+
71
+ ${size === "medium" && css`
72
+ height: 24px;
73
+ width: 44px;
74
+ border-radius: 12px;
75
+ `}
76
+
77
+ ${size === "small" && css`
78
+ height: 18px;
79
+ width: 38px;
80
+ border-radius: 11px;
81
+ `}
82
+ `}
83
+ `;
84
+ const StyledSwitchInput = styled.input`
85
+ ${({ color, size, theme }) => css`
86
+ position: absolute;
87
+ left: 0;
88
+ top: 0;
89
+ z-index: -1;
90
+ visibility: hidden;
91
+ opacity: 0;
92
+
93
+ &:checked ~ ${StyledSwitchTrack} {
94
+ background: ${getObjectProp(theme, `palette.${color}.main`)};
95
+ }
96
+
97
+ &:checked ~ ${StyledSwitchTrack} ${StyledSwitchKnob} {
98
+ transform: translateX(${size === "small" ? "20" : "20"}px);
99
+ }
100
+ `}
101
+ `;
102
+
103
+ export { StyledSwitch, StyledSwitchInput, StyledSwitchKnob, StyledSwitchLabel, StyledSwitchTrack };
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import 'react';
4
+ import PropTypes from 'prop-types';
5
+ import { StyledTab } from './Tab.styled.js';
6
+
7
+ function Tab({ label, disabled = false, ...rest }) {
8
+ return /* @__PURE__ */ jsx(
9
+ StyledTab,
10
+ {
11
+ label,
12
+ disabled,
13
+ ...rest,
14
+ disableRipple: true,
15
+ disableFocusRipple: true,
16
+ disableTouchRipple: true
17
+ }
18
+ );
19
+ }
20
+ Tab.propTypes = {
21
+ /**
22
+ * If `true`, the tab will be disabled.
23
+ */
24
+ disabled: PropTypes.bool,
25
+ /**
26
+ * The content of the component. React component, node, text etc.
27
+ */
28
+ label: PropTypes.string.isRequired,
29
+ /**
30
+ * You can provide your own value. Otherwise, we fallback to the child position index.
31
+ */
32
+ value: PropTypes.any.isRequired
33
+ };
34
+
35
+ export { Tab as default };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ import styled from 'styled-components';
3
+ import MuiTab from '@mui/material/Tab';
4
+
5
+ const StyledTab = styled(MuiTab)`
6
+ line-height: 1.4;
7
+ &&:not(:disabled) {
8
+ opacity: 1;
9
+ }
10
+ `;
11
+
12
+ export { StyledTab };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import 'react';
4
+ import PropTypes from 'prop-types';
5
+ import { StyledTabPanel } from './TabPanel.styled.js';
6
+
7
+ function TabPanel({ children, index, value }) {
8
+ return /* @__PURE__ */ jsx(StyledTabPanel, { index, value, children });
9
+ }
10
+ TabPanel.propTypes = {
11
+ /**
12
+ * The content of the component.
13
+ */
14
+ children: PropTypes.node.isRequired,
15
+ /**
16
+ * Tab content number
17
+ */
18
+ index: PropTypes.any.isRequired,
19
+ /**
20
+ * The value of the corresponding Tab. Must use the
21
+ * `index` of the Tab when no value was passed to Tab.
22
+ */
23
+ value: PropTypes.any.isRequired
24
+ };
25
+
26
+ export { TabPanel as default };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ import styled, { css } from 'styled-components';
3
+
4
+ const StyledTabPanel = styled.div`
5
+ ${({ index, value }) => css`
6
+ display: ${index === value ? "block" : "none"};
7
+ `}
8
+ `;
9
+
10
+ export { StyledTabPanel };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import 'react';
4
+ import PropTypes from 'prop-types';
5
+ import MuiTable from '@mui/material/Table';
6
+
7
+ function Table({ children, ...rest }) {
8
+ return /* @__PURE__ */ jsx(MuiTable, { ...rest, children });
9
+ }
10
+ Table.propTypes = {
11
+ /**
12
+ * React component, HTML node, string etc..
13
+ */
14
+ children: PropTypes.node.isRequired
15
+ };
16
+
17
+ export { Table as default };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import 'react';
4
+ import PropTypes from 'prop-types';
5
+ import MuiTableBody from '@mui/material/TableBody';
6
+
7
+ function TableBody({ children, ...rest }) {
8
+ return /* @__PURE__ */ jsx(MuiTableBody, { ...rest, children });
9
+ }
10
+ TableBody.propTypes = {
11
+ /**
12
+ * React component, HTML node, string etc..
13
+ */
14
+ children: PropTypes.node.isRequired
15
+ };
16
+
17
+ export { TableBody as default };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import 'react';
4
+ import PropTypes from 'prop-types';
5
+ import MuiTableCell from '@mui/material/TableCell';
6
+
7
+ function TableCell({ children, ...rest }) {
8
+ return /* @__PURE__ */ jsx(MuiTableCell, { ...rest, children });
9
+ }
10
+ TableCell.propTypes = {
11
+ /**
12
+ * React component, HTML node, string etc..
13
+ */
14
+ children: PropTypes.node.isRequired
15
+ };
16
+
17
+ export { TableCell as default };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import 'react';
4
+ import PropTypes from 'prop-types';
5
+ import MuiTableContainer from '@mui/material/TableContainer';
6
+
7
+ function TableContainer({ children, ...rest }) {
8
+ return /* @__PURE__ */ jsx(MuiTableContainer, { ...rest, children });
9
+ }
10
+ TableContainer.propTypes = {
11
+ /**
12
+ * React component, HTML node, string etc..
13
+ */
14
+ children: PropTypes.node.isRequired
15
+ };
16
+
17
+ export { TableContainer as default };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import 'react';
4
+ import PropTypes from 'prop-types';
5
+ import MuiTableFooter from '@mui/material/TableFooter';
6
+
7
+ function TableFooter({ children, ...rest }) {
8
+ return /* @__PURE__ */ jsx(MuiTableFooter, { ...rest, children });
9
+ }
10
+ TableFooter.propTypes = {
11
+ /**
12
+ * React component, HTML node, string etc..
13
+ */
14
+ children: PropTypes.node.isRequired
15
+ };
16
+
17
+ export { TableFooter as default };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import 'react';
4
+ import PropTypes from 'prop-types';
5
+ import MuiTableHead from '@mui/material/TableHead';
6
+
7
+ function TableHead({ children, ...rest }) {
8
+ return /* @__PURE__ */ jsx(MuiTableHead, { ...rest, children });
9
+ }
10
+ TableHead.propTypes = {
11
+ /**
12
+ * React component, HTML node, string etc..
13
+ */
14
+ children: PropTypes.node.isRequired
15
+ };
16
+
17
+ export { TableHead as default };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import 'react';
4
+ import PropTypes from 'prop-types';
5
+ import MuiTableRow from '@mui/material/TableRow';
6
+
7
+ function TableRow({ children, ...rest }) {
8
+ return /* @__PURE__ */ jsx(MuiTableRow, { ...rest, children });
9
+ }
10
+ TableRow.propTypes = {
11
+ /**
12
+ * React component, HTML node, string etc..
13
+ */
14
+ children: PropTypes.node.isRequired
15
+ };
16
+
17
+ export { TableRow as default };