tuikit-atomicx-vue3 3.3.1 → 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 (44) 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/LiveCoreView/PlayerControl/AudioControl.js +251 -0
  8. package/dist/components/LiveCoreView/PlayerControl/AudioControl.vue.d.ts +38 -0
  9. package/dist/components/LiveCoreView/PlayerControl/PlayerControl.js +271 -0
  10. package/dist/components/LiveCoreView/PlayerControl/PlayerControl.vue.d.ts +2 -0
  11. package/dist/components/LiveCoreView/PlayerControl/PlayerControlState.d.ts +27 -0
  12. package/dist/components/LiveCoreView/PlayerControl/PlayerControlState.js +407 -0
  13. package/dist/components/LiveCoreView/PlayerControl/index.d.ts +3 -0
  14. package/dist/components/LiveCoreView/PlayerControl/index.js +8 -0
  15. package/dist/components/LiveCoreView/PlayerControl/utils/deviceDetection.d.ts +85 -0
  16. package/dist/components/LiveCoreView/PlayerControl/utils/deviceDetection.js +129 -0
  17. package/dist/components/LiveCoreView/PlayerControl/utils/domHelpers.d.ts +75 -0
  18. package/dist/components/LiveCoreView/PlayerControl/utils/domHelpers.js +120 -0
  19. package/dist/components/LiveCoreView/PlayerControl/utils/fullscreenManager.d.ts +120 -0
  20. package/dist/components/LiveCoreView/PlayerControl/utils/fullscreenManager.js +311 -0
  21. package/dist/components/LiveCoreView/i18n/en-US/index.d.ts +9 -0
  22. package/dist/components/LiveCoreView/i18n/en-US/index.js +10 -1
  23. package/dist/components/LiveCoreView/i18n/zh-CN/index.d.ts +9 -0
  24. package/dist/components/LiveCoreView/i18n/zh-CN/index.js +10 -1
  25. package/dist/components/LiveCoreView/index.js +23 -3
  26. package/dist/styles/index.css +302 -30
  27. package/package.json +2 -2
  28. package/src/components/ChatSetting/GroupChatSetting/GroupActions/GroupActions.vue +0 -3
  29. package/src/components/ChatSetting/GroupChatSetting/GroupChatSetting.vue +0 -1
  30. package/src/components/ChatSetting/GroupChatSetting/GroupManagement/GroupManagement.vue +0 -1
  31. package/src/components/ContactList/ContactInfo/GroupInfo/GroupInfo.vue +0 -1
  32. package/src/components/ConversationList/ConversationCreate/ConversationCreate.vue +0 -1
  33. package/src/components/ConversationList/ConversationSearch/ConversationSearch.vue +0 -1
  34. package/src/components/LiveCoreView/PlayerControl/AudioControl.vue +456 -0
  35. package/src/components/LiveCoreView/PlayerControl/PlayerControl.module.scss +52 -0
  36. package/src/components/LiveCoreView/PlayerControl/PlayerControl.vue +429 -0
  37. package/src/components/LiveCoreView/PlayerControl/PlayerControlState.ts +599 -0
  38. package/src/components/LiveCoreView/PlayerControl/index.ts +3 -0
  39. package/src/components/LiveCoreView/PlayerControl/utils/deviceDetection.ts +234 -0
  40. package/src/components/LiveCoreView/PlayerControl/utils/domHelpers.ts +145 -0
  41. package/src/components/LiveCoreView/PlayerControl/utils/fullscreenManager.ts +417 -0
  42. package/src/components/LiveCoreView/i18n/en-US/index.ts +9 -0
  43. package/src/components/LiveCoreView/i18n/zh-CN/index.ts +9 -0
  44. package/src/components/LiveCoreView/index.vue +13 -2
@@ -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-466946d8"]]);
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
@@ -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-466946d8] {
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-466946d8] {
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-466946d8] {
10162
+ .live-core-view-container .live-core-placeholder[data-v-84f2eab3] {
9891
10163
  position: absolute;
9892
10164
  top: 0;
9893
10165
  left: 0;
@@ -9897,26 +10169,26 @@ 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-466946d8] {
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-466946d8] {
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-466946d8] {
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-466946d8] {
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tuikit-atomicx-vue3",
3
- "version": "3.3.1",
3
+ "version": "3.3.2-beta.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -51,7 +51,7 @@
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.1",
54
+ "@tencentcloud/tuiroom-engine-js": "~3.3.2-beta.1",
55
55
  "@tencentcloud/uikit-base-component-vue3": "1.0.1",
56
56
  "vue": "^3.4.21"
57
57
  },
@@ -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"
@@ -260,7 +260,6 @@ const userPickerDialogTitle = computed(() => {
260
260
  <PersonalSettings />
261
261
  <GroupActions />
262
262
  <TUIDialog
263
- appendTo="body"
264
263
  :visible="isShowUserPickerDialog"
265
264
  :title="userPickerDialogTitle"
266
265
  :custom-classes="['user-picker-dialog']"
@@ -63,7 +63,6 @@
63
63
 
64
64
  <!-- User Picker Dialog -->
65
65
  <TUIDialog
66
- appendTo="body"
67
66
  :custom-classes="['user-picker-dialog']"
68
67
  :visible="isShowUserPickerDialog"
69
68
  :title="userPickerTitle"
@@ -54,7 +54,6 @@
54
54
  {{ t('TUIContact.Enter group chat') }}
55
55
  </TUIButton>
56
56
  <TUIDialog
57
- appendTo="body"
58
57
  :visible="visible"
59
58
  :title="canDismissGroup ? t('TUIContact.Confirm dismiss group'): t('TUIContact.Confirm quit group')"
60
59
  :confirm-text="t('TUIContact.Submit')"
@@ -5,7 +5,6 @@
5
5
  <ConversationCreateButton @click="openCreateConversation" />
6
6
 
7
7
  <TUIDialog
8
- appendTo="body"
9
8
  :visible="showCreateConversation"
10
9
  :title="dialogTitles"
11
10
  :confirm-text="dialogConfirmText"
@@ -37,7 +37,6 @@
37
37
  </div>
38
38
 
39
39
  <TUIDialog
40
- appendTo="body"
41
40
  :customClasses="[$style.conversationSearch__advanced]"
42
41
  :visible="isShowStandard"
43
42
  :show-close="false"