@mobilon-dev/chotto 0.3.83 → 0.3.85

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.
Files changed (145) hide show
  1. package/dist/chotto.css +1 -1
  2. package/dist/components/1_atoms/ButtonContextMenu/ButtonContextMenu.vue2.js +3 -2
  3. package/dist/components/1_atoms/ContactContextMenu/ContactContextMenu.vue2.js +3 -2
  4. package/dist/components/1_atoms/EmojiGlyph/EmojiGlyph.vue.js +38 -0
  5. package/dist/components/1_atoms/EmojiGlyph/EmojiGlyph.vue2.js +4 -0
  6. package/dist/components/1_atoms/Tooltip/Tooltip.vue.js +1 -1
  7. package/dist/components/1_atoms/Tooltip/Tooltip.vue2.js +49 -36
  8. package/dist/components/1_icons/CloseIcon.vue.js +21 -0
  9. package/dist/components/2_blocks/CommunicationPanel/CommunicationPanel.vue.js +351 -282
  10. package/dist/components/2_blocks/CommunicationPanel/CommunicationPanelAttributeIndicator.vue.js +38 -33
  11. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationActions.js +64 -39
  12. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationAttributes.js +116 -61
  13. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationChannels.js +1 -1
  14. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationMenu.js +30 -16
  15. package/dist/components/2_blocks/CommunicationPanel/composables/useCommunicationRecentSelection.js +47 -0
  16. package/dist/components/2_blocks/CommunicationPanel/icons/{CommunicationPanelConfirmSpinner.vue2.js → CommunicationPanelConfirmSpinner.vue.js} +1 -1
  17. package/dist/components/2_blocks/CommunicationPanel/icons/CommunicationPanelUnconfirmedIcon.vue.js +19 -0
  18. package/dist/components/2_blocks/FeedSearch/FeedSearch.vue2.js +10 -9
  19. package/dist/components/2_chatinput_elements/ButtonCommandsSelector/ButtonCommandsSelector.vue2.js +8 -7
  20. package/dist/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue.js +2 -2
  21. package/dist/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue2.js +48 -37
  22. package/dist/components/2_chatinput_elements/ButtonTemplateSelector/ButtonTemplateSelector.vue2.js +3 -2
  23. package/dist/components/2_chatinput_elements/ButtonWabaTemplateSelector/ButtonWabaTemplateSelector.vue.js +7 -6
  24. package/dist/components/2_chatinput_elements/FilePreview/FilePreview.vue2.js +3 -2
  25. package/dist/components/2_chatinput_elements/FileUploader/FileUploader.vue2.js +3 -2
  26. package/dist/components/2_chatinput_elements/StickerPicker/StickerPicker.vue2.js +3 -2
  27. package/dist/components/2_chatinput_elements/TemplateSelector/TemplateSelector.vue.js +27 -26
  28. package/dist/components/2_chatinput_elements/TextFormatToolbar/TextFormatToolbar.vue2.js +3 -2
  29. package/dist/components/2_chatinput_elements/WABAAttachmentSection/WABAAttachmentSection.vue2.js +3 -2
  30. package/dist/components/2_chatlist_elements/ChatItem/ChatItem.vue2.js +3 -2
  31. package/dist/components/2_elements/AudioRecorder/AudioRecorder.vue2.js +3 -2
  32. package/dist/components/2_elements/ChannelSelector/ChannelSelector.vue.js +6 -5
  33. package/dist/components/2_elements/ThemeMode/ThemeMode.vue.js +10 -9
  34. package/dist/components/2_elements/VideoRecorder/VideoRecorder.vue2.js +3 -2
  35. package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue.js +1 -1
  36. package/dist/components/2_feed_elements/AudioMessage/AudioMessage.vue2.js +169 -143
  37. package/dist/components/2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue.js +4 -4
  38. package/dist/components/2_feed_elements/BaseReplyMessage/BaseReplyMessage.vue2.js +33 -32
  39. package/dist/components/2_feed_elements/CallMessage/CallMessage.vue2.js +8 -2
  40. package/dist/components/2_feed_elements/FileMessage/FileMessage.vue.js +3 -3
  41. package/dist/components/2_feed_elements/FileMessage/FileMessage.vue2.js +134 -108
  42. package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue.js +1 -1
  43. package/dist/components/2_feed_elements/ImageMessage/ImageMessage.vue2.js +116 -97
  44. package/dist/components/2_feed_elements/MessageKeyboard/MessageKeyboard.vue2.js +3 -2
  45. package/dist/components/2_feed_elements/MessageReactions/MessageReactions.vue.js +2 -2
  46. package/dist/components/2_feed_elements/MessageReactions/MessageReactions.vue2.js +232 -113
  47. package/dist/components/2_feed_elements/MessageReactions/composables/usePositioning.js +77 -62
  48. package/dist/components/2_feed_elements/MessageReactions/composables/useReactions.js +62 -20
  49. package/dist/components/2_feed_elements/MessageReactions/composables/useReactionsPanel.js +91 -69
  50. package/dist/components/2_feed_elements/MessageReactions/composables/useReactionsState.js +46 -22
  51. package/dist/components/2_feed_elements/MessageReactions/icons/ExpandReactionsIcon.vue.js +21 -0
  52. package/dist/components/2_feed_elements/MessageReactions/icons/ReplyIcon.vue.js +21 -0
  53. package/dist/components/2_feed_elements/MessageReactions/utils/quickReactions.js +2 -8
  54. package/dist/components/2_feed_elements/MessageReactions/utils/reactionTooltip.js +39 -0
  55. package/dist/components/2_feed_elements/MissedCallMessage/MissedCallMessage.vue2.js +26 -20
  56. package/dist/components/2_feed_elements/ReplyAudioMessage/ReplyAudioMessage.vue.js +2 -2
  57. package/dist/components/2_feed_elements/ReplyAudioMessage/ReplyAudioMessage.vue2.js +27 -18
  58. package/dist/components/2_feed_elements/ReplyCallMessage/ReplyCallMessage.vue.js +2 -2
  59. package/dist/components/2_feed_elements/ReplyCallMessage/ReplyCallMessage.vue2.js +16 -15
  60. package/dist/components/2_feed_elements/ReplyFileMessage/ReplyFileMessage.vue.js +3 -3
  61. package/dist/components/2_feed_elements/ReplyFileMessage/ReplyFileMessage.vue2.js +27 -18
  62. package/dist/components/2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue.js +1 -1
  63. package/dist/components/2_feed_elements/ReplyImageMessage/ReplyImageMessage.vue2.js +16 -12
  64. package/dist/components/2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue.js +4 -4
  65. package/dist/components/2_feed_elements/ReplyStickerMessage/ReplyStickerMessage.vue2.js +74 -65
  66. package/dist/components/2_feed_elements/ReplyTextMessage/ReplyTextMessage.vue.js +1 -1
  67. package/dist/components/2_feed_elements/ReplyTextMessage/ReplyTextMessage.vue2.js +20 -11
  68. package/dist/components/2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue.js +2 -2
  69. package/dist/components/2_feed_elements/ReplyVideoMessage/ReplyVideoMessage.vue2.js +13 -9
  70. package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue.js +4 -4
  71. package/dist/components/2_feed_elements/StickerMessage/StickerMessage.vue2.js +74 -55
  72. package/dist/components/2_feed_elements/TextMessage/TextMessage.vue.js +4 -4
  73. package/dist/components/2_feed_elements/TextMessage/TextMessage.vue2.js +102 -76
  74. package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue.js +2 -2
  75. package/dist/components/2_feed_elements/VideoMessage/VideoMessage.vue2.js +74 -55
  76. package/dist/components/3_compounds/ChatInput/ChatInput.vue.js +2 -2
  77. package/dist/components/3_compounds/ChatInput/ChatInput.vue2.js +99 -82
  78. package/dist/components/3_compounds/Feed/Feed.vue.js +3 -3
  79. package/dist/components/3_compounds/Feed/Feed.vue2.js +159 -139
  80. package/dist/components/3_compounds/Feed/composables/useFeedReply.js +22 -25
  81. package/dist/functions/renderAppleEmojis.js +92 -0
  82. package/dist/hooks/messages/buildReplyPayload.js +14 -0
  83. package/dist/hooks/messages/useMessageLinks.js +60 -50
  84. package/dist/hooks/messages/useStartReply.js +29 -0
  85. package/dist/hooks/useEmojiNative.js +19 -0
  86. package/dist/index.js +130 -122
  87. package/dist/themes/dark.css +1 -1
  88. package/dist/themes/default.css +1 -1
  89. package/dist/themes/glass.css +1 -1
  90. package/dist/themes/green.css +1 -1
  91. package/dist/themes/mobilon1.css +1 -1
  92. package/dist/types/apps/data/messages.d.ts +20 -18
  93. package/dist/types/components/1_atoms/EmojiGlyph/EmojiGlyph.vue.d.ts +12 -0
  94. package/dist/types/components/1_atoms/Tooltip/stories/Tooltip.stories.d.ts +3 -0
  95. package/dist/types/components/1_icons/CloseIcon.vue.d.ts +2 -0
  96. package/dist/types/components/2_blocks/CommunicationPanel/CommunicationPanel.vue.d.ts +2 -0
  97. package/dist/types/components/2_blocks/CommunicationPanel/CommunicationPanelAttributeIndicator.vue.d.ts +2 -2
  98. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationActions.d.ts +10 -1
  99. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationAttributes.d.ts +23 -2
  100. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationMenu.d.ts +1 -0
  101. package/dist/types/components/2_blocks/CommunicationPanel/composables/useCommunicationRecentSelection.d.ts +20 -0
  102. package/dist/types/components/2_blocks/CommunicationPanel/icons/CommunicationPanelUnconfirmedIcon.vue.d.ts +2 -0
  103. package/dist/types/components/2_blocks/CommunicationPanel/icons/index.d.ts +1 -0
  104. package/dist/types/components/2_blocks/CommunicationPanel/stories/CommunicationPanel.stories.d.ts +2 -0
  105. package/dist/types/components/2_blocks/CommunicationPanel/styles/types.d.ts +42 -10
  106. package/dist/types/components/2_chatinput_elements/ButtonEmojiPicker/ButtonEmojiPicker.vue.d.ts +9 -1
  107. package/dist/types/components/2_feed_elements/AudioMessage/AudioMessage.vue.d.ts +29 -0
  108. package/dist/types/components/2_feed_elements/AudioMessage/styles/types.d.ts +24 -16
  109. package/dist/types/components/2_feed_elements/BaseReplyMessage/styles/types.d.ts +8 -4
  110. package/dist/types/components/2_feed_elements/FileMessage/FileMessage.vue.d.ts +29 -0
  111. package/dist/types/components/2_feed_elements/FileMessage/styles/types.d.ts +20 -0
  112. package/dist/types/components/2_feed_elements/ImageMessage/ImageMessage.vue.d.ts +29 -0
  113. package/dist/types/components/2_feed_elements/ImageMessage/styles/types.d.ts +2 -0
  114. package/dist/types/components/2_feed_elements/MessageReactions/MessageReactions.vue.d.ts +64 -1
  115. package/dist/types/components/2_feed_elements/MessageReactions/composables/index.d.ts +2 -2
  116. package/dist/types/components/2_feed_elements/MessageReactions/composables/usePositioning.d.ts +11 -1
  117. package/dist/types/components/2_feed_elements/MessageReactions/composables/useReactions.d.ts +20 -12
  118. package/dist/types/components/2_feed_elements/MessageReactions/composables/useReactionsPanel.d.ts +3 -3
  119. package/dist/types/components/2_feed_elements/MessageReactions/composables/useReactionsState.d.ts +13 -22
  120. package/dist/types/components/2_feed_elements/MessageReactions/icons/ExpandReactionsIcon.vue.d.ts +2 -0
  121. package/dist/types/components/2_feed_elements/MessageReactions/icons/ReplyIcon.vue.d.ts +2 -0
  122. package/dist/types/components/2_feed_elements/MessageReactions/styles/types.d.ts +14 -74
  123. package/dist/types/components/2_feed_elements/MessageReactions/utils/quickReactions.d.ts +1 -1
  124. package/dist/types/components/2_feed_elements/MessageReactions/utils/reactionTooltip.d.ts +14 -0
  125. package/dist/types/components/2_feed_elements/ReplyAudioMessage/styles/types.d.ts +6 -0
  126. package/dist/types/components/2_feed_elements/ReplyCallMessage/styles/types.d.ts +6 -0
  127. package/dist/types/components/2_feed_elements/ReplyFileMessage/styles/types.d.ts +6 -0
  128. package/dist/types/components/2_feed_elements/ReplyImageMessage/styles/types.d.ts +6 -0
  129. package/dist/types/components/2_feed_elements/ReplyStickerMessage/styles/types.d.ts +6 -0
  130. package/dist/types/components/2_feed_elements/ReplyTextMessage/styles/types.d.ts +4 -0
  131. package/dist/types/components/2_feed_elements/ReplyVideoMessage/styles/types.d.ts +6 -0
  132. package/dist/types/components/2_feed_elements/StickerMessage/StickerMessage.vue.d.ts +29 -0
  133. package/dist/types/components/2_feed_elements/TextMessage/TextMessage.vue.d.ts +29 -0
  134. package/dist/types/components/2_feed_elements/TextMessage/styles/types.d.ts +22 -0
  135. package/dist/types/components/2_feed_elements/VideoMessage/VideoMessage.vue.d.ts +29 -0
  136. package/dist/types/components/2_feed_elements/types/messages.d.ts +11 -6
  137. package/dist/types/components/3_compounds/ChatInput/styles/types.d.ts +2 -0
  138. package/dist/types/components/3_compounds/Feed/Feed.vue.d.ts +33 -0
  139. package/dist/types/functions/renderAppleEmojis.d.ts +16 -0
  140. package/dist/types/hooks/index.d.ts +1 -0
  141. package/dist/types/hooks/messages/buildReplyPayload.d.ts +11 -0
  142. package/dist/types/hooks/messages/index.d.ts +2 -0
  143. package/dist/types/hooks/messages/useStartReply.d.ts +6 -0
  144. package/dist/types/hooks/useEmojiNative.d.ts +9 -0
  145. package/package.json +1 -1
@@ -1,33 +1,31 @@
1
- import { ref as d, computed as i, watch as H, onMounted as Ue, onUnmounted as Ge, createElementBlock as a, openBlock as l, createCommentVNode as m, unref as n, Fragment as I, renderList as W, normalizeClass as v, createBlock as C, createVNode as B, createElementVNode as c, withCtx as U, resolveDynamicComponent as T, toDisplayString as N, normalizeStyle as Je, nextTick as ye } from "vue";
2
- import G from "../../1_atoms/Tooltip/Tooltip.vue.js";
3
- import { useCommunicationChannels as Ke } from "./composables/useCommunicationChannels.js";
4
- import { useCommunicationMenu as Qe } from "./composables/useCommunicationMenu.js";
5
- import { useCommunicationAttributes as Xe, isAttributeBlocked as Ye, getAttributeStatusClass as ve, isAttributeConfirming as Ce } from "./composables/useCommunicationAttributes.js";
6
- import { useCommunicationActions as Ze } from "./composables/useCommunicationActions.js";
7
- import { useCommunicationSubMenu as et } from "./composables/useCommunicationSubMenu.js";
8
- import { useCommunicationDialogSync as tt } from "./composables/useCommunicationDialogSync.js";
9
- import { useCommunicationPlaceholder as nt } from "./composables/useCommunicationPlaceholder.js";
10
- import be from "./CommunicationPanelAttributeIndicator.vue.js";
11
- import ot from "./icons/CommunicationPanelCheckIcon.vue.js";
12
- /* empty css */
13
- import lt from "../../../_virtual/_plugin-vue_export-helper.js";
1
+ import { ref as m, computed as a, watch as j, onMounted as at, onUnmounted as it, createElementBlock as u, openBlock as l, createCommentVNode as y, unref as n, Fragment as w, renderList as te, normalizeClass as g, createBlock as v, createVNode as ne, createElementVNode as d, withCtx as oe, resolveDynamicComponent as _, toDisplayString as z, normalizeStyle as ut, nextTick as le } from "vue";
2
+ import se from "../../1_atoms/Tooltip/Tooltip.vue.js";
3
+ import { useCommunicationChannels as rt } from "./composables/useCommunicationChannels.js";
4
+ import { useCommunicationMenu as ct } from "./composables/useCommunicationMenu.js";
5
+ import { useCommunicationAttributes as dt, isAttributeBlocked as ft, getAttributeStatusClass as Re, isAttributeConfirming as qe, getSubMenuChannelIndicatorType as pt, getSubMenuChannelIndicatorClass as mt } from "./composables/useCommunicationAttributes.js";
6
+ import { useCommunicationActions as vt } from "./composables/useCommunicationActions.js";
7
+ import { useCommunicationSubMenu as ht } from "./composables/useCommunicationSubMenu.js";
8
+ import { useCommunicationDialogSync as yt } from "./composables/useCommunicationDialogSync.js";
9
+ import { useCommunicationPlaceholder as Ct } from "./composables/useCommunicationPlaceholder.js";
10
+ import Pe from "./CommunicationPanelAttributeIndicator.vue.js";
11
+ import bt from "./icons/CommunicationPanelCheckIcon.vue.js";
12
+ import gt from "./icons/CommunicationPanelUnconfirmedIcon.vue.js";
13
+ import kt from "./icons/CommunicationPanelConfirmSpinner.vue.js";
14
+ import It from "../../../_virtual/_plugin-vue_export-helper.js";
14
15
  /* empty css */
15
- const st = ["onClick", "onMouseenter"], at = { class: "channel-icon" }, it = { class: "channel-icon" }, ut = {
16
+ const At = ["data-channel-type", "onClick", "onMouseenter"], Tt = { class: "channel-icon" }, Mt = { class: "channel-icon" }, St = {
16
17
  key: 1,
17
18
  class: "attributes-menu"
18
- }, rt = {
19
+ }, wt = {
19
20
  key: 0,
20
21
  class: "empty-channels-placeholder"
21
- }, ct = ["data-attribute-status", "onMouseenter", "onClick"], dt = { class: "attribute-info" }, ft = { class: "attribute-value" }, mt = { class: "menu-icon" }, pt = {
22
+ }, _t = ["data-attribute-status", "onMouseenter", "onClick"], Dt = { class: "attribute-info" }, Rt = { class: "attribute-value" }, qt = { class: "menu-icon" }, Pt = {
22
23
  key: 0,
23
24
  class: "menu-icon-arrow"
24
- }, ht = ["data-attribute-status", "onMouseenter", "onClick"], yt = { class: "attribute-info" }, vt = { class: "attribute-value" }, Ct = { class: "menu-icon" }, bt = {
25
+ }, xt = ["data-attribute-status", "onMouseenter", "onClick"], Ot = { class: "attribute-info" }, Bt = { class: "attribute-value" }, Nt = { class: "menu-icon" }, Et = {
25
26
  key: 0,
26
27
  class: "menu-icon-arrow"
27
- }, gt = ["onClick"], kt = {
28
- key: 0,
29
- class: "selected-indicator"
30
- }, At = { class: "sub-menu-title" }, It = {
28
+ }, $t = ["onClick"], jt = { class: "sub-menu-indicator-slot" }, zt = { class: "sub-menu-title" }, Ft = {
31
29
  __name: "CommunicationPanel",
32
30
  props: {
33
31
  contactAttributes: {
@@ -121,6 +119,15 @@ const st = ["onClick", "onMouseenter"], at = { class: "channel-icon" }, it = { c
121
119
  type: Number,
122
120
  required: !1,
123
121
  default: 3e3
122
+ },
123
+ /**
124
+ * Последний выбор attribute+channel per тип кнопки (whatsapp/telegram/max/sms/phone).
125
+ * Используется для one-click при переключении между мессенджерами.
126
+ */
127
+ recentAttributeChannels: {
128
+ type: Object,
129
+ required: !1,
130
+ default: () => ({})
124
131
  }
125
132
  },
126
133
  emits: [
@@ -129,346 +136,408 @@ const st = ["onClick", "onMouseenter"], at = { class: "channel-icon" }, it = { c
129
136
  "phone-call",
130
137
  "reset-blocked-attributes"
131
138
  ],
132
- setup(f, { emit: ge }) {
133
- const s = f, J = ge, P = d(null), ke = d(null), E = d(null), z = d(null), M = d(null), $ = d({}), b = d(!1), S = d(null), p = d(null), w = d(null), g = i(
134
- () => s.confirmingAttributeId ?? w.value
135
- ), j = i(() => s.blockedAttributeIds ?? []), k = (t) => Ye(t, j.value), F = i(() => s.channels ?? []), Ae = i(() => s.channelOrder), Ie = i(() => s.visibleChannelTypes), Te = i(() => s.channelTooltips ?? {}), Me = i(() => s.attributeTooltips ?? {}), K = i(() => s.attributeIndicatorTooltips ?? {}), Q = i(() => s.messages ?? []), Se = i(() => s.selectedChat ?? null), X = i(() => s.isNewDialog ?? !1), we = i(() => {
136
- var t;
137
- return ((t = s.selectedDialog) == null ? void 0 : t.channelId) ?? null;
138
- }), Y = (t) => we.value === t, _e = i(() => {
139
- var t;
140
- return ((t = s.selectedDialog) == null ? void 0 : t.attributeId) ?? null;
141
- }), _ = (t) => {
142
- const o = _e.value;
143
- if (!o || !t)
139
+ setup(h, { emit: xe }) {
140
+ const i = h, ae = xe, F = m(null), Oe = m(null), D = m(null), R = m(null), T = m(null), L = m({}), V = m(null), A = m(!1), q = m(null), C = m(null), P = m(null), k = a(
141
+ () => i.confirmingAttributeId ?? P.value
142
+ ), W = a(() => i.blockedAttributeIds ?? []), M = (e) => ft(e, W.value), H = a(() => i.channels ?? []), Be = a(() => i.channelOrder), Ne = a(() => i.visibleChannelTypes), Ee = a(() => i.channelTooltips ?? {}), $e = a(() => i.attributeTooltips ?? {}), ie = a(() => i.attributeIndicatorTooltips ?? {}), ue = a(() => i.recentAttributeChannels ?? {}), re = a(() => i.messages ?? []), je = a(() => i.selectedChat ?? null), ce = a(() => i.isNewDialog ?? !1), de = a(() => {
143
+ var e;
144
+ return ((e = i.selectedDialog) == null ? void 0 : e.channelId) ?? null;
145
+ }), x = (e, o) => {
146
+ if (!o || !e)
147
+ return !1;
148
+ const t = e.id ?? e.attributeId;
149
+ if (!t)
144
150
  return !1;
145
- const e = t.id ?? t.attributeId;
146
- return o === e;
147
- }, Z = (t) => {
148
- const o = Me.value, e = (t == null ? void 0 : t.attributeId) ?? (t == null ? void 0 : t.id);
149
- if (e != null) {
150
- const u = o[String(e)];
151
- if (u)
152
- return u;
151
+ const s = o.includes(".") ? o.split(".").pop() : o;
152
+ return o === t || t === s || t.endsWith(`.${s}`);
153
+ }, fe = (e) => {
154
+ const o = $e.value, t = (e == null ? void 0 : e.attributeId) ?? (e == null ? void 0 : e.id);
155
+ if (t != null) {
156
+ const s = o[String(t)];
157
+ if (s)
158
+ return s;
153
159
  }
154
- return t != null && t.value ? o[String(t.value)] ?? "" : "";
155
- }, De = (t) => !!Z(t), {
156
- panelChannelTypes: Re,
157
- channelsTypes: ee,
158
- getTooltipText: qe,
159
- getChannelTypeFromId: xe,
160
- hasMultipleChannels: A,
161
- isChannelActive: D,
162
- getSingleChannelForType: Oe,
163
- getMenuChannelIconComponentForChannelId: Be,
164
- getSingleMenuChannelIconComponent: te,
165
- getAvailableChannels: ne
166
- } = Ke({
167
- channels: F,
168
- channelTooltips: Te,
169
- channelOrder: Ae,
170
- visibleChannelTypes: Ie,
171
- selectedChannelType: M
160
+ return e != null && e.value ? o[String(e.value)] ?? "" : "";
161
+ }, ze = (e) => !!fe(e), {
162
+ panelChannelTypes: Fe,
163
+ channelsTypes: pe,
164
+ getTooltipText: Le,
165
+ getChannelTypeFromId: Ve,
166
+ hasMultipleChannels: S,
167
+ isChannelActive: O,
168
+ getSingleChannelForType: We,
169
+ getMenuChannelIconComponentForChannelId: He,
170
+ getSingleMenuChannelIconComponent: me,
171
+ getAvailableChannels: ve
172
+ } = rt({
173
+ channels: H,
174
+ channelTooltips: Ee,
175
+ channelOrder: Be,
176
+ visibleChannelTypes: Ne,
177
+ selectedChannelType: T
172
178
  }), {
173
179
  activeChannelType: r,
174
- hoveredChannel: R,
175
- showMenu: q,
176
- showSubMenu: L,
177
- handleChannelClick: Ne,
178
- closeMenu: oe,
179
- handleClickOutside: le
180
- } = Qe({
181
- panelRef: P,
182
- selectedChannelType: M,
183
- frozenAttribute: z
184
- }), V = i(() => s.contactAttributes ?? []), se = (t) => {
185
- var h;
186
- if (!t || !Q.value) return !0;
187
- const o = (h = Se.value) == null ? void 0 : h.chatId;
188
- return o ? !Q.value.filter(
189
- (y) => {
190
- var he;
191
- return y.chatId === o && y.dialogId === ((he = s.selectedDialog) == null ? void 0 : he.dialogId);
180
+ hoveredChannel: B,
181
+ showMenu: b,
182
+ showSubMenu: U,
183
+ handleChannelClick: Ue,
184
+ openMenu: Ge,
185
+ closeMenu: G,
186
+ handleClickOutside: he
187
+ } = ct({
188
+ panelRef: F,
189
+ selectedChannelType: T,
190
+ frozenAttribute: R
191
+ }), J = a(() => {
192
+ var e;
193
+ return ((e = i.selectedDialog) == null ? void 0 : e.attributeId) ?? null;
194
+ }), ye = a(() => {
195
+ if (!b.value || !r.value)
196
+ return null;
197
+ const e = V.value;
198
+ return e && e.channelType === r.value ? e : null;
199
+ }), K = (e) => {
200
+ var De;
201
+ const o = typeof e == "string" ? e : e == null ? void 0 : e.channelId, t = typeof e == "object" && e != null ? e.backendChannelId : void 0, s = (p, ee) => !p || !ee ? !1 : !!(p === ee || t && (p === t || ee === t)), c = ye.value;
202
+ if (c != null && c.channelId && s(c.channelId, o))
203
+ return !0;
204
+ const f = r.value, I = Q.value;
205
+ if (b.value && f && I) {
206
+ const p = (De = ue.value) == null ? void 0 : De[f];
207
+ if (p != null && p.channelId && (p != null && p.attributeId) && x(I, p.attributeId) && s(p.channelId, o))
208
+ return !0;
209
+ }
210
+ return b.value && f && I && J.value && x(I, J.value) && s(de.value, o) ? !0 : s(de.value, o);
211
+ }, N = (e) => {
212
+ const o = ye.value;
213
+ return o != null && o.attributeId ? x(e, o.attributeId) : x(e, J.value);
214
+ }, Q = a(() => D.value ?? R.value ?? null), Ce = (e) => {
215
+ const o = e == null ? void 0 : e.backendChannelId;
216
+ return o ? [o] : [];
217
+ }, X = (e) => pt(
218
+ Q.value,
219
+ e.channelId,
220
+ K(e),
221
+ k.value,
222
+ Ce(e)
223
+ ), Je = (e) => mt(
224
+ Q.value,
225
+ e.channelId,
226
+ K(e),
227
+ k.value,
228
+ Ce(e)
229
+ ) ?? "", Y = a(() => i.contactAttributes ?? []), be = (e) => {
230
+ var c;
231
+ if (!e || !re.value) return !0;
232
+ const o = (c = je.value) == null ? void 0 : c.chatId;
233
+ return o ? !re.value.filter(
234
+ (f) => {
235
+ var I;
236
+ return f.chatId === o && f.dialogId === ((I = i.selectedDialog) == null ? void 0 : I.dialogId);
192
237
  }
193
238
  ).some(
194
- (y) => y.type !== "message.system" && y.type !== "message.delimiter" && y.type !== "system" && y.type !== "system_message" && y.type !== "notification"
239
+ (f) => f.type !== "message.system" && f.type !== "message.delimiter" && f.type !== "system" && f.type !== "system_message" && f.type !== "notification"
195
240
  ) : !0;
196
- }, ae = () => {
197
- x(), b.value = !0, ye(() => {
198
- const t = Array.isArray(p.value) ? p.value[0] : p.value;
199
- t && typeof t.startAutoShow == "function" ? t.startAutoShow() : console.log("startAutoShow method not found on tooltipRef");
200
- }), S.value = setTimeout(() => {
201
- b.value = !1;
241
+ }, ge = () => {
242
+ E(), A.value = !0, le(() => {
243
+ const e = Array.isArray(C.value) ? C.value[0] : C.value;
244
+ e && typeof e.startAutoShow == "function" ? e.startAutoShow() : console.log("startAutoShow method not found on tooltipRef");
245
+ }), q.value = setTimeout(() => {
246
+ A.value = !1;
202
247
  }, 5e3);
203
- }, x = () => {
204
- if (S.value && (clearTimeout(S.value), S.value = null), p.value) {
205
- const t = Array.isArray(p.value) ? p.value[0] : p.value;
206
- t && typeof t.clearAutoTimer == "function" && t.clearAutoTimer();
248
+ }, E = () => {
249
+ if (q.value && (clearTimeout(q.value), q.value = null), C.value) {
250
+ const e = Array.isArray(C.value) ? C.value[0] : C.value;
251
+ e && typeof e.clearAutoTimer == "function" && e.clearAutoTimer();
207
252
  }
208
- b.value = !1;
253
+ A.value = !1;
209
254
  }, {
210
- organizedContactAttributes: ie,
211
- organizeContactAttributes: Pe,
212
- isAttributeFrozen: ue
213
- } = Xe({
214
- contactAttributes: V,
215
- panelChannelTypes: Re,
216
- frozenAttribute: z
255
+ organizedContactAttributes: Z,
256
+ organizeContactAttributes: Ke,
257
+ isAttributeFrozen: ke
258
+ } = dt({
259
+ contactAttributes: Y,
260
+ panelChannelTypes: Fe,
261
+ frozenAttribute: R
217
262
  }), {
218
- handleAttributeClick: Ee,
219
- selectChannel: ze,
220
- availableChannels: $e
221
- } = Ze({
263
+ handleAttributeClick: Qe,
264
+ selectChannel: Xe,
265
+ availableChannels: Ye,
266
+ applyRecentChannelButtonSelection: Ze,
267
+ clearPanelPendingSelection: Ie
268
+ } = vt({
222
269
  activeChannelType: r,
223
- channels: F,
224
- selectedChannel: $,
225
- selectedChannelType: M,
226
- hoveredAttribute: E,
227
- confirmingAttributeId: w,
228
- isAttributeBlocked: k,
229
- closeMenu: oe,
230
- hasMultipleChannels: A,
231
- getSingleChannelForType: Oe,
232
- getAvailableChannels: ne,
233
- isChannelEmpty: se,
234
- isNewDialog: X,
235
- showDefaultChannelTooltipWithTimer: ae,
236
- clearDefaultChannelTooltip: x,
237
- emit: J
270
+ channels: H,
271
+ selectedChannel: L,
272
+ selectedChannelType: T,
273
+ hoveredAttribute: D,
274
+ confirmingAttributeId: P,
275
+ isAttributeBlocked: M,
276
+ closeMenu: G,
277
+ hasMultipleChannels: S,
278
+ getSingleChannelForType: We,
279
+ getAvailableChannels: ve,
280
+ isChannelEmpty: be,
281
+ isNewDialog: ce,
282
+ showDefaultChannelTooltipWithTimer: ge,
283
+ clearDefaultChannelTooltip: E,
284
+ emit: ae,
285
+ panelPendingSelection: V
238
286
  }), {
239
- subMenuTop: je,
240
- handleAttributeMouseEnter: Fe,
241
- handleAttributeMouseLeave: O,
242
- keepSubMenuOpen: re,
243
- closeSubMenu: ce,
244
- alignSubMenuWithTarget: Le
245
- } = et({
287
+ subMenuTop: et,
288
+ handleAttributeMouseEnter: tt,
289
+ handleAttributeMouseLeave: $,
290
+ keepSubMenuOpen: Ae,
291
+ closeSubMenu: Te,
292
+ alignSubMenuWithTarget: nt
293
+ } = ht({
246
294
  activeChannelType: r,
247
- showSubMenu: L,
248
- frozenAttribute: z,
249
- hoveredAttribute: E,
250
- hasMultipleChannels: A,
251
- isAttributeBlocked: k
252
- }), Ve = (t) => {
253
- q.value && r.value === t || J("reset-blocked-attributes"), Ne(t);
254
- }, de = (t) => {
255
- k(t) || Ee(t);
295
+ showSubMenu: U,
296
+ frozenAttribute: R,
297
+ hoveredAttribute: D,
298
+ hasMultipleChannels: S,
299
+ isAttributeBlocked: M
300
+ }), ot = async (e) => {
301
+ if (b.value && r.value === e) {
302
+ G();
303
+ return;
304
+ }
305
+ ae("reset-blocked-attributes");
306
+ const t = T.value !== e;
307
+ Ue(e), t ? (Ze(
308
+ e,
309
+ ue.value,
310
+ Z.value
311
+ ), await le(), Ge(e)) : V.value = null;
312
+ };
313
+ j(b, (e) => {
314
+ e || Ie();
315
+ });
316
+ const Me = (e) => {
317
+ M(e) || Qe(e);
256
318
  };
257
- tt({
258
- selectedChannelType: M,
259
- selectedChannel: $,
260
- channels: F,
261
- selectedDialog: i(() => s.selectedDialog ?? null),
262
- isChannelEmpty: se,
263
- isNewDialog: X,
264
- showDefaultChannelTooltipWithTimer: ae,
265
- clearDefaultChannelTooltip: x
319
+ yt({
320
+ selectedChannelType: T,
321
+ selectedChannel: L,
322
+ channels: H,
323
+ selectedDialog: a(() => i.selectedDialog ?? null),
324
+ isChannelEmpty: be,
325
+ isNewDialog: ce,
326
+ showDefaultChannelTooltipWithTimer: ge,
327
+ clearDefaultChannelTooltip: E
266
328
  });
267
329
  const {
268
- emptyChannelsPlaceholderText: He,
269
- shouldShowEmptyChannelsPlaceholder: fe
270
- } = nt({
271
- showMenu: q,
330
+ emptyChannelsPlaceholderText: lt,
331
+ shouldShowEmptyChannelsPlaceholder: Se
332
+ } = Ct({
333
+ showMenu: b,
272
334
  activeChannelType: r,
273
- emptyChannelsPlaceholder: i(() => s.emptyChannelsPlaceholder ?? {}),
274
- getAvailableChannels: ne,
275
- organizedContactAttributes: ie
276
- }), me = i(
277
- () => $e()
278
- ), We = i(
279
- () => L.value && E.value && me.value.length > 0 && r.value !== "phone" && A(r.value)
280
- ), pe = async (t, o) => {
281
- const e = Fe(t, o.currentTarget);
282
- await ye(), e instanceof HTMLElement && Le(P, e);
335
+ emptyChannelsPlaceholder: a(() => i.emptyChannelsPlaceholder ?? {}),
336
+ getAvailableChannels: ve,
337
+ organizedContactAttributes: Z
338
+ }), we = a(
339
+ () => Ye()
340
+ ), st = a(
341
+ () => U.value && D.value && we.value.length > 0 && r.value !== "phone" && S(r.value)
342
+ ), _e = async (e, o) => {
343
+ const t = tt(e, o.currentTarget);
344
+ await le(), t instanceof HTMLElement && nt(F, t);
283
345
  };
284
- return H(() => s.confirmingAttributeId, (t) => {
285
- t || (w.value = null);
286
- }), H(V, () => {
287
- const t = g.value;
288
- if (!t)
346
+ return j(() => i.confirmingAttributeId, (e) => {
347
+ e || (P.value = null);
348
+ }), j(Y, () => {
349
+ const e = k.value;
350
+ if (!e)
289
351
  return;
290
- const o = V.value.find((e) => e.id === t);
291
- (o == null ? void 0 : o.status) === "confirmed" && (w.value = null, oe());
292
- }, { deep: !0 }), H(() => s.selectedDialog, () => {
293
- }, { deep: !0 }), Ue(() => {
294
- document.addEventListener("click", le), Pe();
295
- }), Ge(() => {
296
- document.removeEventListener("click", le), x();
297
- }), (t, o) => (l(), a("div", {
352
+ const o = Y.value.find((t) => t.id === e);
353
+ (o == null ? void 0 : o.status) === "confirmed" && (P.value = null, G());
354
+ }, { deep: !0 }), j(() => i.selectedDialog, () => {
355
+ Ie();
356
+ }, { deep: !0 }), at(() => {
357
+ document.addEventListener("click", he), Ke();
358
+ }), it(() => {
359
+ document.removeEventListener("click", he), E();
360
+ }), (e, o) => (l(), u("div", {
298
361
  ref_key: "panelRef",
299
- ref: P,
362
+ ref: F,
300
363
  class: "communication-panel"
301
364
  }, [
302
- n(ee).length ? (l(), a("div", {
365
+ n(pe).length ? (l(), u("div", {
303
366
  key: 0,
304
367
  ref_key: "channelsPanelRef",
305
- ref: ke,
368
+ ref: Oe,
306
369
  class: "channels-panel"
307
370
  }, [
308
- (l(!0), a(I, null, W(n(ee), (e) => {
309
- var u;
310
- return l(), a("button", {
311
- key: e.type,
312
- class: v(["channel-btn", {
313
- active: n(D)(e.type),
314
- hover: n(R) === e.type && !n(D)(e.type) || n(R) === e.type && n(D)(e.type),
315
- menuOpen: n(q) && n(r) === e.type
371
+ (l(!0), u(w, null, te(n(pe), (t) => {
372
+ var s;
373
+ return l(), u("button", {
374
+ key: t.type,
375
+ "data-channel-type": t.type,
376
+ class: g(["channel-btn", {
377
+ active: n(O)(t.type),
378
+ hover: n(B) === t.type && !n(O)(t.type) || n(B) === t.type && n(O)(t.type),
379
+ menuOpen: n(b) && n(r) === t.type
316
380
  }]),
317
- onClick: (h) => Ve(e.type),
318
- onMouseenter: (h) => R.value = e.type,
319
- onMouseleave: o[0] || (o[0] = (h) => R.value = null)
381
+ onClick: (c) => ot(t.type),
382
+ onMouseenter: (c) => B.value = t.type,
383
+ onMouseleave: o[0] || (o[0] = (c) => B.value = null)
320
384
  }, [
321
- n(D)(e.type) ? (l(), a(I, { key: 0 }, [
322
- B(G, {
385
+ n(O)(t.type) ? (l(), u(w, { key: 0 }, [
386
+ ne(se, {
323
387
  ref_for: !0,
324
- ref: (h) => {
325
- h && (p.value = h);
388
+ ref: (c) => {
389
+ c && (C.value = c);
326
390
  },
327
- text: b.value ? "Выбран канал по умолчанию, можно изменить в настройках профиля" : (u = $.value) == null ? void 0 : u.title,
391
+ text: A.value ? "Выбран канал по умолчанию, можно изменить в настройках профиля" : (s = L.value) == null ? void 0 : s.title,
328
392
  position: "bottom-left",
329
393
  offset: 8,
330
- delay: f.tooltipDelay,
394
+ delay: h.tooltipDelay,
331
395
  "hide-on-click": "",
332
- trigger: b.value ? "auto" : "hover",
333
- "auto-show-duration": b.value ? 5e3 : 0
396
+ trigger: A.value ? "auto" : "hover",
397
+ "auto-show-duration": A.value ? 5e3 : 0
334
398
  }, {
335
- default: U(() => [
336
- c("span", at, [
337
- (l(), C(T(e.component)))
399
+ default: oe(() => [
400
+ d("span", Tt, [
401
+ (l(), v(_(t.component)))
338
402
  ])
339
403
  ]),
340
404
  _: 2
341
405
  }, 1032, ["text", "delay", "trigger", "auto-show-duration"]),
342
- o[5] || (o[5] = c("span", { class: "active-indicator" }, null, -1))
343
- ], 64)) : (l(), C(G, {
406
+ o[5] || (o[5] = d("span", { class: "active-indicator" }, null, -1))
407
+ ], 64)) : (l(), v(se, {
344
408
  key: 1,
345
- text: n(qe)(e.type),
409
+ text: n(Le)(t.type),
346
410
  position: "bottom-left",
347
411
  offset: 8,
348
- delay: f.tooltipDelay,
412
+ delay: h.tooltipDelay,
349
413
  "hide-on-click": ""
350
414
  }, {
351
- default: U(() => [
352
- c("span", it, [
353
- (l(), C(T(e.component)))
415
+ default: oe(() => [
416
+ d("span", Mt, [
417
+ (l(), v(_(t.component)))
354
418
  ])
355
419
  ]),
356
420
  _: 2
357
421
  }, 1032, ["text", "delay"]))
358
- ], 42, st);
422
+ ], 42, At);
359
423
  }), 128))
360
- ], 512)) : m("", !0),
361
- n(q) && n(r) ? (l(), a("div", ut, [
362
- n(fe) ? (l(), a("div", rt, N(n(He)), 1)) : m("", !0),
363
- n(fe) ? m("", !0) : (l(!0), a(I, { key: 1 }, W(n(ie)[n(r)], (e) => (l(), a(I, {
364
- key: e.attributeId
424
+ ], 512)) : y("", !0),
425
+ n(b) && n(r) ? (l(), u("div", St, [
426
+ n(Se) ? (l(), u("div", wt, z(n(lt)), 1)) : y("", !0),
427
+ n(Se) ? y("", !0) : (l(!0), u(w, { key: 1 }, te(n(Z)[n(r)], (t) => (l(), u(w, {
428
+ key: t.attributeId
365
429
  }, [
366
- De(e) ? (l(), C(G, {
430
+ ze(t) ? (l(), v(se, {
367
431
  key: 0,
368
- text: Z(e),
432
+ text: fe(t),
369
433
  position: "bottom-left",
370
434
  offset: 8,
371
- delay: f.tooltipDelay,
435
+ delay: h.tooltipDelay,
372
436
  "hide-on-click": ""
373
437
  }, {
374
- default: U(() => [
375
- c("div", {
376
- class: v(["attribute-item", n(ve)(e), {
377
- "frozen-hover": n(ue)(e),
378
- selected: _(e),
379
- confirming: n(Ce)(e, g.value),
380
- blocked: k(e)
438
+ default: oe(() => [
439
+ d("div", {
440
+ class: g(["attribute-item", n(Re)(t), {
441
+ "frozen-hover": n(ke)(t),
442
+ selected: N(t),
443
+ confirming: n(qe)(t, k.value),
444
+ blocked: M(t)
381
445
  }]),
382
- "data-attribute-status": e.status,
383
- onMouseenter: (u) => pe(e, u),
384
- onMouseleave: o[1] || (o[1] = (...u) => n(O) && n(O)(...u)),
385
- onClick: (u) => de(e)
446
+ "data-attribute-status": t.status,
447
+ onMouseenter: (s) => _e(t, s),
448
+ onMouseleave: o[1] || (o[1] = (...s) => n($) && n($)(...s)),
449
+ onClick: (s) => Me(t)
386
450
  }, [
387
- c("div", dt, [
388
- B(be, {
389
- attribute: e,
390
- "is-selected": _(e),
391
- "confirming-attribute-id": g.value,
392
- "blocked-attribute-ids": j.value,
393
- "indicator-tooltips": K.value,
394
- "tooltip-delay": f.tooltipDelay
451
+ d("div", Dt, [
452
+ ne(Pe, {
453
+ attribute: t,
454
+ "is-selected": N(t),
455
+ "confirming-attribute-id": k.value,
456
+ "blocked-attribute-ids": W.value,
457
+ "indicator-tooltips": ie.value,
458
+ "tooltip-delay": h.tooltipDelay
395
459
  }, null, 8, ["attribute", "is-selected", "confirming-attribute-id", "blocked-attribute-ids", "indicator-tooltips", "tooltip-delay"]),
396
- c("span", ft, N(e.value), 1)
460
+ d("span", Rt, z(t.value), 1)
397
461
  ]),
398
- c("span", mt, [
399
- n(A)(n(r)) ? (l(), a("span", pt)) : f.showChannelIcons ? (l(), a("span", {
462
+ d("span", qt, [
463
+ n(S)(n(r)) ? (l(), u("span", Pt)) : h.showChannelIcons ? (l(), u("span", {
400
464
  key: 1,
401
- class: v(["channel-icon-small", { "menu-icon-grey": n(r) !== "sms" }])
465
+ class: g(["channel-icon-small", { "menu-icon-grey": n(r) !== "sms" }])
402
466
  }, [
403
- (l(), C(T(n(te)(n(r)))))
404
- ], 2)) : m("", !0)
467
+ (l(), v(_(n(me)(n(r)))))
468
+ ], 2)) : y("", !0)
405
469
  ])
406
- ], 42, ct)
470
+ ], 42, _t)
407
471
  ]),
408
472
  _: 2
409
- }, 1032, ["text", "delay"])) : (l(), a("div", {
473
+ }, 1032, ["text", "delay"])) : (l(), u("div", {
410
474
  key: 1,
411
- class: v(["attribute-item", n(ve)(e), {
412
- "frozen-hover": n(ue)(e),
413
- selected: _(e),
414
- confirming: n(Ce)(e, g.value),
415
- blocked: k(e)
475
+ class: g(["attribute-item", n(Re)(t), {
476
+ "frozen-hover": n(ke)(t),
477
+ selected: N(t),
478
+ confirming: n(qe)(t, k.value),
479
+ blocked: M(t)
416
480
  }]),
417
- "data-attribute-status": e.status,
418
- onMouseenter: (u) => pe(e, u),
419
- onMouseleave: o[2] || (o[2] = (...u) => n(O) && n(O)(...u)),
420
- onClick: (u) => de(e)
481
+ "data-attribute-status": t.status,
482
+ onMouseenter: (s) => _e(t, s),
483
+ onMouseleave: o[2] || (o[2] = (...s) => n($) && n($)(...s)),
484
+ onClick: (s) => Me(t)
421
485
  }, [
422
- c("div", yt, [
423
- B(be, {
424
- attribute: e,
425
- "is-selected": _(e),
426
- "confirming-attribute-id": g.value,
427
- "blocked-attribute-ids": j.value,
428
- "indicator-tooltips": K.value,
429
- "tooltip-delay": f.tooltipDelay
486
+ d("div", Ot, [
487
+ ne(Pe, {
488
+ attribute: t,
489
+ "is-selected": N(t),
490
+ "confirming-attribute-id": k.value,
491
+ "blocked-attribute-ids": W.value,
492
+ "indicator-tooltips": ie.value,
493
+ "tooltip-delay": h.tooltipDelay
430
494
  }, null, 8, ["attribute", "is-selected", "confirming-attribute-id", "blocked-attribute-ids", "indicator-tooltips", "tooltip-delay"]),
431
- c("span", vt, N(e.value), 1)
495
+ d("span", Bt, z(t.value), 1)
432
496
  ]),
433
- c("span", Ct, [
434
- n(A)(n(r)) ? (l(), a("span", bt)) : f.showChannelIcons ? (l(), a("span", {
497
+ d("span", Nt, [
498
+ n(S)(n(r)) ? (l(), u("span", Et)) : h.showChannelIcons ? (l(), u("span", {
435
499
  key: 1,
436
- class: v(["channel-icon-small", { "menu-icon-grey": n(r) !== "sms" }])
500
+ class: g(["channel-icon-small", { "menu-icon-grey": n(r) !== "sms" }])
437
501
  }, [
438
- (l(), C(T(n(te)(n(r)))))
439
- ], 2)) : m("", !0)
502
+ (l(), v(_(n(me)(n(r)))))
503
+ ], 2)) : y("", !0)
440
504
  ])
441
- ], 42, ht))
505
+ ], 42, xt))
442
506
  ], 64))), 128)),
443
- n(L) && We.value ? (l(), a("div", {
507
+ n(U) && st.value ? (l(), u("div", {
444
508
  key: 2,
445
509
  class: "sub-menu left",
446
- style: Je({ top: n(je) + "px" }),
447
- onMouseenter: o[3] || (o[3] = (...e) => n(re) && n(re)(...e)),
448
- onMouseleave: o[4] || (o[4] = (...e) => n(ce) && n(ce)(...e))
510
+ style: ut({ top: n(et) + "px" }),
511
+ onMouseenter: o[3] || (o[3] = (...t) => n(Ae) && n(Ae)(...t)),
512
+ onMouseleave: o[4] || (o[4] = (...t) => n(Te) && n(Te)(...t))
449
513
  }, [
450
- o[6] || (o[6] = c("div", { class: "sub-menu-header" }, " Канал связи ", -1)),
451
- (l(!0), a(I, null, W(me.value, (e) => (l(), a("div", {
452
- key: e.channelId,
453
- class: v(["sub-menu-item", { selected: Y(e.channelId) }]),
454
- onClick: (u) => n(ze)(e.channelId)
514
+ o[6] || (o[6] = d("div", { class: "sub-menu-header" }, " Канал связи ", -1)),
515
+ (l(!0), u(w, null, te(we.value, (t) => (l(), u("div", {
516
+ key: t.channelId,
517
+ class: g(["sub-menu-item", { selected: K(t) }]),
518
+ onClick: (s) => n(Xe)(t.channelId)
455
519
  }, [
456
- Y(e.channelId) ? (l(), a("span", kt, [
457
- B(n(ot))
458
- ])) : m("", !0),
459
- c("span", At, N(e.title || e.channelId), 1),
460
- f.showChannelIcons ? (l(), a("span", {
461
- key: 1,
462
- class: v(["sub-menu-icon", { "menu-icon-grey": n(xe)(e.channelId) !== "sms" }])
520
+ d("span", jt, [
521
+ X(t) ? (l(), u("span", {
522
+ key: 0,
523
+ class: g(Je(t))
524
+ }, [
525
+ X(t) === "spinner" ? (l(), v(n(kt), { key: 0 })) : X(t) === "unconfirmed" ? (l(), v(n(gt), { key: 1 })) : (l(), v(n(bt), { key: 2 }))
526
+ ], 2)) : y("", !0)
527
+ ]),
528
+ d("span", zt, z(t.title || t.channelId), 1),
529
+ h.showChannelIcons ? (l(), u("span", {
530
+ key: 0,
531
+ class: g(["sub-menu-icon", { "menu-icon-grey": n(Ve)(t.channelId) !== "sms" }])
463
532
  }, [
464
- (l(), C(T(n(Be)(e.channelId))))
465
- ], 2)) : m("", !0)
466
- ], 10, gt))), 128))
467
- ], 36)) : m("", !0)
468
- ])) : m("", !0)
533
+ (l(), v(_(n(He)(t.channelId))))
534
+ ], 2)) : y("", !0)
535
+ ], 10, $t))), 128))
536
+ ], 36)) : y("", !0)
537
+ ])) : y("", !0)
469
538
  ], 512));
470
539
  }
471
- }, zt = /* @__PURE__ */ lt(It, [["__scopeId", "data-v-edc05ad5"]]);
540
+ }, on = /* @__PURE__ */ It(Ft, [["__scopeId", "data-v-d02b223f"]]);
472
541
  export {
473
- zt as default
542
+ on as default
474
543
  };