@zohoim/chat-components 0.0.1-cx
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/README.md +9 -0
- package/es/ActionIcon/ActionIcon.js +82 -0
- package/es/ActionIcon/css/ActionIcon.module.css +8 -0
- package/es/ActionIcon/index.js +1 -0
- package/es/ActionIcon/props/defaultProps.js +8 -0
- package/es/ActionIcon/props/propTypes.js +17 -0
- package/es/ActionIconWrapper/ActionIconWrapper.js +61 -0
- package/es/ActionIconWrapper/css/ActionIconWrapper.module.css +32 -0
- package/es/ActionIconWrapper/css/cssJSLogic.js +14 -0
- package/es/ActionIconWrapper/index.js +1 -0
- package/es/ActionIconWrapper/props/defaultProps.js +6 -0
- package/es/ActionIconWrapper/props/propTypes.js +12 -0
- package/es/AttachmentBubble/AttachmentBubble.js +87 -0
- package/es/AttachmentBubble/css/AttachmentBubble.module.css +55 -0
- package/es/AttachmentBubble/css/cssJSLogic.js +18 -0
- package/es/AttachmentBubble/index.js +1 -0
- package/es/AttachmentBubble/props/defaultProps.js +8 -0
- package/es/AttachmentBubble/props/propTypes.js +19 -0
- package/es/AttachmentBubbleInfo/AttachmentBubbleInfo.js +48 -0
- package/es/AttachmentBubbleInfo/css/AttachmentBubbleInfo.module.css +39 -0
- package/es/AttachmentBubbleInfo/css/cssJSLogic.js +13 -0
- package/es/AttachmentBubbleInfo/index.js +1 -0
- package/es/AttachmentBubbleInfo/props/defaultProps.js +6 -0
- package/es/AttachmentBubbleInfo/props/propTypes.js +9 -0
- package/es/AttachmentIcon/AttachmentIcon.js +60 -0
- package/es/AttachmentIcon/css/AttachmentIcon.module.css +8 -0
- package/es/AttachmentIcon/css/cssJSLogic.js +13 -0
- package/es/AttachmentIcon/index.js +1 -0
- package/es/AttachmentIcon/props/defaultProps.js +8 -0
- package/es/AttachmentIcon/props/propTypes.js +21 -0
- package/es/AttachmentIcon/utils/getAttachmentIconComponent.js +81 -0
- package/es/Audio/Audio.js +38 -0
- package/es/Audio/css/Audio.module.css +7 -0
- package/es/Audio/index.js +1 -0
- package/es/Audio/props/defaultProps.js +6 -0
- package/es/Audio/props/propTypes.js +8 -0
- package/es/AudioBubble/AudioBubble.js +56 -0
- package/es/AudioBubble/css/AudioBubble.module.css +4 -0
- package/es/AudioBubble/index.js +1 -0
- package/es/AudioBubble/props/defaultProps.js +7 -0
- package/es/AudioBubble/props/propTypes.js +16 -0
- package/es/Fonts/puviFont.module.css +62 -0
- package/es/ImageBubble/ImageBubble.js +70 -0
- package/es/ImageBubble/css/ImageBubble.module.css +63 -0
- package/es/ImageBubble/css/cssJSLogic.js +15 -0
- package/es/ImageBubble/index.js +1 -0
- package/es/ImageBubble/props/defaultProps.js +6 -0
- package/es/ImageBubble/props/propTypes.js +13 -0
- package/es/LazyLoadImage/LazyLoadImage.js +37 -0
- package/es/LazyLoadImage/css/LazyLoadImage.module.css +5 -0
- package/es/LazyLoadImage/index.js +1 -0
- package/es/LazyLoadImage/props/defaultProps.js +6 -0
- package/es/LazyLoadImage/props/propTypes.js +8 -0
- package/es/LocationBubble/LocationBubble.js +62 -0
- package/es/LocationBubble/css/LocationBubble.module.css +57 -0
- package/es/LocationBubble/css/cssJSLogic.js +13 -0
- package/es/LocationBubble/images/location.png +0 -0
- package/es/LocationBubble/index.js +1 -0
- package/es/LocationBubble/props/defaultProps.js +6 -0
- package/es/LocationBubble/props/propTypes.js +8 -0
- package/es/MediaBubbleWrapper/MediaBubbleWrapper.js +62 -0
- package/es/MediaBubbleWrapper/css/MediaBubbleWrapper.module.css +7 -0
- package/es/MediaBubbleWrapper/index.js +1 -0
- package/es/MediaBubbleWrapper/props/defaultProps.js +7 -0
- package/es/MediaBubbleWrapper/props/propTypes.js +17 -0
- package/es/Message/Message.js +126 -0
- package/es/Message/index.js +1 -0
- package/es/Message/props/defaultProps.js +12 -0
- package/es/Message/props/propTypes.js +41 -0
- package/es/MessageAction/MessageAction.js +60 -0
- package/es/MessageAction/index.js +1 -0
- package/es/MessageAction/props/defaultProps.js +8 -0
- package/es/MessageAction/props/propTypes.js +21 -0
- package/es/MessageActions/MessageActions.js +120 -0
- package/es/MessageActions/css/MessageActions.module.css +24 -0
- package/es/MessageActions/index.js +1 -0
- package/es/MessageActions/props/defaultProps.js +10 -0
- package/es/MessageActions/props/propTypes.js +25 -0
- package/es/MessageActionsMore/MessageActionsMore.js +101 -0
- package/es/MessageActionsMore/css/MessageActionsMore.module.css +23 -0
- package/es/MessageActionsMore/index.js +1 -0
- package/es/MessageActionsMore/props/defaultProps.js +9 -0
- package/es/MessageActionsMore/props/propTypes.js +13 -0
- package/es/MessageActionsWrapper/MessageActionsWrapper.js +68 -0
- package/es/MessageActionsWrapper/css/MessageActionsWrapper.module.css +3 -0
- package/es/MessageActionsWrapper/index.js +1 -0
- package/es/MessageActionsWrapper/props/defaultProps.js +9 -0
- package/es/MessageActionsWrapper/props/propTypes.js +15 -0
- package/es/MessageAvatar/MessageAvatar.js +49 -0
- package/es/MessageAvatar/css/MessageAvatar.module.css +23 -0
- package/es/MessageAvatar/index.js +1 -0
- package/es/MessageAvatar/props/defaultProps.js +7 -0
- package/es/MessageAvatar/props/propTypes.js +13 -0
- package/es/MessageBox/MessageBox.js +66 -0
- package/es/MessageBox/css/MessageBox.module.css +56 -0
- package/es/MessageBox/css/cssJSLogic.js +18 -0
- package/es/MessageBox/index.js +1 -0
- package/es/MessageBox/props/defaultProps.js +6 -0
- package/es/MessageBox/props/propTypes.js +13 -0
- package/es/MessageBubble/MessageBubble.js +116 -0
- package/es/MessageBubble/css/MessageBubble.module.css +101 -0
- package/es/MessageBubble/css/cssJSLogic.js +34 -0
- package/es/MessageBubble/index.js +1 -0
- package/es/MessageBubble/props/defaultProps.js +11 -0
- package/es/MessageBubble/props/propTypes.js +17 -0
- package/es/MessageStatus/MessageStatus.js +77 -0
- package/es/MessageStatus/css/MessageStatus.module.css +17 -0
- package/es/MessageStatus/css/cssJSLogic.js +26 -0
- package/es/MessageStatus/index.js +1 -0
- package/es/MessageStatus/props/defaultProps.js +6 -0
- package/es/MessageStatus/props/propTypes.js +12 -0
- package/es/MoreActionItem/MoreActionItem.js +72 -0
- package/es/MoreActionItem/css/MoreActionItem.module.css +27 -0
- package/es/MoreActionItem/index.js +1 -0
- package/es/MoreActionItem/props/defaultProps.js +7 -0
- package/es/MoreActionItem/props/propTypes.js +14 -0
- package/es/ReplyBubble/ReplyBubble.js +118 -0
- package/es/ReplyBubble/css/ReplyBubble.module.css +23 -0
- package/es/ReplyBubble/css/cssJSLogic.js +14 -0
- package/es/ReplyBubble/index.js +1 -0
- package/es/ReplyBubble/props/defaultProps.js +8 -0
- package/es/ReplyBubble/props/propTypes.js +28 -0
- package/es/ReplyBubbleContent/ReplyBubbleContent.js +61 -0
- package/es/ReplyBubbleContent/css/ReplyBubbleContent.module.css +75 -0
- package/es/ReplyBubbleContent/css/cssJSLogic.js +13 -0
- package/es/ReplyBubbleContent/index.js +1 -0
- package/es/ReplyBubbleContent/props/defaultProps.js +6 -0
- package/es/ReplyBubbleContent/props/propTypes.js +11 -0
- package/es/ReplyBubbleHeader/ReplyBubbleHeader.js +74 -0
- package/es/ReplyBubbleHeader/css/ReplyBubbleHeader.module.css +44 -0
- package/es/ReplyBubbleHeader/css/cssJSLogic.js +12 -0
- package/es/ReplyBubbleHeader/index.js +1 -0
- package/es/ReplyBubbleHeader/props/defaultProps.js +7 -0
- package/es/ReplyBubbleHeader/props/propTypes.js +13 -0
- package/es/TextBubble/TextBubble.js +49 -0
- package/es/TextBubble/css/TextBubble.module.css +35 -0
- package/es/TextBubble/css/cssJSLogic.js +18 -0
- package/es/TextBubble/index.js +1 -0
- package/es/TextBubble/props/defaultProps.js +6 -0
- package/es/TextBubble/props/propTypes.js +10 -0
- package/es/Theme/ThemeAssets.js +78 -0
- package/es/Theme/ThemeWrapper.js +88 -0
- package/es/Theme/TooltipWrapper.js +85 -0
- package/es/Theme/constants/index.js +41 -0
- package/es/Theme/css/TooltipWrapper.module.css +10 -0
- package/es/Theme/index.js +1 -0
- package/es/Theme/props/defaultProps.js +10 -0
- package/es/Theme/props/propTypes.js +14 -0
- package/es/Theme/themeVariables/commonThemeColorVariable.js +17 -0
- package/es/Theme/themeVariables/dark/blueTheme.js +116 -0
- package/es/Theme/themeVariables/dark/commonColorVariable.js +16 -0
- package/es/Theme/themeVariables/dark/greenTheme.js +115 -0
- package/es/Theme/themeVariables/dark/orangeTheme.js +115 -0
- package/es/Theme/themeVariables/dark/redTheme.js +115 -0
- package/es/Theme/themeVariables/dark/yellowTheme.js +115 -0
- package/es/Theme/themeVariables/light/blueTheme.js +114 -0
- package/es/Theme/themeVariables/light/commonColorVariable.js +35 -0
- package/es/Theme/themeVariables/light/greenTheme.js +114 -0
- package/es/Theme/themeVariables/light/orangeTheme.js +114 -0
- package/es/Theme/themeVariables/light/redTheme.js +114 -0
- package/es/Theme/themeVariables/light/yellowTheme.js +114 -0
- package/es/Theme/themeVariables/pureDark/blueTheme.js +115 -0
- package/es/Theme/themeVariables/pureDark/commonColorVariable.js +18 -0
- package/es/Theme/themeVariables/pureDark/greenTheme.js +115 -0
- package/es/Theme/themeVariables/pureDark/orangeTheme.js +115 -0
- package/es/Theme/themeVariables/pureDark/redTheme.js +115 -0
- package/es/Theme/themeVariables/pureDark/yellowTheme.js +115 -0
- package/es/Theme/utils/combineConfigurations.js +17 -0
- package/es/Theme/utils/flatVariables.js +12 -0
- package/es/Theme/utils/getCustomizedCssVariables.js +19 -0
- package/es/Theme/utils/getThemeConfigurations.js +81 -0
- package/es/Theme/utils/getWrapperDivProps.js +16 -0
- package/es/Video/Video.js +38 -0
- package/es/Video/css/Video.module.css +5 -0
- package/es/Video/index.js +1 -0
- package/es/Video/props/defaultProps.js +6 -0
- package/es/Video/props/propTypes.js +8 -0
- package/es/VideoBubble/VideoBubble.js +66 -0
- package/es/VideoBubble/css/VideoBubble.module.css +12 -0
- package/es/VideoBubble/css/cssJSLogic.js +14 -0
- package/es/VideoBubble/index.js +1 -0
- package/es/VideoBubble/props/defaultProps.js +7 -0
- package/es/VideoBubble/props/propTypes.js +17 -0
- package/es/constants/index.js +1 -0
- package/es/css/common.module.css +6 -0
- package/es/icons/create-icon-components.js +172 -0
- package/es/icons/factory/attachments/audio.svg +19 -0
- package/es/icons/factory/attachments/code.svg +21 -0
- package/es/icons/factory/attachments/image.svg +20 -0
- package/es/icons/factory/attachments/pdf.svg +19 -0
- package/es/icons/factory/attachments/ppt.svg +1 -0
- package/es/icons/factory/attachments/text.svg +22 -0
- package/es/icons/factory/attachments/unknown.svg +21 -0
- package/es/icons/factory/attachments/video.svg +19 -0
- package/es/icons/factory/attachments/xls.svg +1 -0
- package/es/icons/factory/attachments/zip.svg +27 -0
- package/es/icons/factory/common/alertTriangle.svg +5 -0
- package/es/icons/factory/common/article.svg +4 -0
- package/es/icons/factory/common/reply.svg +6 -0
- package/es/icons/factory/messageStatus/clock.svg +7 -0
- package/es/icons/factory/messageStatus/doubleTick.svg +1 -0
- package/es/icons/factory/messageStatus/failed.svg +7 -0
- package/es/icons/factory/messageStatus/tick.svg +1 -0
- package/es/icons/icon.template.js +28 -0
- package/es/icons/iconSrc/attachments/Audio.js +38 -0
- package/es/icons/iconSrc/attachments/Code.js +44 -0
- package/es/icons/iconSrc/attachments/Image.js +43 -0
- package/es/icons/iconSrc/attachments/Pdf.js +38 -0
- package/es/icons/iconSrc/attachments/Ppt.js +26 -0
- package/es/icons/iconSrc/attachments/Text.js +47 -0
- package/es/icons/iconSrc/attachments/Txt.js +47 -0
- package/es/icons/iconSrc/attachments/Unknown.js +42 -0
- package/es/icons/iconSrc/attachments/Video.js +38 -0
- package/es/icons/iconSrc/attachments/Xls.js +26 -0
- package/es/icons/iconSrc/attachments/Zip.js +86 -0
- package/es/icons/iconSrc/attachments/index.js +10 -0
- package/es/icons/iconSrc/common/AlertTriangle.js +23 -0
- package/es/icons/iconSrc/common/Article.js +17 -0
- package/es/icons/iconSrc/common/Reply.js +13 -0
- package/es/icons/iconSrc/common/index.js +3 -0
- package/es/icons/iconSrc/messageStatus/Clock.js +14 -0
- package/es/icons/iconSrc/messageStatus/DoubleTick.js +16 -0
- package/es/icons/iconSrc/messageStatus/Failed.js +14 -0
- package/es/icons/iconSrc/messageStatus/Tick.js +13 -0
- package/es/icons/iconSrc/messageStatus/index.js +4 -0
- package/es/im/ArticleBubble/ArticleBubble.js +80 -0
- package/es/im/ArticleBubble/css/ArticleBubble.module.css +75 -0
- package/es/im/ArticleBubble/css/cssJSLogic.js +12 -0
- package/es/im/ArticleBubble/index.js +1 -0
- package/es/im/ArticleBubble/props/defaultProps.js +6 -0
- package/es/im/ArticleBubble/props/propTypes.js +14 -0
- package/es/im/IMIntegrationIcon/IMIntegrationIcon.js +73 -0
- package/es/im/IMIntegrationIcon/css/IMIntegrationIcon.module.css +72 -0
- package/es/im/IMIntegrationIcon/css/cssJSLogic.js +53 -0
- package/es/im/IMIntegrationIcon/index.js +1 -0
- package/es/im/IMIntegrationIcon/props/defaultProps.js +11 -0
- package/es/im/IMIntegrationIcon/props/propTypes.js +14 -0
- package/es/im/IMMessage/IMMessage.js +197 -0
- package/es/im/IMMessage/css/IMMessage.module.css +36 -0
- package/es/im/IMMessage/css/cssJSLogic.js +15 -0
- package/es/im/IMMessage/index.js +1 -0
- package/es/im/IMMessage/props/defaultProps.js +16 -0
- package/es/im/IMMessage/props/propTypes.js +126 -0
- package/es/im/IMMessageContent/IMMessageContent.js +128 -0
- package/es/im/IMMessageContent/css/IMMessageContent.module.css +8 -0
- package/es/im/IMMessageContent/index.js +1 -0
- package/es/im/IMMessageContent/props/defaultProps.js +9 -0
- package/es/im/IMMessageContent/props/propTypes.js +54 -0
- package/es/im/IMMessageMeta/IMMessageMeta.js +72 -0
- package/es/im/IMMessageMeta/css/IMMessageMeta.module.css +46 -0
- package/es/im/IMMessageMeta/css/cssJSLogic.js +29 -0
- package/es/im/IMMessageMeta/index.js +1 -0
- package/es/im/IMMessageMeta/props/defaultProps.js +11 -0
- package/es/im/IMMessageMeta/props/propTypes.js +42 -0
- package/es/im/IMMessageMetaInfo/IMMessageMetaInfo.js +29 -0
- package/es/im/IMMessageMetaInfo/css/IMMessageMetaInfo.module.css +14 -0
- package/es/im/IMMessageMetaInfo/index.js +1 -0
- package/es/im/IMMessageMetaInfo/props/defaultProps.js +8 -0
- package/es/im/IMMessageMetaInfo/props/propTypes.js +8 -0
- package/es/im/IMPermaLink/IMPermaLink.js +48 -0
- package/es/im/IMPermaLink/css/IMPermaLink.module.css +14 -0
- package/es/im/IMPermaLink/css/cssJSLogic.js +14 -0
- package/es/im/IMPermaLink/index.js +1 -0
- package/es/im/IMPermaLink/props/defaultProps.js +6 -0
- package/es/im/IMPermaLink/props/propTypes.js +11 -0
- package/es/im/IMReplyBubble/IMReplyBubble.js +52 -0
- package/es/im/IMReplyBubble/index.js +1 -0
- package/es/im/IMReplyBubble/props/defaultProps.js +7 -0
- package/es/im/IMReplyBubble/props/propTypes.js +29 -0
- package/es/im/IMTextBubble/IMTextBubble.js +40 -0
- package/es/im/IMTextBubble/index.js +1 -0
- package/es/im/IMTextBubble/props/defaultProps.js +8 -0
- package/es/im/IMTextBubble/props/propTypes.js +31 -0
- package/es/im/css/common.module.css +6 -0
- package/es/im/index.js +9 -0
- package/es/index.js +32 -0
- package/package.json +49 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import flatVariables from './flatVariables';
|
|
2
|
+
export default function combineConfigurations(configurations) {
|
|
3
|
+
const configs = configurations.map(configuration => ({
|
|
4
|
+
library: configuration.library,
|
|
5
|
+
variables: flatVariables(configuration.variables)
|
|
6
|
+
}));
|
|
7
|
+
const mergeObject = configs.reduce((res, next) => {
|
|
8
|
+
if (!res[next.library]) {
|
|
9
|
+
res[next.library] = next;
|
|
10
|
+
return res;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
Object.assign(res[next.library].variables, next.variables);
|
|
14
|
+
return res;
|
|
15
|
+
}, {});
|
|
16
|
+
return Object.keys(mergeObject).map(key => mergeObject[key]);
|
|
17
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export default function flatVariables(obj) {
|
|
2
|
+
let jointStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '_';
|
|
3
|
+
return Object.keys(obj).reduce((res, component) => Object.assign(res, Object.keys(obj[component]).reduce((res, variable) => {
|
|
4
|
+
if (component === '') {
|
|
5
|
+
res[`${variable}`] = obj[component][variable];
|
|
6
|
+
} else {
|
|
7
|
+
res[`${component}${jointStr}${variable}`] = obj[component][variable];
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
return res;
|
|
11
|
+
}, {})), {});
|
|
12
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/* eslint-disable no-param-reassign */
|
|
2
|
+
|
|
3
|
+
/** ** Methods *** */
|
|
4
|
+
import combineConfigurations from './combineConfigurations';
|
|
5
|
+
export default function getCustomizedCssVariables(cssVariableConfigs) {
|
|
6
|
+
let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '--lib_';
|
|
7
|
+
const newConfiguration = combineConfigurations(cssVariableConfigs);
|
|
8
|
+
return newConfiguration.reduce((result, config) => {
|
|
9
|
+
Object.keys(config.variables).forEach(variable => {
|
|
10
|
+
// eslint-disable-next-line no-param-reassign
|
|
11
|
+
if (config.library === '') {
|
|
12
|
+
result += `${prefix}${variable}:${config.variables[variable]}; \n`;
|
|
13
|
+
} else {
|
|
14
|
+
result += `${prefix}${config.library}_${variable}:${config.variables[variable]}; \n`;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
return result;
|
|
18
|
+
}, '\n');
|
|
19
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { modeConstants, themeConstants } from '../constants';
|
|
2
|
+
import lightBlue from '../themeVariables/light/blueTheme';
|
|
3
|
+
import lightGreen from '../themeVariables/light/greenTheme';
|
|
4
|
+
import lightOrange from '../themeVariables/light/orangeTheme';
|
|
5
|
+
import lightRed from '../themeVariables/light/redTheme';
|
|
6
|
+
import lightYellow from '../themeVariables/light/yellowTheme';
|
|
7
|
+
import darkBlue from '../themeVariables/dark/blueTheme';
|
|
8
|
+
import darkGreen from '../themeVariables/dark/greenTheme';
|
|
9
|
+
import darkOrange from '../themeVariables/dark/orangeTheme';
|
|
10
|
+
import darkRed from '../themeVariables/dark/redTheme';
|
|
11
|
+
import darkYellow from '../themeVariables/dark/yellowTheme';
|
|
12
|
+
import pureDarkBlue from '../themeVariables/pureDark/blueTheme';
|
|
13
|
+
import pureDarkGreen from '../themeVariables/pureDark/greenTheme';
|
|
14
|
+
import pureDarkOrange from '../themeVariables/pureDark/orangeTheme';
|
|
15
|
+
import pureDarkRed from '../themeVariables/pureDark/redTheme';
|
|
16
|
+
import pureDarkYellow from '../themeVariables/pureDark/yellowTheme';
|
|
17
|
+
const modeMapping = {
|
|
18
|
+
[modeConstants.LIGHT]: 'light',
|
|
19
|
+
[modeConstants.DARK]: 'dark',
|
|
20
|
+
[modeConstants.PURE_DARK]: 'pureDark'
|
|
21
|
+
};
|
|
22
|
+
const themeMapping = {
|
|
23
|
+
[themeConstants.BLUE]: 'blue',
|
|
24
|
+
[themeConstants.GREEN]: 'green',
|
|
25
|
+
[themeConstants.ORANGE]: 'orange',
|
|
26
|
+
[themeConstants.RED]: 'red',
|
|
27
|
+
[themeConstants.YELLOW]: 'yellow'
|
|
28
|
+
};
|
|
29
|
+
const concatString = '_';
|
|
30
|
+
const defaultTheme = themeMapping[themeConstants.BLUE];
|
|
31
|
+
const defaultMode = modeMapping[modeConstants.LIGHT];
|
|
32
|
+
const defaultThemeConfiguration = lightBlue;
|
|
33
|
+
const themeConfigMapping = {
|
|
34
|
+
[`${modeConstants.LIGHT}${concatString}${themeConstants.BLUE}`]: lightBlue,
|
|
35
|
+
[`${modeConstants.LIGHT}${concatString}${themeConstants.GREEN}`]: lightGreen,
|
|
36
|
+
[`${modeConstants.LIGHT}${concatString}${themeConstants.ORANGE}`]: lightOrange,
|
|
37
|
+
[`${modeConstants.LIGHT}${concatString}${themeConstants.RED}`]: lightRed,
|
|
38
|
+
[`${modeConstants.LIGHT}${concatString}${themeConstants.YELLOW}`]: lightYellow,
|
|
39
|
+
[`${modeConstants.DARK}${concatString}${themeConstants.BLUE}`]: darkBlue,
|
|
40
|
+
[`${modeConstants.DARK}${concatString}${themeConstants.GREEN}`]: darkGreen,
|
|
41
|
+
[`${modeConstants.DARK}${concatString}${themeConstants.ORANGE}`]: darkOrange,
|
|
42
|
+
[`${modeConstants.DARK}${concatString}${themeConstants.RED}`]: darkRed,
|
|
43
|
+
[`${modeConstants.DARK}${concatString}${themeConstants.YELLOW}`]: darkYellow,
|
|
44
|
+
[`${modeConstants.PURE_DARK}${concatString}${themeConstants.BLUE}`]: pureDarkBlue,
|
|
45
|
+
[`${modeConstants.PURE_DARK}${concatString}${themeConstants.GREEN}`]: pureDarkGreen,
|
|
46
|
+
[`${modeConstants.PURE_DARK}${concatString}${themeConstants.ORANGE}`]: pureDarkOrange,
|
|
47
|
+
[`${modeConstants.PURE_DARK}${concatString}${themeConstants.RED}`]: pureDarkRed,
|
|
48
|
+
[`${modeConstants.PURE_DARK}${concatString}${themeConstants.YELLOW}`]: pureDarkYellow
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
function getThemeName() {
|
|
52
|
+
let {
|
|
53
|
+
mode = modeConstants.LIGHT,
|
|
54
|
+
theme = themeConstants.BLUE
|
|
55
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
56
|
+
const themeName = `${mode}${concatString}${theme}`;
|
|
57
|
+
return {
|
|
58
|
+
themeName
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export default function getThemeConfigurations(_ref) {
|
|
63
|
+
let {
|
|
64
|
+
mode: propMode,
|
|
65
|
+
theme: propTheme
|
|
66
|
+
} = _ref;
|
|
67
|
+
const {
|
|
68
|
+
themeName
|
|
69
|
+
} = getThemeName({
|
|
70
|
+
mode: propMode,
|
|
71
|
+
theme: propTheme
|
|
72
|
+
});
|
|
73
|
+
const mode = propMode ? modeMapping[propMode] || propMode : defaultMode;
|
|
74
|
+
const theme = propTheme ? themeMapping[propTheme] || propTheme : defaultTheme;
|
|
75
|
+
const themeConfigurations = themeConfigMapping[themeName] || defaultThemeConfiguration;
|
|
76
|
+
return {
|
|
77
|
+
mode,
|
|
78
|
+
theme,
|
|
79
|
+
themeConfigurations
|
|
80
|
+
};
|
|
81
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export default function getWrapperDivProps(_ref) {
|
|
2
|
+
let {
|
|
3
|
+
modeKey,
|
|
4
|
+
themeKey,
|
|
5
|
+
mode,
|
|
6
|
+
theme
|
|
7
|
+
} = _ref;
|
|
8
|
+
let wrapperDivProps = {};
|
|
9
|
+
wrapperDivProps = modeKey && mode ? { ...wrapperDivProps,
|
|
10
|
+
[modeKey]: mode
|
|
11
|
+
} : {};
|
|
12
|
+
wrapperDivProps = themeKey && theme ? { ...wrapperDivProps,
|
|
13
|
+
[themeKey]: theme
|
|
14
|
+
} : {};
|
|
15
|
+
return wrapperDivProps;
|
|
16
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** ** Libraries *** */
|
|
2
|
+
import React from 'react';
|
|
3
|
+
/** ** Hooks *** */
|
|
4
|
+
|
|
5
|
+
import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
|
|
6
|
+
import useMedia from '@zohoim/chat-components-hooks/es/Media/useMedia';
|
|
7
|
+
/** ** Constants *** */
|
|
8
|
+
|
|
9
|
+
import videoDefaultProps from './props/defaultProps';
|
|
10
|
+
import videoPropTypes from './props/propTypes';
|
|
11
|
+
/** ** Styles *** */
|
|
12
|
+
|
|
13
|
+
import style from './css/Video.module.css';
|
|
14
|
+
export default function Video(props) {
|
|
15
|
+
const {
|
|
16
|
+
customStyle,
|
|
17
|
+
fileType,
|
|
18
|
+
fileURL
|
|
19
|
+
} = props;
|
|
20
|
+
const {
|
|
21
|
+
mediaElementRef
|
|
22
|
+
} = useMedia(props);
|
|
23
|
+
/* External CSS Customization */
|
|
24
|
+
|
|
25
|
+
const newStyle = useMergeStyle(style, customStyle);
|
|
26
|
+
return /*#__PURE__*/React.createElement("video", {
|
|
27
|
+
ref: mediaElementRef,
|
|
28
|
+
className: newStyle.video,
|
|
29
|
+
controls: true,
|
|
30
|
+
preload: "metadata"
|
|
31
|
+
}, /*#__PURE__*/React.createElement("source", {
|
|
32
|
+
"data-src": fileURL,
|
|
33
|
+
type: fileType
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
Video.propTypes = videoPropTypes;
|
|
37
|
+
Video.defaultProps = videoDefaultProps;
|
|
38
|
+
Video.displayName = 'Video';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Video } from './Video';
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
3
|
+
/** ** Libraries *** */
|
|
4
|
+
import React, { useCallback } from 'react';
|
|
5
|
+
/** ** Hooks *** */
|
|
6
|
+
|
|
7
|
+
import useMergeStyle from '@zohodesk/hooks/es/utils/useMergeStyle';
|
|
8
|
+
/** ** Constants *** */
|
|
9
|
+
|
|
10
|
+
import videoBubbleDefaultProps from './props/defaultProps';
|
|
11
|
+
import videoBubblePropTypes from './props/propTypes';
|
|
12
|
+
import { dummyObject } from '@zohoim/chat-components-utils/es/constants/emptyConstants';
|
|
13
|
+
/** ** Styles *** */
|
|
14
|
+
|
|
15
|
+
import style from './css/VideoBubble.module.css';
|
|
16
|
+
/** ** Components *** */
|
|
17
|
+
|
|
18
|
+
import { Box } from '@zohodesk/components/es/Layout';
|
|
19
|
+
import MediaBubbleWrapper from '../MediaBubbleWrapper/MediaBubbleWrapper';
|
|
20
|
+
import Video from '../Video/Video';
|
|
21
|
+
/** ** Methods *** */
|
|
22
|
+
|
|
23
|
+
import cssJSLogic from './css/cssJSLogic';
|
|
24
|
+
export default function VideoBubble(props) {
|
|
25
|
+
const {
|
|
26
|
+
customStyle,
|
|
27
|
+
customProps,
|
|
28
|
+
videoDetails,
|
|
29
|
+
isFailed
|
|
30
|
+
} = props;
|
|
31
|
+
const {
|
|
32
|
+
videoProps = dummyObject,
|
|
33
|
+
mediaBubbleWrapperProps = dummyObject
|
|
34
|
+
} = customProps;
|
|
35
|
+
/* External CSS Customization */
|
|
36
|
+
|
|
37
|
+
const newStyle = useMergeStyle(style, customStyle);
|
|
38
|
+
/* css classnames added based on logic */
|
|
39
|
+
|
|
40
|
+
const {
|
|
41
|
+
videoBubbleClass
|
|
42
|
+
} = cssJSLogic({
|
|
43
|
+
isFailed
|
|
44
|
+
}, newStyle);
|
|
45
|
+
const renderMedia = useCallback(_ref => {
|
|
46
|
+
let {
|
|
47
|
+
fileURL,
|
|
48
|
+
fileType
|
|
49
|
+
} = _ref;
|
|
50
|
+
return /*#__PURE__*/React.createElement(Box, {
|
|
51
|
+
className: videoBubbleClass
|
|
52
|
+
}, /*#__PURE__*/React.createElement(Video, _extends({
|
|
53
|
+
fileType: fileType,
|
|
54
|
+
fileURL: fileURL
|
|
55
|
+
}, videoProps)));
|
|
56
|
+
}, [videoProps, videoBubbleClass]);
|
|
57
|
+
return /*#__PURE__*/React.createElement(MediaBubbleWrapper, _extends({
|
|
58
|
+
mediaDetails: videoDetails,
|
|
59
|
+
renderMedia: renderMedia
|
|
60
|
+
}, mediaBubbleWrapperProps, {
|
|
61
|
+
isFailed: isFailed
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
VideoBubble.propTypes = videoBubblePropTypes;
|
|
65
|
+
VideoBubble.defaultProps = videoBubbleDefaultProps;
|
|
66
|
+
VideoBubble.displayName = 'VideoBubble';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
.videoWrapper {
|
|
2
|
+
width: var(--zd_size360) ;
|
|
3
|
+
max-width: 100% ;
|
|
4
|
+
height: var(--zd_size193) ;
|
|
5
|
+
background-color: #000;
|
|
6
|
+
border-radius: 3px;
|
|
7
|
+
border: 1px solid var(--imlib_chat_components_videoBubble_border_color);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.videoWrapperFailed{
|
|
11
|
+
border-color: var(--imlib_chat_components_videoBubble_border_color_failed);
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** ** Methods *** */
|
|
2
|
+
import { compileClassNames } from '@zohodesk/utils';
|
|
3
|
+
export default function cssJSLogic(props, style) {
|
|
4
|
+
const {
|
|
5
|
+
isFailed
|
|
6
|
+
} = props;
|
|
7
|
+
const videoBubbleClass = compileClassNames({
|
|
8
|
+
[style.videoWrapper]: true,
|
|
9
|
+
[style.videoWrapperFailed]: isFailed
|
|
10
|
+
});
|
|
11
|
+
return {
|
|
12
|
+
videoBubbleClass
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as VideoBubble } from './VideoBubble';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** ** Libraries *** */
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
const videoBubblePropTypes = {
|
|
4
|
+
videoDetails: PropTypes.shape({
|
|
5
|
+
name: PropTypes.string.isRequired,
|
|
6
|
+
size: PropTypes.string.isRequired,
|
|
7
|
+
type: PropTypes.string.isRequired,
|
|
8
|
+
url: PropTypes.string.isRequired
|
|
9
|
+
}).isRequired,
|
|
10
|
+
customProps: PropTypes.shape({
|
|
11
|
+
mediaBubbleWrapperProps: PropTypes.object,
|
|
12
|
+
videoProps: PropTypes.object
|
|
13
|
+
}),
|
|
14
|
+
customStyle: PropTypes.object,
|
|
15
|
+
isFailed: PropTypes.bool
|
|
16
|
+
};
|
|
17
|
+
export default videoBubblePropTypes;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const MSG_ACTION_POPUP_PORTAL = 'MSG_ACTION_POPUP_PORTAL';
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
const commandLineArgs = require('command-line-args');
|
|
3
|
+
|
|
4
|
+
const path = require('path');
|
|
5
|
+
|
|
6
|
+
const fs = require('fs');
|
|
7
|
+
|
|
8
|
+
const templateList = require('./icon.template');
|
|
9
|
+
|
|
10
|
+
const jsdom = require('jsdom');
|
|
11
|
+
|
|
12
|
+
const {
|
|
13
|
+
JSDOM
|
|
14
|
+
} = jsdom;
|
|
15
|
+
|
|
16
|
+
const reactToJsx = require('react-to-jsx');
|
|
17
|
+
|
|
18
|
+
const HtmlToReactParser = require('html-to-react').Parser;
|
|
19
|
+
|
|
20
|
+
const htmlToReactParser = new HtmlToReactParser();
|
|
21
|
+
const options = commandLineArgs([{
|
|
22
|
+
name: 'sourucePath',
|
|
23
|
+
alias: 's',
|
|
24
|
+
type: String
|
|
25
|
+
}, {
|
|
26
|
+
name: 'targetPath',
|
|
27
|
+
alias: 't',
|
|
28
|
+
type: String
|
|
29
|
+
}]);
|
|
30
|
+
const sourucePath = `${__dirname}/${options.sourucePath}`;
|
|
31
|
+
const targetPath = `${__dirname}/${options.targetPath}`;
|
|
32
|
+
|
|
33
|
+
function readAllFolder(sourucePath, targetPath, index, filesList, callback) {
|
|
34
|
+
const readDirMain = fs.readdirSync(sourucePath, {
|
|
35
|
+
withFileTypes: true
|
|
36
|
+
});
|
|
37
|
+
readDirMain.forEach(dirNext => {
|
|
38
|
+
const sourceDirPath = path.join(`${sourucePath}/${dirNext.name}`);
|
|
39
|
+
const targetDirPath = path.join(`${targetPath}/${dirNext.name}`);
|
|
40
|
+
|
|
41
|
+
if (fs.existsSync(sourceDirPath) && fs.lstatSync(sourceDirPath).isDirectory()) {
|
|
42
|
+
filesList[index + 1] = [];
|
|
43
|
+
readAllFolder(sourceDirPath, targetDirPath, index + 1, filesList, callback);
|
|
44
|
+
createIndexFiles(filesList[index + 1], targetDirPath);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const svgFileName = callback(dirNext, sourucePath, targetPath);
|
|
49
|
+
|
|
50
|
+
if (svgFileName) {
|
|
51
|
+
filesList[index] = (filesList[index] || []).concat(svgFileName);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function createIndexFiles(filesList, targetDirPath) {
|
|
57
|
+
let indexContent = '';
|
|
58
|
+
filesList.forEach(fileName => {
|
|
59
|
+
indexContent += `${templateList.indexTemplate({
|
|
60
|
+
path: `./${fileName}`,
|
|
61
|
+
name: fileName
|
|
62
|
+
})}\n`;
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
if (indexContent) {
|
|
66
|
+
const fsPromises = fs.promises;
|
|
67
|
+
fsPromises.mkdir(targetDirPath, {
|
|
68
|
+
recursive: true
|
|
69
|
+
}).then(() => {
|
|
70
|
+
fs.writeFileSync(`${targetDirPath}/index.js`, indexContent);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function getFormattedSvgFileName(fileName) {
|
|
76
|
+
const replacer = '/'; // OS won't allow this char.so.
|
|
77
|
+
|
|
78
|
+
let str = fileName.replace(/[^A-z0-9]/g, replacer);
|
|
79
|
+
str = str.split('');
|
|
80
|
+
str.forEach((charCode, index) => {
|
|
81
|
+
if (str[index] === replacer) {
|
|
82
|
+
str[index] = '';
|
|
83
|
+
str[index + 1] = str[index + 1].toUpperCase();
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
fileName = str.join('');
|
|
87
|
+
return fileName.charAt(0).toUpperCase() + fileName.slice(1);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function isValidFileName(fileName) {
|
|
91
|
+
return /[A-z]/g.test(fileName.charAt(0));
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
readAllFolder(sourucePath, targetPath, 0, [], (file, sourucePath, targetPath) => {
|
|
95
|
+
let svgFileName = '';
|
|
96
|
+
|
|
97
|
+
if (file && path.extname(file.name) === '.svg') {
|
|
98
|
+
if (!isValidFileName(file.name)) {
|
|
99
|
+
console.error(`Invalid File Name Error!!! - This file ${file.name} is should be startswith A-z `);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
try {
|
|
104
|
+
const readFilePath = path.join(`${sourucePath}/${file.name}`);
|
|
105
|
+
const svgFileContent = fs.readFileSync(readFilePath).toString();
|
|
106
|
+
svgFileName = getFormattedSvgFileName(path.basename(readFilePath, path.extname(file.name)));
|
|
107
|
+
const fsPromises = fs.promises;
|
|
108
|
+
fsPromises.mkdir(targetPath, {
|
|
109
|
+
recursive: true
|
|
110
|
+
}).then(() => {
|
|
111
|
+
const dom = new JSDOM(`<!DOCTYPE html>${svgFileContent}`);
|
|
112
|
+
const doc = dom.window.document;
|
|
113
|
+
const collection = doc.querySelectorAll('title');
|
|
114
|
+
|
|
115
|
+
for (const elem of collection) {
|
|
116
|
+
elem.parentNode.removeChild(elem);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
const svgElement = doc.querySelector('svg');
|
|
120
|
+
svgElement.removeAttribute('width');
|
|
121
|
+
svgElement.removeAttribute('height');
|
|
122
|
+
svgElement.removeAttribute('version');
|
|
123
|
+
const styleTags = svgElement.querySelector('style');
|
|
124
|
+
let styleTagsContent;
|
|
125
|
+
|
|
126
|
+
if (styleTags) {
|
|
127
|
+
styleTagsContent = styleTags.innerHTML;
|
|
128
|
+
const NewStyleElement = doc.createElement('style');
|
|
129
|
+
styleTags.parentNode.replaceChild(NewStyleElement, styleTags);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
const collectionPathEl = svgElement.querySelectorAll('path');
|
|
133
|
+
|
|
134
|
+
for (const entry of collectionPathEl.entries()) {
|
|
135
|
+
const index = entry[0];
|
|
136
|
+
const elem = entry[1];
|
|
137
|
+
elem.setAttribute('class', `path-${index}`);
|
|
138
|
+
|
|
139
|
+
if (elem.getAttribute('fill') == 'black' || elem.getAttribute('fill') == '#010101') {
|
|
140
|
+
elem.removeAttribute('fill');
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
const svgHtmlContent = svgElement.outerHTML.replace(/\s+/g, ' ').trim();
|
|
145
|
+
const svgAsReactElement = htmlToReactParser.parse(svgHtmlContent);
|
|
146
|
+
let svgHtmlContentResult = reactToJsx(svgAsReactElement).replace(/\s+/g, ' ').trim();
|
|
147
|
+
|
|
148
|
+
if (styleTags) {
|
|
149
|
+
// console.log(styleTags, 'styleTags');
|
|
150
|
+
svgHtmlContentResult = svgHtmlContentResult.replace('<style/>', `<style dangerouslySetInnerHTML={{__html: \`${styleTagsContent}\` }} />`);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
svgHtmlContentResult = svgHtmlContentResult.replace(/color-interpolation-filters/gi, 'colorInterpolationFilters');
|
|
154
|
+
svgHtmlContentResult = svgHtmlContentResult.replace(/feflood/gi, 'feFlood');
|
|
155
|
+
svgHtmlContentResult = svgHtmlContentResult.replace(/fecolormatrix/gi, 'feColorMatrix');
|
|
156
|
+
svgHtmlContentResult = svgHtmlContentResult.replace(/feoffset/gi, 'feOffset');
|
|
157
|
+
svgHtmlContentResult = svgHtmlContentResult.replace(/fegaussianblur/gi, 'feGaussianBlur');
|
|
158
|
+
svgHtmlContentResult = svgHtmlContentResult.replace(/feblend/gi, 'feBlend');
|
|
159
|
+
svgHtmlContentResult = svgHtmlContentResult.replace(/lineargradient/gi, 'linearGradient');
|
|
160
|
+
fs.writeFileSync(`${targetPath}/${svgFileName}.js`, templateList.iconTemplate({
|
|
161
|
+
path: '@zohodesk/icon/es/Icon/Icon',
|
|
162
|
+
name: svgFileName,
|
|
163
|
+
value: svgHtmlContentResult
|
|
164
|
+
}));
|
|
165
|
+
});
|
|
166
|
+
} catch (err) {
|
|
167
|
+
console.error(err);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
return svgFileName;
|
|
172
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="31.68" height="32.17" viewBox="0 0 31.68 32.17">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
.cls-1 {
|
|
5
|
+
fill: #c8cadb;
|
|
6
|
+
opacity: 0.5;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.cls-2 {
|
|
10
|
+
fill: #010101;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
</defs>
|
|
14
|
+
<rect class="cls-1" x="4.84" y="5.33" width="26.84" height="26.84" rx="5"/>
|
|
15
|
+
<g>
|
|
16
|
+
<path class="cls-2" d="M18.67,11.65l-7.55,1.41a.7.7,0,0,0-.6.7v7.32A3.56,3.56,0,0,0,9,20.8c-1.66,0-3,.91-3,2.11S7.35,25,9,25s3-.92,3-2.11V15.73l6-1.13v5.07a3.56,3.56,0,0,0-1.51-.28c-1.66,0-3,.91-3,2.11s1.36,2.11,3,2.11,3-.91,3-2.11V12.35a.63.63,0,0,0-.3-.56A.87.87,0,0,0,18.67,11.65Z"/>
|
|
17
|
+
<path class="cls-2" d="M29.75,10.13,21.12.34A1,1,0,0,0,20.38,0H4.11A4.11,4.11,0,0,0,0,4.11V25.88A4.12,4.12,0,0,0,4.11,30H25.89A4.12,4.12,0,0,0,30,25.88V10.79A1,1,0,0,0,29.75,10.13ZM25.89,28H4.11A2.12,2.12,0,0,1,2,25.88V4.11A2.12,2.12,0,0,1,4.11,2H19.77V7.94a3.5,3.5,0,0,0,3.5,3.5H28V25.88A2.12,2.12,0,0,1,25.89,28Z"/>
|
|
18
|
+
</g>
|
|
19
|
+
</svg>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="31.7" height="32.17" viewBox="0 0 31.7 32.17">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
.cls-1 {
|
|
5
|
+
fill: #c8cadb;
|
|
6
|
+
opacity: 0.5;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.cls-2 {
|
|
10
|
+
fill: #010101;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
</defs>
|
|
14
|
+
<rect class="cls-1" x="4.85" y="5.33" width="26.84" height="26.84" rx="5"/>
|
|
15
|
+
<g>
|
|
16
|
+
<path class="cls-2" d="M17.13,14.09a.82.82,0,0,0-1.08.43l-3.81,8.73a.84.84,0,0,0,.42,1.09,1,1,0,0,0,.33.07.84.84,0,0,0,.76-.5l3.81-8.74A.82.82,0,0,0,17.13,14.09Z"/>
|
|
17
|
+
<path class="cls-2" d="M11.33,16a.81.81,0,0,0-1.15-.14l-2.9,2.31a.78.78,0,0,0-.3.58.81.81,0,0,0,.21.62l2.63,2.82a.83.83,0,0,0,.6.26.89.89,0,0,0,.57-.22.84.84,0,0,0,0-1.17L9,18.92l2.19-1.75A.81.81,0,0,0,11.33,16Z"/>
|
|
18
|
+
<path class="cls-2" d="M20,16a.81.81,0,0,0-1.16,0,.82.82,0,0,0,0,1.16l2,2.16L18.58,21a.83.83,0,0,0-.13,1.16.82.82,0,0,0,.64.31.84.84,0,0,0,.52-.18L22.5,20a.82.82,0,0,0,.31-.58.8.8,0,0,0-.22-.62Z"/>
|
|
19
|
+
<path class="cls-2" d="M29.75,10.13,21.12.34A1,1,0,0,0,20.38,0H4.11A4.11,4.11,0,0,0,0,4.11V25.88A4.12,4.12,0,0,0,4.11,30H25.89A4.12,4.12,0,0,0,30,25.88V10.79A1,1,0,0,0,29.75,10.13ZM25.89,28H4.11A2.12,2.12,0,0,1,2,25.88V4.11A2.12,2.12,0,0,1,4.11,2H19.77V7.94a3.5,3.5,0,0,0,3.5,3.5H28V25.88A2.12,2.12,0,0,1,25.89,28Z"/>
|
|
20
|
+
</g>
|
|
21
|
+
</svg>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="32.19" height="32.18" viewBox="0 0 32.19 32.18">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
.cls-1 {
|
|
5
|
+
fill: #c8cadb;
|
|
6
|
+
opacity: 0.5;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.cls-2 {
|
|
10
|
+
fill: #010101;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
</defs>
|
|
14
|
+
<rect class="cls-1" x="5.35" y="5.33" width="26.84" height="26.84" rx="5"/>
|
|
15
|
+
<g>
|
|
16
|
+
<path class="cls-2" d="M21.66,18.14a.36.36,0,0,0-.2.06l-3.75,2.59-5.75-7a.35.35,0,0,0-.5,0,.22.22,0,0,0-.07.09l-4.19,7v3H22V18.49A.35.35,0,0,0,21.66,18.14Z"/>
|
|
17
|
+
<circle class="cls-2" cx="19.79" cy="14.13" r="2.22"/>
|
|
18
|
+
<path class="cls-2" d="M29.75,10.14,21.12.34A1,1,0,0,0,20.37,0H4.11A4.11,4.11,0,0,0,0,4.11V25.89A4.11,4.11,0,0,0,4.11,30H25.89A4.11,4.11,0,0,0,30,25.89V10.8A1,1,0,0,0,29.75,10.14ZM25.89,28H4.11A2.12,2.12,0,0,1,2,25.89V4.11A2.12,2.12,0,0,1,4.11,2H19.77V7.94a3.49,3.49,0,0,0,3.5,3.5H28V25.89A2.12,2.12,0,0,1,25.89,28Z"/>
|
|
19
|
+
</g>
|
|
20
|
+
</svg>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="32.5" height="32.17" viewBox="0 0 32.5 32.17">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
.cls-1 {
|
|
5
|
+
fill: #c8cadb;
|
|
6
|
+
opacity: 0.5;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.cls-2 {
|
|
10
|
+
fill: #010101;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
</defs>
|
|
14
|
+
<rect class="cls-1" x="5.66" y="5.33" width="26.84" height="26.84" rx="5"/>
|
|
15
|
+
<g>
|
|
16
|
+
<path class="cls-2" d="M18.56,18.52c-2.43-1.1-3.36-4.37-3.36-4.37a13.6,13.6,0,0,0,.61-3.07C16,9.24,15,8.81,14.32,8.76a1.24,1.24,0,0,0-1.08.54c-1.29,1.79,0,5,0,5a31.64,31.64,0,0,1-2.75,6.49c-4.73,2.47-3.81,4.33-3.81,4.33l.92.63c2.19.61,4.59-4.16,4.59-4.16,1.17-.73,5.69-1.1,5.69-1.1,3.72,1.74,6.28,1.12,5.74-.76S18.56,18.52,18.56,18.52ZM7.84,24.74a5.19,5.19,0,0,1,2.23-2.67S8.92,24.47,7.84,24.74ZM14.25,9.6s.9-.07,0,3C14.25,12.57,13.64,10.3,14.25,9.6Zm-1.9,10.88a22.05,22.05,0,0,0,2-4.59A8.43,8.43,0,0,0,17,19.18,21.56,21.56,0,0,0,12.35,20.48Zm10.22,0a4.86,4.86,0,0,1-2.85-.79,5.53,5.53,0,0,1,2.93.35A.23.23,0,0,1,22.57,20.46Z"/>
|
|
17
|
+
<path class="cls-2" d="M29.75,10.13,21.12.34A1,1,0,0,0,20.38,0H4.11A4.11,4.11,0,0,0,0,4.11V25.88A4.12,4.12,0,0,0,4.11,30H25.89A4.12,4.12,0,0,0,30,25.88V10.79A1,1,0,0,0,29.75,10.13ZM25.89,28H4.11A2.12,2.12,0,0,1,2,25.88V4.11A2.12,2.12,0,0,1,4.11,2H19.77V7.94a3.5,3.5,0,0,0,3.5,3.5H28V25.88A2.12,2.12,0,0,1,25.89,28Z"/>
|
|
18
|
+
</g>
|
|
19
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30.52 30.27"><defs><style>.cls-1{fill:#010101;}.cls-2{fill:#c8cadb;opacity:.5;}</style></defs><rect class="cls-2" x="4.25" y="4" width="26.27" height="26.27" rx="3.16" ry="3.16"/><path class="cls-1" d="M29.75,10.13L21.12,.34c-.19-.22-.46-.34-.75-.34H4.11C1.84,0,0,1.84,0,4.11V25.88c0,2.27,1.84,4.11,4.11,4.11H25.89c2.27,0,4.11-1.84,4.11-4.11V10.79c0-.24-.09-.48-.25-.66Zm-1.75,15.75c0,1.16-.95,2.11-2.11,2.11H4.11c-1.16,0-2.11-.95-2.11-2.11V4.11c0-1.16,.95-2.11,2.11-2.11h15.66V7.94c0,1.93,1.57,3.5,3.5,3.5h4.73v14.44Zm-5.83-13.7h-6.17v-.84c0-.55-.45-1-1-1s-1,.45-1,1v.84H7.83c-.55,0-1,.45-1,1v8.78c0,.55,.45,1,1,1h2.76l-.59,.97c-.29,.47-.14,1.09,.33,1.37,.16,.1,.34,.15,.52,.15,.34,0,.67-.17,.85-.48l1.23-2.01h3.89l1.23,2.01c.19,.31,.52,.48,.85,.48,.18,0,.36-.05,.52-.15,.47-.29,.62-.9,.33-1.37l-.59-.97h3c.55,0,1-.45,1-1V13.17c0-.55-.45-1-1-1Zm-1,8.78H8.83v-6.78h12.34v6.78Z"/></svg>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="32.19" height="32.94" viewBox="0 0 32.19 32.94">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
.cls-1 {
|
|
5
|
+
fill: #c8cadb;
|
|
6
|
+
opacity: 0.5;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.cls-2 {
|
|
10
|
+
fill: #010101;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
</defs>
|
|
14
|
+
<rect class="cls-1" x="5.35" y="6.1" width="26.84" height="26.84" rx="5"/>
|
|
15
|
+
<g>
|
|
16
|
+
<path class="cls-2" d="M21.67,20.88H14.39a1,1,0,1,0,0,2h7.28a1,1,0,0,0,0-2Z"/>
|
|
17
|
+
<path class="cls-2" d="M9.15,20.31a1.57,1.57,0,1,0,1.57,1.57A1.57,1.57,0,0,0,9.15,20.31Z"/>
|
|
18
|
+
<path class="cls-2" d="M21.67,13.54H14.39a1,1,0,0,0,0,2h7.28a1,1,0,0,0,0-2Z"/>
|
|
19
|
+
<path class="cls-2" d="M9.15,13a1.57,1.57,0,1,0,1.57,1.57A1.57,1.57,0,0,0,9.15,13Z"/>
|
|
20
|
+
<path class="cls-2" d="M29.75,10.13,21.12.34A1,1,0,0,0,20.37,0H4.11A4.11,4.11,0,0,0,0,4.11V25.88A4.12,4.12,0,0,0,4.11,30H25.89A4.12,4.12,0,0,0,30,25.88V10.79A1,1,0,0,0,29.75,10.13ZM25.89,28H4.11A2.12,2.12,0,0,1,2,25.88V4.11A2.12,2.12,0,0,1,4.11,2H19.77V7.94a3.5,3.5,0,0,0,3.5,3.5H28V25.88A2.12,2.12,0,0,1,25.89,28Z"/>
|
|
21
|
+
</g>
|
|
22
|
+
</svg>
|