@selfcommunity/react-ui 0.7.0-alpha.307 → 0.7.0-alpha.309
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/lib/cjs/components/NavigationSettingsIconButton/NavigationSettingsIconButton.js +2 -2
- package/lib/cjs/components/PrivateMessageEditor/PrivateMessageEditor.js +1 -1
- package/lib/cjs/shared/Media/Document/EditComponent.js +6 -1
- package/lib/cjs/shared/Media/Image/EditComponent.js +5 -1
- package/lib/esm/components/NavigationSettingsIconButton/NavigationSettingsIconButton.js +2 -2
- package/lib/esm/components/PrivateMessageEditor/PrivateMessageEditor.js +1 -1
- package/lib/esm/shared/Media/Document/EditComponent.js +7 -2
- package/lib/esm/shared/Media/Image/EditComponent.js +6 -2
- package/lib/umd/329.js +1 -1
- package/lib/umd/react-ui.js +1 -1
- package/package.json +12 -8
|
@@ -207,7 +207,7 @@ function NavigationSettingsIconButton(inProps) {
|
|
|
207
207
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
208
208
|
react_1.default.createElement(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className) }, rest, { onClick: handleOpen }),
|
|
209
209
|
react_1.default.createElement(material_1.Icon, null, "more_vert")),
|
|
210
|
-
isMobile ? (react_1.default.createElement(SwipeableDrawerRoot, { className: classes.drawerRoot, anchor: "bottom", open: Boolean(anchorEl), onClose: handleClose, onOpen: handleOpen, PaperProps: { className: classes.paper }, disableSwipeToOpen: true },
|
|
211
|
-
react_1.default.createElement(material_1.List, null, renderList()))) : (react_1.default.createElement(MenuRoot, { className: classes.menuRoot, anchorEl: anchorEl, open: Boolean(anchorEl), onClose: handleClose, PaperProps: { className: classes.paper } }, renderList()))));
|
|
210
|
+
isMobile ? (react_1.default.createElement(SwipeableDrawerRoot, { onClick: () => setAnchorEl(null), className: classes.drawerRoot, anchor: "bottom", open: Boolean(anchorEl), onClose: handleClose, onOpen: handleOpen, PaperProps: { className: classes.paper }, disableSwipeToOpen: true },
|
|
211
|
+
react_1.default.createElement(material_1.List, null, renderList()))) : (react_1.default.createElement(MenuRoot, { onClick: () => setAnchorEl(null), className: classes.menuRoot, anchorEl: anchorEl, open: Boolean(anchorEl), onClose: handleClose, PaperProps: { className: classes.paper } }, renderList()))));
|
|
212
212
|
}
|
|
213
213
|
exports.default = NavigationSettingsIconButton;
|
|
@@ -128,7 +128,7 @@ function PrivateMessageEditor(inProps) {
|
|
|
128
128
|
function renderContent() {
|
|
129
129
|
return (react_1.default.createElement(react_1.default.Fragment, null, openMediaSection ? (react_1.default.createElement(MessageMediaUploader_1.default, { className: classes.uploadMediaSection, open: openMediaSection, onClose: handleMediaSectionClose, forwardMessageFile: handleMessageFiles, isUploading: setUploading, action: react_1.default.createElement(material_1.IconButton, { disabled: (!message && !messageFiles.length) || uploading, onClick: handleMessageSend },
|
|
130
130
|
react_1.default.createElement(Icon_1.default, null, "send")) })) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
131
|
-
openEmojiSection && react_1.default.createElement(EmojiPicker_1.default, { className: classes.emojiSection, onEmojiClick: handleEmojiClick, width: "100%" }),
|
|
131
|
+
openEmojiSection && react_1.default.createElement(EmojiPicker_1.default, { className: classes.emojiSection, onEmojiClick: handleEmojiClick, width: "100%", searchDisabled: true }),
|
|
132
132
|
react_1.default.createElement(material_1.TextField, { size: "small", disabled: Boolean(messageFiles.length) || openMediaSection, ref: ref, className: classes.messageInput, multiline: true, placeholder: `${intl.formatMessage(messages.placeholder)}`, value: message, onChange: handleMessageInput, maxRows: 2, onSelect: () => setOpenEmojiSection(false), InputProps: {
|
|
133
133
|
disableUnderline: true,
|
|
134
134
|
startAdornment: (react_1.default.createElement(react_1.default.Fragment, null,
|
|
@@ -52,6 +52,11 @@ exports.default = (props) => {
|
|
|
52
52
|
const [errors, setErrors] = (0, react_1.useState)({});
|
|
53
53
|
// CONTEXT
|
|
54
54
|
const scContext = (0, react_1.useContext)(react_core_1.SCContext);
|
|
55
|
+
// FILTER
|
|
56
|
+
const filterByMime = (0, react_1.useCallback)((file) => {
|
|
57
|
+
//filter out files larger than 5MB
|
|
58
|
+
return file.type === 'application/pdf';
|
|
59
|
+
}, []);
|
|
55
60
|
// HANDLERS
|
|
56
61
|
const handleSuccess = (media) => {
|
|
57
62
|
onSuccess(media);
|
|
@@ -91,7 +96,7 @@ exports.default = (props) => {
|
|
|
91
96
|
url: `${scContext.settings.portal}${api_services_1.Endpoints.ComposerChunkUploadMedia.url()}`,
|
|
92
97
|
headers: { Authorization: `Bearer ${scContext.settings.session.authToken.accessToken}` },
|
|
93
98
|
method: api_services_1.Endpoints.ComposerChunkUploadMedia.method
|
|
94
|
-
}, chunkSize: 204800, multiple: true, accept: "application/pdf" },
|
|
99
|
+
}, chunkSize: 204800, multiple: true, accept: "application/pdf", fileFilter: filterByMime },
|
|
95
100
|
react_1.default.createElement(MediaChunkUploader_1.default, { onSuccess: handleSuccess, onProgress: handleProgress, onError: handleError }),
|
|
96
101
|
react_1.default.createElement(upload_drop_zone_1.default, { onDragOverClassName: classes.dragOver, inputFieldName: "document", className: classes.upload },
|
|
97
102
|
react_1.default.createElement(UploadButton, { inputFieldName: "document", className: classes.uploadBtn })))));
|
|
@@ -54,6 +54,10 @@ exports.default = (props) => {
|
|
|
54
54
|
const [errors, setErrors] = (0, react_1.useState)({});
|
|
55
55
|
// CONTEXT
|
|
56
56
|
const scContext = (0, react_1.useContext)(react_core_1.SCContext);
|
|
57
|
+
// FILTER
|
|
58
|
+
const filterByMime = (0, react_1.useCallback)((file) => {
|
|
59
|
+
return file.type.startsWith('image/');
|
|
60
|
+
}, []);
|
|
57
61
|
// HANDLERS
|
|
58
62
|
const handleSuccess = (media) => {
|
|
59
63
|
onSuccess(media);
|
|
@@ -91,7 +95,7 @@ exports.default = (props) => {
|
|
|
91
95
|
react_1.default.createElement(chunked_uploady_1.default, { destination: {
|
|
92
96
|
url: `${scContext.settings.portal}${api_services_1.Endpoints.ComposerChunkUploadMedia.url()}`,
|
|
93
97
|
method: api_services_1.Endpoints.ComposerChunkUploadMedia.method
|
|
94
|
-
}, chunkSize: 204800, multiple: true, accept: "image
|
|
98
|
+
}, fileFilter: filterByMime, chunkSize: 204800, multiple: true, accept: "image/*;capture=camera" },
|
|
95
99
|
react_1.default.createElement(MediaChunkUploader_1.default, { onSuccess: handleSuccess, onProgress: handleProgress, onError: handleError }),
|
|
96
100
|
react_1.default.createElement(upload_drop_zone_1.default, { onDragOverClassName: classes.dragOver, inputFieldName: "image", className: classes.upload },
|
|
97
101
|
react_1.default.createElement(UploadButton, { inputFieldName: "image", className: classes.uploadBtn })))));
|
|
@@ -205,6 +205,6 @@ export default function NavigationSettingsIconButton(inProps) {
|
|
|
205
205
|
return (React.createElement(React.Fragment, null,
|
|
206
206
|
React.createElement(Root, Object.assign({ className: classNames(classes.root, className) }, rest, { onClick: handleOpen }),
|
|
207
207
|
React.createElement(Icon, null, "more_vert")),
|
|
208
|
-
isMobile ? (React.createElement(SwipeableDrawerRoot, { className: classes.drawerRoot, anchor: "bottom", open: Boolean(anchorEl), onClose: handleClose, onOpen: handleOpen, PaperProps: { className: classes.paper }, disableSwipeToOpen: true },
|
|
209
|
-
React.createElement(List, null, renderList()))) : (React.createElement(MenuRoot, { className: classes.menuRoot, anchorEl: anchorEl, open: Boolean(anchorEl), onClose: handleClose, PaperProps: { className: classes.paper } }, renderList()))));
|
|
208
|
+
isMobile ? (React.createElement(SwipeableDrawerRoot, { onClick: () => setAnchorEl(null), className: classes.drawerRoot, anchor: "bottom", open: Boolean(anchorEl), onClose: handleClose, onOpen: handleOpen, PaperProps: { className: classes.paper }, disableSwipeToOpen: true },
|
|
209
|
+
React.createElement(List, null, renderList()))) : (React.createElement(MenuRoot, { onClick: () => setAnchorEl(null), className: classes.menuRoot, anchorEl: anchorEl, open: Boolean(anchorEl), onClose: handleClose, PaperProps: { className: classes.paper } }, renderList()))));
|
|
210
210
|
}
|
|
@@ -126,7 +126,7 @@ export default function PrivateMessageEditor(inProps) {
|
|
|
126
126
|
function renderContent() {
|
|
127
127
|
return (React.createElement(React.Fragment, null, openMediaSection ? (React.createElement(MessageMediaUploader, { className: classes.uploadMediaSection, open: openMediaSection, onClose: handleMediaSectionClose, forwardMessageFile: handleMessageFiles, isUploading: setUploading, action: React.createElement(IconButton, { disabled: (!message && !messageFiles.length) || uploading, onClick: handleMessageSend },
|
|
128
128
|
React.createElement(Icon, null, "send")) })) : (React.createElement(React.Fragment, null,
|
|
129
|
-
openEmojiSection && React.createElement(EmojiPicker, { className: classes.emojiSection, onEmojiClick: handleEmojiClick, width: "100%" }),
|
|
129
|
+
openEmojiSection && React.createElement(EmojiPicker, { className: classes.emojiSection, onEmojiClick: handleEmojiClick, width: "100%", searchDisabled: true }),
|
|
130
130
|
React.createElement(TextField, { size: "small", disabled: Boolean(messageFiles.length) || openMediaSection, ref: ref, className: classes.messageInput, multiline: true, placeholder: `${intl.formatMessage(messages.placeholder)}`, value: message, onChange: handleMessageInput, maxRows: 2, onSelect: () => setOpenEmojiSection(false), InputProps: {
|
|
131
131
|
disableUnderline: true,
|
|
132
132
|
startAdornment: (React.createElement(React.Fragment, null,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __rest } from "tslib";
|
|
2
2
|
import { asUploadButton } from '@rpldy/upload-button';
|
|
3
|
-
import React, { forwardRef, useContext, useState } from 'react';
|
|
3
|
+
import React, { forwardRef, useCallback, useContext, useState } from 'react';
|
|
4
4
|
import { Alert, AlertTitle, Box, Button as MuiButton, Fade, IconButton, ImageList, ImageListItem, ImageListItemBar, Typography } from '@mui/material';
|
|
5
5
|
import { FormattedMessage } from 'react-intl';
|
|
6
6
|
import { ReactSortable } from 'react-sortablejs';
|
|
@@ -50,6 +50,11 @@ export default (props) => {
|
|
|
50
50
|
const [errors, setErrors] = useState({});
|
|
51
51
|
// CONTEXT
|
|
52
52
|
const scContext = useContext(SCContext);
|
|
53
|
+
// FILTER
|
|
54
|
+
const filterByMime = useCallback((file) => {
|
|
55
|
+
//filter out files larger than 5MB
|
|
56
|
+
return file.type === 'application/pdf';
|
|
57
|
+
}, []);
|
|
53
58
|
// HANDLERS
|
|
54
59
|
const handleSuccess = (media) => {
|
|
55
60
|
onSuccess(media);
|
|
@@ -89,7 +94,7 @@ export default (props) => {
|
|
|
89
94
|
url: `${scContext.settings.portal}${Endpoints.ComposerChunkUploadMedia.url()}`,
|
|
90
95
|
headers: { Authorization: `Bearer ${scContext.settings.session.authToken.accessToken}` },
|
|
91
96
|
method: Endpoints.ComposerChunkUploadMedia.method
|
|
92
|
-
}, chunkSize: 204800, multiple: true, accept: "application/pdf" },
|
|
97
|
+
}, chunkSize: 204800, multiple: true, accept: "application/pdf", fileFilter: filterByMime },
|
|
93
98
|
React.createElement(MediaChunkUploader, { onSuccess: handleSuccess, onProgress: handleProgress, onError: handleError }),
|
|
94
99
|
React.createElement(UploadDropZone, { onDragOverClassName: classes.dragOver, inputFieldName: "document", className: classes.upload },
|
|
95
100
|
React.createElement(UploadButton, { inputFieldName: "document", className: classes.uploadBtn })))));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __rest } from "tslib";
|
|
2
2
|
import { asUploadButton } from '@rpldy/upload-button';
|
|
3
|
-
import React, { forwardRef, useContext, useState } from 'react';
|
|
3
|
+
import React, { forwardRef, useCallback, useContext, useState } from 'react';
|
|
4
4
|
import { Alert, AlertTitle, Box, Button as MuiButton, Fade, IconButton, ImageList, ImageListItem, ImageListItemBar, Typography } from '@mui/material';
|
|
5
5
|
import Icon from '@mui/material/Icon';
|
|
6
6
|
import { FormattedMessage } from 'react-intl';
|
|
@@ -52,6 +52,10 @@ export default (props) => {
|
|
|
52
52
|
const [errors, setErrors] = useState({});
|
|
53
53
|
// CONTEXT
|
|
54
54
|
const scContext = useContext(SCContext);
|
|
55
|
+
// FILTER
|
|
56
|
+
const filterByMime = useCallback((file) => {
|
|
57
|
+
return file.type.startsWith('image/');
|
|
58
|
+
}, []);
|
|
55
59
|
// HANDLERS
|
|
56
60
|
const handleSuccess = (media) => {
|
|
57
61
|
onSuccess(media);
|
|
@@ -89,7 +93,7 @@ export default (props) => {
|
|
|
89
93
|
React.createElement(ChunkedUploady, { destination: {
|
|
90
94
|
url: `${scContext.settings.portal}${Endpoints.ComposerChunkUploadMedia.url()}`,
|
|
91
95
|
method: Endpoints.ComposerChunkUploadMedia.method
|
|
92
|
-
}, chunkSize: 204800, multiple: true, accept: "image
|
|
96
|
+
}, fileFilter: filterByMime, chunkSize: 204800, multiple: true, accept: "image/*;capture=camera" },
|
|
93
97
|
React.createElement(MediaChunkUploader, { onSuccess: handleSuccess, onProgress: handleProgress, onError: handleError }),
|
|
94
98
|
React.createElement(UploadDropZone, { onDragOverClassName: classes.dragOver, inputFieldName: "image", className: classes.upload },
|
|
95
99
|
React.createElement(UploadButton, { inputFieldName: "image", className: classes.uploadBtn })))));
|