react-native-kore-botsdk-test
Version:
Description of your library
1,285 lines (1,260 loc) • 1.08 MB
JavaScript
"use strict";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// bot-sdk/assets/placehoder/image.png
var require_image = __commonJS({
"bot-sdk/assets/placehoder/image.png"(exports2, module2) {
module2.exports = "./image-QUOI4NB3.png";
}
});
// bot-sdk/assets/images/blur.png
var require_blur = __commonJS({
"bot-sdk/assets/images/blur.png"(exports2, module2) {
module2.exports = "./blur-5PTOMZMQ.png";
}
});
// src/index.tsx
var src_exports = {};
__export(src_exports, {
BOT_ICON_URL: () => BOT_ICON_URL,
BRANDING_RESPONSE_FILE: () => BRANDING_RESPONSE_FILE,
BotTemplate: () => BotTemplate,
ChatHeaderType: () => ChatHeaderType,
CustomTemplate: () => CustomTemplate_default,
DATE_FORMAT: () => DATE_FORMAT,
DEFAULT_PLACEHOLDER: () => DEFAULT_PLACEHOLDER,
FILE_CONTEXT: () => FILE_CONTEXT,
HeaderIconsId: () => HeaderIconsId,
KORA_ITEM_CLICK: () => KORA_ITEM_CLICK,
LIMIT_MESSAGE: () => LIMIT_MESSAGE,
MAX_COMPOSER_HEIGHT: () => MAX_COMPOSER_HEIGHT,
MAX_FILE_NAME_LENGTH: () => MAX_FILE_NAME_LENGTH,
MAX_INPUT_TEXT_LENGTH: () => MAX_INPUT_TEXT_LENGTH,
MAX_SOURCE_LIMIT: () => MAX_SOURCE_LIMIT,
MAX_TOOL_BAR_HEIGHT: () => MAX_TOOL_BAR_HEIGHT,
MIN_COMPOSER_HEIGHT: () => MIN_COMPOSER_HEIGHT,
MIN_HEADER_HEIGHT: () => MIN_HEADER_HEIGHT,
MIN_TOOL_BAR_HEIGHT: () => MIN_TOOL_BAR_HEIGHT,
QuickReplies: () => QuickReplies,
RENDER_KORA_BUBBLE: () => RENDER_KORA_BUBBLE,
SHOW_BUTTONS_LIMIT: () => SHOW_BUTTONS_LIMIT,
TEMPLATE_TYPES: () => TEMPLATE_TYPES,
TIME_FORMAT: () => TIME_FORMAT,
URL_VERSION: () => URL_VERSION,
WelcomeHeaderConstants: () => WelcomeHeaderConstants,
attach_menu_buttons: () => attach_menu_buttons,
default: () => src_default
});
module.exports = __toCommonJS(src_exports);
var import_react_native_svg9 = require("react-native-svg");
// bot-sdk/constants/Constant.tsx
var import_react_native = require("react-native");
var MAX_SOURCE_LIMIT = 1;
var LIMIT_MESSAGE = "Only " + MAX_SOURCE_LIMIT + " sources are allowed";
var MAX_FILE_NAME_LENGTH = 24;
var FILE_CONTEXT = "workflows";
var attach_menu_buttons = [
{
id: 1,
title: "Take Photo"
},
{
id: 2,
title: "Upload Photo"
},
{
id: 3,
title: "Upload File"
},
{
id: 4,
title: "Upload Video"
}
];
var HeaderIconsId = {
BACK: "BACK",
HELP: "HELP",
LIVE_AGENT: "live_agent",
MINIMISE: "Minimise",
CLOSE: "CLOSE",
THREE_DOTS: "THREE_DOTS",
RECONNECT: "Reconnect",
EXPAND: "Expand"
};
var ChatHeaderType = {
COMPACT: "compact",
LARGE: "large",
MEDIUM: "medium",
REGULAR: "regular"
};
var SHOW_BUTTONS_LIMIT = 4;
var MAX_INPUT_TEXT_LENGTH = 256;
var MIN_COMPOSER_HEIGHT = import_react_native.Platform.select({
ios: 30,
android: 30
});
var MIN_TOOL_BAR_HEIGHT = import_react_native.Platform.select({
ios: 76,
android: 72
});
var MAX_TOOL_BAR_HEIGHT = import_react_native.Platform.select({
ios: 180,
android: 180
});
var MIN_HEADER_HEIGHT = import_react_native.Platform.select({
ios: 55,
android: 55,
web: 34
});
var BRANDING_RESPONSE_FILE = "branding";
var MAX_COMPOSER_HEIGHT = 200;
var DEFAULT_PLACEHOLDER = "Type a message";
var DATE_FORMAT = "ll";
var TIME_FORMAT = "LT, ddd";
var BOT_ICON_URL = "BOT_ICON_URL";
var URL_VERSION = "/1.1";
var TEMPLATE_TYPES = {
TEXT: "text",
BUTTON: "button",
CUSTOM: "custom",
OTHER: "other",
AUDIO_MESSAGE: "message",
VIDEO_MESSAGE: "video_message",
LINK_MESSAGE: "link",
IMAGE_MESSAGE: "image",
CARD_TEMPLATE: "cardTemplate",
LIST_TEMPLATE: "list",
IMAGE_TEMPLATE: "image",
TABLE_TEMPLATE: "table",
QUICK_REPLIES: "quick_replies",
HIDDEN_DIALOG: "hidden_dialog",
ERROR_TEMPLATE: "error",
CAROUSEL_TEMPLATE: "carousel",
LIVE_AGENT_TEMPLATE: "live_agent",
START_TIMER: "start_timer",
ADVANCED_LIST_TEMPLATE: "advancedListTemplate",
MINI_TABLE_TEMPLATE: "mini_table",
BAR_CHART_TEMPLATE: "barchart",
PIE_CHART_TEMPLATE: "piechart",
LINE_CHART_TEMPLATE: "linechart",
DATE_TEMPLATE: "dateTemplate",
DATE_RANGE_TEMPLATE: "daterange",
TABLE_LIST_TEMPLATE: "tableList",
ADVANCED_MULTI_SELECT_TEMPLATE: "advanced_multi_select",
MULTI_SELECT_TEMPLATE: "multi_select",
RADIO_OPTION_TEMPLATE: "radioOptionTemplate",
LIST_VIEW_TEMPLATE: "listView",
DROPDOWN_TEMPLATE: "dropdown_template",
FEEDBACK_TEMPLATE: "feedbackTemplate",
FORM_TEMPLATE: "form_template",
CLOCK_TEMPLATE: "clockTemplate",
LISTWIDGET_TEMPLATE: "listWidget",
USER_ATTACHEMENT_TEMPLATE: "user_attachement"
};
var RENDER_KORA_BUBBLE = "RENDER_KORA_BUBBLE";
var KORA_ITEM_CLICK = "KORA_ITEM_CLICK";
var WelcomeHeaderConstants = {
COMPACT: "compact",
LARGE: "large",
MEDIUM: "medium",
REGULAR: "regular"
};
// bot-sdk/templates/BotTemplate.tsx
var React54 = __toESM(require("react"));
var import_react_native47 = require("react-native");
// bot-sdk/templates/AdvancedListTemplate.tsx
var React15 = __toESM(require("react"));
// bot-sdk/templates/BaseView.tsx
var React2 = __toESM(require("react"));
// bot-sdk/theme/ThemeContext.tsx
var import_react = __toESM(require("react"));
var import_async_storage = __toESM(require("@react-native-async-storage/async-storage"));
// bot-sdk/theme/AppTheme.tsx
var defaultTheme = {
_id: "wsth-b578c51a-0518-57ad-bbb3-7f404a053528",
streamId: "st-b0439232-9345-508f-a1fb-cfcb5099c1fa",
__v: 0,
activeTheme: true,
createdBy: "u-e10dd737-167e-5e46-88d0-a2b55394f0f3",
createdOn: "2023-11-28T09:33:19.921Z",
defaultTheme: true,
lastModifiedBy: "u-e10dd737-167e-5e46-88d0-a2b55394f0f3",
lastModifiedOn: "2023-11-28T11:05:43.265Z",
refId: "06ad9db9-fb35-5632-b9b1-7dabacc323b1",
state: "published",
themeName: "Default dark theme 2",
v3: {
general: {
bot_icon: "url",
size: "small",
themeType: "light",
colors: {
primary: "#a37645",
secondary: "#101828",
primary_text: "#ffffff",
secondary_text: "#1d2939",
useColorPaletteOnly: false
}
},
chat_bubble: {
style: "rounded",
icon: {
icon_url: "icon-1.svg",
size: "medium",
type: "default"
},
minimise: {
icon: "m-icon-1.svg",
theme: "rounded",
type: "default"
},
sound: "themeOne",
alignment: "block",
animation: "slide",
expand_animation: "quick",
primary_color: "#a37645",
secondary_color: "#1d2939"
},
welcome_screen: {
show: true,
layout: "medium",
logo: {
logo_url: "/images/sc-small.svg"
},
title: {
name: "Hello"
},
sub_title: {
name: "Welcome to Kore.ai"
},
note: {
name: "Our Community is ready to help you to join our best platform"
},
background: {
type: "color",
color: "#a37645",
img: "https://picsum.photos/seed/picsum/200/300"
},
top_fonts: {
color: "#ffffff"
},
bottom_background: {
color: "#1d2939"
},
templates: [],
starter_box: {
show: true,
icon: {
show: true
},
title: "Start New Conversation",
sub_text: "I'm your personal assistant I'm here to help",
start_conv_button: {
color: "#a37645"
},
start_conv_text: {
color: "#ffffff"
},
quick_start_buttons: {
show: true,
style: "slack",
buttons: [
{
title: "Contact Sales",
action: {
type: "postback",
value: "Contact Sales"
}
},
{
title: "Free Trail",
action: {
type: "postback",
value: "Free Trail"
}
},
{
title: "Support",
action: {
type: "postback",
value: "Support"
}
},
{
title: "Hours of Operation",
action: {
type: "postback",
value: "Hours of Operation"
}
},
{
title: "Kore.ai",
action: {
type: "postback",
value: "https://kore.ai/"
}
}
],
input: "button",
action: {
type: "postback",
value: "Hello"
}
}
},
static_links: {
show: true,
layout: "carousel",
links: [
{
title: "Kore.ai",
description: "Kore.ai automates front-office and back-office interactions",
action: {
type: "url",
value: "https://kore.ai/"
}
},
{
title: "Kore",
description: "Kore.ai automates front-office and back-office interactions",
action: {
type: "url",
value: "https://kore.ai/"
}
}
]
},
promotional_content: {
show: true,
promotions: [
{
banner: "https://picsum.photos/seed/picsum/200/300",
action: {
type: "url",
value: "http://abc.com"
}
},
{
banner: "https://picsum.photos/seed/picsum/200/300",
action: {
type: "url",
value: "http://abc.com"
}
}
]
}
},
header: {
bg_color: "#EAECF0",
size: "compact",
icon: {
show: true,
icon_url: "/images/avatar-bot.svg",
//icon_url : "icon-1"
type: "default"
},
icons_color: "#000000",
title: {
name: "Support",
color: "#000000"
},
sub_title: {
name: "Your personal assistant",
color: "#000000"
},
buttons: {
close: {
show: true,
icon: "/images/close-large.svg"
},
minimise: {
show: true,
icon: "url|icomoon"
},
expand: {
show: false,
icon: "url|icomoon"
},
reconnect: {
show: false,
icon: "url|icomoon"
},
help: {
show: true,
action: {
type: "postback|url",
value: "https://kore.ai",
icon: "url|icomoon"
}
},
live_agent: {
show: true,
action: {
type: "postback|url",
value: "https://kore.ai",
icon: "url|icomoon"
}
}
}
},
footer: {
bg_color: "#EAECF0",
layout: "keypad",
compose_bar: {
bg_color: "#fffffe",
"outline-color": "#E5E5E5",
placeholder: "Type a message"
},
icons_color: "#000000",
buttons: {
menu: {
show: true,
icon_color: "#000000",
actions: [
{
title: "About",
type: "postback",
value: "About",
icon: "url|icomoon"
},
{
title: "Kore.ai",
type: "url",
value: "https://kore.ai/",
icon: "url|icomoon"
}
]
},
emoji: {
show: true,
icon: "url|icomoon"
},
microphone: {
show: true,
icon: "url|icomoon"
},
attachment: {
show: true,
icon: "url|icomoon"
}
}
},
body: {
background: {
type: "color",
color: "#FFFFFF",
img: "https://picsum.photos/id/237/200/300"
},
font: {
family: "Inter",
size: "medium",
style: "1|2|3"
},
user_message: {
bg_color: "#a37645",
color: "#FFFFFF"
},
bot_message: {
bg_color: "#4B4EDE",
color: "#ffffff"
},
agent_message: {
bg_color: "#4B4EDE",
color: "#0D6EFD",
separator: "2",
icon: {
show: "true|false",
icon_url: "icomoon|url"
},
title: {
name: "Agent Support",
color: "#1d2939"
},
sub_title: {
name: "Agent support",
color: "#0D6EFD"
}
},
time_stamp: {
show: true,
show_type: "always",
position: "bottom",
separator: "line",
color: "#1d2939"
},
icon: {
show: true,
user_icon: false,
bot_icon: true,
agent_icon: true
},
buttons: {
bg_color: "#a37645",
color: "white"
},
bubble_style: "balloon",
primaryColor: "#3f42d4",
primaryHoverColor: "#de4bbc",
secondaryColor: "#3639e6",
secondaryHoverColor: "#b1b2f9",
img: "6495705b0d5bbd027d2e39ad"
}
},
version: "3.0.0"
};
// bot-sdk/theme/ThemeContext.tsx
var ThemeContext = (0, import_react.createContext)(void 0);
var ThemeProvider = class extends import_react.Component {
state = {
theme: defaultTheme
};
componentDidMount() {
this.fetchThemeFromDB();
}
fetchThemeFromDB = async () => {
try {
import_async_storage.default.getItem(BRANDING_RESPONSE_FILE, (error, result) => {
if (result) {
const savedTheme = JSON.parse(result);
this.setState({ theme: savedTheme });
}
});
} catch (error) {
console.log("Error fetching theme from local storage:", error);
}
};
render() {
return /* @__PURE__ */ import_react.default.createElement(ThemeContext.Provider, { value: this.state.theme }, this.props.children);
}
};
// bot-sdk/templates/BaseView.tsx
var BaseView = class extends React2.Component {
static contextType = ThemeContext;
static propTypes;
constructor(props) {
super(props);
}
static defaultProps;
isViewDisable = () => {
return !this.props.payload?.isLastMessage || false;
};
// protected getTemplateWidth = () => {
// const value = this.props?.theme?.v3?.body?.icon?.show
// ? normalize(50)
// : normalize(30);
// return windowWidth - value;
// };
};
var BaseView_default = BaseView;
// bot-sdk/templates/AdvancedListTemplate.tsx
var import_react_native8 = require("react-native");
// bot-sdk/utils/helpers.tsx
var React4 = __toESM(require("react"));
var import_react_native3 = require("react-native");
var import_dayjs = __toESM(require("dayjs"));
// bot-sdk/theme/Color.tsx
var Color_default = {
defaultColor: "#b2b2b2",
backgroundTransparent: "transparent",
transparent: "transparent",
defaultBlue: "#0084ff",
leftBubbleBackground: "#f0f0f0",
carrot: "#e67e22",
emerald: "#2ecc71",
peterRiver: "#3498db",
wisteria: "#8e44ad",
alizarin: "#e74c3c",
midnightBlue: "#2c3e50",
optionTintColor: "#007AFF",
timeTextColor: "#aaa",
bot_blue: "#4B4EDE",
red: "#FF0000",
green: "#009933",
//'#00FF00',
blue: "#0000FF",
cyan: "#00FFFF",
magenta: "#FF00FF",
yellow: "#FFFF00",
black: "#000000",
white: "#FFFFFF",
gray: "#808080",
silver: "#C0C0C0",
maroon: "#800000",
olive: "#808000",
navy: "#000080",
purple: "#800080",
teal: "#008080",
indigo: "#4B0082",
orange: "#FFA500",
pink: "#FFC0CB",
violet: "#EE82EE",
peach: "#FFDAB9",
lavender: "#E6E6FA",
coral: "#FF7F50",
turquoise: "#40E0D0",
chocolate: "#D2691E",
lime: "#00FF00",
gold: "#FFD700",
crimson: "#DC143C",
plum: "#DDA0DD",
slate: "#708090",
khaki: "#F0E68C",
aquamarine: "#7FFFD4",
bisque: "#FFE4C4",
cornsilk: "#FFF8DC",
firebrick: "#B22222",
midnightblue: "#191970",
text_color: "#444444",
sub_text_color: "#A4A4A4",
button_blue: "#303f9f",
header_blue: "#2D5BCC"
};
// bot-sdk/utils/colorMappings.tsx
var ColorMappings = {
...Color_default
};
var colorMappings_default = ColorMappings;
// bot-sdk/utils/RenderImage.tsx
var import_react2 = __toESM(require("react"));
var import_react_native2 = require("react-native");
var import_react_native_svg = require("react-native-svg");
var import_react_native_fast_image = __toESM(require("react-native-fast-image"));
var RenderImage = class extends import_react2.Component {
constructor(props) {
super(props);
this.state = {
error: false
};
}
handleSvgError = () => {
this.setState({ error: true });
};
render() {
let {
image = "",
iconShape = void 0,
iconSize = "",
width: width3 = 10,
height = 10
} = this.props;
const { error } = this.state;
if (!image || image.length === 0) {
return null;
}
let fileExtension = image?.split?.(".")?.pop()?.toLowerCase();
if (iconSize && iconSize.trim() !== "") {
switch (iconSize) {
case "small":
width3 = 16;
height = 16;
break;
case "medium":
width3 = 22;
height = 22;
break;
case "large":
width3 = 35;
height = 35;
break;
default:
width3 = 16;
height = 16;
}
}
return /* @__PURE__ */ import_react2.default.createElement(
import_react_native2.View,
{
style: {
...styles.image_container,
height: normalize(height),
width: normalize(width3)
}
},
fileExtension === "svg" ? /* @__PURE__ */ import_react2.default.createElement(
import_react_native_svg.SvgCssUri,
{
uri: error ? require_image() : image,
height: normalize(height),
width: normalize(width3),
style: {
overflow: "hidden",
borderWidth: iconShape !== ICON_SHAPE.CIRCLE_IMG ? 1 : 0,
borderRadius: iconShape !== ICON_SHAPE.CIRCLE_IMG ? 5 : 0
},
onError: this.handleSvgError
}
) : this.state.error ? /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null) : /* @__PURE__ */ import_react2.default.createElement(
import_react_native_fast_image.default,
{
source: { uri: image },
style: {
...styles.unfurlUrl4,
borderRadius: iconShape === ICON_SHAPE.CIRCLE_IMG ? 150 / 2 : 5,
overflow: "hidden",
height: normalize(height),
width: normalize(width3)
},
onError: () => {
this.setState({ error: true });
console.log("Image loading error:");
}
}
)
);
}
};
var ICON_SHAPE = {
CIRCLE_IMG: "circle-img"
};
var styles = {
image_container: {},
// Define your image container styles
unfurlUrl4: {
borderColor: "gray",
resizeMode: "cover",
//alignSelf: 'center',
// borderRadius: 6,
//alignContent: 'center',
overflow: "hidden"
}
};
var RenderImage_default = RenderImage;
// bot-sdk/utils/helpers.tsx
var { width: SCREEN_WIDTH, height: SCREEN_HEIGHT } = import_react_native3.Dimensions.get("window");
var NEW_SCREEN_WIDTH = SCREEN_WIDTH > SCREEN_HEIGHT ? SCREEN_HEIGHT : SCREEN_WIDTH;
var scale = NEW_SCREEN_WIDTH / 375;
var imageTypes = [
"bmp",
"dds",
"gif",
"heic",
"jpg",
"png",
"psd",
"pspimage",
"tga",
"thm",
"tif",
"tiff",
"yuv",
"jpeg"
];
var videoTypes = [
"3g2",
"3gp",
"asf",
"avi",
"flv",
"m4v",
"mov",
"mp4",
"mpg",
"rm",
"srt",
"swf",
"vob",
"wmv"
];
var renderImage = ({
image,
iconShape = void 0,
iconSize = "",
width: width3 = 10,
height = 10
}) => {
return /* @__PURE__ */ React4.createElement(
RenderImage_default,
{
image,
iconShape,
iconSize,
width: width3,
height
}
);
};
function createDateRange(start, end) {
const startDate = (0, import_dayjs.default)(start);
const endDate = (0, import_dayjs.default)(end);
let currentDate = startDate;
const dateArray = [];
while (currentDate.isBefore(endDate) || currentDate.isSame(endDate)) {
dateArray.push(currentDate.toDate());
currentDate = currentDate.add(1, "day");
}
return dateArray;
}
function padZero(str, len) {
len = len || 2;
var zeros = new Array(len).join("0");
return (zeros + str).slice(-len);
}
function invertColor(hex, bw) {
if (hex.indexOf("#") === 0) {
hex = hex.slice(1);
}
if (hex.length !== 6) {
const hexValue = colorMappings_default[hex?.toLowerCase()];
if (!hexValue) {
return Color_default.black;
}
hex = hexValue;
}
if (!hex) {
return void 0;
}
if (hex.length === 3) {
hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
}
var r = parseInt(hex.slice(0, 2), 16), g = parseInt(hex.slice(2, 4), 16), b = parseInt(hex.slice(4, 6), 16);
if (hex?.toLowerCase() === "#000000") {
return "#FFFFFF";
}
if (hex?.toLowerCase() === "#ffffff") {
return "#000000";
}
if (bw) {
return r * 0.299 + g * 0.587 + b * 0.114 > 186 ? "#000000" : "#FFFFFF";
}
r = (255 - r).toString(16);
g = (255 - g).toString(16);
b = (255 - b).toString(16);
let finalResultColor = "#" + padZero(r) + padZero(g) + padZero(b);
return finalResultColor;
}
function normalize(size) {
const newSize = size * scale;
if (import_react_native3.Platform.OS === "ios") {
return Math.round(import_react_native3.PixelRatio.roundToNearestPixel(newSize));
} else {
return Math.ceil(import_react_native3.PixelRatio.roundToNearestPixel(newSize));
}
}
function generateColor() {
const randomColor = Math.floor(Math.random() * 16777215).toString(16).padStart(6, "0");
return `#${randomColor}`;
}
function isSameDay(currentMessage, diffMessage) {
const currentCreatedAt = (0, import_dayjs.default)(currentMessage.createdOn);
const diffCreatedAt = (0, import_dayjs.default)(diffMessage.createdOn);
if (!currentCreatedAt.isValid() || !diffCreatedAt.isValid()) {
return false;
}
return currentCreatedAt.isSame(diffCreatedAt, "day");
}
function isSameUser(currentMessage, diffMessage) {
return !!(diffMessage?.user && currentMessage?.user && diffMessage.user._id === currentMessage.user._id);
}
var getItemId = (pattern) => {
var _pattern = pattern || "xyxxyxxy";
_pattern = _pattern.replace(/[xy]/g, function(c) {
var r = Math.random() * 16 | 0, v = c === "x" ? r : r & 3 | 8;
return v.toString(16);
});
return _pattern;
};
function getDrawableByExt(ext) {
if (imageTypes.includes(ext)) {
return "📷";
} else if (videoTypes.includes(ext)) {
return "🎥";
} else {
return "📃";
}
}
// bot-sdk/chat/components/UserAvatar.tsx
var React5 = __toESM(require("react"));
var import_react_native5 = require("react-native");
var import_react_native_fast_image2 = __toESM(require("react-native-fast-image"));
// bot-sdk/utils/PlatformCheck.tsx
var import_react_native4 = require("react-native");
var isIOS = import_react_native4.Platform.OS === "ios";
var isAndroid = import_react_native4.Platform.OS === "android";
// bot-sdk/chat/components/UserAvatar.tsx
var {
carrot,
emerald,
peterRiver,
wisteria,
alizarin,
turquoise,
midnightBlue
} = Color_default;
var styles2 = import_react_native5.StyleSheet.create({
avatarStyle: {
justifyContent: "center",
alignItems: "center",
width: 40,
height: 40,
borderRadius: 20
},
avatarTransparent: {
backgroundColor: Color_default.backgroundTransparent
},
textStyle: {
color: Color_default.white,
fontSize: normalize(16),
backgroundColor: Color_default.backgroundTransparent,
fontWeight: "100"
}
});
var UserAvatar = class extends React5.Component {
avatarName = "";
avatarColor = "";
static defaultProps = {
user: {
name: null,
avatar: null
},
onPress: null,
onLongPress: null,
avatarStyle: {},
textStyle: {}
};
setAvatarColor() {
const userName = this.props.user && this.props.user.name || "";
const name = userName.toUpperCase().split(" ");
if (name.length === 1) {
this.avatarName = `${name[0].charAt(0)}`;
} else if (name.length > 1) {
this.avatarName = `${name[0].charAt(0)}${name[1].charAt(0)}`;
} else {
this.avatarName = "";
}
let sumChars = 0;
for (let i = 0; i < userName.length; i += 1) {
sumChars += userName.charCodeAt(i);
}
const colors5 = [
carrot,
emerald,
peterRiver,
wisteria,
alizarin,
turquoise,
midnightBlue
];
this.avatarColor = colors5[sumChars % colors5.length];
}
renderAvatar() {
const { user } = this.props;
if (user) {
if (typeof user.avatar === "function") {
return user.avatar([styles2.avatarStyle, this.props.avatarStyle]);
} else if (typeof user.avatar === "string") {
return /* @__PURE__ */ React5.createElement(
import_react_native_fast_image2.default,
{
source: {
uri: user.avatar,
priority: import_react_native_fast_image2.default.priority.normal,
cache: isAndroid ? import_react_native_fast_image2.default.cacheControl.immutable : import_react_native_fast_image2.default.cacheControl.web
},
style: [styles2.avatarStyle, this.props.avatarStyle]
}
);
} else if (typeof user.avatar === "number") {
return /* @__PURE__ */ React5.createElement(
import_react_native_fast_image2.default,
{
source: {
uri: user.avatar,
priority: import_react_native_fast_image2.default.priority.normal,
cache: isAndroid ? import_react_native_fast_image2.default.cacheControl.immutable : import_react_native_fast_image2.default.cacheControl.web
},
style: [styles2.avatarStyle, this.props.avatarStyle]
}
);
}
}
return null;
}
renderInitials() {
return /* @__PURE__ */ React5.createElement(import_react_native5.Text, { style: [styles2.textStyle, this.props.textStyle] }, this.avatarName);
}
handleOnPress = () => {
const { onPress, ...other } = this.props;
if (onPress) {
onPress(other);
}
};
render() {
if (!this.props.user || !this.props.user.name && !this.props.user.avatar) {
return /* @__PURE__ */ React5.createElement(
import_react_native5.View,
{
style: [
styles2.avatarStyle,
styles2.avatarTransparent,
this.props.avatarStyle
],
accessibilityRole: "image"
}
);
}
if (this.props.user.avatar) {
return /* @__PURE__ */ React5.createElement(
import_react_native5.TouchableOpacity,
{
disabled: !this.props.onPress,
onPress: this.props.onPress,
onLongPress: this.props.onLongPress,
accessibilityRole: "image"
},
this.renderAvatar()
);
} else {
this.setAvatarColor();
return /* @__PURE__ */ React5.createElement(
import_react_native5.TouchableOpacity,
{
disabled: !this.props.onPress,
onPress: this.props.onPress,
onLongPress: this.props.onLongPress,
style: [
styles2.avatarStyle,
{ backgroundColor: this.avatarColor },
this.props.avatarStyle
],
accessibilityRole: "image"
},
this.renderInitials()
);
}
}
};
// bot-sdk/templates/AdvancedListTemplate.tsx
var import_dayjs2 = __toESM(require("dayjs"));
var import_en = require("dayjs/locale/en");
var import_react_native_check_box = __toESM(require("react-native-check-box"));
var import_react_native_popover_view = __toESM(require("react-native-popover-view"));
// bot-sdk/utils/SvgIcon.js
var React13 = __toESM(require("react"));
// bot-sdk/assets/audio.tsx
var import_react3 = __toESM(require("react"));
var import_react_native_svg2 = __toESM(require("react-native-svg"));
var WIDTH = 17;
var HEIGHT = 17;
var Play = (props) => {
let width3 = props.width || normalize(WIDTH);
let height = props.height || normalize(HEIGHT);
let strokeColor = props.color || Color_default.black;
let style = props.style;
return /* @__PURE__ */ import_react3.default.createElement(import_react_native_svg2.default, { width: width3, height, viewBox: "0 0 512 512" }, /* @__PURE__ */ import_react3.default.createElement(
import_react_native_svg2.Path,
{
fill: strokeColor,
d: "M405.2,232.9L126.8,67.2c-3.4,-2 -6.9,-3.2 -10.9,-3.2c-10.9,0 -19.8,9 -19.8,20H96v344h0.1c0,11 8.9,20 19.8,20c4.1,0 7.5,-1.4 11.2,-3.4l278.1,-165.5c6.6,-5.5 10.8,-13.8 10.8,-23.1C416,246.7 411.8,238.5 405.2,232.9z"
}
));
};
var Pause = (props) => {
let width3 = props.width || normalize(WIDTH);
let height = props.height || normalize(HEIGHT);
let strokeColor = props.color || Color_default.black;
let style = props.style;
return /* @__PURE__ */ import_react3.default.createElement(import_react_native_svg2.default, { width: width3, height, viewBox: "0 0 512 512" }, /* @__PURE__ */ import_react3.default.createElement(
import_react_native_svg2.Path,
{
fill: strokeColor,
d: "M224,435.8V76.1c0,-6.7 -5.4,-12.1 -12.2,-12.1h-71.6c-6.8,0 -12.2,5.4 -12.2,12.1v359.7c0,6.7 5.4,12.2 12.2,12.2h71.6C218.6,448 224,442.6 224,435.8z"
}
), /* @__PURE__ */ import_react3.default.createElement(
import_react_native_svg2.Path,
{
fill: strokeColor,
d: "M371.8,64h-71.6c-6.7,0 -12.2,5.4 -12.2,12.1v359.7c0,6.7 5.4,12.2 12.2,12.2h71.6c6.7,0 12.2,-5.4 12.2,-12.2V76.1C384,69.4 378.6,64 371.8,64z"
}
));
};
// bot-sdk/assets/boticons.tsx
var React7 = __toESM(require("react"));
var import_react_native_svg3 = __toESM(require("react-native-svg"));
var WIDTH2 = 17;
var HEIGHT2 = 17;
var HeaderAvatar = (props) => {
let width3 = props.width || normalize(WIDTH2);
let height = props.height || normalize(HEIGHT2);
let strokeColor = props.color || Color_default.black;
return /* @__PURE__ */ React7.createElement(import_react_native_svg3.default, { width: width3, height, viewBox: "0 0 36 36", fill: "none" }, /* @__PURE__ */ React7.createElement(
import_react_native_svg3.Rect,
{
x: "1.25",
y: "1.25",
width: "33.5",
height: "33.5",
rx: "16.75",
fill: "url(#pattern0)"
}
), /* @__PURE__ */ React7.createElement(
import_react_native_svg3.Rect,
{
x: "1.25",
y: "1.25",
width: "33.5",
height: "33.5",
rx: "16.75",
stroke: "white",
"stroke-width": "1.5"
}
), /* @__PURE__ */ React7.createElement(import_react_native_svg3.Defs, null, /* @__PURE__ */ React7.createElement(
import_react_native_svg3.Pattern,
{
id: "pattern0",
patternContentUnits: "objectBoundingBox",
width: "1",
height: "1"
},
/* @__PURE__ */ React7.createElement(import_react_native_svg3.Use, { xlinkHref: "#image0_11743_8911", transform: "scale(0.003125)" })
), /* @__PURE__ */ React7.createElement(
import_react_native_svg3.Image,
{
id: "image0_11743_8911",
width: "320",
height: "320",
xlinkHref: {
uri: "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAEBAQEBAQECAgECAgICAgMDAgIDAwQDAwMDAwQHBAUEBAUEBwYHBgYGBwYLCAgICAsMCgoKDA8ODg8TEhMZGSEBAQEBAQEBAQICAQICAgICAwMCAgMDBAMDAwMDBAcEBQQEBQQHBgcGBgYHBgsICAgICwwKCgoMDw4ODxMSExkZIf/CABEIAUABQAMBIgACEQEDEQH/xAAeAAEAAgIDAQEBAAAAAAAAAAAACQoGBwQFCAMBAv/aAAgBAQAAAAC5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGPRTxeeK9Nfxuv2nKHK13oAAAARNVyNJgN42M5ZAAAAHHrUQrAAmrsq8gAAAFaGFUABNZZcAAACJmq6AALUssYAAB0VIXRwAA3Zd7yEAABEPVvAABaPl5AAAVRYsQAASm2uwAAFHLQgAP5xnG+o4f7smwT79kR7YAAKBHXABjOAcQPrKW2rN1IyAAKBPWgH7r3EAPrKWJTZ1vqAAo46FANfYgAyeSkJTZ2wAFUSLIBjOtQDdfuUFhCRgACIereB+ac4YB7V32DaVr3uQAY9SE0mDF9bgGRyQ8wCwBJQABE1VcBrPGwD21vYBIFYmAAVo4Uw05wgHon2OAbdtlgAOPWrhTGkPwD0V7C+gBzbjYAAiarm6OaR/kMi9cb2ADl3HQAA6KKSL2IzXLIth7p3hzQAbetlAAAK7MfoAAJBLEgAACNiv8AAAAsAyTgAAOmqhatAAG1bX3agAAEdFe4AAWD5GQAAAgkiyAASmztgAAA+UFMWQAJTZ1vqAAAAjmhF1UA2lN/IuAAAAHUx3+AfLGrf62j6k9/yHdyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH//xAAdAQEAAgIDAQEAAAAAAAAAAAAACAkFBwIDBgEE/9oACAECEAAAAN8AAAAAAAAAABKOce6WlYORdAAsYnQCC1dAASiteAVRRcAFwu+wGhaeQBffkQxWD/F16Ph5HQBffkR5zBD86G8DwLht9GL8mOHUVpxzBKO108d+AdHw0rViBYvOl4HidfWMdSwAlFOP3PLh1/Ax9K4AtO3UA0rViAJF2WgK0Y6gBPCZAIbQQAAkVMTbP3UsPI6AAAAAAAAAAB//xAAdAQEAAgMBAQEBAAAAAAAAAAAABwgFBgkEAQID/9oACAEDEAAAAIPAAAAAAAAAACFa1Rykays1AAVIrMCzNtwAhWjIC8s1gCgEXAJRv+AOXXkDP7VlGHs7NwDl15Buu1n84TWht+BQCLjPyCMLFJfGbwQpRoknLiNNaJV6FgVIrMl39mm6CPb1TAQrWr2fMTputh7OqgA56RUAlXoWAIQocAvlNwAVAq8C0NvwAIRrFG32R7OTgAAAAAAAAAAH/8QAQhAAAQMCAgYFCAcHBQEAAAAAAQIDBAUGBxEACAkSIWETMEBRcRQiMTJBQlKBFSAjQ3KRkhAlM1NzgqEkRGNwojX/2gAIAQEAAT8A/wC+7ru61LDoU2p1u5YFIp0cZvzpkhuNHR+JbhAGemOG2N1fcP1z4dp0Ofec9olKZCP9BTN4f8zoK1/2oyPfpibte9be93H0UifR7TjK4IRAhpff3e5TszpuPNITpdmtHrIXy66qq47XbMC/SyqqSUsfJpCggfIaT6xV6qpSpVUkyVE5lTrinCT35qJ0g1WqUte/FqUiMr4mnFNn80kaWlrS6ydiLQaTjvdsJA+4TVJKmOHe0tRQfy0wz2v2tvZT0ZFYn0e7IqSAtE6GiO+UD2Idh9Fx5qCtMD9sbq+YgLixbsok+ypqvv151Cmk/wBZlIcSTzRkO/S2Lqtq9aFT6nR7hhVSmy0b8WfEeRIjup70LbJB7drhbVXDPAp6q0Gz2Yt23S2Ch54LKqTAd7nnGyC8se1DZ8VA6Y2aw+MesPcjlUu6+ZdUdCyY0Uq6OHFB92OwjJDY5gZn2nqcE9Y7GrV3rnl9o39NpRWsKkwwQ7Ck5cMn2HM218OAJGY9h01Pdqrhjjo/TaBeDEe0rodIbjvKc/dVQcy+7cX/AAHFfA5w7lEntc2dCpkKZJkzWo8aO0t2RIdWENtNoG8pa1KyCUpAzJOmv9tPq7iVMrVnYdVt6BbSCpmpXEyVNyqr7Chg8C1H5jzl9bqAbT6uYazKDZuIlZcnW0tQZp1xvKW7LpZUfNRIUSS5HH6m/DSDOhVOFDkxpjUiNIaQ7HktLDjTraxvJWhScwUqBzBHadp9r/zMSa5WcO7MrykWzBcUzcdSZJSapLaWQqOhXtjtkeC1cuv2X+v7Lw1rdGw6vGtqXbc90M25UnlZ/RcpxXCOtR/27pPD4Fcu0bVbXBfwKwxYs+gVMtXRdsdxL0hsjpKfSfUdd5OP8W0ct4gggdh2VeuE/jrhk9Z9eqnSXTaUVAZfWc3KhSQQ228e9bJIbWfwns113PQ7Ktm4axU6giJTaXCelzpK/Vajx0Fxaz4Aaax2Nlc1iMar+u+fvoNVmkw4qjn5NCa+zYYGXDzGwASPScz2HV4xsuTV4xjsa7aY4ou0qWkyowOSZUNzzH46uTiCQO45HS0LroV92pbVapkwSKbV4EeZBf8A5keS2HEK5Zg9l2xuOC8P9XyiWnElbs69Z+5I7xTaeUvO+BU4UJ5jPsexyxvXiBq+1u05k8uT7Mn7kdKjmr6Mn5us/oWFp5DLsu19xMevXW3n0hEkqi2nR4UFCAc0B+Qjyx1Q5npQk/h7HshMTXLI1t6fSFyN2LddHmQFoPq9OwjyxpXj9kUj8XZdaS7V3zrJY71bf3kTbtqimDnnkwiSpDQ+SAB1rrrTCCpbgQkekk5DSbdkFjeS0guq7/VTpJuqqvZhCkNA/CMz+Zz0dqVQeJKprp/uOWhUpR4qJ0ClJ9CiNMJsQbsw7xIsisUu4ZUGbAqTDjElpwpWg74BI+RI0sTaV6yFqusCpzKZcUdJAWmXFQw8Uj4XIvR8eagdMJ9pvgxeSmI9x0qZastX3y85sE8P5jSQsE80ZDv0oNw0G66TDn0ytxKjBkp3mJkZ1LzLie9C0Eg9iq05dUqlTkqB3pD7jqvFxRV1lVuaPCKkNAOud/up8e/SZPlz3N514q7h7B4D60d0sPsr9qFhQ+R/bhVjhingpVvK7avGVTypYL8UHpIr+X81leaF+JGY9mmrPtDbCxbdgUe5mmbbuBwhDLql/u6avL3HFfwln4F8O5RPYaxAXSqtVIqkkKjSXWlA+kFtRT1RKUJJJyA4kn0AaVy41yCtphZS2OClj0q8OXUMNF55lA99YT+Z+rqba/VWsSXR7XvWqLl0Fag1BrbqlOSIG8eCHlHMrYH5o8NIkuLPixn2JLbzD7aXGXm1BaHELGYUkpzBBBzBHX60dpP2JrIY7UlbBbEO7KoGU97C5KltH5oIPVXHXDIWuO0v7NJycUPeI9nh1NlQDU7vthjLMOTmAr8IWCT+X1tQTXHk2LVaVZFz1UqoUxwN0Se4f/nyHFcGVk/cuE/2K5dfte8MnLI1t6hV0R92LddHhz0LHq9OwjyN1Pj9kFH8XU3NVTCjBpCsnXRxPwp6rASjKqN9tSCglEGO44T7N5Y6NI/9Z/X2eesw7i5Ybts1ef0lwW4wgNOqObkymghCHT3raJCF/I9dtjcD14gavtDuyJALlQsyfvyVJGavoyfk09+hYQrkM+odWhlDi1KASkEqPcBpUJi58x91XvK4DuHsHVav1tmlWrJnuIycqLuaf6LWaU/mSfr4K4q1zBXE60rkgLUV0+SDIYByEiMvzXWVcloJHI8dLauKk3dbtCqsCUH4VShsyojo99l9AWg/MHrbvtShX3aly0WpwxIptXgSIc5j+ZHktltaeWYOmsPgncmrxjJfNo1NtRdpUtQiySMkyobnnsSE8nEEHkcx9e7JnQQENA8Xjx/Cnj1Vo25Juy46XAazBfcAcWPcbHFSvkNIMKNTocSOy0EMsNpbaQPdSgZAdRsyMWF3lgzVrdkzCuZa8zdZCjmryCXm41+lYWnkMuu2qup69jrhozeNBpgdum04qy8ygZu1Ckglxxkd62SS4gfiH17qkF6qKSDwaSAPE8T1WB9gKtqjKqEpkpmz0gpSRxaY9IHir0nqdmtfi7U1kIVOU9kxcdMkw1JPq9MynyptXj9mUjx6/af6gcvDWt1nEWzaIpdtT3S9cVMZGf0VKcVxkNpH+3cJ4/Arl9apO9NUJqu91X5Z9TgvhY5WJMarVGKRDaIVEZVw6ZYPBRHwD/J6rAC412ljjhFUQ5upi3HT1OnvaU+lLg+aSevmwYVThTI0mE1IjSGltSI7qAtt1tY3VIWlWYUlQORB01/9mDXMNptevLDujOTrZWovVK3GEqdl0sqPnLjpAJcjj9SPD6qlbylHvPUYW4MSaw5GqFXjlqGCFMxFZhb/AHFfcj/J0aabZbbQhtKUISEpQkABIHoAHVUyYunVGnyEqIUw+hxJHpzQoK4dh1wdlThjjo9U6/Z78e0rpdKnJDKW/wB1VBzL7xtH8BxXxt8O9JOmNmrjjVq71zyC7rBm0orWUxphAdhScvaw+3m2vhxIBzHtH7VJ3FKHcfrW5adwXZMDECmuPKz89eWTaOa1HgNLAwQotsqZlVBSJ80cUpyzYaV3pB9Y8z1lPiLqE+Cwn0vPIbHis5diua1bZvWh1CmVi3oVUp0tG5Kgy2USI7qe5aHAQdMcNjlq+YgrkS7TrU+ypyvuEZ1Cmk/0XlBxJPJeXLTEzZBa29lPSVUeBR7sipJKFwZiI75QPatqZ0WR5JKtL/wmxJw9uq4KZWLHqdPmQpLjchh2OsFtYPoJGY0dYeZOS2VoPMEaNMPvkBDK1/hBOkCyrvqakhi2ZzmfoUGVhP6iMtKNgJflSKC+1Hgo9pdcClfJLe9pber9alLLTk6S7UHRxKT9kz+kcT8zpBgQaXGbYjQ2o7KR5jTaQhI+Q63V+txV2454Q00IzTKuOnpdGWf2SX0qcPySD2XaU2Iu1dZCbUkM5MXFTIsxKh6vTMp8lcHj9mFHx7Hs1LEdurWQh1IsEx7dpkqWtfpT0z6PJW0+P2hUPDsu04wnN5YM0m4o0MuTLXmbz5SMz5BLybd/SsIVyGfY9mRhMqzcGKrcUhjdl3VM32eUGEVNN+BKys8xl2W5bepF3W7XaVPih6FUob0WW0ffZfQULHzB0xrwpreCuJ1223PQorp8kiO+RkJEVfnNPJ5LQQeR4dhwPwrq2NeKdnW3E30moSgJT4GfQRW/Ped/sQCR3nhpb1BpNq0GiUyBDRGg0+I1GiMJ9VtllIQhI8AOzbQzVmdxcsNFzUen9JcFuMLLrSBm5MpwzWtod6miStHzHYdnnqzu4SWE7c1YgFuv3GwhTTKwN+FTvWbRyW766+W6O0a/mpxJsWrVS97YpZXQpjhcrcBsZ/R8hw8XkAfcrJ4/Arl1+oLqbyr5q1KvW56QU0KGsO0SC6Ckz5DagUvLHtYQR/eeXaZcSLPiyWH4zbzD7am3mXEhaHELGRSoKzBBByIOmuTqC1axpVXuiyqUuXQVEuzqG0lTkiASeK2EjMrYH5o8Ot1ONQSrX3JpVz3tS3IdCQQ5AojgLcioe0LeHAts/wDpekSJFgRYzDEZtlhhtLbLLaQhDaEDIJSE5AAAZADtesxs87Cxbdn1i2XGLcuBwlb7QR+7pq8vfbT/AAln40cO9JOmKuB+KeClW8kuWzpVPKlkMSiOkiv5fynkZoX4A5j29ThVgpidjVXEQLbtKTUHAoB+QBuRo4PvPOqyQgeJzPs01Z9npYeEbkCsXM4xcdwN5KbaKM6dCc72kLALqx7Fr+QHbq9b1BuqkzIFTokSowZKCmREktJeZcT3KQsEHTFnZkYMXkp+RbtVmWrLVxDKM5sEn+m6oLBPJeQ7tL72amsharr5pkOmXFHBO4uJKQw9uj4m5XR8eSSdLj1fsc7SUsVLCG44qRnm6qnvqa4dziUlJ0l0+fAVuvwXmFfC4goP+dIdMqNRWEx6e8+onIBtClknu80aW3q/45Xc60mnYRXHJCyMnRAfSz83FpCR8zpYmzW1kLrWyqowqZbjB4qVMlJee3eTcXpOPJRGmFGzHwZs1cOTcVVmXRMQQosr/wBJAzH/ABNkrV815Hu0t62rdtGkRYFKoUOmwmBk1EisoYZR4IQAB/35/8QANxEAAgECAggCCAUFAQAAAAAAAQIDBAUGEQAHCBIhMDFRIEETFBUiI3GBkRBgYXKCJDNSkqKh/9oACAECAQE/APyDqq2WMaY+ipqy4ObNbHAZHkTOpmU+ccZyyB7tphHZp1Q4SiiywwlxnXrUV39QWP7Dkg+g0oLPabXGqUtrp6dR0WKNYwP9QNK+z2m6xlKq101Sh6rLGsgP0YHTF2zTqgxbHLnhhLdOw4VFCfVyv8Bmh+q6a1NlfG2AoqqsoH9s22MFneJCtTCg85I+OYHdc+ds3bN1LbqagxBiC3iSqkAkt1ukXNYFPESyqernqAenz8e0js301wpbhiDD9AI6qMGS426MZLOo4tLEB0cdSPP58zZX1VxY9xs9fWUokttm3JXRhmk1Sx+HGe4GW8eTtT6qosA40S4UdMEtt5LyIijJYaleMiDsDnvDl7NOEY8JaoMMD0QWe4oa6oP+RqOKfZAo5O0thGPFuqHE49FvT25PXqc+amn4v90zHLtFBHarTa6VBktNTxxKOwjUKPFV3WGAlV99v/BpNc6ybP4u6Oy8NGd3PFydJESaKWN0DJIpV0PFWU8CCPMHTE+z7quxNHLnh5aCY9J6P4BH8B7n3GmsjZwxdgqKoqqJ/atAmZd41IniUebx8cwO68mz18d0tNrqkbNamnjlU9xIoYeG5XIsWjjbIdGYefj1+ag6eup6292OiCVKAyV9BGMlmUcTJGB0fuPPkbNOLo8W6ocMH0u9PbkNDUDzU0/BPumR8F1qjTwboPvPw+Q8LnJT4No/VtHgrFiV1LThLfdSzogGSxTji6DsDnvDx7LGtWLAONHt9ZUhLbeSkbuxyWGpXhHIewOe6fBc5vTVkvHgvuj6eFzvHwbQOGI8TarsQ/DzmoEFZAfMGDi33TMcjZu2kaa4Utvw/iCvEdVGBHbrjI2Szr0WKUno46Anr8/xdt93Pc+Bm8N2okuNtuFOy5rPBJGw/R13eTqr2p8bYBipqOvT2zbY8lRJXIqYUHlHJxzA7NphHaW1QYtjiyxOlunbrT1w9XK/zOaH6NokkUyI8cqujAFHUhlZTxBBHUH8N9e+hfe8V1rUtttuFQxyWCCSRj+iLvcvZ+xPHibVdh4+lzmoU9TnHYwcF+6ZcnaCxOmGNV2IcpAJq9RRwDuZ+D/8Anl7OOsmPBWLHoqqo3LfdSsbOTksU44I57A57p5O0frHixri5KKlqN+gtW9GjA5rLOf7jjuBlujmagtflPXU9DY73WhKlAI6CvkOSzDoI5Cej9j5+PX5r8p6KnrbJY60PUuClfXRnNYVPAxxkdX7ny52rjaOxdguOmpa1PatAmSokjZTxKPJJOOYHZtML7QOq7E6R5YhSgmPWCs+AR/M+4fodKK7Wy5IGp7hBOp6NHIrj/nPSsu1rtyM1RcYKdR1aSRUA/2I0xPtA6rsMRyZ4hSvmHSCj+OSf3j3B9TprJ2j8WY1jnpaFDare4IZI2znlXs7jLIHsv5C/8QANREAAgECAwQHBwQDAQAAAAAAAQIDBAUGBxEAITFRICIjMEFhoRIUJTJCgqIQFVJxE2CRJP/aAAgBAwEBPwD/AEHG+d2HcLSTU9IouFYu5lRtIYzyZ/EjkNr9nHj6/O/xpqSI8IqbsgPuHW9dqq4V9cxaatmmJ4l3Ln12pbhX0LhoK2aFhwZHKH02sOcWPrC6fGmq4xxiqe2B+49b12wRndhvFMkNPVL+31jaBVdtYZG5I/PyPfZv5vzVc1VarVVlYUJSrrEO+Q+KIR9PM+PTyfzempJqW1XWqLwOQlJVud8Z4BHJ+nkfDvM7sbyYXw2tLTzFay4e0isD1o4R87DzPAdzkjjh8UYdakqJi1ZbwqMx4yQn5G8yOB7vOO/PfsfXrr6xUjCmiHIRbm/LXucnL+9hx9ZevpHVt7tKOYl3L+Wnd3Cqeur62Zjq00zuT5udelb7BVVYDOf8SefzH+htTWO20wHYBz/J9+yRRxjqxqv9DTZ113g6MN6sOII4EHbD+dGYNgdPjTVkQ4xVXbA/cet67YGzyw1iuSGnql/bq1tAquwMMjclfwJ5HubhStRV9bCw0MMzoR5odOjZLIqKk0yasd6IfDzPQlcRRyMfpUn/AJ+uTmcc9LNS2m7VReBiEo6xzviPAI5P08j4dxnFYXsOPr12ekVW3vMJ5iXe35a9CwUHvdV7bLqkW/8AtvAdHEFUKW11G/rSdRfu4+nQyMx0+KsONSVM/t1tuCozHjJCfkc8yOB6ed2B3xTh1aqnhLVlv9p1UcZIT86jmRxHQsdMKa2wbt7j2z93RxJchWVgRG1ji3DzbxPQyYxA9gzBsvX0irG92mHMTbl/LTuM38oJqSerutqpS8LkvV0iDfGeJdAPp5jw/WJBHHGv8VA/50L/AH8IrwQPqx3SSD6fIdG3VTUNfRTg6GGZHB80bXucb5I4cxTJPUUrft9Y2pZkXWGRubpz8xtfsnMf2F3+CtVxjhLTdsD9o63psja7juYbmU8VI4gjZ5YowS0ir/Z02qsQWulB/wDQJD/FOttc8SVdaCkY/wAUZ8AesR5npW6laur6GBRq00yIo83YDu86LA9gzBvfZ6RVjCphPMTb2/LXucl8Pvf8wbL2esVG3vUx5CHev5ad3nlgWTFWG1q6aEtW24M6qOMkJ3ug8xpqO5yMwNJhXDLVVRD7NbcfZd1I60cIHUU8ieJ7zOTJyelnq7taaUvA5L1lGg3xtxLoB9PMeHTycycmq56S7XalKQIQ9HRuN8p4h3B+nkPHvsdZG4axVJPU0jft1a+9mRdYZG5sm7QnmNr/AJL5g2B3+CNWRDhLS9sD9o63ptVW6voXKz0M0LDiroyH12pbbX1zhYKKaZjwCIzn02sGTGYN/eP4I1HEeM1T2IH2nrem2BMjMN4Ukgqathca1CCrOukMZ5qm/U+Z/wBC/9k="
}
}
)));
};
{
}
var UpSolid = (props) => {
let width3 = props.width || normalize(WIDTH2);
let height = props.height || normalize(HEIGHT2);
let strokeColor = props.color || Color_default.black;
let style = props.style;
return /* @__PURE__ */ React7.createElement(
import_react_native_svg3.default,
{
style,
width: width3,
height,
viewBox: "0 0 24 24",
fill: "none"
},
/* @__PURE__ */ React7.createElement(
import_react_native_svg3.Path,
{
d: "M18.6806 13.9783L15.4706 10.7683L13.5106 8.79828C12.6806 7.96828 11.3306 7.96828 10.5006 8.79828L5.32056 13.9783C4.64056 14.6583 5.13056 15.8183 6.08056 15.8183H11.6906H17.9206C18.8806 15.8183 19.3606 14.6583 18.6806 13.9783Z",
fill: strokeColor
}
)
);
};
var RightSolid = (props) => {
let width3 = props.width || normalize(WIDTH2);
let height = props.height || normalize(HEIGHT2);
let strokeColor = props.color || Color_default.black;
let style = props.style;
return /* @__PURE__ */ React7.createElement(
import_react_native_svg3.default,
{
style,
fill: strokeColor,
width: width3,
height,
viewBox: "0 0 24 24"
},
/* @__PURE__ */ React7.createElement(import_react_native_svg3.Path, { d: "M5.536 21.886a1.004 1.004 0 0 0 1.033-.064l13-9a1 1 0 0 0 0-1.644l-13-9A1 1 0 0 0 5 3v18a1 1 0 0 0 .536.886z" })
);
};
var Left = (props) => {
let width3 = props.width || normalize(WIDTH2);
let height = props.height || normalize(HEIGHT2);
let strokeColor = props.color || Color_default.black;
return /* @__PURE__ */ React7.createElement(import_react_native_svg3.default, { width: width3, height, id: "Capa_1", viewBox: "0 0 34.075 34.075" }, /* @__PURE__ */ React7.createElement(import_react_native_svg3.G, null, /* @__PURE__ */ React7.createElement(import_react_native_svg3.G, null, /* @__PURE__ */ React7.createElement(
import_react_native_svg3.Path,
{
fill: strokeColor,
d: "M24.57,34.075c-0.505,0-1.011-0.191-1.396-0.577L8.11,18.432c-0.771-0.771-0.771-2.019,0-2.79\n L23.174,0.578c0.771-0.771,2.02-0.771,2.791,0s0.771,2.02,0,2.79l-13.67,13.669l13.67,13.669c0.771,0.771,0.771,2.021,0,2.792\n C25.58,33.883,25.075,34.075,24.57,34.075z"
}
))));
};
var Right = (props) => {
let width3 = props.width || normalize(WIDTH2);
let height = props.height || normalize(HEIGHT2);
let strokeColor = props.color || Color_default.black;
let style = props.style;
return /* @__PURE__ */ React7.createElement(
import_react_native_svg3.default,
{
fill: strokeColor,
width: width3,
height,
id: "Layer_1",
style,
viewBox: "0 0 492.004 492.004"
},
/* @__PURE__ */ React7.createElement(import_react_native_svg3.G, null, /* @__PURE__ */ React7.createElement(import_react_native_svg3.G, null, /* @__PURE__ */ React7.createElement(
import_react_native_svg3.Path,
{
d: "M382.678,226.804L163.73,7.86C158.666,2.792,151.906,0,144.698,0s-13.968,2.792-19.032,7.86l-16.124,16.12\n c-10.492,10.504-10.492,27.576,0,38.064L293.398,245.9l-184.06,184.06c-5.064,5.068-7.86,11.824-7.86,19.028\n c0,7.212,2.796,13.968,7.86,19.04l16.124,16.116c5.068,5.068,11.824,7.86,19.032,7.86s13.968-2.792,19.032-7.86L382.678,265\n c5.076-5.084,7.864-11.872,7.848-19.088C390.542,238.668,387.754,231.884,382.678,226.804z"
}
)))
);
};
var ThreeDots = (props) => {
let width3 = props.width || normalize(WIDTH2);
let height = props.height || normalize(HEIGHT2);
let strokeColor = props.color || Color_default.black;
return /* @__PURE__ */ React7.createElement(import_react_native_svg3.default, { width: width3, height, fill: strokeColor, viewBox: "0 0 16 16" }, /* @__PURE__ */ React7.createElement(import_react_native_svg3.Path, { d: "M9.5 13a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0m0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0m0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0" }));
};
// bot-sdk/assets/playerIcons.tsx
var React8 = __toESM(require("react"));
var import_react_native_svg4 = __toESM(require("react-native-svg"));
var WIDTH3 = 17;
var HEIGHT3 = 17;
var Speed = (props) => {
let width3 = props.width || normalize(WIDTH3);
let height = props.height || normalize(HEIGHT3);
let strokeColor = props.color || Color_default.black;
return /* @__PURE__ */ React8.createElement(
import_react_native_svg4.default,
{
id: "Layer_1",
x: "0px",
y: "0px",
width: width3,
height,
viewBox: "0 0 1000 1000",
"enable-background": "new 0 0 1000 1000"
},
/* @__PURE__ */ React8.createElement(
import_react_native_svg4.Image,
{
id: "image0",
width: "1000",
height: "1000",
x: "0",
y: "0",
href: "data:image/png;base64,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\n j2c