@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.
@@ -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 })))));