tuikit-atomicx-vue3 3.3.0 → 3.3.2-beta.1

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 (46) hide show
  1. package/dist/components/ChatSetting/GroupChatSetting/GroupActions/GroupActions.js +1 -4
  2. package/dist/components/ChatSetting/GroupChatSetting/GroupChatSetting.js +1 -2
  3. package/dist/components/ChatSetting/GroupChatSetting/GroupManagement/GroupManagement.js +1 -2
  4. package/dist/components/ContactList/ContactInfo/GroupInfo/GroupInfo.js +1 -2
  5. package/dist/components/ConversationList/ConversationCreate/ConversationCreate.js +1 -2
  6. package/dist/components/ConversationList/ConversationSearch/ConversationSearch.js +0 -1
  7. package/dist/components/LiveAudienceList/LiveAudienceListH5.js +1 -1
  8. package/dist/components/LiveCoreView/PlayerControl/AudioControl.js +251 -0
  9. package/dist/components/LiveCoreView/PlayerControl/AudioControl.vue.d.ts +38 -0
  10. package/dist/components/LiveCoreView/PlayerControl/PlayerControl.js +271 -0
  11. package/dist/components/LiveCoreView/PlayerControl/PlayerControl.vue.d.ts +2 -0
  12. package/dist/components/LiveCoreView/PlayerControl/PlayerControlState.d.ts +27 -0
  13. package/dist/components/LiveCoreView/PlayerControl/PlayerControlState.js +407 -0
  14. package/dist/components/LiveCoreView/PlayerControl/index.d.ts +3 -0
  15. package/dist/components/LiveCoreView/PlayerControl/index.js +8 -0
  16. package/dist/components/LiveCoreView/PlayerControl/utils/deviceDetection.d.ts +85 -0
  17. package/dist/components/LiveCoreView/PlayerControl/utils/deviceDetection.js +129 -0
  18. package/dist/components/LiveCoreView/PlayerControl/utils/domHelpers.d.ts +75 -0
  19. package/dist/components/LiveCoreView/PlayerControl/utils/domHelpers.js +120 -0
  20. package/dist/components/LiveCoreView/PlayerControl/utils/fullscreenManager.d.ts +120 -0
  21. package/dist/components/LiveCoreView/PlayerControl/utils/fullscreenManager.js +311 -0
  22. package/dist/components/LiveCoreView/i18n/en-US/index.d.ts +9 -0
  23. package/dist/components/LiveCoreView/i18n/en-US/index.js +10 -1
  24. package/dist/components/LiveCoreView/i18n/zh-CN/index.d.ts +9 -0
  25. package/dist/components/LiveCoreView/i18n/zh-CN/index.js +10 -1
  26. package/dist/components/LiveCoreView/index.js +23 -3
  27. package/dist/styles/index.css +321 -49
  28. package/package.json +3 -3
  29. package/src/components/ChatSetting/GroupChatSetting/GroupActions/GroupActions.vue +0 -3
  30. package/src/components/ChatSetting/GroupChatSetting/GroupChatSetting.vue +0 -1
  31. package/src/components/ChatSetting/GroupChatSetting/GroupManagement/GroupManagement.vue +0 -1
  32. package/src/components/ContactList/ContactInfo/GroupInfo/GroupInfo.vue +0 -1
  33. package/src/components/ConversationList/ConversationCreate/ConversationCreate.vue +0 -1
  34. package/src/components/ConversationList/ConversationSearch/ConversationSearch.vue +0 -1
  35. package/src/components/LiveAudienceList/LiveAudienceListH5.vue +2 -2
  36. package/src/components/LiveCoreView/PlayerControl/AudioControl.vue +456 -0
  37. package/src/components/LiveCoreView/PlayerControl/PlayerControl.module.scss +52 -0
  38. package/src/components/LiveCoreView/PlayerControl/PlayerControl.vue +429 -0
  39. package/src/components/LiveCoreView/PlayerControl/PlayerControlState.ts +599 -0
  40. package/src/components/LiveCoreView/PlayerControl/index.ts +3 -0
  41. package/src/components/LiveCoreView/PlayerControl/utils/deviceDetection.ts +234 -0
  42. package/src/components/LiveCoreView/PlayerControl/utils/domHelpers.ts +145 -0
  43. package/src/components/LiveCoreView/PlayerControl/utils/fullscreenManager.ts +417 -0
  44. package/src/components/LiveCoreView/i18n/en-US/index.ts +9 -0
  45. package/src/components/LiveCoreView/i18n/zh-CN/index.ts +9 -0
  46. package/src/components/LiveCoreView/index.vue +14 -3
@@ -1,11 +1,14 @@
1
1
  import { addI18n } from "../../i18n/index.js";
2
2
  import DefaultStreamViewUI from "./DefaultStreamViewUI.js";
3
- import { defineComponent, useSlots, computed, ref, onMounted, onBeforeUnmount, watch, createElementBlock, openBlock, normalizeClass, createCommentVNode, createElementVNode, toDisplayString, unref, normalizeStyle, renderSlot, Fragment, renderList, createBlock, mergeProps, normalizeProps } from "vue";
3
+ import { defineComponent, useSlots, computed, ref, onMounted, onBeforeUnmount, watch, createElementBlock, openBlock, normalizeClass, createCommentVNode, createElementVNode, createBlock, toDisplayString, unref, normalizeStyle, renderSlot, Fragment, renderList, mergeProps, normalizeProps, Teleport } from "vue";
4
4
  import { useUIKit } from "@tencentcloud/uikit-base-component-vue3";
5
5
  import { useLiveSeatState } from "../../states/LiveSeatState/index.js";
6
6
  import { useLiveState } from "../../states/LiveState/index.js";
7
7
  import { useLoginState } from "../../states/LoginState.js";
8
8
  import { getContentSize } from "../../utils/domOperation.js";
9
+ import PlayerControl from "./PlayerControl/PlayerControl.js";
10
+ import { usePlayerControlState } from "./PlayerControl/PlayerControlState.js";
11
+ import { isMobile } from "../../utils/env.js";
9
12
  import { _ as _export_sfc } from "../../_plugin-vue_export-helper-1tPrXgE0.js";
10
13
  import { resource } from "./i18n/en-US/index.js";
11
14
  import { resource as resource$1 } from "./i18n/zh-CN/index.js";
@@ -21,6 +24,7 @@ const _hoisted_3 = {
21
24
  const _sfc_main = /* @__PURE__ */ defineComponent({
22
25
  __name: "index",
23
26
  setup(__props) {
27
+ const { isFullscreen } = usePlayerControlState();
24
28
  const { t } = useUIKit();
25
29
  const { seatList, canvas, startPlayStream, stopPlayStream } = useLiveSeatState();
26
30
  const { currentLive } = useLiveState();
@@ -35,6 +39,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
35
39
  }
36
40
  return true;
37
41
  });
42
+ const isShowPlayerControl = computed(() => {
43
+ var _a;
44
+ return ((_a = currentLive.value) == null ? void 0 : _a.liveId) && !seatList.value.some((item) => {
45
+ var _a2, _b;
46
+ return ((_a2 = item.userInfo) == null ? void 0 : _a2.userId) === ((_b = loginUserInfo.value) == null ? void 0 : _b.userId);
47
+ });
48
+ });
38
49
  onMounted(async () => {
39
50
  isMounted.value = true;
40
51
  await startPlayStream({ view: "atomicx-live-stream-content" });
@@ -297,6 +308,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
297
308
  return openBlock(), createElementBlock("div", {
298
309
  ref_key: "liveCoreViewContainerRef",
299
310
  ref: liveCoreViewContainerRef,
311
+ id: "live-core-view-container",
300
312
  class: normalizeClass(["live-core-view-container", { "align-center": isAlignCenter.value }])
301
313
  }, [
302
314
  !_ctx.$slots.localVideo && !isPlayedVideo.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
@@ -326,12 +338,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
326
338
  }), 128))
327
339
  ])) : createCommentVNode("", true),
328
340
  _ctx.$slots.localVideo && isMounted.value ? renderSlot(_ctx.$slots, "localVideo", normalizeProps(mergeProps({ key: 1 }, { style: (_a = localStreamViewInfo.value) == null ? void 0 : _a.region })), void 0, true) : createCommentVNode("", true)
329
- ], 4)
341
+ ], 4),
342
+ !unref(isFullscreen) ? (openBlock(), createBlock(Teleport, {
343
+ key: 1,
344
+ to: "body",
345
+ disabled: !unref(isMobile)
346
+ }, [
347
+ isShowPlayerControl.value ? (openBlock(), createBlock(PlayerControl, { key: 0 })) : createCommentVNode("", true)
348
+ ], 8, ["disabled"])) : createCommentVNode("", true),
349
+ isShowPlayerControl.value && unref(isFullscreen) ? (openBlock(), createBlock(PlayerControl, { key: 2 })) : createCommentVNode("", true)
330
350
  ], 2);
331
351
  };
332
352
  }
333
353
  });
334
- const LiveCoreViewComponent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-46f33693"]]);
354
+ const LiveCoreViewComponent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-84f2eab3"]]);
335
355
  addI18n("en-US", { translation: resource });
336
356
  addI18n("zh-CN", { translation: resource$1 });
337
357
  export {
@@ -865,12 +865,12 @@ span.unique-icon-btn:active {
865
865
  color: #666;
866
866
  font-size: 12px;
867
867
  border-top: 1px solid #f0f0f0;
868
- }.group-actions[data-v-21a17b84] {
868
+ }.group-actions[data-v-a8fcc66e] {
869
869
  display: flex;
870
870
  flex-direction: column;
871
871
  gap: 10px;
872
872
  }
873
- .group-actions__button[data-v-21a17b84] {
873
+ .group-actions__button[data-v-a8fcc66e] {
874
874
  width: 100%;
875
875
  }.group-info__item[data-v-5b84a613] {
876
876
  padding: 10px 0;
@@ -1095,42 +1095,42 @@ span.unique-icon-btn:active {
1095
1095
  100% {
1096
1096
  opacity: 1;
1097
1097
  }
1098
- }.group-management[data-v-91345f9d] {
1098
+ }.group-management[data-v-a5ebaab5] {
1099
1099
  padding: 0 20px;
1100
1100
  }
1101
- .group-management__header[data-v-91345f9d] {
1101
+ .group-management__header[data-v-a5ebaab5] {
1102
1102
  padding: 16px 0;
1103
1103
  border-bottom: 1px solid var(--border-color-light);
1104
1104
  }
1105
- .group-management__back-btn[data-v-91345f9d] {
1105
+ .group-management__back-btn[data-v-a5ebaab5] {
1106
1106
  width: 28px;
1107
1107
  height: 28px;
1108
1108
  padding: 6px;
1109
1109
  cursor: pointer;
1110
1110
  color: var(--text-color-primary);
1111
1111
  }
1112
- .group-management__back-btn[data-v-91345f9d]:hover {
1112
+ .group-management__back-btn[data-v-a5ebaab5]:hover {
1113
1113
  color: var(--text-color-secondary);
1114
1114
  }
1115
- .group-management__title[data-v-91345f9d] {
1115
+ .group-management__title[data-v-a5ebaab5] {
1116
1116
  font-size: 18px;
1117
1117
  font-weight: 600;
1118
1118
  color: var(--text-color-primary);
1119
1119
  }
1120
- .group-management__mute-all[data-v-91345f9d] {
1120
+ .group-management__mute-all[data-v-a5ebaab5] {
1121
1121
  color: var(--text-color-primary);
1122
1122
  }
1123
- .group-management__mute-all-header[data-v-91345f9d] {
1123
+ .group-management__mute-all-header[data-v-a5ebaab5] {
1124
1124
  display: flex;
1125
1125
  align-items: center;
1126
1126
  justify-content: space-between;
1127
1127
  margin-bottom: 8px;
1128
1128
  }
1129
- .group-management__mute-all-title[data-v-91345f9d] {
1129
+ .group-management__mute-all-title[data-v-a5ebaab5] {
1130
1130
  font-size: 16px;
1131
1131
  font-weight: 500;
1132
1132
  }
1133
- .group-management__mute-all-desc[data-v-91345f9d] {
1133
+ .group-management__mute-all-desc[data-v-a5ebaab5] {
1134
1134
  font-size: 14px;
1135
1135
  color: var(--text-color-secondary);
1136
1136
  }.group-management-entry[data-v-55b0dd4c] {
@@ -1161,7 +1161,7 @@ span.unique-icon-btn:active {
1161
1161
  display: flex;
1162
1162
  flex-direction: column;
1163
1163
  gap: 0;
1164
- }.group-chat-setting[data-v-358c1266] {
1164
+ }.group-chat-setting[data-v-7374cfa4] {
1165
1165
  gap: 16px;
1166
1166
  padding: 16px;
1167
1167
  }.user-picker-dialog {
@@ -5531,7 +5531,7 @@ to {
5531
5531
  * @include multi-line-ellipsis(3);
5532
5532
  * }
5533
5533
  */
5534
- .contact-group-info[data-v-ce333195] {
5534
+ .contact-group-info[data-v-8f45a224] {
5535
5535
  height: 100%;
5536
5536
  width: 100%;
5537
5537
  overflow: hidden;
@@ -5540,21 +5540,21 @@ to {
5540
5540
  background-color: var(--bg-color-topbar);
5541
5541
  padding: 48px;
5542
5542
  }
5543
- .contact-group-info__header[data-v-ce333195] {
5543
+ .contact-group-info__header[data-v-8f45a224] {
5544
5544
  display: flex;
5545
5545
  justify-content: space-between;
5546
5546
  align-items: flex-start;
5547
5547
  gap: 20px;
5548
5548
  margin-bottom: 32px;
5549
5549
  }
5550
- .contact-group-info__main-info[data-v-ce333195] {
5550
+ .contact-group-info__main-info[data-v-8f45a224] {
5551
5551
  flex: 1;
5552
5552
  display: flex;
5553
5553
  flex-direction: column;
5554
5554
  gap: 20px;
5555
5555
  width: 0;
5556
5556
  }
5557
- .contact-group-info__name[data-v-ce333195] {
5557
+ .contact-group-info__name[data-v-8f45a224] {
5558
5558
  font-size: 24px;
5559
5559
  font-weight: 400;
5560
5560
  color: var(--text-color-primary);
@@ -5564,8 +5564,8 @@ to {
5564
5564
  white-space: nowrap;
5565
5565
  text-overflow: ellipsis;
5566
5566
  }
5567
- .contact-group-info__id[data-v-ce333195],
5568
- .contact-group-info__intro[data-v-ce333195] {
5567
+ .contact-group-info__id[data-v-8f45a224],
5568
+ .contact-group-info__intro[data-v-8f45a224] {
5569
5569
  font-size: 16px;
5570
5570
  color: var(--text-color-tertiary);
5571
5571
  width: 100%;
@@ -5576,7 +5576,7 @@ to {
5576
5576
  -webkit-line-clamp: 3;
5577
5577
  -webkit-box-orient: vertical;
5578
5578
  }
5579
- .contact-group-info__actions[data-v-ce333195] {
5579
+ .contact-group-info__actions[data-v-8f45a224] {
5580
5580
  border-top: 1px solid var(--stroke-color-secondary);
5581
5581
  padding-top: 32px;
5582
5582
  display: flex;
@@ -5972,21 +5972,21 @@ to {
5972
5972
  ._conversationCreateUserSelectList--h5_pa6me_7 {
5973
5973
  height: 100%;
5974
5974
  padding: 0 20px;
5975
- }.conversationCreate__container[data-v-87d3c1d2] {
5975
+ }.conversationCreate__container[data-v-bdcdab3b] {
5976
5976
  display: flex;
5977
5977
  flex-direction: column;
5978
5978
  justify-content: center;
5979
5979
  }
5980
- .conversationCreate__detail[data-v-87d3c1d2] {
5980
+ .conversationCreate__detail[data-v-bdcdab3b] {
5981
5981
  flex: 1;
5982
5982
  }
5983
- [data-v-87d3c1d2] .conversationCreate__dialog {
5983
+ [data-v-bdcdab3b] .conversationCreate__dialog {
5984
5984
  width: 100%;
5985
5985
  height: 100%;
5986
5986
  max-width: 100%;
5987
5987
  border-radius: 0;
5988
5988
  }
5989
- [data-v-87d3c1d2] .conversationCreate__dialog .dialog-body {
5989
+ [data-v-bdcdab3b] .conversationCreate__dialog .dialog-body {
5990
5990
  height: 0;
5991
5991
  }/**
5992
5992
  * Multi-line ellipsis
@@ -9695,24 +9695,24 @@ to {
9695
9695
  bottom: 0;
9696
9696
  background: transparent;
9697
9697
  z-index: 1000;
9698
- }.viewers-panel[data-v-c41122fd] {
9698
+ }.viewers-panel[data-v-68b59301] {
9699
9699
  box-sizing: border-box;
9700
- height: 500px;
9700
+ height: 100%;
9701
9701
  display: flex;
9702
9702
  flex-direction: column;
9703
9703
  color: var(--text-color-primary);
9704
9704
  transition: max-height 0.3s ease;
9705
9705
  gap: 8px;
9706
9706
  }
9707
- .viewers-panel:hover .current-user-item[data-v-c41122fd] {
9707
+ .viewers-panel:hover .current-user-item[data-v-68b59301] {
9708
9708
  opacity: 1;
9709
9709
  display: flex;
9710
9710
  }
9711
- .viewers-panel:hover .viewers-list[data-v-c41122fd] {
9711
+ .viewers-panel:hover .viewers-list[data-v-68b59301] {
9712
9712
  height: auto;
9713
9713
  flex-shrink: 1;
9714
9714
  }
9715
- .viewers-panel .viewers-list[data-v-c41122fd] {
9715
+ .viewers-panel .viewers-list[data-v-68b59301] {
9716
9716
  flex-grow: 1;
9717
9717
  overflow-y: auto;
9718
9718
  overflow-x: hidden;
@@ -9721,28 +9721,28 @@ to {
9721
9721
  padding-right: 0;
9722
9722
  width: 100%;
9723
9723
  }
9724
- .viewers-panel .viewers-list[data-v-c41122fd]::-webkit-scrollbar {
9724
+ .viewers-panel .viewers-list[data-v-68b59301]::-webkit-scrollbar {
9725
9725
  width: 6px;
9726
9726
  background: transparent;
9727
9727
  }
9728
- .viewers-panel .viewers-list[data-v-c41122fd]::-webkit-scrollbar-track {
9728
+ .viewers-panel .viewers-list[data-v-68b59301]::-webkit-scrollbar-track {
9729
9729
  background: transparent;
9730
9730
  }
9731
- .viewers-panel .viewers-list[data-v-c41122fd]::-webkit-scrollbar-thumb {
9731
+ .viewers-panel .viewers-list[data-v-68b59301]::-webkit-scrollbar-thumb {
9732
9732
  background: var(--uikit-color-gray-3);
9733
9733
  border-radius: 3px;
9734
9734
  border: 2px solid transparent;
9735
9735
  background-clip: padding-box;
9736
9736
  }
9737
- .viewers-panel .viewers-list[data-v-c41122fd]::-webkit-scrollbar-thumb:hover {
9737
+ .viewers-panel .viewers-list[data-v-68b59301]::-webkit-scrollbar-thumb:hover {
9738
9738
  background: var(--uikit-color-gray-3);
9739
9739
  }
9740
- .viewers-panel .viewer-bottom-line[data-v-c41122fd] {
9740
+ .viewers-panel .viewer-bottom-line[data-v-68b59301] {
9741
9741
  text-align: center;
9742
9742
  color: var(--text-color-secondary);
9743
9743
  font-size: 12px;
9744
9744
  }
9745
- .viewers-panel .viewer-item[data-v-c41122fd] {
9745
+ .viewers-panel .viewer-item[data-v-68b59301] {
9746
9746
  display: flex;
9747
9747
  align-items: center;
9748
9748
  gap: 12px;
@@ -9754,10 +9754,10 @@ to {
9754
9754
  border-radius: 4px;
9755
9755
  cursor: pointer;
9756
9756
  }
9757
- .viewers-panel .viewer-item[data-v-c41122fd]:hover {
9757
+ .viewers-panel .viewer-item[data-v-68b59301]:hover {
9758
9758
  background-color: var(--uikit-color-gray-3);
9759
9759
  }
9760
- .viewers-panel .viewer-item .viewer-info[data-v-c41122fd] {
9760
+ .viewers-panel .viewer-item .viewer-info[data-v-68b59301] {
9761
9761
  display: flex;
9762
9762
  align-items: center;
9763
9763
  flex: 1;
@@ -9766,7 +9766,7 @@ to {
9766
9766
  height: 100%;
9767
9767
  border-bottom: 1px solid var(--uikit-color-gray-3);
9768
9768
  }
9769
- .viewers-panel .viewer-item .viewer-name[data-v-c41122fd] {
9769
+ .viewers-panel .viewer-item .viewer-name[data-v-68b59301] {
9770
9770
  font-size: 14px;
9771
9771
  color: var(--text-color-primary);
9772
9772
  white-space: nowrap;
@@ -9775,15 +9775,15 @@ to {
9775
9775
  flex-shrink: 1;
9776
9776
  min-width: 0;
9777
9777
  }
9778
- .viewers-panel .empty-state[data-v-c41122fd] {
9778
+ .viewers-panel .empty-state[data-v-68b59301] {
9779
9779
  text-align: center;
9780
9780
  color: var(--text-color-secondary);
9781
9781
  font-size: 14px;
9782
9782
  font-weight: 400;
9783
9783
  margin: auto;
9784
9784
  }
9785
- .viewers-panel .load-more-indicator[data-v-c41122fd],
9786
- .viewers-panel .loading-indicator[data-v-c41122fd] {
9785
+ .viewers-panel .load-more-indicator[data-v-68b59301],
9786
+ .viewers-panel .loading-indicator[data-v-68b59301] {
9787
9787
  text-align: center;
9788
9788
  color: var(--text-color-secondary);
9789
9789
  font-size: 12px;
@@ -9791,7 +9791,7 @@ to {
9791
9791
  padding: 8px 0;
9792
9792
  margin: 4px 0;
9793
9793
  }
9794
- .viewers-panel .current-user-item[data-v-c41122fd] {
9794
+ .viewers-panel .current-user-item[data-v-68b59301] {
9795
9795
  opacity: 0;
9796
9796
  display: none;
9797
9797
  z-index: 2;
@@ -9877,17 +9877,289 @@ to {
9877
9877
  text-overflow: ellipsis;
9878
9878
  white-space: nowrap;
9879
9879
  overflow: hidden;
9880
- }.live-core-view-container[data-v-46f33693] {
9880
+ }.audio-control[data-v-81e72abd] {
9881
+ --volume-control-primary: rgb(255, 255, 255);
9882
+ --volume-control-primary-hover: rgba(255, 255, 255, 0.1);
9883
+ --volume-control-background: rgba(0, 0, 0, 0.8);
9884
+ --volume-control-background-light: rgba(0, 0, 0, 0.5);
9885
+ --volume-control-border: rgba(255, 255, 255, 0.1);
9886
+ --volume-control-shadow: rgba(0, 0, 0, 0.2);
9887
+ position: relative;
9888
+ display: flex;
9889
+ align-items: center;
9890
+ }
9891
+ .volume-btn[data-v-81e72abd] {
9892
+ width: 100%;
9893
+ height: 100%;
9894
+ flex-shrink: 0;
9895
+ cursor: pointer;
9896
+ transition: background-color 0.2s ease;
9897
+ }
9898
+ .volume-slider-container[data-v-81e72abd] {
9899
+ position: absolute;
9900
+ bottom: 100%;
9901
+ left: 50%;
9902
+ transform: translateX(-50%);
9903
+ margin-bottom: 12px;
9904
+ z-index: 100;
9905
+ }
9906
+ .volume-slider-wrapper[data-v-81e72abd] {
9907
+ position: relative;
9908
+ display: flex;
9909
+ flex-direction: column;
9910
+ align-items: center;
9911
+ gap: 8px;
9912
+ background: var(--volume-control-background);
9913
+ padding: 12px 8px;
9914
+ border-radius: 8px;
9915
+ backdrop-filter: blur(10px);
9916
+ border: 1px solid var(--volume-control-border);
9917
+ cursor: pointer;
9918
+ user-select: none;
9919
+ -webkit-user-select: none;
9920
+ -moz-user-select: none;
9921
+ -ms-user-select: none;
9922
+ }
9923
+ @media (hover: none) and (pointer: coarse) {
9924
+ .volume-slider-wrapper[data-v-81e72abd] {
9925
+ cursor: grab;
9926
+ }
9927
+ .volume-slider-wrapper[data-v-81e72abd]:active {
9928
+ cursor: grabbing;
9929
+ }
9930
+ }
9931
+ .volume-slider-wrapper-inner[data-v-81e72abd] {
9932
+ position: relative;
9933
+ width: 20px;
9934
+ height: 80px;
9935
+ display: flex;
9936
+ align-items: center;
9937
+ justify-content: center;
9938
+ margin-top: 12px;
9939
+ }
9940
+ .custom-volume-slider[data-v-81e72abd] {
9941
+ position: relative;
9942
+ width: 4px;
9943
+ height: 80px;
9944
+ cursor: pointer;
9945
+ z-index: 2;
9946
+ margin: 0;
9947
+ }
9948
+ .slider-track[data-v-81e72abd] {
9949
+ position: absolute;
9950
+ top: 0;
9951
+ left: 0;
9952
+ width: 100%;
9953
+ height: 100%;
9954
+ border-radius: 2px;
9955
+ background: rgba(255, 255, 255, 0.2);
9956
+ border: none;
9957
+ }
9958
+ .slider-progress[data-v-81e72abd] {
9959
+ position: absolute;
9960
+ bottom: 0;
9961
+ left: 0;
9962
+ width: 100%;
9963
+ background: #ffffff;
9964
+ border-radius: 2px;
9965
+ }
9966
+ .slider-thumb[data-v-81e72abd] {
9967
+ position: absolute;
9968
+ left: 50%;
9969
+ transform: translateX(-50%);
9970
+ width: 12px;
9971
+ height: 12px;
9972
+ background: #ffffff;
9973
+ border-radius: 50%;
9974
+ border: 2px solid rgba(255, 255, 255, 0.8);
9975
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
9976
+ transition: transform 0.1s ease;
9977
+ z-index: 3;
9978
+ cursor: grab;
9979
+ }
9980
+ .slider-thumb.no-transition[data-v-81e72abd] {
9981
+ transition: none;
9982
+ }
9983
+ .slider-thumb[data-v-81e72abd]:active {
9984
+ cursor: grabbing;
9985
+ transform: translateX(-50%) scale(1.1);
9986
+ }
9987
+ .slider-thumb[data-v-81e72abd]:hover {
9988
+ transform: translateX(-50%) scale(1.1);
9989
+ }
9990
+ .volume-value[data-v-81e72abd] {
9991
+ color: var(--volume-control-primary);
9992
+ font-size: 12px;
9993
+ font-weight: 500;
9994
+ text-align: center;
9995
+ min-width: 32px;
9996
+ padding: 2px 6px;
9997
+ border-radius: 4px;
9998
+ pointer-events: none;
9999
+ }
10000
+ @media (hover: none) and (pointer: coarse) {
10001
+ .volume-slider-wrapper[data-v-81e72abd] {
10002
+ padding: 16px 12px;
10003
+ }
10004
+ .volume-slider-wrapper[data-v-81e72abd]:active {
10005
+ background: var(--volume-control-background-light);
10006
+ transform: scale(0.98);
10007
+ transition: all 0.1s ease;
10008
+ }
10009
+ .volume-slider-wrapper-inner[data-v-81e72abd] {
10010
+ height: 100px;
10011
+ }
10012
+ }.pc-mode[data-v-cb28a3fe] {
10013
+ position: absolute;
10014
+ bottom: 0;
10015
+ left: 0;
10016
+ right: 0;
10017
+ z-index: 10;
10018
+ }
10019
+ .mobile-mode[data-v-cb28a3fe] {
10020
+ position: fixed !important;
10021
+ bottom: 0;
10022
+ left: 0;
10023
+ right: 0;
10024
+ z-index: 999999;
10025
+ pointer-events: auto;
10026
+ }
10027
+ .playback-controls[data-v-cb28a3fe] {
10028
+ background: #000000;
10029
+ padding: 12px 0;
10030
+ display: flex;
10031
+ width: calc(100% + 1px);
10032
+ align-items: center;
10033
+ box-sizing: border-box;
10034
+ }
10035
+ .control-buttons[data-v-cb28a3fe] {
10036
+ display: flex;
10037
+ align-items: center;
10038
+ justify-content: space-around;
10039
+ width: 100%;
10040
+ pointer-events: all;
10041
+ }
10042
+ .center-controls[data-v-cb28a3fe] {
10043
+ display: flex;
10044
+ align-items: center;
10045
+ gap: 16px;
10046
+ }
10047
+ .control-btn[data-v-cb28a3fe] {
10048
+ background: transparent;
10049
+ border: none;
10050
+ border-radius: 50%;
10051
+ width: 36px;
10052
+ height: 36px;
10053
+ display: flex;
10054
+ align-items: center;
10055
+ justify-content: center;
10056
+ cursor: pointer;
10057
+ transition: all 0.2s ease;
10058
+ color: white;
10059
+ }
10060
+ .control-btn[data-v-cb28a3fe]:hover {
10061
+ background: rgba(255, 255, 255, 0.1);
10062
+ }
10063
+ .control-btn[data-v-cb28a3fe]:active {
10064
+ transform: scale(0.95);
10065
+ }
10066
+ .control-btn .btn-icon[data-v-cb28a3fe] {
10067
+ width: 20px;
10068
+ height: 20px;
10069
+ fill: currentColor;
10070
+ }
10071
+ .play-pause-btn .tui-icon[data-v-cb28a3fe] {
10072
+ transform: scale(1.5);
10073
+ }
10074
+ .audio-control-btn[data-v-cb28a3fe]:active {
10075
+ transform: unset;
10076
+ }
10077
+ .playback-time[data-v-cb28a3fe] {
10078
+ color: white;
10079
+ font-size: 14px;
10080
+ font-weight: 500;
10081
+ margin-left: 16px;
10082
+ }
10083
+ .right-controls[data-v-cb28a3fe] {
10084
+ display: flex;
10085
+ align-items: center;
10086
+ gap: 16px;
10087
+ }
10088
+ .fullscreen-btn .btn-icon[data-v-cb28a3fe] {
10089
+ width: 18px;
10090
+ height: 18px;
10091
+ }
10092
+ .more-btn .btn-icon[data-v-cb28a3fe] {
10093
+ width: 18px;
10094
+ height: 18px;
10095
+ }
10096
+ .player-control-enter-active[data-v-cb28a3fe],
10097
+ .player-control-leave-active[data-v-cb28a3fe] {
10098
+ transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
10099
+ will-change: transform, opacity;
10100
+ }
10101
+ .player-control-enter-from[data-v-cb28a3fe] {
10102
+ opacity: 0;
10103
+ transform: translateY(100%);
10104
+ }
10105
+ .player-control-enter-to[data-v-cb28a3fe] {
10106
+ opacity: 1;
10107
+ transform: translateY(0);
10108
+ }
10109
+ .player-control-leave-from[data-v-cb28a3fe] {
10110
+ opacity: 1;
10111
+ transform: translateY(0);
10112
+ }
10113
+ .player-control-leave-to[data-v-cb28a3fe] {
10114
+ opacity: 0;
10115
+ transform: translateY(100%);
10116
+ }.fullscreen-mode {
10117
+ width: 100vw !important;
10118
+ height: 100vh !important;
10119
+ z-index: 9999 !important;
10120
+ background-color: #000 !important;
10121
+ }
10122
+ .fullscreen-mode-portrait {
10123
+ z-index: 9999 !important;
10124
+ background-color: #000 !important;
10125
+ }
10126
+ .landscape-mode {
10127
+ transform: rotate(90deg) !important;
10128
+ transform-origin: center center !important;
10129
+ width: 100vh !important;
10130
+ height: 100vw !important;
10131
+ overflow: hidden !important;
10132
+ transition: transform 0.3s ease-in-out !important;
10133
+ }
10134
+ @media screen and (orientation: landscape) {
10135
+ .landscape-mode {
10136
+ transform: none !important;
10137
+ width: 100vw !important;
10138
+ height: 100vh !important;
10139
+ }
10140
+ }
10141
+ @media screen and (orientation: landscape) and (max-width: 768px) {
10142
+ .live-core-view.landscape-mode {
10143
+ background-color: #000;
10144
+ transform: none !important;
10145
+ }
10146
+ }
10147
+ @media screen and (orientation: portrait) and (max-width: 768px) {
10148
+ .live-core-view.landscape-mode {
10149
+ transform: rotate(90deg) !important;
10150
+ transform-origin: center center !important;
10151
+ }
10152
+ }.live-core-view-container[data-v-84f2eab3] {
9881
10153
  width: 100%;
9882
10154
  height: 100%;
9883
10155
  display: flex;
9884
10156
  justify-content: center;
9885
10157
  overflow: hidden;
9886
10158
  }
9887
- .live-core-view-container.align-center[data-v-46f33693] {
10159
+ .live-core-view-container.align-center[data-v-84f2eab3] {
9888
10160
  align-items: center;
9889
10161
  }
9890
- .live-core-view-container .live-core-placeholder[data-v-46f33693] {
10162
+ .live-core-view-container .live-core-placeholder[data-v-84f2eab3] {
9891
10163
  position: absolute;
9892
10164
  top: 0;
9893
10165
  left: 0;
@@ -9897,30 +10169,30 @@ to {
9897
10169
  align-items: center;
9898
10170
  justify-content: center;
9899
10171
  }
9900
- .live-core-view-container .live-core-placeholder .placeholder-text[data-v-46f33693] {
10172
+ .live-core-view-container .live-core-placeholder .placeholder-text[data-v-84f2eab3] {
9901
10173
  color: var(--text-color-secondary, rgba(255, 255, 255, 0.55));
9902
10174
  font-size: 14px;
9903
10175
  font-style: normal;
9904
10176
  font-weight: 400;
9905
10177
  line-height: 22px;
9906
10178
  }
9907
- .live-core-view-container .live-core-view[data-v-46f33693] {
10179
+ .live-core-view-container .live-core-view[data-v-84f2eab3] {
9908
10180
  width: 100%;
9909
10181
  height: 100%;
9910
10182
  position: absolute;
9911
10183
  }
9912
- .live-core-view-container .live-core-view .stream-content[data-v-46f33693] {
10184
+ .live-core-view-container .live-core-view .stream-content[data-v-84f2eab3] {
9913
10185
  width: 100%;
9914
10186
  height: 100%;
9915
10187
  position: absolute;
9916
10188
  top: 0;
9917
10189
  left: 0;
9918
10190
  }
9919
- .live-core-view-container .live-core-view .live-core-ui[data-v-46f33693] {
10191
+ .live-core-view-container .live-core-view .live-core-ui[data-v-84f2eab3] {
9920
10192
  width: 100%;
9921
10193
  height: 100%;
9922
10194
  position: absolute;
9923
- pointer-events: none;
10195
+ pointer-events: auto;
9924
10196
  top: 0;
9925
10197
  left: 0;
9926
10198
  }.live-list-panel[data-v-7d3dee6f] {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tuikit-atomicx-vue3",
3
- "version": "3.3.0",
3
+ "version": "3.3.2-beta.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -51,8 +51,8 @@
51
51
  "@tencentcloud/chat": "^3.5.4",
52
52
  "@tencentcloud/chat-uikit-engine": "~2.5.1",
53
53
  "@tencentcloud/tui-core": "latest",
54
- "@tencentcloud/tuiroom-engine-js": "~3.3.0",
55
- "@tencentcloud/uikit-base-component-vue3": "1.0.0",
54
+ "@tencentcloud/tuiroom-engine-js": "~3.3.2-beta.1",
55
+ "@tencentcloud/uikit-base-component-vue3": "1.0.1",
56
56
  "vue": "^3.4.21"
57
57
  },
58
58
  "dependencies": {
@@ -39,7 +39,6 @@
39
39
 
40
40
  <!-- Transfer Group Owner Dialog -->
41
41
  <TUIDialog
42
- appendTo="body"
43
42
  :visible="isShowTransferDialog"
44
43
  :title="t('ChatSetting.transfer_group_owner')"
45
44
  :custom-classes="['user-picker-dialog']"
@@ -63,7 +62,6 @@
63
62
 
64
63
  <!-- Dismiss Group Dialog -->
65
64
  <TUIDialog
66
- appendTo="body"
67
65
  :visible="isShowDismissDialog"
68
66
  :title="t('ChatSetting.dismiss_group')"
69
67
  @close="() => isShowDismissDialog = false"
@@ -73,7 +71,6 @@
73
71
 
74
72
  <!-- Quit Group Dialog -->
75
73
  <TUIDialog
76
- appendTo="body"
77
74
  :visible="isShowQuitDialog"
78
75
  :title="t('ChatSetting.quit_group')"
79
76
  @close="() => isShowQuitDialog = false"