vue-parley 4.9.1 → 5.0.0

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 (61) hide show
  1. package/README.md +3 -1
  2. package/dist/chat.css +114 -16
  3. package/dist/chunks/{Call-DYRrJJ-j.mjs → Call-CVmsm2_5.mjs} +2 -2
  4. package/dist/chunks/{Call-DYRrJJ-j.mjs.map → Call-CVmsm2_5.mjs.map} +1 -1
  5. package/dist/chunks/{Call-DGSTFDs1.cjs → Call-D8qRdvrs.cjs} +2 -2
  6. package/dist/chunks/{Call-DGSTFDs1.cjs.map → Call-D8qRdvrs.cjs.map} +1 -1
  7. package/dist/chunks/data-CsUe_T0I.cjs +1894 -0
  8. package/dist/chunks/data-CsUe_T0I.cjs.map +1 -0
  9. package/dist/chunks/data-VApcOLKg.mjs +1894 -0
  10. package/dist/chunks/data-VApcOLKg.mjs.map +1 -0
  11. package/dist/chunks/duotone-BjvrnTs8.cjs +94 -0
  12. package/dist/chunks/duotone-BjvrnTs8.cjs.map +1 -0
  13. package/dist/chunks/duotone-Bzi6Vdpw.mjs +94 -0
  14. package/dist/chunks/duotone-Bzi6Vdpw.mjs.map +1 -0
  15. package/dist/chunks/{index-DkP1g191.cjs → index-DaZP-idn.cjs} +1072 -486
  16. package/dist/chunks/index-DaZP-idn.cjs.map +1 -0
  17. package/dist/chunks/{index-CQOh6W_w.mjs → index-zMhlsdTO.mjs} +1074 -488
  18. package/dist/chunks/index-zMhlsdTO.mjs.map +1 -0
  19. package/dist/chunks/light-BVYNw4d_.mjs +94 -0
  20. package/dist/chunks/light-BVYNw4d_.mjs.map +1 -0
  21. package/dist/chunks/light-Bm2i6TrY.cjs +94 -0
  22. package/dist/chunks/light-Bm2i6TrY.cjs.map +1 -0
  23. package/dist/chunks/{session-TViiftry.mjs → session-D-mhkc-A.mjs} +2 -2
  24. package/dist/chunks/{session-TViiftry.mjs.map → session-D-mhkc-A.mjs.map} +1 -1
  25. package/dist/chunks/{session-Ici2SAMk.cjs → session-Rhv34_eq.cjs} +2 -2
  26. package/dist/chunks/{session-Ici2SAMk.cjs.map → session-Rhv34_eq.cjs.map} +1 -1
  27. package/dist/chunks/thin-BYO4Lk2p.cjs +94 -0
  28. package/dist/chunks/thin-BYO4Lk2p.cjs.map +1 -0
  29. package/dist/chunks/thin-BibGd7OK.mjs +94 -0
  30. package/dist/chunks/thin-BibGd7OK.mjs.map +1 -0
  31. package/dist/index.cjs +1 -1
  32. package/dist/index.mjs +1 -1
  33. package/dist/types/app/components/chat/ChatInput.vue.d.ts.map +1 -1
  34. package/dist/types/app/components/chat/chat-input/InputAttachement.vue.d.ts.map +1 -1
  35. package/dist/types/app/components/global/BEmojiPicker.vue.d.ts +11 -4
  36. package/dist/types/app/components/global/BEmojiPicker.vue.d.ts.map +1 -1
  37. package/dist/types/app/components/global/BIcon.vue.d.ts +15 -5
  38. package/dist/types/app/components/global/BIcon.vue.d.ts.map +1 -1
  39. package/dist/types/app/components/global/emoji/data.d.ts +13 -0
  40. package/dist/types/app/components/global/emoji/data.d.ts.map +1 -0
  41. package/dist/types/app/components/global/emoji/types.d.ts +12 -0
  42. package/dist/types/app/components/global/emoji/types.d.ts.map +1 -0
  43. package/dist/types/app/components/global/icons/bold.d.ts +3 -0
  44. package/dist/types/app/components/global/icons/bold.d.ts.map +1 -0
  45. package/dist/types/app/components/global/icons/duotone.d.ts +3 -0
  46. package/dist/types/app/components/global/icons/duotone.d.ts.map +1 -0
  47. package/dist/types/app/components/global/icons/fill.d.ts +3 -0
  48. package/dist/types/app/components/global/icons/fill.d.ts.map +1 -0
  49. package/dist/types/app/components/global/icons/light.d.ts +3 -0
  50. package/dist/types/app/components/global/icons/light.d.ts.map +1 -0
  51. package/dist/types/app/components/global/icons/regular.d.ts +3 -0
  52. package/dist/types/app/components/global/icons/regular.d.ts.map +1 -0
  53. package/dist/types/app/components/global/icons/thin.d.ts +3 -0
  54. package/dist/types/app/components/global/icons/thin.d.ts.map +1 -0
  55. package/dist/types/app/index.d.ts +1 -0
  56. package/dist/types/app/index.d.ts.map +1 -1
  57. package/dist/types/i18n/locales/index.d.ts +104 -0
  58. package/dist/types/i18n/locales/index.d.ts.map +1 -1
  59. package/package.json +6 -4
  60. package/dist/chunks/index-CQOh6W_w.mjs.map +0 -1
  61. package/dist/chunks/index-DkP1g191.cjs.map +0 -1
package/README.md CHANGED
@@ -244,7 +244,7 @@ Every component and directive the chat uses is imported by the component itself,
244
244
  | `ChatPage` | The whole chat: contact list, conversation and call view. |
245
245
  | `Call` | The call view (async). |
246
246
  | `ChatList`, `ChatConversation`, `ChatHeader`, `ChatMessages`, `ChatInput`, `ChatBubble` | Building blocks for custom layouts. |
247
- | `BIcon`, `BEmojiPicker`, `BVirtualVerticalList` | A Phosphor icon by name, the emoji picker and the virtualised list the chat uses. Every other control is a PrimeVue component. |
247
+ | `BIcon`, `BEmojiPicker`, `BVirtualVerticalList` | A Phosphor icon by name (rendered by `@iconify/vue` from bundled `ph` data, so it never calls the Iconify API), the emoji picker (PrimeVue and Tailwind; its `select` event carries an `EmojiSelection`, `{ emoji, label }`) and the virtualised list the chat uses. Every other control is a PrimeVue component. |
248
248
  | `useChatStore`, `useMessagesStore`, `useMediaStore`, `useProfileStore`, `useCallStore` | The Pinia stores. |
249
249
  | `messageMedia(message)` | A message's photo and video album: its `media`, or its `imageUrl` as photos. |
250
250
  | `resetChat()` | Forgets everything the chat loaded for the signed-in user (conversations, threads, drafts, shared media, the downloaded-file cache) and ends a running call. Call it on sign-out or an account switch, before the next user's chat mounts; the handlers stay. Each store also has its own `reset()` (`clearCache()` on the media store). |
@@ -333,6 +333,8 @@ app/
333
333
  types/ handler interfaces and data types
334
334
  assets/css/ theme tokens and base styles
335
335
  i18n/locales/ en and fa translations
336
+ scripts/ generate-icons.mjs: BIcon's Phosphor icons from @iconify-json/ph, one module per weight (add an icon there)
337
+ generate-emoji.mjs: BEmojiPicker's emoji list from emojibase-data (rerun after bumping it)
336
338
  fakes/ in-memory backend and call handlers (published as `vue-parley/fakes`)
337
339
  demo/ demo app (workspace package)
338
340
  e2e/ Playwright tests and harness
package/dist/chat.css CHANGED
@@ -709,6 +709,10 @@
709
709
  margin-inline-start: var(--spacing);
710
710
  }
711
711
 
712
+ :where(.vue-chat, .vue-chat *).ms-1\.5 {
713
+ margin-inline-start: calc(var(--spacing) * 1.5);
714
+ }
715
+
712
716
  :where(.vue-chat, .vue-chat *).ms-px {
713
717
  margin-inline-start: 1px;
714
718
  }
@@ -745,6 +749,10 @@
745
749
  margin-bottom: calc(var(--spacing) * .5);
746
750
  }
747
751
 
752
+ :where(.vue-chat, .vue-chat *).mb-1 {
753
+ margin-bottom: var(--spacing);
754
+ }
755
+
748
756
  :where(.vue-chat, .vue-chat *).mb-1\.5 {
749
757
  margin-bottom: calc(var(--spacing) * 1.5);
750
758
  }
@@ -800,6 +808,10 @@
800
808
  display: inline-flex;
801
809
  }
802
810
 
811
+ :where(.vue-chat, .vue-chat *).table {
812
+ display: table;
813
+ }
814
+
803
815
  :where(.vue-chat, .vue-chat *).aspect-square {
804
816
  aspect-ratio: 1;
805
817
  }
@@ -863,11 +875,21 @@
863
875
  height: calc(var(--spacing) * 7);
864
876
  }
865
877
 
878
+ :where(.vue-chat, .vue-chat *).size-7\! {
879
+ width: calc(var(--spacing) * 7) !important;
880
+ height: calc(var(--spacing) * 7) !important;
881
+ }
882
+
866
883
  :where(.vue-chat, .vue-chat *).size-8 {
867
884
  width: calc(var(--spacing) * 8);
868
885
  height: calc(var(--spacing) * 8);
869
886
  }
870
887
 
888
+ :where(.vue-chat, .vue-chat *).size-8\! {
889
+ width: calc(var(--spacing) * 8) !important;
890
+ height: calc(var(--spacing) * 8) !important;
891
+ }
892
+
871
893
  :where(.vue-chat, .vue-chat *).size-9 {
872
894
  width: calc(var(--spacing) * 9);
873
895
  height: calc(var(--spacing) * 9);
@@ -1025,6 +1047,10 @@
1025
1047
  height: calc(var(--spacing) * 57.5);
1026
1048
  }
1027
1049
 
1050
+ :where(.vue-chat, .vue-chat *).h-60 {
1051
+ height: calc(var(--spacing) * 60);
1052
+ }
1053
+
1028
1054
  :where(.vue-chat, .vue-chat *).h-60\.5 {
1029
1055
  height: calc(var(--spacing) * 60.5);
1030
1056
  }
@@ -1033,6 +1059,10 @@
1033
1059
  height: calc(var(--spacing) * 72);
1034
1060
  }
1035
1061
 
1062
+ :where(.vue-chat, .vue-chat *).h-\[407px\] {
1063
+ height: 407px;
1064
+ }
1065
+
1036
1066
  :where(.vue-chat, .vue-chat *).h-dvh {
1037
1067
  height: 100dvh;
1038
1068
  }
@@ -1213,6 +1243,10 @@
1213
1243
  width: calc(var(--spacing) * 85);
1214
1244
  }
1215
1245
 
1246
+ :where(.vue-chat, .vue-chat *).w-\[332px\] {
1247
+ width: 332px;
1248
+ }
1249
+
1216
1250
  :where(.vue-chat, .vue-chat *).w-auto {
1217
1251
  width: auto;
1218
1252
  }
@@ -1277,6 +1311,10 @@
1277
1311
  min-width: 0;
1278
1312
  }
1279
1313
 
1314
+ :where(.vue-chat, .vue-chat *).min-w-0\! {
1315
+ min-width: 0 !important;
1316
+ }
1317
+
1280
1318
  :where(.vue-chat, .vue-chat *).min-w-12 {
1281
1319
  min-width: calc(var(--spacing) * 12);
1282
1320
  }
@@ -1309,6 +1347,10 @@
1309
1347
  flex-shrink: 0;
1310
1348
  }
1311
1349
 
1350
+ :where(.vue-chat, .vue-chat *).grow {
1351
+ flex-grow: 1;
1352
+ }
1353
+
1312
1354
  :where(.vue-chat, .vue-chat *).grow-0\! {
1313
1355
  flex-grow: 0 !important;
1314
1356
  }
@@ -1462,6 +1504,10 @@
1462
1504
  grid-template-columns: repeat(3, minmax(0, 1fr));
1463
1505
  }
1464
1506
 
1507
+ :where(.vue-chat, .vue-chat *).grid-cols-8 {
1508
+ grid-template-columns: repeat(8, minmax(0, 1fr));
1509
+ }
1510
+
1465
1511
  :where(.vue-chat, .vue-chat *).flex-col {
1466
1512
  flex-direction: column;
1467
1513
  }
@@ -1542,6 +1588,10 @@
1542
1588
  column-gap: 0;
1543
1589
  }
1544
1590
 
1591
+ :where(.vue-chat, .vue-chat *).gap-x-0\.5 {
1592
+ column-gap: calc(var(--spacing) * .5);
1593
+ }
1594
+
1545
1595
  :where(.vue-chat, .vue-chat *).gap-x-1 {
1546
1596
  column-gap: var(--spacing);
1547
1597
  }
@@ -1644,6 +1694,10 @@
1644
1694
  border-color: var(--color-chat-outline-variant);
1645
1695
  }
1646
1696
 
1697
+ :where(.vue-chat, .vue-chat *).justify-self-center {
1698
+ justify-self: center;
1699
+ }
1700
+
1647
1701
  :where(.vue-chat, .vue-chat *).truncate {
1648
1702
  text-overflow: ellipsis;
1649
1703
  white-space: nowrap;
@@ -1670,6 +1724,10 @@
1670
1724
  overflow-y: auto !important;
1671
1725
  }
1672
1726
 
1727
+ :where(.vue-chat, .vue-chat *).overscroll-contain {
1728
+ overscroll-behavior: contain;
1729
+ }
1730
+
1673
1731
  :where(.vue-chat, .vue-chat *).\!rounded {
1674
1732
  border-radius: .25rem !important;
1675
1733
  }
@@ -1702,6 +1760,10 @@
1702
1760
  border-radius: var(--radius-lg);
1703
1761
  }
1704
1762
 
1763
+ :where(.vue-chat, .vue-chat *).rounded-lg\! {
1764
+ border-radius: var(--radius-lg) !important;
1765
+ }
1766
+
1705
1767
  :where(.vue-chat, .vue-chat *).rounded-md {
1706
1768
  border-radius: var(--radius-md);
1707
1769
  }
@@ -1909,6 +1971,16 @@
1909
1971
  }
1910
1972
  }
1911
1973
 
1974
+ :where(.vue-chat, .vue-chat *).bg-black\/55\! {
1975
+ background-color: #0000008c !important;
1976
+ }
1977
+
1978
+ @supports (color: color-mix(in lab, red, red)) {
1979
+ :where(.vue-chat, .vue-chat *).bg-black\/55\! {
1980
+ background-color: color-mix(in oklab, var(--color-black) 55%, transparent) !important;
1981
+ }
1982
+ }
1983
+
1912
1984
  :where(.vue-chat, .vue-chat *).bg-black\/95\! {
1913
1985
  background-color: #000000f2 !important;
1914
1986
  }
@@ -2344,10 +2416,6 @@
2344
2416
  fill: var(--color-chat-surface-3);
2345
2417
  }
2346
2418
 
2347
- :where(.vue-chat, .vue-chat *).fill-current {
2348
- fill: currentColor;
2349
- }
2350
-
2351
2419
  :where(.vue-chat, .vue-chat *).fill-error {
2352
2420
  fill: var(--color-error);
2353
2421
  }
@@ -2444,6 +2512,10 @@
2444
2512
  padding: calc(var(--spacing) * 4);
2445
2513
  }
2446
2514
 
2515
+ :where(.vue-chat, .vue-chat *).p-6 {
2516
+ padding: calc(var(--spacing) * 6);
2517
+ }
2518
+
2447
2519
  :where(.vue-chat, .vue-chat *).px-1 {
2448
2520
  padding-inline: var(--spacing);
2449
2521
  }
@@ -2572,6 +2644,10 @@
2572
2644
  padding-inline-end: calc(var(--spacing) * 1.5);
2573
2645
  }
2574
2646
 
2647
+ :where(.vue-chat, .vue-chat *).pe-9\! {
2648
+ padding-inline-end: calc(var(--spacing) * 9) !important;
2649
+ }
2650
+
2575
2651
  :where(.vue-chat, .vue-chat *).pe-11\! {
2576
2652
  padding-inline-end: calc(var(--spacing) * 11) !important;
2577
2653
  }
@@ -2588,6 +2664,10 @@
2588
2664
  padding-top: var(--spacing);
2589
2665
  }
2590
2666
 
2667
+ :where(.vue-chat, .vue-chat *).pt-2 {
2668
+ padding-top: calc(var(--spacing) * 2);
2669
+ }
2670
+
2591
2671
  :where(.vue-chat, .vue-chat *).pt-2\.5 {
2592
2672
  padding-top: calc(var(--spacing) * 2.5);
2593
2673
  }
@@ -2628,6 +2708,10 @@
2628
2708
  padding-bottom: var(--spacing);
2629
2709
  }
2630
2710
 
2711
+ :where(.vue-chat, .vue-chat *).pb-1\.5 {
2712
+ padding-bottom: calc(var(--spacing) * 1.5);
2713
+ }
2714
+
2631
2715
  :where(.vue-chat, .vue-chat *).pb-2 {
2632
2716
  padding-bottom: calc(var(--spacing) * 2);
2633
2717
  }
@@ -2724,6 +2808,10 @@
2724
2808
  line-height: var(--tw-leading, var(--text-xl--line-height));
2725
2809
  }
2726
2810
 
2811
+ :where(.vue-chat, .vue-chat *).text-\[1\.6rem\]\! {
2812
+ font-size: 1.6rem !important;
2813
+ }
2814
+
2727
2815
  :where(.vue-chat, .vue-chat *).text-\[7px\] {
2728
2816
  font-size: 7px;
2729
2817
  }
@@ -2765,6 +2853,11 @@
2765
2853
  line-height: 1;
2766
2854
  }
2767
2855
 
2856
+ :where(.vue-chat, .vue-chat *).leading-none\! {
2857
+ --tw-leading: 1 !important;
2858
+ line-height: 1 !important;
2859
+ }
2860
+
2768
2861
  :where(.vue-chat, .vue-chat *).leading-normal\! {
2769
2862
  --tw-leading: var(--leading-normal) !important;
2770
2863
  line-height: var(--leading-normal) !important;
@@ -2945,6 +3038,14 @@
2945
3038
  }
2946
3039
  }
2947
3040
 
3041
+ :where(.vue-chat, .vue-chat *).capitalize {
3042
+ text-transform: capitalize;
3043
+ }
3044
+
3045
+ :where(.vue-chat, .vue-chat *).lowercase {
3046
+ text-transform: lowercase;
3047
+ }
3048
+
2948
3049
  :where(.vue-chat, .vue-chat *).uppercase {
2949
3050
  text-transform: uppercase;
2950
3051
  }
@@ -2982,6 +3083,11 @@
2982
3083
  opacity: 1 !important;
2983
3084
  }
2984
3085
 
3086
+ :where(.vue-chat, .vue-chat *).shadow {
3087
+ --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
3088
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
3089
+ }
3090
+
2985
3091
  :where(.vue-chat, .vue-chat *).shadow-2xl {
2986
3092
  --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
2987
3093
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -3267,13 +3373,13 @@
3267
3373
  }
3268
3374
 
3269
3375
  @media (hover: hover) {
3270
- :where(.vue-chat, .vue-chat *).hover\:bg-black\/70:hover {
3271
- background-color: #000000b3;
3376
+ :where(.vue-chat, .vue-chat *).hover\:bg-black\/70\!:hover {
3377
+ background-color: #000000b3 !important;
3272
3378
  }
3273
3379
 
3274
3380
  @supports (color: color-mix(in lab, red, red)) {
3275
- :where(.vue-chat, .vue-chat *).hover\:bg-black\/70:hover {
3276
- background-color: color-mix(in oklab, var(--color-black) 70%, transparent);
3381
+ :where(.vue-chat, .vue-chat *).hover\:bg-black\/70\!:hover {
3382
+ background-color: color-mix(in oklab, var(--color-black) 70%, transparent) !important;
3277
3383
  }
3278
3384
  }
3279
3385
 
@@ -4283,11 +4389,3 @@
4283
4389
  transform: scaleY(-1) translateY(0);
4284
4390
  }
4285
4391
  }
4286
-
4287
- :where(.vue-chat, .vue-chat *).v3-emoji-picker {
4288
- height: 407px;
4289
- width: 332px;
4290
- }
4291
- :where(.vue-chat, .vue-chat *).v3-emoji-picker .v3-footer {
4292
- display: none !important;
4293
- }
@@ -1,5 +1,5 @@
1
1
  import { ref, onMounted, onUnmounted, watch, nextTick, reactive, onBeforeUnmount, defineComponent, openBlock, createElementBlock, createBlock, unref, mergeProps, withCtx, createVNode, normalizeClass, computed, Fragment, normalizeStyle, createElementVNode, toDisplayString, withModifiers, createCommentVNode, withDirectives, vShow, renderList } from "vue";
2
- import { u as useCallStore, a as useLocalI18n, c as chat, b as useDirection, d as useChatStore, f as formatDuration } from "./index-CQOh6W_w.mjs";
2
+ import { u as useCallStore, a as useLocalI18n, c as chat, b as useDirection, d as useChatStore, f as formatDuration } from "./index-zMhlsdTO.mjs";
3
3
  import { useEventListener, useWindowSize, useDraggable } from "@vueuse/core";
4
4
  import Avatar from "primevue/avatar";
5
5
  import Button from "primevue/button";
@@ -1152,4 +1152,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1152
1152
  export {
1153
1153
  _sfc_main as default
1154
1154
  };
1155
- //# sourceMappingURL=Call-DYRrJJ-j.mjs.map
1155
+ //# sourceMappingURL=Call-CVmsm2_5.mjs.map