@botonic/react 0.20.1 → 0.20.4

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 (52) hide show
  1. package/lib/app.js +4 -3
  2. package/lib/app.js.map +1 -1
  3. package/lib/components/button.js +30 -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 +47 -5
  10. package/lib/components/image.js.map +1 -1
  11. package/lib/components/index.d.ts +7 -3
  12. package/lib/components/message.js +2 -2
  13. package/lib/components/multichannel/facebook/facebook.js +2 -2
  14. package/lib/components/reply.js +2 -2
  15. package/lib/components/subtitle.js +2 -2
  16. package/lib/components/text.js +2 -2
  17. package/lib/components/timestamps.js +2 -2
  18. package/lib/components/title.js +2 -2
  19. package/lib/constants.js +1 -0
  20. package/lib/constants.js.map +1 -1
  21. package/lib/dev-app.js +2 -2
  22. package/lib/index.d.ts +9 -10
  23. package/lib/node-app.js +2 -2
  24. package/lib/react-bot.js +2 -2
  25. package/lib/util/error-boundary.js +2 -2
  26. package/lib/webchat/actions.js +3 -1
  27. package/lib/webchat/actions.js.map +1 -1
  28. package/lib/webchat/header.js +2 -2
  29. package/lib/webchat/hooks.js +11 -2
  30. package/lib/webchat/hooks.js.map +1 -1
  31. package/lib/webchat/message-list.js +2 -2
  32. package/lib/webchat/messages-reducer.js +2 -2
  33. package/lib/webchat/replies.js +2 -2
  34. package/lib/webchat/session-view.js +2 -2
  35. package/lib/webchat/webchat-reducer.js +8 -2
  36. package/lib/webchat/webchat-reducer.js.map +1 -1
  37. package/lib/webchat/webchat.js +25 -6
  38. package/lib/webchat/webchat.js.map +1 -1
  39. package/lib/webchat/webview.js +2 -2
  40. package/lib/webchat-app.js +21 -4
  41. package/lib/webchat-app.js.map +1 -1
  42. package/package.json +2 -2
  43. package/src/components/button.jsx +21 -1
  44. package/src/components/image.jsx +33 -4
  45. package/src/components/index.d.ts +7 -3
  46. package/src/constants.js +1 -0
  47. package/src/index.d.ts +9 -10
  48. package/src/webchat/actions.jsx +1 -0
  49. package/src/webchat/hooks.js +8 -0
  50. package/src/webchat/webchat-reducer.js +4 -0
  51. package/src/webchat/webchat.jsx +24 -6
  52. package/src/webchat-app.jsx +19 -5
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,39 @@ var Button = function Button(props) {
108
108
  }
109
109
  };
110
110
 
111
+ var getClassName = function getClassName() {
112
+ var isCustom = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
113
+
114
+ if (isCustom) {
115
+ return 'button-custom';
116
+ }
117
+
118
+ if (props.payload) {
119
+ return 'button-payload';
120
+ }
121
+
122
+ if (props.url) {
123
+ return 'button-url';
124
+ }
125
+
126
+ if (props.webview) {
127
+ return 'button-webview';
128
+ }
129
+
130
+ if (props.path) {
131
+ return 'button-path';
132
+ }
133
+
134
+ return '';
135
+ };
136
+
111
137
  var renderBrowser = function renderBrowser() {
112
138
  var buttonStyle = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonStyle);
113
139
  var CustomButton = getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.customButton);
114
140
 
115
141
  if (CustomButton) {
116
142
  return /*#__PURE__*/_react["default"].createElement("div", {
143
+ className: getClassName(true),
117
144
  onClick: function onClick(e) {
118
145
  return handleClick(e);
119
146
  }
@@ -123,6 +150,7 @@ var Button = function Button(props) {
123
150
  var buttonBgColor = hover ? getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonHoverBackground, _constants.COLORS.CONCRETE_WHITE) : getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonStyleBackground, _constants.COLORS.SOLID_WHITE);
124
151
  var buttonTextColor = hover ? getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonHoverTextColor, _constants.COLORS.SOLID_BLACK) : getThemeProperty(_constants.WEBCHAT.CUSTOM_PROPERTIES.buttonStyleColor, _constants.COLORS.SOLID_BLACK);
125
152
  return /*#__PURE__*/_react["default"].createElement(StyledButton, {
153
+ className: getClassName(),
126
154
  theme: theme,
127
155
  onMouseEnter: function onMouseEnter() {
128
156
  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","isCustom","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":";;;;;;;;;;;;;;;;;;;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,GAAsB;AAAA,QAArBC,QAAqB,uEAAV,KAAU;;AACzC,QAAIA,QAAJ,EAAc;AACZ,aAAO,eAAP;AACD;;AACD,QAAInD,KAAK,CAACmC,OAAV,EAAmB;AACjB,aAAO,gBAAP;AACD;;AACD,QAAInC,KAAK,CAACoC,GAAV,EAAe;AACb,aAAO,YAAP;AACD;;AACD,QAAIpC,KAAK,CAAC2B,OAAV,EAAmB;AACjB,aAAO,gBAAP;AACD;;AACD,QAAI3B,KAAK,CAAC6B,IAAV,EAAgB;AACd,aAAO,aAAP;AACD;;AACD,WAAO,EAAP;AACD,GAjBD;;AAmBA,MAAMuB,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1B,QAAMC,WAAW,GAAG5C,gBAAgB,CAACa,mBAAQC,iBAAR,CAA0B8B,WAA3B,CAApC;AACA,QAAMC,YAAY,GAAG7C,gBAAgB,CACnCa,mBAAQC,iBAAR,CAA0BgC,YADS,CAArC;;AAGA,QAAID,YAAJ,EAAkB;AAChB,0BACE;AAAK,QAAA,SAAS,EAAEJ,YAAY,CAAC,IAAD,CAA5B;AAAoC,QAAA,OAAO,EAAE,iBAAAM,CAAC;AAAA,iBAAItC,WAAW,CAACsC,CAAD,CAAf;AAAA;AAA9C,sBACE,gCAAC,YAAD,QAAexD,KAAK,CAACiC,QAArB,CADF,CADF;AAKD;;AAED,QAAMwB,aAAa,GAAG9C,KAAK,GACvBF,gBAAgB,CACda,mBAAQC,iBAAR,CAA0BmC,qBADZ,EAEd5D,kBAAO6D,cAFO,CADO,GAKvBlD,gBAAgB,CACda,mBAAQC,iBAAR,CAA0BqC,qBADZ,EAEd9D,kBAAO+D,WAFO,CALpB;AASA,QAAMC,eAAe,GAAGnD,KAAK,GACzBF,gBAAgB,CACda,mBAAQC,iBAAR,CAA0BwC,oBADZ,EAEdjE,kBAAOkE,WAFO,CADS,GAKzBvD,gBAAgB,CACda,mBAAQC,iBAAR,CAA0B0C,gBADZ,EAEdnE,kBAAOkE,WAFO,CALpB;AAUA,wBACE,gCAAC,YAAD;AACE,MAAA,SAAS,EAAEd,YAAY,EADzB;AAEE,MAAA,KAAK,EAAErC,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,iBAAA4C,CAAC;AAAA,eAAItC,WAAW,CAACsC,CAAD,CAAf;AAAA,OALZ;AAME,MAAA,KAAK,kCACAH,WADA;AAEHa,QAAAA,KAAK,EAAEJ,eAFJ;AAGHK,QAAAA,eAAe,EAAEV;AAHd,SAICzD,KAAK,CAACoE,QAAN,IAAkBpD,WAAlB,IAAiCC,aAJlC,CANP;AAYE,MAAA,MAAM,EAAEjB,KAAK,CAACqE;AAZhB,OAcGrE,KAAK,CAACiC,QAdT,CADF;AAkBD,GAlDD;;AAoDA,MAAMqC,UAAU,GAAG,SAAbA,UAAa,GAAM;AACvB,QAAMC,aAAa,GAAGzD,iCAAgB0D,kBAAhB,CAAmCxE,KAAnC,CAAtB;;AACA,QAAIA,KAAK,CAAC2B,OAAV,EAAmB;AACjB,UAAM8C,OAAO,GAAGzE,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,sBAAe6C,OAAO,CAACC,IAAvB,cAA+B9C,MAA/B;AAAX,SAAwD2C,aAAxD,GACGvE,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,SAA8BoC,aAA9B,GACGvE,KAAK,CAACiC,QADT,CADF;AAKD,KAPM,MAOA,IAAIjC,KAAK,CAACmC,OAAV,EAAmB;AACxB,0BACE;AAAQ,QAAA,OAAO,EAAEnC,KAAK,CAACmC;AAAvB,SAAoCoC,aAApC,GACGvE,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,SAAkDgC,aAAlD,GACGvE,KAAK,CAACiC,QADT,CADF;AAKD,KANM,MAMA,IAAIjC,KAAK,CAACwC,OAAV,EAAmB;AACxB,aAAO,IAAP;AACD;;AACD,UAAM,IAAImC,KAAJ,CAAU,wDAAV,CAAN;AACD,GAlCD;;AAoCA,SAAO,6BAAgB;AAAEvB,IAAAA,aAAa,EAAbA,aAAF;AAAiBkB,IAAAA,UAAU,EAAVA;AAAjB,GAAhB,CAAP;AACD,CArKM;;;;AAuKPnE,MAAM,CAACyE,SAAP,GAAmB,UAAAC,WAAW,EAAI;AAChC,MAAI1C,OAAO,GAAG0C,WAAW,CAAC1C,OAA1B;AACA,MAAI0C,WAAW,CAAChD,IAAhB,EAAsBM,OAAO,6BAAsB0C,WAAW,CAAChD,IAAlC,CAAP;AACtB,SAAO;AACLhC,IAAAA,MAAM;AACJsC,MAAAA,OAAO,EAAPA,OADI;AAEJC,MAAAA,GAAG,EAAEyC,WAAW,CAACzC,GAFb;AAGJG,MAAAA,MAAM,EAAEsC,WAAW,CAACtC,MAHhB;AAIJZ,MAAAA,OAAO,EAAEkD,WAAW,CAAClD,OAAZ,IAAuBK,MAAM,CAAC6C,WAAW,CAAClD,OAAb,CAJlC;AAKJmD,MAAAA,KAAK,EAAED,WAAW,CAAC5C,QAAZ,IAAwBD,MAAM,CAAC6C,WAAW,CAAC5C,QAAb;AALjC,OAMDnB,iCAAgBiE,iBAAhB,CAAkCF,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 = (isCustom = false) => {\n if (isCustom) {\n return 'button-custom'\n }\n if (props.payload) {\n return 'button-payload'\n }\n if (props.url) {\n return 'button-url'\n }\n if (props.webview) {\n return 'button-webview'\n }\n if (props.path) {\n return 'button-path'\n }\n return ''\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={getClassName(true)} 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()}\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
 
@@ -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
  });
@@ -9,21 +11,32 @@ exports.Image = void 0;
9
11
 
10
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
13
 
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
12
16
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
17
 
14
18
  var _core = require("@botonic/core");
15
19
 
16
- var _react = _interopRequireDefault(require("react"));
20
+ var _react = _interopRequireWildcard(require("react"));
17
21
 
18
22
  var _styledComponents = _interopRequireDefault(require("styled-components"));
19
23
 
20
24
  var _constants = require("../constants");
21
25
 
26
+ var _contexts = require("../contexts");
27
+
22
28
  var _message = require("./message");
23
29
 
24
30
  var _templateObject;
25
31
 
26
- var StyledImage = _styledComponents["default"].img(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: 8px;\n max-width: 150px;\n max-height: 150px;\n margin: 10px;\n"])));
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
+
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
+
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';
39
+ });
27
40
 
28
41
  var serialize = function serialize(imageProps) {
29
42
  return {
@@ -33,9 +46,38 @@ var serialize = function serialize(imageProps) {
33
46
 
34
47
  var Image = function Image(props) {
35
48
  var content = props.children;
36
- if ((0, _core.isBrowser)()) content = /*#__PURE__*/_react["default"].createElement(StyledImage, {
37
- src: props.src
38
- });
49
+
50
+ var _useState = (0, _react.useState)(false),
51
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
52
+ isPreviewerOpened = _useState2[0],
53
+ setIsPreviewerOpened = _useState2[1];
54
+
55
+ var openPreviewer = function openPreviewer() {
56
+ return setIsPreviewerOpened(true);
57
+ };
58
+
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);
67
+
68
+ if ((0, _core.isBrowser)()) {
69
+ content = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(StyledImage, {
70
+ src: props.src,
71
+ onClick: openPreviewer,
72
+ hasPreviewer: Boolean(imagePreviewer)
73
+ }), imagePreviewer && imagePreviewer({
74
+ src: props.src,
75
+ isPreviewerOpened: isPreviewerOpened,
76
+ openPreviewer: openPreviewer,
77
+ closePreviewer: closePreviewer
78
+ }));
79
+ }
80
+
39
81
  return /*#__PURE__*/_react["default"].createElement(_message.Message, (0, _extends2["default"])({
40
82
  role: _constants.ROLES.IMAGE_MESSAGE,
41
83
  json: serialize(props)
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/image.jsx"],"names":["StyledImage","styled","img","serialize","imageProps","image","src","Image","props","content","children","ROLES","IMAGE_MESSAGE","INPUT","IMAGE"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;;;AAEA,IAAMA,WAAW,GAAGC,6BAAOC,GAAV,2KAAjB;;AAOA,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;AACA,MAAI,sBAAJ,EAAiBD,OAAO,gBAAG,gCAAC,WAAD;AAAa,IAAA,GAAG,EAAED,KAAK,CAACF;AAAxB,IAAV;AACjB,sBACE,gCAAC,gBAAD;AACE,IAAA,IAAI,EAAEK,iBAAMC,aADd;AAEE,IAAA,IAAI,EAAET,SAAS,CAACK,KAAD;AAFjB,KAGMA,KAHN;AAIE,IAAA,IAAI,EAAEK,YAAMC;AAJd,MAMGL,OANH,CADF;AAUD,CAbM;;;AAePF,KAAK,CAACJ,SAAN,GAAkBA,SAAlB","sourcesContent":["import { INPUT, isBrowser } from '@botonic/core'\nimport React from 'react'\nimport styled from 'styled-components'\n\nimport { ROLES } from '../constants'\nimport { Message } from './message'\n\nconst StyledImage = styled.img`\n border-radius: 8px;\n max-width: 150px;\n max-height: 150px;\n margin: 10px;\n`\n\nconst serialize = imageProps => {\n return { image: imageProps.src }\n}\n\nexport const Image = props => {\n let content = props.children\n if (isBrowser()) content = <StyledImage src={props.src} />\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"}
@@ -102,13 +102,17 @@ export interface PersistentMenuProps {
102
102
  options: any
103
103
  }
104
104
 
105
- export type BlockInputOption = { match: RegExp[]; message: string }
105
+ export type BlockInputOption = {
106
+ preprocess?: (message: string) => string
107
+ match: RegExp[]
108
+ message: string
109
+ }
106
110
 
107
111
  export interface BlobProps {
108
112
  blobTick?: boolean
109
113
  blobTickStyle?: any
110
114
  blobWidth?: string
111
- imagestyle?: any
115
+ imageStyle?: any
112
116
  }
113
117
 
114
118
  export interface ScrollbarProps {
@@ -185,7 +189,7 @@ export interface ThemeProps extends StyleProp {
185
189
  }
186
190
 
187
191
  export interface CoverComponentOptions {
188
- component: React.Component<CoverComponentProps>
192
+ component: React.ComponentType<CoverComponentProps>
189
193
  props?: any
190
194
  }
191
195
 
@@ -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
 
package/lib/constants.js CHANGED
@@ -74,6 +74,7 @@ var WEBCHAT = {
74
74
  enableAnimations: 'animations.enable',
75
75
  markdownStyle: 'markdownStyle',
76
76
  scrollbar: 'scrollbar',
77
+ imagePreviewer: 'imagePreviewer',
77
78
  // Mobile
78
79
  mobileBreakpoint: 'mobileBreakpoint',
79
80
  mobileStyle: 'mobileStyle',
@@ -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","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 // 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","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"}
package/lib/dev-app.js CHANGED
@@ -46,9 +46,9 @@ var _webchatApp = require("./webchat-app");
46
46
  var _excluded = ["theme", "persistentMenu", "coverComponent", "blockInputs", "enableEmojiPicker", "enableAttachments", "enableUserInput", "enableAnimations", "shadowDOM", "hostId", "storage", "storageKey", "onInit", "onOpen", "onClose", "onMessage"],
47
47
  _excluded2 = ["theme", "persistentMenu", "coverComponent", "blockInputs", "enableEmojiPicker", "enableAttachments", "enableUserInput", "enableAnimations", "storage", "storageKey", "onInit", "onOpen", "onClose", "onMessage", "hostId"];
48
48
 
49
- 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; }
49
+ 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; }
50
50
 
51
- 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; }
51
+ 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; }
52
52
 
53
53
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
54
54