@botonic/react 0.21.1 → 0.21.2

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.
@@ -174,10 +174,10 @@ export interface ThemeProps extends StyleProp {
174
174
  markdownStyle?: string // string template with css styles
175
175
  scrollbar?: ScrollbarProps & EnableProp
176
176
  userInput?: {
177
- attachments?: EnableProp
177
+ attachments?: EnableProp & CustomProp
178
178
  blockInputs?: BlockInputOption[]
179
179
  box?: { placeholder: string } & StyleProp
180
- emojiPicker?: EnableProp
180
+ emojiPicker?: EnableProp & CustomProp
181
181
  menu?: { darkBackground?: boolean } & {
182
182
  custom?: React.ComponentType<PersistentMenuProps>
183
183
  }
package/lib/constants.js CHANGED
@@ -139,6 +139,8 @@ var WEBCHAT = {
139
139
  documentDownload: 'documentDownload',
140
140
  customMenuButton: 'userInput.menuButton.custom',
141
141
  customPersistentMenu: 'userInput.menu.custom',
142
+ customEmojiPicker: 'userInput.emojiPicker.custom',
143
+ customAttachments: 'userInput.attachments.custom',
142
144
  customSendButton: 'userInput.sendButton.custom',
143
145
  darkBackgroundMenu: 'userInput.menu.darkBackground',
144
146
  enableAttachments: 'userInput.attachments.enable',
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constants.js"],"names":["SENDERS","bot","user","COLORS","APPLE_GREEN","BLEACHED_CEDAR_PURPLE","BOTONIC_BLUE","CACTUS_GREEN","CONCRETE_WHITE","CURIOUS_BLUE","DAINTREE_BLUE","ERROR_RED","FRINGY_FLOWER_GREEN","GRAY","LIGHT_GRAY","MID_GRAY","PIGEON_POST_BLUE_ALPHA_0_5","SCORPION_GRAY","SEASHELL_WHITE","SILVER","SOLID_BLACK_ALPHA_0_2","SOLID_BLACK_ALPHA_0_5","SOLID_BLACK","SOLID_WHITE_ALPHA_0_2","SOLID_WHITE_ALPHA_0_8","SOLID_WHITE","TASMAN_GRAY","TRANSPARENT","WILD_SAND_WHITE","WEBCHAT","DEFAULTS","WIDTH","HEIGHT","TITLE","LOGO","BotonicLogo","PLACEHOLDER","FONT_FAMILY","BORDER_RADIUS_TOP_CORNERS","ELEMENT_WIDTH","ELEMENT_MARGIN_RIGHT","STORAGE_KEY","HOST_ID","ID","BUTTON_AUTO_DISABLE","BUTTON_DISABLED_STYLE","opacity","cursor","pointerEvents","SELECTORS","SCROLLABLE_CONTENT","SIMPLEBAR_CONTENT","SIMPLEBAR_WRAPPER","CUSTOM_PROPERTIES","enableAnimations","markdownStyle","scrollbar","imagePreviewer","mobileBreakpoint","mobileStyle","webviewHeaderStyle","webviewStyle","brandColor","brandImage","customHeader","headerImage","headerStyle","headerSubtitle","headerTitle","botMessageBackground","botMessageBlobTick","botMessageBlobTickStyle","botMessageBlobWidth","botMessageBorderColor","botMessageImage","botMessageImageStyle","botMessageStyle","customMessageTypes","messageStyle","userMessageBackground","userMessageBlobTick","userMessageBlobTickStyle","userMessageBorderColor","userMessageStyle","enableMessageTimestamps","messageTimestampsFormat","messageTimestampsStyle","customIntro","introImage","introStyle","buttonHoverBackground","buttonHoverTextColor","buttonMessageType","buttonStyle","buttonDisabledStyle","buttonAutoDisable","buttonStyleBackground","buttonStyleColor","customButton","alignReplies","customReply","replyStyle","wrapReplies","customTrigger","triggerButtonImage","triggerButtonStyle","blockInputs","documentDownload","customMenuButton","customPersistentMenu","customSendButton","darkBackgroundMenu","enableAttachments","enableEmojiPicker","enableSendButton","enableUserInput","persistentMenu","textPlaceholder","userInputBoxStyle","userInputStyle","coverComponent","coverComponentProps","customCarouselLeftArrow","customCarouselRightArrow","enableCarouselArrows","MIME_WHITELIST","audio","document","image","video","MAX_ALLOWED_SIZE_MB","ROLES","ATTACHMENT_ICON","EMOJI_PICKER_ICON","EMOJI_PICKER","HEADER","MESSAGE_LIST","PERSISTENT_MENU_ICON","PERSISTENT_MENU","SEND_BUTTON_ICON","TRIGGER_BUTTON","TYPING_INDICATOR","TEXT_BOX","WEBVIEW","WEBVIEW_HEADER","MESSAGE","IMAGE_MESSAGE","AUDIO_MESSAGE","VIDEO_MESSAGE","DOCUMENT_MESSAGE","RAW_MESSAGE","COMPONENT_TYPE","TEXT","BUTTON","REPLY","CAROUSEL"],"mappings":"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","sourcesContent":["import BotonicLogo from './assets/botonic_react_logo100x100.png'\n\nexport const SENDERS = {\n bot: 'bot',\n user: 'user',\n}\n\nexport const COLORS = {\n // http://chir.ag/projects/name-that-color\n APPLE_GREEN: 'rgba(58, 156, 53, 1)',\n BLEACHED_CEDAR_PURPLE: 'rgba(46, 32, 59, 1)',\n BOTONIC_BLUE: 'rgba(0, 153, 255, 1)',\n CACTUS_GREEN: 'rgba(96, 115, 94, 1)',\n CONCRETE_WHITE: 'rgba(243, 243, 243, 1)',\n CURIOUS_BLUE: 'rgba(38, 139, 210, 1)',\n DAINTREE_BLUE: 'rgba(0, 43, 53, 1)',\n ERROR_RED: 'rgba(255, 43, 94)',\n FRINGY_FLOWER_GREEN: 'rgba(198, 231, 192, 1)',\n GRAY: 'rgba(129, 129, 129, 1)',\n LIGHT_GRAY: 'rgba(209, 209, 209, 1)',\n MID_GRAY: 'rgba(105, 105, 115, 1)',\n PIGEON_POST_BLUE_ALPHA_0_5: 'rgba(176, 196, 222, 0.5)',\n SCORPION_GRAY: 'rgba(87, 87, 87, 1)',\n SEASHELL_WHITE: 'rgba(241, 240, 240, 1)',\n SILVER: 'rgba(200, 200, 200, 1)',\n SOLID_BLACK_ALPHA_0_2: 'rgba(0, 0, 0, 0.2)',\n SOLID_BLACK_ALPHA_0_5: 'rgba(0, 0, 0, 0.5)',\n SOLID_BLACK: 'rgba(0, 0, 0, 1)',\n SOLID_WHITE_ALPHA_0_2: 'rgba(255, 255, 255, 0.2)',\n SOLID_WHITE_ALPHA_0_8: 'rgba(255, 255, 255, 0.8)',\n SOLID_WHITE: 'rgba(255, 255, 255, 1)',\n TASMAN_GRAY: 'rgba(209, 216, 207, 1)',\n TRANSPARENT: 'rgba(0, 0, 0, 0)',\n WILD_SAND_WHITE: 'rgba(244, 244, 244, 1)',\n}\n\nexport const WEBCHAT = {\n DEFAULTS: {\n WIDTH: 300,\n HEIGHT: 450,\n TITLE: 'Botonic',\n LOGO: BotonicLogo,\n PLACEHOLDER: 'Ask me something...',\n FONT_FAMILY: \"'Noto Sans JP', sans-serif\",\n BORDER_RADIUS_TOP_CORNERS: '6px 6px 0px 0px',\n ELEMENT_WIDTH: 222,\n ELEMENT_MARGIN_RIGHT: 6,\n STORAGE_KEY: 'botonicState',\n HOST_ID: 'root',\n ID: 'botonic-webchat',\n BUTTON_AUTO_DISABLE: false,\n BUTTON_DISABLED_STYLE: {\n opacity: 0.5,\n cursor: 'auto',\n pointerEvents: 'none',\n },\n },\n SELECTORS: {\n SCROLLABLE_CONTENT: '#botonic-scrollable-content',\n SIMPLEBAR_CONTENT: '.simplebar-content',\n SIMPLEBAR_WRAPPER: '.simplebar-content-wrapper',\n },\n CUSTOM_PROPERTIES: {\n // General\n enableAnimations: 'animations.enable',\n markdownStyle: 'markdownStyle',\n scrollbar: 'scrollbar',\n imagePreviewer: 'imagePreviewer',\n // Mobile\n mobileBreakpoint: 'mobileBreakpoint',\n mobileStyle: 'mobileStyle',\n // Webviews\n webviewHeaderStyle: 'webview.header.style',\n webviewStyle: 'webview.style',\n // Brand\n brandColor: 'brand.color',\n brandImage: 'brand.image',\n // Header\n customHeader: 'header.custom',\n headerImage: 'header.image',\n headerStyle: 'header.style',\n headerSubtitle: 'header.subtitle',\n headerTitle: 'header.title',\n // Bot Message\n botMessageBackground: 'message.bot.style.background',\n botMessageBlobTick: 'message.bot.blobTick',\n botMessageBlobTickStyle: 'message.bot.blobTickStyle',\n botMessageBlobWidth: 'message.bot.blobWidth',\n botMessageBorderColor: 'message.bot.style.borderColor',\n botMessageImage: 'message.bot.image',\n botMessageImageStyle: 'message.bot.imageStyle',\n botMessageStyle: 'message.bot.style',\n // User Message\n customMessageTypes: 'message.customTypes',\n messageStyle: 'message.style',\n userMessageBackground: 'message.user.style.background',\n userMessageBlobTick: 'message.user.blobTick',\n userMessageBlobTickStyle: 'message.user.blobTickStyle',\n userMessageBorderColor: 'message.user.style.borderColor',\n userMessageStyle: 'message.user.style',\n // Timestamps\n enableMessageTimestamps: 'message.timestamps.enable',\n messageTimestampsFormat: 'message.timestamps.format',\n messageTimestampsStyle: 'message.timestamps.style',\n // Intro\n customIntro: 'intro.custom',\n introImage: 'intro.image',\n introStyle: 'intro.style',\n // Buttons\n buttonHoverBackground: 'button.hoverBackground',\n buttonHoverTextColor: 'button.hoverTextColor',\n buttonMessageType: 'button.messageType',\n buttonStyle: 'button.style',\n buttonDisabledStyle: 'button.disabledstyle',\n buttonAutoDisable: 'button.autodisable',\n buttonStyleBackground: 'button.style.background',\n buttonStyleColor: 'button.style.color',\n customButton: 'button.custom',\n // Replies\n alignReplies: 'replies.align',\n customReply: 'reply.custom',\n replyStyle: 'reply.style',\n wrapReplies: 'replies.wrap',\n // TriggerButton\n customTrigger: 'triggerButton.custom',\n triggerButtonImage: 'triggerButton.image',\n triggerButtonStyle: 'triggerButton.style',\n // User Input\n blockInputs: 'userInput.blockInputs',\n documentDownload: 'documentDownload',\n customMenuButton: 'userInput.menuButton.custom',\n customPersistentMenu: 'userInput.menu.custom',\n customSendButton: 'userInput.sendButton.custom',\n darkBackgroundMenu: 'userInput.menu.darkBackground',\n enableAttachments: 'userInput.attachments.enable',\n enableEmojiPicker: 'userInput.emojiPicker.enable',\n enableSendButton: 'userInput.sendButton.enable',\n enableUserInput: 'userInput.enable',\n persistentMenu: 'userInput.persistentMenu',\n textPlaceholder: 'userInput.box.placeholder',\n userInputBoxStyle: 'userInput.box.style',\n userInputStyle: 'userInput.style',\n // Cover Component\n coverComponent: 'coverComponent.component',\n coverComponentProps: 'coverComponent.props',\n // Carousel\n customCarouselLeftArrow: 'carousel.arrow.left',\n customCarouselRightArrow: 'carousel.arrow.right',\n enableCarouselArrows: 'carousel.enableArrows',\n },\n}\n\nexport const MIME_WHITELIST = {\n audio: ['audio/mpeg', 'audio/mp3'],\n document: ['application/pdf'],\n image: ['image/jpeg', 'image/png'],\n video: ['video/mp4', 'video/quicktime'],\n}\n\nexport const MAX_ALLOWED_SIZE_MB = 10\n\nexport const ROLES = {\n ATTACHMENT_ICON: 'attachment-icon',\n EMOJI_PICKER_ICON: 'emoji-picker-icon',\n EMOJI_PICKER: 'emoji-picker',\n HEADER: 'header',\n MESSAGE_LIST: 'message-list',\n PERSISTENT_MENU_ICON: 'persistent-menu-icon',\n PERSISTENT_MENU: 'persistent-menu',\n SEND_BUTTON_ICON: 'send-button-icon',\n WEBCHAT: 'webchat',\n TRIGGER_BUTTON: 'trigger-button',\n TYPING_INDICATOR: 'typing-indicator',\n TEXT_BOX: 'textbox',\n WEBVIEW: 'webview',\n WEBVIEW_HEADER: 'webview-header',\n MESSAGE: 'message',\n IMAGE_MESSAGE: 'image-message',\n AUDIO_MESSAGE: 'audio-message',\n VIDEO_MESSAGE: 'video-message',\n DOCUMENT_MESSAGE: 'document-message',\n RAW_MESSAGE: 'raw-message',\n}\n\nexport const COMPONENT_TYPE = {\n TEXT: 'Text',\n BUTTON: 'Button',\n REPLY: 'Reply',\n CAROUSEL: 'Carousel',\n}\n"],"file":"constants.js"}
1
+ {"version":3,"sources":["../src/constants.js"],"names":["SENDERS","bot","user","COLORS","APPLE_GREEN","BLEACHED_CEDAR_PURPLE","BOTONIC_BLUE","CACTUS_GREEN","CONCRETE_WHITE","CURIOUS_BLUE","DAINTREE_BLUE","ERROR_RED","FRINGY_FLOWER_GREEN","GRAY","LIGHT_GRAY","MID_GRAY","PIGEON_POST_BLUE_ALPHA_0_5","SCORPION_GRAY","SEASHELL_WHITE","SILVER","SOLID_BLACK_ALPHA_0_2","SOLID_BLACK_ALPHA_0_5","SOLID_BLACK","SOLID_WHITE_ALPHA_0_2","SOLID_WHITE_ALPHA_0_8","SOLID_WHITE","TASMAN_GRAY","TRANSPARENT","WILD_SAND_WHITE","WEBCHAT","DEFAULTS","WIDTH","HEIGHT","TITLE","LOGO","BotonicLogo","PLACEHOLDER","FONT_FAMILY","BORDER_RADIUS_TOP_CORNERS","ELEMENT_WIDTH","ELEMENT_MARGIN_RIGHT","STORAGE_KEY","HOST_ID","ID","BUTTON_AUTO_DISABLE","BUTTON_DISABLED_STYLE","opacity","cursor","pointerEvents","SELECTORS","SCROLLABLE_CONTENT","SIMPLEBAR_CONTENT","SIMPLEBAR_WRAPPER","CUSTOM_PROPERTIES","enableAnimations","markdownStyle","scrollbar","imagePreviewer","mobileBreakpoint","mobileStyle","webviewHeaderStyle","webviewStyle","brandColor","brandImage","customHeader","headerImage","headerStyle","headerSubtitle","headerTitle","botMessageBackground","botMessageBlobTick","botMessageBlobTickStyle","botMessageBlobWidth","botMessageBorderColor","botMessageImage","botMessageImageStyle","botMessageStyle","customMessageTypes","messageStyle","userMessageBackground","userMessageBlobTick","userMessageBlobTickStyle","userMessageBorderColor","userMessageStyle","enableMessageTimestamps","messageTimestampsFormat","messageTimestampsStyle","customIntro","introImage","introStyle","buttonHoverBackground","buttonHoverTextColor","buttonMessageType","buttonStyle","buttonDisabledStyle","buttonAutoDisable","buttonStyleBackground","buttonStyleColor","customButton","alignReplies","customReply","replyStyle","wrapReplies","customTrigger","triggerButtonImage","triggerButtonStyle","blockInputs","documentDownload","customMenuButton","customPersistentMenu","customEmojiPicker","customAttachments","customSendButton","darkBackgroundMenu","enableAttachments","enableEmojiPicker","enableSendButton","enableUserInput","persistentMenu","textPlaceholder","userInputBoxStyle","userInputStyle","coverComponent","coverComponentProps","customCarouselLeftArrow","customCarouselRightArrow","enableCarouselArrows","MIME_WHITELIST","audio","document","image","video","MAX_ALLOWED_SIZE_MB","ROLES","ATTACHMENT_ICON","EMOJI_PICKER_ICON","EMOJI_PICKER","HEADER","MESSAGE_LIST","PERSISTENT_MENU_ICON","PERSISTENT_MENU","SEND_BUTTON_ICON","TRIGGER_BUTTON","TYPING_INDICATOR","TEXT_BOX","WEBVIEW","WEBVIEW_HEADER","MESSAGE","IMAGE_MESSAGE","AUDIO_MESSAGE","VIDEO_MESSAGE","DOCUMENT_MESSAGE","RAW_MESSAGE","COMPONENT_TYPE","TEXT","BUTTON","REPLY","CAROUSEL"],"mappings":"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","sourcesContent":["import BotonicLogo from './assets/botonic_react_logo100x100.png'\n\nexport const SENDERS = {\n bot: 'bot',\n user: 'user',\n}\n\nexport const COLORS = {\n // http://chir.ag/projects/name-that-color\n APPLE_GREEN: 'rgba(58, 156, 53, 1)',\n BLEACHED_CEDAR_PURPLE: 'rgba(46, 32, 59, 1)',\n BOTONIC_BLUE: 'rgba(0, 153, 255, 1)',\n CACTUS_GREEN: 'rgba(96, 115, 94, 1)',\n CONCRETE_WHITE: 'rgba(243, 243, 243, 1)',\n CURIOUS_BLUE: 'rgba(38, 139, 210, 1)',\n DAINTREE_BLUE: 'rgba(0, 43, 53, 1)',\n ERROR_RED: 'rgba(255, 43, 94)',\n FRINGY_FLOWER_GREEN: 'rgba(198, 231, 192, 1)',\n GRAY: 'rgba(129, 129, 129, 1)',\n LIGHT_GRAY: 'rgba(209, 209, 209, 1)',\n MID_GRAY: 'rgba(105, 105, 115, 1)',\n PIGEON_POST_BLUE_ALPHA_0_5: 'rgba(176, 196, 222, 0.5)',\n SCORPION_GRAY: 'rgba(87, 87, 87, 1)',\n SEASHELL_WHITE: 'rgba(241, 240, 240, 1)',\n SILVER: 'rgba(200, 200, 200, 1)',\n SOLID_BLACK_ALPHA_0_2: 'rgba(0, 0, 0, 0.2)',\n SOLID_BLACK_ALPHA_0_5: 'rgba(0, 0, 0, 0.5)',\n SOLID_BLACK: 'rgba(0, 0, 0, 1)',\n SOLID_WHITE_ALPHA_0_2: 'rgba(255, 255, 255, 0.2)',\n SOLID_WHITE_ALPHA_0_8: 'rgba(255, 255, 255, 0.8)',\n SOLID_WHITE: 'rgba(255, 255, 255, 1)',\n TASMAN_GRAY: 'rgba(209, 216, 207, 1)',\n TRANSPARENT: 'rgba(0, 0, 0, 0)',\n WILD_SAND_WHITE: 'rgba(244, 244, 244, 1)',\n}\n\nexport const WEBCHAT = {\n DEFAULTS: {\n WIDTH: 300,\n HEIGHT: 450,\n TITLE: 'Botonic',\n LOGO: BotonicLogo,\n PLACEHOLDER: 'Ask me something...',\n FONT_FAMILY: \"'Noto Sans JP', sans-serif\",\n BORDER_RADIUS_TOP_CORNERS: '6px 6px 0px 0px',\n ELEMENT_WIDTH: 222,\n ELEMENT_MARGIN_RIGHT: 6,\n STORAGE_KEY: 'botonicState',\n HOST_ID: 'root',\n ID: 'botonic-webchat',\n BUTTON_AUTO_DISABLE: false,\n BUTTON_DISABLED_STYLE: {\n opacity: 0.5,\n cursor: 'auto',\n pointerEvents: 'none',\n },\n },\n SELECTORS: {\n SCROLLABLE_CONTENT: '#botonic-scrollable-content',\n SIMPLEBAR_CONTENT: '.simplebar-content',\n SIMPLEBAR_WRAPPER: '.simplebar-content-wrapper',\n },\n CUSTOM_PROPERTIES: {\n // General\n enableAnimations: 'animations.enable',\n markdownStyle: 'markdownStyle',\n scrollbar: 'scrollbar',\n imagePreviewer: 'imagePreviewer',\n // Mobile\n mobileBreakpoint: 'mobileBreakpoint',\n mobileStyle: 'mobileStyle',\n // Webviews\n webviewHeaderStyle: 'webview.header.style',\n webviewStyle: 'webview.style',\n // Brand\n brandColor: 'brand.color',\n brandImage: 'brand.image',\n // Header\n customHeader: 'header.custom',\n headerImage: 'header.image',\n headerStyle: 'header.style',\n headerSubtitle: 'header.subtitle',\n headerTitle: 'header.title',\n // Bot Message\n botMessageBackground: 'message.bot.style.background',\n botMessageBlobTick: 'message.bot.blobTick',\n botMessageBlobTickStyle: 'message.bot.blobTickStyle',\n botMessageBlobWidth: 'message.bot.blobWidth',\n botMessageBorderColor: 'message.bot.style.borderColor',\n botMessageImage: 'message.bot.image',\n botMessageImageStyle: 'message.bot.imageStyle',\n botMessageStyle: 'message.bot.style',\n // User Message\n customMessageTypes: 'message.customTypes',\n messageStyle: 'message.style',\n userMessageBackground: 'message.user.style.background',\n userMessageBlobTick: 'message.user.blobTick',\n userMessageBlobTickStyle: 'message.user.blobTickStyle',\n userMessageBorderColor: 'message.user.style.borderColor',\n userMessageStyle: 'message.user.style',\n // Timestamps\n enableMessageTimestamps: 'message.timestamps.enable',\n messageTimestampsFormat: 'message.timestamps.format',\n messageTimestampsStyle: 'message.timestamps.style',\n // Intro\n customIntro: 'intro.custom',\n introImage: 'intro.image',\n introStyle: 'intro.style',\n // Buttons\n buttonHoverBackground: 'button.hoverBackground',\n buttonHoverTextColor: 'button.hoverTextColor',\n buttonMessageType: 'button.messageType',\n buttonStyle: 'button.style',\n buttonDisabledStyle: 'button.disabledstyle',\n buttonAutoDisable: 'button.autodisable',\n buttonStyleBackground: 'button.style.background',\n buttonStyleColor: 'button.style.color',\n customButton: 'button.custom',\n // Replies\n alignReplies: 'replies.align',\n customReply: 'reply.custom',\n replyStyle: 'reply.style',\n wrapReplies: 'replies.wrap',\n // TriggerButton\n customTrigger: 'triggerButton.custom',\n triggerButtonImage: 'triggerButton.image',\n triggerButtonStyle: 'triggerButton.style',\n // User Input\n blockInputs: 'userInput.blockInputs',\n documentDownload: 'documentDownload',\n customMenuButton: 'userInput.menuButton.custom',\n customPersistentMenu: 'userInput.menu.custom',\n customEmojiPicker: 'userInput.emojiPicker.custom',\n customAttachments: 'userInput.attachments.custom',\n customSendButton: 'userInput.sendButton.custom',\n darkBackgroundMenu: 'userInput.menu.darkBackground',\n enableAttachments: 'userInput.attachments.enable',\n enableEmojiPicker: 'userInput.emojiPicker.enable',\n enableSendButton: 'userInput.sendButton.enable',\n enableUserInput: 'userInput.enable',\n persistentMenu: 'userInput.persistentMenu',\n textPlaceholder: 'userInput.box.placeholder',\n userInputBoxStyle: 'userInput.box.style',\n userInputStyle: 'userInput.style',\n // Cover Component\n coverComponent: 'coverComponent.component',\n coverComponentProps: 'coverComponent.props',\n // Carousel\n customCarouselLeftArrow: 'carousel.arrow.left',\n customCarouselRightArrow: 'carousel.arrow.right',\n enableCarouselArrows: 'carousel.enableArrows',\n },\n}\n\nexport const MIME_WHITELIST = {\n audio: ['audio/mpeg', 'audio/mp3'],\n document: ['application/pdf'],\n image: ['image/jpeg', 'image/png'],\n video: ['video/mp4', 'video/quicktime'],\n}\n\nexport const MAX_ALLOWED_SIZE_MB = 10\n\nexport const ROLES = {\n ATTACHMENT_ICON: 'attachment-icon',\n EMOJI_PICKER_ICON: 'emoji-picker-icon',\n EMOJI_PICKER: 'emoji-picker',\n HEADER: 'header',\n MESSAGE_LIST: 'message-list',\n PERSISTENT_MENU_ICON: 'persistent-menu-icon',\n PERSISTENT_MENU: 'persistent-menu',\n SEND_BUTTON_ICON: 'send-button-icon',\n WEBCHAT: 'webchat',\n TRIGGER_BUTTON: 'trigger-button',\n TYPING_INDICATOR: 'typing-indicator',\n TEXT_BOX: 'textbox',\n WEBVIEW: 'webview',\n WEBVIEW_HEADER: 'webview-header',\n MESSAGE: 'message',\n IMAGE_MESSAGE: 'image-message',\n AUDIO_MESSAGE: 'audio-message',\n VIDEO_MESSAGE: 'video-message',\n DOCUMENT_MESSAGE: 'document-message',\n RAW_MESSAGE: 'raw-message',\n}\n\nexport const COMPONENT_TYPE = {\n TEXT: 'Text',\n BUTTON: 'Button',\n REPLY: 'Reply',\n CAROUSEL: 'Carousel',\n}\n"],"file":"constants.js"}
@@ -2,30 +2,55 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.Attachment = void 0;
9
11
 
10
- var _react = _interopRequireDefault(require("react"));
12
+ var _react = _interopRequireWildcard(require("react"));
11
13
 
12
14
  var _attachmentIcon = _interopRequireDefault(require("../../assets/attachment-icon.svg"));
13
15
 
14
16
  var _constants = require("../../constants");
15
17
 
18
+ var _contexts = require("../../contexts");
19
+
20
+ var _conditionalAnimation = require("../components/conditional-animation");
21
+
16
22
  var _common = require("./common");
17
23
 
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
18
28
  var Attachment = function Attachment(_ref) {
19
29
  var onChange = _ref.onChange,
20
- accept = _ref.accept;
21
- return /*#__PURE__*/_react["default"].createElement(_common.IconContainer, {
30
+ accept = _ref.accept,
31
+ enableAttachments = _ref.enableAttachments;
32
+
33
+ var _useContext = (0, _react.useContext)(_contexts.WebchatContext),
34
+ getThemeProperty = _useContext.getThemeProperty;
35
+
36
+ var CustomAttachments = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.customAttachments, undefined);
37
+
38
+ var isAttachmentsEnabled = function isAttachmentsEnabled() {
39
+ var _getThemeProperty;
40
+
41
+ var hasCustomAttachments = !!CustomAttachments;
42
+ return (_getThemeProperty = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.enableAttachments, enableAttachments)) !== null && _getThemeProperty !== void 0 ? _getThemeProperty : hasCustomAttachments;
43
+ };
44
+
45
+ var attachmentsEnabled = isAttachmentsEnabled();
46
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, attachmentsEnabled ? /*#__PURE__*/_react["default"].createElement(_conditionalAnimation.ConditionalAnimation, null, /*#__PURE__*/_react["default"].createElement("div", {
22
47
  role: _constants.ROLES.ATTACHMENT_ICON
23
48
  }, /*#__PURE__*/_react["default"].createElement("label", {
24
49
  htmlFor: "attachment",
25
50
  style: {
26
51
  marginTop: 4
27
52
  }
28
- }, /*#__PURE__*/_react["default"].createElement(_common.Icon, {
53
+ }, CustomAttachments ? /*#__PURE__*/_react["default"].createElement(CustomAttachments, null) : /*#__PURE__*/_react["default"].createElement(_common.Icon, {
29
54
  src: _attachmentIcon["default"]
30
55
  })), /*#__PURE__*/_react["default"].createElement("input", {
31
56
  type: "file",
@@ -36,7 +61,7 @@ var Attachment = function Attachment(_ref) {
36
61
  },
37
62
  onChange: onChange,
38
63
  accept: accept
39
- }));
64
+ }))) : null);
40
65
  };
41
66
 
42
67
  exports.Attachment = Attachment;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/webchat/components/attachment.jsx"],"names":["Attachment","onChange","accept","ROLES","ATTACHMENT_ICON","marginTop","AttachmentIcon","display"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AAEO,IAAMA,UAAU,GAAG,SAAbA,UAAa;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,MAAaC,MAAb,QAAaA,MAAb;AAAA,sBACxB,gCAAC,qBAAD;AAAe,IAAA,IAAI,EAAEC,iBAAMC;AAA3B,kBACE;AAAO,IAAA,OAAO,EAAC,YAAf;AAA4B,IAAA,KAAK,EAAE;AAAEC,MAAAA,SAAS,EAAE;AAAb;AAAnC,kBACE,gCAAC,YAAD;AAAM,IAAA,GAAG,EAAEC;AAAX,IADF,CADF,eAIE;AACE,IAAA,IAAI,EAAC,MADP;AAEE,IAAA,IAAI,EAAC,MAFP;AAGE,IAAA,EAAE,EAAC,YAHL;AAIE,IAAA,KAAK,EAAE;AAAEC,MAAAA,OAAO,EAAE;AAAX,KAJT;AAKE,IAAA,QAAQ,EAAEN,QALZ;AAME,IAAA,MAAM,EAAEC;AANV,IAJF,CADwB;AAAA,CAAnB","sourcesContent":["import React from 'react'\n\nimport AttachmentIcon from '../../assets/attachment-icon.svg'\nimport { ROLES } from '../../constants'\nimport { Icon, IconContainer } from './common'\n\nexport const Attachment = ({ onChange, accept }) => (\n <IconContainer role={ROLES.ATTACHMENT_ICON}>\n <label htmlFor='attachment' style={{ marginTop: 4 }}>\n <Icon src={AttachmentIcon} />\n </label>\n <input\n type='file'\n name='file'\n id='attachment'\n style={{ display: 'none' }}\n onChange={onChange}\n accept={accept}\n ></input>\n </IconContainer>\n)\n"],"file":"attachment.js"}
1
+ {"version":3,"sources":["../../../src/webchat/components/attachment.jsx"],"names":["Attachment","onChange","accept","enableAttachments","WebchatContext","getThemeProperty","CustomAttachments","WEBCHAT","CUSTOM_PROPERTIES","customAttachments","undefined","isAttachmentsEnabled","hasCustomAttachments","attachmentsEnabled","ROLES","ATTACHMENT_ICON","marginTop","AttachmentIcon","display"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEO,IAAMA,UAAU,GAAG,SAAbA,UAAa,OAA6C;AAAA,MAA1CC,QAA0C,QAA1CA,QAA0C;AAAA,MAAhCC,MAAgC,QAAhCA,MAAgC;AAAA,MAAxBC,iBAAwB,QAAxBA,iBAAwB;;AACrE,oBAA6B,uBAAWC,wBAAX,CAA7B;AAAA,MAAQC,gBAAR,eAAQA,gBAAR;;AAEA,MAAMC,iBAAiB,GAAGD,gBAAgB,CACxCE,mBAAQC,iBAAR,CAA0BC,iBADc,EAExCC,SAFwC,CAA1C;;AAKA,MAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;AAAA;;AACjC,QAAMC,oBAAoB,GAAG,CAAC,CAACN,iBAA/B;AACA,gCACED,gBAAgB,CACdE,mBAAQC,iBAAR,CAA0BL,iBADZ,EAEdA,iBAFc,CADlB,iEAIOS,oBAJP;AAMD,GARD;;AASA,MAAMC,kBAAkB,GAAGF,oBAAoB,EAA/C;AAEA,sBACE,kEACGE,kBAAkB,gBACjB,gCAAC,0CAAD,qBACE;AAAK,IAAA,IAAI,EAAEC,iBAAMC;AAAjB,kBACE;AAAO,IAAA,OAAO,EAAC,YAAf;AAA4B,IAAA,KAAK,EAAE;AAAEC,MAAAA,SAAS,EAAE;AAAb;AAAnC,KACGV,iBAAiB,gBAChB,gCAAC,iBAAD,OADgB,gBAGhB,gCAAC,YAAD;AAAM,IAAA,GAAG,EAAEW;AAAX,IAJJ,CADF,eAQE;AACE,IAAA,IAAI,EAAC,MADP;AAEE,IAAA,IAAI,EAAC,MAFP;AAGE,IAAA,EAAE,EAAC,YAHL;AAIE,IAAA,KAAK,EAAE;AAAEC,MAAAA,OAAO,EAAE;AAAX,KAJT;AAKE,IAAA,QAAQ,EAAEjB,QALZ;AAME,IAAA,MAAM,EAAEC;AANV,IARF,CADF,CADiB,GAoBf,IArBN,CADF;AAyBD,CA5CM","sourcesContent":["import React, { useContext } from 'react'\n\nimport AttachmentIcon from '../../assets/attachment-icon.svg'\nimport { ROLES, WEBCHAT } from '../../constants'\nimport { WebchatContext } from '../../contexts'\nimport { ConditionalAnimation } from '../components/conditional-animation'\nimport { Icon } from './common'\n\nexport const Attachment = ({ onChange, accept, enableAttachments }) => {\n const { getThemeProperty } = useContext(WebchatContext)\n\n const CustomAttachments = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.customAttachments,\n undefined\n )\n\n const isAttachmentsEnabled = () => {\n const hasCustomAttachments = !!CustomAttachments\n return (\n getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.enableAttachments,\n enableAttachments\n ) ?? hasCustomAttachments\n )\n }\n const attachmentsEnabled = isAttachmentsEnabled()\n\n return (\n <>\n {attachmentsEnabled ? (\n <ConditionalAnimation>\n <div role={ROLES.ATTACHMENT_ICON}>\n <label htmlFor='attachment' style={{ marginTop: 4 }}>\n {CustomAttachments ? (\n <CustomAttachments />\n ) : (\n <Icon src={AttachmentIcon} />\n )}\n </label>\n <input\n type='file'\n name='file'\n id='attachment'\n style={{ display: 'none' }}\n onChange={onChange}\n accept={accept}\n />\n </div>\n </ConditionalAnimation>\n ) : null}\n </>\n )\n}\n"],"file":"attachment.js"}
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.IconContainer = exports.Icon = void 0;
8
+ exports.Icon = void 0;
9
9
 
10
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
11
 
@@ -15,7 +15,7 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
15
 
16
16
  var _environment = require("../../util/environment");
17
17
 
18
- var _templateObject, _templateObject2;
18
+ var _templateObject;
19
19
 
20
20
  var PointerImage = _styledComponents["default"].img(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n"])));
21
21
 
@@ -26,8 +26,4 @@ var Icon = function Icon(props) {
26
26
  };
27
27
 
28
28
  exports.Icon = Icon;
29
-
30
- var IconContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n padding-right: 15px;\n"])));
31
-
32
- exports.IconContainer = IconContainer;
33
29
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/webchat/components/common.jsx"],"names":["PointerImage","styled","img","Icon","props","src","IconContainer","div"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA;;;;AAEA,IAAMA,YAAY,GAAGC,6BAAOC,GAAV,4GAAlB;;AAGO,IAAMC,IAAI,GAAG,SAAPA,IAAO,CAAAC,KAAK;AAAA,sBAAI,gCAAC,YAAD;AAAc,IAAA,GAAG,EAAE,+BAAaA,KAAK,CAACC,GAAnB;AAAnB,IAAJ;AAAA,CAAlB;;;;AAEA,IAAMC,aAAa,GAAGL,6BAAOM,GAAV,4JAAnB","sourcesContent":["import React from 'react'\nimport styled from 'styled-components'\n\nimport { resolveImage } from '../../util/environment'\n\nconst PointerImage = styled.img`\n cursor: pointer;\n`\nexport const Icon = props => <PointerImage src={resolveImage(props.src)} />\n\nexport const IconContainer = styled.div`\n display: flex;\n align-items: center;\n padding-right: 15px;\n`\n"],"file":"common.js"}
1
+ {"version":3,"sources":["../../../src/webchat/components/common.jsx"],"names":["PointerImage","styled","img","Icon","props","src"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA;;;;AAEA,IAAMA,YAAY,GAAGC,6BAAOC,GAAV,4GAAlB;;AAGO,IAAMC,IAAI,GAAG,SAAPA,IAAO,CAAAC,KAAK;AAAA,sBAAI,gCAAC,YAAD;AAAc,IAAA,GAAG,EAAE,+BAAaA,KAAK,CAACC,GAAnB;AAAnB,IAAJ;AAAA,CAAlB","sourcesContent":["import React from 'react'\nimport styled from 'styled-components'\n\nimport { resolveImage } from '../../util/environment'\n\nconst PointerImage = styled.img`\n cursor: pointer;\n`\nexport const Icon = props => <PointerImage src={resolveImage(props.src)} />\n"],"file":"common.js"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ConditionalAnimation = void 0;
9
+
10
+ var _framerMotion = require("framer-motion");
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _constants = require("../../constants");
15
+
16
+ var _contexts = require("../../contexts");
17
+
18
+ var _react2 = require("../../util/react");
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ var ConditionalAnimation = function ConditionalAnimation(props) {
25
+ var _useContext = (0, _react.useContext)(_contexts.WebchatContext),
26
+ getThemeProperty = _useContext.getThemeProperty;
27
+
28
+ var animationsEnabled = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.enableAnimations, props.enableAnimations !== undefined ? props.enableAnimations : true);
29
+ return /*#__PURE__*/_react["default"].createElement(_react2.ConditionalWrapper, {
30
+ condition: animationsEnabled,
31
+ wrapper: function wrapper(children) {
32
+ return /*#__PURE__*/_react["default"].createElement(_framerMotion.motion.div, {
33
+ whileHover: {
34
+ scale: 1.2
35
+ }
36
+ }, children);
37
+ }
38
+ }, props.children);
39
+ };
40
+
41
+ exports.ConditionalAnimation = ConditionalAnimation;
42
+ //# sourceMappingURL=conditional-animation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/webchat/components/conditional-animation.jsx"],"names":["ConditionalAnimation","props","WebchatContext","getThemeProperty","animationsEnabled","WEBCHAT","CUSTOM_PROPERTIES","enableAnimations","undefined","children","scale"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;;;;;AAEO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAAC,KAAK,EAAI;AAC3C,oBAA6B,uBAAWC,wBAAX,CAA7B;AAAA,MAAQC,gBAAR,eAAQA,gBAAR;;AAEA,MAAMC,iBAAiB,GAAGD,gBAAgB,CACxCE,mBAAQC,iBAAR,CAA0BC,gBADc,EAExCN,KAAK,CAACM,gBAAN,KAA2BC,SAA3B,GAAuCP,KAAK,CAACM,gBAA7C,GAAgE,IAFxB,CAA1C;AAIA,sBACE,gCAAC,0BAAD;AACE,IAAA,SAAS,EAAEH,iBADb;AAEE,IAAA,OAAO,EAAE,iBAAAK,QAAQ;AAAA,0BACf,gCAAC,oBAAD,CAAQ,GAAR;AAAY,QAAA,UAAU,EAAE;AAAEC,UAAAA,KAAK,EAAE;AAAT;AAAxB,SAAyCD,QAAzC,CADe;AAAA;AAFnB,KAMGR,KAAK,CAACQ,QANT,CADF;AAUD,CAjBM","sourcesContent":["import { motion } from 'framer-motion'\nimport React, { useContext } from 'react'\n\nimport { WEBCHAT } from '../../constants'\nimport { WebchatContext } from '../../contexts'\nimport { ConditionalWrapper } from '../../util/react'\n\nexport const ConditionalAnimation = props => {\n const { getThemeProperty } = useContext(WebchatContext)\n\n const animationsEnabled = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.enableAnimations,\n props.enableAnimations !== undefined ? props.enableAnimations : true\n )\n return (\n <ConditionalWrapper\n condition={animationsEnabled}\n wrapper={children => (\n <motion.div whileHover={{ scale: 1.2 }}>{children}</motion.div>\n )}\n >\n {props.children}\n </ConditionalWrapper>\n )\n}\n"],"file":"conditional-animation.js"}
@@ -2,6 +2,8 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
@@ -11,7 +13,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
11
13
 
12
14
  var _emojiPickerReact = _interopRequireDefault(require("emoji-picker-react"));
13
15
 
14
- var _react = _interopRequireDefault(require("react"));
16
+ var _react = _interopRequireWildcard(require("react"));
15
17
 
16
18
  var _styledComponents = _interopRequireDefault(require("styled-components"));
17
19
 
@@ -19,25 +21,49 @@ var _emojiButton = _interopRequireDefault(require("../../assets/emojiButton.svg"
19
21
 
20
22
  var _constants = require("../../constants");
21
23
 
24
+ var _contexts = require("../../contexts");
25
+
26
+ var _conditionalAnimation = require("../components/conditional-animation");
27
+
22
28
  var _hooks = require("../hooks");
23
29
 
24
30
  var _common = require("./common");
25
31
 
26
32
  var _templateObject;
27
33
 
28
- var EmojiPicker = function EmojiPicker(props) {
29
- var onClick = function onClick(event) {
30
- props.onClick();
34
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
+
36
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
+
38
+ var EmojiPicker = function EmojiPicker(_ref) {
39
+ var enableEmojiPicker = _ref.enableEmojiPicker,
40
+ onClick = _ref.onClick;
41
+
42
+ var _useContext = (0, _react.useContext)(_contexts.WebchatContext),
43
+ getThemeProperty = _useContext.getThemeProperty;
44
+
45
+ var CustomEmojiPicker = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.customEmojiPicker, undefined);
46
+
47
+ var isEmojiPickerEnabled = function isEmojiPickerEnabled() {
48
+ var _getThemeProperty;
49
+
50
+ var hasCustomEmojiPicker = !!CustomEmojiPicker;
51
+ return (_getThemeProperty = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.enableEmojiPicker, enableEmojiPicker)) !== null && _getThemeProperty !== void 0 ? _getThemeProperty : hasCustomEmojiPicker;
52
+ };
53
+
54
+ var emojiPickerEnabled = isEmojiPickerEnabled();
55
+
56
+ var handleClick = function handleClick(event) {
57
+ onClick();
31
58
  event.stopPropagation();
32
59
  };
33
60
 
34
- return /*#__PURE__*/_react["default"].createElement(_common.IconContainer, {
35
- role: _constants.ROLES.EMOJI_PICKER_ICON
36
- }, /*#__PURE__*/_react["default"].createElement("div", {
37
- onClick: onClick
38
- }, /*#__PURE__*/_react["default"].createElement(_common.Icon, {
61
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, emojiPickerEnabled ? /*#__PURE__*/_react["default"].createElement(_conditionalAnimation.ConditionalAnimation, null, /*#__PURE__*/_react["default"].createElement("div", {
62
+ role: _constants.ROLES.EMOJI_PICKER_ICON,
63
+ onClick: handleClick
64
+ }, CustomEmojiPicker ? /*#__PURE__*/_react["default"].createElement(CustomEmojiPicker, null) : /*#__PURE__*/_react["default"].createElement(_common.Icon, {
39
65
  src: _emojiButton["default"]
40
- })));
66
+ }))) : null);
41
67
  };
42
68
 
43
69
  exports.EmojiPicker = EmojiPicker;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/webchat/components/emoji-picker.jsx"],"names":["EmojiPicker","props","onClick","event","stopPropagation","ROLES","EMOJI_PICKER_ICON","LogoEmoji","Container","styled","div","OpenedEmojiPicker","ref","isComponentVisible","EMOJI_PICKER","onEmojiClick"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;AAEO,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAAAC,KAAK,EAAI;AAClC,MAAMC,OAAO,GAAG,SAAVA,OAAU,CAAAC,KAAK,EAAI;AACvBF,IAAAA,KAAK,CAACC,OAAN;AACAC,IAAAA,KAAK,CAACC,eAAN;AACD,GAHD;;AAKA,sBACE,gCAAC,qBAAD;AAAe,IAAA,IAAI,EAAEC,iBAAMC;AAA3B,kBACE;AAAK,IAAA,OAAO,EAAEJ;AAAd,kBACE,gCAAC,YAAD;AAAM,IAAA,GAAG,EAAEK;AAAX,IADF,CADF,CADF;AAOD,CAbM;;;;AAeP,IAAMC,SAAS,GAAGC,6BAAOC,GAAV,8LAAf;;AAQO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAV,KAAK,EAAI;AACxC,6BAAoC,gCAAoB,IAApB,EAA0BA,KAAK,CAACC,OAAhC,CAApC;AAAA,MAAQU,GAAR,wBAAQA,GAAR;AAAA,MAAaC,kBAAb,wBAAaA,kBAAb;;AACA,sBACE;AAAK,IAAA,GAAG,EAAED;AAAV,KACGC,kBAAkB,iBACjB,gCAAC,SAAD;AAAW,IAAA,IAAI,EAAER,iBAAMS;AAAvB,kBACE,gCAAC,4BAAD;AAAQ,IAAA,YAAY,EAAEb,KAAK,CAACc,YAA5B;AAA0C,IAAA,gBAAgB,EAAE;AAA5D,IADF,CAFJ,CADF;AASD,CAXM","sourcesContent":["import Picker from 'emoji-picker-react'\nimport React from 'react'\nimport styled from 'styled-components'\n\nimport LogoEmoji from '../../assets/emojiButton.svg'\nimport { ROLES } from '../../constants'\nimport { useComponentVisible } from '../hooks'\nimport { Icon, IconContainer } from './common'\n\nexport const EmojiPicker = props => {\n const onClick = event => {\n props.onClick()\n event.stopPropagation()\n }\n\n return (\n <IconContainer role={ROLES.EMOJI_PICKER_ICON}>\n <div onClick={onClick}>\n <Icon src={LogoEmoji} />\n </div>\n </IconContainer>\n )\n}\n\nconst Container = styled.div`\n display: flex;\n justify-content: flex-end;\n position: absolute;\n right: 3px;\n top: -324px;\n`\n\nexport const OpenedEmojiPicker = props => {\n const { ref, isComponentVisible } = useComponentVisible(true, props.onClick)\n return (\n <div ref={ref}>\n {isComponentVisible && (\n <Container role={ROLES.EMOJI_PICKER}>\n <Picker onEmojiClick={props.onEmojiClick} disableAutoFocus={true} />\n </Container>\n )}\n </div>\n )\n}\n"],"file":"emoji-picker.js"}
1
+ {"version":3,"sources":["../../../src/webchat/components/emoji-picker.jsx"],"names":["EmojiPicker","enableEmojiPicker","onClick","WebchatContext","getThemeProperty","CustomEmojiPicker","WEBCHAT","CUSTOM_PROPERTIES","customEmojiPicker","undefined","isEmojiPickerEnabled","hasCustomEmojiPicker","emojiPickerEnabled","handleClick","event","stopPropagation","ROLES","EMOJI_PICKER_ICON","LogoEmoji","Container","styled","div","OpenedEmojiPicker","props","ref","isComponentVisible","EMOJI_PICKER","onEmojiClick"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEO,IAAMA,WAAW,GAAG,SAAdA,WAAc,OAAoC;AAAA,MAAjCC,iBAAiC,QAAjCA,iBAAiC;AAAA,MAAdC,OAAc,QAAdA,OAAc;;AAC7D,oBAA6B,uBAAWC,wBAAX,CAA7B;AAAA,MAAQC,gBAAR,eAAQA,gBAAR;;AAEA,MAAMC,iBAAiB,GAAGD,gBAAgB,CACxCE,mBAAQC,iBAAR,CAA0BC,iBADc,EAExCC,SAFwC,CAA1C;;AAKA,MAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;AAAA;;AACjC,QAAMC,oBAAoB,GAAG,CAAC,CAACN,iBAA/B;AACA,gCACED,gBAAgB,CACdE,mBAAQC,iBAAR,CAA0BN,iBADZ,EAEdA,iBAFc,CADlB,iEAIOU,oBAJP;AAMD,GARD;;AASA,MAAMC,kBAAkB,GAAGF,oBAAoB,EAA/C;;AAEA,MAAMG,WAAW,GAAG,SAAdA,WAAc,CAAAC,KAAK,EAAI;AAC3BZ,IAAAA,OAAO;AACPY,IAAAA,KAAK,CAACC,eAAN;AACD,GAHD;;AAKA,sBACE,kEACGH,kBAAkB,gBACjB,gCAAC,0CAAD,qBACE;AAAK,IAAA,IAAI,EAAEI,iBAAMC,iBAAjB;AAAoC,IAAA,OAAO,EAAEJ;AAA7C,KACGR,iBAAiB,gBAChB,gCAAC,iBAAD,OADgB,gBAGhB,gCAAC,YAAD;AAAM,IAAA,GAAG,EAAEa;AAAX,IAJJ,CADF,CADiB,GAUf,IAXN,CADF;AAeD,CAvCM;;;;AAyCP,IAAMC,SAAS,GAAGC,6BAAOC,GAAV,8LAAf;;AAQO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAC,KAAK,EAAI;AACxC,6BAAoC,gCAAoB,IAApB,EAA0BA,KAAK,CAACrB,OAAhC,CAApC;AAAA,MAAQsB,GAAR,wBAAQA,GAAR;AAAA,MAAaC,kBAAb,wBAAaA,kBAAb;;AACA,sBACE;AAAK,IAAA,GAAG,EAAED;AAAV,KACGC,kBAAkB,iBACjB,gCAAC,SAAD;AAAW,IAAA,IAAI,EAAET,iBAAMU;AAAvB,kBACE,gCAAC,4BAAD;AAAQ,IAAA,YAAY,EAAEH,KAAK,CAACI,YAA5B;AAA0C,IAAA,gBAAgB,EAAE;AAA5D,IADF,CAFJ,CADF;AASD,CAXM","sourcesContent":["import Picker from 'emoji-picker-react'\nimport React, { useContext } from 'react'\nimport styled from 'styled-components'\n\nimport LogoEmoji from '../../assets/emojiButton.svg'\nimport { ROLES, WEBCHAT } from '../../constants'\nimport { WebchatContext } from '../../contexts'\nimport { ConditionalAnimation } from '../components/conditional-animation'\nimport { useComponentVisible } from '../hooks'\nimport { Icon } from './common'\n\nexport const EmojiPicker = ({ enableEmojiPicker, onClick }) => {\n const { getThemeProperty } = useContext(WebchatContext)\n\n const CustomEmojiPicker = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.customEmojiPicker,\n undefined\n )\n\n const isEmojiPickerEnabled = () => {\n const hasCustomEmojiPicker = !!CustomEmojiPicker\n return (\n getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.enableEmojiPicker,\n enableEmojiPicker\n ) ?? hasCustomEmojiPicker\n )\n }\n const emojiPickerEnabled = isEmojiPickerEnabled()\n\n const handleClick = event => {\n onClick()\n event.stopPropagation()\n }\n\n return (\n <>\n {emojiPickerEnabled ? (\n <ConditionalAnimation>\n <div role={ROLES.EMOJI_PICKER_ICON} onClick={handleClick}>\n {CustomEmojiPicker ? (\n <CustomEmojiPicker />\n ) : (\n <Icon src={LogoEmoji} />\n )}\n </div>\n </ConditionalAnimation>\n ) : null}\n </>\n )\n}\n\nconst Container = styled.div`\n display: flex;\n justify-content: flex-end;\n position: absolute;\n right: 3px;\n top: -324px;\n`\n\nexport const OpenedEmojiPicker = props => {\n const { ref, isComponentVisible } = useComponentVisible(true, props.onClick)\n return (\n <div ref={ref}>\n {isComponentVisible && (\n <Container role={ROLES.EMOJI_PICKER}>\n <Picker onEmojiClick={props.onEmojiClick} disableAutoFocus={true} />\n </Container>\n )}\n </div>\n )\n}\n"],"file":"emoji-picker.js"}
@@ -23,11 +23,13 @@ var _constants = require("../../constants");
23
23
 
24
24
  var _contexts = require("../../contexts");
25
25
 
26
+ var _conditionalAnimation = require("../components/conditional-animation");
27
+
26
28
  var _hooks = require("../hooks");
27
29
 
28
30
  var _common = require("./common");
29
31
 
30
- var _templateObject, _templateObject2;
32
+ var _templateObject;
31
33
 
32
34
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
35
 
@@ -79,15 +81,21 @@ var OpenedPersistentMenu = function OpenedPersistentMenu(_ref) {
79
81
 
80
82
  exports.OpenedPersistentMenu = OpenedPersistentMenu;
81
83
 
82
- var IconContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n cursor: pointer;\n padding: 18px;\n"])));
84
+ var PersistentMenu = function PersistentMenu(_ref2) {
85
+ var onClick = _ref2.onClick,
86
+ persistentMenu = _ref2.persistentMenu;
87
+
88
+ var _useContext2 = (0, _react.useContext)(_contexts.WebchatContext),
89
+ getThemeProperty = _useContext2.getThemeProperty;
83
90
 
84
- var PersistentMenu = function PersistentMenu(props) {
85
- return /*#__PURE__*/_react["default"].createElement(IconContainer, {
91
+ var persistentMenuOptions = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.persistentMenu, persistentMenu);
92
+ var CustomMenuButton = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.customMenuButton, undefined);
93
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, persistentMenuOptions ? /*#__PURE__*/_react["default"].createElement(_conditionalAnimation.ConditionalAnimation, null, /*#__PURE__*/_react["default"].createElement("div", {
86
94
  role: _constants.ROLES.PERSISTENT_MENU_ICON,
87
- onClick: props.onClick
88
- }, /*#__PURE__*/_react["default"].createElement(_common.Icon, {
95
+ onClick: onClick
96
+ }, CustomMenuButton ? /*#__PURE__*/_react["default"].createElement(CustomMenuButton, null) : /*#__PURE__*/_react["default"].createElement(_common.Icon, {
89
97
  src: _menuButton["default"]
90
- }));
98
+ }))) : null);
91
99
  };
92
100
 
93
101
  exports.PersistentMenu = PersistentMenu;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/webchat/components/persistent-menu.jsx"],"names":["ButtonsContainer","styled","div","OpenedPersistentMenu","onClick","options","borderRadius","ref","isComponentVisible","WebchatContext","getThemeProperty","CustomPersistentMenu","WEBCHAT","CUSTOM_PROPERTIES","customPersistentMenu","undefined","closeLabel","filter","opt","e","ROLES","PERSISTENT_MENU","Object","values","map","i","label","url","target","webview","payload","IconContainer","PersistentMenu","props","PERSISTENT_MENU_ICON","LogoMenu"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,gBAAgB,GAAGC,6BAAOC,GAAV,mLAAtB;;AAQO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,OAAwC;AAAA,MAArCC,OAAqC,QAArCA,OAAqC;AAAA,MAA5BC,OAA4B,QAA5BA,OAA4B;AAAA,MAAnBC,YAAmB,QAAnBA,YAAmB;;AAC1E,6BAAoC,gCAAoB,IAApB,EAA0BF,OAA1B,CAApC;AAAA,MAAQG,GAAR,wBAAQA,GAAR;AAAA,MAAaC,kBAAb,wBAAaA,kBAAb;;AACA,oBAA6B,uBAAWC,wBAAX,CAA7B;AAAA,MAAQC,gBAAR,eAAQA,gBAAR;;AACA,MAAMC,oBAAoB,GAAGD,gBAAgB,CAC3CE,mBAAQC,iBAAR,CAA0BC,oBADiB,EAE3CC,SAF2C,CAA7C;AAIA,MAAIC,UAAU,GAAG,QAAjB;;AACA,MAAI;AACFA,IAAAA,UAAU,GAAGX,OAAO,CAACY,MAAR,CAAe,UAAAC,GAAG;AAAA,aAAIA,GAAG,CAACF,UAAJ,KAAmBD,SAAvB;AAAA,KAAlB,EAAoD,CAApD,EACVC,UADH;AAED,GAHD,CAGE,OAAOG,CAAP,EAAU,CAAE;;AACd,sBACE;AAAK,IAAA,GAAG,EAAEZ,GAAV;AAAe,IAAA,IAAI,EAAEa,iBAAMC;AAA3B,KACGb,kBAAkB,IAAIG,oBAAtB,gBACC,gCAAC,oBAAD;AAAsB,IAAA,OAAO,EAAEP,OAA/B;AAAwC,IAAA,OAAO,EAAEC;AAAjD,IADD,gBAGC,gCAAC,gBAAD,QACGiB,MAAM,CAACC,MAAP,CAAclB,OAAd,EAAuBmB,GAAvB,CAA2B,UAACL,CAAD,EAAIM,CAAJ,EAAU;AACpC,WACEN,CAAC,CAACO,KAAF,iBACE,gCAAC,cAAD;AACE,MAAA,OAAO,EAAEtB,OADX;AAEE,MAAA,GAAG,EAAEe,CAAC,CAACQ,GAFT;AAGE,MAAA,MAAM,EAAER,CAAC,CAACS,MAHZ;AAIE,MAAA,OAAO,EAAET,CAAC,CAACU,OAJb;AAKE,MAAA,OAAO,EAAEV,CAAC,CAACW,OALb;AAME,MAAA,GAAG,EAAEL;AANP,OAQGN,CAAC,CAACO,KARL,CAFJ;AAcD,GAfA,CADH,eAiBE,gCAAC,cAAD;AAAQ,IAAA,OAAO,EAAEtB,OAAjB;AAA0B,IAAA,YAAY,EAAEE;AAAxC,KACGU,UADH,CAjBF,CAJJ,CADF;AA6BD,CAzCM;;;;AA2CP,IAAMe,aAAa,GAAG9B,6BAAOC,GAAV,0KAAnB;;AAOO,IAAM8B,cAAc,GAAG,SAAjBA,cAAiB,CAAAC,KAAK;AAAA,sBACjC,gCAAC,aAAD;AAAe,IAAA,IAAI,EAAEb,iBAAMc,oBAA3B;AAAiD,IAAA,OAAO,EAAED,KAAK,CAAC7B;AAAhE,kBACE,gCAAC,YAAD;AAAM,IAAA,GAAG,EAAE+B;AAAX,IADF,CADiC;AAAA,CAA5B;;;eAMQhC,oB","sourcesContent":["import React, { useContext } from 'react'\nimport styled from 'styled-components'\n\nimport LogoMenu from '../../assets/menuButton.svg'\nimport { Button } from '../../components/button'\nimport { ROLES, WEBCHAT } from '../../constants'\nimport { WebchatContext } from '../../contexts'\nimport { useComponentVisible } from '../hooks'\nimport { Icon } from './common'\n\nconst ButtonsContainer = styled.div`\n position: absolute;\n z-index: 2;\n width: 100%;\n bottom: 0;\n text-align: center;\n`\n\nexport const OpenedPersistentMenu = ({ onClick, options, borderRadius }) => {\n const { ref, isComponentVisible } = useComponentVisible(true, onClick)\n const { getThemeProperty } = useContext(WebchatContext)\n const CustomPersistentMenu = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.customPersistentMenu,\n undefined\n )\n let closeLabel = 'Cancel'\n try {\n closeLabel = options.filter(opt => opt.closeLabel !== undefined)[0]\n .closeLabel\n } catch (e) {}\n return (\n <div ref={ref} role={ROLES.PERSISTENT_MENU}>\n {isComponentVisible && CustomPersistentMenu ? (\n <CustomPersistentMenu onClick={onClick} options={options} />\n ) : (\n <ButtonsContainer>\n {Object.values(options).map((e, i) => {\n return (\n e.label && (\n <Button\n onClick={onClick}\n url={e.url}\n target={e.target}\n webview={e.webview}\n payload={e.payload}\n key={i}\n >\n {e.label}\n </Button>\n )\n )\n })}\n <Button onClick={onClick} bottomRadius={borderRadius}>\n {closeLabel}\n </Button>\n </ButtonsContainer>\n )}\n </div>\n )\n}\n\nconst IconContainer = styled.div`\n display: flex;\n align-items: center;\n cursor: pointer;\n padding: 18px;\n`\n\nexport const PersistentMenu = props => (\n <IconContainer role={ROLES.PERSISTENT_MENU_ICON} onClick={props.onClick}>\n <Icon src={LogoMenu} />\n </IconContainer>\n)\n\nexport default OpenedPersistentMenu\n"],"file":"persistent-menu.js"}
1
+ {"version":3,"sources":["../../../src/webchat/components/persistent-menu.jsx"],"names":["ButtonsContainer","styled","div","OpenedPersistentMenu","onClick","options","borderRadius","ref","isComponentVisible","WebchatContext","getThemeProperty","CustomPersistentMenu","WEBCHAT","CUSTOM_PROPERTIES","customPersistentMenu","undefined","closeLabel","filter","opt","e","ROLES","PERSISTENT_MENU","Object","values","map","i","label","url","target","webview","payload","PersistentMenu","persistentMenu","persistentMenuOptions","CustomMenuButton","customMenuButton","PERSISTENT_MENU_ICON","LogoMenu"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,gBAAgB,GAAGC,6BAAOC,GAAV,mLAAtB;;AAQO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,OAAwC;AAAA,MAArCC,OAAqC,QAArCA,OAAqC;AAAA,MAA5BC,OAA4B,QAA5BA,OAA4B;AAAA,MAAnBC,YAAmB,QAAnBA,YAAmB;;AAC1E,6BAAoC,gCAAoB,IAApB,EAA0BF,OAA1B,CAApC;AAAA,MAAQG,GAAR,wBAAQA,GAAR;AAAA,MAAaC,kBAAb,wBAAaA,kBAAb;;AACA,oBAA6B,uBAAWC,wBAAX,CAA7B;AAAA,MAAQC,gBAAR,eAAQA,gBAAR;;AACA,MAAMC,oBAAoB,GAAGD,gBAAgB,CAC3CE,mBAAQC,iBAAR,CAA0BC,oBADiB,EAE3CC,SAF2C,CAA7C;AAIA,MAAIC,UAAU,GAAG,QAAjB;;AACA,MAAI;AACFA,IAAAA,UAAU,GAAGX,OAAO,CAACY,MAAR,CAAe,UAAAC,GAAG;AAAA,aAAIA,GAAG,CAACF,UAAJ,KAAmBD,SAAvB;AAAA,KAAlB,EAAoD,CAApD,EACVC,UADH;AAED,GAHD,CAGE,OAAOG,CAAP,EAAU,CAAE;;AACd,sBACE;AAAK,IAAA,GAAG,EAAEZ,GAAV;AAAe,IAAA,IAAI,EAAEa,iBAAMC;AAA3B,KACGb,kBAAkB,IAAIG,oBAAtB,gBACC,gCAAC,oBAAD;AAAsB,IAAA,OAAO,EAAEP,OAA/B;AAAwC,IAAA,OAAO,EAAEC;AAAjD,IADD,gBAGC,gCAAC,gBAAD,QACGiB,MAAM,CAACC,MAAP,CAAclB,OAAd,EAAuBmB,GAAvB,CAA2B,UAACL,CAAD,EAAIM,CAAJ,EAAU;AACpC,WACEN,CAAC,CAACO,KAAF,iBACE,gCAAC,cAAD;AACE,MAAA,OAAO,EAAEtB,OADX;AAEE,MAAA,GAAG,EAAEe,CAAC,CAACQ,GAFT;AAGE,MAAA,MAAM,EAAER,CAAC,CAACS,MAHZ;AAIE,MAAA,OAAO,EAAET,CAAC,CAACU,OAJb;AAKE,MAAA,OAAO,EAAEV,CAAC,CAACW,OALb;AAME,MAAA,GAAG,EAAEL;AANP,OAQGN,CAAC,CAACO,KARL,CAFJ;AAcD,GAfA,CADH,eAiBE,gCAAC,cAAD;AAAQ,IAAA,OAAO,EAAEtB,OAAjB;AAA0B,IAAA,YAAY,EAAEE;AAAxC,KACGU,UADH,CAjBF,CAJJ,CADF;AA6BD,CAzCM;;;;AA2CA,IAAMe,cAAc,GAAG,SAAjBA,cAAiB,QAAiC;AAAA,MAA9B3B,OAA8B,SAA9BA,OAA8B;AAAA,MAArB4B,cAAqB,SAArBA,cAAqB;;AAC7D,qBAA6B,uBAAWvB,wBAAX,CAA7B;AAAA,MAAQC,gBAAR,gBAAQA,gBAAR;;AAEA,MAAMuB,qBAAqB,GAAGvB,gBAAgB,CAC5CE,mBAAQC,iBAAR,CAA0BmB,cADkB,EAE5CA,cAF4C,CAA9C;AAKA,MAAME,gBAAgB,GAAGxB,gBAAgB,CACvCE,mBAAQC,iBAAR,CAA0BsB,gBADa,EAEvCpB,SAFuC,CAAzC;AAKA,sBACE,kEACGkB,qBAAqB,gBACpB,gCAAC,0CAAD,qBACE;AAAK,IAAA,IAAI,EAAEb,iBAAMgB,oBAAjB;AAAuC,IAAA,OAAO,EAAEhC;AAAhD,KACG8B,gBAAgB,gBAAG,gCAAC,gBAAD,OAAH,gBAA0B,gCAAC,YAAD;AAAM,IAAA,GAAG,EAAEG;AAAX,IAD7C,CADF,CADoB,GAMlB,IAPN,CADF;AAWD,CAxBM;;;eA0BQlC,oB","sourcesContent":["import React, { useContext } from 'react'\nimport styled from 'styled-components'\n\nimport LogoMenu from '../../assets/menuButton.svg'\nimport { Button } from '../../components/button'\nimport { ROLES, WEBCHAT } from '../../constants'\nimport { WebchatContext } from '../../contexts'\nimport { ConditionalAnimation } from '../components/conditional-animation'\nimport { useComponentVisible } from '../hooks'\nimport { Icon } from './common'\n\nconst ButtonsContainer = styled.div`\n position: absolute;\n z-index: 2;\n width: 100%;\n bottom: 0;\n text-align: center;\n`\n\nexport const OpenedPersistentMenu = ({ onClick, options, borderRadius }) => {\n const { ref, isComponentVisible } = useComponentVisible(true, onClick)\n const { getThemeProperty } = useContext(WebchatContext)\n const CustomPersistentMenu = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.customPersistentMenu,\n undefined\n )\n let closeLabel = 'Cancel'\n try {\n closeLabel = options.filter(opt => opt.closeLabel !== undefined)[0]\n .closeLabel\n } catch (e) {}\n return (\n <div ref={ref} role={ROLES.PERSISTENT_MENU}>\n {isComponentVisible && CustomPersistentMenu ? (\n <CustomPersistentMenu onClick={onClick} options={options} />\n ) : (\n <ButtonsContainer>\n {Object.values(options).map((e, i) => {\n return (\n e.label && (\n <Button\n onClick={onClick}\n url={e.url}\n target={e.target}\n webview={e.webview}\n payload={e.payload}\n key={i}\n >\n {e.label}\n </Button>\n )\n )\n })}\n <Button onClick={onClick} bottomRadius={borderRadius}>\n {closeLabel}\n </Button>\n </ButtonsContainer>\n )}\n </div>\n )\n}\n\nexport const PersistentMenu = ({ onClick, persistentMenu }) => {\n const { getThemeProperty } = useContext(WebchatContext)\n\n const persistentMenuOptions = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.persistentMenu,\n persistentMenu\n )\n\n const CustomMenuButton = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.customMenuButton,\n undefined\n )\n\n return (\n <>\n {persistentMenuOptions ? (\n <ConditionalAnimation>\n <div role={ROLES.PERSISTENT_MENU_ICON} onClick={onClick}>\n {CustomMenuButton ? <CustomMenuButton /> : <Icon src={LogoMenu} />}\n </div>\n </ConditionalAnimation>\n ) : null}\n </>\n )\n}\n\nexport default OpenedPersistentMenu\n"],"file":"persistent-menu.js"}
@@ -2,25 +2,43 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.SendButton = void 0;
9
11
 
10
- var _react = _interopRequireDefault(require("react"));
12
+ var _react = _interopRequireWildcard(require("react"));
11
13
 
12
14
  var _sendButton = _interopRequireDefault(require("../../assets/send-button.svg"));
13
15
 
14
16
  var _constants = require("../../constants");
15
17
 
18
+ var _contexts = require("../../contexts");
19
+
20
+ var _conditionalAnimation = require("../components/conditional-animation");
21
+
16
22
  var _common = require("./common");
17
23
 
18
- var SendButton = function SendButton() {
19
- return /*#__PURE__*/_react["default"].createElement(_common.IconContainer, {
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ var SendButton = function SendButton(_ref) {
29
+ var onClick = _ref.onClick;
30
+
31
+ var _useContext = (0, _react.useContext)(_contexts.WebchatContext),
32
+ getThemeProperty = _useContext.getThemeProperty;
33
+
34
+ var sendButtonEnabled = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.enableSendButton, true);
35
+ var CustomSendButton = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.customSendButton, undefined);
36
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, sendButtonEnabled || CustomSendButton ? /*#__PURE__*/_react["default"].createElement(_conditionalAnimation.ConditionalAnimation, null, /*#__PURE__*/_react["default"].createElement("div", {
37
+ onClick: onClick,
20
38
  role: _constants.ROLES.SEND_BUTTON_ICON
21
- }, /*#__PURE__*/_react["default"].createElement(_common.Icon, {
39
+ }, CustomSendButton ? /*#__PURE__*/_react["default"].createElement(CustomSendButton, null) : /*#__PURE__*/_react["default"].createElement(_common.Icon, {
22
40
  src: _sendButton["default"]
23
- }));
41
+ }))) : null);
24
42
  };
25
43
 
26
44
  exports.SendButton = SendButton;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/webchat/components/send-button.jsx"],"names":["SendButton","ROLES","SEND_BUTTON_ICON","SendButtonIcon"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AAEO,IAAMA,UAAU,GAAG,SAAbA,UAAa;AAAA,sBACxB,gCAAC,qBAAD;AAAe,IAAA,IAAI,EAAEC,iBAAMC;AAA3B,kBACE,gCAAC,YAAD;AAAM,IAAA,GAAG,EAAEC;AAAX,IADF,CADwB;AAAA,CAAnB","sourcesContent":["import React from 'react'\n\nimport SendButtonIcon from '../../assets/send-button.svg'\nimport { ROLES } from '../../constants'\nimport { Icon, IconContainer } from './common'\n\nexport const SendButton = () => (\n <IconContainer role={ROLES.SEND_BUTTON_ICON}>\n <Icon src={SendButtonIcon} />\n </IconContainer>\n)\n"],"file":"send-button.js"}
1
+ {"version":3,"sources":["../../../src/webchat/components/send-button.jsx"],"names":["SendButton","onClick","WebchatContext","getThemeProperty","sendButtonEnabled","WEBCHAT","CUSTOM_PROPERTIES","enableSendButton","CustomSendButton","customSendButton","undefined","ROLES","SEND_BUTTON_ICON","SendButtonIcon"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEO,IAAMA,UAAU,GAAG,SAAbA,UAAa,OAAiB;AAAA,MAAdC,OAAc,QAAdA,OAAc;;AACzC,oBAA6B,uBAAWC,wBAAX,CAA7B;AAAA,MAAQC,gBAAR,eAAQA,gBAAR;;AAEA,MAAMC,iBAAiB,GAAGD,gBAAgB,CACxCE,mBAAQC,iBAAR,CAA0BC,gBADc,EAExC,IAFwC,CAA1C;AAKA,MAAMC,gBAAgB,GAAGL,gBAAgB,CACvCE,mBAAQC,iBAAR,CAA0BG,gBADa,EAEvCC,SAFuC,CAAzC;AAKA,sBACE,kEACGN,iBAAiB,IAAII,gBAArB,gBACC,gCAAC,0CAAD,qBACE;AAAK,IAAA,OAAO,EAAEP,OAAd;AAAuB,IAAA,IAAI,EAAEU,iBAAMC;AAAnC,KACGJ,gBAAgB,gBACf,gCAAC,gBAAD,OADe,gBAGf,gCAAC,YAAD;AAAM,IAAA,GAAG,EAAEK;AAAX,IAJJ,CADF,CADD,GAUG,IAXN,CADF;AAeD,CA5BM","sourcesContent":["import React, { useContext } from 'react'\n\nimport SendButtonIcon from '../../assets/send-button.svg'\nimport { ROLES, WEBCHAT } from '../../constants'\nimport { WebchatContext } from '../../contexts'\nimport { ConditionalAnimation } from '../components/conditional-animation'\nimport { Icon } from './common'\n\nexport const SendButton = ({ onClick }) => {\n const { getThemeProperty } = useContext(WebchatContext)\n\n const sendButtonEnabled = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.enableSendButton,\n true\n )\n\n const CustomSendButton = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.customSendButton,\n undefined\n )\n\n return (\n <>\n {sendButtonEnabled || CustomSendButton ? (\n <ConditionalAnimation>\n <div onClick={onClick} role={ROLES.SEND_BUTTON_ICON}>\n {CustomSendButton ? (\n <CustomSendButton />\n ) : (\n <Icon src={SendButtonIcon} />\n )}\n </div>\n </ConditionalAnimation>\n ) : null}\n </>\n )\n}\n"],"file":"send-button.js"}