@tenancy.nz/ui 1.0.0 → 1.0.1
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.
- package/README.md +0 -69
- package/dist/cjs/components/Alert.cjs +48 -0
- package/dist/cjs/components/Alert.styled.cjs +41 -0
- package/dist/cjs/components/Autocomplete.cjs +176 -0
- package/dist/cjs/components/Autocomplete.styled.cjs +15 -0
- package/dist/cjs/components/Avatar.cjs +52 -0
- package/dist/cjs/components/Avatar.styled.cjs +24 -0
- package/dist/cjs/components/AvatarCropDialog.cjs +200 -0
- package/dist/cjs/components/AvatarCropDialog.styled.cjs +21 -0
- package/dist/cjs/components/AvatarInput.cjs +215 -0
- package/dist/cjs/components/AvatarInput.styled.cjs +151 -0
- package/dist/cjs/components/Badge.cjs +83 -0
- package/dist/cjs/components/Badge.styled.cjs +23 -0
- package/dist/cjs/components/BankAccountInput.cjs +296 -0
- package/dist/cjs/components/BankAccountInput.styled.cjs +163 -0
- package/dist/cjs/components/Bar.cjs +44 -0
- package/dist/cjs/components/Bar.styled.cjs +22 -0
- package/dist/cjs/components/BaseModal.cjs +41 -0
- package/dist/cjs/components/BaseModal.styled.cjs +20 -0
- package/dist/cjs/components/BooleanInput.cjs +173 -0
- package/dist/cjs/components/BooleanInput.styled.cjs +65 -0
- package/dist/cjs/components/BorderedGrid.cjs +46 -0
- package/dist/cjs/components/Box.cjs +97 -0
- package/dist/cjs/components/Button.cjs +48 -0
- package/dist/cjs/components/Button.styled.cjs +106 -0
- package/dist/cjs/components/Card.cjs +61 -0
- package/dist/cjs/components/Card.styled.cjs +15 -0
- package/dist/cjs/components/CardContent.cjs +21 -0
- package/dist/cjs/components/CardContent.styled.cjs +10 -0
- package/dist/cjs/components/Checkbox.cjs +49 -0
- package/dist/cjs/components/Checkbox.styled.cjs +25 -0
- package/dist/cjs/components/CircularProgress.cjs +14 -0
- package/dist/cjs/components/CollapsedText.cjs +88 -0
- package/dist/cjs/components/CollapsedText.styled.cjs +52 -0
- package/dist/cjs/components/Confirmation.cjs +60 -0
- package/dist/cjs/components/Container.cjs +21 -0
- package/dist/cjs/components/CroppedImageInput.cjs +465 -0
- package/dist/cjs/components/CroppedImageInput.styled.cjs +91 -0
- package/dist/cjs/components/CroppedImageInputActions.cjs +78 -0
- package/dist/cjs/components/DateInput.cjs +218 -0
- package/dist/cjs/components/DateInput.styled.cjs +26 -0
- package/dist/cjs/components/DateNumberInput.cjs +175 -0
- package/dist/cjs/components/DateNumberInput.styled.cjs +58 -0
- package/dist/cjs/components/DatePicker.cjs +134 -0
- package/dist/cjs/components/DatePicker.styled.cjs +17 -0
- package/dist/cjs/components/DateSelect.cjs +212 -0
- package/dist/cjs/components/DateSelect.styled.cjs +15 -0
- package/dist/cjs/components/Divider.cjs +67 -0
- package/dist/cjs/components/Divider.styled.cjs +62 -0
- package/dist/cjs/components/DropZone.cjs +153 -0
- package/dist/cjs/components/DropZone.styled.cjs +76 -0
- package/dist/cjs/components/Embed.cjs +41 -0
- package/dist/cjs/components/Embed.styled.cjs +38 -0
- package/dist/cjs/components/FileUpload.cjs +319 -0
- package/dist/cjs/components/FileUpload.styled.cjs +47 -0
- package/dist/cjs/components/FileUploadButton.cjs +117 -0
- package/dist/cjs/components/FileUploadButtonLoader.cjs +27 -0
- package/dist/cjs/components/FileViewer.cjs +117 -0
- package/dist/cjs/components/FileViewer.styled.cjs +29 -0
- package/dist/cjs/components/FlashMessage.cjs +69 -0
- package/dist/cjs/components/FormControl.cjs +102 -0
- package/dist/cjs/components/FormControl.styled.cjs +22 -0
- package/dist/cjs/components/FormFocus.cjs +37 -0
- package/dist/cjs/components/FormLabel.cjs +24 -0
- package/dist/cjs/components/FormLabel.styled.cjs +55 -0
- package/dist/cjs/components/Grid.cjs +52 -0
- package/dist/cjs/components/Grid.styled.cjs +12 -0
- package/dist/cjs/components/Heading.cjs +41 -0
- package/dist/cjs/components/IconButton.cjs +31 -0
- package/dist/cjs/components/IconButton.styled.cjs +31 -0
- package/dist/cjs/components/Icons.cjs +62 -0
- package/dist/cjs/components/LinearProgress.cjs +14 -0
- package/dist/cjs/components/Link.cjs +37 -0
- package/dist/cjs/components/Link.styled.cjs +39 -0
- package/dist/cjs/components/Media.cjs +44 -0
- package/dist/cjs/components/Media.styled.cjs +46 -0
- package/dist/cjs/components/Modal.cjs +56 -0
- package/dist/cjs/components/ModalActions.cjs +23 -0
- package/dist/cjs/components/ModalContent.cjs +32 -0
- package/dist/cjs/components/ModalHeader.cjs +24 -0
- package/dist/cjs/components/ModalHeader.styled.cjs +29 -0
- package/dist/cjs/components/Nameplate.cjs +110 -0
- package/dist/cjs/components/Nameplate.styled.cjs +49 -0
- package/dist/cjs/components/Pagination.cjs +147 -0
- package/dist/cjs/components/Pagination.styled.cjs +83 -0
- package/dist/cjs/components/Paper.cjs +34 -0
- package/dist/cjs/components/Paper.styled.cjs +63 -0
- package/dist/cjs/components/Popper.cjs +64 -0
- package/dist/cjs/components/PropertyCard.cjs +222 -0
- package/dist/cjs/components/PropertyCard.styled.cjs +67 -0
- package/dist/cjs/components/Radio.cjs +49 -0
- package/dist/cjs/components/Radio.styled.cjs +25 -0
- package/dist/cjs/components/Rating.cjs +14 -0
- package/dist/cjs/components/Select.cjs +105 -0
- package/dist/cjs/components/Select.styled.cjs +104 -0
- package/dist/cjs/components/Skeleton.cjs +23 -0
- package/dist/cjs/components/StatusMessage.cjs +27 -0
- package/dist/cjs/components/StepIcon.cjs +50 -0
- package/dist/cjs/components/StepIcon.styled.cjs +57 -0
- package/dist/cjs/components/Stepper.cjs +58 -0
- package/dist/cjs/components/Stepper.styled.cjs +61 -0
- package/dist/cjs/components/SuccessModal.cjs +43 -0
- package/dist/cjs/components/SuccessModal.styled.cjs +22 -0
- package/dist/cjs/components/Switch.cjs +46 -0
- package/dist/cjs/components/Switch.styled.cjs +109 -0
- package/dist/cjs/components/Tab.cjs +39 -0
- package/dist/cjs/components/Tab.styled.cjs +14 -0
- package/dist/cjs/components/TabPanel.cjs +30 -0
- package/dist/cjs/components/TabPanel.styled.cjs +12 -0
- package/dist/cjs/components/Table.cjs +21 -0
- package/dist/cjs/components/TableBody.cjs +21 -0
- package/dist/cjs/components/TableCell.cjs +21 -0
- package/dist/cjs/components/TableContainer.cjs +21 -0
- package/dist/cjs/components/TableFooter.cjs +21 -0
- package/dist/cjs/components/TableHead.cjs +21 -0
- package/dist/cjs/components/TableRow.cjs +21 -0
- package/dist/cjs/components/Tabs.cjs +65 -0
- package/dist/cjs/components/Tabs.styled.cjs +90 -0
- package/dist/cjs/components/Tag.cjs +37 -0
- package/dist/cjs/components/Tag.styled.cjs +120 -0
- package/dist/cjs/components/Text.cjs +36 -0
- package/dist/cjs/components/TextInput.cjs +145 -0
- package/dist/cjs/components/TextInput.styled.cjs +117 -0
- package/dist/cjs/components/ThemeProvider.cjs +43 -0
- package/dist/cjs/components/TimeInput.cjs +248 -0
- package/dist/cjs/components/TimeInput.styled.cjs +38 -0
- package/dist/cjs/components/Tooltip.cjs +40 -0
- package/dist/cjs/components/Tooltip.styled.cjs +55 -0
- package/dist/cjs/components/Truncate.cjs +23 -0
- package/dist/cjs/index.cjs +182 -0
- package/dist/cjs/theme/index.cjs +252 -0
- package/dist/cjs/utils/animations.cjs +68 -0
- package/dist/cjs/utils/colors.cjs +31 -0
- package/dist/cjs/utils/constants.cjs +8 -0
- package/dist/cjs/utils/files.cjs +44 -0
- package/dist/cjs/utils/helpers/array.cjs +24 -0
- package/dist/cjs/utils/helpers/boolean.cjs +25 -0
- package/dist/cjs/utils/helpers/date.cjs +11 -0
- package/dist/cjs/utils/helpers/dateSelect.cjs +41 -0
- package/dist/cjs/utils/helpers/file.cjs +53 -0
- package/dist/cjs/utils/helpers/index.cjs +36 -0
- package/dist/cjs/utils/helpers/number.cjs +18 -0
- package/dist/cjs/utils/helpers/object.cjs +97 -0
- package/dist/cjs/utils/helpers/string.cjs +21 -0
- package/dist/cjs/utils/helpers/time.cjs +64 -0
- package/dist/cjs/utils/loadFont.cjs +19 -0
- package/dist/cjs/utils/useResize.cjs +24 -0
- package/dist/esm/components/Alert.js +44 -0
- package/dist/esm/components/Alert.styled.js +36 -0
- package/dist/esm/components/Autocomplete.js +172 -0
- package/dist/esm/components/Autocomplete.styled.js +13 -0
- package/dist/esm/components/Avatar.js +48 -0
- package/dist/esm/components/Avatar.styled.js +22 -0
- package/dist/esm/components/AvatarCropDialog.js +196 -0
- package/dist/esm/components/AvatarCropDialog.styled.js +19 -0
- package/dist/esm/components/AvatarInput.js +211 -0
- package/dist/esm/components/AvatarInput.styled.js +143 -0
- package/dist/esm/components/Badge.js +79 -0
- package/dist/esm/components/Badge.styled.js +21 -0
- package/dist/esm/components/BankAccountInput.js +292 -0
- package/dist/esm/components/BankAccountInput.styled.js +158 -0
- package/dist/esm/components/Bar.js +40 -0
- package/dist/esm/components/Bar.styled.js +20 -0
- package/dist/esm/components/BaseModal.js +37 -0
- package/dist/esm/components/BaseModal.styled.js +16 -0
- package/dist/esm/components/BooleanInput.js +169 -0
- package/dist/esm/components/BooleanInput.styled.js +62 -0
- package/dist/esm/components/BorderedGrid.js +42 -0
- package/dist/esm/components/Box.js +93 -0
- package/dist/esm/components/Button.js +44 -0
- package/dist/esm/components/Button.styled.js +96 -0
- package/dist/esm/components/Card.js +57 -0
- package/dist/esm/components/Card.styled.js +13 -0
- package/dist/esm/components/CardContent.js +17 -0
- package/dist/esm/components/CardContent.styled.js +8 -0
- package/dist/esm/components/Checkbox.js +45 -0
- package/dist/esm/components/Checkbox.styled.js +23 -0
- package/dist/esm/components/CircularProgress.js +10 -0
- package/dist/esm/components/CollapsedText.js +84 -0
- package/dist/esm/components/CollapsedText.styled.js +48 -0
- package/dist/esm/components/Confirmation.js +56 -0
- package/dist/esm/components/Container.js +17 -0
- package/dist/esm/components/CroppedImageInput.js +461 -0
- package/dist/esm/components/CroppedImageInput.styled.js +85 -0
- package/dist/esm/components/CroppedImageInputActions.js +74 -0
- package/dist/esm/components/DateInput.js +214 -0
- package/dist/esm/components/DateInput.styled.js +21 -0
- package/dist/esm/components/DateNumberInput.js +171 -0
- package/dist/esm/components/DateNumberInput.styled.js +55 -0
- package/dist/esm/components/DatePicker.js +130 -0
- package/dist/esm/components/DatePicker.styled.js +15 -0
- package/dist/esm/components/DateSelect.js +208 -0
- package/dist/esm/components/DateSelect.styled.js +11 -0
- package/dist/esm/components/Divider.js +63 -0
- package/dist/esm/components/Divider.styled.js +60 -0
- package/dist/esm/components/DropZone.js +149 -0
- package/dist/esm/components/DropZone.styled.js +71 -0
- package/dist/esm/components/Embed.js +37 -0
- package/dist/esm/components/Embed.styled.js +34 -0
- package/dist/esm/components/FileUpload.js +315 -0
- package/dist/esm/components/FileUpload.styled.js +43 -0
- package/dist/esm/components/FileUploadButton.js +113 -0
- package/dist/esm/components/FileUploadButtonLoader.js +23 -0
- package/dist/esm/components/FileViewer.js +113 -0
- package/dist/esm/components/FileViewer.styled.js +25 -0
- package/dist/esm/components/FlashMessage.js +65 -0
- package/dist/esm/components/FormControl.js +98 -0
- package/dist/esm/components/FormControl.styled.js +18 -0
- package/dist/esm/components/FormFocus.js +33 -0
- package/dist/esm/components/FormLabel.js +20 -0
- package/dist/esm/components/FormLabel.styled.js +51 -0
- package/dist/esm/components/Grid.js +48 -0
- package/dist/esm/components/Grid.styled.js +10 -0
- package/dist/esm/components/Heading.js +37 -0
- package/dist/esm/components/IconButton.js +27 -0
- package/dist/esm/components/IconButton.styled.js +27 -0
- package/dist/esm/components/Icons.js +58 -0
- package/dist/esm/components/LinearProgress.js +10 -0
- package/dist/esm/components/Link.js +33 -0
- package/dist/esm/components/Link.styled.js +37 -0
- package/dist/esm/components/Media.js +40 -0
- package/dist/esm/components/Media.styled.js +42 -0
- package/dist/esm/components/Modal.js +52 -0
- package/dist/esm/components/ModalActions.js +19 -0
- package/dist/esm/components/ModalContent.js +28 -0
- package/dist/esm/components/ModalHeader.js +20 -0
- package/dist/esm/components/ModalHeader.styled.js +25 -0
- package/dist/esm/components/Nameplate.js +106 -0
- package/dist/esm/components/Nameplate.styled.js +44 -0
- package/dist/esm/components/Pagination.js +143 -0
- package/dist/esm/components/Pagination.styled.js +79 -0
- package/dist/esm/components/Paper.js +30 -0
- package/dist/esm/components/Paper.styled.js +59 -0
- package/dist/esm/components/Popper.js +60 -0
- package/dist/esm/components/PropertyCard.js +218 -0
- package/dist/esm/components/PropertyCard.styled.js +62 -0
- package/dist/esm/components/Radio.js +45 -0
- package/dist/esm/components/Radio.styled.js +23 -0
- package/dist/esm/components/Rating.js +10 -0
- package/dist/esm/components/Select.js +101 -0
- package/dist/esm/components/Select.styled.js +95 -0
- package/dist/esm/components/Skeleton.js +19 -0
- package/dist/esm/components/StatusMessage.js +23 -0
- package/dist/esm/components/StepIcon.js +46 -0
- package/dist/esm/components/StepIcon.styled.js +54 -0
- package/dist/esm/components/Stepper.js +54 -0
- package/dist/esm/components/Stepper.styled.js +59 -0
- package/dist/esm/components/SuccessModal.js +39 -0
- package/dist/esm/components/SuccessModal.styled.js +19 -0
- package/dist/esm/components/Switch.js +42 -0
- package/dist/esm/components/Switch.styled.js +103 -0
- package/dist/esm/components/Tab.js +35 -0
- package/dist/esm/components/Tab.styled.js +12 -0
- package/dist/esm/components/TabPanel.js +26 -0
- package/dist/esm/components/TabPanel.styled.js +10 -0
- package/dist/esm/components/Table.js +17 -0
- package/dist/esm/components/TableBody.js +17 -0
- package/dist/esm/components/TableCell.js +17 -0
- package/dist/esm/components/TableContainer.js +17 -0
- package/dist/esm/components/TableFooter.js +17 -0
- package/dist/esm/components/TableHead.js +17 -0
- package/dist/esm/components/TableRow.js +17 -0
- package/dist/esm/components/Tabs.js +61 -0
- package/dist/esm/components/Tabs.styled.js +88 -0
- package/dist/esm/components/Tag.js +33 -0
- package/dist/esm/components/Tag.styled.js +114 -0
- package/dist/esm/components/Text.js +32 -0
- package/dist/esm/components/TextInput.js +141 -0
- package/dist/esm/components/TextInput.styled.js +105 -0
- package/dist/esm/components/ThemeProvider.js +39 -0
- package/dist/esm/components/TimeInput.js +244 -0
- package/dist/esm/components/TimeInput.styled.js +34 -0
- package/dist/esm/components/Tooltip.js +36 -0
- package/dist/esm/components/Tooltip.styled.js +51 -0
- package/dist/esm/components/Truncate.js +19 -0
- package/dist/esm/index.js +84 -0
- package/dist/esm/theme/index.js +247 -0
- package/dist/esm/utils/animations.js +60 -0
- package/dist/esm/utils/colors.js +28 -0
- package/dist/esm/utils/constants.js +5 -0
- package/dist/esm/utils/files.js +39 -0
- package/dist/esm/utils/helpers/array.js +20 -0
- package/dist/esm/utils/helpers/boolean.js +16 -0
- package/dist/esm/utils/helpers/date.js +6 -0
- package/dist/esm/utils/helpers/dateSelect.js +35 -0
- package/dist/esm/utils/helpers/file.js +47 -0
- package/dist/esm/utils/helpers/index.js +6 -0
- package/dist/esm/utils/helpers/number.js +15 -0
- package/dist/esm/utils/helpers/object.js +88 -0
- package/dist/esm/utils/helpers/string.js +15 -0
- package/dist/esm/utils/helpers/time.js +59 -0
- package/dist/esm/utils/loadFont.js +15 -0
- package/dist/esm/utils/useResize.js +20 -0
- package/package.json +1 -1
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;
|