@xapp/chat-widget 1.50.2 → 1.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1997,9 +1997,11 @@ function execute(url, behavior) {
1997
1997
  }
1998
1998
  function useOpenUrlCallback() {
1999
1999
  var env = useWidgetEnv();
2000
- return React$1.useCallback(function (url) {
2001
- var policy = (env === null || env === void 0 ? void 0 : env.urls) ? resolveUrlPolicy(url, env.urls) : defaultBehavior;
2002
- execute(url, policy);
2000
+ return React$1.useCallback(function (url, behavior) {
2001
+ if (!behavior) {
2002
+ behavior = (env === null || env === void 0 ? void 0 : env.urls) ? resolveUrlPolicy(url, env.urls) : defaultBehavior;
2003
+ }
2004
+ execute(url, behavior);
2003
2005
  }, [env]);
2004
2006
  }
2005
2007
 
@@ -7155,7 +7157,7 @@ Object.defineProperty(WidgetTheme, "__esModule", { value: true });
7155
7157
  var guards = {};
7156
7158
 
7157
7159
  Object.defineProperty(guards, "__esModule", { value: true });
7158
- guards.isStandardMenuItem = guards.isStaticTextMenuItem = guards.isStaticImageMenuItem = void 0;
7160
+ guards.isOpenURLMenuItem = guards.isStandardMenuItem = guards.isStaticTextMenuItem = guards.isStaticImageMenuItem = void 0;
7159
7161
  function isStaticImageMenuItem(item) {
7160
7162
  return !!item && !!item.imageUrl;
7161
7163
  }
@@ -7168,6 +7170,10 @@ function isStandardMenuItem(item) {
7168
7170
  return !!item && !!item.label;
7169
7171
  }
7170
7172
  guards.isStandardMenuItem = isStandardMenuItem;
7173
+ function isOpenURLMenuItem(item) {
7174
+ return !!item && !!item.url;
7175
+ }
7176
+ guards.isOpenURLMenuItem = isOpenURLMenuItem;
7171
7177
 
7172
7178
  (function (exports) {
7173
7179
  var __createBinding = (commonjsGlobal && commonjsGlobal.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -7208,9 +7214,11 @@ var ChatMenuItem = function (props) {
7208
7214
  return (React__default$1["default"].createElement("button", { type: "button", className: "chat-menu-item", tabIndex: props.tabIndex ? Number(props.tabIndex) : 0, onClick: handleClick }, content));
7209
7215
  };
7210
7216
 
7217
+ var _this = undefined;
7211
7218
  var ChatMenu = function (props) {
7212
7219
  var items = props.items, opened = props.opened;
7213
7220
  var openFrom = props.openFrom || "bottom";
7221
+ var handleOpenUrl = useOpenUrlCallback();
7214
7222
  return (React__default$1["default"].createElement("div", { className: "chat-menu-".concat(openFrom, " ").concat(opened ? "chat-menu-".concat(openFrom, "--opened") : "chat-menu-".concat(openFrom, "--closed")) }, items.map(function (item, i) {
7215
7223
  if (lib.isStandardMenuItem(item)) {
7216
7224
  return React__default$1["default"].createElement(ChatMenuItem, { key: i, onClick: props.onItemClick, label: item.label, subtitle: item.subtitle });
@@ -7228,6 +7236,9 @@ var ChatMenu = function (props) {
7228
7236
  React__default$1["default"].createElement("div", null, item.title),
7229
7237
  React__default$1["default"].createElement("div", { className: "chat-menu-item-static-text--body" }, item.body))));
7230
7238
  }
7239
+ else if (lib.isOpenURLMenuItem(item)) {
7240
+ return React__default$1["default"].createElement("button", { key: i, className: "chat-menu-item", onClick: handleOpenUrl.bind(_this, item.url, item.behavior) }, item.text);
7241
+ }
7231
7242
  return React__default$1["default"].createElement("p", null, "Unknown");
7232
7243
  })));
7233
7244
  };