@quidgest/chatbot 0.0.2 → 0.0.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.
package/dist/index.mjs CHANGED
@@ -2022,6 +2022,7 @@ axios.formToJSON = (thing) => formDataToJSON(utils$1.isHTMLForm(thing) ? new For
2022
2022
  axios.getAdapter = adapters.getAdapter;
2023
2023
  axios.HttpStatusCode = HttpStatusCode$1;
2024
2024
  axios.default = axios;
2025
+ const ChatBotIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFIGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjAtMDUtMjFUMTg6MTk6NDErMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDUtMjFUMTg6MTk6NDErMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIwLTA1LTIxVDE4OjE5OjQxKzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4NmI5YWQxZC0yOTk4LTQ2ZjYtYjliYS01NTBlNzgwOGQ5MWUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODZiOWFkMWQtMjk5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";
2025
2026
  function ye(t) {
2026
2027
  return t == null ? true : typeof t == "string" || Array.isArray(t) ? t.length === 0 : typeof t == "object" ? Object.keys(t).length === 0 : false;
2027
2028
  }
@@ -3562,9 +3563,7 @@ const so = {
3562
3563
  class: normalizeClass(["q-line-loader", o.class])
3563
3564
  }, null, 2));
3564
3565
  }
3565
- });
3566
- S(fo);
3567
- const po = {
3566
+ }), Co = S(fo), po = {
3568
3567
  key: 0,
3569
3568
  class: "q-popover__header"
3570
3569
  }, mo = {
@@ -3945,36 +3944,65 @@ const Io = ["innerHTML"], xo = { key: 1 }, Bo = /* @__PURE__ */ defineComponent(
3945
3944
  }
3946
3945
  });
3947
3946
  S(Bo);
3948
- const ChatBotIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFIGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjAtMDUtMjFUMTg6MTk6NDErMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDUtMjFUMTg6MTk6NDErMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIwLTA1LTIxVDE4OjE5OjQxKzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4NmI5YWQxZC0yOTk4LTQ2ZjYtYjliYS01NTBlNzgwOGQ5MWUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODZiOWFkMWQtMjk5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";
3949
- const _hoisted_1 = { class: "q-chatbot" };
3950
- const _hoisted_2 = { class: "c-sidebar__subtitle" };
3951
- const _hoisted_3 = ["src"];
3952
- const _hoisted_4 = { class: "q-chatbot__message" };
3953
- const _hoisted_5 = {
3954
- key: 0,
3955
- class: "q-chatbot__message-loading"
3956
- };
3957
- const _hoisted_6 = /* @__PURE__ */ createElementVNode("div", null, null, -1);
3958
- const _hoisted_7 = /* @__PURE__ */ createElementVNode("div", null, null, -1);
3959
- const _hoisted_8 = /* @__PURE__ */ createElementVNode("div", null, null, -1);
3960
- const _hoisted_9 = [
3961
- _hoisted_6,
3962
- _hoisted_7,
3963
- _hoisted_8
3964
- ];
3965
- const _hoisted_10 = {
3947
+ const _hoisted_1$1 = { class: "q-chatbot__message-container" };
3948
+ const _hoisted_2$1 = ["src"];
3949
+ const _hoisted_3$1 = { class: "q-chatbot__message-wrapper" };
3950
+ const _hoisted_4 = {
3966
3951
  key: 0,
3967
3952
  class: "q-chatbot__sender"
3968
3953
  };
3969
- const _hoisted_11 = {
3954
+ const _hoisted_5 = { class: "q-chatbot__message" };
3955
+ const _hoisted_6 = ["innerHTML"];
3956
+ const _hoisted_7 = {
3970
3957
  key: 1,
3971
- class: "q-chatbot__timestamp"
3972
- };
3973
- const _hoisted_12 = ["innerHTML"];
3974
- const _hoisted_13 = {
3975
- key: 3,
3976
3958
  class: "q-chatbot__text"
3977
3959
  };
3960
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3961
+ __name: "CBMessage",
3962
+ props: {
3963
+ sender: { default: "user" },
3964
+ message: {},
3965
+ date: { default: () => /* @__PURE__ */ new Date() },
3966
+ loading: { type: Boolean }
3967
+ },
3968
+ setup(__props) {
3969
+ const props = __props;
3970
+ const senderName = computed(() => {
3971
+ return props.sender === "bot" ? "GenioBot" : "You";
3972
+ });
3973
+ const getLocaleDate = computed(() => {
3974
+ return props.date.toLocaleString();
3975
+ });
3976
+ const messageHeader = computed(() => {
3977
+ return `${senderName.value} ${getLocaleDate.value}`;
3978
+ });
3979
+ return (_ctx, _cache) => {
3980
+ return openBlock(), createElementBlock("div", _hoisted_1$1, [
3981
+ props.sender === "bot" ? (openBlock(), createElementBlock("img", {
3982
+ key: 0,
3983
+ src: unref(ChatBotIcon),
3984
+ alt: "Chatbot",
3985
+ class: "q-chatbot__profile"
3986
+ }, null, 8, _hoisted_2$1)) : createCommentVNode("", true),
3987
+ createElementVNode("div", _hoisted_3$1, [
3988
+ !_ctx.loading ? (openBlock(), createElementBlock("div", _hoisted_4, toDisplayString(messageHeader.value), 1)) : createCommentVNode("", true),
3989
+ createElementVNode("div", _hoisted_5, [
3990
+ _ctx.loading ? (openBlock(), createBlock(unref(Co), { key: 0 })) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
3991
+ props.sender == "bot" ? (openBlock(), createElementBlock("div", {
3992
+ key: 0,
3993
+ class: "q-chatbot__text",
3994
+ innerHTML: props.message
3995
+ }, null, 8, _hoisted_6)) : (openBlock(), createElementBlock("div", _hoisted_7, toDisplayString(props.message), 1))
3996
+ ], 64))
3997
+ ])
3998
+ ])
3999
+ ]);
4000
+ };
4001
+ }
4002
+ });
4003
+ const _hoisted_1 = { class: "q-chatbot" };
4004
+ const _hoisted_2 = { class: "q-chatbot__tools" };
4005
+ const _hoisted_3 = { class: "q-chatbot__messages-container" };
3978
4006
  const _sfc_main = /* @__PURE__ */ defineComponent({
3979
4007
  ...{ name: "ChatBot" },
3980
4008
  __name: "ChatBot",
@@ -3988,7 +4016,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3988
4016
  loginError: "Uh oh, I could not authenticate with the Quidgest API endpoint 😓",
3989
4017
  botIsSick: "*cough cough* GenioBot is not feeling alright 🥴️🤒, looks like something failed!"
3990
4018
  }) },
3991
- username: {}
4019
+ username: {},
4020
+ projectPath: {}
3992
4021
  },
3993
4022
  setup(__props) {
3994
4023
  let messages = ref([]);
@@ -4004,56 +4033,62 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4004
4033
  initChat();
4005
4034
  nextTick(scrollChatToBottom);
4006
4035
  });
4007
- const getParsedEndpoint = computed(() => {
4008
- try {
4009
- let url = new URL(props.apiEndpoint).href;
4010
- if (url.charAt(url.length - 1) == "/") {
4011
- url = url.slice(0, -1);
4012
- }
4013
- return url;
4014
- } catch (ex) {
4015
- addChatMessage(props.texts.botIsSick);
4016
- isChatDisabled = true;
4017
- throw Error("Could not parse Endpoint URL:\n" + ex);
4018
- }
4019
- });
4020
- const sortedMessages = computed(() => {
4021
- return messages.value.toSorted((a, b) => {
4022
- const diff = new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime();
4023
- return diff !== 0 ? diff : a.sender === "user" ? -1 : 1;
4024
- });
4025
- });
4026
4036
  const userMessages = computed(() => {
4027
4037
  return messages.value.filter((m) => m.sender === "user");
4028
4038
  });
4039
+ function setDisabledState(state) {
4040
+ isChatDisabled = state;
4041
+ }
4029
4042
  function initChat() {
4030
- axios.post(getParsedEndpoint.value + "/auth/login", {
4043
+ axios.post(props.apiEndpoint + "/auth/login", {
4031
4044
  username: props.username,
4032
4045
  password: "test"
4033
4046
  }).then((response) => {
4034
4047
  if (response.status != 200 || !response.data.success) {
4035
- isChatDisabled = true;
4048
+ setDisabledState(true);
4036
4049
  addChatMessage(props.texts.loginError);
4037
4050
  return console.log(
4038
4051
  `Unsuccessful login, endpoint gave status ${response.status}`
4039
4052
  );
4040
4053
  }
4041
- sendInitialMessage();
4054
+ loadChatData();
4042
4055
  }).catch((error) => {
4043
- if (error) {
4044
- isChatDisabled = true;
4056
+ setDisabledState(true);
4057
+ addChatMessage(props.texts.loginError);
4058
+ console.log(
4059
+ "The following error ocurred while trying to login: \n" + error
4060
+ );
4061
+ });
4062
+ }
4063
+ function loadChatData() {
4064
+ axios.post(props.apiEndpoint + "/prompt/load", {
4065
+ username: props.username,
4066
+ project: props.projectPath
4067
+ }).then((response) => {
4068
+ if (response.status != 200 || !response.data.success) {
4069
+ setDisabledState(true);
4045
4070
  addChatMessage(props.texts.loginError);
4046
- console.log(
4047
- "The following error ocurred while trying to login: \n" + error
4071
+ return console.log(
4072
+ `Unsuccessful load, endpoint gave status ${response.status}`
4048
4073
  );
4049
4074
  }
4075
+ sendInitialMessage();
4076
+ response.data.history.forEach((message) => {
4077
+ addChatMessage(message.content, message.type === "ai" ? "bot" : "user");
4078
+ });
4079
+ }).catch((error) => {
4080
+ setDisabledState(true);
4081
+ addChatMessage(props.texts.loginError);
4082
+ console.log(
4083
+ "The following error ocurred while trying to login: \n" + error
4084
+ );
4050
4085
  });
4051
4086
  }
4052
4087
  function addChatMessage(message, sender = "bot") {
4053
4088
  messages.value.push({
4054
4089
  id: nextMessageId++,
4055
- text: message,
4056
- timestamp: /* @__PURE__ */ new Date(),
4090
+ message,
4091
+ date: /* @__PURE__ */ new Date(),
4057
4092
  sender
4058
4093
  });
4059
4094
  }
@@ -4070,8 +4105,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4070
4105
  msgHistoryStack = [];
4071
4106
  userPrompt.value = "";
4072
4107
  isLoading = false;
4073
- isChatDisabled = false;
4074
- sendInitialMessage();
4108
+ setDisabledState(false);
4075
4109
  }
4076
4110
  function scrollChatToBottom() {
4077
4111
  if (messagesContainer.value == null)
@@ -4092,11 +4126,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4092
4126
  if (!lastMsgObj)
4093
4127
  return;
4094
4128
  msgHistoryStack.push(userPrompt.value);
4095
- userPrompt.value = lastMsgObj.text;
4129
+ userPrompt.value = lastMsgObj.message;
4096
4130
  nextTick(
4097
4131
  () => setCursorPosition(
4098
4132
  promptInput.value,
4099
- lastMsgObj.text.length
4133
+ lastMsgObj.message.length
4100
4134
  )
4101
4135
  );
4102
4136
  } else if (event.key == "ArrowDown") {
@@ -4121,12 +4155,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4121
4155
  let msg = getLastMessage();
4122
4156
  let params = {
4123
4157
  message: prompt,
4124
- project: "GenIO",
4158
+ project: props.projectPath,
4125
4159
  user: props.username
4126
4160
  };
4127
4161
  isLoading = true;
4128
4162
  axios({
4129
- url: getParsedEndpoint.value + "/prompt/message",
4163
+ url: props.apiEndpoint + "/prompt/message",
4130
4164
  method: "POST",
4131
4165
  data: params,
4132
4166
  onDownloadProgress: (progressEvent) => {
@@ -4136,71 +4170,89 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4136
4170
  if (status != 200)
4137
4171
  return;
4138
4172
  if (msg)
4139
- msg.text = chunk;
4173
+ msg.message = chunk;
4140
4174
  }
4141
4175
  }).then(({ data }) => {
4142
4176
  if (msg)
4143
- msg.text = data;
4177
+ msg.message = data;
4144
4178
  }).catch((error) => {
4145
4179
  addChatMessage(props.texts.botIsSick);
4146
- isChatDisabled = true;
4180
+ setDisabledState(true);
4147
4181
  console.log(error);
4148
4182
  }).finally(() => {
4149
4183
  isLoading = false;
4150
4184
  });
4151
4185
  }
4152
- function getSenderName(sender) {
4153
- return sender === "bot" ? "GenioBot" : "You";
4154
- }
4155
- function getConvertedTime(date) {
4156
- return date.toLocaleString();
4157
- }
4158
4186
  function setCursorPosition(elem, pos) {
4159
4187
  elem.focus();
4160
4188
  elem.setSelectionRange(pos, pos);
4161
4189
  }
4190
+ function clearChat() {
4191
+ axios.post(props.apiEndpoint + "/prompt/clear", {
4192
+ username: props.username,
4193
+ project: props.projectPath
4194
+ }).then((response) => {
4195
+ if (response.status != 200 || !response.data.success) {
4196
+ setDisabledState(true);
4197
+ addChatMessage(props.texts.loginError);
4198
+ return console.log(
4199
+ `Unsuccessful login, endpoint gave status ${response.status}`
4200
+ );
4201
+ }
4202
+ resetChat();
4203
+ sendInitialMessage();
4204
+ }).catch((error) => {
4205
+ setDisabledState(true);
4206
+ addChatMessage(props.texts.loginError);
4207
+ console.log(
4208
+ "The following error ocurred while trying to communicate with the endpoint: \n" + error
4209
+ );
4210
+ });
4211
+ }
4212
+ function getMessageClasses(sender) {
4213
+ const classes = ["q-chatbot__messages-wrapper"];
4214
+ if (sender == "user")
4215
+ classes.push("q-chatbot__messages-wrapper_right");
4216
+ return classes;
4217
+ }
4162
4218
  watch(() => props.apiEndpoint, () => {
4163
4219
  resetChat();
4220
+ initChat();
4164
4221
  });
4165
4222
  return (_ctx, _cache) => {
4166
4223
  return openBlock(), createElementBlock("div", _hoisted_1, [
4167
- createElementVNode("div", _hoisted_2, [
4168
- createElementVNode("span", null, toDisplayString(props.texts.chatbotTitle), 1)
4169
- ]),
4170
4224
  createElementVNode("div", {
4171
- class: "q-chatbot__content",
4172
4225
  ref_key: "messagesContainer",
4173
- ref: messagesContainer
4226
+ ref: messagesContainer,
4227
+ class: "q-chatbot__content"
4174
4228
  }, [
4175
- (openBlock(true), createElementBlock(Fragment, null, renderList(sortedMessages.value, (message) => {
4176
- return openBlock(), createElementBlock("div", {
4177
- key: message.id,
4178
- class: normalizeClass([
4179
- "q-chatbot__message-wrapper",
4180
- {
4181
- "q-chatbot__message-wrapper_right": message.sender == "user"
4182
- }
4183
- ])
4184
- }, [
4185
- message.sender == "bot" ? (openBlock(), createElementBlock("img", {
4186
- key: 0,
4187
- src: unref(ChatBotIcon),
4188
- alt: "",
4189
- class: "q-chatbot__profile"
4190
- }, null, 8, _hoisted_3)) : createCommentVNode("", true),
4191
- createElementVNode("div", _hoisted_4, [
4192
- unref(isLoading) && !message.text ? (openBlock(), createElementBlock("div", _hoisted_5, _hoisted_9)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
4193
- message.text && message.sender == "bot" ? (openBlock(), createElementBlock("div", _hoisted_10, toDisplayString(getSenderName(message.sender) + " " + getConvertedTime(message.timestamp)), 1)) : createCommentVNode("", true),
4194
- message.text && message.sender == "user" ? (openBlock(), createElementBlock("div", _hoisted_11, toDisplayString(getConvertedTime(message.timestamp)), 1)) : createCommentVNode("", true),
4195
- message.sender == "bot" ? (openBlock(), createElementBlock("div", {
4196
- key: 2,
4197
- class: "q-chatbot__text",
4198
- innerHTML: message.text
4199
- }, null, 8, _hoisted_12)) : (openBlock(), createElementBlock("div", _hoisted_13, toDisplayString(message.text), 1))
4200
- ], 64))
4201
- ])
4202
- ], 2);
4203
- }), 128))
4229
+ createElementVNode("div", _hoisted_2, [
4230
+ createVNode(unref(fe), {
4231
+ title: props.texts.qButtonTitle,
4232
+ "b-style": "plain",
4233
+ class: "clear-btn",
4234
+ disabled: unref(isChatDisabled),
4235
+ borderless: "",
4236
+ onClick: clearChat
4237
+ }, {
4238
+ default: withCtx(() => [
4239
+ createVNode(unref(ee), { icon: "bin" })
4240
+ ]),
4241
+ _: 1
4242
+ }, 8, ["title", "disabled"])
4243
+ ]),
4244
+ createElementVNode("div", _hoisted_3, [
4245
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(messages), (message) => {
4246
+ return openBlock(), createElementBlock("div", {
4247
+ key: message.id,
4248
+ class: normalizeClass(getMessageClasses)
4249
+ }, [
4250
+ createVNode(unref(_sfc_main$1), mergeProps(message, {
4251
+ loading: unref(isLoading) && !message.message
4252
+ }), null, 16, ["loading"])
4253
+ ]);
4254
+ }), 128))
4255
+ ])
4204
4256
  ], 512),
4205
4257
  createVNode(unref(zo), {
4206
4258
  size: "block",
package/dist/style.css CHANGED
@@ -13,23 +13,51 @@
13
13
  .q-chatbot__input {
14
14
  flex: 1;
15
15
  }
16
+ .q-chatbot .clear-btn {
17
+ color: red;
18
+ }
16
19
  .q-chatbot__content {
17
20
  background-color: white;
18
21
  border: 1px solid #eaebec;
19
22
  height: 100%;
20
23
  width: 100%;
21
- padding: 2rem 1rem;
22
24
  display: flex;
23
25
  flex-direction: column;
24
26
  overflow: auto;
25
27
  gap: 1.5rem;
26
28
  }
27
- .q-chatbot__message-wrapper {
29
+ .q-chatbot__messages-container {
30
+ display: flex;
31
+ flex-direction: column;
32
+ padding: 0 1rem 2rem 1rem;
33
+ gap: 1.5rem;
34
+ }
35
+ .q-chatbot__messages-wrapper {
36
+ display: flex;
37
+ max-width: 100%;
38
+ gap: 0.2rem;
39
+ }
40
+ .q-chatbot__messages-wrapper_right {
41
+ justify-content: flex-end;
42
+ }
43
+ .q-chatbot__tools {
28
44
  display: flex;
45
+ flex-direction: row;
46
+ justify-content: end;
29
47
  max-width: 100%;
48
+ }
49
+ .q-chatbot__message-wrapper {
50
+ display: flex;
51
+ flex-direction: column;
30
52
  gap: 0.2rem;
31
53
  }
32
- .q-chatbot__message-wrapper_right {
54
+ .q-chatbot__message-container {
55
+ display: flex;
56
+ flex-direction: row;
57
+ align-items: center;
58
+ gap: 0.5rem;
59
+ }
60
+ .q-chatbot__messages-wrapper_right {
33
61
  justify-content: flex-end;
34
62
  }
35
63
  .q-chatbot__profile {
@@ -38,55 +66,21 @@
38
66
  width: 2rem;
39
67
  }
40
68
  .q-chatbot__message {
41
- position: relative;
42
- margin: 0rem 0.5rem;
43
- max-width: 75%;
69
+ min-width: 4rem;
44
70
  display: flex;
45
71
  align-items: center;
46
72
  padding: 0.3rem 0.5rem;
47
73
  background-color: #eaebec;
48
74
  white-space: normal;
75
+ min-height: 2rem;
49
76
  }
50
- .q-chatbot__message-wrapper_right .q-chatbot__message {
77
+ .q-chatbot__messages-wrapper_right .q-chatbot__message {
51
78
  background-color: rgba(1, 139, 210, 0.2);
52
79
  }
53
80
  .q-chatbot__sender {
54
81
  white-space: nowrap;
55
- position: absolute;
56
- color: #7c858d;
57
- font-size: 0.7rem;
58
- left: 0;
59
- top: -1rem;
60
- }
61
- .q-chatbot__timestamp {
62
- white-space: nowrap;
63
- position: absolute;
64
82
  color: #7c858d;
65
83
  font-size: 0.7rem;
66
- right: 0;
67
- top: -1rem;
68
- }
69
- .q-chatbot__message-loading {
70
- display: flex;
71
- justify-content: center;
72
- align-items: center;
73
- gap: 0.3rem;
74
- }
75
- .q-chatbot__message-loading div {
76
- background-color: rgba(1, 139, 210, 0.2);
77
- border-radius: 50%;
78
- width: 0.5rem;
79
- height: 0.5rem;
80
- animation: dotPulse 1.5s infinite;
81
- }
82
- .q-chatbot__message-loading div:nth-child(1) {
83
- animation-delay: 0s;
84
- }
85
- .q-chatbot__message-loading div:nth-child(2) {
86
- animation-delay: 0.5s;
87
- }
88
- .q-chatbot__message-loading div:nth-child(3) {
89
- animation-delay: 1s;
90
84
  }
91
85
 
92
86
  @keyframes dotPulse {
@@ -1,6 +1,10 @@
1
1
  export type ChatBotMessage = {
2
2
  id: number;
3
- text: string;
4
- timestamp: Date;
3
+ message: string;
4
+ date: Date;
5
5
  sender: 'bot' | 'user';
6
6
  };
7
+ export type ChatBotMessageContent = {
8
+ content: string;
9
+ type: string;
10
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@quidgest/chatbot",
3
3
  "private": false,
4
- "version": "0.0.2",
4
+ "version": "0.0.4",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
7
7
  "main": "dist/index.cjs",