@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
package/README.md CHANGED
@@ -1,69 +0,0 @@
1
- # React + TypeScript + Vite
2
-
3
- This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4
-
5
- Currently, two official plugins are available:
6
-
7
- - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh
8
- - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
9
-
10
- ## Expanding the ESLint configuration
11
-
12
- If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
13
-
14
- ```js
15
- export default tseslint.config([
16
- globalIgnores(['dist']),
17
- {
18
- files: ['**/*.{ts,tsx}'],
19
- extends: [
20
- // Other configs...
21
-
22
- // Remove tseslint.configs.recommended and replace with this
23
- ...tseslint.configs.recommendedTypeChecked,
24
- // Alternatively, use this for stricter rules
25
- ...tseslint.configs.strictTypeChecked,
26
- // Optionally, add this for stylistic rules
27
- ...tseslint.configs.stylisticTypeChecked,
28
-
29
- // Other configs...
30
- ],
31
- languageOptions: {
32
- parserOptions: {
33
- project: ['./tsconfig.node.json', './tsconfig.app.json'],
34
- tsconfigRootDir: import.meta.dirname,
35
- },
36
- // other options...
37
- },
38
- },
39
- ])
40
- ```
41
-
42
- You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
43
-
44
- ```js
45
- // eslint.config.js
46
- import reactX from 'eslint-plugin-react-x'
47
- import reactDom from 'eslint-plugin-react-dom'
48
-
49
- export default tseslint.config([
50
- globalIgnores(['dist']),
51
- {
52
- files: ['**/*.{ts,tsx}'],
53
- extends: [
54
- // Other configs...
55
- // Enable lint rules for React
56
- reactX.configs['recommended-typescript'],
57
- // Enable lint rules for React DOM
58
- reactDom.configs.recommended,
59
- ],
60
- languageOptions: {
61
- parserOptions: {
62
- project: ['./tsconfig.node.json', './tsconfig.app.json'],
63
- tsconfigRootDir: import.meta.dirname,
64
- },
65
- // other options...
66
- },
67
- },
68
- ])
69
- ```
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ var CheckCircleOutlineOutlinedIcon = require('@mui/icons-material/CheckCircleOutlineOutlined');
8
+ var ErrorOutlineOutlinedIcon = require('@mui/icons-material/ErrorOutlineOutlined');
9
+ var InfoOutlinedIcon = require('@mui/icons-material/InfoOutlined');
10
+ var WarningAmberOutlinedIcon = require('@mui/icons-material/WarningAmberOutlined');
11
+ var Alert_styled = require('./Alert.styled.cjs');
12
+
13
+ const variantMap = {
14
+ contained: "filled"
15
+ };
16
+ const icons = {
17
+ info: /* @__PURE__ */ jsxRuntime.jsx(InfoOutlinedIcon, { sx: { fontSize: 24 } }),
18
+ success: /* @__PURE__ */ jsxRuntime.jsx(CheckCircleOutlineOutlinedIcon, { sx: { fontSize: 24 } }),
19
+ error: /* @__PURE__ */ jsxRuntime.jsx(ErrorOutlineOutlinedIcon, { sx: { fontSize: 24 } }),
20
+ warning: /* @__PURE__ */ jsxRuntime.jsx(WarningAmberOutlinedIcon, { sx: { fontSize: 24 } })
21
+ };
22
+ function Alert({
23
+ children,
24
+ color = "info",
25
+ icon = true,
26
+ title = void 0,
27
+ variant = "standard",
28
+ ...rest
29
+ }) {
30
+ return /* @__PURE__ */ jsxRuntime.jsxs(
31
+ Alert_styled.default,
32
+ {
33
+ color,
34
+ variant: variantMap[variant] || variant,
35
+ severity: color,
36
+ iconMapping: icons,
37
+ closeText: "undo",
38
+ ...rest,
39
+ ...(!icon || !color || !icons[color]) && { icon: false },
40
+ children: [
41
+ title && /* @__PURE__ */ jsxRuntime.jsx(Alert_styled.StyledAlertTitle, { children: title }),
42
+ children
43
+ ]
44
+ }
45
+ );
46
+ }
47
+
48
+ exports.default = Alert;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var react = require('@emotion/react');
7
+ var Alert = require('@mui/material/Alert');
8
+ var AlertTitle = require('@mui/material/AlertTitle');
9
+ var styles = require('@mui/material/styles');
10
+ var object = require('../utils/helpers/object.cjs');
11
+
12
+ const standardStyles = ({ color, theme }) => react.css`
13
+ border: 1px solid currentColor;
14
+ background-color: ${object.getObjectProp(theme, `vars.palette.${color}.light`)};
15
+ color: ${object.getObjectProp(theme, `vars.palette.${color}.main`)};
16
+ `;
17
+ const outlinedStyles = ({ color, theme }) => react.css`
18
+ background-color: transparent;
19
+ border: 1px solid currentColor;
20
+ color: ${object.getObjectProp(theme, `vars.palette.${color}.main`)};
21
+ `;
22
+ const StyledAlertTitle = styles.styled(
23
+ AlertTitle
24
+ )`
25
+ font-size: inherit;
26
+ `;
27
+ const StyledAlert = styles.styled(Alert)`
28
+ ${({ color, theme, variant }) => react.css`
29
+ font-size: ${object.getObjectProp(theme, "typography.fontSize")}px;
30
+ padding: 8px 16px;
31
+ ${variant === "standard" && standardStyles({ color, theme })}
32
+ ${variant === "outlined" && outlinedStyles({ color, theme })}
33
+
34
+ .MuiAlert-action {
35
+ margin-right: 0;
36
+ }
37
+ `}
38
+ `;
39
+
40
+ exports.StyledAlertTitle = StyledAlertTitle;
41
+ exports.default = StyledAlert;
@@ -0,0 +1,176 @@
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 KeyboardArrowDownIcon = require('@mui/icons-material/KeyboardArrowDown');
10
+ var FormControl = require('./FormControl.cjs');
11
+ var Autocomplete_styled = require('./Autocomplete.styled.cjs');
12
+ var TextInput = require('./TextInput.cjs');
13
+
14
+ function Autocomplete({
15
+ disabled = false,
16
+ edges = "smooth",
17
+ fullWidth = true,
18
+ helperText = "",
19
+ helperTextPlacement = "below",
20
+ label = "",
21
+ placeholder = "",
22
+ popupIcon = void 0,
23
+ required = false,
24
+ size = "medium",
25
+ variant = "outlined",
26
+ showError = false,
27
+ errorMessage = "",
28
+ name,
29
+ hideLabel = false,
30
+ disableIconRotation = false,
31
+ TextInputProps = {},
32
+ onChange = () => {
33
+ },
34
+ textInputAttrs = {},
35
+ ...rest
36
+ }) {
37
+ const [selectedValue, setSelectedValue] = React.useState(rest.value || null);
38
+ const handleChange = (event, val, ...extras) => {
39
+ setSelectedValue(val);
40
+ onChange(event, val, ...extras);
41
+ };
42
+ return /* @__PURE__ */ jsxRuntime.jsx(
43
+ FormControl.default,
44
+ {
45
+ name,
46
+ fullWidth,
47
+ label,
48
+ helperText,
49
+ helperTextPlacement,
50
+ disabled,
51
+ required,
52
+ showError,
53
+ errorMessage,
54
+ hideLabel,
55
+ edges,
56
+ children: /* @__PURE__ */ jsxRuntime.jsx(
57
+ Autocomplete_styled.StyledAutocomplete,
58
+ {
59
+ disabled,
60
+ iconrotation: disableIconRotation ? "no" : "yes",
61
+ popupIcon: popupIcon === void 0 ? /* @__PURE__ */ jsxRuntime.jsx(KeyboardArrowDownIcon, {}) : popupIcon,
62
+ renderInput: ({ inputProps, InputProps, ...params }) => /* @__PURE__ */ jsxRuntime.jsx(
63
+ TextInput.default,
64
+ {
65
+ ...params,
66
+ disabled,
67
+ name,
68
+ variant,
69
+ size,
70
+ edges,
71
+ required,
72
+ value: selectedValue,
73
+ placeholder,
74
+ inputProps: {
75
+ autoComplete: "off",
76
+ ...textInputAttrs,
77
+ ...inputProps
78
+ },
79
+ slotProps: {
80
+ input: {
81
+ ...TextInputProps,
82
+ ...InputProps
83
+ }
84
+ },
85
+ showError,
86
+ message: errorMessage,
87
+ ref: InputProps.ref
88
+ }
89
+ ),
90
+ onChange: handleChange,
91
+ ...rest
92
+ }
93
+ )
94
+ }
95
+ );
96
+ }
97
+ Autocomplete.propTypes = {
98
+ /**
99
+ * If `true`, the `input` element will be disabled.
100
+ */
101
+ disabled: PropTypes.bool,
102
+ /**
103
+ * Prevent icon rotating on open
104
+ */
105
+ disableIconRotation: PropTypes.bool,
106
+ /**
107
+ * Make button edges rounded or square
108
+ */
109
+ edges: PropTypes.oneOf(["normal", "rounded", "sharp"]),
110
+ /**
111
+ * If `true`, the input will take up the full width of its container.
112
+ */
113
+ fullWidth: PropTypes.bool,
114
+ /**
115
+ * Field name.
116
+ */
117
+ name: PropTypes.string.isRequired,
118
+ /**
119
+ * The helper text content.
120
+ */
121
+ helperText: PropTypes.string,
122
+ /**
123
+ * Placed the helper text above or below the input.
124
+ */
125
+ helperTextPlacement: PropTypes.oneOf(["above", "below"]),
126
+ /**
127
+ * The label content.
128
+ */
129
+ label: PropTypes.string,
130
+ /**
131
+ * The short hint displayed in the input before the user enters a value.
132
+ */
133
+ placeholder: PropTypes.string,
134
+ /**
135
+ * The icon that displays the arrow.
136
+ */
137
+ popupIcon: PropTypes.any,
138
+ /**
139
+ * If `true`, the label is displayed as required and the `input` element` will be required.
140
+ */
141
+ required: PropTypes.bool,
142
+ /**
143
+ * The size to use.
144
+ */
145
+ size: PropTypes.oneOf(["medium", "small"]),
146
+ /**
147
+ * Props to pass to the TextField component.
148
+ */
149
+ TextInputProps: PropTypes.object,
150
+ /**
151
+ * Pass HTML attrs to the TextField component.
152
+ */
153
+ textInputAttrs: PropTypes.shape({}),
154
+ /**
155
+ * The variant to use.
156
+ */
157
+ variant: PropTypes.oneOf(["filled", "outlined"]),
158
+ /**
159
+ * Whether or not to display an error message (if there is a message to display).
160
+ */
161
+ showError: PropTypes.bool,
162
+ /**
163
+ * The error message to display if showError === true
164
+ */
165
+ errorMessage: PropTypes.string,
166
+ /**
167
+ * Make label visible only to screen readers
168
+ */
169
+ hideLabel: PropTypes.bool,
170
+ /**
171
+ * Function to handle value chage
172
+ */
173
+ onChange: PropTypes.func
174
+ };
175
+
176
+ exports.default = Autocomplete;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var Autocomplete = require('@mui/material/Autocomplete');
5
+ var styles = require('@mui/material/styles');
6
+
7
+ const StyledAutocomplete = styles.styled(
8
+ Autocomplete
9
+ )(({ iconrotation }) => ({
10
+ "& .MuiAutocomplete-popupIndicatorOpen": {
11
+ transform: iconrotation === "yes" ? null : "rotate(0)"
12
+ }
13
+ }));
14
+
15
+ exports.StyledAutocomplete = StyledAutocomplete;
@@ -0,0 +1,52 @@
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 Avatar_styled = require('./Avatar.styled.cjs');
10
+
11
+ function Avatar({
12
+ children = null,
13
+ size = "small",
14
+ src = "",
15
+ srcSet = "",
16
+ variant = "",
17
+ ...rest
18
+ }) {
19
+ const props = { size, src, srcSet, variant, ...rest };
20
+ return /* @__PURE__ */ jsxRuntime.jsx(Avatar_styled.StyledAvatar, { ...props, children });
21
+ }
22
+ Avatar.propTypes = {
23
+ /**
24
+ * Used in combination with src to provide an alt
25
+ * attribute for the rendered img element.
26
+ */
27
+ alt: PropTypes.string.isRequired,
28
+ /**
29
+ * Used to render icon or text elements inside the
30
+ * Avatar if src is not set. This can be an element,
31
+ * or just a string.
32
+ */
33
+ children: PropTypes.node,
34
+ /**
35
+ * Defines the size of component
36
+ */
37
+ size: PropTypes.oneOf(["small", "medium", "large"]),
38
+ /**
39
+ * The `src` attribute for the `img` element.
40
+ */
41
+ src: PropTypes.string,
42
+ /**
43
+ * The `srcSet` attribute for the `img` element. Use this attribute for responsive image display.
44
+ */
45
+ srcSet: PropTypes.string,
46
+ /**
47
+ * The shape of the avatar.
48
+ */
49
+ variant: PropTypes.oneOf(["circular", "rounded", "square"])
50
+ };
51
+
52
+ exports.default = Avatar;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var styled = require('styled-components');
5
+ var MuiAvatar = require('@mui/material/Avatar');
6
+
7
+ const sizeFn = (size) => {
8
+ const sizes = {
9
+ large: 50,
10
+ medium: 40,
11
+ small: 30
12
+ };
13
+ return sizes[size];
14
+ };
15
+ const StyledAvatar = styled(MuiAvatar)`
16
+ ${({ size }) => styled.css`
17
+ && {
18
+ width: ${sizeFn(size)}px;
19
+ height: ${sizeFn(size)}px;
20
+ }
21
+ `}
22
+ `;
23
+
24
+ exports.StyledAvatar = StyledAvatar;
@@ -0,0 +1,200 @@
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 useMediaQuery = require('@mui/material/useMediaQuery');
10
+ var ReactCrop = require('react-image-crop');
11
+ var FormControl = require('./FormControl.cjs');
12
+ var Button = require('./Button.cjs');
13
+ var Confirmation = require('./Confirmation.cjs');
14
+ var ModalActions = require('./ModalActions.cjs');
15
+ require('react-image-crop/dist/ReactCrop.css');
16
+ var AvatarCropDialog_styled = require('./AvatarCropDialog.styled.cjs');
17
+
18
+ function AvatarCropDialog({
19
+ helperText = "",
20
+ label = "",
21
+ showError = false,
22
+ errorMessage = "",
23
+ onSave = () => Promise.resolve(true),
24
+ onDelete = () => Promise.resolve(true),
25
+ droppedFile = null
26
+ }) {
27
+ const isNotMobile = useMediaQuery((theme) => theme.breakpoints.up("md"));
28
+ const [crop, setCrop] = React.useState({ aspect: 1, unit: "%", width: 100 });
29
+ const [originalImage, setOriginalImage] = React.useState(null);
30
+ const [confirmDelete, setConfirmDelete] = React.useState(false);
31
+ const [editorWidth, setEditorWidth] = React.useState("100%");
32
+ const [saving, setSaving] = React.useState(false);
33
+ const [cancelling, setCancelling] = React.useState(false);
34
+ const handleCancel = () => {
35
+ setCancelling(true);
36
+ onDelete().then(() => {
37
+ setOriginalImage(null);
38
+ setConfirmDelete(false);
39
+ setCancelling(false);
40
+ });
41
+ };
42
+ const handleCropChange = (newCrop) => setCrop(newCrop);
43
+ const handleImageLoaded = (image) => {
44
+ let { width } = image;
45
+ if (window.innerHeight * 0.7 < image.height) {
46
+ width = image.width * (window.innerHeight * 0.7 / image.height);
47
+ }
48
+ if (width < window.innerWidth * 0.7) {
49
+ setEditorWidth(`${width}px`);
50
+ }
51
+ const widthPercent = image.width < image.height ? 1 : image.height / image.width;
52
+ const heightPercent = image.width > image.height ? 1 : image.width / image.height;
53
+ const y = (1 - heightPercent) / 2;
54
+ const x = (1 - widthPercent) / 2;
55
+ const height = image.height * (width / image.width);
56
+ setCrop({
57
+ unit: "px",
58
+ width: width * widthPercent,
59
+ height: height * heightPercent,
60
+ x: width * x,
61
+ y: height * y,
62
+ aspect: 1
63
+ });
64
+ setOriginalImage(image);
65
+ return false;
66
+ };
67
+ const handleImageSave = () => {
68
+ if (originalImage && crop.width && crop.height) {
69
+ const canvas = document.createElement("canvas");
70
+ const scaleX = originalImage.naturalWidth / originalImage.width;
71
+ const scaleY = originalImage.naturalHeight / originalImage.height;
72
+ canvas.width = crop.width;
73
+ canvas.height = crop.height;
74
+ const ctx = canvas.getContext("2d");
75
+ ctx.drawImage(
76
+ originalImage,
77
+ crop.x * scaleX,
78
+ crop.y * scaleY,
79
+ crop.width * scaleX,
80
+ crop.height * scaleY,
81
+ 0,
82
+ 0,
83
+ crop.width,
84
+ crop.height
85
+ );
86
+ return new Promise((resolve, reject) => {
87
+ canvas.toBlob(
88
+ (blob) => {
89
+ if (!blob) {
90
+ console.error("Canvas is empty");
91
+ reject();
92
+ }
93
+ setSaving(true);
94
+ const reader = new FileReader();
95
+ reader.addEventListener("load", () => {
96
+ onSave(reader.result, blob).then(() => resolve());
97
+ });
98
+ reader.readAsDataURL(blob);
99
+ },
100
+ "image/jpeg",
101
+ 0.6
102
+ );
103
+ });
104
+ }
105
+ return false;
106
+ };
107
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
108
+ /* @__PURE__ */ jsxRuntime.jsx(
109
+ FormControl.default,
110
+ {
111
+ name: "avatar-crop-editor",
112
+ fullWidth: true,
113
+ label,
114
+ helperText,
115
+ showError,
116
+ errorMessage,
117
+ children: /* @__PURE__ */ jsxRuntime.jsx(AvatarCropDialog_styled.StyledEditor, { showError, children: /* @__PURE__ */ jsxRuntime.jsx(
118
+ ReactCrop,
119
+ {
120
+ src: droppedFile,
121
+ crop,
122
+ style: {
123
+ width: editorWidth,
124
+ maxHeight: window.innerHeight * 0.7
125
+ },
126
+ circularCrop: true,
127
+ onChange: handleCropChange,
128
+ onImageLoaded: handleImageLoaded,
129
+ keepSelection: true
130
+ }
131
+ ) })
132
+ },
133
+ "form-control"
134
+ ),
135
+ /* @__PURE__ */ jsxRuntime.jsxs(ModalActions.default, { children: [
136
+ /* @__PURE__ */ jsxRuntime.jsx(
137
+ Button.default,
138
+ {
139
+ onClick: handleCancel,
140
+ variant: "outlined",
141
+ loading: cancelling,
142
+ color: "primaryAlt",
143
+ fullWidth: !isNotMobile,
144
+ children: "Cancel"
145
+ }
146
+ ),
147
+ /* @__PURE__ */ jsxRuntime.jsx(
148
+ Button.default,
149
+ {
150
+ onClick: handleImageSave,
151
+ loading: saving,
152
+ color: "primaryAlt",
153
+ fullWidth: !isNotMobile,
154
+ children: "Save"
155
+ }
156
+ )
157
+ ] }),
158
+ /* @__PURE__ */ jsxRuntime.jsx(
159
+ Confirmation.default,
160
+ {
161
+ open: confirmDelete,
162
+ onCancel: () => setConfirmDelete(false),
163
+ onConfirm: handleCancel,
164
+ message: "Are you sure you want to remove the attached image?"
165
+ }
166
+ )
167
+ ] });
168
+ }
169
+ AvatarCropDialog.propTypes = {
170
+ /**
171
+ * Whether or not to display an error message (if there is a message to display).
172
+ */
173
+ showError: PropTypes.bool,
174
+ /**
175
+ * The error message to display if showError === true
176
+ */
177
+ errorMessage: PropTypes.string,
178
+ /**
179
+ * The helper text content.
180
+ */
181
+ helperText: PropTypes.node,
182
+ /**
183
+ * Do something when user saves cropped image, received the base64 string
184
+ */
185
+ onSave: PropTypes.func,
186
+ /**
187
+ * Do something when user removes image
188
+ */
189
+ onDelete: PropTypes.func,
190
+ /**
191
+ * The label content.
192
+ */
193
+ label: PropTypes.string,
194
+ /**
195
+ * Result from dropzone...
196
+ */
197
+ droppedFile: PropTypes.any
198
+ };
199
+
200
+ exports.default = AvatarCropDialog;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var styles = require('@mui/material/styles');
5
+
6
+ const StyledEditor = styles.styled("div")(({ showError, theme }) => ({
7
+ width: "100%",
8
+ padding: theme.spacing(6, 4),
9
+ backgroundImage: `linear-gradient(45deg, ${theme.palette.grey[700]} 25%, transparent 25%), linear-gradient(-45deg, ${theme.palette.grey[700]} 25%, transparent 25%), linear-gradient(45deg, transparent 75%, ${theme.palette.grey[700]} 75%), linear-gradient(-45deg, transparent 75%, ${theme.palette.grey[700]} 75%)`,
10
+ backgroundSize: "20px 20px",
11
+ backgroundColor: "rgba(0, 0, 0, 0.5)",
12
+ backgroundPosition: "0 0, 0 10px, 10px -10px, -10px 0px",
13
+ border: `1px solid ${showError ? theme.palette.error.main : theme.palette.primary.main}`,
14
+ borderRadius: theme.shape.borderRadius,
15
+ "& .ReactCrop": {
16
+ margin: "0 auto",
17
+ display: "block"
18
+ }
19
+ }));
20
+
21
+ exports.StyledEditor = StyledEditor;