@selfcommunity/react-ui 0.10.5-alpha.9 → 0.11.0-alpha.0
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/ChangeCover/ChangeCover.js +1 -1
- package/lib/cjs/components/Composer/Composer.js +2 -2
- package/lib/cjs/components/ComposerIconButton/ComposerIconButton.d.ts +25 -2
- package/lib/cjs/components/ComposerIconButton/ComposerIconButton.js +116 -20
- package/lib/cjs/components/CreateEventWidget/CreateEventWidget.js +2 -2
- package/lib/cjs/components/CreateLiveStreamButton/CreateLiveStreamButton.js +1 -1
- package/lib/cjs/components/EventSubscribeButton/EventSubscribeButton.js +1 -1
- package/lib/cjs/components/GroupActionsMenu/index.js +1 -1
- package/lib/cjs/components/GroupSettingsIconButton/GroupSettingsIconButton.js +1 -1
- package/lib/cjs/components/LiveStreamRoom/LiveStreamRoom.js +19 -5
- package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/LiveStreamVideoConference.js +20 -2
- package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/ParticipantTileActions.js +1 -1
- package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/PreJoin.d.ts +4 -1
- package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/PreJoin.js +10 -4
- package/lib/cjs/components/NavigationMenuIconButton/NavigationMenuDrawer.js +3 -3
- package/lib/cjs/components/OnBoardingWidget/ActionsButton.js +1 -1
- package/lib/cjs/components/PrivateMessageSettingsIconButton/PrivateMessageSettingsIconButton.js +1 -1
- package/lib/cjs/components/UserActionIconButton/UserActionIconButton.js +1 -1
- package/lib/cjs/components/UserProfileHeader/UserProfileHeader.js +1 -1
- package/lib/esm/components/ChangeCover/ChangeCover.js +1 -1
- package/lib/esm/components/Composer/Composer.js +2 -2
- package/lib/esm/components/ComposerIconButton/ComposerIconButton.d.ts +25 -2
- package/lib/esm/components/ComposerIconButton/ComposerIconButton.js +117 -21
- package/lib/esm/components/CreateEventWidget/CreateEventWidget.js +2 -2
- package/lib/esm/components/CreateLiveStreamButton/CreateLiveStreamButton.js +1 -1
- package/lib/esm/components/EventSubscribeButton/EventSubscribeButton.js +1 -1
- package/lib/esm/components/GroupActionsMenu/index.js +1 -1
- package/lib/esm/components/GroupSettingsIconButton/GroupSettingsIconButton.js +1 -1
- package/lib/esm/components/LiveStreamRoom/LiveStreamRoom.js +19 -5
- package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/LiveStreamVideoConference.js +21 -3
- package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/ParticipantTileActions.js +1 -1
- package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/PreJoin.d.ts +4 -1
- package/lib/esm/components/LiveStreamRoom/LiveStreamVideoConference/PreJoin.js +10 -4
- package/lib/esm/components/NavigationMenuIconButton/NavigationMenuDrawer.js +3 -3
- package/lib/esm/components/OnBoardingWidget/ActionsButton.js +1 -1
- package/lib/esm/components/PrivateMessageSettingsIconButton/PrivateMessageSettingsIconButton.js +1 -1
- package/lib/esm/components/UserActionIconButton/UserActionIconButton.js +1 -1
- package/lib/esm/components/UserProfileHeader/UserProfileHeader.js +1 -1
- package/lib/umd/react-ui.js +1 -1
- package/package.json +6 -6
|
@@ -174,7 +174,7 @@ function ChangeCover(inProps) {
|
|
|
174
174
|
/**
|
|
175
175
|
* Renders change cover menu
|
|
176
176
|
*/
|
|
177
|
-
const cc = ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ size: "small", variant: "contained", disabled: loading, onClick: handleOpen }, rest, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { children: "photo_camera" }) })), (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isMobile ? ((0, jsx_runtime_1.jsx)(material_1.SwipeableDrawer, Object.assign({ open:
|
|
177
|
+
const cc = ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ size: "small", variant: "contained", disabled: loading, onClick: handleOpen }, rest, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { children: "photo_camera" }) })), open && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isMobile ? ((0, jsx_runtime_1.jsx)(material_1.SwipeableDrawer, Object.assign({ open: true, onClose: handleClose, onOpen: handleOpen, anchor: "bottom", disableSwipeToOpen: true }, { children: renderMenuItems() }))) : ((0, jsx_runtime_1.jsx)(material_1.Menu, Object.assign({ anchorEl: anchorEl, open: true, onClose: handleClose }, { children: renderMenuItems() }))) })), !isMobile && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Button, Object.assign({ className: classes.helpPopover, variant: "contained", onClick: handleClickHelpButton }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { children: "help_outline" }) })), isOpen && ((0, jsx_runtime_1.jsx)(material_1.Popover, Object.assign({ open: isOpen, anchorEl: anchorElPopover, onClose: handleCloseHelpPopover, anchorOrigin: {
|
|
178
178
|
vertical: 'bottom',
|
|
179
179
|
horizontal: 'right'
|
|
180
180
|
} }, { children: (0, jsx_runtime_1.jsxs)(material_1.Box, Object.assign({ sx: { p: '10px' } }, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ component: "h3" }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.changeCover.button.uploadA", defaultMessage: "ui.changeCover.button.uploadA" }) })), (0, jsx_runtime_1.jsx)(material_1.Divider, {}), (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ component: "span" }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.changeCover.info", defaultMessage: "ui.changeCover.info", values: {
|
|
@@ -133,7 +133,7 @@ function Composer(inProps) {
|
|
|
133
133
|
props: inProps,
|
|
134
134
|
name: constants_1.PREFIX
|
|
135
135
|
});
|
|
136
|
-
const { feedObjectId = null, feedObjectType = null, feedObject = null, defaultValue = {}, mediaObjectTypes = [Media_2.File, Media_2.Link, Media_2.Share], EditorProps = {}, onClose = null, onSuccess = null,
|
|
136
|
+
const { feedObjectId = null, feedObjectType = null, feedObject = null, defaultValue = {}, mediaObjectTypes = [Media_2.File, Media_2.Link, Media_2.Share], EditorProps = {}, onClose = null, onSuccess = null, feedType } = props, rest = tslib_1.__rest(props, ["feedObjectId", "feedObjectType", "feedObject", "defaultValue", "mediaObjectTypes", "EditorProps", "onClose", "onSuccess", "feedType"]);
|
|
137
137
|
// Context
|
|
138
138
|
const { preferences, features } = (0, react_core_1.useSCPreferences)();
|
|
139
139
|
const scUserContext = (0, react_core_1.useSCUser)();
|
|
@@ -589,7 +589,7 @@ function Composer(inProps) {
|
|
|
589
589
|
if (!scUserContext.user && !(scUserContext.loading && open)) {
|
|
590
590
|
return null;
|
|
591
591
|
}
|
|
592
|
-
return ((0, jsx_runtime_1.jsxs)(Root, Object.assign({ ref: dialogRef, TransitionComponent: DialogTransition,
|
|
592
|
+
return ((0, jsx_runtime_1.jsxs)(Root, Object.assign({ ref: dialogRef, TransitionComponent: DialogTransition, slots: { backdrop: BackdropScrollDisabled_1.default }, onClose: handleClose }, rest, { disableEscapeKeyDown: true, className: (0, classnames_1.default)(classes.root, { [classes.ios]: isIOS }), scroll: "body", fullScreen: fullScreen, tabIndex: -1 }, { children: [(0, jsx_runtime_1.jsxs)("form", Object.assign({ onSubmit: handleSubmit, method: "post" }, { children: [(0, jsx_runtime_1.jsxs)(material_1.DialogTitle, Object.assign({ className: classes.title }, { children: [(0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ onClick: handleClosePrompt }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { children: "close" }) })), (0, jsx_runtime_1.jsx)(LoadingButton_1.default, Object.assign({ size: "small", type: "submit", color: "secondary", variant: "contained", disabled: !canSubmit, loading: isSubmitting }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.composer.submit", defaultMessage: "ui.composer.submit" }) }))] })), (0, jsx_runtime_1.jsxs)(material_1.DialogContent, Object.assign({ className: classes.content }, { children: [(0, jsx_runtime_1.jsx)(Attributes_1.default, { value: { categories, event, group, addressing, location }, className: classes.attributes, onChange: handleChangeAttributes, onClick: handleClickAttributes }), content, medias && medias.length > 0 && ((0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.medias }, { children: mediaObjectTypes.map((mediaObjectType) => {
|
|
593
593
|
if (mediaObjectType.previewComponent) {
|
|
594
594
|
return (0, jsx_runtime_1.jsx)(mediaObjectType.previewComponent, { value: medias, onChange: handleChangeMedias }, mediaObjectType.name);
|
|
595
595
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { IconButtonProps } from '@mui/material';
|
|
2
|
+
import { IconButtonProps, PopperProps } from '@mui/material';
|
|
3
3
|
import { ComposerProps } from '../Composer';
|
|
4
|
+
import { EventFormDialogProps } from '../EventFormDialog';
|
|
5
|
+
import { GroupFormProps } from '../GroupForm';
|
|
6
|
+
import { CreateLiveStreamDialogProps } from '../CreateLiveStreamDialog';
|
|
4
7
|
export interface ComposerIconButtonProps extends IconButtonProps {
|
|
5
8
|
/**
|
|
6
9
|
* Composer Props
|
|
@@ -12,6 +15,26 @@ export interface ComposerIconButtonProps extends IconButtonProps {
|
|
|
12
15
|
* @default null
|
|
13
16
|
*/
|
|
14
17
|
onClose?: () => void;
|
|
18
|
+
/**
|
|
19
|
+
* Props to spread to popper
|
|
20
|
+
* @default empty object
|
|
21
|
+
*/
|
|
22
|
+
PopperProps?: PopperProps;
|
|
23
|
+
/**
|
|
24
|
+
* Props to spread to CreateGroup component
|
|
25
|
+
* @default empty object
|
|
26
|
+
*/
|
|
27
|
+
GroupFormProps?: GroupFormProps;
|
|
28
|
+
/**
|
|
29
|
+
* Props to spread to CreateGroup component
|
|
30
|
+
* @default empty object
|
|
31
|
+
*/
|
|
32
|
+
EventFormDialogComponentProps?: EventFormDialogProps;
|
|
33
|
+
/**
|
|
34
|
+
* Props to spread to CreateGroup component
|
|
35
|
+
* @default empty object
|
|
36
|
+
*/
|
|
37
|
+
CreateLiveStreamDialogComponentProps?: CreateLiveStreamDialogProps;
|
|
15
38
|
}
|
|
16
39
|
/**
|
|
17
40
|
* > API documentation for the Community-JS Composer Icon Button component. Learn about the available props and the CSS API.
|
|
@@ -35,5 +58,5 @@ export interface ComposerIconButtonProps extends IconButtonProps {
|
|
|
35
58
|
|
|
36
59
|
* @param inProps
|
|
37
60
|
*/
|
|
38
|
-
declare const _default: React.ForwardRefExoticComponent<Pick<ComposerIconButtonProps, "id" | "role" | "className" | "style" | "classes" | "form" | "slot" | "title" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "sx" | "component" | "name" | "onClose" | "type" | "autoFocus" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value" | "action" | "size" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "edge" | "ComposerProps"> & React.RefAttributes<HTMLButtonElement>>;
|
|
61
|
+
declare const _default: React.ForwardRefExoticComponent<Pick<ComposerIconButtonProps, "id" | "role" | "className" | "style" | "classes" | "form" | "slot" | "title" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "sx" | "component" | "name" | "onClose" | "type" | "autoFocus" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value" | "action" | "size" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "edge" | "PopperProps" | "ComposerProps" | "GroupFormProps" | "EventFormDialogComponentProps" | "CreateLiveStreamDialogComponentProps"> & React.RefAttributes<HTMLButtonElement>>;
|
|
39
62
|
export default _default;
|
|
@@ -3,23 +3,30 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
-
const styles_1 = require("@mui/material/styles");
|
|
7
6
|
const material_1 = require("@mui/material");
|
|
8
7
|
const react_core_1 = require("@selfcommunity/react-core");
|
|
9
|
-
const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
10
|
-
const system_1 = require("@mui/system");
|
|
11
8
|
const react_intl_1 = require("react-intl");
|
|
12
9
|
const Composer_1 = tslib_1.__importDefault(require("../Composer"));
|
|
13
10
|
const notistack_1 = require("notistack");
|
|
14
11
|
const contribution_1 = require("../../utils/contribution");
|
|
12
|
+
const EventFormDialog_1 = tslib_1.__importDefault(require("../EventFormDialog"));
|
|
13
|
+
const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
14
|
+
const GroupForm_1 = tslib_1.__importDefault(require("../GroupForm"));
|
|
15
|
+
const CreateLiveStreamDialog_1 = tslib_1.__importDefault(require("../CreateLiveStreamDialog"));
|
|
15
16
|
const PREFIX = 'SCComposerIconButton';
|
|
16
17
|
const classes = {
|
|
17
|
-
root: `${PREFIX}-root
|
|
18
|
+
root: `${PREFIX}-root`,
|
|
19
|
+
popperRoot: `${PREFIX}-popper-root`
|
|
18
20
|
};
|
|
19
|
-
const Root = (0,
|
|
21
|
+
const Root = (0, material_1.styled)(material_1.IconButton, {
|
|
20
22
|
name: PREFIX,
|
|
21
23
|
slot: 'Root'
|
|
22
24
|
})(() => ({}));
|
|
25
|
+
const PopperRoot = (0, material_1.styled)(material_1.Popper, {
|
|
26
|
+
name: PREFIX,
|
|
27
|
+
slot: 'Root',
|
|
28
|
+
overridesResolver: (_props, styles) => styles.popperRoot
|
|
29
|
+
})(() => ({}));
|
|
23
30
|
/**
|
|
24
31
|
* > API documentation for the Community-JS Composer Icon Button component. Learn about the available props and the CSS API.
|
|
25
32
|
|
|
@@ -43,19 +50,88 @@ const Root = (0, styles_1.styled)(material_1.IconButton, {
|
|
|
43
50
|
* @param inProps
|
|
44
51
|
*/
|
|
45
52
|
exports.default = react_1.default.forwardRef(function ComposerIconButton(inProps, ref) {
|
|
53
|
+
var _a, _b, _c;
|
|
46
54
|
// PROPS
|
|
47
|
-
const props = (0,
|
|
55
|
+
const props = (0, material_1.useThemeProps)({
|
|
48
56
|
props: inProps,
|
|
49
57
|
name: PREFIX
|
|
50
58
|
});
|
|
51
|
-
const { className = null, ComposerProps = {}, onClick, onClose } = props, rest = tslib_1.__rest(props, ["className", "ComposerProps", "onClick", "onClose"]);
|
|
59
|
+
const { className = null, ComposerProps = {}, onClick, onClose, PopperProps = {}, GroupFormProps = {}, EventFormDialogComponentProps = {}, CreateLiveStreamDialogComponentProps = {} } = props, rest = tslib_1.__rest(props, ["className", "ComposerProps", "onClick", "onClose", "PopperProps", "GroupFormProps", "EventFormDialogComponentProps", "CreateLiveStreamDialogComponentProps"]);
|
|
52
60
|
// STATE
|
|
53
|
-
const [
|
|
61
|
+
const [openComposer, setOpenComposer] = (0, react_1.useState)(false);
|
|
62
|
+
const [openPopper, setOpenPopper] = (0, react_1.useState)(false);
|
|
63
|
+
const [openCreateGroup, setOpenCreateGroup] = (0, react_1.useState)(false);
|
|
64
|
+
const [openCreateEvent, setOpenCreateEvent] = (0, react_1.useState)(false);
|
|
65
|
+
const [openCreateLiveStream, setOpenCreateLiveStream] = (0, react_1.useState)(false);
|
|
66
|
+
const [listItem, setListItem] = (0, react_1.useState)([
|
|
67
|
+
{
|
|
68
|
+
icon: 'edit',
|
|
69
|
+
text: 'ui.composerIconButton.list.content',
|
|
70
|
+
onClick: () => {
|
|
71
|
+
setOpenComposer(true);
|
|
72
|
+
setOpenPopper(false);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
]);
|
|
76
|
+
// REFS
|
|
77
|
+
const popperRef = (0, react_1.useRef)(null);
|
|
54
78
|
// CONTEXT
|
|
55
79
|
const scUserContext = (0, react_core_1.useSCUser)();
|
|
56
80
|
const scContext = (0, react_core_1.useSCContext)();
|
|
57
81
|
const scRoutingContext = (0, react_core_1.useSCRouting)();
|
|
58
82
|
const { enqueueSnackbar } = (0, notistack_1.useSnackbar)();
|
|
83
|
+
// HOOKS
|
|
84
|
+
const theme = (0, material_1.useTheme)();
|
|
85
|
+
const isMobile = (0, material_1.useMediaQuery)(theme.breakpoints.down('md'));
|
|
86
|
+
// MEMOS
|
|
87
|
+
const canCreateGroup = (0, react_1.useMemo)(() => { var _a, _b; return (_b = (_a = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _a === void 0 ? void 0 : _a.permission) === null || _b === void 0 ? void 0 : _b.create_group; }, [(_a = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _a === void 0 ? void 0 : _a.permission]);
|
|
88
|
+
const canCreateEvent = (0, react_1.useMemo)(() => { var _a, _b; return (_b = (_a = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _a === void 0 ? void 0 : _a.permission) === null || _b === void 0 ? void 0 : _b.create_event; }, [(_b = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _b === void 0 ? void 0 : _b.permission]);
|
|
89
|
+
const canCreateLiveStream = (0, react_1.useMemo)(() => { var _a, _b; return (_b = (_a = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _a === void 0 ? void 0 : _a.permission) === null || _b === void 0 ? void 0 : _b.create_live_stream; }, [(_c = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _c === void 0 ? void 0 : _c.permission]);
|
|
90
|
+
const renderContent = (0, react_1.useMemo)(() => {
|
|
91
|
+
return ((0, jsx_runtime_1.jsx)(material_1.MenuList, { children: listItem.map((item, i) => ((0, jsx_runtime_1.jsxs)(material_1.MenuItem, Object.assign({ onClick: item.onClick }, { children: [(0, jsx_runtime_1.jsx)(material_1.ListItemIcon, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, Object.assign({ fontSize: "small" }, { children: item.icon })) }), (0, jsx_runtime_1.jsx)(material_1.ListItemText, { primary: (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "h5" }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: item.text, defaultMessage: item.text }) })) })] }), i))) }));
|
|
92
|
+
}, [listItem]);
|
|
93
|
+
// EFFETCS
|
|
94
|
+
(0, react_1.useEffect)(() => {
|
|
95
|
+
if (canCreateGroup) {
|
|
96
|
+
setListItem((prev) => [
|
|
97
|
+
...prev,
|
|
98
|
+
{
|
|
99
|
+
icon: 'groups',
|
|
100
|
+
text: 'ui.composerIconButton.list.group',
|
|
101
|
+
onClick: () => {
|
|
102
|
+
setOpenCreateGroup(true);
|
|
103
|
+
setOpenPopper(false);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
]);
|
|
107
|
+
}
|
|
108
|
+
if (canCreateEvent) {
|
|
109
|
+
setListItem((prev) => [
|
|
110
|
+
...prev,
|
|
111
|
+
{
|
|
112
|
+
icon: 'CalendarIcon',
|
|
113
|
+
text: 'ui.composerIconButton.list.event',
|
|
114
|
+
onClick: () => {
|
|
115
|
+
setOpenCreateEvent(true);
|
|
116
|
+
setOpenPopper(false);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
]);
|
|
120
|
+
}
|
|
121
|
+
if (canCreateLiveStream) {
|
|
122
|
+
setListItem((prev) => [
|
|
123
|
+
...prev,
|
|
124
|
+
{
|
|
125
|
+
icon: 'movie',
|
|
126
|
+
text: 'ui.composerIconButton.list.liveStream',
|
|
127
|
+
onClick: () => {
|
|
128
|
+
setOpenCreateLiveStream(true);
|
|
129
|
+
setOpenPopper(false);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
]);
|
|
133
|
+
}
|
|
134
|
+
}, [canCreateGroup, setListItem]);
|
|
59
135
|
// HANDLERS
|
|
60
136
|
const handleClick = (0, react_1.useCallback)((event) => {
|
|
61
137
|
if (scUserContext.user) {
|
|
@@ -66,25 +142,45 @@ exports.default = react_1.default.forwardRef(function ComposerIconButton(inProps
|
|
|
66
142
|
});
|
|
67
143
|
}
|
|
68
144
|
else {
|
|
69
|
-
|
|
145
|
+
if (canCreateGroup || canCreateEvent || canCreateLiveStream) {
|
|
146
|
+
setOpenPopper(true);
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
setOpenComposer(true);
|
|
150
|
+
}
|
|
70
151
|
}
|
|
71
152
|
}
|
|
72
153
|
else {
|
|
73
154
|
scContext.settings.handleAnonymousAction();
|
|
74
155
|
}
|
|
75
|
-
onClick
|
|
76
|
-
}, [onClick,
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
onClose
|
|
80
|
-
}, []);
|
|
81
|
-
const
|
|
82
|
-
|
|
156
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(event);
|
|
157
|
+
}, [onClick, scContext.settings, scUserContext.user]);
|
|
158
|
+
const handleCloseComposer = (0, react_1.useCallback)(() => {
|
|
159
|
+
setOpenComposer(false);
|
|
160
|
+
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
161
|
+
}, [setOpenComposer, onClose]);
|
|
162
|
+
const handleClosePopper = (0, react_1.useCallback)(() => {
|
|
163
|
+
setOpenPopper(false);
|
|
164
|
+
}, [setOpenPopper]);
|
|
165
|
+
const handleCloseCreateGroup = (0, react_1.useCallback)(() => {
|
|
166
|
+
setOpenCreateGroup(false);
|
|
167
|
+
}, [setOpenCreateGroup]);
|
|
168
|
+
const handleCloseCreateEvent = (0, react_1.useCallback)(() => {
|
|
169
|
+
setOpenCreateEvent(false);
|
|
170
|
+
}, [setOpenCreateEvent]);
|
|
171
|
+
const handleCloseCreateLiveStream = (0, react_1.useCallback)(() => {
|
|
172
|
+
setOpenCreateLiveStream(false);
|
|
173
|
+
}, [setOpenCreateLiveStream]);
|
|
174
|
+
const handleSuccess = (0, react_1.useCallback)((feedObject) => {
|
|
175
|
+
setOpenComposer(false);
|
|
83
176
|
enqueueSnackbar((0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.composerIconButton.composer.success", defaultMessage: "ui.composerIconButton.composer.success" }), {
|
|
84
|
-
action: (
|
|
177
|
+
action: () => ((0, jsx_runtime_1.jsx)(react_core_1.Link, Object.assign({ to: scRoutingContext.url(react_core_1.SCRoutes[`${feedObject.type.toUpperCase()}_ROUTE_NAME`], (0, contribution_1.getRouteData)(feedObject)) }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.composerIconButton.composer.viewContribute", defaultMessage: "ui.composerIconButton.composer.viewContribute" }) }))),
|
|
85
178
|
variant: 'success',
|
|
86
179
|
autoHideDuration: 7000
|
|
87
180
|
});
|
|
88
|
-
}, []);
|
|
89
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className)
|
|
181
|
+
}, [setOpenComposer]);
|
|
182
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className), onClick: handleClick, ref: (innerRef) => {
|
|
183
|
+
popperRef.current = innerRef;
|
|
184
|
+
return ref;
|
|
185
|
+
} }, rest, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "add_circle_outline" }) })), openComposer && (0, jsx_runtime_1.jsx)(Composer_1.default, Object.assign({ open: openComposer, fullWidth: true, onClose: handleCloseComposer, onSuccess: handleSuccess }, ComposerProps)), openPopper && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isMobile ? ((0, jsx_runtime_1.jsx)(material_1.SwipeableDrawer, Object.assign({ open: true, onClose: handleClosePopper, onOpen: () => null, anchor: "bottom", disableSwipeToOpen: true }, { children: renderContent }))) : ((0, jsx_runtime_1.jsx)(PopperRoot, Object.assign({ open: true, anchorEl: popperRef.current, role: undefined, transition: true, className: classes.popperRoot }, PopperProps, { placement: "bottom-end" }, { children: ({ TransitionProps, placement }) => ((0, jsx_runtime_1.jsx)(material_1.Grow, Object.assign({}, TransitionProps, { style: { transformOrigin: placement === 'bottom' ? 'center top' : 'center bottom' } }, { children: (0, jsx_runtime_1.jsx)(material_1.Paper, Object.assign({ variant: "outlined" }, { children: (0, jsx_runtime_1.jsx)(material_1.ClickAwayListener, Object.assign({ onClickAway: handleClosePopper }, { children: renderContent })) })) }))) }))) })), openCreateGroup && (0, jsx_runtime_1.jsx)(GroupForm_1.default, Object.assign({ open: openCreateGroup, onClose: handleCloseCreateGroup }, GroupFormProps)), openCreateEvent && (0, jsx_runtime_1.jsx)(EventFormDialog_1.default, Object.assign({ open: openCreateEvent, onClose: handleCloseCreateEvent }, EventFormDialogComponentProps)), openCreateLiveStream && ((0, jsx_runtime_1.jsx)(CreateLiveStreamDialog_1.default, Object.assign({ open: openCreateLiveStream, onClose: handleCloseCreateLiveStream }, CreateLiveStreamDialogComponentProps)))] }));
|
|
90
186
|
});
|
|
@@ -46,10 +46,10 @@ function CreateEventWidget(inProps) {
|
|
|
46
46
|
react_core_1.SCPreferences.CONFIGURATIONS_EVENTS_ENABLED in preferences &&
|
|
47
47
|
preferences[react_core_1.SCPreferences.CONFIGURATIONS_EVENTS_ENABLED].value, [preferences, features]);
|
|
48
48
|
const authUserId = scUserContext.user ? scUserContext.user.id : null;
|
|
49
|
-
const onlyStaffEnabled = (0, react_1.useMemo)(() => preferences[react_core_1.SCPreferences.
|
|
49
|
+
const onlyStaffEnabled = (0, react_1.useMemo)(() => preferences[react_core_1.SCPreferences.CONFIGURATIONS_EVENTS_ONLY_STAFF_ENABLED].value, [preferences]);
|
|
50
50
|
// eslint-disable-next-line @typescript-eslint/ban-ts-ignore
|
|
51
51
|
// @ts-ignore
|
|
52
|
-
const canCreateEvent = (0, react_1.useMemo)(() => { var _a, _b; return (_b = (_a = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _a === void 0 ? void 0 : _a.permission) === null || _b === void 0 ? void 0 : _b.
|
|
52
|
+
const canCreateEvent = (0, react_1.useMemo)(() => { var _a, _b; return (_b = (_a = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _a === void 0 ? void 0 : _a.permission) === null || _b === void 0 ? void 0 : _b.create_event; }, [(_a = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _a === void 0 ? void 0 : _a.permission]);
|
|
53
53
|
(0, react_1.useEffect)(() => {
|
|
54
54
|
setLoading(false);
|
|
55
55
|
}, []);
|
|
@@ -87,6 +87,6 @@ function CreateLiveStreamButton(inProps) {
|
|
|
87
87
|
/**
|
|
88
88
|
* Renders root object
|
|
89
89
|
*/
|
|
90
|
-
return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className), onClick: handleClose, variant: "contained", color: "secondary", startIcon: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "
|
|
90
|
+
return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className), onClick: handleClose, variant: "contained", color: "secondary", startIcon: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "movie" }) }, rest, { children: children !== null && children !== void 0 ? children : (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.createEventButton.goLive", defaultMessage: "ui.createEventButton.goLive" }) })), open && (0, jsx_runtime_1.jsx)(CreateLiveStreamDialog_1.default, Object.assign({ open: true, onClose: handleClose, onSuccess: handleSuccess }, CreateLiveStreamDialogComponentProps))] }));
|
|
91
91
|
}
|
|
92
92
|
exports.default = CreateLiveStreamButton;
|
|
@@ -175,6 +175,6 @@ function EventSubscribeButton(inProps) {
|
|
|
175
175
|
return null;
|
|
176
176
|
}
|
|
177
177
|
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (scEvent === null || scEvent === void 0 ? void 0 : scEvent.privacy) === types_1.SCEventPrivacyType.PRIVATE && (!status || status === types_1.SCEventSubscriptionStatusType.REQUESTED) ? ((0, jsx_runtime_1.jsx)(RequestRoot, Object.assign({ className: (0, classnames_1.default)(classes.requestRoot, className), variant: "outlined", size: "small", loading: scUserContext.user ? scEventsManager.isLoading(scEvent) : null, onClick: handleToggleAction }, rest, { children: getStatus }))) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(SelectRoot, Object.assign({ className: (0, classnames_1.default)(classes.selectRoot, className, { [classes.going]: status && status === types_1.SCEventSubscriptionStatusType.GOING }, { [classes.notGoing]: status && status === types_1.SCEventSubscriptionStatusType.NOT_GOING }), onClick: handleOpen, endIcon: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: open ? 'expand_less' : 'expand_more' }), startIcon: status &&
|
|
178
|
-
status !== types_1.SCEventSubscriptionStatusType.SUBSCRIBED && ((0, jsx_runtime_1.jsx)(material_1.Icon, { children: status === types_1.SCEventSubscriptionStatusType.GOING ? 'circle_checked' : 'circle_closed' })) }, rest, { children: getStatus })), isMobile ? ((0, jsx_runtime_1.jsx)(SwipeableDrawerRoot, Object.assign({ className: classes.drawerRoot, PaperProps: { className: classes.paper }, open:
|
|
178
|
+
status !== types_1.SCEventSubscriptionStatusType.SUBSCRIBED && ((0, jsx_runtime_1.jsx)(material_1.Icon, { children: status === types_1.SCEventSubscriptionStatusType.GOING ? 'circle_checked' : 'circle_closed' })) }, rest, { children: getStatus })), open && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isMobile ? ((0, jsx_runtime_1.jsx)(SwipeableDrawerRoot, Object.assign({ className: classes.drawerRoot, PaperProps: { className: classes.paper }, open: true, onClose: handleClose, onOpen: handleOpen, anchor: "bottom", disableSwipeToOpen: true }, { children: renderMenuItems() }))) : ((0, jsx_runtime_1.jsx)(MenuRoot, Object.assign({ className: classes.menuRoot, anchorEl: anchorEl, open: true, onClose: handleClose }, { children: renderMenuItems() }))) }))] })) }));
|
|
179
179
|
}
|
|
180
180
|
exports.default = EventSubscribeButton;
|
|
@@ -152,6 +152,6 @@ function GroupActionsMenu(inProps) {
|
|
|
152
152
|
if (!scGroup) {
|
|
153
153
|
return null;
|
|
154
154
|
}
|
|
155
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className) }, rest, { onClick: handleOpen }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { children: "more_vert" }) })), isMobile ? ((0, jsx_runtime_1.jsx)(SwipeableDrawerRoot, Object.assign({ className: classes.drawerRoot, anchor: "bottom", open:
|
|
155
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className) }, rest, { onClick: handleOpen }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { children: "more_vert" }) })), Boolean(anchorEl) && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isMobile ? ((0, jsx_runtime_1.jsx)(SwipeableDrawerRoot, Object.assign({ className: classes.drawerRoot, anchor: "bottom", open: true, onClose: handleClose, onOpen: handleOpen, PaperProps: { className: classes.paper }, disableSwipeToOpen: true }, { children: (0, jsx_runtime_1.jsx)(material_1.List, { children: renderList() }) }))) : ((0, jsx_runtime_1.jsx)(MenuRoot, Object.assign({ className: classes.menuRoot, anchorEl: anchorEl, open: true, onClose: handleClose, PaperProps: { className: classes.paper } }, { children: renderList() }))) })), openConfirmDialog && ((0, jsx_runtime_1.jsx)(ConfirmDialog_1.default, { open: openConfirmDialog, title: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.groupActionsMenu.dialog.msg", defaultMessage: "ui.groupActionsMenu.dialog.msg" }), btnConfirm: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.groupActionsMenu.dialog.confirm", defaultMessage: "ui.groupActionsMenu.dialog.confirm" }), onConfirm: handleDeleteThread, onClose: handleCloseDialog })), openEdit && (0, jsx_runtime_1.jsx)(GroupForm_1.default, { onClose: handleEditClick, group: scGroup, onSuccess: handleEditSuccess })] }));
|
|
156
156
|
}
|
|
157
157
|
exports.default = GroupActionsMenu;
|
|
@@ -133,7 +133,7 @@ function GroupSettingsIconButton(inProps) {
|
|
|
133
133
|
];
|
|
134
134
|
}
|
|
135
135
|
};
|
|
136
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className) }, rest, { onClick: handleOpen }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { children: "more_vert" }) })), isMobile ? ((0, jsx_runtime_1.jsx)(SwipeableDrawerRoot, Object.assign({ className: classes.drawerRoot, anchor: "bottom", open:
|
|
136
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className) }, rest, { onClick: handleOpen }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { children: "more_vert" }) })), Boolean(anchorEl) && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isMobile ? ((0, jsx_runtime_1.jsx)(SwipeableDrawerRoot, Object.assign({ className: classes.drawerRoot, anchor: "bottom", open: true, onClose: handleClose, onOpen: handleOpen, PaperProps: { className: classes.paper }, disableSwipeToOpen: true }, { children: (0, jsx_runtime_1.jsx)(material_1.List, { children: renderList() }) }))) : ((0, jsx_runtime_1.jsx)(MenuRoot, Object.assign({ className: classes.menuRoot, anchorEl: anchorEl, open: true, onClose: handleClose, PaperProps: { className: classes.paper } }, { children: renderList() }))) })), openConfirmDialog && ((0, jsx_runtime_1.jsx)(ConfirmDialog_1.default, { open: openConfirmDialog, title: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.groupSettingsIconButton.dialog.msg", defaultMessage: "ui.groupSettingsIconButton.dialog.msg", values: {
|
|
137
137
|
// eslint-disable-next-line @typescript-eslint/ban-ts-ignore
|
|
138
138
|
// @ts-ignore
|
|
139
139
|
b: (...chunks) => (0, jsx_runtime_1.jsx)("strong", { children: chunks }),
|
|
@@ -138,13 +138,13 @@ function LiveStreamRoom(inProps) {
|
|
|
138
138
|
if (error.response.data.errors[0].code) {
|
|
139
139
|
const _error = `ui.liveStreamRoom.connect.error.${(0, utils_1.camelCase)(error.response.data.errors[0].code)}`;
|
|
140
140
|
_msg = ((0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: _error, defaultMessage: _error, values: {
|
|
141
|
-
link: (...chunks) => ((0, jsx_runtime_1.jsx)(
|
|
141
|
+
link: (...chunks) => ((0, jsx_runtime_1.jsx)("a", Object.assign({ style: { color: '#FFF' }, href: error.response.data.errors[0].code === types_1.SCLiveStreamConnectionDetailsErrorType.PARTICIPATE_THE_EVENT_TO_JOIN_LIVE_STREAM &&
|
|
142
142
|
scLiveStream.event
|
|
143
|
-
? scRoutingContext.url(react_core_1.SCRoutes.
|
|
143
|
+
? scRoutingContext.url(react_core_1.SCRoutes.EVENT_ROUTE_NAME, scLiveStream.event)
|
|
144
144
|
: '/' }, { children: chunks })))
|
|
145
145
|
} }));
|
|
146
|
-
if (error.response.data.errors[0].code
|
|
147
|
-
error.response.data.errors[0].code
|
|
146
|
+
if (error.response.data.errors[0].code === types_1.SCLiveStreamConnectionDetailsErrorType.WAITING_HOST_TO_START_LIVE_STREAM ||
|
|
147
|
+
error.response.data.errors[0].code === types_1.SCLiveStreamConnectionDetailsErrorType.PARTICIPANTS_LIMIT_REACHED) {
|
|
148
148
|
setError(_msg);
|
|
149
149
|
}
|
|
150
150
|
else {
|
|
@@ -178,7 +178,21 @@ function LiveStreamRoom(inProps) {
|
|
|
178
178
|
/**
|
|
179
179
|
* Handle PreJoin Error
|
|
180
180
|
*/
|
|
181
|
-
const handlePreJoinError = (0, react_1.useCallback)((e) =>
|
|
181
|
+
const handlePreJoinError = (0, react_1.useCallback)((e) => {
|
|
182
|
+
console.error(e);
|
|
183
|
+
if (e.message !== 'NotAllowedError: Permission denied') {
|
|
184
|
+
enqueueSnackbar(intl.formatMessage({
|
|
185
|
+
id: 'ui.liveStreamRoom.connect.error.device.permission',
|
|
186
|
+
defaultMessage: 'ui.liveStreamRoom.connect.error.device.permission'
|
|
187
|
+
}), { variant: 'error', autoHideDuration: 5000 });
|
|
188
|
+
}
|
|
189
|
+
else if (e.message !== 'NotFoundError: Requested device not found') {
|
|
190
|
+
enqueueSnackbar(intl.formatMessage({
|
|
191
|
+
id: 'ui.liveStreamRoom.connect.error.device.notFound',
|
|
192
|
+
defaultMessage: 'ui.liveStreamRoom.connect.error.device.notFound'
|
|
193
|
+
}), { variant: 'error', autoHideDuration: 5000 });
|
|
194
|
+
}
|
|
195
|
+
}, []);
|
|
182
196
|
/**
|
|
183
197
|
* User must be authenticated
|
|
184
198
|
*/
|
package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/LiveStreamVideoConference.js
CHANGED
|
@@ -75,6 +75,8 @@ function LiveStreamVideoConference(inProps) {
|
|
|
75
75
|
// STATE
|
|
76
76
|
const [liveActive, setLiveActive] = (0, react_1.useState)(true);
|
|
77
77
|
const [error, setError] = (0, react_1.useState)(null);
|
|
78
|
+
// INTL
|
|
79
|
+
const intl = (0, react_intl_1.useIntl)();
|
|
78
80
|
// PREFERENCES
|
|
79
81
|
const preferences = (0, react_1.useMemo)(() => {
|
|
80
82
|
const _preferences = {};
|
|
@@ -107,8 +109,24 @@ function LiveStreamVideoConference(inProps) {
|
|
|
107
109
|
*/
|
|
108
110
|
const handleError = (0, react_1.useCallback)((error) => {
|
|
109
111
|
console.error(error);
|
|
110
|
-
if (error.message
|
|
111
|
-
setError(
|
|
112
|
+
if (error.message === 'Permission denied') {
|
|
113
|
+
setError(intl.formatMessage({
|
|
114
|
+
id: 'ui.liveStreamRoom.connect.error.device.permission',
|
|
115
|
+
defaultMessage: 'ui.liveStreamRoom.connect.error.device.permission'
|
|
116
|
+
}));
|
|
117
|
+
}
|
|
118
|
+
else if (error.message === 'Requested device not found') {
|
|
119
|
+
setError(intl.formatMessage({
|
|
120
|
+
id: 'ui.liveStreamRoom.connect.error.device.notFound',
|
|
121
|
+
defaultMessage: 'ui.liveStreamRoom.connect.error.device.notFound'
|
|
122
|
+
}));
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
console.log(`Encountered an unexpected error, check the console logs for details: ${error.message}`);
|
|
126
|
+
setError(intl.formatMessage({
|
|
127
|
+
id: 'ui.liveStreamRoom.connect.error.clientInitiatedDisconnect',
|
|
128
|
+
defaultMessage: 'ui.liveStreamRoom.connect.error.clientInitiatedDisconnect'
|
|
129
|
+
}));
|
|
112
130
|
}
|
|
113
131
|
setLiveActive(false);
|
|
114
132
|
}, []);
|
package/lib/cjs/components/LiveStreamRoom/LiveStreamVideoConference/ParticipantTileActions.js
CHANGED
|
@@ -202,7 +202,7 @@ function ContributionActionsMenu(props) {
|
|
|
202
202
|
*/
|
|
203
203
|
return ((0, jsx_runtime_1.jsxs)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className) }, { children: [(0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ ref: (ref) => {
|
|
204
204
|
popperRef.current = ref;
|
|
205
|
-
}, "aria-haspopup": "true", onClick: handleOpen, className: classes.button, size: "small" }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { children: "expand_more" }) })), isMobile ? ((0, jsx_runtime_1.jsx)(material_1.SwipeableDrawer, Object.assign({ open:
|
|
205
|
+
}, "aria-haspopup": "true", onClick: handleOpen, className: classes.button, size: "small" }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { children: "expand_more" }) })), open && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isMobile ? ((0, jsx_runtime_1.jsx)(material_1.SwipeableDrawer, Object.assign({ open: true, onClose: handleClose, onOpen: handleOpen, anchor: "bottom", disableSwipeToOpen: true }, { children: renderContent() }))) : ((0, jsx_runtime_1.jsx)(PopperRoot, Object.assign({ open: true, anchorEl: popperRef.current, role: undefined, transition: true, className: classes.popperRoot }, PopperProps, { placement: "right" }, { children: ({ TransitionProps, placement }) => ((0, jsx_runtime_1.jsx)(material_1.Grow, Object.assign({}, TransitionProps, { style: { transformOrigin: placement === 'bottom' ? 'center top' : 'center bottom' } }, { children: (0, jsx_runtime_1.jsx)(material_1.Paper, Object.assign({ variant: 'outlined', className: classes.paper }, { children: (0, jsx_runtime_1.jsx)(material_1.ClickAwayListener, Object.assign({ onClickAway: handleClose }, { children: renderContent() })) })) }))) }))) })), openConfirmDialog && ((0, jsx_runtime_1.jsx)(ConfirmDialog_1.default, Object.assign({ open: openConfirmDialog }, (currentAction === constants_1.REMOVE_ROOM_USER
|
|
206
206
|
? {
|
|
207
207
|
content: ((0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.liveStreamRoom.participantTileActions.removeRoomUser", defaultMessage: "ui.liveStreamRoom.participantTileActions.removeRoomUser" }))
|
|
208
208
|
}
|
|
@@ -30,7 +30,10 @@ export interface PreJoinProps extends Omit<React.HTMLAttributes<HTMLDivElement>,
|
|
|
30
30
|
persistUserChoices?: boolean;
|
|
31
31
|
}
|
|
32
32
|
/** @alpha */
|
|
33
|
-
export declare function usePreviewTracks(options: CreateLocalTracksOptions, onError?: (err: Error) => void):
|
|
33
|
+
export declare function usePreviewTracks(options: CreateLocalTracksOptions, onError?: (err: Error) => void): {
|
|
34
|
+
tracks: LocalTrack<Track.Kind>[];
|
|
35
|
+
error: boolean;
|
|
36
|
+
};
|
|
34
37
|
/** @public */
|
|
35
38
|
export declare function usePreviewDevice<T extends LocalVideoTrack | LocalAudioTrack>(enabled: boolean, deviceId: string, kind: 'videoinput' | 'audioinput'): {
|
|
36
39
|
selectedDevice: MediaDeviceInfo;
|
|
@@ -16,6 +16,7 @@ const LiveStreamProvider_1 = require("./LiveStreamProvider");
|
|
|
16
16
|
/** @alpha */
|
|
17
17
|
function usePreviewTracks(options, onError) {
|
|
18
18
|
const [tracks, setTracks] = React.useState();
|
|
19
|
+
const [error, setError] = React.useState(false);
|
|
19
20
|
const trackLock = React.useMemo(() => new livekit_client_1.Mutex(), []);
|
|
20
21
|
React.useEffect(() => {
|
|
21
22
|
let needsCleanup = false;
|
|
@@ -30,6 +31,7 @@ function usePreviewTracks(options, onError) {
|
|
|
30
31
|
else {
|
|
31
32
|
setTracks(localTracks);
|
|
32
33
|
}
|
|
34
|
+
setError(false);
|
|
33
35
|
}
|
|
34
36
|
}
|
|
35
37
|
catch (e) {
|
|
@@ -39,6 +41,7 @@ function usePreviewTracks(options, onError) {
|
|
|
39
41
|
else {
|
|
40
42
|
components_core_1.log.error(e);
|
|
41
43
|
}
|
|
44
|
+
setError(true);
|
|
42
45
|
}
|
|
43
46
|
finally {
|
|
44
47
|
unlock();
|
|
@@ -49,9 +52,10 @@ function usePreviewTracks(options, onError) {
|
|
|
49
52
|
localTracks.forEach((track) => {
|
|
50
53
|
track.stop();
|
|
51
54
|
});
|
|
55
|
+
setError(false);
|
|
52
56
|
};
|
|
53
57
|
}, [JSON.stringify(options), onError, trackLock]);
|
|
54
|
-
return tracks;
|
|
58
|
+
return { tracks, error };
|
|
55
59
|
}
|
|
56
60
|
exports.usePreviewTracks = usePreviewTracks;
|
|
57
61
|
/** @public */
|
|
@@ -190,7 +194,7 @@ function PreJoin(_a) {
|
|
|
190
194
|
saveUsername(scUserContext.user.username);
|
|
191
195
|
}
|
|
192
196
|
}, [username, saveUsername, scUserContext.user]);
|
|
193
|
-
const tracks = usePreviewTracks({
|
|
197
|
+
const { tracks, error } = usePreviewTracks({
|
|
194
198
|
audio: audioEnabled ? { deviceId: initialUserChoices.audioDeviceId } : false,
|
|
195
199
|
video: videoEnabled ? { deviceId: initialUserChoices.videoDeviceId } : false
|
|
196
200
|
}, onError);
|
|
@@ -221,7 +225,9 @@ function PreJoin(_a) {
|
|
|
221
225
|
return onValidate(values);
|
|
222
226
|
}
|
|
223
227
|
else {
|
|
224
|
-
return values.username !== ''
|
|
228
|
+
return Boolean(values.username !== '' &&
|
|
229
|
+
((values.audioEnabled && values.audioDeviceId) || !values.audioEnabled) &&
|
|
230
|
+
((values.videoEnabled && values.videoDeviceId) || !values.videoEnabled));
|
|
225
231
|
}
|
|
226
232
|
}, [onValidate]);
|
|
227
233
|
(0, react_1.useEffect)(() => {
|
|
@@ -246,6 +252,6 @@ function PreJoin(_a) {
|
|
|
246
252
|
components_core_1.log.warn('Validation failed with: ', userChoices);
|
|
247
253
|
}
|
|
248
254
|
}
|
|
249
|
-
return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "lk-prejoin" }, htmlProps, { children: [(0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "lk-video-container" }, { children: [videoTrack && (0, jsx_runtime_1.jsx)("video", { ref: videoEl, width: "1280", height: "720", "data-lk-facing-mode": facingMode }), (!videoTrack || !videoEnabled) && ((0, jsx_runtime_1.jsx)("div", Object.assign({ className: "lk-camera-off-note" }, { children: (0, jsx_runtime_1.jsx)(ParticipantTileAvatar_1.default, { user: scUserContext.user }) })))] })), (0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "lk-button-group-container" }, { children: [(0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "lk-button-group audio" }, { children: [(0, jsx_runtime_1.jsx)(TrackToggle_1.TrackToggle, Object.assign({ disabled: !canUseAudio, initialState: audioEnabled, source: livekit_client_1.Track.Source.Microphone, onChange: (enabled) => setAudioEnabled(enabled) }, { children: micLabel })), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: "lk-button-group-menu" }, { children: (0, jsx_runtime_1.jsx)(components_react_1.MediaDeviceMenu, { initialSelection: audioDeviceId, kind: "audioinput", disabled: !audioTrack || !canUseAudio, tracks: { audioinput: audioTrack }, onActiveDeviceChange: (_, id) => setAudioDeviceId(id) }) }))] })), (0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "lk-button-group video" }, { children: [(0, jsx_runtime_1.jsx)(TrackToggle_1.TrackToggle, Object.assign({ disabled: !canUseVideo, initialState: videoEnabled, source: livekit_client_1.Track.Source.Camera, onChange: (enabled) => setVideoEnabled(enabled) }, { children: camLabel })), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: "lk-button-group-menu" }, { children: (0, jsx_runtime_1.jsx)(components_react_1.MediaDeviceMenu, { initialSelection: videoDeviceId, kind: "videoinput", disabled: !videoTrack || !canUseVideo, tracks: { videoinput: videoTrack }, onActiveDeviceChange: (_, id) => setVideoDeviceId(id) }) }))] }))] })), (0, jsx_runtime_1.jsx)("form", Object.assign({ className: "lk-username-container" }, { children: (0, jsx_runtime_1.jsx)("button", Object.assign({ className: "lk-button lk-join-button", type: "submit", onClick: handleSubmit, disabled: !isValid }, { children: joinLabel })) })), debug && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("strong", { children: "User Choices:" }), (0, jsx_runtime_1.jsxs)("ul", Object.assign({ className: "lk-list", style: { overflow: 'hidden', maxWidth: '15rem' } }, { children: [(0, jsx_runtime_1.jsxs)("li", { children: ["Username: ", `${userChoices.username}`] }), (0, jsx_runtime_1.jsxs)("li", { children: ["Video Enabled: ", `${userChoices.videoEnabled}`] }), (0, jsx_runtime_1.jsxs)("li", { children: ["Audio Enabled: ", `${userChoices.audioEnabled}`] }), (0, jsx_runtime_1.jsxs)("li", { children: ["Video Device: ", `${userChoices.videoDeviceId}`] }), (0, jsx_runtime_1.jsxs)("li", { children: ["Audio Device: ", `${userChoices.audioDeviceId}`] })] }))] }))] })));
|
|
255
|
+
return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "lk-prejoin" }, htmlProps, { children: [(0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "lk-video-container" }, { children: [videoTrack && (0, jsx_runtime_1.jsx)("video", { ref: videoEl, width: "1280", height: "720", "data-lk-facing-mode": facingMode }), (!videoTrack || !videoEnabled) && ((0, jsx_runtime_1.jsx)("div", Object.assign({ className: "lk-camera-off-note" }, { children: (0, jsx_runtime_1.jsx)(ParticipantTileAvatar_1.default, { user: scUserContext.user }) })))] })), (0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "lk-button-group-container" }, { children: [(0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "lk-button-group audio" }, { children: [(0, jsx_runtime_1.jsx)(TrackToggle_1.TrackToggle, Object.assign({ disabled: !canUseAudio, initialState: audioEnabled, source: livekit_client_1.Track.Source.Microphone, onChange: (enabled) => setAudioEnabled(enabled) }, { children: micLabel })), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: "lk-button-group-menu" }, { children: (0, jsx_runtime_1.jsx)(components_react_1.MediaDeviceMenu, { initialSelection: audioDeviceId, kind: "audioinput", disabled: !audioTrack || !canUseAudio || !audioEnabled, tracks: { audioinput: audioTrack }, onActiveDeviceChange: (_, id) => setAudioDeviceId(id) }) }))] })), (0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "lk-button-group video" }, { children: [(0, jsx_runtime_1.jsx)(TrackToggle_1.TrackToggle, Object.assign({ disabled: !canUseVideo, initialState: videoEnabled, source: livekit_client_1.Track.Source.Camera, onChange: (enabled) => setVideoEnabled(enabled) }, { children: camLabel })), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: "lk-button-group-menu" }, { children: (0, jsx_runtime_1.jsx)(components_react_1.MediaDeviceMenu, { initialSelection: videoDeviceId, kind: "videoinput", disabled: !videoTrack || !canUseVideo || !videoEnabled, tracks: { videoinput: videoTrack }, onActiveDeviceChange: (_, id) => setVideoDeviceId(id) }) }))] }))] })), (0, jsx_runtime_1.jsx)("form", Object.assign({ className: "lk-username-container" }, { children: (0, jsx_runtime_1.jsx)("button", Object.assign({ className: "lk-button lk-join-button", type: "submit", onClick: handleSubmit, disabled: !isValid || error }, { children: joinLabel })) })), debug && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("strong", { children: "User Choices:" }), (0, jsx_runtime_1.jsxs)("ul", Object.assign({ className: "lk-list", style: { overflow: 'hidden', maxWidth: '15rem' } }, { children: [(0, jsx_runtime_1.jsxs)("li", { children: ["Username: ", `${userChoices.username}`] }), (0, jsx_runtime_1.jsxs)("li", { children: ["Video Enabled: ", `${userChoices.videoEnabled}`] }), (0, jsx_runtime_1.jsxs)("li", { children: ["Audio Enabled: ", `${userChoices.audioEnabled}`] }), (0, jsx_runtime_1.jsxs)("li", { children: ["Video Device: ", `${userChoices.videoDeviceId}`] }), (0, jsx_runtime_1.jsxs)("li", { children: ["Audio Device: ", `${userChoices.audioDeviceId}`] })] }))] }))] })));
|
|
250
256
|
}
|
|
251
257
|
exports.PreJoin = PreJoin;
|
|
@@ -36,9 +36,9 @@ function NavigationMenuDrawer(inProps) {
|
|
|
36
36
|
props: inProps,
|
|
37
37
|
name: PREFIX
|
|
38
38
|
});
|
|
39
|
-
const { className = null, showDrawerHeader = true, drawerHeaderContent = (0, jsx_runtime_1.jsx)(DefaultHeaderContent_1.default, {}), drawerContent = (0, jsx_runtime_1.jsx)(DefaultDrawerContent_1.default, {}), showDrawerFooterContent = true, drawerFooterContent = null, ScrollContainerProps = {}, CreateLiveStreamButtonComponentProps = {}, open, onClose } = props, rest = tslib_1.__rest(props, ["className", "showDrawerHeader", "drawerHeaderContent", "drawerContent", "showDrawerFooterContent", "drawerFooterContent", "ScrollContainerProps", "CreateLiveStreamButtonComponentProps", "open", "onClose"]);
|
|
39
|
+
const { className = null, showDrawerHeader = true, drawerHeaderContent = (0, jsx_runtime_1.jsx)(DefaultHeaderContent_1.default, {}), drawerContent = (0, jsx_runtime_1.jsx)(DefaultDrawerContent_1.default, {}), showDrawerFooterContent = true, drawerFooterContent = null, ScrollContainerProps = { hideTracksWhenNotNeeded: true }, CreateLiveStreamButtonComponentProps = {}, open, onClose } = props, rest = tslib_1.__rest(props, ["className", "showDrawerHeader", "drawerHeaderContent", "drawerContent", "showDrawerFooterContent", "drawerFooterContent", "ScrollContainerProps", "CreateLiveStreamButtonComponentProps", "open", "onClose"]);
|
|
40
40
|
const scUserContext = (0, react_core_1.useSCUser)();
|
|
41
|
-
const canCreateLiveStream = (0, react_1.useMemo)(() => { var _a, _b; return (_b = (_a = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _a === void 0 ? void 0 : _a.permission) === null || _b === void 0 ? void 0 : _b.
|
|
42
|
-
return ((0, jsx_runtime_1.jsxs)(Root, Object.assign({ anchor: "left", className: (0, classnames_1.default)(classes.root, className), open: open, onClose: onClose }, rest, { children: [showDrawerHeader && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(material_1.Box, Object.assign({ className: classes.drawerHeader }, { children: [drawerHeaderContent, (0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ className: classes.drawerHeaderAction, onClick: onClose }, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "close" }) }))] })), (0, jsx_runtime_1.jsx)(material_1.Divider, {})] })), (0, jsx_runtime_1.jsx)(ScrollContainer_1.default, Object.assign({}, ScrollContainerProps, { children: (0, jsx_runtime_1.jsx)(material_1.List, Object.assign({ className: classes.drawerContent, onClick: onClose }, { children: drawerContent })) })), showDrawerFooterContent && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.drawerFooter }, { children: drawerFooterContent ? (drawerFooterContent) : ((0, jsx_runtime_1.
|
|
41
|
+
const canCreateLiveStream = (0, react_1.useMemo)(() => { var _a, _b; return (_b = (_a = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _a === void 0 ? void 0 : _a.permission) === null || _b === void 0 ? void 0 : _b.create_live_stream; }, [(_a = scUserContext === null || scUserContext === void 0 ? void 0 : scUserContext.user) === null || _a === void 0 ? void 0 : _a.permission]);
|
|
42
|
+
return ((0, jsx_runtime_1.jsxs)(Root, Object.assign({ anchor: "left", className: (0, classnames_1.default)(classes.root, className), open: open, onClose: onClose }, rest, { children: [showDrawerHeader && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(material_1.Box, Object.assign({ className: classes.drawerHeader }, { children: [drawerHeaderContent, (0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ className: classes.drawerHeaderAction, onClick: onClose }, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "close" }) }))] })), (0, jsx_runtime_1.jsx)(material_1.Divider, {})] })), (0, jsx_runtime_1.jsx)(ScrollContainer_1.default, Object.assign({}, ScrollContainerProps, { children: (0, jsx_runtime_1.jsx)(material_1.List, Object.assign({ className: classes.drawerContent, onClick: onClose }, { children: drawerContent })) })), showDrawerFooterContent && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.drawerFooter }, { children: drawerFooterContent ? (drawerFooterContent) : ((0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ className: classes.drawerFooterLiveStream }, { children: (0, jsx_runtime_1.jsx)(CreateLiveStreamButton_1.default, Object.assign({ color: "primary", className: classes.drawerFooterLiveStreamButton, fullWidth: true }, CreateLiveStreamButtonComponentProps)) }))) })) }))] })));
|
|
43
43
|
}
|
|
44
44
|
exports.default = NavigationMenuDrawer;
|
|
@@ -79,6 +79,6 @@ function OnBoardingActionsButton(inProps) {
|
|
|
79
79
|
];
|
|
80
80
|
}
|
|
81
81
|
};
|
|
82
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className) }, rest, { onClick: handleOpen }, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "more_vert" }) })), isMobile ? ((0, jsx_runtime_1.jsx)(SwipeableDrawerRoot, Object.assign({ onClick: () => setAnchorEl(null), className: classes.drawerRoot, anchor: "bottom", open:
|
|
82
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className) }, rest, { onClick: handleOpen }, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "more_vert" }) })), Boolean(anchorEl) && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isMobile ? ((0, jsx_runtime_1.jsx)(SwipeableDrawerRoot, Object.assign({ onClick: () => setAnchorEl(null), className: classes.drawerRoot, anchor: "bottom", open: true, onClose: handleClose, onOpen: handleOpen, PaperProps: { className: classes.paper }, disableSwipeToOpen: true }, { children: (0, jsx_runtime_1.jsx)(material_1.List, { children: renderList() }) }))) : ((0, jsx_runtime_1.jsx)(MenuRoot, Object.assign({ onClick: () => setAnchorEl(null), className: classes.menuRoot, anchorEl: anchorEl, open: true, onClose: handleClose, PaperProps: { className: classes.paper } }, { children: renderList() }))) }))] }));
|
|
83
83
|
}
|
|
84
84
|
exports.default = OnBoardingActionsButton;
|
package/lib/cjs/components/PrivateMessageSettingsIconButton/PrivateMessageSettingsIconButton.js
CHANGED
|
@@ -124,6 +124,6 @@ function PrivateMessageSettingsIconButton(inProps) {
|
|
|
124
124
|
];
|
|
125
125
|
}
|
|
126
126
|
};
|
|
127
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className) }, rest, { onClick: handleOpen }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { children: "more_vert" }) })), isMobile ? ((0, jsx_runtime_1.jsx)(SwipeableDrawerRoot, Object.assign({ className: classes.drawerRoot, anchor: "bottom", open:
|
|
127
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Root, Object.assign({ className: (0, classnames_1.default)(classes.root, className) }, rest, { onClick: handleOpen }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { children: "more_vert" }) })), Boolean(anchorEl) && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isMobile ? ((0, jsx_runtime_1.jsx)(SwipeableDrawerRoot, Object.assign({ className: classes.drawerRoot, anchor: "bottom", open: true, onClose: handleClose, onOpen: handleOpen, PaperProps: { className: classes.paper }, disableSwipeToOpen: true }, { children: (0, jsx_runtime_1.jsx)(material_1.List, { children: renderList() }) }))) : ((0, jsx_runtime_1.jsx)(MenuRoot, Object.assign({ className: classes.menuRoot, anchorEl: anchorEl, open: true, onClose: handleClose, PaperProps: { className: classes.paper } }, { children: renderList() }))) })), openConfirmDialog && ((0, jsx_runtime_1.jsx)(ConfirmDialog_1.default, { open: openConfirmDialog, title: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.privateMessageSettingsIconButton.dialog.msg", defaultMessage: "ui.privateMessageSettingsIconButton.dialog.msg" }), btnConfirm: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.privateMessageSettingsIconButton.dialog.confirm", defaultMessage: "ui.privateMessageSettingsIconButton.dialog.confirm" }), onConfirm: handleDeleteThread, onClose: handleCloseDialog }))] }));
|
|
128
128
|
}
|
|
129
129
|
exports.default = PrivateMessageSettingsIconButton;
|