"use strict";
const common_vendor = require("../../../../common/vendor.js");
require("../../../adapter-vue.js");
const TUIKit_components_TUIChat_config = require("../config.js");
const TUIKit_utils_enableSampleTaskStatus = require("../../../utils/enableSampleTaskStatus.js");
const TUIKit_components_TUIChat_offlinePushInfoManager_index = require("../offlinePushInfoManager/index.js");
const TUIKit_components_TUIChat_offlinePushInfoManager_const = require("../offlinePushInfoManager/const.js");
if (!Math) {
  (EmojiPickerDialog + ImageUpload + VideoUpload + Words + CustomMessage + ToolbarItemContainer + UserSelector)();
}
const ImageUpload = () => "./image-upload/index.js";
const VideoUpload = () => "./video-upload/index.js";
const Words = () => "./words/index.js";
const ToolbarItemContainer = () => "./toolbar-item-container/index.js";
const EmojiPickerDialog = () => "./emoji-picker/emoji-picker-dialog.js";
const UserSelector = () => "./user-selector/index.js";
const CustomMessage = () => "./evaluate/CustomMessage.js";
const __default__ = {
  options: {
    styleIsolation: "shared"
  }
};
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
  ...__default__,
  __name: "index",
  props: {
    displayType: {}
  },
  setup(__props) {
    const props = __props;
    const currentConversation = common_vendor.ref();
    const isGroup = common_vendor.ref(false);
    const selectorShowType = common_vendor.ref("");
    const userSelectorRef = common_vendor.ref();
    const currentUserSelectorExtension = common_vendor.ref();
    const currentExtensionList = common_vendor.ref([]);
    const isSwiperIndicatorDotsEnable = common_vendor.ref(false);
    const featureConfig = TUIKit_components_TUIChat_config.ChatConfig.getFeatureConfig();
    const neededCountFirstPage = common_vendor.ref(8);
    const slicePos = common_vendor.ref(0);
    const computeToolbarPaging = () => {
      if (featureConfig.InputImage && featureConfig.InputVideo) {
        neededCountFirstPage.value -= 4;
      } else if (featureConfig.InputImage || featureConfig.InputVideo) {
        neededCountFirstPage.value -= 2;
      }
      slicePos.value = neededCountFirstPage.value;
      neededCountFirstPage.value -= currentExtensionList.value.length;
      if (neededCountFirstPage.value === 1) {
        isSwiperIndicatorDotsEnable.value = featureConfig.InputEvaluation && featureConfig.InputQuickReplies;
      } else if (neededCountFirstPage.value < 1) {
        isSwiperIndicatorDotsEnable.value = featureConfig.InputEvaluation || featureConfig.InputQuickReplies;
      }
    };
    common_vendor.onMounted(() => {
      common_vendor.Jt.watch(common_vendor.o.CUSTOM, {
        activeConversation: onActiveConversationUpdate
      });
    });
    common_vendor.onUnmounted(() => {
      common_vendor.Jt.unwatch(common_vendor.o.CUSTOM, {
        activeConversation: onActiveConversationUpdate
      });
    });
    const onActiveConversationUpdate = (conversationID) => {
      var _a;
      if (!conversationID) {
        return;
      }
      if (conversationID !== ((_a = currentConversation.value) == null ? void 0 : _a.conversationID)) {
        getExtensionList();
        computeToolbarPaging();
        currentConversation.value = common_vendor.Jt.getData(common_vendor.o.CONV, "currentConversation");
        isGroup.value = conversationID.startsWith(common_vendor.qt.TYPES.CONV_GROUP);
      }
    };
    const getExtensionList = () => {
      const chatType = TUIKit_components_TUIChat_config.ChatConfig.getChatType();
      const params = { chatType };
      if (chatType === common_vendor.E.TUIChat.TYPE.CUSTOMER_SERVICE) {
        params.filterVoice = true;
        params.filterVideo = true;
        TUIKit_utils_enableSampleTaskStatus.enableSampleTaskStatus("customerService");
      }
      currentExtensionList.value = [
        ...common_vendor.R.getExtensionList(common_vendor.E.TUIChat.EXTENSION.INPUT_MORE.EXT_ID, params)
      ].filter((extension) => {
        var _a;
        if (((_a = extension == null ? void 0 : extension.data) == null ? void 0 : _a.name) === "search") {
          return featureConfig.MessageSearch;
        }
        return true;
      });
      reportExtension(currentExtensionList.value);
    };
    function reportExtension(extensionList) {
      extensionList.forEach((extension) => {
        var _a;
        const _name = (_a = extension == null ? void 0 : extension.data) == null ? void 0 : _a.name;
        if (_name === "voiceCall") {
          common_vendor.ss.reportFeature(203, "voice-call");
        } else if (_name === "videoCall") {
          common_vendor.ss.reportFeature(203, "video-call");
        } else if (_name === "quickRoom") {
          common_vendor.ss.reportFeature(204);
        }
      });
    }
    const onExtensionClick = (extension) => {
      var _a, _b, _c;
      const extensionModel = currentExtensionList.value.find(
        (targetExtension) => {
          var _a2, _b2;
          return ((_a2 = targetExtension == null ? void 0 : targetExtension.data) == null ? void 0 : _a2.name) === ((_b2 = extension == null ? void 0 : extension.data) == null ? void 0 : _b2.name);
        }
      );
      switch ((_a = extensionModel == null ? void 0 : extensionModel.data) == null ? void 0 : _a.name) {
        case "voiceCall":
          onCallExtensionClicked(extensionModel, 1);
          break;
        case "videoCall":
          onCallExtensionClicked(extensionModel, 2);
          break;
        case "search":
          (_c = (_b = extensionModel == null ? void 0 : extensionModel.listener) == null ? void 0 : _b.onClicked) == null ? void 0 : _c.call(_b);
          break;
      }
    };
    const onCallExtensionClicked = (extension, callType) => {
      var _a, _b, _c, _d, _e, _f, _g;
      selectorShowType.value = (_a = extension == null ? void 0 : extension.data) == null ? void 0 : _a.name;
      if (((_b = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _b.type) === common_vendor.qt.TYPES.CONV_C2C) {
        (_f = (_c = extension == null ? void 0 : extension.listener) == null ? void 0 : _c.onClicked) == null ? void 0 : _f.call(_c, {
          userIDList: [(_e = (_d = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _d.conversationID) == null ? void 0 : _e.slice(3)],
          type: callType,
          callParams: {
            offlinePushInfo: TUIKit_components_TUIChat_offlinePushInfoManager_index.OfflinePushInfoManager.getOfflinePushInfo(TUIKit_components_TUIChat_offlinePushInfoManager_const.PUSH_SCENE.CALL)
          }
        });
      } else if (isGroup.value) {
        currentUserSelectorExtension.value = extension;
        ((_g = userSelectorRef == null ? void 0 : userSelectorRef.value) == null ? void 0 : _g.toggleShow) && userSelectorRef.value.toggleShow(true);
      }
    };
    const genExtensionIcon = (extension) => {
      return extension == null ? void 0 : extension.icon;
    };
    const genExtensionText = (extension) => {
      return extension == null ? void 0 : extension.text;
    };
    const onUserSelectorSubmit = (selectedInfo) => {
      var _a, _b, _c;
      (_c = (_b = (_a = currentUserSelectorExtension.value) == null ? void 0 : _a.listener) == null ? void 0 : _b.onClicked) == null ? void 0 : _c.call(_b, {
        ...selectedInfo,
        callParams: {
          offlinePushInfo: TUIKit_components_TUIChat_offlinePushInfoManager_index.OfflinePushInfoManager.getOfflinePushInfo(TUIKit_components_TUIChat_offlinePushInfoManager_const.PUSH_SCENE.CALL)
        }
      });
      currentUserSelectorExtension.value = null;
    };
    const onUserSelectorCancel = () => {
      currentUserSelectorExtension.value = null;
    };
    const handleSwiperDotShow = (showStatus) => {
      isSwiperIndicatorDotsEnable.value = neededCountFirstPage.value <= 1 && !showStatus;
    };
    return (_ctx, _cache) => {
      return common_vendor.e({
        a: props.displayType === "emojiPicker"
      }, props.displayType === "emojiPicker" ? {} : common_vendor.e({
        b: common_vendor.unref(featureConfig).InputImage
      }, common_vendor.unref(featureConfig).InputImage ? {
        c: common_vendor.p({
          imageSourceType: "camera"
        })
      } : {}, {
        d: common_vendor.unref(featureConfig).InputImage
      }, common_vendor.unref(featureConfig).InputImage ? {
        e: common_vendor.p({
          imageSourceType: "album"
        })
      } : {}, {
        f: common_vendor.unref(featureConfig).InputVideo
      }, common_vendor.unref(featureConfig).InputVideo ? {
        g: common_vendor.p({
          videoSourceType: "album"
        })
      } : {}, {
        h: common_vendor.unref(featureConfig).InputVideo
      }, common_vendor.unref(featureConfig).InputVideo ? {
        i: common_vendor.p({
          videoSourceType: "camera"
        })
      } : {}, {
        j: common_vendor.unref(neededCountFirstPage) === 1
      }, common_vendor.unref(neededCountFirstPage) === 1 ? common_vendor.e({
        k: common_vendor.unref(featureConfig).InputQuickReplies
      }, common_vendor.unref(featureConfig).InputQuickReplies ? {
        l: common_vendor.o$1(handleSwiperDotShow)
      } : {}, {
        m: common_vendor.unref(featureConfig).InputCustomMessage
      }, common_vendor.unref(featureConfig).InputCustomMessage ? {
        n: common_vendor.o$1(handleSwiperDotShow)
      } : {}) : {}, {
        o: common_vendor.unref(neededCountFirstPage) > 1
      }, common_vendor.unref(neededCountFirstPage) > 1 ? common_vendor.e({
        p: common_vendor.unref(featureConfig).InputQuickReplies
      }, common_vendor.unref(featureConfig).InputQuickReplies ? {
        q: common_vendor.o$1(handleSwiperDotShow)
      } : {}, {
        r: common_vendor.unref(featureConfig).InputCustomMessage
      }, common_vendor.unref(featureConfig).InputCustomMessage ? {
        s: common_vendor.o$1(handleSwiperDotShow)
      } : {}) : {}, {
        t: common_vendor.unref(neededCountFirstPage) <= 1
      }, common_vendor.unref(neededCountFirstPage) <= 1 ? common_vendor.e({
        v: common_vendor.f(common_vendor.unref(currentExtensionList).slice(common_vendor.unref(slicePos)), (extension, index, i0) => {
          return common_vendor.e({
            a: extension
          }, extension ? {
            b: common_vendor.o$1(($event) => onExtensionClick(extension), index),
            c: "76f68da4-9-" + i0,
            d: common_vendor.p({
              iconFile: genExtensionIcon(extension),
              title: genExtensionText(extension),
              iconWidth: "25px",
              iconHeight: "25px",
              needDialog: false
            })
          } : {}, {
            e: index
          });
        }),
        w: common_vendor.unref(neededCountFirstPage) === 1
      }, common_vendor.unref(neededCountFirstPage) === 1 ? common_vendor.e({
        x: common_vendor.unref(featureConfig).InputQuickReplies
      }, common_vendor.unref(featureConfig).InputQuickReplies ? {
        y: common_vendor.o$1(handleSwiperDotShow)
      } : {}) : common_vendor.e({
        z: common_vendor.unref(featureConfig).InputQuickReplies
      }, common_vendor.unref(featureConfig).InputQuickReplies ? {
        A: common_vendor.o$1(handleSwiperDotShow)
      } : {}, {
        B: common_vendor.unref(featureConfig).InputCustomMessage
      }, common_vendor.unref(featureConfig).InputCustomMessage ? {
        C: common_vendor.o$1(handleSwiperDotShow)
      } : {})) : {}, {
        D: common_vendor.unref(isSwiperIndicatorDotsEnable)
      }), {
        E: common_vendor.sr(userSelectorRef, "76f68da4-13", {
          "k": "userSelectorRef"
        }),
        F: common_vendor.o$1(onUserSelectorSubmit),
        G: common_vendor.o$1(onUserSelectorCancel),
        H: common_vendor.p({
          type: common_vendor.unref(selectorShowType),
          currentConversation: common_vendor.unref(currentConversation),
          isGroup: common_vendor.unref(isGroup)
        })
      });
    };
  }
});
wx.createComponent(_sfc_main);
//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/index.js.map
