@mobilon-dev/chotto 0.3.19 → 0.3.21

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 (59) hide show
  1. package/dist/{CreateChat-CwRkMnM3.js → CreateChat-DoNHuQv0.js} +1 -1
  2. package/dist/{CreateChat2-Cxy5KpkU.js → CreateChat2-DpYCA_v_.js} +1 -1
  3. package/dist/{CreateDialog-CR1QOWmo.js → CreateDialog-BOnzLE6I.js} +1 -1
  4. package/dist/{ModalVideoRecorder-DjqHMgX1.js → ModalVideoRecorder-BY3428rE.js} +1 -1
  5. package/dist/{SelectUser2-C-M3Ca0V.js → SelectUser2-CanippyB.js} +1 -1
  6. package/dist/chotto.css +1 -1
  7. package/dist/{index-BR7f4lUX.js → index-D4aZYJgw.js} +6837 -6506
  8. package/dist/themes/dark.css +1 -1
  9. package/dist/themes/default.css +1 -1
  10. package/dist/themes/green.css +1 -1
  11. package/dist/themes/mobilon1.css +1 -1
  12. package/dist/types/apps/data/chats.d.ts +1 -1
  13. package/dist/types/apps/data/messages.d.ts +121 -0
  14. package/dist/types/components/1_atoms/Tooltip/stories/Tooltip.stories.d.ts +8 -2
  15. package/dist/types/components/2_chatinput_elements/ButtonEmojiPicker/stories/ButtonEmojiPicker.stories.d.ts +4 -3
  16. package/dist/types/components/2_elements/ContactInfo/stories/ContactInfo.stories.d.ts +8 -16
  17. package/dist/types/components/2_feed_elements/AudioMessage/styles/types.d.ts +4 -0
  18. package/dist/types/components/2_feed_elements/DateMessageSticky/stories/DateMessageSticky.stories.d.ts +5 -18
  19. package/dist/types/components/2_feed_elements/FeedKeyboard/stories/FeedKeyboard.stories.d.ts +5 -36
  20. package/dist/types/components/2_feed_elements/FileMessage/styles/types.d.ts +4 -0
  21. package/dist/types/components/2_feed_elements/ImageMessage/styles/types.d.ts +4 -0
  22. package/dist/types/components/2_feed_elements/ReplyAudioMessage/stories/ReplyAudioMessage.stories.d.ts +6 -17
  23. package/dist/types/components/2_feed_elements/ReplyCallMessage/stories/ReplyCallMessage.stories.d.ts +6 -17
  24. package/dist/types/components/2_feed_elements/ReplyFileMessage/stories/ReplyFileMessage.stories.d.ts +7 -17
  25. package/dist/types/components/2_feed_elements/ReplyImageMessage/stories/ReplyImageMessage.stories.d.ts +7 -17
  26. package/dist/types/components/2_feed_elements/ReplyTextMessage/stories/ReplyTextMessage.stories.d.ts +8 -17
  27. package/dist/types/components/2_feed_elements/ReplyVideoMessage/stories/ReplyVideoMessage.stories.d.ts +7 -17
  28. package/dist/types/components/2_feed_elements/TextMessage/stories/TextMessage.stories.d.ts +2 -0
  29. package/dist/types/components/2_feed_elements/TextMessage/styles/types.d.ts +4 -0
  30. package/dist/types/components/2_feed_elements/VideoMessage/styles/types.d.ts +4 -0
  31. package/dist/types/components/2_feed_elements/types/messages.d.ts +5 -0
  32. package/dist/types/components/3_compounds/ChatList/ChatList.vue.d.ts +2 -0
  33. package/dist/types/components/3_compounds/Feed/Feed.vue.d.ts +9 -9
  34. package/dist/types/components/3_compounds/Feed/composables/index.d.ts +10 -0
  35. package/dist/types/components/3_compounds/Feed/composables/useFeedButton.d.ts +20 -0
  36. package/dist/types/components/3_compounds/Feed/composables/useFeedComponents.d.ts +6 -0
  37. package/dist/types/components/3_compounds/Feed/composables/useFeedGrouping.d.ts +33 -0
  38. package/dist/types/components/3_compounds/Feed/composables/useFeedKeyboard.d.ts +15 -0
  39. package/dist/types/components/3_compounds/Feed/composables/useFeedLoadMore.d.ts +23 -0
  40. package/dist/types/components/3_compounds/Feed/composables/useFeedMessageVisibility.d.ts +16 -0
  41. package/dist/types/components/3_compounds/Feed/composables/useFeedReply.d.ts +37 -0
  42. package/dist/types/components/3_compounds/Feed/composables/useFeedScroll.d.ts +26 -0
  43. package/dist/types/components/3_compounds/Feed/composables/useFeedScrollTo.d.ts +14 -0
  44. package/dist/types/components/3_compounds/Feed/composables/useStickyDate.d.ts +16 -0
  45. package/dist/types/functions/getMessageClass.d.ts +11 -0
  46. package/dist/types/functions/getStatusMessage.d.ts +1 -0
  47. package/dist/types/functions/index.d.ts +1 -0
  48. package/dist/types/hooks/index.d.ts +2 -1
  49. package/dist/types/hooks/messages/index.d.ts +2 -0
  50. package/dist/types/hooks/messages/useMessageActions.d.ts +56 -0
  51. package/dist/types/hooks/messages/useMessageLinks.d.ts +13 -0
  52. package/dist/types/hooks/{useMessage.d.ts → useMessageDraft.d.ts} +4 -4
  53. package/dist/types/hooks/validators/index.d.ts +1 -0
  54. package/dist/types/hooks/validators/messages/types.d.ts +2 -1
  55. package/dist/types/hooks/validators/useValidation.d.ts +84 -0
  56. package/dist/vuessages.es.js +53 -48
  57. package/dist/vuessages.umd.js +28 -28
  58. package/package.json +1 -1
  59. package/dist/types/components/1_atoms/Tooltip/Tooltip.stories.d.ts +0 -6
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Composable для объединённой валидации чатов и сообщений
3
+ * Переносит типовую оркестрацию из приложений в саму библиотеку,
4
+ * чтобы сократить пользовательский код.
5
+ *
6
+ * Примеры использования:
7
+ *
8
+ * 1) Только чаты и сообщения (без sidebar):
9
+ * ```ts
10
+ * import { useValidation } from '@mobilon-dev/chotto';
11
+ *
12
+ * const { chatValidator, messageValidator, validateAll } = useValidation(
13
+ * chatsRef,
14
+ * messagesRef,
15
+ * {
16
+ * enable: { chats: true, messages: true, sidebar: false },
17
+ * debounce: 300,
18
+ * // validateMessagesOnlyWhenSelected: true, // по умолчанию true
19
+ * }
20
+ * );
21
+ *
22
+ * validateAll();
23
+ * ```
24
+ *
25
+ * 2) Все три валидатора (чаты, сообщения, sidebar):
26
+ * ```ts
27
+ * import { useValidation } from '@mobilon-dev/chotto';
28
+ *
29
+ * const { validateAll, validateSidebar } = useValidation(
30
+ * chatsRef,
31
+ * messagesRef,
32
+ * {
33
+ * enable: { chats: true, messages: true, sidebar: true },
34
+ * sidebarData: sidebarItemsRef,
35
+ * debounce: 300,
36
+ * }
37
+ * );
38
+ *
39
+ * validateSidebar();
40
+ * validateAll();
41
+ * ```
42
+ */
43
+ import { type Ref } from 'vue';
44
+ import { useChatValidator } from './chats/useChatValidator';
45
+ import { useMessageValidator } from './messages/useMessageValidator';
46
+ import { useSidebarValidator } from './sidebar/useSidebarValidator';
47
+ export interface UseCombinedValidationOptions {
48
+ autoValidate?: boolean;
49
+ debounce?: number;
50
+ enableConsoleLogging?: boolean;
51
+ validateMessagesOnlyWhenSelected?: boolean;
52
+ enable?: {
53
+ chats?: boolean;
54
+ messages?: boolean;
55
+ sidebar?: boolean;
56
+ };
57
+ sidebarData?: Ref<unknown>;
58
+ }
59
+ export interface UseCombinedValidationReturn {
60
+ chatValidator: ReturnType<typeof useChatValidator>;
61
+ messageValidator: ReturnType<typeof useMessageValidator>;
62
+ sidebarValidator: ReturnType<typeof useSidebarValidator> | null;
63
+ validateChats: () => void;
64
+ validateMessages: () => void;
65
+ validateSidebar: () => void;
66
+ validateAll: () => void;
67
+ getValidationStats: () => {
68
+ chatErrors: number;
69
+ chatWarnings: number;
70
+ messageErrors: number;
71
+ messageWarnings: number;
72
+ sidebarErrors: number;
73
+ sidebarWarnings: number;
74
+ totalErrors: number;
75
+ totalWarnings: number;
76
+ };
77
+ setupGlobalValidationFunctions: () => void;
78
+ logValidationInfo: () => void;
79
+ validateOnChatSelect: () => void;
80
+ updateChatsData: (chats: unknown[]) => void;
81
+ updateSidebarData: (items: unknown[]) => void;
82
+ initializeValidation: () => void;
83
+ }
84
+ export declare function useValidation(chatsData: Ref<unknown>, messagesData: Ref<unknown>, options?: UseCombinedValidationOptions): UseCombinedValidationReturn;
@@ -1,23 +1,23 @@
1
- import { ai as s, H as t, w as o, A as l, al as i, ag as r, I as n, i as d, B as u, j as c, k as M, l as g, J as p, x as m, t as C, y as h, ac as y, u as S, ad as B, z as F, v as I, ak as A, a as R, b as T, f as b, c as v, D as V, C as f, K as P, N as x, E as D, ah as k, ae as L, F as W, g as w, O as E, aj as U, h as j, Q as K, m as N, n as O, am as Q, R as q, L as z, M as G, X as H, a8 as J, a9 as X, aa as Y, P as Z, Y as $, Z as _, $ as aa, a0 as ea, a1 as sa, a2 as ta, S as oa, ab as la, d as ia, af as ra, a3 as na, a4 as da, e as ua, o as ca, a5 as Ma, G as ga, T as pa, a6 as ma, U as Ca, a7 as ha, V as ya, p as Sa, q as Ba, r as Fa, s as Ia, W as Aa, aL as Ra, an as Ta, aE as ba, aH as va, aK as Va, ao as fa, aB as Pa, aN as xa, aM as Da, aO as ka, aJ as La, ap as Wa, aC as wa, aq as Ea, ar as Ua, as as ja, aF as Ka, av as Na, aw as Oa, ax as Qa, ay as qa, az as za, at as Ga, aI as Ha, au as Ja, aA as Xa, aD as Ya, aG as Za } from "./index-BR7f4lUX.js";
1
+ import { ai as s, H as t, w as o, A as l, al as i, ag as n, I as r, i as d, B as u, j as c, k as M, l as g, J as p, x as C, t as m, y as S, ac as h, u as y, ad as B, z as F, v as I, ak as A, a as R, b as T, f as b, c as V, D as f, C as v, K as P, N as D, E as k, ah as x, ae as L, F as W, g as w, O as E, aj as U, h as j, Q as K, m as N, n as Q, am as O, R as q, L as z, M as G, X as H, a8 as J, a9 as X, aa as Y, P as Z, Y as $, Z as _, $ as aa, a0 as ea, a1 as sa, a2 as ta, S as oa, ab as la, d as ia, af as na, a3 as ra, a4 as da, e as ua, o as ca, a5 as Ma, G as ga, T as pa, a6 as Ca, U as ma, a7 as Sa, V as ha, p as ya, q as Ba, r as Fa, s as Ia, W as Aa, aP as Ra, an as Ta, aT as ba, aE as Va, aH as fa, aN as va, aO as Pa, ao as Da, aB as ka, aR as xa, aQ as La, aS as Wa, aM as wa, ap as Ea, aC as Ua, aq as ja, ar as Ka, aK as Na, as as Qa, aL as Oa, aF as qa, av as za, aw as Ga, ax as Ha, ay as Ja, az as Xa, at as Ya, aI as Za, au as $a, aJ as _a, aA as ae, aD as ee, aG as se } from "./index-D4aZYJgw.js";
2
2
  export {
3
3
  s as AdaptiveExtendedLayout,
4
4
  t as AudioMessage,
5
5
  o as AudioRecorder,
6
6
  l as AvatarIcon,
7
7
  i as BaseContainer,
8
- r as BaseLayout,
9
- n as BaseReplyMessage,
8
+ n as BaseLayout,
9
+ r as BaseReplyMessage,
10
10
  d as ButtonCommandsSelector,
11
11
  u as ButtonContextMenu,
12
12
  c as ButtonEmojiPicker,
13
13
  M as ButtonTemplateSelector,
14
14
  g as ButtonWabaTemplateSelector,
15
15
  p as CallMessage,
16
- m as ChannelSelector,
17
- C as ChatFilter,
18
- h as ChatInfo,
19
- y as ChatInput,
20
- S as ChatItem,
16
+ C as ChannelSelector,
17
+ m as ChatFilter,
18
+ S as ChatInfo,
19
+ h as ChatInput,
20
+ y as ChatItem,
21
21
  B as ChatList,
22
22
  F as ChatPanel,
23
23
  I as ChatTabs,
@@ -25,13 +25,13 @@ export {
25
25
  R as CheckIcon,
26
26
  T as CloseButtonIcon,
27
27
  b as CommunicationPanel,
28
- v as ContactCRMIcon,
29
- V as ContactInfo,
30
- f as ContextMenu,
28
+ V as ContactCRMIcon,
29
+ f as ContactInfo,
30
+ v as ContextMenu,
31
31
  P as DateMessage,
32
- x as DateMessageSticky,
33
- D as EmbedPreview,
34
- k as ExtendedLayout,
32
+ D as DateMessageSticky,
33
+ k as EmbedPreview,
34
+ x as ExtendedLayout,
35
35
  L as Feed,
36
36
  W as FeedFoundItem,
37
37
  w as FeedFoundObjects,
@@ -40,8 +40,8 @@ export {
40
40
  j as FeedSearch,
41
41
  K as FileMessage,
42
42
  N as FilePreview,
43
- O as FileUploader,
44
- Q as FloatContainer,
43
+ Q as FileUploader,
44
+ O as FloatContainer,
45
45
  q as ImageMessage,
46
46
  z as LinkPreview,
47
47
  G as MenuIcon,
@@ -59,49 +59,54 @@ export {
59
59
  oa as SearchIcon,
60
60
  la as SelectUser,
61
61
  ia as SettingsIcon,
62
- ra as SideBar,
63
- na as SplashScreen,
62
+ na as SideBar,
63
+ ra as SplashScreen,
64
64
  da as SystemMessage,
65
65
  ua as TelegramIcon,
66
66
  ca as TemplateSelector,
67
67
  Ma as TextMessage,
68
68
  ga as ThemeMode,
69
69
  pa as Tooltip,
70
- ma as TypingMessage,
71
- Ca as UserProfile,
72
- ha as VideoMessage,
73
- ya as VideoRecorder,
74
- Sa as WABAAttachmentSection,
70
+ Ca as TypingMessage,
71
+ ma as UserProfile,
72
+ Sa as VideoMessage,
73
+ ha as VideoRecorder,
74
+ ya as WABAAttachmentSection,
75
75
  Ba as WABAQuickReplyButtons,
76
76
  Fa as WABASeparatedQuickButtons,
77
77
  Ia as WABATemplateSelector,
78
78
  Aa as WhatsAppIcon,
79
79
  Ra as formatTimestamp,
80
80
  Ta as generatePreview,
81
- ba as getMessageValidationReport,
82
- va as getSidebarValidationReport,
83
- Va as getStatus,
84
- fa as getTypeFileByMime,
85
- Pa as getValidationReport,
81
+ ba as getMessageClass,
82
+ Va as getMessageValidationReport,
83
+ fa as getSidebarValidationReport,
84
+ va as getStatus,
85
+ Pa as getStatusTitle,
86
+ Da as getTypeFileByMime,
87
+ ka as getValidationReport,
86
88
  xa as insertDaySeparators,
87
- Da as playNotificationAudio,
88
- ka as sortByTimestamp,
89
- La as statuses,
90
- Wa as uploadFile,
91
- wa as useChatValidator,
92
- Ea as useDelayDebouncedRef,
93
- Ua as useImmediateDebouncedRef,
94
- ja as useMessage,
95
- Ka as useMessageValidator,
96
- Na as useModalCreateChat,
97
- Oa as useModalCreateChat2,
98
- Qa as useModalCreateDialog,
99
- qa as useModalSelectUser2,
100
- za as useModalVideoRecorder,
101
- Ga as useSearchModel,
102
- Ha as useSidebarValidator,
103
- Ja as useTheme,
104
- Xa as validateChats,
105
- Ya as validateMessages,
106
- Za as validateSidebarItems
89
+ La as playNotificationAudio,
90
+ Wa as sortByTimestamp,
91
+ wa as statuses,
92
+ Ea as uploadFile,
93
+ Ua as useChatValidator,
94
+ ja as useDelayDebouncedRef,
95
+ Ka as useImmediateDebouncedRef,
96
+ Na as useMessageActions,
97
+ Qa as useMessageDraft,
98
+ Oa as useMessageLinks,
99
+ qa as useMessageValidator,
100
+ za as useModalCreateChat,
101
+ Ga as useModalCreateChat2,
102
+ Ha as useModalCreateDialog,
103
+ Ja as useModalSelectUser2,
104
+ Xa as useModalVideoRecorder,
105
+ Ya as useSearchModel,
106
+ Za as useSidebarValidator,
107
+ $a as useTheme,
108
+ _a as useValidation,
109
+ ae as validateChats,
110
+ ee as validateMessages,
111
+ se as validateSidebarItems
107
112
  };