@tenancy.nz/ui 1.0.2 → 1.0.3
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/dist/cjs/_virtual/_rollupPluginBabelHelpers.cjs +171 -0
- package/dist/cjs/components/Alert.cjs +48 -30
- package/dist/cjs/components/Alert.styled.cjs +25 -27
- package/dist/cjs/components/Autocomplete.cjs +94 -80
- package/dist/cjs/components/Autocomplete.styled.cjs +8 -7
- package/dist/cjs/components/Avatar.cjs +23 -10
- package/dist/cjs/components/Avatar.styled.cjs +8 -10
- package/dist/cjs/components/AvatarCropDialog.cjs +130 -119
- package/dist/cjs/components/AvatarCropDialog.styled.cjs +18 -14
- package/dist/cjs/components/AvatarInput.cjs +191 -137
- package/dist/cjs/components/AvatarInput.styled.cjs +85 -108
- package/dist/cjs/components/Badge.cjs +34 -24
- package/dist/cjs/components/Badge.styled.cjs +6 -15
- package/dist/cjs/components/BankAccountInput.cjs +187 -156
- package/dist/cjs/components/BankAccountInput.styled.cjs +25 -150
- package/dist/cjs/components/Bar.cjs +13 -19
- package/dist/cjs/components/Bar.styled.cjs +9 -15
- package/dist/cjs/components/BaseModal.cjs +35 -24
- package/dist/cjs/components/BaseModal.styled.cjs +6 -8
- package/dist/cjs/components/BooleanInput.cjs +101 -80
- package/dist/cjs/components/BooleanInput.styled.cjs +51 -45
- package/dist/cjs/components/BorderedGrid.cjs +18 -27
- package/dist/cjs/components/Box.cjs +35 -56
- package/dist/cjs/components/Button.cjs +43 -27
- package/dist/cjs/components/Button.styled.cjs +45 -88
- package/dist/cjs/components/Card.cjs +39 -19
- package/dist/cjs/components/Card.styled.cjs +3 -8
- package/dist/cjs/components/CardContent.cjs +5 -2
- package/dist/cjs/components/CardContent.styled.cjs +3 -3
- package/dist/cjs/components/Checkbox.cjs +46 -34
- package/dist/cjs/components/Checkbox.styled.cjs +8 -15
- package/dist/cjs/components/CircularProgress.cjs +4 -2
- package/dist/cjs/components/CollapsedText.cjs +59 -40
- package/dist/cjs/components/CollapsedText.styled.cjs +24 -20
- package/dist/cjs/components/Confirmation.cjs +50 -45
- package/dist/cjs/components/Container.cjs +8 -2
- package/dist/cjs/components/CroppedImageInput.cjs +345 -251
- package/dist/cjs/components/CroppedImageInput.styled.cjs +53 -60
- package/dist/cjs/components/CroppedImageInputActions.cjs +49 -46
- package/dist/cjs/components/DateInput.cjs +142 -129
- package/dist/cjs/components/DateInput.styled.cjs +9 -6
- package/dist/cjs/components/DateNumberInput.cjs +100 -79
- package/dist/cjs/components/DateNumberInput.styled.cjs +32 -21
- package/dist/cjs/components/DatePicker.cjs +85 -52
- package/dist/cjs/components/DatePicker.styled.cjs +14 -9
- package/dist/cjs/components/DateSelect.cjs +172 -156
- package/dist/cjs/components/DateSelect.styled.cjs +3 -5
- package/dist/cjs/components/Divider.cjs +29 -19
- package/dist/cjs/components/Divider.styled.cjs +13 -55
- package/dist/cjs/components/DropZone.cjs +139 -91
- package/dist/cjs/components/DropZone.styled.cjs +30 -23
- package/dist/cjs/components/Embed.cjs +20 -13
- package/dist/cjs/components/Embed.styled.cjs +9 -28
- package/dist/cjs/components/FileUpload.cjs +235 -190
- package/dist/cjs/components/FileUpload.styled.cjs +17 -13
- package/dist/cjs/components/FileUploadButton.cjs +88 -70
- package/dist/cjs/components/FileUploadButtonLoader.cjs +17 -4
- package/dist/cjs/components/FileViewer.cjs +85 -58
- package/dist/cjs/components/FileViewer.styled.cjs +8 -19
- package/dist/cjs/components/FlashMessage.cjs +33 -22
- package/dist/cjs/components/FormControl.cjs +80 -82
- package/dist/cjs/components/FormControl.styled.cjs +7 -10
- package/dist/cjs/components/FormFocus.cjs +20 -22
- package/dist/cjs/components/FormLabel.cjs +18 -12
- package/dist/cjs/components/FormLabel.styled.cjs +23 -43
- package/dist/cjs/components/Grid.cjs +27 -24
- package/dist/cjs/components/Grid.styled.cjs +9 -4
- package/dist/cjs/components/Heading.cjs +31 -30
- package/dist/cjs/components/IconButton.cjs +24 -20
- package/dist/cjs/components/IconButton.styled.cjs +18 -19
- package/dist/cjs/components/Icons.cjs +42 -45
- package/dist/cjs/components/LinearProgress.cjs +4 -2
- package/dist/cjs/components/Link.cjs +17 -11
- package/dist/cjs/components/Link.styled.cjs +10 -20
- package/dist/cjs/components/Media.cjs +16 -13
- package/dist/cjs/components/Media.styled.cjs +12 -36
- package/dist/cjs/components/Modal.cjs +56 -30
- package/dist/cjs/components/ModalActions.cjs +19 -12
- package/dist/cjs/components/ModalContent.cjs +15 -10
- package/dist/cjs/components/ModalHeader.cjs +25 -10
- package/dist/cjs/components/ModalHeader.styled.cjs +8 -18
- package/dist/cjs/components/Nameplate.cjs +71 -61
- package/dist/cjs/components/Nameplate.styled.cjs +18 -37
- package/dist/cjs/components/Pagination.cjs +64 -64
- package/dist/cjs/components/Pagination.styled.cjs +15 -63
- package/dist/cjs/components/Paper.cjs +26 -23
- package/dist/cjs/components/Paper.styled.cjs +15 -33
- package/dist/cjs/components/Popper.cjs +41 -28
- package/dist/cjs/components/PropertyCard.cjs +120 -112
- package/dist/cjs/components/PropertyCard.styled.cjs +18 -57
- package/dist/cjs/components/Radio.cjs +46 -34
- package/dist/cjs/components/Radio.styled.cjs +8 -15
- package/dist/cjs/components/Rating.cjs +4 -2
- package/dist/cjs/components/Select.cjs +97 -71
- package/dist/cjs/components/Select.styled.cjs +49 -84
- package/dist/cjs/components/Skeleton.cjs +23 -12
- package/dist/cjs/components/StatusMessage.cjs +17 -12
- package/dist/cjs/components/StepIcon.cjs +33 -16
- package/dist/cjs/components/StepIcon.styled.cjs +24 -14
- package/dist/cjs/components/Stepper.cjs +62 -28
- package/dist/cjs/components/Stepper.styled.cjs +57 -53
- package/dist/cjs/components/SuccessModal.cjs +34 -8
- package/dist/cjs/components/SuccessModal.styled.cjs +7 -14
- package/dist/cjs/components/Switch.cjs +55 -34
- package/dist/cjs/components/Switch.styled.cjs +27 -96
- package/dist/cjs/components/Tab.cjs +15 -12
- package/dist/cjs/components/Tab.styled.cjs +3 -6
- package/dist/cjs/components/TabPanel.cjs +9 -2
- package/dist/cjs/components/TabPanel.styled.cjs +7 -5
- package/dist/cjs/components/Table.cjs +8 -2
- package/dist/cjs/components/TableBody.cjs +8 -2
- package/dist/cjs/components/TableCell.cjs +8 -2
- package/dist/cjs/components/TableContainer.cjs +8 -2
- package/dist/cjs/components/TableFooter.cjs +8 -2
- package/dist/cjs/components/TableHead.cjs +8 -2
- package/dist/cjs/components/TableRow.cjs +8 -2
- package/dist/cjs/components/Tabs.cjs +18 -29
- package/dist/cjs/components/Tabs.styled.cjs +10 -82
- package/dist/cjs/components/Tag.cjs +36 -26
- package/dist/cjs/components/Tag.styled.cjs +56 -107
- package/dist/cjs/components/Text.cjs +39 -25
- package/dist/cjs/components/TextInput.cjs +141 -113
- package/dist/cjs/components/TextInput.styled.cjs +65 -97
- package/dist/cjs/components/ThemeProvider.cjs +24 -9
- package/dist/cjs/components/TimeInput.cjs +135 -150
- package/dist/cjs/components/TimeInput.styled.cjs +41 -28
- package/dist/cjs/components/Tooltip.cjs +48 -28
- package/dist/cjs/components/Tooltip.styled.cjs +6 -44
- package/dist/cjs/components/Truncate.cjs +5 -3
- package/dist/cjs/theme/index.cjs +43 -41
- package/dist/cjs/utils/animations.cjs +9 -53
- package/dist/cjs/utils/colors.cjs +19 -18
- package/dist/cjs/utils/constants.cjs +2 -2
- package/dist/cjs/utils/files.cjs +8 -8
- package/dist/cjs/utils/helpers/array.cjs +15 -6
- package/dist/cjs/utils/helpers/boolean.cjs +25 -9
- package/dist/cjs/utils/helpers/dateSelect.cjs +27 -14
- package/dist/cjs/utils/helpers/file.cjs +15 -14
- package/dist/cjs/utils/helpers/number.cjs +5 -2
- package/dist/cjs/utils/helpers/object.cjs +36 -37
- package/dist/cjs/utils/helpers/string.cjs +14 -5
- package/dist/cjs/utils/helpers/time.cjs +30 -31
- package/dist/cjs/utils/loadFont.cjs +3 -3
- package/dist/cjs/utils/useResize.cjs +17 -7
- package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +150 -0
- package/dist/esm/components/Alert.js +48 -30
- package/dist/esm/components/Alert.styled.js +25 -27
- package/dist/esm/components/Autocomplete.js +94 -80
- package/dist/esm/components/Autocomplete.styled.js +8 -7
- package/dist/esm/components/Avatar.js +23 -10
- package/dist/esm/components/Avatar.styled.js +8 -10
- package/dist/esm/components/AvatarCropDialog.js +130 -119
- package/dist/esm/components/AvatarCropDialog.styled.js +18 -14
- package/dist/esm/components/AvatarInput.js +191 -137
- package/dist/esm/components/AvatarInput.styled.js +85 -108
- package/dist/esm/components/Badge.js +34 -24
- package/dist/esm/components/Badge.styled.js +6 -15
- package/dist/esm/components/BankAccountInput.js +187 -156
- package/dist/esm/components/BankAccountInput.styled.js +25 -150
- package/dist/esm/components/Bar.js +13 -19
- package/dist/esm/components/Bar.styled.js +9 -15
- package/dist/esm/components/BaseModal.js +37 -26
- package/dist/esm/components/BaseModal.styled.js +6 -8
- package/dist/esm/components/BooleanInput.js +101 -80
- package/dist/esm/components/BooleanInput.styled.js +51 -45
- package/dist/esm/components/BorderedGrid.js +18 -27
- package/dist/esm/components/Box.js +35 -56
- package/dist/esm/components/Button.js +43 -27
- package/dist/esm/components/Button.styled.js +45 -88
- package/dist/esm/components/Card.js +39 -19
- package/dist/esm/components/Card.styled.js +3 -8
- package/dist/esm/components/CardContent.js +5 -2
- package/dist/esm/components/CardContent.styled.js +3 -3
- package/dist/esm/components/Checkbox.js +46 -34
- package/dist/esm/components/Checkbox.styled.js +8 -15
- package/dist/esm/components/CircularProgress.js +4 -2
- package/dist/esm/components/CollapsedText.js +59 -40
- package/dist/esm/components/CollapsedText.styled.js +24 -20
- package/dist/esm/components/Confirmation.js +50 -45
- package/dist/esm/components/Container.js +8 -2
- package/dist/esm/components/CroppedImageInput.js +345 -251
- package/dist/esm/components/CroppedImageInput.styled.js +53 -60
- package/dist/esm/components/CroppedImageInputActions.js +49 -46
- package/dist/esm/components/DateInput.js +142 -129
- package/dist/esm/components/DateInput.styled.js +9 -6
- package/dist/esm/components/DateNumberInput.js +100 -79
- package/dist/esm/components/DateNumberInput.styled.js +32 -21
- package/dist/esm/components/DatePicker.js +85 -52
- package/dist/esm/components/DatePicker.styled.js +14 -9
- package/dist/esm/components/DateSelect.js +172 -156
- package/dist/esm/components/DateSelect.styled.js +3 -5
- package/dist/esm/components/Divider.js +29 -19
- package/dist/esm/components/Divider.styled.js +13 -55
- package/dist/esm/components/DropZone.js +139 -91
- package/dist/esm/components/DropZone.styled.js +30 -23
- package/dist/esm/components/Embed.js +20 -13
- package/dist/esm/components/Embed.styled.js +9 -28
- package/dist/esm/components/FileUpload.js +235 -190
- package/dist/esm/components/FileUpload.styled.js +17 -13
- package/dist/esm/components/FileUploadButton.js +88 -70
- package/dist/esm/components/FileUploadButtonLoader.js +17 -4
- package/dist/esm/components/FileViewer.js +85 -58
- package/dist/esm/components/FileViewer.styled.js +8 -19
- package/dist/esm/components/FlashMessage.js +33 -22
- package/dist/esm/components/FormControl.js +80 -82
- package/dist/esm/components/FormControl.styled.js +7 -10
- package/dist/esm/components/FormFocus.js +20 -22
- package/dist/esm/components/FormLabel.js +18 -12
- package/dist/esm/components/FormLabel.styled.js +23 -43
- package/dist/esm/components/Grid.js +27 -24
- package/dist/esm/components/Grid.styled.js +9 -4
- package/dist/esm/components/Heading.js +31 -30
- package/dist/esm/components/IconButton.js +24 -20
- package/dist/esm/components/IconButton.styled.js +18 -19
- package/dist/esm/components/Icons.js +42 -45
- package/dist/esm/components/LinearProgress.js +4 -2
- package/dist/esm/components/Link.js +17 -11
- package/dist/esm/components/Link.styled.js +10 -20
- package/dist/esm/components/Media.js +16 -13
- package/dist/esm/components/Media.styled.js +12 -36
- package/dist/esm/components/Modal.js +56 -30
- package/dist/esm/components/ModalActions.js +19 -12
- package/dist/esm/components/ModalContent.js +15 -10
- package/dist/esm/components/ModalHeader.js +25 -10
- package/dist/esm/components/ModalHeader.styled.js +8 -18
- package/dist/esm/components/Nameplate.js +71 -61
- package/dist/esm/components/Nameplate.styled.js +18 -37
- package/dist/esm/components/Pagination.js +64 -64
- package/dist/esm/components/Pagination.styled.js +15 -63
- package/dist/esm/components/Paper.js +26 -23
- package/dist/esm/components/Paper.styled.js +15 -33
- package/dist/esm/components/Popper.js +41 -28
- package/dist/esm/components/PropertyCard.js +120 -112
- package/dist/esm/components/PropertyCard.styled.js +18 -57
- package/dist/esm/components/Radio.js +46 -34
- package/dist/esm/components/Radio.styled.js +8 -15
- package/dist/esm/components/Rating.js +4 -2
- package/dist/esm/components/Select.js +97 -71
- package/dist/esm/components/Select.styled.js +49 -84
- package/dist/esm/components/Skeleton.js +23 -12
- package/dist/esm/components/StatusMessage.js +17 -12
- package/dist/esm/components/StepIcon.js +33 -16
- package/dist/esm/components/StepIcon.styled.js +24 -14
- package/dist/esm/components/Stepper.js +62 -28
- package/dist/esm/components/Stepper.styled.js +57 -53
- package/dist/esm/components/SuccessModal.js +34 -8
- package/dist/esm/components/SuccessModal.styled.js +7 -14
- package/dist/esm/components/Switch.js +55 -34
- package/dist/esm/components/Switch.styled.js +27 -96
- package/dist/esm/components/Tab.js +15 -12
- package/dist/esm/components/Tab.styled.js +3 -6
- package/dist/esm/components/TabPanel.js +9 -2
- package/dist/esm/components/TabPanel.styled.js +7 -5
- package/dist/esm/components/Table.js +8 -2
- package/dist/esm/components/TableBody.js +8 -2
- package/dist/esm/components/TableCell.js +8 -2
- package/dist/esm/components/TableContainer.js +8 -2
- package/dist/esm/components/TableFooter.js +8 -2
- package/dist/esm/components/TableHead.js +8 -2
- package/dist/esm/components/TableRow.js +8 -2
- package/dist/esm/components/Tabs.js +18 -29
- package/dist/esm/components/Tabs.styled.js +10 -82
- package/dist/esm/components/Tag.js +36 -26
- package/dist/esm/components/Tag.styled.js +56 -107
- package/dist/esm/components/Text.js +39 -25
- package/dist/esm/components/TextInput.js +141 -113
- package/dist/esm/components/TextInput.styled.js +65 -97
- package/dist/esm/components/ThemeProvider.js +24 -9
- package/dist/esm/components/TimeInput.js +135 -150
- package/dist/esm/components/TimeInput.styled.js +41 -28
- package/dist/esm/components/Tooltip.js +48 -28
- package/dist/esm/components/Tooltip.styled.js +6 -44
- package/dist/esm/components/Truncate.js +5 -3
- package/dist/esm/theme/index.js +43 -41
- package/dist/esm/utils/animations.js +9 -53
- package/dist/esm/utils/colors.js +19 -18
- package/dist/esm/utils/constants.js +2 -2
- package/dist/esm/utils/files.js +8 -8
- package/dist/esm/utils/helpers/array.js +15 -6
- package/dist/esm/utils/helpers/boolean.js +25 -9
- package/dist/esm/utils/helpers/dateSelect.js +28 -15
- package/dist/esm/utils/helpers/file.js +15 -14
- package/dist/esm/utils/helpers/number.js +5 -2
- package/dist/esm/utils/helpers/object.js +36 -37
- package/dist/esm/utils/helpers/string.js +14 -5
- package/dist/esm/utils/helpers/time.js +31 -32
- package/dist/esm/utils/loadFont.js +3 -3
- package/dist/esm/utils/useResize.js +17 -7
- package/package.json +2 -2
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
+
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.cjs');
|
|
6
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
8
|
var React = require('react');
|
|
8
9
|
var PropTypes = require('prop-types');
|
|
@@ -15,44 +16,80 @@ var ModalActions = require('./ModalActions.cjs');
|
|
|
15
16
|
require('react-image-crop/dist/ReactCrop.css');
|
|
16
17
|
var AvatarCropDialog_styled = require('./AvatarCropDialog.styled.cjs');
|
|
17
18
|
|
|
18
|
-
function AvatarCropDialog({
|
|
19
|
-
helperText =
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
19
|
+
function AvatarCropDialog(_ref) {
|
|
20
|
+
var _ref$helperText = _ref.helperText,
|
|
21
|
+
helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
|
|
22
|
+
_ref$label = _ref.label,
|
|
23
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
24
|
+
_ref$showError = _ref.showError,
|
|
25
|
+
showError = _ref$showError === void 0 ? false : _ref$showError,
|
|
26
|
+
_ref$errorMessage = _ref.errorMessage,
|
|
27
|
+
errorMessage = _ref$errorMessage === void 0 ? "" : _ref$errorMessage,
|
|
28
|
+
_ref$onSave = _ref.onSave,
|
|
29
|
+
onSave = _ref$onSave === void 0 ? function () {
|
|
30
|
+
return Promise.resolve(true);
|
|
31
|
+
} : _ref$onSave,
|
|
32
|
+
_ref$onDelete = _ref.onDelete,
|
|
33
|
+
onDelete = _ref$onDelete === void 0 ? function () {
|
|
34
|
+
return Promise.resolve(true);
|
|
35
|
+
} : _ref$onDelete,
|
|
36
|
+
_ref$droppedFile = _ref.droppedFile,
|
|
37
|
+
droppedFile = _ref$droppedFile === void 0 ? null : _ref$droppedFile;
|
|
38
|
+
var isNotMobile = useMediaQuery(function (theme) {
|
|
39
|
+
return theme.breakpoints.up("md");
|
|
40
|
+
});
|
|
41
|
+
var _useState = React.useState({
|
|
42
|
+
aspect: 1,
|
|
43
|
+
unit: "%",
|
|
44
|
+
width: 100
|
|
45
|
+
}),
|
|
46
|
+
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
|
47
|
+
crop = _useState2[0],
|
|
48
|
+
setCrop = _useState2[1];
|
|
49
|
+
var _useState3 = React.useState(null),
|
|
50
|
+
_useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
|
|
51
|
+
originalImage = _useState4[0],
|
|
52
|
+
setOriginalImage = _useState4[1];
|
|
53
|
+
var _useState5 = React.useState(false),
|
|
54
|
+
_useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
|
|
55
|
+
confirmDelete = _useState6[0],
|
|
56
|
+
setConfirmDelete = _useState6[1];
|
|
57
|
+
var _useState7 = React.useState("100%"),
|
|
58
|
+
_useState8 = _rollupPluginBabelHelpers.slicedToArray(_useState7, 2),
|
|
59
|
+
editorWidth = _useState8[0],
|
|
60
|
+
setEditorWidth = _useState8[1];
|
|
61
|
+
var _useState9 = React.useState(false),
|
|
62
|
+
_useState0 = _rollupPluginBabelHelpers.slicedToArray(_useState9, 2),
|
|
63
|
+
saving = _useState0[0],
|
|
64
|
+
setSaving = _useState0[1];
|
|
65
|
+
var _useState1 = React.useState(false),
|
|
66
|
+
_useState10 = _rollupPluginBabelHelpers.slicedToArray(_useState1, 2),
|
|
67
|
+
cancelling = _useState10[0],
|
|
68
|
+
setCancelling = _useState10[1];
|
|
69
|
+
var handleCancel = function handleCancel() {
|
|
35
70
|
setCancelling(true);
|
|
36
|
-
onDelete().then(()
|
|
71
|
+
onDelete().then(function () {
|
|
37
72
|
setOriginalImage(null);
|
|
38
73
|
setConfirmDelete(false);
|
|
39
74
|
setCancelling(false);
|
|
40
75
|
});
|
|
41
76
|
};
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
77
|
+
var handleCropChange = function handleCropChange(newCrop) {
|
|
78
|
+
return setCrop(newCrop);
|
|
79
|
+
};
|
|
80
|
+
var handleImageLoaded = function handleImageLoaded(image) {
|
|
81
|
+
var width = image.width;
|
|
45
82
|
if (window.innerHeight * 0.7 < image.height) {
|
|
46
83
|
width = image.width * (window.innerHeight * 0.7 / image.height);
|
|
47
84
|
}
|
|
48
85
|
if (width < window.innerWidth * 0.7) {
|
|
49
|
-
setEditorWidth(
|
|
86
|
+
setEditorWidth("".concat(width, "px"));
|
|
50
87
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
88
|
+
var widthPercent = image.width < image.height ? 1 : image.height / image.width;
|
|
89
|
+
var heightPercent = image.width > image.height ? 1 : image.width / image.height;
|
|
90
|
+
var y = (1 - heightPercent) / 2;
|
|
91
|
+
var x = (1 - widthPercent) / 2;
|
|
92
|
+
var height = image.height * (width / image.width);
|
|
56
93
|
setCrop({
|
|
57
94
|
unit: "px",
|
|
58
95
|
width: width * widthPercent,
|
|
@@ -64,107 +101,81 @@ function AvatarCropDialog({
|
|
|
64
101
|
setOriginalImage(image);
|
|
65
102
|
return false;
|
|
66
103
|
};
|
|
67
|
-
|
|
104
|
+
var handleImageSave = function handleImageSave() {
|
|
68
105
|
if (originalImage && crop.width && crop.height) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
106
|
+
var canvas = document.createElement("canvas");
|
|
107
|
+
var scaleX = originalImage.naturalWidth / originalImage.width;
|
|
108
|
+
var scaleY = originalImage.naturalHeight / originalImage.height;
|
|
72
109
|
canvas.width = crop.width;
|
|
73
110
|
canvas.height = crop.height;
|
|
74
|
-
|
|
75
|
-
ctx.drawImage(
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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());
|
|
111
|
+
var ctx = canvas.getContext("2d");
|
|
112
|
+
ctx.drawImage(originalImage, crop.x * scaleX, crop.y * scaleY, crop.width * scaleX, crop.height * scaleY, 0, 0, crop.width, crop.height);
|
|
113
|
+
return new Promise(function (resolve, reject) {
|
|
114
|
+
canvas.toBlob(function (blob) {
|
|
115
|
+
if (!blob) {
|
|
116
|
+
console.error("Canvas is empty");
|
|
117
|
+
reject();
|
|
118
|
+
}
|
|
119
|
+
setSaving(true);
|
|
120
|
+
var reader = new FileReader();
|
|
121
|
+
reader.addEventListener("load", function () {
|
|
122
|
+
onSave(reader.result, blob).then(function () {
|
|
123
|
+
return resolve();
|
|
97
124
|
});
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
0.6
|
|
102
|
-
);
|
|
125
|
+
});
|
|
126
|
+
reader.readAsDataURL(blob);
|
|
127
|
+
}, "image/jpeg", 0.6);
|
|
103
128
|
});
|
|
104
129
|
}
|
|
105
130
|
return false;
|
|
106
131
|
};
|
|
107
|
-
return /* @__PURE__ */
|
|
108
|
-
/* @__PURE__ */
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
children: /* @__PURE__ */
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
+
return /* @__PURE__ */jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
133
|
+
children: [/* @__PURE__ */jsxRuntime.jsx(FormControl.default, {
|
|
134
|
+
name: "avatar-crop-editor",
|
|
135
|
+
fullWidth: true,
|
|
136
|
+
label: label,
|
|
137
|
+
helperText: helperText,
|
|
138
|
+
showError: showError,
|
|
139
|
+
errorMessage: errorMessage,
|
|
140
|
+
children: /* @__PURE__ */jsxRuntime.jsx(AvatarCropDialog_styled.StyledEditor, {
|
|
141
|
+
showError: showError,
|
|
142
|
+
children: /* @__PURE__ */jsxRuntime.jsx(ReactCrop, {
|
|
143
|
+
src: droppedFile,
|
|
144
|
+
crop: crop,
|
|
145
|
+
style: {
|
|
146
|
+
width: editorWidth,
|
|
147
|
+
maxHeight: window.innerHeight * 0.7
|
|
148
|
+
},
|
|
149
|
+
circularCrop: true,
|
|
150
|
+
onChange: handleCropChange,
|
|
151
|
+
onImageLoaded: handleImageLoaded,
|
|
152
|
+
keepSelection: true
|
|
153
|
+
})
|
|
154
|
+
})
|
|
155
|
+
}, "form-control"), /* @__PURE__ */jsxRuntime.jsxs(ModalActions.default, {
|
|
156
|
+
children: [/* @__PURE__ */jsxRuntime.jsx(Button.default, {
|
|
157
|
+
onClick: handleCancel,
|
|
158
|
+
variant: "outlined",
|
|
159
|
+
loading: cancelling,
|
|
160
|
+
color: "primaryAlt",
|
|
161
|
+
fullWidth: !isNotMobile,
|
|
162
|
+
children: "Cancel"
|
|
163
|
+
}), /* @__PURE__ */jsxRuntime.jsx(Button.default, {
|
|
164
|
+
onClick: handleImageSave,
|
|
165
|
+
loading: saving,
|
|
166
|
+
color: "primaryAlt",
|
|
167
|
+
fullWidth: !isNotMobile,
|
|
168
|
+
children: "Save"
|
|
169
|
+
})]
|
|
170
|
+
}), /* @__PURE__ */jsxRuntime.jsx(Confirmation.default, {
|
|
171
|
+
open: confirmDelete,
|
|
172
|
+
onCancel: function onCancel() {
|
|
173
|
+
return setConfirmDelete(false);
|
|
132
174
|
},
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
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
|
-
] });
|
|
175
|
+
onConfirm: handleCancel,
|
|
176
|
+
message: "Are you sure you want to remove the attached image?"
|
|
177
|
+
})]
|
|
178
|
+
});
|
|
168
179
|
}
|
|
169
180
|
AvatarCropDialog.propTypes = {
|
|
170
181
|
/**
|
|
@@ -3,19 +3,23 @@
|
|
|
3
3
|
|
|
4
4
|
var styles = require('@mui/material/styles');
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
6
|
+
var StyledEditor = styles.styled("div")(function (_ref) {
|
|
7
|
+
var showError = _ref.showError,
|
|
8
|
+
theme = _ref.theme;
|
|
9
|
+
return {
|
|
10
|
+
width: "100%",
|
|
11
|
+
padding: theme.spacing(6, 4),
|
|
12
|
+
backgroundImage: "linear-gradient(45deg, ".concat(theme.palette.grey[700], " 25%, transparent 25%), linear-gradient(-45deg, ").concat(theme.palette.grey[700], " 25%, transparent 25%), linear-gradient(45deg, transparent 75%, ").concat(theme.palette.grey[700], " 75%), linear-gradient(-45deg, transparent 75%, ").concat(theme.palette.grey[700], " 75%)"),
|
|
13
|
+
backgroundSize: "20px 20px",
|
|
14
|
+
backgroundColor: "rgba(0, 0, 0, 0.5)",
|
|
15
|
+
backgroundPosition: "0 0, 0 10px, 10px -10px, -10px 0px",
|
|
16
|
+
border: "1px solid ".concat(showError ? theme.palette.error.main : theme.palette.primary.main),
|
|
17
|
+
borderRadius: theme.shape.borderRadius,
|
|
18
|
+
"& .ReactCrop": {
|
|
19
|
+
margin: "0 auto",
|
|
20
|
+
display: "block"
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
});
|
|
20
24
|
|
|
21
25
|
exports.StyledEditor = StyledEditor;
|