@lilaquadrat/chat 0.1.0 → 0.1.2

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.
@@ -12124,6 +12124,7 @@ const en$2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty
12124
12124
  }, Symbol.toStringTag, { value: "Module" }));
12125
12125
  const DEFAULT_LOCALE = "en";
12126
12126
  const SUPPORTED_LOCALES = ["en", "de"];
12127
+ const localeModules = /* @__PURE__ */ Object.assign({ "../locales/de.ts": () => Promise.resolve().then(() => de$1), "../locales/en.ts": () => Promise.resolve().then(() => en$2) });
12127
12128
  function detectBrowserLocale() {
12128
12129
  if (typeof navigator === "undefined") return DEFAULT_LOCALE;
12129
12130
  const candidates = [
@@ -12152,10 +12153,9 @@ async function loadLocale(locale) {
12152
12153
  const global2 = i18n.global;
12153
12154
  if (!global2.availableLocales.includes(current)) {
12154
12155
  try {
12155
- const messages = (await import(
12156
- /* @vite-ignore */
12157
- `../locales/${current}.ts`
12158
- )).default;
12156
+ const loader = localeModules[`../locales/${current}.ts`];
12157
+ if (!loader) throw new Error(`No locale module for ${current}`);
12158
+ const messages = (await loader()).default;
12159
12159
  global2.setLocaleMessage(current, messages);
12160
12160
  } catch (e) {
12161
12161
  if (current !== DEFAULT_LOCALE) {
@@ -14854,6 +14854,8 @@ const useMainStore = /* @__PURE__ */ defineStore("main", () => {
14854
14854
  const apiUrl = /* @__PURE__ */ ref("http://localhost:3000");
14855
14855
  const mediaUrl = /* @__PURE__ */ ref("http://localhost:3000");
14856
14856
  const authToken = /* @__PURE__ */ ref("devToken");
14857
+ const unreadCallback = /* @__PURE__ */ ref();
14858
+ const closeCallback = /* @__PURE__ */ ref();
14857
14859
  function setViewMode(newViewMode) {
14858
14860
  viewMode.value = newViewMode;
14859
14861
  }
@@ -14884,6 +14886,8 @@ const useMainStore = /* @__PURE__ */ defineStore("main", () => {
14884
14886
  apiUrl,
14885
14887
  mediaUrl,
14886
14888
  authToken,
14889
+ unreadCallback,
14890
+ closeCallback,
14887
14891
  showConversations,
14888
14892
  showNewChat,
14889
14893
  showEditChat,
@@ -14994,6 +14998,13 @@ const useUsersCacheStore = /* @__PURE__ */ defineStore("usersCache", () => {
14994
14998
  const useConversationsStore = /* @__PURE__ */ defineStore("conversations", () => {
14995
14999
  const conversations = /* @__PURE__ */ ref([]);
14996
15000
  const activeConversation = /* @__PURE__ */ ref();
15001
+ const unreadConversations = computed(
15002
+ () => conversations.value.filter((conversation) => conversation.unread)
15003
+ );
15004
+ const totalUnreadCount = computed(
15005
+ () => unreadConversations.value.reduce((sum, conversation) => sum + (conversation.unreadCount || 0), 0)
15006
+ );
15007
+ const totalUnreadConversations = computed(() => unreadConversations.value.length);
14997
15008
  const typing = /* @__PURE__ */ ref({});
14998
15009
  const typingTimers = /* @__PURE__ */ new Map();
14999
15010
  function setTyping(conversation, user, isTyping) {
@@ -15281,6 +15292,9 @@ const useConversationsStore = /* @__PURE__ */ defineStore("conversations", () =>
15281
15292
  return {
15282
15293
  getAllConversations,
15283
15294
  conversations,
15295
+ unreadConversations,
15296
+ totalUnreadCount,
15297
+ totalUnreadConversations,
15284
15298
  typing,
15285
15299
  setTyping,
15286
15300
  loadParticipants,
@@ -15318,22 +15332,22 @@ const useConversationsStore = /* @__PURE__ */ defineStore("conversations", () =>
15318
15332
  leave
15319
15333
  };
15320
15334
  });
15321
- const _hoisted_1$b = { class: "conversations-module" };
15322
- const _hoisted_2$6 = ["onClick"];
15323
- const _hoisted_3$4 = { class: "time" };
15335
+ const _hoisted_1$e = { class: "conversations-module" };
15336
+ const _hoisted_2$a = ["onClick"];
15337
+ const _hoisted_3$6 = { class: "time" };
15324
15338
  const _hoisted_4$3 = {
15325
15339
  key: 3,
15326
15340
  class: "lastMessage"
15327
15341
  };
15328
- const _hoisted_5$2 = {
15342
+ const _hoisted_5$3 = {
15329
15343
  key: 4,
15330
15344
  class: "unread"
15331
15345
  };
15332
- const _hoisted_6$1 = {
15346
+ const _hoisted_6$2 = {
15333
15347
  key: 5,
15334
15348
  class: "draft"
15335
15349
  };
15336
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
15350
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
15337
15351
  __name: "conversations.module",
15338
15352
  setup(__props) {
15339
15353
  const conversationsStore = useConversationsStore();
@@ -15369,7 +15383,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
15369
15383
  });
15370
15384
  return (_ctx, _cache) => {
15371
15385
  const _component_participants_partial = resolveComponent("participants-partial");
15372
- return openBlock(), createElementBlock("section", _hoisted_1$b, [
15386
+ return openBlock(), createElementBlock("section", _hoisted_1$e, [
15373
15387
  (openBlock(true), createElementBlock(Fragment, null, renderList(conversations.value, (conversation) => {
15374
15388
  return openBlock(), createElementBlock("article", {
15375
15389
  key: conversation._id,
@@ -15386,17 +15400,17 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
15386
15400
  participants: conversation.participants,
15387
15401
  "remove-user": ""
15388
15402
  }, null, 8, ["participants"])),
15389
- createBaseVNode("span", _hoisted_3$4, toDisplayString$1(unref(dayjs)(conversation.lastMessage?.history.created).fromNow()), 1),
15403
+ createBaseVNode("span", _hoisted_3$6, toDisplayString$1(unref(dayjs)(conversation.lastMessage?.history.created).fromNow()), 1),
15390
15404
  conversation.lastMessage ? (openBlock(), createElementBlock("p", _hoisted_4$3, toDisplayString$1(conversation.lastMessage.message), 1)) : createCommentVNode("", true),
15391
- conversation.unread ? (openBlock(), createElementBlock("span", _hoisted_5$2, toDisplayString$1(conversation.unreadCount), 1)) : createCommentVNode("", true),
15392
- conversation.isNew ? (openBlock(), createElementBlock("span", _hoisted_6$1, "draft")) : createCommentVNode("", true)
15393
- ], 10, _hoisted_2$6);
15405
+ conversation.unread ? (openBlock(), createElementBlock("span", _hoisted_5$3, toDisplayString$1(conversation.unreadCount), 1)) : createCommentVNode("", true),
15406
+ conversation.isNew ? (openBlock(), createElementBlock("span", _hoisted_6$2, "draft")) : createCommentVNode("", true)
15407
+ ], 10, _hoisted_2$a);
15394
15408
  }), 128))
15395
15409
  ]);
15396
15410
  };
15397
15411
  }
15398
15412
  });
15399
- const _style_0$b = ".conversations-module[data-v-31a1e26e]{display:grid;grid-auto-rows:max-content}.conversations-module .single-conversation[data-v-31a1e26e]{padding:20px;gap:5px;cursor:pointer;display:grid;grid-template-columns:1fr 1fr}.conversations-module .single-conversation .time[data-v-31a1e26e]{justify-self:end}.conversations-module .single-conversation .lastMessage[data-v-31a1e26e]{grid-column:1 / 3;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.conversations-module .single-conversation[data-v-31a1e26e]:hover{background-color:var(--scm-color-surface)}.conversations-module .single-conversation.active[data-v-31a1e26e]{background-color:color-mix(in srgb,var(--scm-color-surface) 85%,var(--scm-color-muted))}.conversations-module .single-conversation.support[data-v-31a1e26e]{font-weight:600;border-left:3px solid var(--scm-color-primary)}";
15413
+ const _style_0$f = ".conversations-module[data-v-31a1e26e]{display:grid;grid-auto-rows:max-content}.conversations-module .single-conversation[data-v-31a1e26e]{padding:20px;gap:5px;cursor:pointer;display:grid;grid-template-columns:1fr 1fr}.conversations-module .single-conversation .time[data-v-31a1e26e]{justify-self:end}.conversations-module .single-conversation .lastMessage[data-v-31a1e26e]{grid-column:1 / 3;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.conversations-module .single-conversation[data-v-31a1e26e]:hover{background-color:var(--scm-color-surface)}.conversations-module .single-conversation.active[data-v-31a1e26e]{background-color:color-mix(in srgb,var(--scm-color-surface) 85%,var(--scm-color-muted))}.conversations-module .single-conversation.support[data-v-31a1e26e]{font-weight:600;border-left:3px solid var(--scm-color-primary)}";
15400
15414
  const _export_sfc = (sfc, props) => {
15401
15415
  const target = sfc.__vccOpts || sfc;
15402
15416
  for (const [key, val] of props) {
@@ -15404,8 +15418,8 @@ const _export_sfc = (sfc, props) => {
15404
15418
  }
15405
15419
  return target;
15406
15420
  };
15407
- const ConversationsModule = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["styles", [_style_0$b]], ["__scopeId", "data-v-31a1e26e"]]);
15408
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
15421
+ const ConversationsModule = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["styles", [_style_0$f]], ["__scopeId", "data-v-31a1e26e"]]);
15422
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
15409
15423
  __name: "chats.module",
15410
15424
  setup(__props) {
15411
15425
  const conversationsStore = useConversationsStore();
@@ -15952,16 +15966,16 @@ function requireLocalizedFormat() {
15952
15966
  }
15953
15967
  var localizedFormatExports = requireLocalizedFormat();
15954
15968
  const localizedFormat = /* @__PURE__ */ getDefaultExportFromCjs(localizedFormatExports);
15955
- var de$1 = { exports: {} };
15956
- var de = de$1.exports;
15969
+ var de$3 = { exports: {} };
15970
+ var de$2 = de$3.exports;
15957
15971
  var hasRequiredDe;
15958
15972
  function requireDe() {
15959
- if (hasRequiredDe) return de$1.exports;
15973
+ if (hasRequiredDe) return de$3.exports;
15960
15974
  hasRequiredDe = 1;
15961
15975
  (function(module, exports) {
15962
15976
  !function(e, n) {
15963
15977
  module.exports = n(requireDayjs_min());
15964
- }(de, function(e) {
15978
+ }(de$2, function(e) {
15965
15979
  function n(e2) {
15966
15980
  return e2 && "object" == typeof e2 && "default" in e2 ? e2 : { default: e2 };
15967
15981
  }
@@ -15975,8 +15989,8 @@ function requireDe() {
15975
15989
  }, weekStart: 1, yearStart: 4, formats: { LTS: "HH:mm:ss", LT: "HH:mm", L: "DD.MM.YYYY", LL: "D. MMMM YYYY", LLL: "D. MMMM YYYY HH:mm", LLLL: "dddd, D. MMMM YYYY HH:mm" }, relativeTime: { future: "in %s", past: "vor %s", s: i, m: i, mm: i, h: i, hh: i, d: i, dd: i, M: i, MM: i, y: i, yy: i } };
15976
15990
  return t.default.locale(r, null, true), r;
15977
15991
  });
15978
- })(de$1);
15979
- return de$1.exports;
15992
+ })(de$3);
15993
+ return de$3.exports;
15980
15994
  }
15981
15995
  requireDe();
15982
15996
  var en$1 = { exports: {} };
@@ -16042,17 +16056,17 @@ function groupMessages(messages, user) {
16042
16056
  });
16043
16057
  return Object.values(dateGroups);
16044
16058
  }
16045
- const _hoisted_1$a = { class: "chat-messages" };
16046
- const _hoisted_2$5 = { class: "date-separator" };
16047
- const _hoisted_3$3 = { class: "message-content" };
16059
+ const _hoisted_1$d = { class: "chat-messages" };
16060
+ const _hoisted_2$9 = { class: "date-separator" };
16061
+ const _hoisted_3$5 = { class: "message-content" };
16048
16062
  const _hoisted_4$2 = ["id"];
16049
- const _hoisted_5$1 = {
16063
+ const _hoisted_5$2 = {
16050
16064
  key: 2,
16051
16065
  class: "typing-indicator"
16052
16066
  };
16053
16067
  const SCROLL_DEBOUNCE_MS = 100;
16054
16068
  const SCROLL_EDGE_PERCENT = 10;
16055
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
16069
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
16056
16070
  __name: "chat.module",
16057
16071
  props: {
16058
16072
  _id: { type: String },
@@ -16220,6 +16234,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
16220
16234
  });
16221
16235
  const showInput = computed(() => conversation.value?.isNew || conversation.value?.participant?.state === "active" && conversation.value?.participant?.rights?.includes("write"));
16222
16236
  const typingUsers = computed(() => (conversationsStore.typing[props._id || ""] || []).filter((id) => id !== user));
16237
+ const typingUserNames = computed(() => typingUsers.value.map((id) => usersCache.name(id)));
16223
16238
  onMounted(() => {
16224
16239
  updateScrollable();
16225
16240
  window.addEventListener("resize", onResize);
@@ -16234,7 +16249,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
16234
16249
  const _component_button_partial = resolveComponent("button-partial");
16235
16250
  const _component_notice_partial = resolveComponent("notice-partial");
16236
16251
  const _component_contacts_module = resolveComponent("contacts-module");
16237
- const _component_user_name_partial = resolveComponent("user-name-partial");
16252
+ const _component_user_avatar_partial = resolveComponent("user-avatar-partial");
16238
16253
  const _component_system_message_partial = resolveComponent("system-message-partial");
16239
16254
  const _component_chat_input_partial = resolveComponent("chat-input-partial");
16240
16255
  return openBlock(), createElementBlock("section", {
@@ -16280,26 +16295,26 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
16280
16295
  class: "chat-messages-scroll-container",
16281
16296
  onScroll
16282
16297
  }, [
16283
- createBaseVNode("div", _hoisted_1$a, [
16298
+ createBaseVNode("div", _hoisted_1$d, [
16284
16299
  (openBlock(true), createElementBlock(Fragment, null, renderList(groupedMessages.value, (dateGroup) => {
16285
16300
  return openBlock(), createElementBlock("div", {
16286
16301
  key: dateGroup.date,
16287
16302
  class: "messages-group"
16288
16303
  }, [
16289
- createBaseVNode("div", _hoisted_2$5, toDisplayString$1(dateGroup.date), 1),
16304
+ createBaseVNode("div", _hoisted_2$9, toDisplayString$1(dateGroup.date), 1),
16290
16305
  (openBlock(true), createElementBlock(Fragment, null, renderList(dateGroup.userTimeGroups, (group, index) => {
16291
16306
  return openBlock(), createElementBlock("div", {
16292
16307
  key: index,
16293
16308
  class: normalizeClass([[{ isUser: group.isUser }, group.origin], "message"])
16294
16309
  }, [
16295
16310
  createBaseVNode("header", null, [
16296
- !group.isUser && group.origin === "user" ? (openBlock(), createBlock(_component_user_name_partial, {
16311
+ !group.isUser && group.origin === "user" ? (openBlock(), createBlock(_component_user_avatar_partial, {
16297
16312
  key: 0,
16298
16313
  "user-id": group.user
16299
16314
  }, null, 8, ["user-id"])) : createCommentVNode("", true),
16300
16315
  createBaseVNode("time", null, toDisplayString$1(group.time), 1)
16301
16316
  ]),
16302
- createBaseVNode("div", _hoisted_3$3, [
16317
+ createBaseVNode("div", _hoisted_3$5, [
16303
16318
  (openBlock(true), createElementBlock(Fragment, null, renderList(group.messages, (message) => {
16304
16319
  return openBlock(), createElementBlock("p", {
16305
16320
  id: `message-${message.id}`,
@@ -16321,13 +16336,13 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
16321
16336
  }), 128))
16322
16337
  ])
16323
16338
  ], 544)) : createCommentVNode("", true),
16324
- typingUsers.value.length ? (openBlock(), createElementBlock("div", _hoisted_5$1, toDisplayString$1(typingUsers.value.join(", ")) + " " + toDisplayString$1(typingUsers.value.length > 1 ? "are" : "is") + " writing… ", 1)) : createCommentVNode("", true),
16339
+ typingUsers.value.length ? (openBlock(), createElementBlock("div", _hoisted_5$2, toDisplayString$1(typingUserNames.value.join(", ")) + " " + toDisplayString$1(typingUsers.value.length > 1 ? "are" : "is") + " writing… ", 1)) : createCommentVNode("", true),
16325
16340
  showInput.value ? (openBlock(), createBlock(_component_chat_input_partial, {
16326
16341
  key: 3,
16327
16342
  modelValue: messageInput.value,
16328
16343
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => messageInput.value = $event),
16329
16344
  disabled: !!newChatExists.value,
16330
- placeholder: "Type a message...",
16345
+ placeholder: "Message",
16331
16346
  onSubmit: _cache[2] || (_cache[2] = ($event) => submit(messageInput.value)),
16332
16347
  onTyping: signalTyping
16333
16348
  }, null, 8, ["modelValue", "disabled"])) : createCommentVNode("", true)
@@ -16335,8 +16350,8 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
16335
16350
  };
16336
16351
  }
16337
16352
  });
16338
- const _style_0$a = ".chat-module[data-v-44131188]{display:grid;height:100%;grid-template-rows:80px 1fr 80px;overflow:hidden}.chat-module.isNew[data-v-44131188]{grid-template-rows:80px 1fr 80px}.chat-module .notice-partial[data-v-44131188]{position:absolute;align-self:center;justify-self:center;z-index:100}.chat-module .chat-messages-scroll-container[data-v-44131188]{overflow-y:auto;position:relative;padding-bottom:50px;display:grid}.chat-module .chat-messages-scroll-container .chat-messages[data-v-44131188]{display:grid;grid-auto-rows:max-content;align-content:end}.chat-module .chat-messages-scroll-container .chat-messages .messages-group[data-v-44131188]{display:grid;gap:20px;margin:0 20px;grid-auto-rows:max-content;align-content:end}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message[data-v-44131188]{display:grid;grid-template-rows:auto auto;gap:5px;justify-self:start;width:max-content}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message.system[data-v-44131188]{width:100%;text-align:center;align-content:center;justify-content:center}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message.system header[data-v-44131188]{justify-content:center;grid-template-columns:1fr}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message.system header time[data-v-44131188]{text-align:center;color:var(--scm-color-muted);font-size:12px}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message.system .message-content p[data-v-44131188]{background-color:transparent;padding:0;color:var(--scm-color-muted);font-size:12px;white-space:pre-wrap}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message header[data-v-44131188]{display:grid;grid-template-columns:max-content max-content;gap:10px;width:100%;font-size:14px}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message header time[data-v-44131188]{text-align:right}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message .message-content[data-v-44131188]{display:grid;gap:4px}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message .message-content p[data-v-44131188]{padding:10px;border-radius:5px;background-color:var(--scm-color-primary);color:#fff;width:max-content;justify-self:start;white-space:pre-wrap;font-size:14px}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message.isUser[data-v-44131188]{justify-self:end}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message.isUser p[data-v-44131188]{justify-self:end;background-color:var(--scm-color-own);color:#fff}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message.isUser header[data-v-44131188]{grid-template-columns:1fr}.chat-module .typing-indicator[data-v-44131188]{padding:4px 20px;font-size:12px;color:var(--scm-color-muted);font-style:italic}.chat-module .date-separator[data-v-44131188]{text-align:center;padding:20px 0;font-size:.875rem;font-weight:700}";
16339
- const ChatModule = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["styles", [_style_0$a]], ["__scopeId", "data-v-44131188"]]);
16353
+ const _style_0$e = ".chat-module[data-v-5c5c2e96]{display:grid;height:100%;grid-template-rows:max-content 1fr max-content;overflow:hidden}.chat-module.isNew[data-v-5c5c2e96]{grid-template-rows:max-content 1fr max-content}.chat-module .notice-partial[data-v-5c5c2e96]{position:absolute;align-self:center;justify-self:center;z-index:100}.chat-module .chat-messages-scroll-container[data-v-5c5c2e96]{overflow-y:auto;position:relative;padding-bottom:50px;display:grid}.chat-module .chat-messages-scroll-container .chat-messages[data-v-5c5c2e96]{display:grid;grid-auto-rows:max-content;align-content:end}.chat-module .chat-messages-scroll-container .chat-messages .messages-group[data-v-5c5c2e96]{display:grid;gap:20px;margin:0 20px;grid-auto-rows:max-content;align-content:end}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message[data-v-5c5c2e96]{display:grid;grid-template-rows:auto auto;gap:10px;justify-self:start}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message.system[data-v-5c5c2e96]{width:100%;text-align:center;align-content:center;justify-content:center}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message.system header[data-v-5c5c2e96]{justify-content:center;grid-template-columns:1fr}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message.system header time[data-v-5c5c2e96]{text-align:center;color:var(--scm-color-muted);font-size:.75em}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message.system .message-content p[data-v-5c5c2e96]{background-color:transparent;padding:0;color:var(--scm-color-muted);font-size:.75em;white-space:pre-wrap}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message header[data-v-5c5c2e96]{display:grid;grid-template-columns:max-content max-content;gap:10px;width:100%;font-size:.875em}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message header time[data-v-5c5c2e96]{text-align:right}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message .message-content[data-v-5c5c2e96]{display:grid;gap:4px}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message .message-content p[data-v-5c5c2e96]{padding:10px;border-radius:5px;background-color:var(--scm-color-primary);color:#fff;justify-self:start;white-space:pre-wrap;font-size:1em}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message.isUser[data-v-5c5c2e96]{justify-self:end}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message.isUser p[data-v-5c5c2e96]{justify-self:end;background-color:var(--scm-color-own);color:#fff}.chat-module .chat-messages-scroll-container .chat-messages .messages-group .message.isUser header[data-v-5c5c2e96]{grid-template-columns:1fr}.chat-module .typing-indicator[data-v-5c5c2e96]{padding:4px 20px;font-size:.75em;color:var(--scm-color-muted);font-style:italic}.chat-module .date-separator[data-v-5c5c2e96]{text-align:center;padding:20px 0;font-size:.875em;font-weight:700}";
16354
+ const ChatModule = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["styles", [_style_0$e]], ["__scopeId", "data-v-5c5c2e96"]]);
16340
16355
  function sdkOptions() {
16341
16356
  const mainStore = useMainStore();
16342
16357
  return {
@@ -16364,24 +16379,24 @@ const useContactsStore = /* @__PURE__ */ defineStore("contacts", () => {
16364
16379
  loadUsers
16365
16380
  };
16366
16381
  });
16367
- const _hoisted_1$9 = { class: "contacts-module" };
16368
- const _hoisted_2$4 = {
16382
+ const _hoisted_1$c = { class: "contacts-module" };
16383
+ const _hoisted_2$8 = {
16369
16384
  key: 0,
16370
16385
  class: "controls"
16371
16386
  };
16372
- const _hoisted_3$2 = {
16387
+ const _hoisted_3$4 = {
16373
16388
  key: 1,
16374
16389
  class: "rights-panel"
16375
16390
  };
16376
16391
  const _hoisted_4$1 = { class: "who" };
16377
- const _hoisted_5 = { class: "rights" };
16378
- const _hoisted_6 = ["checked", "onChange"];
16379
- const _hoisted_7 = ["onClick", "onKeydown"];
16380
- const _hoisted_8 = {
16392
+ const _hoisted_5$1 = { class: "rights" };
16393
+ const _hoisted_6$1 = ["checked", "onChange"];
16394
+ const _hoisted_7$1 = ["onClick", "onKeydown"];
16395
+ const _hoisted_8$1 = {
16381
16396
  key: 0,
16382
16397
  class: "selected-indicator"
16383
16398
  };
16384
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
16399
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
16385
16400
  __name: "contacts.module",
16386
16401
  setup(__props) {
16387
16402
  const mainStore = useMainStore();
@@ -16482,9 +16497,9 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
16482
16497
  }
16483
16498
  return (_ctx, _cache) => {
16484
16499
  const _component_button_partial = resolveComponent("button-partial");
16485
- const _component_user_name_partial = resolveComponent("user-name-partial");
16486
- return openBlock(), createElementBlock("article", _hoisted_1$9, [
16487
- isEdit.value ? (openBlock(), createElementBlock("section", _hoisted_2$4, [
16500
+ const _component_user_avatar_partial = resolveComponent("user-avatar-partial");
16501
+ return openBlock(), createElementBlock("article", _hoisted_1$c, [
16502
+ isEdit.value ? (openBlock(), createElementBlock("section", _hoisted_2$8, [
16488
16503
  createVNode(_component_button_partial, {
16489
16504
  variant: "primary",
16490
16505
  size: "sm",
@@ -16507,7 +16522,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
16507
16522
  _: 1
16508
16523
  })
16509
16524
  ])) : createCommentVNode("", true),
16510
- isEdit.value ? (openBlock(), createElementBlock("section", _hoisted_3$2, [
16525
+ isEdit.value ? (openBlock(), createElementBlock("section", _hoisted_3$4, [
16511
16526
  _cache[3] || (_cache[3] = createBaseVNode("h4", null, "participant rights", -1)),
16512
16527
  createBaseVNode("ul", null, [
16513
16528
  (openBlock(true), createElementBlock(Fragment, null, renderList(participantDocs.value, (doc2) => {
@@ -16516,13 +16531,13 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
16516
16531
  class: "participant-rights"
16517
16532
  }, [
16518
16533
  createBaseVNode("span", _hoisted_4$1, [
16519
- createVNode(_component_user_name_partial, {
16534
+ createVNode(_component_user_avatar_partial, {
16520
16535
  "user-id": doc2.user
16521
16536
  }, null, 8, ["user-id"]),
16522
16537
  _cache[2] || (_cache[2] = createTextVNode()),
16523
16538
  createBaseVNode("em", null, "(" + toDisplayString$1(doc2.state) + ")", 1)
16524
16539
  ]),
16525
- createBaseVNode("span", _hoisted_5, [
16540
+ createBaseVNode("span", _hoisted_5$1, [
16526
16541
  (openBlock(), createElementBlock(Fragment, null, renderList(RIGHTS, (right) => {
16527
16542
  return createBaseVNode("label", {
16528
16543
  key: right,
@@ -16532,7 +16547,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
16532
16547
  type: "checkbox",
16533
16548
  checked: hasRight(doc2, right),
16534
16549
  onChange: ($event) => toggleRight(doc2, right)
16535
- }, null, 40, _hoisted_6),
16550
+ }, null, 40, _hoisted_6$1),
16536
16551
  createTextVNode(" " + toDisplayString$1(right), 1)
16537
16552
  ]);
16538
16553
  }), 64))
@@ -16561,21 +16576,21 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
16561
16576
  onClick: ($event) => toggleContact(contact),
16562
16577
  onKeydown: ($event) => handleKeydown($event, contact)
16563
16578
  }, [
16564
- createVNode(_component_user_name_partial, {
16579
+ createVNode(_component_user_avatar_partial, {
16565
16580
  "user-id": contact.id
16566
16581
  }, null, 8, ["user-id"]),
16567
- contact.inConversation ? (openBlock(), createElementBlock("span", _hoisted_8, "✓")) : createCommentVNode("", true)
16568
- ], 42, _hoisted_7);
16582
+ contact.inConversation ? (openBlock(), createElementBlock("span", _hoisted_8$1, "✓")) : createCommentVNode("", true)
16583
+ ], 42, _hoisted_7$1);
16569
16584
  }), 128))
16570
16585
  ])
16571
16586
  ]);
16572
16587
  };
16573
16588
  }
16574
16589
  });
16575
- const _style_0$9 = ".contacts-module[data-v-f09a925f]{height:100%;overflow:scroll}.contacts-module .controls[data-v-f09a925f]{display:grid;grid-template-columns:1fr 1fr}.contacts-module .rights-panel[data-v-f09a925f]{padding:10px 20px;border-bottom:1px solid var(--scm-color-surface)}.contacts-module .rights-panel h4[data-v-f09a925f]{margin-bottom:10px}.contacts-module .rights-panel .participant-rights[data-v-f09a925f]{display:grid;gap:5px;padding:10px 0}.contacts-module .rights-panel .participant-rights .rights[data-v-f09a925f]{display:flex;flex-wrap:wrap;gap:10px}.contacts-module .rights-panel .participant-rights .rights .right-toggle[data-v-f09a925f]{cursor:pointer;font-size:13px}.contacts-module .rights-panel .participant-rights .who em[data-v-f09a925f]{color:var(--scm-color-muted)}.contacts-module .single-contact[data-v-f09a925f]{padding:20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.contacts-module .single-contact[data-v-f09a925f]:hover{background-color:var(--scm-color-surface)}.contacts-module .single-contact.selected[data-v-f09a925f]{background-color:color-mix(in srgb,var(--scm-color-primary) 15%,transparent)}.contacts-module .single-contact .selected-indicator[data-v-f09a925f]{color:var(--scm-color-primary);font-weight:700}";
16576
- const ContactsModule = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["styles", [_style_0$9]], ["__scopeId", "data-v-f09a925f"]]);
16577
- const _hoisted_1$8 = { class: "participants-partial" };
16578
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
16590
+ const _style_0$d = ".contacts-module[data-v-045be51e]{height:100%;overflow:scroll}.contacts-module .controls[data-v-045be51e]{display:grid;grid-template-columns:1fr 1fr}.contacts-module .rights-panel[data-v-045be51e]{padding:10px 20px;border-bottom:1px solid var(--scm-color-surface)}.contacts-module .rights-panel h4[data-v-045be51e]{margin-bottom:10px}.contacts-module .rights-panel .participant-rights[data-v-045be51e]{display:grid;gap:5px;padding:10px 0}.contacts-module .rights-panel .participant-rights .rights[data-v-045be51e]{display:flex;flex-wrap:wrap;gap:10px}.contacts-module .rights-panel .participant-rights .rights .right-toggle[data-v-045be51e]{cursor:pointer;font-size:.8125em}.contacts-module .rights-panel .participant-rights .who em[data-v-045be51e]{color:var(--scm-color-muted)}.contacts-module .single-contact[data-v-045be51e]{padding:20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.contacts-module .single-contact[data-v-045be51e]:hover{background-color:var(--scm-color-surface)}.contacts-module .single-contact.selected[data-v-045be51e]{background-color:color-mix(in srgb,var(--scm-color-primary) 15%,transparent)}.contacts-module .single-contact .selected-indicator[data-v-045be51e]{color:var(--scm-color-primary);font-weight:700}";
16591
+ const ContactsModule = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["styles", [_style_0$d]], ["__scopeId", "data-v-045be51e"]]);
16592
+ const _hoisted_1$b = { class: "participants-partial" };
16593
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
16579
16594
  __name: "participants.partial",
16580
16595
  props: {
16581
16596
  participants: { type: Array },
@@ -16592,15 +16607,15 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
16592
16607
  return props.participants;
16593
16608
  });
16594
16609
  return (_ctx, _cache) => {
16595
- const _component_user_name_partial = resolveComponent("user-name-partial");
16596
- return openBlock(), createElementBlock("section", _hoisted_1$8, [
16610
+ const _component_user_avatar_partial = resolveComponent("user-avatar-partial");
16611
+ return openBlock(), createElementBlock("section", _hoisted_1$b, [
16597
16612
  __props.isNew && !filteredParticipants.value.length ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
16598
16613
  createTextVNode(toDisplayString$1(_ctx.$t("select contacts")), 1)
16599
16614
  ], 64)) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(filteredParticipants.value, (participant, index) => {
16600
16615
  return openBlock(), createElementBlock(Fragment, {
16601
16616
  key: unref(participantId)(participant)
16602
16617
  }, [
16603
- createVNode(_component_user_name_partial, {
16618
+ createVNode(_component_user_avatar_partial, {
16604
16619
  "user-id": unref(participantId)(participant)
16605
16620
  }, null, 8, ["user-id"]),
16606
16621
  index < filteredParticipants.value.length - 1 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
@@ -16612,17 +16627,18 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
16612
16627
  };
16613
16628
  }
16614
16629
  });
16615
- const _style_0$8 = "";
16616
- const ParticipantsPartial = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["styles", [_style_0$8]], ["__scopeId", "data-v-50fd6d86"]]);
16617
- const _hoisted_1$7 = { class: "actions" };
16618
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
16630
+ const _style_0$c = "";
16631
+ const ParticipantsPartial = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["styles", [_style_0$c]], ["__scopeId", "data-v-f06a1cdf"]]);
16632
+ const _hoisted_1$a = { class: "actions" };
16633
+ const _hoisted_2$7 = { class: "left" };
16634
+ const _hoisted_3$3 = { class: "right" };
16635
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
16619
16636
  __name: "actions.partial",
16620
16637
  setup(__props) {
16621
16638
  const mainStore = useMainStore();
16622
16639
  const conversationsStore = useConversationsStore();
16623
16640
  const userStore = useUserStore();
16624
16641
  const hasChat = computed(() => mainStore.hasChat);
16625
- const hasSupport = computed(() => mainStore.hasSupport);
16626
16642
  const showConversationsButton = computed(
16627
16643
  () => hasChat.value || conversationsStore.conversations.length > 1
16628
16644
  );
@@ -16631,51 +16647,50 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
16631
16647
  conversationsStore.activateConversation(tempId);
16632
16648
  mainStore.showNewChat();
16633
16649
  };
16634
- const startSupport = () => {
16635
- conversationsStore.startSupport();
16636
- mainStore.hideLeft();
16637
- };
16638
16650
  function showConversations() {
16639
16651
  mainStore.showConversations();
16640
16652
  }
16653
+ function close() {
16654
+ if (mainStore.leftTarget === "contacts-edit" || mainStore.leftTarget === "contacts-new") {
16655
+ mainStore.showConversations();
16656
+ return;
16657
+ }
16658
+ mainStore.closeCallback?.();
16659
+ }
16641
16660
  return (_ctx, _cache) => {
16642
16661
  const _component_button_partial = resolveComponent("button-partial");
16643
- return openBlock(), createElementBlock("section", _hoisted_1$7, [
16644
- showConversationsButton.value ? (openBlock(), createBlock(_component_button_partial, {
16645
- key: 0,
16646
- variant: "secondary",
16647
- onClick: showConversations
16648
- }, {
16649
- default: withCtx(() => [
16650
- createTextVNode(toDisplayString$1(_ctx.$t("conversations")), 1)
16651
- ]),
16652
- _: 1
16653
- })) : createCommentVNode("", true),
16654
- hasChat.value ? (openBlock(), createBlock(_component_button_partial, {
16655
- key: 1,
16656
- onClick: createConversation
16657
- }, {
16658
- default: withCtx(() => [
16659
- createTextVNode(toDisplayString$1(_ctx.$t("new chat")), 1)
16660
- ]),
16661
- _: 1
16662
- })) : createCommentVNode("", true),
16663
- hasChat.value && hasSupport.value ? (openBlock(), createBlock(_component_button_partial, {
16664
- key: 2,
16665
- variant: "secondary",
16666
- onClick: startSupport
16667
- }, {
16668
- default: withCtx(() => [
16669
- createTextVNode(toDisplayString$1(_ctx.$t("contact support")), 1)
16670
- ]),
16671
- _: 1
16672
- })) : createCommentVNode("", true)
16662
+ return openBlock(), createElementBlock("section", _hoisted_1$a, [
16663
+ createBaseVNode("section", _hoisted_2$7, [
16664
+ showConversationsButton.value ? (openBlock(), createBlock(_component_button_partial, {
16665
+ key: 0,
16666
+ icon: "chat",
16667
+ variant: "secondary",
16668
+ "aria-label": "Conversations",
16669
+ onClick: showConversations
16670
+ })) : createCommentVNode("", true),
16671
+ hasChat.value ? (openBlock(), createBlock(_component_button_partial, {
16672
+ key: 1,
16673
+ icon: "add",
16674
+ "aria-label": "New chat",
16675
+ onClick: createConversation
16676
+ })) : createCommentVNode("", true)
16677
+ ]),
16678
+ createBaseVNode("section", _hoisted_3$3, [
16679
+ createVNode(_component_button_partial, {
16680
+ icon: "close",
16681
+ variant: "ghost",
16682
+ onClick: close
16683
+ })
16684
+ ])
16673
16685
  ]);
16674
16686
  };
16675
16687
  }
16676
16688
  });
16677
- const _hoisted_1$6 = { key: 0 };
16678
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
16689
+ const _style_0$b = ".actions[data-v-b803cf6d]{display:grid;grid-template-columns:max-content 1fr max-content;width:100%;grid-column:1/3}.actions .left[data-v-b803cf6d]{grid-column:1/2;display:flex}.actions .right[data-v-b803cf6d]{grid-column:3/4}";
16690
+ const ActionsPartial = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["styles", [_style_0$b]], ["__scopeId", "data-v-b803cf6d"]]);
16691
+ const _hoisted_1$9 = { class: "background-container" };
16692
+ const _hoisted_2$6 = { key: 0 };
16693
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
16679
16694
  __name: "chat-header.partial",
16680
16695
  props: {
16681
16696
  conversation: { type: String }
@@ -16745,50 +16760,52 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
16745
16760
  return openBlock(), createElementBlock("header", {
16746
16761
  class: normalizeClass(["chat-header", { isSupport: isSupport.value }])
16747
16762
  }, [
16748
- createBaseVNode("h3", null, [
16749
- !isSupport.value ? (openBlock(), createBlock(_component_name_edit_partial, {
16750
- key: 0,
16763
+ createBaseVNode("section", _hoisted_1$9, [
16764
+ createBaseVNode("h3", null, [
16765
+ !isSupport.value ? (openBlock(), createBlock(_component_name_edit_partial, {
16766
+ key: 0,
16767
+ conversation: __props.conversation
16768
+ }, {
16769
+ default: withCtx(() => [
16770
+ createTextVNode(toDisplayString$1(name.value), 1)
16771
+ ]),
16772
+ _: 1
16773
+ }, 8, ["conversation"])) : createCommentVNode("", true),
16774
+ isSupport.value ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
16775
+ createTextVNode(toDisplayString$1(_ctx.$t("support")), 1)
16776
+ ], 64)) : createCommentVNode("", true)
16777
+ ]),
16778
+ !isSupport.value && conversationData.value ? (openBlock(), createElementBlock("h4", _hoisted_2$6, [
16779
+ createVNode(_component_participants_partial, {
16780
+ participants: conversationData.value.participants,
16781
+ "remove-user": "",
16782
+ "is-new": isNew.value
16783
+ }, null, 8, ["participants", "is-new"]),
16784
+ !isNew.value ? (openBlock(), createBlock(_component_button_partial, {
16785
+ key: 0,
16786
+ size: "sm",
16787
+ variant: "ghost",
16788
+ "aria-label": "Toggle edit mode",
16789
+ onClick: _cache[0] || (_cache[0] = ($event) => toggleEdit())
16790
+ }, {
16791
+ default: withCtx(() => [..._cache[1] || (_cache[1] = [
16792
+ createTextVNode(" edit ", -1)
16793
+ ])]),
16794
+ _: 1
16795
+ })) : createCommentVNode("", true)
16796
+ ])) : createCommentVNode("", true),
16797
+ !isSupport.value && !isNew.value ? (openBlock(), createBlock(_component_chat_actions_partial, {
16798
+ key: 1,
16751
16799
  conversation: __props.conversation
16752
- }, {
16753
- default: withCtx(() => [
16754
- createTextVNode(toDisplayString$1(name.value), 1)
16755
- ]),
16756
- _: 1
16757
- }, 8, ["conversation"])) : createCommentVNode("", true),
16758
- isSupport.value ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
16759
- createTextVNode(toDisplayString$1(_ctx.$t("support")), 1)
16760
- ], 64)) : createCommentVNode("", true)
16761
- ]),
16762
- !isSupport.value && conversationData.value ? (openBlock(), createElementBlock("h4", _hoisted_1$6, [
16763
- createVNode(_component_participants_partial, {
16764
- participants: conversationData.value.participants,
16765
- "remove-user": "",
16766
- "is-new": isNew.value
16767
- }, null, 8, ["participants", "is-new"]),
16768
- !isNew.value ? (openBlock(), createBlock(_component_button_partial, {
16769
- key: 0,
16770
- size: "sm",
16771
- variant: "ghost",
16772
- "aria-label": "Toggle edit mode",
16773
- onClick: _cache[0] || (_cache[0] = ($event) => toggleEdit())
16774
- }, {
16775
- default: withCtx(() => [..._cache[1] || (_cache[1] = [
16776
- createTextVNode(" edit ", -1)
16777
- ])]),
16778
- _: 1
16779
- })) : createCommentVNode("", true)
16780
- ])) : createCommentVNode("", true),
16781
- !isSupport.value && !isNew.value ? (openBlock(), createBlock(_component_chat_actions_partial, {
16782
- key: 1,
16783
- conversation: __props.conversation
16784
- }, null, 8, ["conversation"])) : createCommentVNode("", true)
16800
+ }, null, 8, ["conversation"])) : createCommentVNode("", true)
16801
+ ])
16785
16802
  ], 2);
16786
16803
  };
16787
16804
  }
16788
16805
  });
16789
- const _style_0$7 = ".chat-header[data-v-722341c2]{display:grid;grid-template-columns:5fr 1fr;grid-template-rows:1fr 1fr;width:100%;padding:0 20px;align-items:center}.chat-header h3[data-v-722341c2],.chat-header h4[data-v-722341c2]{grid-column:1 / 2}.chat-header h3[data-v-722341c2]{grid-row:1}.chat-header h4[data-v-722341c2]{display:grid;grid-row:2}.chat-header .chat-actions-partial[data-v-722341c2]{justify-self:end;grid-row:1}";
16790
- const ChatHeaderPartial = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["styles", [_style_0$7]], ["__scopeId", "data-v-722341c2"]]);
16791
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
16806
+ const _style_0$a = ".chat-header[data-v-beb2ed7a]{display:grid;padding:10px 20px}.chat-header .background-container[data-v-beb2ed7a]{display:grid;grid-template-columns:5fr 1fr;grid-template-rows:1fr 1fr;align-items:center;justify-items:start;padding:0 10px;background-color:var(--scm-color-surface);border-radius:5px}.chat-header .background-container h3[data-v-beb2ed7a],.chat-header .background-container h4[data-v-beb2ed7a]{grid-column:1 / 2}.chat-header .background-container h3[data-v-beb2ed7a]{grid-row:1}.chat-header .background-container h4[data-v-beb2ed7a]{display:grid;grid-row:2}.chat-header .background-container .chat-actions-partial[data-v-beb2ed7a]{justify-self:end;grid-row:1}";
16807
+ const ChatHeaderPartial = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["styles", [_style_0$a]], ["__scopeId", "data-v-beb2ed7a"]]);
16808
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
16792
16809
  __name: "name-edit.partial",
16793
16810
  props: {
16794
16811
  conversation: { type: String }
@@ -16882,23 +16899,23 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
16882
16899
  };
16883
16900
  }
16884
16901
  });
16885
- const _hoisted_1$5 = { class: "notice-partial" };
16886
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
16902
+ const _hoisted_1$8 = { class: "notice-partial" };
16903
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
16887
16904
  __name: "notice.partial",
16888
16905
  props: {
16889
16906
  type: { type: String }
16890
16907
  },
16891
16908
  setup(__props) {
16892
16909
  return (_ctx, _cache) => {
16893
- return openBlock(), createElementBlock("section", _hoisted_1$5, [
16910
+ return openBlock(), createElementBlock("section", _hoisted_1$8, [
16894
16911
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
16895
16912
  ]);
16896
16913
  };
16897
16914
  }
16898
16915
  });
16899
- const _style_0$6 = ".notice-partial[data-v-2ad9f6c8]{display:grid}";
16900
- const NoticePartial = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["styles", [_style_0$6]], ["__scopeId", "data-v-2ad9f6c8"]]);
16901
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
16916
+ const _style_0$9 = ".notice-partial[data-v-2ad9f6c8]{display:grid}";
16917
+ const NoticePartial = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["styles", [_style_0$9]], ["__scopeId", "data-v-2ad9f6c8"]]);
16918
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
16902
16919
  ...{ inheritAttrs: false },
16903
16920
  __name: "system-message.partial",
16904
16921
  props: {
@@ -16941,9 +16958,9 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
16941
16958
  };
16942
16959
  }
16943
16960
  });
16944
- const _hoisted_1$4 = { class: "chat-actions-partial" };
16945
- const _hoisted_2$3 = { class: "options-container" };
16946
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
16961
+ const _hoisted_1$7 = { class: "chat-actions-partial" };
16962
+ const _hoisted_2$5 = { class: "options-container" };
16963
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
16947
16964
  __name: "chat-actions.partial",
16948
16965
  props: {
16949
16966
  conversation: { type: String }
@@ -16973,7 +16990,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
16973
16990
  const _component_button_partial = resolveComponent("button-partial");
16974
16991
  const _component_overlay_container_partial = resolveComponent("overlay-container-partial");
16975
16992
  const _component_dialog_partial = resolveComponent("dialog-partial");
16976
- return openBlock(), createElementBlock("section", _hoisted_1$4, [
16993
+ return openBlock(), createElementBlock("section", _hoisted_1$7, [
16977
16994
  createVNode(_component_button_partial, {
16978
16995
  ref_key: "attachTo",
16979
16996
  ref: attachTo,
@@ -16993,7 +17010,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
16993
17010
  onClose: toggle
16994
17011
  }, {
16995
17012
  default: withCtx(() => [
16996
- createBaseVNode("section", _hoisted_2$3, [
17013
+ createBaseVNode("section", _hoisted_2$5, [
16997
17014
  createBaseVNode("ul", null, [
16998
17015
  createBaseVNode("li", null, toDisplayString$1(_ctx.$t("mute")), 1),
16999
17016
  createBaseVNode("li", null, toDisplayString$1(_ctx.$t("delete")), 1),
@@ -17034,9 +17051,9 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
17034
17051
  };
17035
17052
  }
17036
17053
  });
17037
- const _style_0$5 = ".chat-actions-partial[data-v-871e6a65]{display:grid}.options-container[data-v-871e6a65]{width:max-content;min-width:200px;background-color:var(--scm-color-surface);box-shadow:0 0 5px var(--scm-color-muted)}";
17038
- const ChatActionsPartial = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["styles", [_style_0$5]], ["__scopeId", "data-v-871e6a65"]]);
17039
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
17054
+ const _style_0$8 = ".chat-actions-partial[data-v-871e6a65]{display:grid}.options-container[data-v-871e6a65]{width:max-content;min-width:200px;background-color:var(--scm-color-surface);box-shadow:0 0 5px var(--scm-color-muted)}";
17055
+ const ChatActionsPartial = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["styles", [_style_0$8]], ["__scopeId", "data-v-871e6a65"]]);
17056
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
17040
17057
  __name: "overlay-container.partial",
17041
17058
  props: {
17042
17059
  background: { type: String },
@@ -17170,16 +17187,19 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
17170
17187
  };
17171
17188
  }
17172
17189
  });
17173
- const _style_0$4 = ".overlay-background{position:fixed;top:0;left:0;display:grid;width:100%;height:100%;background-color:#00000080;z-index:1000}.overlay-background.none,.overlay-background.tablet{background-color:transparent}@media only screen and (min-width: 600px) and (max-width: 1023px){.overlay-background.tablet{background-color:#00000080}}.overlay-background.desktop{background-color:transparent}@media only screen and (min-width: 600px) and (max-width: 1023px),only screen and (min-width: 1024px){.overlay-background.desktop{background-color:#00000080}}.overlay-background .content-container{z-index:1100;position:absolute}";
17174
- const OverlayContainerPartial = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["styles", [_style_0$4]]]);
17175
- const _hoisted_1$3 = ["type", "disabled", "aria-busy", "aria-label"];
17176
- const _hoisted_2$2 = {
17190
+ const _style_0$7 = ".overlay-background{position:fixed;top:0;left:0;display:grid;width:100%;height:100%;background-color:#00000080;z-index:1000}.overlay-background.none,.overlay-background.tablet{background-color:transparent}@media only screen and (min-width: 600px) and (max-width: 1023px){.overlay-background.tablet{background-color:#00000080}}.overlay-background.desktop{background-color:transparent}@media only screen and (min-width: 600px) and (max-width: 1023px),only screen and (min-width: 1024px){.overlay-background.desktop{background-color:#00000080}}.overlay-background .content-container{z-index:1100;position:absolute}";
17191
+ const OverlayContainerPartial = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["styles", [_style_0$7]]]);
17192
+ const _hoisted_1$6 = ["type", "disabled", "aria-busy", "aria-label"];
17193
+ const _hoisted_2$4 = {
17177
17194
  key: 0,
17178
17195
  class: "scm-btn__spinner",
17179
17196
  "aria-hidden": "true"
17180
17197
  };
17181
- const _hoisted_3$1 = { class: "scm-btn__content" };
17182
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
17198
+ const _hoisted_3$2 = {
17199
+ key: 2,
17200
+ class: "scm-btn__content"
17201
+ };
17202
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
17183
17203
  __name: "button.partial",
17184
17204
  props: {
17185
17205
  variant: { type: String },
@@ -17188,7 +17208,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
17188
17208
  loading: { type: Boolean },
17189
17209
  block: { type: Boolean },
17190
17210
  disabled: { type: Boolean },
17191
- ariaLabel: { type: String }
17211
+ ariaLabel: { type: String },
17212
+ icon: { type: String }
17192
17213
  },
17193
17214
  emits: ["click"],
17194
17215
  setup(__props, { emit: __emit }) {
@@ -17202,7 +17223,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
17202
17223
  const size = `${base}--${props.size || "md"}`;
17203
17224
  const block = props.block ? `${base}--block` : "";
17204
17225
  const loading = props.loading ? `${base}--loading` : "";
17205
- return [base, variant, size, block, loading].filter(Boolean).join(" ");
17226
+ const icon = props.icon ? `${base}--icon` : "";
17227
+ return [base, variant, size, block, loading, icon].filter(Boolean).join(" ");
17206
17228
  });
17207
17229
  function onClick(evt) {
17208
17230
  if (isDisabled.value) {
@@ -17212,6 +17234,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
17212
17234
  emit2("click", evt);
17213
17235
  }
17214
17236
  return (_ctx, _cache) => {
17237
+ const _component_icons_partial = resolveComponent("icons-partial");
17215
17238
  return openBlock(), createElementBlock("button", {
17216
17239
  type: buttonType.value,
17217
17240
  disabled: isDisabled.value,
@@ -17220,18 +17243,20 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
17220
17243
  class: normalizeClass(classes.value),
17221
17244
  onClick
17222
17245
  }, [
17223
- props.loading ? (openBlock(), createElementBlock("span", _hoisted_2$2)) : createCommentVNode("", true),
17224
- createBaseVNode("span", _hoisted_3$1, [
17246
+ props.loading ? (openBlock(), createElementBlock("span", _hoisted_2$4)) : props.icon ? (openBlock(), createBlock(_component_icons_partial, {
17247
+ key: 1,
17248
+ type: props.icon
17249
+ }, null, 8, ["type"])) : (openBlock(), createElementBlock("span", _hoisted_3$2, [
17225
17250
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
17226
- ])
17227
- ], 10, _hoisted_1$3);
17251
+ ]))
17252
+ ], 10, _hoisted_1$6);
17228
17253
  };
17229
17254
  }
17230
17255
  });
17231
- const _style_0$3 = ".scm-btn[data-v-40db284f]{--scm-btn-bg: var(--scm-color-primary);--scm-btn-color: white;--scm-btn-radius: 0;--scm-btn-padding-y: 4px;--scm-btn-padding-x: 10px;--scm-btn-font-size: 14px;--scm-btn-height: 40px;--scm-btn-line-height: 42px;--scm-btn-transition: .12s ease-in-out;appearance:none;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;background-color:var(--scm-btn-bg);color:var(--scm-btn-color);font:inherit;padding:var(--scm-btn-padding-y) var(--scm-btn-padding-x);font-size:var(--scm-btn-font-size);border-radius:var(--scm-btn-radius);height:var(--scm-btn-height);line-height:var(--scm-btn-line-height);transition:background-color var(--scm-btn-transition),opacity var(--scm-btn-transition),box-shadow var(--scm-btn-transition);text-decoration:none;white-space:nowrap}.scm-btn[data-v-40db284f]:hover:not(:disabled){background-color:color-mix(in srgb,var(--scm-btn-bg) 85%,#000)}.scm-btn[data-v-40db284f]:active:not(:disabled){background-color:color-mix(in srgb,var(--scm-btn-bg) 70%,#000)}.scm-btn[data-v-40db284f]:focus-visible{outline:2px solid var(--scm-color-primary);outline-offset:2px}.scm-btn[data-v-40db284f]:disabled{opacity:.55;cursor:not-allowed}.scm-btn--secondary[data-v-40db284f]{--scm-btn-bg: var(--scm-color-surface);--scm-btn-color: var(--scm-color-muted)}.scm-btn--ghost[data-v-40db284f]{--scm-btn-bg: transparent;--scm-btn-color: var(--scm-color-primary)}.scm-btn--danger[data-v-40db284f]{--scm-btn-bg: var(--scm-color-danger);--scm-btn-color: white}.scm-btn--sm[data-v-40db284f]{--scm-btn-padding-y: 2px;--scm-btn-padding-x: 8px;--scm-btn-font-size: 12px}.scm-btn--lg[data-v-40db284f]{--scm-btn-padding-y: 8px;--scm-btn-padding-x: 16px;--scm-btn-font-size: 16px}.scm-btn--block[data-v-40db284f]{width:100%;display:inline-flex}.scm-btn__spinner[data-v-40db284f]{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:scm-spin-40db284f .6s linear infinite}@keyframes scm-spin-40db284f{to{transform:rotate(360deg)}}";
17232
- const ButtonPartial = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["styles", [_style_0$3]], ["__scopeId", "data-v-40db284f"]]);
17233
- const _hoisted_1$2 = { class: "dialog-partial" };
17234
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
17256
+ const _style_0$6 = ".scm-btn[data-v-a79bdb66]{--scm-btn-bg: var(--scm-color-primary);--scm-btn-color: white;--scm-btn-radius: 0;--scm-btn-padding-y: 4px;--scm-btn-padding-x: 10px;--scm-btn-font-size: .875em;--scm-btn-height: 40px;--scm-btn-line-height: 42px;--scm-btn-transition: .12s ease-in-out;appearance:none;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;background-color:var(--scm-btn-bg);color:var(--scm-btn-color);font:inherit;padding:var(--scm-btn-padding-y) var(--scm-btn-padding-x);font-size:var(--scm-btn-font-size);border-radius:var(--scm-btn-radius);height:var(--scm-btn-height);line-height:var(--scm-btn-line-height);transition:background-color var(--scm-btn-transition),opacity var(--scm-btn-transition),box-shadow var(--scm-btn-transition);text-decoration:none;white-space:nowrap}.scm-btn[data-v-a79bdb66]:hover:not(:disabled){background-color:color-mix(in srgb,var(--scm-btn-bg) 85%,#000)}.scm-btn[data-v-a79bdb66]:active:not(:disabled){background-color:color-mix(in srgb,var(--scm-btn-bg) 70%,#000)}.scm-btn[data-v-a79bdb66]:focus-visible{outline:2px solid var(--scm-color-primary);outline-offset:2px}.scm-btn[data-v-a79bdb66]:disabled{opacity:.55;cursor:not-allowed}.scm-btn--secondary[data-v-a79bdb66]{--scm-btn-bg: var(--scm-color-surface);--scm-btn-color: var(--scm-color-muted)}.scm-btn--ghost[data-v-a79bdb66]{--scm-btn-bg: transparent;--scm-btn-color: var(--scm-color-primary)}.scm-btn--danger[data-v-a79bdb66]{--scm-btn-bg: var(--scm-color-danger);--scm-btn-color: white}.scm-btn--sm[data-v-a79bdb66]{--scm-btn-padding-y: 2px;--scm-btn-padding-x: 8px;--scm-btn-font-size: .75em}.scm-btn--lg[data-v-a79bdb66]{--scm-btn-padding-y: 8px;--scm-btn-padding-x: 16px;--scm-btn-font-size: 1em}.scm-btn--block[data-v-a79bdb66]{width:100%;display:inline-flex}.scm-btn__spinner[data-v-a79bdb66]{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:scm-spin-a79bdb66 .6s linear infinite}.scm-btn--icon[data-v-a79bdb66]{--scm-btn-padding-x: 8px;width:var(--scm-btn-height)}.scm-btn--icon[data-v-a79bdb66] .icon-partial svg{stroke:currentColor}.scm-btn--icon[data-v-a79bdb66] .icon-partial svg.useFill{fill:currentColor}@keyframes scm-spin-a79bdb66{to{transform:rotate(360deg)}}";
17257
+ const ButtonPartial = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["styles", [_style_0$6]], ["__scopeId", "data-v-a79bdb66"]]);
17258
+ const _hoisted_1$5 = { class: "dialog-partial" };
17259
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
17235
17260
  __name: "dialog.partial",
17236
17261
  emits: ["accept", "decline"],
17237
17262
  setup(__props, { emit: __emit }) {
@@ -17244,7 +17269,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
17244
17269
  }
17245
17270
  return (_ctx, _cache) => {
17246
17271
  const _component_button_partial = resolveComponent("button-partial");
17247
- return openBlock(), createElementBlock("section", _hoisted_1$2, [
17272
+ return openBlock(), createElementBlock("section", _hoisted_1$5, [
17248
17273
  renderSlot(_ctx.$slots, "default", {}, void 0, true),
17249
17274
  createVNode(_component_button_partial, { onClick: onAccept }, {
17250
17275
  default: withCtx(() => [..._cache[0] || (_cache[0] = [
@@ -17262,11 +17287,12 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
17262
17287
  };
17263
17288
  }
17264
17289
  });
17265
- const _style_0$2 = ".dialog-partial[data-v-ae4dfdf7]{padding:20px;background-color:var(--scm-color-surface);box-shadow:0 0 5px var(--scm-color-muted)}";
17266
- const DialogPartial = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["styles", [_style_0$2]], ["__scopeId", "data-v-ae4dfdf7"]]);
17267
- const _hoisted_1$1 = { class: "chat-input" };
17268
- const _hoisted_2$1 = ["value", "placeholder"];
17269
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
17290
+ const _style_0$5 = ".dialog-partial[data-v-ae4dfdf7]{padding:20px;background-color:var(--scm-color-surface);box-shadow:0 0 5px var(--scm-color-muted)}";
17291
+ const DialogPartial = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["styles", [_style_0$5]], ["__scopeId", "data-v-ae4dfdf7"]]);
17292
+ const _hoisted_1$4 = { class: "chat-input" };
17293
+ const _hoisted_2$3 = { class: "background-container" };
17294
+ const _hoisted_3$1 = ["value", "placeholder"];
17295
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
17270
17296
  __name: "chat-input.partial",
17271
17297
  props: {
17272
17298
  modelValue: { type: String },
@@ -17277,42 +17303,54 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
17277
17303
  setup(__props, { emit: __emit }) {
17278
17304
  const props = __props;
17279
17305
  const emit2 = __emit;
17306
+ const textareaRef = /* @__PURE__ */ ref(null);
17307
+ function resize2() {
17308
+ const textarea = textareaRef.value;
17309
+ if (!textarea) return;
17310
+ textarea.style.height = "auto";
17311
+ textarea.style.height = `${textarea.scrollHeight}px`;
17312
+ }
17313
+ function onInput(event) {
17314
+ const target = event.target;
17315
+ emit2("update:modelValue", target.value);
17316
+ emit2("typing");
17317
+ nextTick(resize2);
17318
+ }
17280
17319
  function onKeydown(event) {
17281
17320
  if (event.key === "Enter" && !event.shiftKey && !props.disabled) {
17282
17321
  event.preventDefault();
17283
17322
  emit2("submit");
17284
17323
  }
17285
17324
  }
17325
+ watch(() => props.modelValue, () => nextTick(resize2));
17286
17326
  return (_ctx, _cache) => {
17287
17327
  const _component_button_partial = resolveComponent("button-partial");
17288
- return openBlock(), createElementBlock("div", _hoisted_1$1, [
17289
- createBaseVNode("textarea", {
17290
- value: __props.modelValue,
17291
- placeholder: __props.placeholder,
17292
- rows: "1",
17293
- onInput: _cache[0] || (_cache[0] = ($event) => {
17294
- emit2("update:modelValue", $event.target.value);
17295
- emit2("typing");
17296
- }),
17297
- onKeydown
17298
- }, null, 40, _hoisted_2$1),
17299
- createVNode(_component_button_partial, {
17300
- disabled: __props.disabled,
17301
- "aria-label": "Send message",
17302
- onClick: _cache[1] || (_cache[1] = ($event) => emit2("submit"))
17303
- }, {
17304
- default: withCtx(() => [..._cache[2] || (_cache[2] = [
17305
- createTextVNode(" Send ", -1)
17306
- ])]),
17307
- _: 1
17308
- }, 8, ["disabled"])
17328
+ return openBlock(), createElementBlock("div", _hoisted_1$4, [
17329
+ createBaseVNode("section", _hoisted_2$3, [
17330
+ createBaseVNode("textarea", {
17331
+ ref_key: "textareaRef",
17332
+ ref: textareaRef,
17333
+ value: __props.modelValue,
17334
+ placeholder: __props.placeholder,
17335
+ rows: "1",
17336
+ onInput,
17337
+ onKeydown
17338
+ }, null, 40, _hoisted_3$1),
17339
+ createVNode(_component_button_partial, {
17340
+ icon: "send",
17341
+ variant: "ghost",
17342
+ disabled: __props.disabled,
17343
+ "aria-label": "Send message",
17344
+ onClick: _cache[0] || (_cache[0] = ($event) => emit2("submit"))
17345
+ }, null, 8, ["disabled"])
17346
+ ])
17309
17347
  ]);
17310
17348
  };
17311
17349
  }
17312
17350
  });
17313
- const _style_0$1 = ".chat-input[data-v-3cd4c855]{display:grid;grid-template-columns:1fr max-content}.chat-input textarea[data-v-3cd4c855]{padding:10px;resize:none;font-size:14px}.chat-input button[data-v-3cd4c855]{padding:10px 15px;background-color:var(--scm-color-primary);color:#fff;border:none;cursor:pointer}.chat-input button [data-v-3cd4c855]:disabled{background-color:var(--scm-color-muted);cursor:not-allowed}";
17314
- const ChatInputPartial = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["styles", [_style_0$1]], ["__scopeId", "data-v-3cd4c855"]]);
17315
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
17351
+ const _style_0$4 = ".chat-input[data-v-b6ae32fa]{padding:20px}.chat-input .background-container[data-v-b6ae32fa]{border-radius:5px;display:grid;grid-template-columns:1fr max-content;grid-template-rows:max-content;background-color:var(--scm-color-surface)}.chat-input .background-container textarea[data-v-b6ae32fa]{border:0;padding:10px;background-color:var(--scm-color-surface);outline:none;font-size:1em}.chat-input .background-container button[data-v-b6ae32fa]{align-self:end}";
17352
+ const ChatInputPartial = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["styles", [_style_0$4]], ["__scopeId", "data-v-b6ae32fa"]]);
17353
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
17316
17354
  __name: "user-name.partial",
17317
17355
  props: {
17318
17356
  userId: { type: String }
@@ -17328,6 +17366,951 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
17328
17366
  };
17329
17367
  }
17330
17368
  });
17369
+ const _hoisted_1$3 = { class: "user-avatar" };
17370
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
17371
+ __name: "user-avatar.partial",
17372
+ props: {
17373
+ userId: { type: String }
17374
+ },
17375
+ setup(__props) {
17376
+ const props = __props;
17377
+ const usersCache = useUsersCacheStore();
17378
+ const name = computed(() => usersCache.name(props.userId));
17379
+ const initials = computed(() => {
17380
+ const parts = name.value.split(/\s+/).filter(Boolean);
17381
+ if (parts.length >= 2) return (parts[0][0] + parts[1][0]).toUpperCase();
17382
+ return (parts[0]?.[0] || "?").toUpperCase();
17383
+ });
17384
+ const hue = computed(() => {
17385
+ let hash = 0;
17386
+ for (let index = 0; index < props.userId.length; index++) {
17387
+ hash = props.userId.charCodeAt(index) + ((hash << 5) - hash);
17388
+ }
17389
+ return Math.abs(hash) % 360;
17390
+ });
17391
+ onMounted(() => {
17392
+ usersCache.ensure([props.userId]);
17393
+ });
17394
+ return (_ctx, _cache) => {
17395
+ return openBlock(), createElementBlock("span", _hoisted_1$3, [
17396
+ createBaseVNode("span", {
17397
+ class: "user-avatar__circle",
17398
+ style: normalizeStyle({ backgroundColor: `hsl(${hue.value}, 45%, 60%)` })
17399
+ }, toDisplayString$1(initials.value), 5),
17400
+ createVNode(_sfc_main$4, { "user-id": __props.userId }, null, 8, ["user-id"])
17401
+ ]);
17402
+ };
17403
+ }
17404
+ });
17405
+ const _style_0$3 = ".user-avatar[data-v-1fc1d2df]{display:inline-flex;align-items:center;gap:6px}.user-avatar__circle[data-v-1fc1d2df]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.625em;font-weight:600;color:#fff;flex-shrink:0;line-height:1}";
17406
+ const UserAvatarPartial = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["styles", [_style_0$3]], ["__scopeId", "data-v-1fc1d2df"]]);
17407
+ const _hoisted_1$2 = {
17408
+ key: 0,
17409
+ xmlns: "http://www.w3.org/2000/svg",
17410
+ class: "h-6 w-6",
17411
+ fill: "none",
17412
+ viewBox: "0 0 24 24",
17413
+ stroke: "currentColor",
17414
+ "stroke-width": "2"
17415
+ };
17416
+ const _hoisted_2$2 = {
17417
+ key: 1,
17418
+ xmlns: "http://www.w3.org/2000/svg",
17419
+ class: "h-6 w-6",
17420
+ fill: "none",
17421
+ viewBox: "0 0 24 24",
17422
+ stroke: "currentColor",
17423
+ "stroke-width": "2"
17424
+ };
17425
+ const _hoisted_3 = {
17426
+ key: 2,
17427
+ xmlns: "http://www.w3.org/2000/svg",
17428
+ fill: "none",
17429
+ viewBox: "0 0 24 24",
17430
+ "stroke-width": "2",
17431
+ stroke: "currentColor",
17432
+ class: "w-6 h-6"
17433
+ };
17434
+ const _hoisted_4 = {
17435
+ key: 3,
17436
+ xmlns: "http://www.w3.org/2000/svg",
17437
+ class: "h-6 w-6",
17438
+ fill: "none",
17439
+ viewBox: "0 0 24 24",
17440
+ stroke: "currentColor",
17441
+ "stroke-width": "2"
17442
+ };
17443
+ const _hoisted_5 = {
17444
+ key: 4,
17445
+ xmlns: "http://www.w3.org/2000/svg",
17446
+ fill: "none",
17447
+ viewBox: "0 0 24 24",
17448
+ "stroke-width": "1.5",
17449
+ stroke: "currentColor",
17450
+ class: "size-6"
17451
+ };
17452
+ const _hoisted_6 = {
17453
+ key: 5,
17454
+ xmlns: "http://www.w3.org/2000/svg",
17455
+ fill: "none",
17456
+ viewBox: "0 0 24 24",
17457
+ "stroke-width": "1.5",
17458
+ stroke: "currentColor",
17459
+ class: "w-6 h-6"
17460
+ };
17461
+ const _hoisted_7 = {
17462
+ key: 6,
17463
+ xmlns: "http://www.w3.org/2000/svg",
17464
+ fill: "none",
17465
+ viewBox: "0 0 24 24",
17466
+ "stroke-width": "1.5",
17467
+ stroke: "currentColor",
17468
+ class: "size-6"
17469
+ };
17470
+ const _hoisted_8 = {
17471
+ key: 7,
17472
+ xmlns: "http://www.w3.org/2000/svg",
17473
+ fill: "none",
17474
+ viewBox: "0 0 24 24",
17475
+ "stroke-width": "1.5",
17476
+ stroke: "currentColor",
17477
+ class: "w-6 h-6"
17478
+ };
17479
+ const _hoisted_9 = {
17480
+ key: 8,
17481
+ xmlns: "http://www.w3.org/2000/svg",
17482
+ fill: "none",
17483
+ viewBox: "0 0 24 24",
17484
+ "stroke-width": "1.5",
17485
+ stroke: "currentColor",
17486
+ class: "w-6 h-6"
17487
+ };
17488
+ const _hoisted_10 = {
17489
+ key: 9,
17490
+ class: "useFill",
17491
+ viewBox: "0 0 24 24",
17492
+ style: { "isolation": "isolate" },
17493
+ xmlns: "http://www.w3.org/2000/svg"
17494
+ };
17495
+ const _hoisted_11 = {
17496
+ key: 10,
17497
+ xmlns: "http://www.w3.org/2000/svg",
17498
+ class: "h-6 w-6 useStroke",
17499
+ fill: "none",
17500
+ viewBox: "0 0 24 24",
17501
+ stroke: "currentColor",
17502
+ "stroke-width": "2"
17503
+ };
17504
+ const _hoisted_12 = {
17505
+ key: 11,
17506
+ xmlns: "http://www.w3.org/2000/svg",
17507
+ class: "h-6 w-6 useStroke",
17508
+ fill: "none",
17509
+ viewBox: "0 0 24 24",
17510
+ stroke: "currentColor",
17511
+ "stroke-width": "2"
17512
+ };
17513
+ const _hoisted_13 = {
17514
+ key: 12,
17515
+ xmlns: "http://www.w3.org/2000/svg",
17516
+ viewBox: "0 0 500 500"
17517
+ };
17518
+ const _hoisted_14 = {
17519
+ key: 13,
17520
+ xmlns: "http://www.w3.org/2000/svg",
17521
+ class: "h-6 w-6",
17522
+ fill: "none",
17523
+ viewBox: "0 0 24 24",
17524
+ stroke: "currentColor",
17525
+ "stroke-width": "2"
17526
+ };
17527
+ const _hoisted_15 = {
17528
+ key: 14,
17529
+ class: "upload",
17530
+ viewBox: "0 0 24 24",
17531
+ fill: "none",
17532
+ "stroke-width": "2",
17533
+ stroke: "currentColor",
17534
+ xmlns: "http://www.w3.org/2000/svg"
17535
+ };
17536
+ const _hoisted_16 = {
17537
+ key: 15,
17538
+ xmlns: "http://www.w3.org/2000/svg",
17539
+ fill: "none",
17540
+ viewBox: "0 0 24 24",
17541
+ "stroke-width": "2",
17542
+ stroke: "currentColor",
17543
+ class: "w-6 h-6"
17544
+ };
17545
+ const _hoisted_17 = {
17546
+ key: 16,
17547
+ xmlns: "http://www.w3.org/2000/svg",
17548
+ class: "h-6 w-6",
17549
+ fill: "none",
17550
+ viewBox: "0 0 24 24",
17551
+ stroke: "currentColor",
17552
+ "stroke-width": "2"
17553
+ };
17554
+ const _hoisted_18 = {
17555
+ key: 17,
17556
+ xmlns: "http://www.w3.org/2000/svg",
17557
+ class: "h-6 w-6",
17558
+ fill: "none",
17559
+ viewBox: "0 0 24 24",
17560
+ stroke: "currentColor",
17561
+ "stroke-width": "2"
17562
+ };
17563
+ const _hoisted_19 = {
17564
+ key: 18,
17565
+ xmlns: "http://www.w3.org/2000/svg",
17566
+ class: "h-6 w-6",
17567
+ fill: "none",
17568
+ viewBox: "0 0 24 24",
17569
+ stroke: "currentColor",
17570
+ "stroke-width": "2"
17571
+ };
17572
+ const _hoisted_20 = {
17573
+ key: 19,
17574
+ xmlns: "http://www.w3.org/2000/svg",
17575
+ class: "h-6 w-6",
17576
+ fill: "none",
17577
+ viewBox: "0 0 24 24",
17578
+ stroke: "currentColor",
17579
+ "stroke-width": "2"
17580
+ };
17581
+ const _hoisted_21 = {
17582
+ key: 20,
17583
+ xmlns: "http://www.w3.org/2000/svg",
17584
+ class: "h-6 w-6",
17585
+ fill: "none",
17586
+ viewBox: "0 0 24 24",
17587
+ stroke: "currentColor",
17588
+ "stroke-width": "2"
17589
+ };
17590
+ const _hoisted_22 = {
17591
+ key: 21,
17592
+ xmlns: "http://www.w3.org/2000/svg",
17593
+ class: "h-6 w-6",
17594
+ fill: "none",
17595
+ viewBox: "0 0 24 24",
17596
+ stroke: "currentColor",
17597
+ "stroke-width": "2"
17598
+ };
17599
+ const _hoisted_23 = {
17600
+ key: 22,
17601
+ xmlns: "http://www.w3.org/2000/svg",
17602
+ class: "h-6 w-6",
17603
+ fill: "none",
17604
+ viewBox: "0 0 24 24",
17605
+ stroke: "currentColor",
17606
+ "stroke-width": "2"
17607
+ };
17608
+ const _hoisted_24 = {
17609
+ key: 23,
17610
+ xmlns: "http://www.w3.org/2000/svg",
17611
+ class: "h-6 w-6",
17612
+ fill: "none",
17613
+ viewBox: "0 0 24 24",
17614
+ stroke: "currentColor",
17615
+ "stroke-width": "2"
17616
+ };
17617
+ const _hoisted_25 = {
17618
+ key: 24,
17619
+ xmlns: "http://www.w3.org/2000/svg",
17620
+ class: "h-6 w-6",
17621
+ fill: "none",
17622
+ viewBox: "0 0 24 24",
17623
+ stroke: "currentColor",
17624
+ "stroke-width": "2"
17625
+ };
17626
+ const _hoisted_26 = {
17627
+ key: 25,
17628
+ xmlns: "http://www.w3.org/2000/svg",
17629
+ class: "h-6 w-6",
17630
+ fill: "none",
17631
+ viewBox: "0 0 24 24",
17632
+ stroke: "currentColor",
17633
+ "stroke-width": "2"
17634
+ };
17635
+ const _hoisted_27 = {
17636
+ key: 26,
17637
+ xmlns: "http://www.w3.org/2000/svg",
17638
+ class: "h-6 w-6 useStroke",
17639
+ fill: "none",
17640
+ viewBox: "0 0 24 24",
17641
+ stroke: "currentColor",
17642
+ "stroke-width": "2"
17643
+ };
17644
+ const _hoisted_28 = {
17645
+ key: 27,
17646
+ xmlns: "http://www.w3.org/2000/svg",
17647
+ class: "h-6 w-6",
17648
+ fill: "none",
17649
+ viewBox: "0 0 24 24",
17650
+ stroke: "currentColor",
17651
+ "stroke-width": "2"
17652
+ };
17653
+ const _hoisted_29 = {
17654
+ key: 28,
17655
+ xmlns: "http://www.w3.org/2000/svg",
17656
+ fill: "none",
17657
+ viewBox: "0 0 24 24",
17658
+ "stroke-width": "2",
17659
+ stroke: "currentColor",
17660
+ class: "w-6 h-6"
17661
+ };
17662
+ const _hoisted_30 = {
17663
+ key: 29,
17664
+ xmlns: "http://www.w3.org/2000/svg",
17665
+ class: "h-6 w-6",
17666
+ fill: "none",
17667
+ viewBox: "0 0 24 24",
17668
+ stroke: "currentColor",
17669
+ "stroke-width": "2"
17670
+ };
17671
+ const _hoisted_31 = {
17672
+ key: 30,
17673
+ xmlns: "http://www.w3.org/2000/svg",
17674
+ fill: "none",
17675
+ viewBox: "0 0 24 24",
17676
+ "stroke-width": "2",
17677
+ stroke: "currentColor",
17678
+ class: "w-6 h-6"
17679
+ };
17680
+ const _hoisted_32 = {
17681
+ key: 31,
17682
+ xmlns: "http://www.w3.org/2000/svg",
17683
+ fill: "none",
17684
+ viewBox: "0 0 24 24",
17685
+ "stroke-width": "2",
17686
+ stroke: "currentColor",
17687
+ class: "w-6 h-6"
17688
+ };
17689
+ const _hoisted_33 = {
17690
+ key: 32,
17691
+ xmlns: "http://www.w3.org/2000/svg",
17692
+ fill: "none",
17693
+ viewBox: "0 0 24 24",
17694
+ "stroke-width": "2",
17695
+ stroke: "currentColor",
17696
+ class: "w-6 h-6"
17697
+ };
17698
+ const _hoisted_34 = {
17699
+ key: 33,
17700
+ xmlns: "http://www.w3.org/2000/svg",
17701
+ fill: "none",
17702
+ viewBox: "0 0 24 24",
17703
+ "stroke-width": "2",
17704
+ stroke: "currentColor",
17705
+ class: "w-6 h-6"
17706
+ };
17707
+ const _hoisted_35 = {
17708
+ key: 34,
17709
+ xmlns: "http://www.w3.org/2000/svg",
17710
+ fill: "none",
17711
+ viewBox: "0 0 24 24",
17712
+ "stroke-width": "2",
17713
+ stroke: "currentColor",
17714
+ class: "w-6 h-6"
17715
+ };
17716
+ const _hoisted_36 = {
17717
+ key: 35,
17718
+ xmlns: "http://www.w3.org/2000/svg",
17719
+ fill: "none",
17720
+ viewBox: "0 0 24 24",
17721
+ "stroke-width": "2",
17722
+ stroke: "currentColor",
17723
+ class: "w-6 h-6"
17724
+ };
17725
+ const _hoisted_37 = {
17726
+ key: 36,
17727
+ xmlns: "http://www.w3.org/2000/svg",
17728
+ fill: "none",
17729
+ viewBox: "0 0 24 24",
17730
+ "stroke-width": "2",
17731
+ stroke: "currentColor",
17732
+ class: "w-6 h-6"
17733
+ };
17734
+ const _hoisted_38 = {
17735
+ key: 37,
17736
+ xmlns: "http://www.w3.org/2000/svg",
17737
+ fill: "none",
17738
+ viewBox: "0 0 24 24",
17739
+ "stroke-width": "2",
17740
+ stroke: "currentColor",
17741
+ class: "w-6 h-6"
17742
+ };
17743
+ const _hoisted_39 = {
17744
+ key: 38,
17745
+ xmlns: "http://www.w3.org/2000/svg",
17746
+ fill: "none",
17747
+ viewBox: "0 0 24 24",
17748
+ "stroke-width": "2",
17749
+ stroke: "currentColor",
17750
+ class: "w-6 h-6"
17751
+ };
17752
+ const _hoisted_40 = {
17753
+ key: 39,
17754
+ xmlns: "http://www.w3.org/2000/svg",
17755
+ fill: "none",
17756
+ viewBox: "0 0 24 24",
17757
+ "stroke-width": "2",
17758
+ stroke: "currentColor",
17759
+ class: "w-6 h-6"
17760
+ };
17761
+ const _hoisted_41 = {
17762
+ key: 40,
17763
+ xmlns: "http://www.w3.org/2000/svg",
17764
+ fill: "none",
17765
+ viewBox: "0 0 24 24",
17766
+ "stroke-width": "2",
17767
+ stroke: "currentColor",
17768
+ class: "w-6 h-6"
17769
+ };
17770
+ const _hoisted_42 = {
17771
+ key: 41,
17772
+ xmlns: "http://www.w3.org/2000/svg",
17773
+ fill: "none",
17774
+ viewBox: "0 0 24 24",
17775
+ "stroke-width": "1.5",
17776
+ stroke: "currentColor",
17777
+ class: "w-6 h-6"
17778
+ };
17779
+ const _hoisted_43 = {
17780
+ key: 42,
17781
+ xmlns: "http://www.w3.org/2000/svg",
17782
+ fill: "none",
17783
+ viewBox: "0 0 24 24",
17784
+ "stroke-width": "1.5",
17785
+ stroke: "currentColor",
17786
+ class: "w-6 h-6"
17787
+ };
17788
+ const _hoisted_44 = {
17789
+ key: 43,
17790
+ xmlns: "http://www.w3.org/2000/svg",
17791
+ fill: "none",
17792
+ viewBox: "0 0 24 24",
17793
+ "stroke-width": "1.5",
17794
+ stroke: "currentColor",
17795
+ class: "w-6 h-6"
17796
+ };
17797
+ const _hoisted_45 = {
17798
+ key: 44,
17799
+ xmlns: "http://www.w3.org/2000/svg",
17800
+ fill: "none",
17801
+ viewBox: "0 0 24 24",
17802
+ "stroke-width": "1.5",
17803
+ stroke: "currentColor",
17804
+ class: "size-6"
17805
+ };
17806
+ const _hoisted_46 = {
17807
+ key: 45,
17808
+ xmlns: "http://www.w3.org/2000/svg",
17809
+ fill: "none",
17810
+ viewBox: "0 0 24 24",
17811
+ "stroke-width": "1.5",
17812
+ stroke: "currentColor",
17813
+ class: "size-6"
17814
+ };
17815
+ const _hoisted_47 = {
17816
+ key: 46,
17817
+ xmlns: "http://www.w3.org/2000/svg",
17818
+ fill: "none",
17819
+ viewBox: "0 0 24 24",
17820
+ "stroke-width": "1.5",
17821
+ stroke: "currentColor",
17822
+ class: "size-6"
17823
+ };
17824
+ const _hoisted_48 = {
17825
+ key: 47,
17826
+ xmlns: "http://www.w3.org/2000/svg",
17827
+ fill: "none",
17828
+ viewBox: "0 0 24 24",
17829
+ "stroke-width": "1.5",
17830
+ stroke: "currentColor",
17831
+ class: "size-6"
17832
+ };
17833
+ const _hoisted_49 = {
17834
+ key: 48,
17835
+ xmlns: "http://www.w3.org/2000/svg",
17836
+ fill: "none",
17837
+ viewBox: "0 0 24 24",
17838
+ "stroke-width": "1.5",
17839
+ stroke: "currentColor",
17840
+ class: "size-6"
17841
+ };
17842
+ const _hoisted_50 = {
17843
+ key: 49,
17844
+ xmlns: "http://www.w3.org/2000/svg",
17845
+ fill: "none",
17846
+ viewBox: "0 0 24 24",
17847
+ "stroke-width": "1.5",
17848
+ stroke: "currentColor",
17849
+ class: "size-6"
17850
+ };
17851
+ const _hoisted_51 = {
17852
+ key: 50,
17853
+ xmlns: "http://www.w3.org/2000/svg",
17854
+ fill: "none",
17855
+ viewBox: "0 0 24 24",
17856
+ "stroke-width": "1.5",
17857
+ stroke: "currentColor",
17858
+ class: "size-6"
17859
+ };
17860
+ const _hoisted_52 = {
17861
+ key: 51,
17862
+ xmlns: "http://www.w3.org/2000/svg",
17863
+ fill: "none",
17864
+ viewBox: "0 0 24 24",
17865
+ "stroke-width": "1.5",
17866
+ stroke: "currentColor",
17867
+ class: "size-6"
17868
+ };
17869
+ const _hoisted_53 = {
17870
+ key: 52,
17871
+ xmlns: "http://www.w3.org/2000/svg",
17872
+ fill: "none",
17873
+ viewBox: "0 0 24 24",
17874
+ "stroke-width": "1.5",
17875
+ stroke: "currentColor",
17876
+ class: "size-6"
17877
+ };
17878
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
17879
+ __name: "icons.partial",
17880
+ props: {
17881
+ type: { type: String },
17882
+ colorScheme: { type: String },
17883
+ size: { type: String },
17884
+ rotate: { type: Number },
17885
+ animate: { type: Boolean }
17886
+ },
17887
+ setup(__props) {
17888
+ const props = __props;
17889
+ const rotateClass = computed(() => {
17890
+ if (!props.rotate) return null;
17891
+ return `rotate${props.rotate}`;
17892
+ });
17893
+ return (_ctx, _cache) => {
17894
+ return openBlock(), createElementBlock("span", {
17895
+ class: normalizeClass(["icon-partial", [__props.type, __props.colorScheme || "colorScheme1", __props.size || "medium", rotateClass.value, { animate: __props.animate }]])
17896
+ }, [
17897
+ __props.type === "arrow-right" ? (openBlock(), createElementBlock("svg", _hoisted_1$2, [..._cache[0] || (_cache[0] = [
17898
+ createBaseVNode("path", {
17899
+ "stroke-linecap": "round",
17900
+ "stroke-linejoin": "round",
17901
+ d: "M9 5l7 7-7 7"
17902
+ }, null, -1)
17903
+ ])])) : createCommentVNode("", true),
17904
+ __props.type === "arrow-left" ? (openBlock(), createElementBlock("svg", _hoisted_2$2, [..._cache[1] || (_cache[1] = [
17905
+ createBaseVNode("path", {
17906
+ "stroke-linecap": "round",
17907
+ "stroke-linejoin": "round",
17908
+ d: "M15 19l-7-7 7-7"
17909
+ }, null, -1)
17910
+ ])])) : createCommentVNode("", true),
17911
+ __props.type === "arrow-down" ? (openBlock(), createElementBlock("svg", _hoisted_3, [..._cache[2] || (_cache[2] = [
17912
+ createBaseVNode("path", {
17913
+ "stroke-linecap": "round",
17914
+ "stroke-linejoin": "round",
17915
+ d: "M19.5 8.25l-7.5 7.5-7.5-7.5"
17916
+ }, null, -1)
17917
+ ])])) : createCommentVNode("", true),
17918
+ __props.type === "notifications" ? (openBlock(), createElementBlock("svg", _hoisted_4, [..._cache[3] || (_cache[3] = [
17919
+ createBaseVNode("path", {
17920
+ "stroke-linecap": "round",
17921
+ "stroke-linejoin": "round",
17922
+ d: "M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9"
17923
+ }, null, -1)
17924
+ ])])) : createCommentVNode("", true),
17925
+ __props.type === "arrow-right-long" ? (openBlock(), createElementBlock("svg", _hoisted_5, [..._cache[4] || (_cache[4] = [
17926
+ createBaseVNode("path", {
17927
+ "stroke-linecap": "round",
17928
+ "stroke-linejoin": "round",
17929
+ d: "M17.25 8.25 21 12m0 0-3.75 3.75M21 12H3"
17930
+ }, null, -1)
17931
+ ])])) : createCommentVNode("", true),
17932
+ __props.type === "chevron-down" ? (openBlock(), createElementBlock("svg", _hoisted_6, [..._cache[5] || (_cache[5] = [
17933
+ createBaseVNode("path", {
17934
+ "stroke-linecap": "round",
17935
+ "stroke-linejoin": "round",
17936
+ d: "M19.5 8.25l-7.5 7.5-7.5-7.5"
17937
+ }, null, -1)
17938
+ ])])) : createCommentVNode("", true),
17939
+ __props.type === "chevron-up" ? (openBlock(), createElementBlock("svg", _hoisted_7, [..._cache[6] || (_cache[6] = [
17940
+ createBaseVNode("path", {
17941
+ "stroke-linecap": "round",
17942
+ "stroke-linejoin": "round",
17943
+ d: "m4.5 15.75 7.5-7.5 7.5 7.5"
17944
+ }, null, -1)
17945
+ ])])) : createCommentVNode("", true),
17946
+ __props.type === "chevron-right" ? (openBlock(), createElementBlock("svg", _hoisted_8, [..._cache[7] || (_cache[7] = [
17947
+ createBaseVNode("path", {
17948
+ "stroke-linecap": "round",
17949
+ "stroke-linejoin": "round",
17950
+ d: "m8.25 4.5 7.5 7.5-7.5 7.5"
17951
+ }, null, -1)
17952
+ ])])) : createCommentVNode("", true),
17953
+ __props.type === "chevron-left" ? (openBlock(), createElementBlock("svg", _hoisted_9, [..._cache[8] || (_cache[8] = [
17954
+ createBaseVNode("path", {
17955
+ "stroke-linecap": "round",
17956
+ "stroke-linejoin": "round",
17957
+ d: "M15.75 19.5 8.25 12l7.5-7.5"
17958
+ }, null, -1)
17959
+ ])])) : createCommentVNode("", true),
17960
+ __props.type === "editor-add" ? (openBlock(), createElementBlock("svg", _hoisted_10, [..._cache[9] || (_cache[9] = [
17961
+ createBaseVNode("g", {
17962
+ width: "24",
17963
+ height: "24",
17964
+ transform: "matrix(0.92, 0, 0, 0.92, 0.480769, 0.352584)"
17965
+ }, [
17966
+ createBaseVNode("path", { d: " M 25 12.498 C 24.999 12.245 24.868 12.01 24.652 11.877 L 22.111 10.31 L 24.655 8.727 C 24.869 8.594 25 8.359 25 8.107 C 25 7.854 24.871 7.619 24.656 7.485 L 12.889 0.112 C 12.651 -0.037 12.349 -0.037 12.111 0.112 L 0.344 7.485 C 0.13 7.619 0 7.854 0 8.107 C 0 8.359 0.131 8.594 0.345 8.727 L 2.871 10.299 L 0.344 11.879 C 0.13 12.013 0 12.248 0 12.501 C 0 12.754 0.131 12.988 0.345 13.122 L 2.871 14.694 L 0.344 16.273 C 0.13 16.407 0 16.642 0 16.894 C 0 17.147 0.13 17.381 0.344 17.515 L 12.111 24.888 C 12.23 24.963 12.365 25 12.5 25 C 12.635 25 12.77 24.963 12.889 24.888 L 24.656 17.515 C 24.871 17.381 25.001 17.145 25 16.892 C 24.999 16.639 24.867 16.404 24.652 16.271 L 22.111 14.705 L 24.655 13.122 C 24.87 12.988 25.001 12.752 25 12.498 Z M 2.115 8.103 L 12.5 1.597 L 22.885 8.103 C 22.785 8.166 12.798 14.382 12.5 14.567 L 2.115 8.103 Z M 22.88 16.9 L 12.5 23.403 L 2.113 16.895 L 4.256 15.556 L 12.113 20.446 C 12.231 20.52 12.366 20.557 12.5 20.557 C 12.634 20.557 12.769 20.52 12.887 20.446 L 20.722 15.569 L 22.88 16.9 Z M 12.5 18.962 L 2.116 12.499 L 4.256 11.161 L 12.113 16.052 C 12.231 16.125 12.366 16.162 12.5 16.162 C 12.634 16.162 12.769 16.125 12.887 16.052 L 20.722 11.175 L 22.877 12.503 C 22.817 12.54 12.775 18.79 12.5 18.962 Z " }),
17967
+ createBaseVNode("path", { d: "M 12.099 3.875 L 12.901 3.875 C 13.025 3.875 13.125 3.975 13.125 4.099 L 13.125 10.813 C 13.125 10.936 13.025 11.036 12.901 11.036 L 12.099 11.036 C 11.975 11.036 11.875 10.936 11.875 10.813 L 11.875 4.099 C 11.875 3.975 11.975 3.875 12.099 3.875 Z" }),
17968
+ createBaseVNode("path", { d: "M 8.919 7.857 L 8.919 7.054 C 8.919 6.931 9.019 6.831 9.143 6.831 L 15.857 6.831 C 15.981 6.831 16.081 6.931 16.081 7.054 L 16.081 7.857 C 16.081 7.981 15.981 8.081 15.857 8.081 L 9.143 8.081 C 9.019 8.081 8.919 7.981 8.919 7.857 Z" })
17969
+ ], -1)
17970
+ ])])) : createCommentVNode("", true),
17971
+ __props.type === "settings" ? (openBlock(), createElementBlock("svg", _hoisted_11, [..._cache[10] || (_cache[10] = [
17972
+ createBaseVNode("path", {
17973
+ "stroke-linecap": "round",
17974
+ "stroke-linejoin": "round",
17975
+ d: "M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"
17976
+ }, null, -1),
17977
+ createBaseVNode("path", {
17978
+ "stroke-linecap": "round",
17979
+ "stroke-linejoin": "round",
17980
+ d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
17981
+ }, null, -1)
17982
+ ])])) : createCommentVNode("", true),
17983
+ __props.type === "logout" ? (openBlock(), createElementBlock("svg", _hoisted_12, [..._cache[11] || (_cache[11] = [
17984
+ createBaseVNode("path", {
17985
+ "stroke-linecap": "round",
17986
+ "stroke-linejoin": "round",
17987
+ d: "M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"
17988
+ }, null, -1)
17989
+ ])])) : createCommentVNode("", true),
17990
+ __props.type === "logo" ? (openBlock(), createElementBlock("svg", _hoisted_13, [..._cache[12] || (_cache[12] = [
17991
+ createBaseVNode("path", {
17992
+ style: { "fill": "#3f2d56" },
17993
+ d: "M25,25V475H475V25ZM228.44,317.1q-17.94,13.42-47,13.42-39.6,0-66.66-21.78l18.7-26.18q20.46,16.06,47.74,16.06,13.63,0,21.67-4.62t8-12.54q0-7.47-7.48-11.66t-23.76-5.94q-31.47-3.51-46.09-14.74T119,217q0-21.33,17.49-34.43t45.65-13.09q33.87,0,58.3,17.6l-16.94,25.3a68.24,68.24,0,0,0-39.82-12.54q-13.42,0-21.45,4.4t-8,11.88q0,7.26,6.93,11.22t23.21,5.94q62,7.26,62,48.4Q246.37,303.69,228.44,317.1ZM385.19,204.46H338.11V327H302V204.46H255.17V173h130Z"
17994
+ }, null, -1)
17995
+ ])])) : createCommentVNode("", true),
17996
+ __props.type === "warning" ? (openBlock(), createElementBlock("svg", _hoisted_14, [..._cache[13] || (_cache[13] = [
17997
+ createBaseVNode("path", {
17998
+ "stroke-linecap": "round",
17999
+ "stroke-linejoin": "round",
18000
+ d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
18001
+ }, null, -1)
18002
+ ])])) : createCommentVNode("", true),
18003
+ __props.type === "upload" ? (openBlock(), createElementBlock("svg", _hoisted_15, [..._cache[14] || (_cache[14] = [
18004
+ createBaseVNode("path", {
18005
+ class: "arrow-up",
18006
+ "stroke-linecap": "round",
18007
+ "stroke-linejoin": "round",
18008
+ d: "M 7.5 7.5 L 12 3 M 12 3 L 16.5 7.5 M 12 3 L 12 16.5"
18009
+ }, null, -1),
18010
+ createBaseVNode("path", {
18011
+ "stroke-linecap": "round",
18012
+ "stroke-linejoin": "round",
18013
+ d: "M 3.064 16.521 L 3.064 18.771 C 3.064 20.013 4.072 21.021 5.314 21.021 L 18.814 21.021 C 20.057 21.021 21.064 20.013 21.064 18.771 L 21.064 16.521"
18014
+ }, null, -1)
18015
+ ])])) : createCommentVNode("", true),
18016
+ __props.type === "download" ? (openBlock(), createElementBlock("svg", _hoisted_16, [..._cache[15] || (_cache[15] = [
18017
+ createBaseVNode("path", {
18018
+ "stroke-linecap": "round",
18019
+ "stroke-linejoin": "round",
18020
+ d: "M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3"
18021
+ }, null, -1)
18022
+ ])])) : createCommentVNode("", true),
18023
+ __props.type === "checked" ? (openBlock(), createElementBlock("svg", _hoisted_17, [..._cache[16] || (_cache[16] = [
18024
+ createBaseVNode("path", {
18025
+ "stroke-linecap": "round",
18026
+ "stroke-linejoin": "round",
18027
+ d: "M5 13l4 4L19 7"
18028
+ }, null, -1)
18029
+ ])])) : createCommentVNode("", true),
18030
+ __props.type === "link" ? (openBlock(), createElementBlock("svg", _hoisted_18, [..._cache[17] || (_cache[17] = [
18031
+ createBaseVNode("path", {
18032
+ "stroke-linecap": "round",
18033
+ "stroke-linejoin": "round",
18034
+ d: "M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"
18035
+ }, null, -1)
18036
+ ])])) : createCommentVNode("", true),
18037
+ __props.type === "folder" ? (openBlock(), createElementBlock("svg", _hoisted_19, [..._cache[18] || (_cache[18] = [
18038
+ createBaseVNode("path", {
18039
+ "stroke-linecap": "round",
18040
+ "stroke-linejoin": "round",
18041
+ d: "M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"
18042
+ }, null, -1)
18043
+ ])])) : createCommentVNode("", true),
18044
+ __props.type === "close" ? (openBlock(), createElementBlock("svg", _hoisted_20, [..._cache[19] || (_cache[19] = [
18045
+ createBaseVNode("path", {
18046
+ "stroke-linecap": "round",
18047
+ "stroke-linejoin": "round",
18048
+ d: "M6 18L18 6M6 6l12 12"
18049
+ }, null, -1)
18050
+ ])])) : createCommentVNode("", true),
18051
+ __props.type === "add" ? (openBlock(), createElementBlock("svg", _hoisted_21, [..._cache[20] || (_cache[20] = [
18052
+ createBaseVNode("path", {
18053
+ "stroke-linecap": "round",
18054
+ "stroke-linejoin": "round",
18055
+ d: "M12 4v16m8-8H4"
18056
+ }, null, -1)
18057
+ ])])) : createCommentVNode("", true),
18058
+ __props.type === "info" ? (openBlock(), createElementBlock("svg", _hoisted_22, [..._cache[21] || (_cache[21] = [
18059
+ createBaseVNode("path", {
18060
+ "stroke-linecap": "round",
18061
+ "stroke-linejoin": "round",
18062
+ d: "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
18063
+ }, null, -1)
18064
+ ])])) : createCommentVNode("", true),
18065
+ __props.type === "history" ? (openBlock(), createElementBlock("svg", _hoisted_23, [..._cache[22] || (_cache[22] = [
18066
+ createBaseVNode("path", {
18067
+ "stroke-linecap": "round",
18068
+ "stroke-linejoin": "round",
18069
+ d: "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"
18070
+ }, null, -1)
18071
+ ])])) : createCommentVNode("", true),
18072
+ __props.type === "partner" ? (openBlock(), createElementBlock("svg", _hoisted_24, [..._cache[23] || (_cache[23] = [
18073
+ createBaseVNode("path", {
18074
+ "stroke-linecap": "round",
18075
+ "stroke-linejoin": "round",
18076
+ d: "M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z"
18077
+ }, null, -1)
18078
+ ])])) : createCommentVNode("", true),
18079
+ __props.type === "file" ? (openBlock(), createElementBlock("svg", _hoisted_25, [..._cache[24] || (_cache[24] = [
18080
+ createBaseVNode("path", {
18081
+ "stroke-linecap": "round",
18082
+ "stroke-linejoin": "round",
18083
+ d: "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"
18084
+ }, null, -1)
18085
+ ])])) : createCommentVNode("", true),
18086
+ __props.type === "publish" ? (openBlock(), createElementBlock("svg", _hoisted_26, [..._cache[25] || (_cache[25] = [
18087
+ createBaseVNode("path", {
18088
+ "stroke-linecap": "round",
18089
+ "stroke-linejoin": "round",
18090
+ d: "M8.684 13.342C8.886 12.938 9 12.482 9 12c0-.482-.114-.938-.316-1.342m0 2.684a3 3 0 110-2.684m0 2.684l6.632 3.316m-6.632-6l6.632-3.316m0 0a3 3 0 105.367-2.684 3 3 0 00-5.367 2.684zm0 9.316a3 3 0 105.368 2.684 3 3 0 00-5.368-2.684z"
18091
+ }, null, -1)
18092
+ ])])) : createCommentVNode("", true),
18093
+ __props.type === "menu" ? (openBlock(), createElementBlock("svg", _hoisted_27, [..._cache[26] || (_cache[26] = [
18094
+ createBaseVNode("path", {
18095
+ "stroke-linecap": "round",
18096
+ "stroke-linejoin": "round",
18097
+ d: "M4 6h16M4 12h8m-8 6h16"
18098
+ }, null, -1)
18099
+ ])])) : createCommentVNode("", true),
18100
+ __props.type === "endpoints" ? (openBlock(), createElementBlock("svg", _hoisted_28, [..._cache[27] || (_cache[27] = [
18101
+ createBaseVNode("path", {
18102
+ "stroke-linecap": "round",
18103
+ "stroke-linejoin": "round",
18104
+ d: "M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"
18105
+ }, null, -1)
18106
+ ])])) : createCommentVNode("", true),
18107
+ __props.type === "arrow-up" ? (openBlock(), createElementBlock("svg", _hoisted_29, [..._cache[28] || (_cache[28] = [
18108
+ createBaseVNode("path", {
18109
+ "stroke-linecap": "round",
18110
+ "stroke-linejoin": "round",
18111
+ d: "M4.5 15.75l7.5-7.5 7.5 7.5"
18112
+ }, null, -1)
18113
+ ])])) : createCommentVNode("", true),
18114
+ __props.type === "lightbulb" ? (openBlock(), createElementBlock("svg", _hoisted_30, [..._cache[29] || (_cache[29] = [
18115
+ createBaseVNode("path", {
18116
+ "stroke-linecap": "round",
18117
+ "stroke-linejoin": "round",
18118
+ d: "M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"
18119
+ }, null, -1)
18120
+ ])])) : createCommentVNode("", true),
18121
+ __props.type === "computer" ? (openBlock(), createElementBlock("svg", _hoisted_31, [..._cache[30] || (_cache[30] = [
18122
+ createBaseVNode("path", {
18123
+ "stroke-linecap": "round",
18124
+ "stroke-linejoin": "round",
18125
+ d: "M9 17.25v1.007a3 3 0 01-.879 2.122L7.5 21h9l-.621-.621A3 3 0 0115 18.257V17.25m6-12V15a2.25 2.25 0 01-2.25 2.25H5.25A2.25 2.25 0 013 15V5.25m18 0A2.25 2.25 0 0018.75 3H5.25A2.25 2.25 0 003 5.25m18 0V12a2.25 2.25 0 01-2.25 2.25H5.25A2.25 2.25 0 013 12V5.25"
18126
+ }, null, -1)
18127
+ ])])) : createCommentVNode("", true),
18128
+ __props.type === "tags" ? (openBlock(), createElementBlock("svg", _hoisted_32, [..._cache[31] || (_cache[31] = [
18129
+ createBaseVNode("path", {
18130
+ "stroke-linecap": "round",
18131
+ "stroke-linejoin": "round",
18132
+ d: "M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z"
18133
+ }, null, -1),
18134
+ createBaseVNode("path", {
18135
+ "stroke-linecap": "round",
18136
+ "stroke-linejoin": "round",
18137
+ d: "M6 6h.008v.008H6V6z"
18138
+ }, null, -1)
18139
+ ])])) : createCommentVNode("", true),
18140
+ __props.type === "home" ? (openBlock(), createElementBlock("svg", _hoisted_33, [..._cache[32] || (_cache[32] = [
18141
+ createBaseVNode("path", {
18142
+ "stroke-linecap": "round",
18143
+ "stroke-linejoin": "round",
18144
+ d: "M2.25 12l8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25"
18145
+ }, null, -1)
18146
+ ])])) : createCommentVNode("", true),
18147
+ __props.type === "server" ? (openBlock(), createElementBlock("svg", _hoisted_34, [..._cache[33] || (_cache[33] = [
18148
+ createBaseVNode("path", {
18149
+ "stroke-linecap": "round",
18150
+ "stroke-linejoin": "round",
18151
+ d: "M5.25 14.25h13.5m-13.5 0a3 3 0 01-3-3m3 3a3 3 0 100 6h13.5a3 3 0 100-6m-16.5-3a3 3 0 013-3h13.5a3 3 0 013 3m-19.5 0a4.5 4.5 0 01.9-2.7L5.737 5.1a3.375 3.375 0 012.7-1.35h7.126c1.062 0 2.062.5 2.7 1.35l2.587 3.45a4.5 4.5 0 01.9 2.7m0 0a3 3 0 01-3 3m0 3h.008v.008h-.008v-.008zm0-6h.008v.008h-.008v-.008zm-3 6h.008v.008h-.008v-.008zm0-6h.008v.008h-.008v-.008z"
18152
+ }, null, -1)
18153
+ ])])) : createCommentVNode("", true),
18154
+ __props.type === "play" ? (openBlock(), createElementBlock("svg", _hoisted_35, [..._cache[34] || (_cache[34] = [
18155
+ createBaseVNode("path", {
18156
+ "stroke-linecap": "round",
18157
+ "stroke-linejoin": "round",
18158
+ d: "M5.25 5.653c0-.856.917-1.398 1.667-.986l11.54 6.348a1.125 1.125 0 010 1.971l-11.54 6.347a1.125 1.125 0 01-1.667-.985V5.653z"
18159
+ }, null, -1)
18160
+ ])])) : createCommentVNode("", true),
18161
+ __props.type === "pause" ? (openBlock(), createElementBlock("svg", _hoisted_36, [..._cache[35] || (_cache[35] = [
18162
+ createBaseVNode("path", {
18163
+ "stroke-linecap": "round",
18164
+ "stroke-linejoin": "round",
18165
+ d: "M15.75 5.25v13.5m-7.5-13.5v13.5"
18166
+ }, null, -1)
18167
+ ])])) : createCommentVNode("", true),
18168
+ __props.type === "stop" ? (openBlock(), createElementBlock("svg", _hoisted_37, [..._cache[36] || (_cache[36] = [
18169
+ createBaseVNode("path", {
18170
+ "stroke-linecap": "round",
18171
+ "stroke-linejoin": "round",
18172
+ d: "M5.25 7.5A2.25 2.25 0 017.5 5.25h9a2.25 2.25 0 012.25 2.25v9a2.25 2.25 0 01-2.25 2.25h-9a2.25 2.25 0 01-2.25-2.25v-9z"
18173
+ }, null, -1)
18174
+ ])])) : createCommentVNode("", true),
18175
+ __props.type === "replay" ? (openBlock(), createElementBlock("svg", _hoisted_38, [..._cache[37] || (_cache[37] = [
18176
+ createBaseVNode("path", {
18177
+ "stroke-linecap": "round",
18178
+ "stroke-linejoin": "round",
18179
+ d: "M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99"
18180
+ }, null, -1)
18181
+ ])])) : createCommentVNode("", true),
18182
+ __props.type === "statistics" ? (openBlock(), createElementBlock("svg", _hoisted_39, [..._cache[38] || (_cache[38] = [
18183
+ createBaseVNode("path", {
18184
+ "stroke-linecap": "round",
18185
+ "stroke-linejoin": "round",
18186
+ d: "M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 013 19.875v-6.75zM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 01-1.125-1.125V8.625zM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 01-1.125-1.125V4.125z"
18187
+ }, null, -1)
18188
+ ])])) : createCommentVNode("", true),
18189
+ __props.type === "edit" ? (openBlock(), createElementBlock("svg", _hoisted_40, [..._cache[39] || (_cache[39] = [
18190
+ createBaseVNode("path", {
18191
+ "stroke-linecap": "round",
18192
+ "stroke-linejoin": "round",
18193
+ d: "M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10"
18194
+ }, null, -1)
18195
+ ])])) : createCommentVNode("", true),
18196
+ __props.type === "clock" ? (openBlock(), createElementBlock("svg", _hoisted_41, [..._cache[40] || (_cache[40] = [
18197
+ createBaseVNode("path", {
18198
+ "stroke-linecap": "round",
18199
+ "stroke-linejoin": "round",
18200
+ d: "M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0z"
18201
+ }, null, -1)
18202
+ ])])) : createCommentVNode("", true),
18203
+ __props.type === "filter" ? (openBlock(), createElementBlock("svg", _hoisted_42, [..._cache[41] || (_cache[41] = [
18204
+ createBaseVNode("path", {
18205
+ "stroke-linecap": "round",
18206
+ "stroke-linejoin": "round",
18207
+ d: "M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 01-.659 1.591l-5.432 5.432a2.25 2.25 0 00-.659 1.591v2.927a2.25 2.25 0 01-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 00-.659-1.591L3.659 7.409A2.25 2.25 0 013 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0112 3z"
18208
+ }, null, -1)
18209
+ ])])) : createCommentVNode("", true),
18210
+ __props.type === "star" ? (openBlock(), createElementBlock("svg", _hoisted_43, [..._cache[42] || (_cache[42] = [
18211
+ createBaseVNode("path", {
18212
+ "stroke-linecap": "round",
18213
+ "stroke-linejoin": "round",
18214
+ d: "M11.48 3.499a.562.562 0 011.04 0l2.125 5.111a.563.563 0 00.475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 00-.182.557l1.285 5.385a.562.562 0 01-.84.61l-4.725-2.885a.563.563 0 00-.586 0L6.982 20.54a.562.562 0 01-.84-.61l1.285-5.386a.562.562 0 00-.182-.557l-4.204-3.602a.563.563 0 01.321-.988l5.518-.442a.563.563 0 00.475-.345L11.48 3.5z"
18215
+ }, null, -1)
18216
+ ])])) : createCommentVNode("", true),
18217
+ __props.type === "hide" ? (openBlock(), createElementBlock("svg", _hoisted_44, [..._cache[43] || (_cache[43] = [
18218
+ createBaseVNode("path", {
18219
+ "stroke-linecap": "round",
18220
+ "stroke-linejoin": "round",
18221
+ d: "M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88"
18222
+ }, null, -1)
18223
+ ])])) : createCommentVNode("", true),
18224
+ __props.type === "test" ? (openBlock(), createElementBlock("svg", _hoisted_45, [..._cache[44] || (_cache[44] = [
18225
+ createBaseVNode("path", {
18226
+ "stroke-linecap": "round",
18227
+ "stroke-linejoin": "round",
18228
+ d: "M9.75 3.104v5.714a2.25 2.25 0 0 1-.659 1.591L5 14.5M9.75 3.104c-.251.023-.501.05-.75.082m.75-.082a24.301 24.301 0 0 1 4.5 0m0 0v5.714c0 .597.237 1.17.659 1.591L19.8 15.3M14.25 3.104c.251.023.501.05.75.082M19.8 15.3l-1.57.393A9.065 9.065 0 0 1 12 15a9.065 9.065 0 0 0-6.23-.693L5 14.5m14.8.8 1.402 1.402c1.232 1.232.65 3.318-1.067 3.611A48.309 48.309 0 0 1 12 21c-2.773 0-5.491-.235-8.135-.687-1.718-.293-2.3-2.379-1.067-3.61L5 14.5"
18229
+ }, null, -1)
18230
+ ])])) : createCommentVNode("", true),
18231
+ __props.type === "clipboard" ? (openBlock(), createElementBlock("svg", _hoisted_46, [..._cache[45] || (_cache[45] = [
18232
+ createBaseVNode("path", {
18233
+ "stroke-linecap": "round",
18234
+ "stroke-linejoin": "round",
18235
+ d: "M11.35 3.836c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75 2.25 2.25 0 0 0-.1-.664m-5.8 0A2.251 2.251 0 0 1 13.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m8.9-4.414c.376.023.75.05 1.124.08 1.131.094 1.976 1.057 1.976 2.192V16.5A2.25 2.25 0 0 1 18 18.75h-2.25m-7.5-10.5H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V18.75m-7.5-10.5h6.375c.621 0 1.125.504 1.125 1.125v9.375m-8.25-3 1.5 1.5 3-3.75"
18236
+ }, null, -1)
18237
+ ])])) : createCommentVNode("", true),
18238
+ __props.type === "structure" ? (openBlock(), createElementBlock("svg", _hoisted_47, [..._cache[46] || (_cache[46] = [
18239
+ createBaseVNode("path", {
18240
+ "stroke-linecap": "round",
18241
+ "stroke-linejoin": "round",
18242
+ d: "m21 7.5-9-5.25L3 7.5m18 0-9 5.25m9-5.25v9l-9 5.25M3 7.5l9 5.25M3 7.5v9l9 5.25m0-9v9"
18243
+ }, null, -1)
18244
+ ])])) : createCommentVNode("", true),
18245
+ __props.type === "qrcode" ? (openBlock(), createElementBlock("svg", _hoisted_48, [..._cache[47] || (_cache[47] = [
18246
+ createBaseVNode("path", {
18247
+ "stroke-linecap": "round",
18248
+ "stroke-linejoin": "round",
18249
+ d: "M3.75 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 3.75 9.375v-4.5ZM3.75 14.625c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5a1.125 1.125 0 0 1-1.125-1.125v-4.5ZM13.5 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 13.5 9.375v-4.5Z"
18250
+ }, null, -1),
18251
+ createBaseVNode("path", {
18252
+ "stroke-linecap": "round",
18253
+ "stroke-linejoin": "round",
18254
+ d: "M6.75 6.75h.75v.75h-.75v-.75ZM6.75 16.5h.75v.75h-.75v-.75ZM16.5 6.75h.75v.75h-.75v-.75ZM13.5 13.5h.75v.75h-.75v-.75ZM13.5 19.5h.75v.75h-.75v-.75ZM19.5 13.5h.75v.75h-.75v-.75ZM19.5 19.5h.75v.75h-.75v-.75ZM16.5 16.5h.75v.75h-.75v-.75Z"
18255
+ }, null, -1)
18256
+ ])])) : createCommentVNode("", true),
18257
+ __props.type === "magic" ? (openBlock(), createElementBlock("svg", _hoisted_49, [..._cache[48] || (_cache[48] = [
18258
+ createBaseVNode("path", {
18259
+ "stroke-linecap": "round",
18260
+ "stroke-linejoin": "round",
18261
+ d: "M9.813 15.904 9 18.75l-.813-2.846a4.5 4.5 0 0 0-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 0 0 3.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 0 0 3.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 0 0-3.09 3.09ZM18.259 8.715 18 9.75l-.259-1.035a3.375 3.375 0 0 0-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 0 0 2.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 0 0 2.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 0 0-2.456 2.456ZM16.894 20.567 16.5 21.75l-.394-1.183a2.25 2.25 0 0 0-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 0 0 1.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 0 0 1.423 1.423l1.183.394-1.183.394a2.25 2.25 0 0 0-1.423 1.423Z"
18262
+ }, null, -1)
18263
+ ])])) : createCommentVNode("", true),
18264
+ __props.type === "fastforward" ? (openBlock(), createElementBlock("svg", _hoisted_50, [..._cache[49] || (_cache[49] = [
18265
+ createBaseVNode("path", {
18266
+ "stroke-linecap": "round",
18267
+ "stroke-linejoin": "round",
18268
+ d: "M3 8.689c0-.864.933-1.406 1.683-.977l7.108 4.061a1.125 1.125 0 0 1 0 1.954l-7.108 4.061A1.125 1.125 0 0 1 3 16.811V8.69ZM12.75 8.689c0-.864.933-1.406 1.683-.977l7.108 4.061a1.125 1.125 0 0 1 0 1.954l-7.108 4.061a1.125 1.125 0 0 1-1.683-.977V8.69Z"
18269
+ }, null, -1)
18270
+ ])])) : createCommentVNode("", true),
18271
+ __props.type === "archive" ? (openBlock(), createElementBlock("svg", _hoisted_51, [..._cache[50] || (_cache[50] = [
18272
+ createBaseVNode("path", {
18273
+ "stroke-linecap": "round",
18274
+ "stroke-linejoin": "round",
18275
+ d: "m20.25 7.5-.625 10.632a2.25 2.25 0 0 1-2.247 2.118H6.622a2.25 2.25 0 0 1-2.247-2.118L3.75 7.5M10 11.25h4M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125Z"
18276
+ }, null, -1)
18277
+ ])])) : createCommentVNode("", true),
18278
+ __props.type === "send" ? (openBlock(), createElementBlock("svg", _hoisted_52, [..._cache[51] || (_cache[51] = [
18279
+ createBaseVNode("path", {
18280
+ "stroke-linecap": "round",
18281
+ "stroke-linejoin": "round",
18282
+ d: "M6 12 3.269 3.125A59.769 59.769 0 0 1 21.485 12 59.768 59.768 0 0 1 3.27 20.875L5.999 12Zm0 0h7.5"
18283
+ }, null, -1)
18284
+ ])])) : createCommentVNode("", true),
18285
+ __props.type === "chat" ? (openBlock(), createElementBlock("svg", _hoisted_53, [..._cache[52] || (_cache[52] = [
18286
+ createBaseVNode("path", {
18287
+ "stroke-linecap": "round",
18288
+ "stroke-linejoin": "round",
18289
+ d: "M8.625 9.75a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm0 0H8.25m4.125 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm0 0H12m4.125 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm0 0h-.375m-13.5 3.01c0 1.6 1.123 2.994 2.707 3.227 1.087.16 2.185.283 3.293.369V21l4.184-4.183a1.14 1.14 0 0 1 .778-.332 48.294 48.294 0 0 0 5.83-.498c1.585-.233 2.708-1.626 2.708-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0 0 12 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018Z"
18290
+ }, null, -1)
18291
+ ])])) : createCommentVNode("", true)
18292
+ ], 2);
18293
+ };
18294
+ }
18295
+ });
18296
+ const _style_0$2 = ".icon-partial[data-v-4a547a78]{display:grid;align-self:center;justify-content:center}.icon-partial svg[data-v-4a547a78]{align-self:center;justify-self:center;stroke-width:1.5}.icon-partial.rotate90 svg[data-v-4a547a78]{transform:rotate(90deg)}.icon-partial.rotate180 svg[data-v-4a547a78]{transform:rotate(180deg)}.icon-partial.animate svg[data-v-4a547a78]{transition:transform .2s ease,fill .2s ease,stroke .2s ease}@keyframes upAndDown-4a547a78{0%{transform:translateY(0)}to{transform:translateY(-20px)}}.icon-partial.animate .upload .arrow-up[data-v-4a547a78]{animation:upAndDown-4a547a78 1s infinite ease-in-out}.icon-partial.big[data-v-4a547a78]{width:30px;height:30px}.icon-partial.big svg[data-v-4a547a78]{width:30px;height:30px}.icon-partial.larger[data-v-4a547a78]{width:26px;height:26px}.icon-partial.larger svg[data-v-4a547a78]{width:26px;height:26px}.icon-partial.large[data-v-4a547a78]{width:24px;height:24px}.icon-partial.large svg[data-v-4a547a78]{width:24px;height:24px}.icon-partial.xl[data-v-4a547a78]{width:60px;height:60px}.icon-partial.xl svg[data-v-4a547a78]{width:60px;height:60px}.icon-partial.medium[data-v-4a547a78]{width:20px;height:20px}.icon-partial.medium svg[data-v-4a547a78]{width:20px;height:20px}.icon-partial.small[data-v-4a547a78]{width:16px;height:16px}.icon-partial.small svg[data-v-4a547a78]{width:16px;height:16px}.icon-partial.smaller[data-v-4a547a78]{width:10px;height:10px}.icon-partial.smaller svg[data-v-4a547a78]{width:10px;height:10px}.icon-partial.colorScheme1 svg[data-v-4a547a78]{stroke:var(--scm-icon-color-1, #333)}.icon-partial.colorScheme1 svg.useFill[data-v-4a547a78]{fill:var(--scm-icon-color-1, #333);stroke-width:0}.icon-partial.colorScheme2 svg[data-v-4a547a78]{stroke:var(--scm-icon-color-2, #666)}.icon-partial.colorScheme2 svg.useFill[data-v-4a547a78]{fill:var(--scm-icon-color-2, #666);stroke-width:0}.icon-partial.colorScheme4 svg[data-v-4a547a78]{stroke:var(--scm-icon-color-1, #333)}.icon-partial.colorScheme4 svg.useFill[data-v-4a547a78]{fill:var(--scm-icon-color-1, #333);stroke-width:0}.icon-partial.white svg[data-v-4a547a78]{stroke:#fff}.icon-partial.white svg.useFill[data-v-4a547a78]{fill:#fff;stroke-width:0}.icon-partial.grey svg[data-v-4a547a78]{stroke:var(--scm-color-muted, #999)}.icon-partial.grey svg.useFill[data-v-4a547a78]{fill:var(--scm-color-muted, #999);stroke-width:0}.icon-partial.aiColor svg[data-v-4a547a78]{stroke:var(--scm-icon-ai-color, #8b5cf6)}.icon-partial.aiColor svg.useFill[data-v-4a547a78]{fill:var(--scm-icon-ai-color, #8b5cf6);stroke-width:0}.icon-partial.red svg[data-v-4a547a78]{stroke:var(--scm-color-danger, #e53935)}.icon-partial.red svg.useFill[data-v-4a547a78]{fill:var(--scm-color-danger, #e53935);stroke-width:0}.icon-partial.green svg[data-v-4a547a78]{stroke:#43a047}.icon-partial.green svg.useFill[data-v-4a547a78]{fill:#43a047;stroke-width:0}";
18297
+ const IconsPartial = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["styles", [_style_0$2]], ["__scopeId", "data-v-4a547a78"]]);
18298
+ const _hoisted_1$1 = { class: "connection-status" };
18299
+ const _hoisted_2$1 = { class: "status" };
18300
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
18301
+ __name: "connection-status.partial",
18302
+ setup(__props) {
18303
+ const mainStore = useMainStore();
18304
+ const connection = computed(() => mainStore.state);
18305
+ return (_ctx, _cache) => {
18306
+ return openBlock(), createElementBlock("section", _hoisted_1$1, [
18307
+ createBaseVNode("div", _hoisted_2$1, toDisplayString$1(_ctx.$t(`status.${connection.value}`)), 1)
18308
+ ]);
18309
+ };
18310
+ }
18311
+ });
18312
+ const _style_0$1 = ".connection-status[data-v-a483f86f]{position:absolute;top:10px;right:10px;pointer-events:none}";
18313
+ const ConnectionStatusPartial = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["styles", [_style_0$1]], ["__scopeId", "data-v-a483f86f"]]);
17331
18314
  function resolveFeatures(config) {
17332
18315
  if (config.features?.length) return [...new Set(config.features)];
17333
18316
  switch (config.mode) {
@@ -17349,6 +18332,8 @@ function applyConfig(config, pinia) {
17349
18332
  if (config.apiUrl) mainStore.apiUrl = config.apiUrl;
17350
18333
  if (config.mediaUrl) mainStore.mediaUrl = config.mediaUrl;
17351
18334
  if (config.token) mainStore.authToken = config.token;
18335
+ if (config.unread) mainStore.unreadCallback = config.unread;
18336
+ if (config.close) mainStore.closeCallback = config.close;
17352
18337
  if (config.userId) useUserStore(pinia).user = config.userId;
17353
18338
  if (config.user) {
17354
18339
  const id = config.user.id || config.userId;
@@ -17358,22 +18343,25 @@ function applyConfig(config, pinia) {
17358
18343
  const MODULES = [
17359
18344
  { name: "chat", component: ChatModule },
17360
18345
  { name: "conversations", component: ConversationsModule },
17361
- { name: "chats", component: _sfc_main$f },
18346
+ { name: "chats", component: _sfc_main$i },
17362
18347
  { name: "contacts", component: ContactsModule }
17363
18348
  ];
17364
18349
  const PARTIALS = [
17365
18350
  { name: "participants", component: ParticipantsPartial },
17366
- { name: "actions", component: _sfc_main$b },
18351
+ { name: "actions", component: ActionsPartial },
17367
18352
  { name: "chat-header", component: ChatHeaderPartial },
17368
18353
  { name: "chat-actions", component: ChatActionsPartial },
17369
- { name: "name-edit", component: _sfc_main$9 },
18354
+ { name: "name-edit", component: _sfc_main$c },
17370
18355
  { name: "notice", component: NoticePartial },
17371
- { name: "system-message", component: _sfc_main$7 },
18356
+ { name: "system-message", component: _sfc_main$a },
17372
18357
  { name: "overlay-container", component: OverlayContainerPartial },
17373
18358
  { name: "button", component: ButtonPartial },
17374
18359
  { name: "dialog", component: DialogPartial },
17375
18360
  { name: "chat-input", component: ChatInputPartial },
17376
- { name: "user-name", component: _sfc_main$1 }
18361
+ { name: "user-avatar", component: UserAvatarPartial },
18362
+ { name: "user-name", component: _sfc_main$4 },
18363
+ { name: "icons", component: IconsPartial },
18364
+ { name: "connection-status", component: ConnectionStatusPartial }
17377
18365
  ];
17378
18366
  function registerComponents(app) {
17379
18367
  loadViaDeclarationSync(MODULES, void 0, "module", app);
@@ -17494,11 +18482,9 @@ function useResize() {
17494
18482
  return { realHeight: resize.realHeight, realWidth: resize.realWidth, media: resize.media, resized: resize.resized, widthChanged: resize.widthChanged, plugin: resize };
17495
18483
  }
17496
18484
  const _hoisted_1 = { class: "header" };
17497
- const _hoisted_2 = { class: "connection-status" };
17498
- const _hoisted_3 = { class: "status" };
17499
- const _hoisted_4 = {
18485
+ const _hoisted_2 = {
17500
18486
  key: 0,
17501
- class: "left"
18487
+ class: "main-left-target"
17502
18488
  };
17503
18489
  const _sfc_main = /* @__PURE__ */ defineComponent({
17504
18490
  __name: "App",
@@ -17514,7 +18500,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17514
18500
  connect,
17515
18501
  authenticate
17516
18502
  } = useWebSocket();
17517
- const connection = computed(() => mainStore.state);
17518
18503
  const realWidth = useResize().realWidth;
17519
18504
  const viewMode = computed(() => mainStore.viewMode);
17520
18505
  const leftTarget = computed(() => mainStore.leftTarget);
@@ -17524,6 +18509,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17524
18509
  mainStore.setViewMode("compact");
17525
18510
  }
17526
18511
  }, { immediate: true });
18512
+ watch([() => conversationsStore.totalUnreadCount, () => conversationsStore.totalUnreadConversations], () => {
18513
+ mainStore.unreadCallback?.({
18514
+ unreadMessages: conversationsStore.totalUnreadCount,
18515
+ unreadConversations: conversationsStore.totalUnreadConversations
18516
+ });
18517
+ });
17527
18518
  function decodeSub(token) {
17528
18519
  if (!token) return void 0;
17529
18520
  try {
@@ -17581,23 +18572,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17581
18572
  class: normalizeClass(["studio-chat-root", [viewMode.value, leftTarget.value]])
17582
18573
  }, [
17583
18574
  createBaseVNode("section", _hoisted_1, [
17584
- createVNode(_component_actions_partial),
17585
- createBaseVNode("section", _hoisted_2, [
17586
- createBaseVNode("div", _hoisted_3, toDisplayString$1(_ctx.$t(`status.${connection.value}`)), 1)
17587
- ])
18575
+ createVNode(_component_actions_partial)
17588
18576
  ]),
17589
- unref(mainStore).leftTarget ? (openBlock(), createElementBlock("section", _hoisted_4, [
18577
+ unref(mainStore).leftTarget ? (openBlock(), createElementBlock("section", _hoisted_2, [
17590
18578
  unref(mainStore).leftTarget === "conversations" ? (openBlock(), createBlock(ConversationsModule, { key: 0 })) : createCommentVNode("", true),
17591
18579
  unref(mainStore).leftTarget === "contacts-new" || unref(mainStore).leftTarget === "contacts-edit" ? (openBlock(), createBlock(_component_contacts_module, { key: 1 })) : createCommentVNode("", true)
17592
18580
  ])) : createCommentVNode("", true),
17593
- unref(mainStore).mainTarget === "chat" ? (openBlock(), createBlock(_sfc_main$f, { key: 1 })) : createCommentVNode("", true),
18581
+ unref(mainStore).mainTarget === "chat" ? (openBlock(), createBlock(_sfc_main$i, { key: 1 })) : createCommentVNode("", true),
17594
18582
  _cache[0] || (_cache[0] = createBaseVNode("div", { class: "util" }, null, -1))
17595
18583
  ], 2);
17596
18584
  };
17597
18585
  }
17598
18586
  });
17599
- const _style_0 = ":host{display:block;height:100%}:host,.studio-chat-root{--scm-color-primary: #008cff;--scm-color-own: #ff009d;--scm-color-surface: #f6f6f6;--scm-color-muted: #757474;--scm-color-danger: #e53935}#app{height:100vh}.studio-chat-root{display:grid;grid-template-rows:40px 1fr;grid-template-columns:minmax(200px,400px) 1fr;height:100%}.studio-chat-root .header{display:grid;background-color:var(--scm-color-surface);grid-template-columns:max-content 1fr;padding:0 20px;align-content:center}.studio-chat-root .header .connection-status{justify-self:end}.studio-chat-root .conversations-module{grid-column:1}.studio-chat-root .chats-module{grid-column:2}.studio-chat-root.support-no-sidebar{grid-template-columns:1fr}.studio-chat-root.support-no-sidebar .chats-module{grid-column:1}.studio-chat-root.compact{grid-template-columns:1fr}.studio-chat-root.compact .chats-module{grid-column:1}.studio-chat-root.compact .left{width:100%;position:absolute;top:40px;left:0;transform:translate(-100%);transition:transform .3s ease-in-out;background-color:#fff;z-index:100;height:calc(100% - 40px)}.studio-chat-root.compact.conversations .left,.studio-chat-root.compact.contacts-new .left,.studio-chat-root.compact.contacts-edit .left{transform:translate(0)}*{-moz-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;background-repeat:no-repeat;list-style-type:none;text-decoration:none}";
17600
- const App = /* @__PURE__ */ _export_sfc(_sfc_main, [["styles", [_style_0]]]);
18587
+ const _style_0 = "[data-v-f291279e]:host{display:block;height:100%}[data-v-f291279e]:host,.studio-chat-root[data-v-f291279e]{--scm-font-size: 16px;--scm-color-primary: #008cff;--scm-color-own: #ff009d;--scm-color-surface: #f6f6f6;--scm-color-muted: #757474;--scm-color-danger: #e53935;font-size:var(--scm-font-size)}#app[data-v-f291279e]{height:100vh}.studio-chat-root[data-v-f291279e]{display:grid;grid-template-rows:40px 1fr;grid-template-columns:minmax(200px,400px) 1fr;height:100%}.studio-chat-root .header[data-v-f291279e]{display:grid;background-color:var(--scm-color-surface);grid-template-columns:max-content 1fr;padding:0 20px;align-content:center}.studio-chat-root .conversations-module[data-v-f291279e]{grid-column:1}.studio-chat-root .chats-module[data-v-f291279e]{grid-column:2}.studio-chat-root.support-no-sidebar[data-v-f291279e]{grid-template-columns:1fr}.studio-chat-root.support-no-sidebar .chats-module[data-v-f291279e]{grid-column:1}.studio-chat-root.compact[data-v-f291279e]{grid-template-columns:1fr}.studio-chat-root.compact .chats-module[data-v-f291279e]{grid-column:1}.studio-chat-root.compact .main-left-target[data-v-f291279e]{width:100%;position:absolute;top:40px;left:0;transform:translate(-100%);transition:transform .3s ease-in-out;background-color:#fff;z-index:100;height:calc(100% - 40px)}.studio-chat-root.compact.conversations .main-left-target[data-v-f291279e],.studio-chat-root.compact.contacts-new .main-left-target[data-v-f291279e],.studio-chat-root.compact.contacts-edit .main-left-target[data-v-f291279e]{transform:translate(0)}[data-v-f291279e]{-moz-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;background-repeat:no-repeat;list-style-type:none;text-decoration:none}";
18588
+ const App = /* @__PURE__ */ _export_sfc(_sfc_main, [["styles", [_style_0]], ["__scopeId", "data-v-f291279e"]]);
17601
18589
  dayjs.extend(relativeTime);
17602
18590
  const LilaquadratStudioChat = /* @__PURE__ */ defineCustomElement(App, {
17603
18591
  shadowRoot: true,
@@ -17617,6 +18605,40 @@ const LilaquadratStudioChat = /* @__PURE__ */ defineCustomElement(App, {
17617
18605
  if (!customElements.get("lilaquadrat-studio-chat")) {
17618
18606
  customElements.define("lilaquadrat-studio-chat", LilaquadratStudioChat);
17619
18607
  }
18608
+ const de = {
18609
+ status: {
18610
+ connected: "Verbunden",
18611
+ disconnected: "Getrennt"
18612
+ },
18613
+ actions: {
18614
+ retry: "Wiederholen"
18615
+ },
18616
+ "new chat": "Neuer Chat",
18617
+ "conversations": "Unterhaltungen",
18618
+ "contact support": "Support kontaktieren",
18619
+ "support": "Support",
18620
+ "options": "Optionen",
18621
+ "mute": "Stumm schalten",
18622
+ "delete": "Löschen",
18623
+ "leave": "Verlassen",
18624
+ "leave now": "Jetzt verlassen?",
18625
+ "select contacts": "Kontakte auswählen",
18626
+ "conversation options": "Konversationsoptionen",
18627
+ system: {
18628
+ renamed: '{user} hat "{from}" in "{to}" umbenannt',
18629
+ created: "{user} hat diese Unterhaltung erstellt",
18630
+ left: "{user} hat die Unterhaltung verlassen",
18631
+ participants: {
18632
+ addedAndRemoved: "{user} hat {added} hinzugefügt und {removed} entfernt",
18633
+ added: "{user} hat {added} hinzugefügt",
18634
+ removed: "{user} hat {removed} entfernt"
18635
+ }
18636
+ }
18637
+ };
18638
+ const de$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
18639
+ __proto__: null,
18640
+ default: de
18641
+ }, Symbol.toStringTag, { value: "Module" }));
17620
18642
  export {
17621
18643
  LilaquadratStudioChat
17622
18644
  };