@botonic/react 0.20.1-alpha.1 → 0.20.3

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.
Files changed (128) hide show
  1. package/lib/app.js +4 -3
  2. package/lib/app.js.map +1 -1
  3. package/lib/components/button.js +22 -2
  4. package/lib/components/button.js.map +1 -1
  5. package/lib/components/buttons-disabler.js +2 -2
  6. package/lib/components/carousel.js +2 -2
  7. package/lib/components/custom-message.js +2 -2
  8. package/lib/components/document.js +2 -2
  9. package/lib/components/image.js +28 -32
  10. package/lib/components/image.js.map +1 -1
  11. package/lib/components/message.js +2 -2
  12. package/lib/components/multichannel/facebook/facebook.js +2 -2
  13. package/lib/components/reply.js +2 -2
  14. package/lib/components/subtitle.js +2 -2
  15. package/lib/components/text.js +2 -2
  16. package/lib/components/timestamps.js +2 -2
  17. package/lib/components/title.js +2 -2
  18. package/lib/constants.js +201 -0
  19. package/lib/constants.js.map +1 -0
  20. package/lib/contexts.js +57 -0
  21. package/lib/contexts.js.map +1 -0
  22. package/lib/dev-app.js +241 -0
  23. package/lib/dev-app.js.map +1 -0
  24. package/lib/index.d.ts +241 -0
  25. package/lib/index.js +131 -0
  26. package/lib/index.js.map +1 -0
  27. package/lib/message-utils.js +149 -0
  28. package/lib/message-utils.js.map +1 -0
  29. package/lib/msg-to-botonic.js +199 -0
  30. package/lib/msg-to-botonic.js.map +1 -0
  31. package/lib/node-app.js +97 -0
  32. package/lib/node-app.js.map +1 -0
  33. package/lib/react-bot.js +167 -0
  34. package/lib/react-bot.js.map +1 -0
  35. package/lib/util/dom.js +84 -0
  36. package/lib/util/dom.js.map +1 -0
  37. package/lib/util/environment.js +42 -0
  38. package/lib/util/environment.js.map +1 -0
  39. package/lib/util/error-boundary.js +105 -0
  40. package/lib/util/error-boundary.js.map +1 -0
  41. package/lib/util/index.d.ts +9 -0
  42. package/lib/util/index.js +2 -0
  43. package/lib/util/index.js.map +1 -0
  44. package/lib/util/logs.js +28 -0
  45. package/lib/util/logs.js.map +1 -0
  46. package/lib/util/objects.js +60 -0
  47. package/lib/util/objects.js.map +1 -0
  48. package/lib/util/react.js +75 -0
  49. package/lib/util/react.js.map +1 -0
  50. package/lib/util/regexs.js +31 -0
  51. package/lib/util/regexs.js.map +1 -0
  52. package/lib/util/webchat.js +92 -0
  53. package/lib/util/webchat.js.map +1 -0
  54. package/lib/webchat/actions.js +53 -0
  55. package/lib/webchat/actions.js.map +1 -0
  56. package/lib/webchat/components/attachment.js +43 -0
  57. package/lib/webchat/components/attachment.js.map +1 -0
  58. package/lib/webchat/components/common.js +33 -0
  59. package/lib/webchat/components/common.js.map +1 -0
  60. package/lib/webchat/components/emoji-picker.js +58 -0
  61. package/lib/webchat/components/emoji-picker.js.map +1 -0
  62. package/lib/webchat/components/persistent-menu.js +96 -0
  63. package/lib/webchat/components/persistent-menu.js.map +1 -0
  64. package/lib/webchat/components/send-button.js +27 -0
  65. package/lib/webchat/components/send-button.js.map +1 -0
  66. package/lib/webchat/components/styled-scrollbar.js +55 -0
  67. package/lib/webchat/components/styled-scrollbar.js.map +1 -0
  68. package/lib/webchat/components/styled-scrollbar.scss +12 -0
  69. package/lib/webchat/components/typing-indicator.js +27 -0
  70. package/lib/webchat/components/typing-indicator.js.map +1 -0
  71. package/lib/webchat/components/typing-indicator.scss +38 -0
  72. package/lib/webchat/devices/device-adapter.js +82 -0
  73. package/lib/webchat/devices/device-adapter.js.map +1 -0
  74. package/lib/webchat/devices/index.js +32 -0
  75. package/lib/webchat/devices/index.js.map +1 -0
  76. package/lib/webchat/devices/scrollbar-controller.js +152 -0
  77. package/lib/webchat/devices/scrollbar-controller.js.map +1 -0
  78. package/lib/webchat/devices/webchat-resizer.js +76 -0
  79. package/lib/webchat/devices/webchat-resizer.js.map +1 -0
  80. package/lib/webchat/header.js +116 -0
  81. package/lib/webchat/header.js.map +1 -0
  82. package/lib/webchat/hooks.js +359 -0
  83. package/lib/webchat/hooks.js.map +1 -0
  84. package/lib/webchat/index.d.ts +62 -0
  85. package/lib/webchat/index.js +32 -0
  86. package/lib/webchat/index.js.map +1 -0
  87. package/lib/webchat/message-list.js +88 -0
  88. package/lib/webchat/message-list.js.map +1 -0
  89. package/lib/webchat/messages-reducer.js +93 -0
  90. package/lib/webchat/messages-reducer.js.map +1 -0
  91. package/lib/webchat/replies.js +78 -0
  92. package/lib/webchat/replies.js.map +1 -0
  93. package/lib/webchat/session-view.js +106 -0
  94. package/lib/webchat/session-view.js.map +1 -0
  95. package/lib/webchat/use-storage-state-hook.js +29 -0
  96. package/lib/webchat/use-storage-state-hook.js.map +1 -0
  97. package/lib/webchat/webchat-dev.js +109 -0
  98. package/lib/webchat/webchat-dev.js.map +1 -0
  99. package/lib/webchat/webchat-reducer.js +108 -0
  100. package/lib/webchat/webchat-reducer.js.map +1 -0
  101. package/lib/webchat/webchat.js +1059 -0
  102. package/lib/webchat/webchat.js.map +1 -0
  103. package/lib/webchat/webview.js +122 -0
  104. package/lib/webchat/webview.js.map +1 -0
  105. package/lib/webchat-app.js +653 -0
  106. package/lib/webchat-app.js.map +1 -0
  107. package/lib/webchat.template.html +37 -0
  108. package/lib/webview.js +214 -0
  109. package/lib/webview.js.map +1 -0
  110. package/lib/webview.template.html +39 -0
  111. package/package.json +2 -2
  112. package/src/components/button.jsx +21 -1
  113. package/src/components/image.jsx +22 -27
  114. package/src/components/index.d.ts +5 -1
  115. package/src/constants.js +1 -0
  116. package/src/index.d.ts +3 -7
  117. package/src/index.js +0 -1
  118. package/src/webchat/actions.jsx +1 -1
  119. package/src/webchat/hooks.js +5 -5
  120. package/src/webchat/webchat-reducer.js +3 -3
  121. package/src/webchat/webchat.jsx +20 -17
  122. package/src/webchat-app.jsx +4 -4
  123. package/src/webchat/components/portal-modal/backdrop.jsx +0 -38
  124. package/src/webchat/components/portal-modal/constants.js +0 -7
  125. package/src/webchat/components/portal-modal/content.jsx +0 -10
  126. package/src/webchat/components/portal-modal/index.js +0 -5
  127. package/src/webchat/components/portal-modal/portal-modal-component.jsx +0 -72
  128. package/src/webchat/components/portal-modal/portal.jsx +0 -21
package/lib/app.js CHANGED
@@ -7,12 +7,13 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.App = void 0;
9
9
 
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+
10
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
13
 
12
- var App = function App() {
14
+ var App = /*#__PURE__*/(0, _createClass2["default"])(function App() {
13
15
  (0, _classCallCheck2["default"])(this, App);
14
16
  throw 'This setup is deprecated in Botonic versions >=0.9.0. Please read the migration guide at: https://github.com/hubtype/botonic/tree/master/packages/botonic-react/MIGRATION_GUIDE.md';
15
- };
16
-
17
+ });
17
18
  exports.App = App;
18
19
  //# sourceMappingURL=app.js.map
package/lib/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/app.jsx"],"names":["App"],"mappings":";;;;;;;;;;;IAAaA,G,GACX,eAAc;AAAA;AACZ,QAAM,oLAAN;AACD,C","sourcesContent":["export class App {\n constructor() {\n throw 'This setup is deprecated in Botonic versions >=0.9.0. Please read the migration guide at: https://github.com/hubtype/botonic/tree/master/packages/botonic-react/MIGRATION_GUIDE.md'\n }\n}\n"],"file":"app.js"}
1
+ {"version":3,"sources":["../src/app.jsx"],"names":["App"],"mappings":";;;;;;;;;;;;;IAAaA,G,8CACX,eAAc;AAAA;AACZ,QAAM,oLAAN;AACD,C","sourcesContent":["export class App {\n constructor() {\n throw 'This setup is deprecated in Botonic versions >=0.9.0. Please read the migration guide at: https://github.com/hubtype/botonic/tree/master/packages/botonic-react/MIGRATION_GUIDE.md'\n }\n}\n"],"file":"app.js"}
@@ -37,9 +37,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
37
37
 
38
38
  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; }
39
39
 
40
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
40
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
41
41
 
42
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
42
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
43
43
 
44
44
  var StyledButton = _styledComponents["default"].button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n width: 100%;\n max-height: 80px;\n font-size: 14px;\n text-align: center;\n align-content: center;\n justify-content: center;\n padding: 12px 32px;\n font-family: inherit;\n border: none;\n border: 1px solid ", ";\n cursor: pointer;\n outline: 0;\n border-top-right-radius: ", ";\n border-top-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-bottom-left-radius: ", ";\n overflow: hidden;\n"])), _constants.COLORS.SEASHELL_WHITE, function (props) {
45
45
  return props.top || '0px';
@@ -108,12 +108,31 @@ var Button = function Button(props) {
108
108
  }
109
109
  };
110
110
 
111
+ var getClassName = function getClassName(buttonProps) {
112
+ if (buttonProps.payload) {
113
+ return 'button-payload';
114
+ }
115
+
116
+ if (butotnProps.url) {
117
+ return 'button-url';
118
+ }
119
+
120
+ if (butotnProps.webview) {
121
+ return 'button-webview';
122
+ }
123
+
124
+ if (butotnProps.path) {
125
+ return 'button-path';
126
+ }
127
+ };
128
+
111
129
  var renderBrowser = function renderBrowser() {
112
130
  var buttonStyle = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonStyle);
113
131
  var CustomButton = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.customButton);
114
132
 
115
133
  if (CustomButton) {
116
134
  return /*#__PURE__*/_react["default"].createElement("div", {
135
+ className: "button-custom",
117
136
  onClick: function onClick(e) {
118
137
  return handleClick(e);
119
138
  }
@@ -123,6 +142,7 @@ var Button = function Button(props) {
123
142
  var buttonBgColor = hover ? getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonHoverBackground, _constants.COLORS.CONCRETE_WHITE) : getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonStyleBackground, _constants.COLORS.SOLID_WHITE);
124
143
  var buttonTextColor = hover ? getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonHoverTextColor, _constants.COLORS.SOLID_BLACK) : getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonStyleColor, _constants.COLORS.SOLID_BLACK);
125
144
  return /*#__PURE__*/_react["default"].createElement(StyledButton, {
145
+ className: getClassName(props),
126
146
  theme: theme,
127
147
  onMouseEnter: function onMouseEnter() {
128
148
  return setHover(true);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/button.jsx"],"names":["StyledButton","styled","button","COLORS","SEASHELL_WHITE","props","top","bottom","Button","WebchatContext","webchatState","openWebview","sendPayload","sendInput","getThemeProperty","updateMessage","hover","setHover","theme","ButtonsDisabler","resolveDisabling","autoDisable","disabledStyle","handleClick","event","preventDefault","type","WEBCHAT","CUSTOM_PROPERTIES","buttonMessageType","INPUT","TEXT","webview","params","path","POSTBACK","data","String","children","text","payload","url","window","open","target","onClick","setDisabled","messageToUpdate","messagesJSON","filter","m","id","parentId","updatedMsg","getUpdatedMessage","renderBrowser","buttonStyle","CustomButton","customButton","e","buttonBgColor","buttonHoverBackground","CONCRETE_WHITE","buttonStyleBackground","SOLID_WHITE","buttonTextColor","buttonHoverTextColor","SOLID_BLACK","buttonStyleColor","color","backgroundColor","disabled","bottomRadius","renderNode","disabledProps","constructNodeProps","Webview","name","Error","serialize","buttonProps","title","withDisabledProps"],"mappings":"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","sourcesContent":["import { INPUT, params2queryString } from '@botonic/core'\nimport React, { useContext, useState } from 'react'\nimport styled from 'styled-components'\n\nimport { COLORS, WEBCHAT } from '../constants'\nimport { WebchatContext } from '../contexts'\nimport { renderComponent } from '../util/react'\nimport { ButtonsDisabler } from './buttons-disabler'\n\nconst StyledButton = styled.button`\n display: flex;\n width: 100%;\n max-height: 80px;\n font-size: 14px;\n text-align: center;\n align-content: center;\n justify-content: center;\n padding: 12px 32px;\n font-family: inherit;\n border: none;\n border: 1px solid ${COLORS.SEASHELL_WHITE};\n cursor: pointer;\n outline: 0;\n border-top-right-radius: ${props => props.top || '0px'};\n border-top-left-radius: ${props => props.top || '0px'};\n border-bottom-right-radius: ${props => props.bottom || '0px'};\n border-bottom-left-radius: ${props => props.bottom || '0px'};\n overflow: hidden;\n`\n\nexport const Button = props => {\n const {\n webchatState,\n openWebview,\n sendPayload,\n sendInput,\n getThemeProperty,\n updateMessage,\n } = useContext(WebchatContext)\n const [hover, setHover] = useState(false)\n const { theme } = webchatState\n const { autoDisable, disabledStyle } = ButtonsDisabler.resolveDisabling(\n webchatState.theme,\n props\n )\n const handleClick = event => {\n event.preventDefault()\n const type = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonMessageType,\n INPUT.TEXT\n )\n if (props.webview) openWebview(props.webview, props.params)\n else if (props.path) {\n type == INPUT.POSTBACK\n ? sendPayload(`__PATH_PAYLOAD__${props.path}`)\n : sendInput({\n type: INPUT.TEXT,\n data: String(props.children),\n text: String(props.children),\n payload: `__PATH_PAYLOAD__${props.path}`,\n })\n } else if (props.payload) {\n type == INPUT.POSTBACK\n ? sendPayload(props.payload)\n : sendInput({\n type: INPUT.TEXT,\n data: String(props.children),\n text: String(props.children),\n payload: props.payload,\n })\n } else if (props.url) {\n window.open(props.url, props.target || '_blank')\n }\n if (props.onClick) props.onClick()\n if (props.setDisabled) {\n props.setDisabled(true)\n const messageToUpdate = webchatState.messagesJSON.filter(\n m => m.id == props.parentId\n )[0]\n const updatedMsg = ButtonsDisabler.getUpdatedMessage(messageToUpdate, {\n autoDisable,\n disabledStyle,\n })\n updateMessage(updatedMsg)\n }\n }\n\n const renderBrowser = () => {\n const buttonStyle = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.buttonStyle)\n const CustomButton = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.customButton\n )\n if (CustomButton) {\n return (\n <div onClick={e => handleClick(e)}>\n <CustomButton>{props.children}</CustomButton>\n </div>\n )\n }\n\n const buttonBgColor = hover\n ? getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonHoverBackground,\n COLORS.CONCRETE_WHITE\n )\n : getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonStyleBackground,\n COLORS.SOLID_WHITE\n )\n const buttonTextColor = hover\n ? getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonHoverTextColor,\n COLORS.SOLID_BLACK\n )\n : getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonStyleColor,\n COLORS.SOLID_BLACK\n )\n\n return (\n <StyledButton\n theme={theme}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n onClick={e => handleClick(e)}\n style={{\n ...buttonStyle,\n color: buttonTextColor,\n backgroundColor: buttonBgColor,\n ...(props.disabled && autoDisable && disabledStyle),\n }}\n bottom={props.bottomRadius}\n >\n {props.children}\n </StyledButton>\n )\n }\n\n const renderNode = () => {\n const disabledProps = ButtonsDisabler.constructNodeProps(props)\n if (props.webview) {\n const Webview = props.webview\n let params = ''\n if (props.params) params = params2queryString(props.params)\n return (\n <button url={`/webviews/${Webview.name}?${params}`} {...disabledProps}>\n {props.children}\n </button>\n )\n } else if (props.path) {\n const payload = `__PATH_PAYLOAD__${props.path}`\n return (\n <button payload={payload} {...disabledProps}>\n {props.children}\n </button>\n )\n } else if (props.payload) {\n return (\n <button payload={props.payload} {...disabledProps}>\n {props.children}\n </button>\n )\n } else if (props.url) {\n return (\n <button url={props.url} target={props.target} {...disabledProps}>\n {props.children}\n </button>\n )\n } else if (props.onClick) {\n return null\n }\n throw new Error('Button missing payload, path, webviews, url or onClick')\n }\n\n return renderComponent({ renderBrowser, renderNode })\n}\n\nButton.serialize = buttonProps => {\n let payload = buttonProps.payload\n if (buttonProps.path) payload = `__PATH_PAYLOAD__${buttonProps.path}`\n return {\n button: {\n payload,\n url: buttonProps.url,\n target: buttonProps.target,\n webview: buttonProps.webview && String(buttonProps.webview),\n title: buttonProps.children && String(buttonProps.children),\n ...ButtonsDisabler.withDisabledProps(buttonProps),\n },\n }\n}\n"],"file":"button.js"}
1
+ {"version":3,"sources":["../../src/components/button.jsx"],"names":["StyledButton","styled","button","COLORS","SEASHELL_WHITE","props","top","bottom","Button","WebchatContext","webchatState","openWebview","sendPayload","sendInput","getThemeProperty","updateMessage","hover","setHover","theme","ButtonsDisabler","resolveDisabling","autoDisable","disabledStyle","handleClick","event","preventDefault","type","WEBCHAT","CUSTOM_PROPERTIES","buttonMessageType","INPUT","TEXT","webview","params","path","POSTBACK","data","String","children","text","payload","url","window","open","target","onClick","setDisabled","messageToUpdate","messagesJSON","filter","m","id","parentId","updatedMsg","getUpdatedMessage","getClassName","buttonProps","butotnProps","renderBrowser","buttonStyle","CustomButton","customButton","e","buttonBgColor","buttonHoverBackground","CONCRETE_WHITE","buttonStyleBackground","SOLID_WHITE","buttonTextColor","buttonHoverTextColor","SOLID_BLACK","buttonStyleColor","color","backgroundColor","disabled","bottomRadius","renderNode","disabledProps","constructNodeProps","Webview","name","Error","serialize","title","withDisabledProps"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,YAAY,GAAGC,6BAAOC,MAAV,ihBAWIC,kBAAOC,cAXX,EAcW,UAAAC,KAAK;AAAA,SAAIA,KAAK,CAACC,GAAN,IAAa,KAAjB;AAAA,CAdhB,EAeU,UAAAD,KAAK;AAAA,SAAIA,KAAK,CAACC,GAAN,IAAa,KAAjB;AAAA,CAff,EAgBc,UAAAD,KAAK;AAAA,SAAIA,KAAK,CAACE,MAAN,IAAgB,KAApB;AAAA,CAhBnB,EAiBa,UAAAF,KAAK;AAAA,SAAIA,KAAK,CAACE,MAAN,IAAgB,KAApB;AAAA,CAjBlB,CAAlB;;AAqBO,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAAH,KAAK,EAAI;AAC7B,oBAOI,uBAAWI,wBAAX,CAPJ;AAAA,MACEC,YADF,eACEA,YADF;AAAA,MAEEC,WAFF,eAEEA,WAFF;AAAA,MAGEC,WAHF,eAGEA,WAHF;AAAA,MAIEC,SAJF,eAIEA,SAJF;AAAA,MAKEC,gBALF,eAKEA,gBALF;AAAA,MAMEC,aANF,eAMEA,aANF;;AAQA,kBAA0B,qBAAS,KAAT,CAA1B;AAAA;AAAA,MAAOC,KAAP;AAAA,MAAcC,QAAd;;AACA,MAAQC,KAAR,GAAkBR,YAAlB,CAAQQ,KAAR;;AACA,8BAAuCC,iCAAgBC,gBAAhB,CACrCV,YAAY,CAACQ,KADwB,EAErCb,KAFqC,CAAvC;AAAA,MAAQgB,WAAR,yBAAQA,WAAR;AAAA,MAAqBC,aAArB,yBAAqBA,aAArB;;AAIA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAAAC,KAAK,EAAI;AAC3BA,IAAAA,KAAK,CAACC,cAAN;AACA,QAAMC,IAAI,GAAGZ,gBAAgB,CAC3Ba,mBAAQC,iBAAR,CAA0BC,iBADC,EAE3BC,YAAMC,IAFqB,CAA7B;AAIA,QAAI1B,KAAK,CAAC2B,OAAV,EAAmBrB,WAAW,CAACN,KAAK,CAAC2B,OAAP,EAAgB3B,KAAK,CAAC4B,MAAtB,CAAX,CAAnB,KACK,IAAI5B,KAAK,CAAC6B,IAAV,EAAgB;AACnBR,MAAAA,IAAI,IAAII,YAAMK,QAAd,GACIvB,WAAW,2BAAoBP,KAAK,CAAC6B,IAA1B,EADf,GAEIrB,SAAS,CAAC;AACRa,QAAAA,IAAI,EAAEI,YAAMC,IADJ;AAERK,QAAAA,IAAI,EAAEC,MAAM,CAAChC,KAAK,CAACiC,QAAP,CAFJ;AAGRC,QAAAA,IAAI,EAAEF,MAAM,CAAChC,KAAK,CAACiC,QAAP,CAHJ;AAIRE,QAAAA,OAAO,4BAAqBnC,KAAK,CAAC6B,IAA3B;AAJC,OAAD,CAFb;AAQD,KATI,MASE,IAAI7B,KAAK,CAACmC,OAAV,EAAmB;AACxBd,MAAAA,IAAI,IAAII,YAAMK,QAAd,GACIvB,WAAW,CAACP,KAAK,CAACmC,OAAP,CADf,GAEI3B,SAAS,CAAC;AACRa,QAAAA,IAAI,EAAEI,YAAMC,IADJ;AAERK,QAAAA,IAAI,EAAEC,MAAM,CAAChC,KAAK,CAACiC,QAAP,CAFJ;AAGRC,QAAAA,IAAI,EAAEF,MAAM,CAAChC,KAAK,CAACiC,QAAP,CAHJ;AAIRE,QAAAA,OAAO,EAAEnC,KAAK,CAACmC;AAJP,OAAD,CAFb;AAQD,KATM,MASA,IAAInC,KAAK,CAACoC,GAAV,EAAe;AACpBC,MAAAA,MAAM,CAACC,IAAP,CAAYtC,KAAK,CAACoC,GAAlB,EAAuBpC,KAAK,CAACuC,MAAN,IAAgB,QAAvC;AACD;AACD,QAAIvC,KAAK,CAACwC,OAAV,EAAmBxC,KAAK,CAACwC,OAAN;;AACnB,QAAIxC,KAAK,CAACyC,WAAV,EAAuB;AACrBzC,MAAAA,KAAK,CAACyC,WAAN,CAAkB,IAAlB;AACA,UAAMC,eAAe,GAAGrC,YAAY,CAACsC,YAAb,CAA0BC,MAA1B,CACtB,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACC,EAAF,IAAQ9C,KAAK,CAAC+C,QAAlB;AAAA,OADqB,EAEtB,CAFsB,CAAxB;;AAGA,UAAMC,UAAU,GAAGlC,iCAAgBmC,iBAAhB,CAAkCP,eAAlC,EAAmD;AACpE1B,QAAAA,WAAW,EAAXA,WADoE;AAEpEC,QAAAA,aAAa,EAAbA;AAFoE,OAAnD,CAAnB;;AAIAP,MAAAA,aAAa,CAACsC,UAAD,CAAb;AACD;AACF,GAxCD;;AA0CA,MAAME,YAAY,GAAG,SAAfA,YAAe,CAACC,WAAD,EAAiB;AACpC,QAAIA,WAAW,CAAChB,OAAhB,EAAyB;AACvB,aAAO,gBAAP;AACD;;AACD,QAAIiB,WAAW,CAAChB,GAAhB,EAAqB;AACnB,aAAO,YAAP;AACD;;AACD,QAAIgB,WAAW,CAACzB,OAAhB,EAAyB;AACvB,aAAO,gBAAP;AACD;;AACD,QAAIyB,WAAW,CAACvB,IAAhB,EAAsB;AACpB,aAAO,aAAP;AACD;AACF,GAbD;;AAeA,MAAMwB,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1B,QAAMC,WAAW,GAAG7C,gBAAgB,CAACa,mBAAQC,iBAAR,CAA0B+B,WAA3B,CAApC;AACA,QAAMC,YAAY,GAAG9C,gBAAgB,CACnCa,mBAAQC,iBAAR,CAA0BiC,YADS,CAArC;;AAGA,QAAID,YAAJ,EAAkB;AAChB,0BACE;AAAK,QAAA,SAAS,EAAC,eAAf;AAA+B,QAAA,OAAO,EAAE,iBAAAE,CAAC;AAAA,iBAAIvC,WAAW,CAACuC,CAAD,CAAf;AAAA;AAAzC,sBACE,gCAAC,YAAD,QAAezD,KAAK,CAACiC,QAArB,CADF,CADF;AAKD;;AAED,QAAMyB,aAAa,GAAG/C,KAAK,GACvBF,gBAAgB,CACda,mBAAQC,iBAAR,CAA0BoC,qBADZ,EAEd7D,kBAAO8D,cAFO,CADO,GAKvBnD,gBAAgB,CACda,mBAAQC,iBAAR,CAA0BsC,qBADZ,EAEd/D,kBAAOgE,WAFO,CALpB;AASA,QAAMC,eAAe,GAAGpD,KAAK,GACzBF,gBAAgB,CACda,mBAAQC,iBAAR,CAA0ByC,oBADZ,EAEdlE,kBAAOmE,WAFO,CADS,GAKzBxD,gBAAgB,CACda,mBAAQC,iBAAR,CAA0B2C,gBADZ,EAEdpE,kBAAOmE,WAFO,CALpB;AAUA,wBACE,gCAAC,YAAD;AACE,MAAA,SAAS,EAAEf,YAAY,CAAClD,KAAD,CADzB;AAEE,MAAA,KAAK,EAAEa,KAFT;AAGE,MAAA,YAAY,EAAE;AAAA,eAAMD,QAAQ,CAAC,IAAD,CAAd;AAAA,OAHhB;AAIE,MAAA,YAAY,EAAE;AAAA,eAAMA,QAAQ,CAAC,KAAD,CAAd;AAAA,OAJhB;AAKE,MAAA,OAAO,EAAE,iBAAA6C,CAAC;AAAA,eAAIvC,WAAW,CAACuC,CAAD,CAAf;AAAA,OALZ;AAME,MAAA,KAAK,kCACAH,WADA;AAEHa,QAAAA,KAAK,EAAEJ,eAFJ;AAGHK,QAAAA,eAAe,EAAEV;AAHd,SAIC1D,KAAK,CAACqE,QAAN,IAAkBrD,WAAlB,IAAiCC,aAJlC,CANP;AAYE,MAAA,MAAM,EAAEjB,KAAK,CAACsE;AAZhB,OAcGtE,KAAK,CAACiC,QAdT,CADF;AAkBD,GAlDD;;AAoDA,MAAMsC,UAAU,GAAG,SAAbA,UAAa,GAAM;AACvB,QAAMC,aAAa,GAAG1D,iCAAgB2D,kBAAhB,CAAmCzE,KAAnC,CAAtB;;AACA,QAAIA,KAAK,CAAC2B,OAAV,EAAmB;AACjB,UAAM+C,OAAO,GAAG1E,KAAK,CAAC2B,OAAtB;AACA,UAAIC,MAAM,GAAG,EAAb;AACA,UAAI5B,KAAK,CAAC4B,MAAV,EAAkBA,MAAM,GAAG,8BAAmB5B,KAAK,CAAC4B,MAAzB,CAAT;AAClB,0BACE;AAAQ,QAAA,GAAG,sBAAe8C,OAAO,CAACC,IAAvB,cAA+B/C,MAA/B;AAAX,SAAwD4C,aAAxD,GACGxE,KAAK,CAACiC,QADT,CADF;AAKD,KATD,MASO,IAAIjC,KAAK,CAAC6B,IAAV,EAAgB;AACrB,UAAMM,OAAO,6BAAsBnC,KAAK,CAAC6B,IAA5B,CAAb;AACA,0BACE;AAAQ,QAAA,OAAO,EAAEM;AAAjB,SAA8BqC,aAA9B,GACGxE,KAAK,CAACiC,QADT,CADF;AAKD,KAPM,MAOA,IAAIjC,KAAK,CAACmC,OAAV,EAAmB;AACxB,0BACE;AAAQ,QAAA,OAAO,EAAEnC,KAAK,CAACmC;AAAvB,SAAoCqC,aAApC,GACGxE,KAAK,CAACiC,QADT,CADF;AAKD,KANM,MAMA,IAAIjC,KAAK,CAACoC,GAAV,EAAe;AACpB,0BACE;AAAQ,QAAA,GAAG,EAAEpC,KAAK,CAACoC,GAAnB;AAAwB,QAAA,MAAM,EAAEpC,KAAK,CAACuC;AAAtC,SAAkDiC,aAAlD,GACGxE,KAAK,CAACiC,QADT,CADF;AAKD,KANM,MAMA,IAAIjC,KAAK,CAACwC,OAAV,EAAmB;AACxB,aAAO,IAAP;AACD;;AACD,UAAM,IAAIoC,KAAJ,CAAU,wDAAV,CAAN;AACD,GAlCD;;AAoCA,SAAO,6BAAgB;AAAEvB,IAAAA,aAAa,EAAbA,aAAF;AAAiBkB,IAAAA,UAAU,EAAVA;AAAjB,GAAhB,CAAP;AACD,CAjKM;;;;AAmKPpE,MAAM,CAAC0E,SAAP,GAAmB,UAAA1B,WAAW,EAAI;AAChC,MAAIhB,OAAO,GAAGgB,WAAW,CAAChB,OAA1B;AACA,MAAIgB,WAAW,CAACtB,IAAhB,EAAsBM,OAAO,6BAAsBgB,WAAW,CAACtB,IAAlC,CAAP;AACtB,SAAO;AACLhC,IAAAA,MAAM;AACJsC,MAAAA,OAAO,EAAPA,OADI;AAEJC,MAAAA,GAAG,EAAEe,WAAW,CAACf,GAFb;AAGJG,MAAAA,MAAM,EAAEY,WAAW,CAACZ,MAHhB;AAIJZ,MAAAA,OAAO,EAAEwB,WAAW,CAACxB,OAAZ,IAAuBK,MAAM,CAACmB,WAAW,CAACxB,OAAb,CAJlC;AAKJmD,MAAAA,KAAK,EAAE3B,WAAW,CAAClB,QAAZ,IAAwBD,MAAM,CAACmB,WAAW,CAAClB,QAAb;AALjC,OAMDnB,iCAAgBiE,iBAAhB,CAAkC5B,WAAlC,CANC;AADD,GAAP;AAUD,CAbD","sourcesContent":["import { INPUT, params2queryString } from '@botonic/core'\nimport React, { useContext, useState } from 'react'\nimport styled from 'styled-components'\n\nimport { COLORS, WEBCHAT } from '../constants'\nimport { WebchatContext } from '../contexts'\nimport { renderComponent } from '../util/react'\nimport { ButtonsDisabler } from './buttons-disabler'\n\nconst StyledButton = styled.button`\n display: flex;\n width: 100%;\n max-height: 80px;\n font-size: 14px;\n text-align: center;\n align-content: center;\n justify-content: center;\n padding: 12px 32px;\n font-family: inherit;\n border: none;\n border: 1px solid ${COLORS.SEASHELL_WHITE};\n cursor: pointer;\n outline: 0;\n border-top-right-radius: ${props => props.top || '0px'};\n border-top-left-radius: ${props => props.top || '0px'};\n border-bottom-right-radius: ${props => props.bottom || '0px'};\n border-bottom-left-radius: ${props => props.bottom || '0px'};\n overflow: hidden;\n`\n\nexport const Button = props => {\n const {\n webchatState,\n openWebview,\n sendPayload,\n sendInput,\n getThemeProperty,\n updateMessage,\n } = useContext(WebchatContext)\n const [hover, setHover] = useState(false)\n const { theme } = webchatState\n const { autoDisable, disabledStyle } = ButtonsDisabler.resolveDisabling(\n webchatState.theme,\n props\n )\n const handleClick = event => {\n event.preventDefault()\n const type = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonMessageType,\n INPUT.TEXT\n )\n if (props.webview) openWebview(props.webview, props.params)\n else if (props.path) {\n type == INPUT.POSTBACK\n ? sendPayload(`__PATH_PAYLOAD__${props.path}`)\n : sendInput({\n type: INPUT.TEXT,\n data: String(props.children),\n text: String(props.children),\n payload: `__PATH_PAYLOAD__${props.path}`,\n })\n } else if (props.payload) {\n type == INPUT.POSTBACK\n ? sendPayload(props.payload)\n : sendInput({\n type: INPUT.TEXT,\n data: String(props.children),\n text: String(props.children),\n payload: props.payload,\n })\n } else if (props.url) {\n window.open(props.url, props.target || '_blank')\n }\n if (props.onClick) props.onClick()\n if (props.setDisabled) {\n props.setDisabled(true)\n const messageToUpdate = webchatState.messagesJSON.filter(\n m => m.id == props.parentId\n )[0]\n const updatedMsg = ButtonsDisabler.getUpdatedMessage(messageToUpdate, {\n autoDisable,\n disabledStyle,\n })\n updateMessage(updatedMsg)\n }\n }\n\n const getClassName = (buttonProps) => {\n if (buttonProps.payload) {\n return 'button-payload'\n }\n if (butotnProps.url) {\n return 'button-url'\n }\n if (butotnProps.webview) {\n return 'button-webview'\n }\n if (butotnProps.path) {\n return 'button-path'\n }\n }\n\n const renderBrowser = () => {\n const buttonStyle = getThemeProperty(WEBCHAT.CUSTOM_PROPERTIES.buttonStyle)\n const CustomButton = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.customButton\n )\n if (CustomButton) {\n return (\n <div className='button-custom' onClick={e => handleClick(e)}>\n <CustomButton>{props.children}</CustomButton>\n </div>\n )\n }\n\n const buttonBgColor = hover\n ? getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonHoverBackground,\n COLORS.CONCRETE_WHITE\n )\n : getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonStyleBackground,\n COLORS.SOLID_WHITE\n )\n const buttonTextColor = hover\n ? getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonHoverTextColor,\n COLORS.SOLID_BLACK\n )\n : getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.buttonStyleColor,\n COLORS.SOLID_BLACK\n )\n\n return (\n <StyledButton\n className={getClassName(props)}\n theme={theme}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n onClick={e => handleClick(e)}\n style={{\n ...buttonStyle,\n color: buttonTextColor,\n backgroundColor: buttonBgColor,\n ...(props.disabled && autoDisable && disabledStyle),\n }}\n bottom={props.bottomRadius}\n >\n {props.children}\n </StyledButton>\n )\n }\n\n const renderNode = () => {\n const disabledProps = ButtonsDisabler.constructNodeProps(props)\n if (props.webview) {\n const Webview = props.webview\n let params = ''\n if (props.params) params = params2queryString(props.params)\n return (\n <button url={`/webviews/${Webview.name}?${params}`} {...disabledProps}>\n {props.children}\n </button>\n )\n } else if (props.path) {\n const payload = `__PATH_PAYLOAD__${props.path}`\n return (\n <button payload={payload} {...disabledProps}>\n {props.children}\n </button>\n )\n } else if (props.payload) {\n return (\n <button payload={props.payload} {...disabledProps}>\n {props.children}\n </button>\n )\n } else if (props.url) {\n return (\n <button url={props.url} target={props.target} {...disabledProps}>\n {props.children}\n </button>\n )\n } else if (props.onClick) {\n return null\n }\n throw new Error('Button missing payload, path, webviews, url or onClick')\n }\n\n return renderComponent({ renderBrowser, renderNode })\n}\n\nButton.serialize = buttonProps => {\n let payload = buttonProps.payload\n if (buttonProps.path) payload = `__PATH_PAYLOAD__${buttonProps.path}`\n return {\n button: {\n payload,\n url: buttonProps.url,\n target: buttonProps.target,\n webview: buttonProps.webview && String(buttonProps.webview),\n title: buttonProps.children && String(buttonProps.children),\n ...ButtonsDisabler.withDisabledProps(buttonProps),\n },\n }\n}\n"],"file":"button.js"}
@@ -25,9 +25,9 @@ var _react = require("../util/react");
25
25
 
26
26
  var _webchat = require("../util/webchat");
27
27
 
28
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
29
 
30
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
31
 
32
32
  var ButtonsDisabler = /*#__PURE__*/function () {
33
33
  function ButtonsDisabler() {
@@ -45,9 +45,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
45
45
 
46
46
  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; }
47
47
 
48
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
48
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
49
49
 
50
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
50
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
51
51
 
52
52
  var StyledCarousel = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: 10px 0px;\n display: flex;\n flex-direction: row;\n max-width: 100%;\n ", "\n"])), function (props) {
53
53
  return props.carouselArrowsEnabled && 'overflow-x: auto;';
@@ -33,9 +33,9 @@ var _reply = require("./reply");
33
33
 
34
34
  var _excluded = ["id", "children"];
35
35
 
36
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
36
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
37
 
38
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
38
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
39
39
 
40
40
  /**
41
41
  *
@@ -33,9 +33,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
33
33
 
34
34
  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; }
35
35
 
36
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
36
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
37
 
38
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
38
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
39
39
 
40
40
  var StyledButton = _styledComponents["default"].a(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: block;\n height: 25px;\n background-color: #f0f0f0;\n padding: 10px;\n text-align: center;\n border-radius: 5px;\n color: black;\n font-weight: bold;\n line-height: 25px;\n text-decoration: none;\n border: 1px solid black;\n opacity: 0.9;\n &:hover {\n opacity: 1;\n }\n"])));
41
41
 
@@ -23,22 +23,21 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
23
23
 
24
24
  var _constants = require("../constants");
25
25
 
26
- var _portalModal = require("../webchat/components/portal-modal");
26
+ var _contexts = require("../contexts");
27
27
 
28
28
  var _message = require("./message");
29
29
 
30
- var _templateObject, _templateObject2;
30
+ var _templateObject;
31
31
 
32
32
  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
33
 
34
34
  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; }
35
35
 
36
- var StyledImage = _styledComponents["default"].img(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: 8px;\n max-width: 150px;\n max-height: 150px;\n margin: -3px -6px;\n cursor: ", ";\n"])), function (props) {
37
- return props.isHovered ? 'pointer' : 'none';
36
+ var StyledImage = _styledComponents["default"].img(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: 8px;\n max-width: 150px;\n max-height: 150px;\n margin: -3px -6px;\n cursor: ", ";\n"])), function (_ref) {
37
+ var hasPreviewer = _ref.hasPreviewer;
38
+ return hasPreviewer ? 'pointer' : 'auto';
38
39
  });
39
40
 
40
- var StyledPreviewImage = _styledComponents["default"].img(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n max-width: 75vw;\n max-height: 75vh;\n object-fit: contain;\n"])));
41
-
42
41
  var serialize = function serialize(imageProps) {
43
42
  return {
44
43
  image: imageProps.src
@@ -46,40 +45,37 @@ var serialize = function serialize(imageProps) {
46
45
  };
47
46
 
48
47
  var Image = function Image(props) {
48
+ var content = props.children;
49
+
49
50
  var _useState = (0, _react.useState)(false),
50
51
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
51
- isHovered = _useState2[0],
52
- setIsHovered = _useState2[1];
52
+ isPreviewerOpened = _useState2[0],
53
+ setIsPreviewerOpened = _useState2[1];
53
54
 
54
- var _useState3 = (0, _react.useState)(false),
55
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
56
- isModalOpen = _useState4[0],
57
- setIsModalOpen = _useState4[1];
55
+ var openPreviewer = function openPreviewer() {
56
+ return setIsPreviewerOpened(true);
57
+ };
58
58
 
59
- var content = props.children;
59
+ var closePreviewer = function closePreviewer() {
60
+ return setIsPreviewerOpened(false);
61
+ };
62
+
63
+ var _useContext = (0, _react.useContext)(_contexts.WebchatContext),
64
+ getThemeProperty = _useContext.getThemeProperty;
65
+
66
+ var imagePreviewer = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.imagePreviewer, null);
60
67
 
61
68
  if ((0, _core.isBrowser)()) {
62
69
  content = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(StyledImage, {
63
70
  src: props.src,
64
- isHovered: isHovered,
65
- onMouseEnter: function onMouseEnter() {
66
- return setIsHovered(true);
67
- },
68
- onMouseLeave: function onMouseLeave() {
69
- return setIsHovered(false);
70
- },
71
- onClick: function onClick() {
72
- return setIsModalOpen(true);
73
- }
74
- }), isModalOpen && /*#__PURE__*/_react["default"].createElement(_portalModal.PortalModalComponent, {
75
- open: isModalOpen,
76
- onClose: function onClose() {
77
- return setIsModalOpen(false);
78
- },
79
- locked: false
80
- }, /*#__PURE__*/_react["default"].createElement(StyledPreviewImage, {
81
- src: props.src
82
- })));
71
+ onClick: openPreviewer,
72
+ hasPreviewer: Boolean(imagePreviewer)
73
+ }), imagePreviewer && imagePreviewer({
74
+ src: props.src,
75
+ isPreviewerOpened: isPreviewerOpened,
76
+ openPreviewer: openPreviewer,
77
+ closePreviewer: closePreviewer
78
+ }));
83
79
  }
84
80
 
85
81
  return /*#__PURE__*/_react["default"].createElement(_message.Message, (0, _extends2["default"])({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/image.jsx"],"names":["StyledImage","styled","img","props","isHovered","StyledPreviewImage","serialize","imageProps","image","src","Image","setIsHovered","isModalOpen","setIsModalOpen","content","children","ROLES","IMAGE_MESSAGE","INPUT","IMAGE"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,WAAW,GAAGC,6BAAOC,GAAV,kMAKL,UAAAC,KAAK;AAAA,SAAKA,KAAK,CAACC,SAAN,GAAkB,SAAlB,GAA8B,MAAnC;AAAA,CALA,CAAjB;;AAQA,IAAMC,kBAAkB,GAAGJ,6BAAOC,GAAV,2KAAxB;;AAOA,IAAMI,SAAS,GAAG,SAAZA,SAAY,CAAAC,UAAU,EAAI;AAC9B,SAAO;AAAEC,IAAAA,KAAK,EAAED,UAAU,CAACE;AAApB,GAAP;AACD,CAFD;;AAIO,IAAMC,KAAK,GAAG,SAARA,KAAQ,CAAAP,KAAK,EAAI;AAC5B,kBAAkC,qBAAS,KAAT,CAAlC;AAAA;AAAA,MAAOC,SAAP;AAAA,MAAkBO,YAAlB;;AACA,mBAAsC,qBAAS,KAAT,CAAtC;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AAEA,MAAIC,OAAO,GAAGX,KAAK,CAACY,QAApB;;AAEA,MAAI,sBAAJ,EAAiB;AACfD,IAAAA,OAAO,gBACL,+EACE,gCAAC,WAAD;AACE,MAAA,GAAG,EAAEX,KAAK,CAACM,GADb;AAEE,MAAA,SAAS,EAAEL,SAFb;AAGE,MAAA,YAAY,EAAE;AAAA,eAAMO,YAAY,CAAC,IAAD,CAAlB;AAAA,OAHhB;AAIE,MAAA,YAAY,EAAE;AAAA,eAAMA,YAAY,CAAC,KAAD,CAAlB;AAAA,OAJhB;AAKE,MAAA,OAAO,EAAE;AAAA,eAAME,cAAc,CAAC,IAAD,CAApB;AAAA;AALX,MADF,EAQGD,WAAW,iBACV,gCAAC,iCAAD;AACE,MAAA,IAAI,EAAEA,WADR;AAEE,MAAA,OAAO,EAAE;AAAA,eAAMC,cAAc,CAAC,KAAD,CAApB;AAAA,OAFX;AAGE,MAAA,MAAM,EAAE;AAHV,oBAKE,gCAAC,kBAAD;AAAoB,MAAA,GAAG,EAAEV,KAAK,CAACM;AAA/B,MALF,CATJ,CADF;AAoBD;;AACD,sBACE,gCAAC,gBAAD;AACE,IAAA,IAAI,EAAEO,iBAAMC,aADd;AAEE,IAAA,IAAI,EAAEX,SAAS,CAACH,KAAD;AAFjB,KAGMA,KAHN;AAIE,IAAA,IAAI,EAAEe,YAAMC;AAJd,MAMGL,OANH,CADF;AAUD,CAtCM;;;AAwCPJ,KAAK,CAACJ,SAAN,GAAkBA,SAAlB","sourcesContent":["import { INPUT, isBrowser } from '@botonic/core'\nimport React, { useState } from 'react'\nimport styled from 'styled-components'\n\nimport { ROLES } from '../constants'\nimport { PortalModalComponent } from '../webchat/components/portal-modal'\nimport { Message } from './message'\n\nconst StyledImage = styled.img`\n border-radius: 8px;\n max-width: 150px;\n max-height: 150px;\n margin: -3px -6px;\n cursor: ${props => (props.isHovered ? 'pointer' : 'none')};\n`\n\nconst StyledPreviewImage = styled.img`\n width: 100%;\n max-width: 75vw;\n max-height: 75vh;\n object-fit: contain;\n`\n\nconst serialize = imageProps => {\n return { image: imageProps.src }\n}\n\nexport const Image = props => {\n const [isHovered, setIsHovered] = useState(false)\n const [isModalOpen, setIsModalOpen] = useState(false)\n\n let content = props.children\n\n if (isBrowser()) {\n content = (\n <>\n <StyledImage\n src={props.src}\n isHovered={isHovered}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n onClick={() => setIsModalOpen(true)}\n />\n {isModalOpen && (\n <PortalModalComponent\n open={isModalOpen}\n onClose={() => setIsModalOpen(false)}\n locked={false}\n >\n <StyledPreviewImage src={props.src} />\n </PortalModalComponent>\n )}\n </>\n )\n }\n return (\n <Message\n role={ROLES.IMAGE_MESSAGE}\n json={serialize(props)}\n {...props}\n type={INPUT.IMAGE}\n >\n {content}\n </Message>\n )\n}\n\nImage.serialize = serialize\n"],"file":"image.js"}
1
+ {"version":3,"sources":["../../src/components/image.jsx"],"names":["StyledImage","styled","img","hasPreviewer","serialize","imageProps","image","src","Image","props","content","children","isPreviewerOpened","setIsPreviewerOpened","openPreviewer","closePreviewer","WebchatContext","getThemeProperty","imagePreviewer","WEBCHAT","CUSTOM_PROPERTIES","Boolean","ROLES","IMAGE_MESSAGE","INPUT","IMAGE"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,WAAW,GAAGC,6BAAOC,GAAV,kMAKL;AAAA,MAAGC,YAAH,QAAGA,YAAH;AAAA,SAAuBA,YAAY,GAAG,SAAH,GAAe,MAAlD;AAAA,CALK,CAAjB;;AAQA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAAAC,UAAU,EAAI;AAC9B,SAAO;AAAEC,IAAAA,KAAK,EAAED,UAAU,CAACE;AAApB,GAAP;AACD,CAFD;;AAIO,IAAMC,KAAK,GAAG,SAARA,KAAQ,CAAAC,KAAK,EAAI;AAC5B,MAAIC,OAAO,GAAGD,KAAK,CAACE,QAApB;;AAEA,kBAAkD,qBAAS,KAAT,CAAlD;AAAA;AAAA,MAAOC,iBAAP;AAAA,MAA0BC,oBAA1B;;AACA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB;AAAA,WAAMD,oBAAoB,CAAC,IAAD,CAA1B;AAAA,GAAtB;;AACA,MAAME,cAAc,GAAG,SAAjBA,cAAiB;AAAA,WAAMF,oBAAoB,CAAC,KAAD,CAA1B;AAAA,GAAvB;;AAEA,oBAA6B,uBAAWG,wBAAX,CAA7B;AAAA,MAAQC,gBAAR,eAAQA,gBAAR;;AACA,MAAMC,cAAc,GAAGD,gBAAgB,CACrCE,mBAAQC,iBAAR,CAA0BF,cADW,EAErC,IAFqC,CAAvC;;AAIA,MAAI,sBAAJ,EAAiB;AACfR,IAAAA,OAAO,gBACL,+EACE,gCAAC,WAAD;AACE,MAAA,GAAG,EAAED,KAAK,CAACF,GADb;AAEE,MAAA,OAAO,EAAEO,aAFX;AAGE,MAAA,YAAY,EAAEO,OAAO,CAACH,cAAD;AAHvB,MADF,EAMGA,cAAc,IACbA,cAAc,CAAC;AACbX,MAAAA,GAAG,EAAEE,KAAK,CAACF,GADE;AAEbK,MAAAA,iBAAiB,EAAjBA,iBAFa;AAGbE,MAAAA,aAAa,EAAbA,aAHa;AAIbC,MAAAA,cAAc,EAAdA;AAJa,KAAD,CAPlB,CADF;AAgBD;;AACD,sBACE,gCAAC,gBAAD;AACE,IAAA,IAAI,EAAEO,iBAAMC,aADd;AAEE,IAAA,IAAI,EAAEnB,SAAS,CAACK,KAAD;AAFjB,KAGMA,KAHN;AAIE,IAAA,IAAI,EAAEe,YAAMC;AAJd,MAMGf,OANH,CADF;AAUD,CAxCM;;;AA0CPF,KAAK,CAACJ,SAAN,GAAkBA,SAAlB","sourcesContent":["import { INPUT, isBrowser } from '@botonic/core'\nimport React, { useContext, useState } from 'react'\nimport styled from 'styled-components'\n\nimport { ROLES, WEBCHAT } from '../constants'\nimport { WebchatContext } from '../contexts'\nimport { Message } from './message'\n\nconst StyledImage = styled.img`\n border-radius: 8px;\n max-width: 150px;\n max-height: 150px;\n margin: -3px -6px;\n cursor: ${({ hasPreviewer }) => (hasPreviewer ? 'pointer' : 'auto')};\n`\n\nconst serialize = imageProps => {\n return { image: imageProps.src }\n}\n\nexport const Image = props => {\n let content = props.children\n\n const [isPreviewerOpened, setIsPreviewerOpened] = useState(false)\n const openPreviewer = () => setIsPreviewerOpened(true)\n const closePreviewer = () => setIsPreviewerOpened(false)\n\n const { getThemeProperty } = useContext(WebchatContext)\n const imagePreviewer = getThemeProperty(\n WEBCHAT.CUSTOM_PROPERTIES.imagePreviewer,\n null\n )\n if (isBrowser()) {\n content = (\n <>\n <StyledImage\n src={props.src}\n onClick={openPreviewer}\n hasPreviewer={Boolean(imagePreviewer)}\n />\n {imagePreviewer &&\n imagePreviewer({\n src: props.src,\n isPreviewerOpened,\n openPreviewer,\n closePreviewer,\n })}\n </>\n )\n }\n return (\n <Message\n role={ROLES.IMAGE_MESSAGE}\n json={serialize(props)}\n {...props}\n type={INPUT.IMAGE}\n >\n {content}\n </Message>\n )\n}\n\nImage.serialize = serialize\n"],"file":"image.js"}
@@ -56,9 +56,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
56
56
 
57
57
  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; }
58
58
 
59
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
59
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
60
60
 
61
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
61
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
62
62
 
63
63
  var MessageContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: ", ";\n position: relative;\n padding: 0px 6px;\n"])), function (props) {
64
64
  return props.isfromuser ? 'flex-end' : 'flex-start';
@@ -13,9 +13,9 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
13
13
 
14
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
15
 
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
17
 
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
19
 
20
20
  var MAX_CHARACTERS_FACEBOOK = 640;
21
21
  exports.MAX_CHARACTERS_FACEBOOK = MAX_CHARACTERS_FACEBOOK;
@@ -29,9 +29,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
29
29
 
30
30
  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; }
31
31
 
32
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
32
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
33
33
 
34
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
34
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35
35
 
36
36
  var StyledButton = _styledComponents["default"].button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n padding: 4px 8px;\n font-family: inherit;\n border-radius: 8px;\n cursor: pointer;\n outline: 0;\n"])));
37
37
 
@@ -21,9 +21,9 @@ var _react2 = require("../util/react");
21
21
 
22
22
  var _templateObject;
23
23
 
24
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
24
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
25
 
26
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
26
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
27
27
 
28
28
  var SubtitleContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n font-size: 12px;\n padding: 0px 15px 10px 15px;\n color: ", ";\n"])), _constants.COLORS.MID_GRAY);
29
29
 
@@ -27,9 +27,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
27
27
 
28
28
  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; }
29
29
 
30
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
30
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
31
31
 
32
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
32
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
33
33
 
34
34
  var serializeText = function serializeText(children) {
35
35
  children = Array.isArray(children) ? children : [children];
@@ -19,9 +19,9 @@ var _constants = require("../constants");
19
19
 
20
20
  var _templateObject, _templateObject2;
21
21
 
22
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
23
 
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
25
 
26
26
  var resolveMessageTimestamps = function resolveMessageTimestamps(getThemeFn, messageTimestampEnabled) {
27
27
  var timestampsFormat = getThemeFn('message.timestamps.format');
@@ -19,9 +19,9 @@ var _react2 = require("../util/react");
19
19
 
20
20
  var _templateObject;
21
21
 
22
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
23
 
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
25
 
26
26
  var TitleContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n font-size: 14px;\n padding: 10px 15px;\n"])));
27
27