@mobilon-dev/chotto 0.3.55 → 0.3.57

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.
@@ -1,7 +1,7 @@
1
1
  import o from "./Tooltip.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-d13721a4"]]);
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-595f9104"]]);
5
5
  export {
6
6
  m as default
7
7
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent as k, inject as N, ref as c, computed as A, onUnmounted as D, createElementBlock as d, openBlock as m, Fragment as R, createElementVNode as V, createBlock as E, renderSlot as I, Teleport as L, createVNode as M, Transition as $, withCtx as j, createCommentVNode as q, normalizeClass as z, unref as v, toDisplayString as F, nextTick as g } from "vue";
1
+ import { defineComponent as k, inject as N, ref as u, computed as A, onUnmounted as D, createElementBlock as T, openBlock as m, Fragment as R, createElementVNode as V, createBlock as E, renderSlot as I, Teleport as L, createVNode as M, Transition as $, withCtx as j, createCommentVNode as q, normalizeClass as z, unref as v, toDisplayString as F, nextTick as g } from "vue";
2
2
  import "../../../hooks/useMessageDraft.js";
3
3
  import "../../../hooks/useSearchModel.js";
4
4
  import { useTheme as P } from "../../../hooks/useTheme.js";
@@ -35,54 +35,56 @@ const U = ["data-theme"], Z = /* @__PURE__ */ k({
35
35
  default: 600
36
36
  }
37
37
  },
38
- setup(y, { expose: w }) {
39
- const x = N("chatAppId"), { getTheme: T } = P(x), p = c(), a = c(), n = c(!1), s = c(null), f = c(null), e = y, _ = A(() => ({
38
+ setup(w, { expose: d }) {
39
+ const x = N("chatAppId"), { getTheme: y } = P(x), p = u(), a = u(), c = u(!1), h = u(null), r = u(null), e = w, _ = A(() => ({
40
40
  tooltip__text: !0,
41
41
  [`tooltip--${e.position}`]: !0
42
42
  })), B = () => {
43
- e.trigger !== "auto" && (f.value && (clearTimeout(f.value), f.value = null), f.value = setTimeout(() => {
44
- n.value = !0, g(() => {
43
+ e.trigger !== "auto" && (r.value && (clearTimeout(r.value), r.value = null), r.value = setTimeout(() => {
44
+ c.value = !0, g(() => {
45
45
  if (p.value && a.value) {
46
- const l = a.value, t = p.value.getBoundingClientRect(), o = a.value.getBoundingClientRect(), i = o.left < 0 ? o.left : 0, r = o.top < 0 ? o.top : 0, u = {
47
- left: { top: t.top - (o.height - t.height) / 2 - r, left: (t == null ? void 0 : t.left) - o.width - i - e.offset },
48
- right: { top: t.top - (o.height - t.height) / 2 - r, left: (t == null ? void 0 : t.left) + t.width - i + e.offset },
49
- bottom: { top: (t == null ? void 0 : t.bottom) - r + e.offset, left: (t == null ? void 0 : t.left) - i },
50
- top: { top: t.top - o.height - e.offset - r, left: (t == null ? void 0 : t.left) - i },
51
- "bottom-left": { top: (t == null ? void 0 : t.bottom) - r + e.offset, left: (t == null ? void 0 : t.left) + t.width - o.width - i }
46
+ const f = a.value, t = p.value.getBoundingClientRect(), o = a.value.getBoundingClientRect(), l = o.left < 0 ? o.left : 0, i = o.top < 0 ? o.top : 0, n = {
47
+ left: { top: t.top - (o.height - t.height) / 2 - i, left: (t == null ? void 0 : t.left) - o.width - l - e.offset },
48
+ right: { top: t.top - (o.height - t.height) / 2 - i, left: (t == null ? void 0 : t.left) + t.width - l + e.offset },
49
+ bottom: { top: (t == null ? void 0 : t.bottom) - i + e.offset, left: (t == null ? void 0 : t.left) - l },
50
+ "bottom-center": { top: (t == null ? void 0 : t.bottom) - i + e.offset, left: (t == null ? void 0 : t.left) + t.width / 2 - o.width / 2 - l },
51
+ top: { top: t.top - o.height - e.offset - i, left: (t == null ? void 0 : t.left) - l },
52
+ "bottom-left": { top: (t == null ? void 0 : t.bottom) - i + e.offset, left: (t == null ? void 0 : t.left) + t.width - o.width - l }
52
53
  };
53
- l.style.top = u[e.position].top + "px", l.style.left = u[e.position].left + "px";
54
+ f.style.top = n[e.position].top + "px", f.style.left = n[e.position].left + "px";
54
55
  }
55
- }), f.value = null;
56
+ }), r.value = null;
56
57
  }, e.delay));
57
58
  }, C = () => {
58
- e.trigger !== "auto" && (f.value && (clearTimeout(f.value), f.value = null), n.value = !1, g(() => {
59
- const l = v(a);
60
- l && (l.style.top = "0", l.style.left = "0");
59
+ e.trigger !== "auto" && (r.value && (clearTimeout(r.value), r.value = null), c.value = !1, g(() => {
60
+ const f = v(a);
61
+ f && (f.style.top = "0", f.style.left = "0");
61
62
  }));
62
63
  }, S = () => {
63
- h(), n.value = !0, g(() => {
64
+ s(), c.value = !0, g(() => {
64
65
  if (p.value && a.value) {
65
- const l = a.value, t = p.value.getBoundingClientRect(), o = a.value.getBoundingClientRect(), i = o.left < 0 ? o.left : 0, r = o.top < 0 ? o.top : 0, u = {
66
- left: { top: t.top - (o.height - t.height) / 2 - r, left: (t == null ? void 0 : t.left) - o.width - i - e.offset },
67
- right: { top: t.top - (o.height - t.height) / 2 - r, left: (t == null ? void 0 : t.left) + t.width - i + e.offset },
68
- bottom: { top: (t == null ? void 0 : t.bottom) - r + e.offset, left: (t == null ? void 0 : t.left) - i },
69
- top: { top: t.top - o.height - e.offset - r, left: (t == null ? void 0 : t.left) - i },
70
- "bottom-left": { top: (t == null ? void 0 : t.bottom) - r + e.offset, left: (t == null ? void 0 : t.left) + t.width - o.width - i }
66
+ const f = a.value, t = p.value.getBoundingClientRect(), o = a.value.getBoundingClientRect(), l = o.left < 0 ? o.left : 0, i = o.top < 0 ? o.top : 0, n = {
67
+ left: { top: t.top - (o.height - t.height) / 2 - i, left: (t == null ? void 0 : t.left) - o.width - l - e.offset },
68
+ right: { top: t.top - (o.height - t.height) / 2 - i, left: (t == null ? void 0 : t.left) + t.width - l + e.offset },
69
+ bottom: { top: (t == null ? void 0 : t.bottom) - i + e.offset, left: (t == null ? void 0 : t.left) - l },
70
+ "bottom-center": { top: (t == null ? void 0 : t.bottom) - i + e.offset, left: (t == null ? void 0 : t.left) + t.width / 2 - o.width / 2 - l },
71
+ top: { top: t.top - o.height - e.offset - i, left: (t == null ? void 0 : t.left) - l },
72
+ "bottom-left": { top: (t == null ? void 0 : t.bottom) - i + e.offset, left: (t == null ? void 0 : t.left) + t.width - o.width - l }
71
73
  };
72
- l.style.top = u[e.position].top + "px", l.style.left = u[e.position].left + "px";
74
+ f.style.top = n[e.position].top + "px", f.style.left = n[e.position].left + "px";
73
75
  }
74
- }), e.autoShowDuration > 0 && (s.value = setTimeout(() => {
75
- n.value = !1;
76
+ }), e.autoShowDuration > 0 && (h.value = setTimeout(() => {
77
+ c.value = !1;
76
78
  }, e.autoShowDuration));
77
- }, h = () => {
78
- s.value && (clearTimeout(s.value), s.value = null);
79
+ }, s = () => {
80
+ h.value && (clearTimeout(h.value), h.value = null);
79
81
  };
80
82
  return D(() => {
81
- f.value && clearTimeout(f.value), h();
82
- }), w({
83
+ r.value && clearTimeout(r.value), s();
84
+ }), d({
83
85
  startAutoShow: S,
84
- clearAutoTimer: h
85
- }), (l, t) => (m(), d(R, null, [
86
+ clearAutoTimer: s
87
+ }), (f, t) => (m(), T(R, null, [
86
88
  V("div", {
87
89
  ref_key: "container",
88
90
  ref: p,
@@ -90,18 +92,18 @@ const U = ["data-theme"], Z = /* @__PURE__ */ k({
90
92
  onMouseover: B,
91
93
  onMouseout: C
92
94
  }, [
93
- I(l.$slots, "default", {}, void 0, !0)
95
+ I(f.$slots, "default", {}, void 0, !0)
94
96
  ], 544),
95
97
  (m(), E(L, { to: "body" }, [
96
98
  M($, null, {
97
99
  default: j(() => [
98
- n.value ? (m(), d("span", {
100
+ c.value ? (m(), T("span", {
99
101
  key: 0,
100
102
  ref_key: "tooltip",
101
103
  ref: a,
102
- "data-theme": v(T)().theme ? v(T)().theme : "light",
104
+ "data-theme": v(y)().theme ? v(y)().theme : "light",
103
105
  class: z(_.value)
104
- }, F(y.text), 11, U)) : q("", !0)
106
+ }, F(w.text), 11, U)) : q("", !0)
105
107
  ]),
106
108
  _: 1
107
109
  })
@@ -1,7 +1,7 @@
1
- import o from "./DelimiterMessage.vue2.js";
1
+ import e from "./DelimiterMessage.vue2.js";
2
2
  /* empty css */
3
- import t from "../../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-9ff92646"]]);
3
+ import o from "../../../_virtual/_plugin-vue_export-helper.js";
4
+ const s = /* @__PURE__ */ o(e, [["__scopeId", "data-v-6097de8c"]]);
5
5
  export {
6
- m as default
6
+ s as default
7
7
  };
@@ -1,54 +1,99 @@
1
- import { defineComponent as f, ref as a, onMounted as d, onBeforeUnmount as g, watch as _, createElementBlock as v, openBlock as p, normalizeClass as T, createElementVNode as R, toDisplayString as D } from "vue";
2
- const O = { class: "delimiter-message__text" }, b = 3e3, h = 400, y = /* @__PURE__ */ f({
1
+ import { defineComponent as T, computed as y, ref as c, onMounted as x, onBeforeUnmount as R, watch as b, createElementBlock as u, openBlock as f, createVNode as h, withCtx as D, createElementVNode as a, normalizeClass as d, toDisplayString as g } from "vue";
2
+ import O from "../../1_atoms/Tooltip/Tooltip.vue.js";
3
+ const k = {
4
+ key: 0,
5
+ class: "delimiter-message__tooltip-root"
6
+ }, N = { class: "delimiter-message__text" }, I = { class: "delimiter-message__text" }, A = 3e3, E = 400, B = /* @__PURE__ */ T({
3
7
  __name: "DelimiterMessage",
4
8
  props: {
5
9
  message: {
6
10
  type: Object,
7
11
  required: !0
12
+ },
13
+ /** Текст подсказки при наведении. Если не передан — берётся из message.tooltipText */
14
+ tooltipText: {
15
+ type: String,
16
+ default: ""
17
+ },
18
+ /** Позиция тултипа: top | right | bottom | left | bottom-left | bottom-center */
19
+ tooltipPosition: {
20
+ type: String,
21
+ default: "bottom-center"
22
+ },
23
+ /** Отступ тултипа от элемента (px) */
24
+ tooltipOffset: {
25
+ type: Number,
26
+ default: 8
27
+ },
28
+ /** Задержка показа тултипа (ms) */
29
+ tooltipDelay: {
30
+ type: Number,
31
+ default: 100
8
32
  }
9
33
  },
10
34
  emits: ["read"],
11
- setup(i, { emit: m }) {
12
- const s = i, c = m, n = a(null), r = a(!1);
35
+ setup(o, { emit: p }) {
36
+ const i = o, r = y(
37
+ () => i.tooltipText || i.message.tooltipText || ""
38
+ ), v = p, s = c(null), l = c(!1);
13
39
  let t = null, e = null;
14
- const l = () => {
15
- !s.message.autoRemove || !n.value || (t = new IntersectionObserver(
16
- (o) => {
17
- o[0].isIntersecting ? (e && clearTimeout(e), e = setTimeout(() => {
18
- r.value = !0, t && n.value && (t.disconnect(), t = null), setTimeout(() => {
19
- c("read", s.message.messageId);
20
- }, h);
21
- }, b)) : e && (clearTimeout(e), e = null);
40
+ const m = () => {
41
+ !i.message.autoRemove || !s.value || (t = new IntersectionObserver(
42
+ (n) => {
43
+ n[0].isIntersecting ? (e && clearTimeout(e), e = setTimeout(() => {
44
+ l.value = !0, t && s.value && (t.disconnect(), t = null), setTimeout(() => {
45
+ v("read", i.message.messageId);
46
+ }, E);
47
+ }, A)) : e && (clearTimeout(e), e = null);
22
48
  },
23
49
  {
24
50
  threshold: 0.75,
25
51
  // Элемент должен быть виден минимум на 75%
26
52
  rootMargin: "0px"
27
53
  }
28
- ), t.observe(n.value));
54
+ ), t.observe(s.value));
29
55
  };
30
- return d(() => {
31
- s.message.autoRemove && setTimeout(() => {
32
- l();
56
+ return x(() => {
57
+ i.message.autoRemove && setTimeout(() => {
58
+ m();
33
59
  }, 100);
34
- }), g(() => {
60
+ }), R(() => {
35
61
  e && (clearTimeout(e), e = null), t && (t.disconnect(), t = null);
36
- }), _(
37
- () => s.message.autoRemove,
38
- (o) => {
39
- t && (t.disconnect(), t = null), e && (clearTimeout(e), e = null), o && setTimeout(() => {
40
- l();
62
+ }), b(
63
+ () => i.message.autoRemove,
64
+ (n) => {
65
+ t && (t.disconnect(), t = null), e && (clearTimeout(e), e = null), n && setTimeout(() => {
66
+ m();
41
67
  }, 100);
42
68
  }
43
- ), (o, u) => (p(), v("div", {
69
+ ), (n, _) => r.value ? (f(), u("div", k, [
70
+ h(O, {
71
+ text: r.value,
72
+ position: o.tooltipPosition,
73
+ offset: o.tooltipOffset,
74
+ delay: o.tooltipDelay
75
+ }, {
76
+ default: D(() => [
77
+ a("div", {
78
+ ref_key: "containerRef",
79
+ ref: s,
80
+ class: d(["delimiter-message__container", { "delimiter-message__container--removing": l.value }])
81
+ }, [
82
+ a("p", N, g(o.message.text), 1)
83
+ ], 2)
84
+ ]),
85
+ _: 1
86
+ }, 8, ["text", "position", "offset", "delay"])
87
+ ])) : (f(), u("div", {
88
+ key: 1,
44
89
  ref_key: "containerRef",
45
- ref: n,
46
- class: T(["delimiter-message__container", { "delimiter-message__container--removing": r.value }])
90
+ ref: s,
91
+ class: d(["delimiter-message__container", { "delimiter-message__container--removing": l.value }])
47
92
  }, [
48
- R("p", O, D(i.message.text), 1)
93
+ a("p", I, g(o.message.text), 1)
49
94
  ], 2));
50
95
  }
51
96
  });
52
97
  export {
53
- y as default
98
+ B as default
54
99
  };
@@ -1,18 +1,18 @@
1
- import { ref as I, computed as M, createElementBlock as i, openBlock as a, renderSlot as L, createBlock as h, createCommentVNode as n, createElementVNode as r, createVNode as w, unref as e, toDisplayString as u, createTextVNode as D, Fragment as y, renderList as p, Transition as Q, withCtx as N } from "vue";
1
+ import { ref as I, computed as M, createElementBlock as o, openBlock as a, renderSlot as L, createBlock as u, createCommentVNode as n, createElementVNode as r, createVNode as w, unref as e, toDisplayString as d, createTextVNode as D, Fragment as y, renderList as p, Transition as Q, withCtx as N } from "vue";
2
2
  import x from "../../2_chatlist_elements/ChatItem/ChatItem.vue.js";
3
3
  import V from "../../2_chatlist_elements/ChatFilter/ChatFilter.vue.js";
4
4
  import $ from "../../2_chatlist_elements/ChatTabs/ChatTabs.vue.js";
5
5
  import q from "../../1_atoms/LoadingIndicator/LoadingIndicator.vue.js";
6
- import { useChatListScroll as P } from "./composables/useChatListScroll.js";
7
- import { useChatListSelection as U } from "./composables/useChatListSelection.js";
8
- import { useChatListFilter as W } from "./composables/useChatListFilter.js";
9
- import { useChatListActions as j } from "./composables/useChatListActions.js";
6
+ import { useChatListScroll as H } from "./composables/useChatListScroll.js";
7
+ import { useChatListSelection as P } from "./composables/useChatListSelection.js";
8
+ import { useChatListFilter as U } from "./composables/useChatListFilter.js";
9
+ import { useChatListActions as W } from "./composables/useChatListActions.js";
10
10
  /* empty css */
11
- import O from "../../../_virtual/_plugin-vue_export-helper.js";
12
- const R = { class: "chat-list" }, z = {
11
+ import j from "../../../_virtual/_plugin-vue_export-helper.js";
12
+ const O = { class: "chat-list" }, R = {
13
13
  key: 2,
14
14
  class: "chat-list__search-indicator"
15
- }, G = { class: "chat-list__search-content" }, H = { class: "chat-list__search-text" }, J = {
15
+ }, z = { class: "chat-list__search-content" }, G = { class: "chat-list__search-text" }, J = {
16
16
  key: 0,
17
17
  class: "chat-list__search-progress"
18
18
  }, K = {
@@ -27,10 +27,10 @@ const R = { class: "chat-list" }, z = {
27
27
  }, Z = {
28
28
  key: 0,
29
29
  class: "chat-list__no-data"
30
- }, tt = {
30
+ }, tt = { class: "chat-list__placeholder" }, et = { class: "chat-list__placeholder-title" }, st = { class: "chat-list__placeholder-hint" }, at = {
31
31
  key: 4,
32
32
  class: "chat-list__fixed-items-bottom"
33
- }, et = {
33
+ }, it = {
34
34
  __name: "ChatList",
35
35
  props: {
36
36
  chats: {
@@ -82,59 +82,67 @@ const R = { class: "chat-list" }, z = {
82
82
  type: String,
83
83
  default: "hover",
84
84
  validator: (s) => ["hover", "rightClick"].includes(s)
85
+ },
86
+ placeholderTitle: {
87
+ type: String,
88
+ default: "Нет контактных данных, чтобы начать чат"
89
+ },
90
+ placeholderHint: {
91
+ type: String,
92
+ default: "Добавьте номер телефона и Имя в карточку контакта"
85
93
  }
86
94
  },
87
95
  emits: ["select", "action", "loadMoreChats", "expand", "tab-click", "search", "clear-search"],
88
96
  setup(s, { emit: F }) {
89
- const l = s, d = F, S = I(), k = M(() => l.chats), {
97
+ const l = s, h = F, S = I(), k = M(() => l.chats), {
90
98
  isShowButton: B,
91
- scrollToTopForce: C,
92
- scrollCheck: _,
93
- startScrollWatch: b,
94
- stopScrollWatch: T
95
- } = P({ refChatList: S, chats: k, emit: d }), {
99
+ scrollToTopForce: _,
100
+ scrollCheck: C,
101
+ startScrollWatch: T,
102
+ stopScrollWatch: b
103
+ } = H({ refChatList: S, chats: k, emit: h }), {
96
104
  selectChat: g
97
- } = U({ chats: k, emit: d }), {
105
+ } = P({ chats: k, emit: h }), {
98
106
  getSortedAndFilteredChats: c,
99
107
  getFilter: A
100
- } = W({ props: l, emit: d }), {
108
+ } = U({ props: l, emit: h }), {
101
109
  expandChat: m,
102
110
  action: f,
103
111
  handleTabClick: E
104
- } = j({ emit: d });
105
- return (v, o) => (a(), i("div", R, [
112
+ } = W({ emit: h });
113
+ return (v, i) => (a(), o("div", O, [
106
114
  L(v.$slots, "header", {}, void 0, !0),
107
115
  L(v.$slots, "sidebar", {}, void 0, !0),
108
- s.filterEnabled ? (a(), h(V, {
116
+ s.filterEnabled ? (a(), u(V, {
109
117
  key: 0,
110
118
  class: "chat-list__filter",
111
119
  onUpdate: e(A)
112
120
  }, null, 8, ["onUpdate"])) : n("", !0),
113
- s.dialogTabs && s.dialogTabs.length > 0 ? (a(), h($, {
121
+ s.dialogTabs && s.dialogTabs.length > 0 ? (a(), u($, {
114
122
  key: 1,
115
123
  tabs: s.dialogTabs,
116
124
  onTabClick: e(E)
117
125
  }, null, 8, ["tabs", "onTabClick"])) : n("", !0),
118
- s.isSearching || s.searchQuery ? (a(), i("div", z, [
119
- r("div", G, [
120
- r("div", H, [
121
- s.isSearching ? (a(), i("span", J, u(s.searchProgress || "Поиск..."), 1)) : (a(), i("span", K, [
122
- D(' Поиск "' + u(s.searchQuery) + '" завершён ', 1),
123
- s.searchStats.loaded > 0 ? (a(), i("span", X, " (" + u(s.searchStats.loaded) + " " + u(s.searchStats.total !== "?" ? `из ${s.searchStats.total}` : "") + ") ", 1)) : n("", !0)
126
+ s.isSearching || s.searchQuery ? (a(), o("div", R, [
127
+ r("div", z, [
128
+ r("div", G, [
129
+ s.isSearching ? (a(), o("span", J, d(s.searchProgress || "Поиск..."), 1)) : (a(), o("span", K, [
130
+ D(' Поиск "' + d(s.searchQuery) + '" завершён ', 1),
131
+ s.searchStats.loaded > 0 ? (a(), o("span", X, " (" + d(s.searchStats.loaded) + " " + d(s.searchStats.total !== "?" ? `из ${s.searchStats.total}` : "") + ") ", 1)) : n("", !0)
124
132
  ]))
125
133
  ]),
126
- s.searchQuery ? (a(), i("button", {
134
+ s.searchQuery ? (a(), o("button", {
127
135
  key: 0,
128
136
  class: "chat-list__search-clear",
129
137
  title: "Очистить поиск",
130
- onClick: o[0] || (o[0] = (t) => d("clear-search"))
131
- }, [...o[5] || (o[5] = [
138
+ onClick: i[0] || (i[0] = (t) => h("clear-search"))
139
+ }, [...i[5] || (i[5] = [
132
140
  r("i", { class: "pi pi-times" }, null, -1)
133
141
  ])])) : n("", !0)
134
142
  ])
135
143
  ])) : n("", !0),
136
- !l.isLoading && e(c)().filter((t) => t.isFixedTop).length > 0 ? (a(), i("div", Y, [
137
- (a(!0), i(y, null, p(e(c)().filter((t) => t.isFixedTop), (t) => (a(), h(x, {
144
+ !l.isLoading && e(c)().filter((t) => t.isFixedTop).length > 0 ? (a(), o("div", Y, [
145
+ (a(!0), o(y, null, p(e(c)().filter((t) => t.isFixedTop), (t) => (a(), u(x, {
138
146
  key: t.chatId,
139
147
  class: "chat-list__item",
140
148
  chat: t,
@@ -149,20 +157,20 @@ const R = { class: "chat-list" }, z = {
149
157
  ref_key: "refChatList",
150
158
  ref: S,
151
159
  class: "chat-list__items",
152
- onScroll: o[1] || (o[1] = (...t) => e(_) && e(_)(...t)),
153
- onMousedown: o[2] || (o[2] = (...t) => e(b) && e(b)(...t)),
154
- onMouseup: o[3] || (o[3] = (...t) => e(T) && e(T)(...t))
160
+ onScroll: i[1] || (i[1] = (...t) => e(C) && e(C)(...t)),
161
+ onMousedown: i[2] || (i[2] = (...t) => e(T) && e(T)(...t)),
162
+ onMouseup: i[3] || (i[3] = (...t) => e(b) && e(b)(...t))
155
163
  }, [
156
164
  w(q, {
157
165
  class: "chat-list__loading-indicator",
158
166
  "is-loading": l.isLoading
159
167
  }, null, 8, ["is-loading"]),
160
- !l.isLoading && e(c)().length === 0 ? (a(), i("div", Z, [...o[6] || (o[6] = [
161
- r("div", { class: "chat-list__placeholder" }, [
162
- r("p", { class: "chat-list__placeholder-title" }, " Нет контактных данных, чтобы начать чат "),
163
- r("p", { class: "chat-list__placeholder-hint" }, " Добавьте номер телефона или имя Telegram в карточку контакта ")
164
- ], -1)
165
- ])])) : (a(!0), i(y, { key: 1 }, p(e(c)().filter((t) => !t.isFixedBottom && !t.isFixedTop), (t) => (a(), h(x, {
168
+ !l.isLoading && e(c)().length === 0 ? (a(), o("div", Z, [
169
+ r("div", tt, [
170
+ r("p", et, d(s.placeholderTitle), 1),
171
+ r("p", st, d(s.placeholderHint), 1)
172
+ ])
173
+ ])) : (a(!0), o(y, { key: 1 }, p(e(c)().filter((t) => !t.isFixedBottom && !t.isFixedTop), (t) => (a(), u(x, {
166
174
  key: t.chatId,
167
175
  class: "chat-list__item",
168
176
  chat: t,
@@ -173,8 +181,8 @@ const R = { class: "chat-list" }, z = {
173
181
  onAction: e(f)
174
182
  }, null, 8, ["chat", "show-dialogs", "context-menu-trigger", "onSelect", "onExpand", "onAction"]))), 128))
175
183
  ], 544),
176
- !l.isLoading && e(c)().filter((t) => t.isFixedBottom).length > 0 ? (a(), i("div", tt, [
177
- (a(!0), i(y, null, p(e(c)().filter((t) => t.isFixedBottom), (t) => (a(), h(x, {
184
+ !l.isLoading && e(c)().filter((t) => t.isFixedBottom).length > 0 ? (a(), o("div", at, [
185
+ (a(!0), o(y, null, p(e(c)().filter((t) => t.isFixedBottom), (t) => (a(), u(x, {
178
186
  key: t.chatId,
179
187
  class: "chat-list__item",
180
188
  chat: t,
@@ -187,11 +195,11 @@ const R = { class: "chat-list" }, z = {
187
195
  ])) : n("", !0),
188
196
  w(Q, null, {
189
197
  default: N(() => [
190
- e(B) ? (a(), i("button", {
198
+ e(B) ? (a(), o("button", {
191
199
  key: 0,
192
200
  class: "chat-list__button-up",
193
- onClick: o[4] || (o[4] = (...t) => e(C) && e(C)(...t))
194
- }, [...o[7] || (o[7] = [
201
+ onClick: i[4] || (i[4] = (...t) => e(_) && e(_)(...t))
202
+ }, [...i[6] || (i[6] = [
195
203
  r("span", { class: "pi pi-angle-up chat-list__icon-down" }, null, -1)
196
204
  ])])) : n("", !0)
197
205
  ]),
@@ -199,7 +207,7 @@ const R = { class: "chat-list" }, z = {
199
207
  })
200
208
  ]));
201
209
  }
202
- }, gt = /* @__PURE__ */ O(et, [["__scopeId", "data-v-60e0e8be"]]);
210
+ }, yt = /* @__PURE__ */ j(it, [["__scopeId", "data-v-53a4e79e"]]);
203
211
  export {
204
- gt as default
212
+ yt as default
205
213
  };