This repository has been archived by the owner on Aug 30, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathindex-65112a6a.js.map
1 lines (1 loc) · 30.5 KB
/
index-65112a6a.js.map
1
{"version":3,"file":"index-65112a6a.js","sources":["../src/ui/FileViewer/types.js","../src/utils/compareIds.js","../src/ui/DateSeparator/index.jsx","../src/ui/MessageInput/index.jsx","../src/ui/FileViewer/index.jsx","../src/ui/LinkLabel/index.jsx"],"sourcesContent":["// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp', // not supported in IE\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n};\n\nexport const isImage = (type) => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type) => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const isGif = (type) => type === 'image/gif';\nexport const unSupported = (type) => !(isImage(type) || isVideo(type));\n\nexport default SUPPORTED_MIMES;\n","const isEmpty = (val) => (val === null || val === undefined);\n\n// Some Ids return string and number inconsistently\n// only use to comapre IDs\nexport default function (a, b) {\n if (isEmpty(a) || isEmpty(b)) {\n return false;\n }\n const aString = a.toString();\n const bString = b.toString();\n return aString === bString;\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { changeColorToClassName, Colors } from '../../utils/color';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nexport default function DateSeparator({\n className,\n children,\n separatorColor,\n}) {\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-separator',\n ].join(' ')}\n >\n <div className={['sendbird-separator__left', `${changeColorToClassName(separatorColor)}--background-color`].join(' ')} />\n <div className=\"sendbird-separator__text\">{children}</div>\n <div className={['sendbird-separator__right', `${changeColorToClassName(separatorColor)}--background-color`].join(' ')} />\n </div>\n );\n}\n\nDateSeparator.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.element,\n ]),\n separatorColor: PropTypes.string,\n};\n\nDateSeparator.defaultProps = {\n className: '',\n children: (\n <Label type={LabelTypography.CAPTION_2} color={LabelColors.ONBACKGROUND_2}>\n Date Separator\n </Label>\n ),\n separatorColor: Colors.ONBACKGROUND_4,\n};\n","import React, {\n useState,\n useRef,\n useEffect,\n useContext,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport IconButton from '../IconButton';\nimport Button, { ButtonTypes, ButtonSizes } from '../Button';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n// import IconSend from '../../svgs/icon-send.svg';\n// import IconAttach from '../../svgs/icon-attach.svg';\n\nconst LINE_HEIGHT = 76;\nconst noop = () => { };\nconst KeyCode = {\n SHIFT: 16,\n ENTER: 13,\n};\n\nconst handleUploadFile = (callback) => (event) => {\n if (event.target.files && event.target.files[0]) {\n callback(event.target.files[0]);\n }\n // eslint-disable-next-line no-param-reassign\n event.target.value = '';\n};\n\nconst MessageInput = React.forwardRef((props, ref) => {\n const {\n isEdit,\n disabled,\n value,\n name,\n placeholder,\n maxLength,\n onFileUpload,\n onSendMessage,\n onCancelEdit,\n onStartTyping,\n } = props;\n\n const { stringSet } = useContext(LocalizationContext);\n const fileInputRef = useRef(null);\n const [inputValue, setInputValue] = useState(value);\n const [isShiftPressed, setIsShiftPressed] = useState(false);\n\n const setHeight = () => {\n try {\n const elem = ref.current;\n const MAX_HEIGHT = window.document.body.offsetHeight * 0.6;\n if (elem && elem.scrollHeight >= LINE_HEIGHT) {\n if (MAX_HEIGHT < elem.scrollHeight) {\n elem.style.height = 'auto';\n elem.style.height = `${MAX_HEIGHT}px`;\n } else {\n elem.style.height = 'auto';\n elem.style.height = `${elem.scrollHeight}px`;\n }\n } else {\n elem.style.height = '';\n }\n } catch (error) {\n // error\n }\n };\n\n // after setHeight called twice, the textarea goes to the initialized\n useEffect(() => {\n setHeight();\n return setHeight;\n }, [inputValue]);\n\n const sendMessage = () => {\n if (inputValue && inputValue.trim().length > 0) {\n const trimmedInputValue = inputValue.trim();\n if (isEdit) {\n onSendMessage(name, trimmedInputValue, () => {\n onCancelEdit();\n });\n } else {\n onSendMessage(trimmedInputValue);\n setInputValue('');\n }\n }\n };\n\n return (\n <form\n className={[\n isEdit ? 'sendbird-message-input__edit' : '',\n disabled ? 'sendbird-message-input-form__disabled' : '',\n ].join(' ')}\n >\n <div\n className={[\n 'sendbird-message-input',\n disabled ? 'sendbird-message-input__disabled' : '',\n ].join(' ')}\n >\n <textarea\n className=\"sendbird-message-input--textarea\"\n disabled={disabled}\n ref={ref}\n name={name}\n value={inputValue}\n maxLength={maxLength}\n onChange={(e) => {\n setInputValue(e.target.value);\n onStartTyping();\n }}\n onKeyDown={(e) => {\n if (e.keyCode === KeyCode.SHIFT) {\n setIsShiftPressed(true);\n }\n if (!isShiftPressed && e.keyCode === KeyCode.ENTER) {\n e.preventDefault();\n sendMessage();\n }\n }}\n onKeyUp={(e) => {\n if (e.keyCode === KeyCode.SHIFT) {\n setIsShiftPressed(false);\n }\n }}\n />\n {/* placeholder */}\n {!inputValue && (\n <Label\n className=\"sendbird-message-input--placeholder\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_3}\n >\n {placeholder || stringSet.CHANNEL__MESSAGE_INPUT__PLACE_HOLDER}\n </Label>\n )}\n {/* send icon */}\n {\n (!isEdit && inputValue && inputValue.trim().length > 0) && (\n <IconButton\n className=\"sendbird-message-input--send\"\n height=\"32px\"\n width=\"32px\"\n onClick={sendMessage}\n >\n <Icon type={IconTypes.SEND} fillColor={IconColors.PRIMARY} width=\"20px\" height=\"20px\" />\n </IconButton>\n )\n }\n {/* upload icon */}\n {\n (!isEdit && (!inputValue || !(inputValue.trim().length > 0))) && (\n <IconButton\n className=\"sendbird-message-input--attach\"\n height=\"32px\"\n width=\"32px\"\n onClick={() => {\n // todo: clear previous input\n fileInputRef.current.click();\n }}\n >\n <Icon\n type={IconTypes.ATTACH}\n fillColor={IconColors.CONTENT_INVERSE}\n width=\"20px\"\n height=\"20px\"\n />\n <input\n className=\"sendbird-message-input--attach-input\"\n type=\"file\"\n ref={fileInputRef}\n onChange={handleUploadFile(onFileUpload)}\n />\n </IconButton>\n )\n }\n </div>\n {/* Edit */}\n {\n isEdit && (\n <div className=\"sendbird-message-input--edit-action\">\n <Button\n className=\"sendbird-message-input--edit-action__cancel\"\n type={ButtonTypes.SECONDARY}\n size={ButtonSizes.SMALL}\n onClick={onCancelEdit}\n >\n {stringSet.BUTTON__CANCEL}\n </Button>\n <Button\n className=\"sendbird-message-input--edit-action__save\"\n type={ButtonTypes.PRIMARY}\n size={ButtonSizes.SMALL}\n onClick={() => {\n if (inputValue) {\n const trimmedInputValue = inputValue.trim();\n onSendMessage(name, trimmedInputValue, () => {\n onCancelEdit();\n });\n }\n }}\n >\n {stringSet.BUTTON__SAVE}\n </Button>\n </div>\n )\n }\n </form>\n );\n});\n\nMessageInput.propTypes = {\n placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n isEdit: PropTypes.bool,\n name: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n value: PropTypes.string,\n disabled: PropTypes.bool,\n maxLength: PropTypes.number,\n onFileUpload: PropTypes.func,\n onSendMessage: PropTypes.func,\n onStartTyping: PropTypes.func,\n onCancelEdit: PropTypes.func,\n};\n\nMessageInput.defaultProps = {\n value: '',\n onSendMessage: noop,\n name: 'sendbird-message-input',\n isEdit: false,\n disabled: false,\n placeholder: '',\n maxLength: 5000,\n onFileUpload: noop,\n onCancelEdit: noop,\n onStartTyping: noop,\n};\n\nexport default MessageInput;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { createPortal } from 'react-dom';\n\nimport './index.scss';\nimport Avatar from '../Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconTypes } from '../Icon';\nimport { MODAL_ROOT } from '../../hooks/useModal/ModalRoot';\n\nimport { isImage, isVideo, unSupported } from './types';\n\nexport const FileViewerComponent = ({\n // sender\n profileUrl,\n nickname,\n // file\n name,\n type,\n url,\n // others\n isByMe,\n onClose,\n onDelete,\n}) => (\n <div className=\"sendbird-fileviewer\">\n <div className=\"sendbird-fileviewer__header\">\n <div className=\"sendbird-fileviewer__header__left\">\n <div className=\"sendbird-fileviewer__header__left__avatar\">\n <Avatar height=\"32px\" width=\"32px\" src={profileUrl} />\n </div>\n <Label\n className=\"sendbird-fileviewer__header__left__filename\"\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {name}\n </Label>\n <Label\n className=\"sendbird-fileviewer__header__left__sender-name\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_2}\n >\n {nickname}\n </Label>\n </div>\n <div className=\"sendbird-fileviewer__header__right\">\n {\n !unSupported(type) && (\n <div className=\"sendbird-fileviewer__header__right__actions\">\n <a\n className=\"sendbird-fileviewer__header__right__actions__download\"\n rel=\"noopener noreferrer\"\n href={url}\n target=\"_blank\"\n >\n <Icon\n type={IconTypes.DOWNLOAD}\n height=\"24px\"\n width=\"24px\"\n />\n </a>\n {\n onDelete && isByMe && (\n <div className=\"sendbird-fileviewer__header__right__actions__delete\">\n <Icon\n type={IconTypes.DELETE}\n height=\"24px\"\n width=\"24px\"\n onClick={onDelete}\n />\n </div>\n )\n }\n </div>\n )\n }\n <div className=\"sendbird-fileviewer__header__right__actions__close\">\n <Icon\n type={IconTypes.CLOSE}\n height=\"24px\"\n width=\"24px\"\n onClick={onClose}\n />\n </div>\n </div>\n </div>\n <div className=\"sendbird-fileviewer__content\">\n {isVideo(type) && (\n // eslint-disable-next-line jsx-a11y/media-has-caption\n <video controls className=\"sendbird-fileviewer__content__video\">\n <source src={url} type={type} />\n </video>\n )}\n {\n isImage(type) && (\n <img\n src={url}\n alt={name}\n className=\"sendbird-fileviewer__content__img\"\n />\n )\n }\n {\n unSupported(type) && (\n <div className=\"sendbird-fileviewer__content__unsupported\">\n <Label type={LabelTypography.H_1} color={LabelColors.ONBACKGROUND_1}>\n Unsupoprted message\n </Label>\n </div>\n )\n }\n </div>\n </div>\n);\n\nFileViewerComponent.propTypes = {\n profileUrl: PropTypes.string.isRequired,\n nickname: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n onClose: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n isByMe: PropTypes.bool,\n};\n\nFileViewerComponent.defaultProps = {\n isByMe: true,\n};\n\nexport default function FileViewer(props) {\n const {\n message,\n isByMe,\n onClose,\n onDelete,\n } = props;\n const {\n sender,\n type,\n url,\n name = '',\n } = message;\n const { profileUrl, nickname = '' } = sender;\n return createPortal(\n (\n <FileViewerComponent\n profileUrl={profileUrl}\n nickname={nickname}\n type={type}\n url={url}\n name={name}\n onClose={onClose}\n onDelete={onDelete}\n isByMe={isByMe}\n />\n ),\n document.getElementById(MODAL_ROOT),\n );\n}\n\nFileViewer.propTypes = {\n message: PropTypes.shape({\n sender: PropTypes.shape({\n profileUrl: PropTypes.string,\n nickname: PropTypes.string,\n }),\n type: PropTypes.string,\n url: PropTypes.string,\n name: PropTypes.string,\n }).isRequired,\n isByMe: PropTypes.bool,\n onClose: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n};\n\nFileViewer.defaultProps = {\n isByMe: true,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { changeColorToClassName } from '../Label/utils';\nimport './index.scss';\n\nconst http = /https?:\\/\\//;\n\nexport default function LinkLabel({\n className,\n src,\n type,\n color,\n children,\n}) {\n const url = (http.test(src)) ? src : `http://${src}`;\n\n return (\n <a\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-link-label',\n color ? changeColorToClassName(color) : '',\n ].join(' ')}\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <Label\n className=\"sendbird-link-label__label\"\n type={type}\n color={color}\n >\n {children}\n </Label>\n </a>\n );\n}\n\nLinkLabel.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n src: PropTypes.string.isRequired,\n type: PropTypes.oneOf(Object.keys(LabelTypography)).isRequired,\n color: PropTypes.oneOf(Object.keys(LabelColors)).isRequired,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.arrayOf(PropTypes.element),\n ]).isRequired,\n};\n\nLinkLabel.defaultProps = {\n className: '',\n};\n\nexport const LinkLabelTypography = LabelTypography;\nexport const LinkLabelColors = LabelColors;\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","isImage","type","indexOf","isVideo","isGif","unSupported","isEmpty","val","undefined","a","b","aString","toString","bString","DateSeparator","className","children","separatorColor","React","Array","isArray","join","changeColorToClassName","propTypes","PropTypes","oneOfType","string","arrayOf","element","defaultProps","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","Colors","ONBACKGROUND_4","LINE_HEIGHT","noop","KeyCode","SHIFT","ENTER","handleUploadFile","callback","event","target","files","value","MessageInput","forwardRef","props","ref","isEdit","disabled","name","placeholder","maxLength","onFileUpload","onSendMessage","onCancelEdit","onStartTyping","useContext","LocalizationContext","stringSet","fileInputRef","useRef","useState","inputValue","setInputValue","isShiftPressed","setIsShiftPressed","setHeight","elem","current","MAX_HEIGHT","window","document","body","offsetHeight","scrollHeight","style","height","error","useEffect","sendMessage","trim","length","trimmedInputValue","e","keyCode","preventDefault","BODY_1","ONBACKGROUND_3","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER","IconTypes","SEND","IconColors","PRIMARY","click","ATTACH","CONTENT_INVERSE","ButtonTypes","SECONDARY","ButtonSizes","SMALL","BUTTON__CANCEL","BUTTON__SAVE","bool","number","func","FileViewerComponent","profileUrl","nickname","url","isByMe","onClose","onDelete","H_2","ONBACKGROUND_1","DOWNLOAD","DELETE","CLOSE","H_1","isRequired","FileViewer","message","sender","createPortal","getElementById","MODAL_ROOT","shape","http","LinkLabel","src","color","test","oneOf","Object","keys"],"mappings":"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"}