var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/BigImageModal/BigImageModal.tsx var BigImageModal_exports = {}; __export(BigImageModal_exports, { componentPrefix: () => componentPrefix, default: () => BigImageModal_default }); module.exports = __toCommonJS(BigImageModal_exports); var import_react = __toESM(require("react")); var import_antd = require("antd"); var import_classnames = __toESM(require("classnames")); var import_func = require("@zhst/func"); var import_index = require("./index.less"); var import_navigation = __toESM(require("./components/navigation")); var DescriptionsItem = import_antd.Descriptions.Item; var componentPrefix = "zhst-image"; var initialStyle = { fontSize: "12px" }; var BigImageModal = (props) => { const { title = "-", open, visible, children, descriptionConfig = { data: [] }, tabsConfig = { data: [ { label: "对比图模式", key: "1", children: "对比图组件" }, { label: "场景图模式", key: "2", children: "场景图组件" } ] }, dataSource = [], imageData = [], relatedData = [] } = props; const showCropRef = (0, import_react.useRef)(false); const scaleRef = (0, import_react.useRef)(0); const [activeKey, setActiveKey] = (0, import_react.useState)((0, import_func.get)(tabsConfig, "data[0].key")); const [previewIndex, setPreviewIndex] = (0, import_react.useState)(0); const [isRelated, setIsRelated] = (0, import_react.useState)(false); return /* @__PURE__ */ import_react.default.createElement( import_antd.Modal, { destroyOnClose: true, open: open || visible, footer: null, className: componentPrefix, title, ...props }, descriptionConfig.data.map((descriptions) => { var _a; return /* @__PURE__ */ import_react.default.createElement( import_antd.Descriptions, { key: descriptions.title, title: /* @__PURE__ */ import_react.default.createElement("p", { style: { margin: "12px 0 0", fontSize: initialStyle.fontSize } }, descriptions.title), column: 8, style: { padding: "0 64px" } }, (_a = descriptions == null ? void 0 : descriptions.children) == null ? void 0 : _a.map((item) => /* @__PURE__ */ import_react.default.createElement( DescriptionsItem, { key: item.key, label: item.label, span: 1, contentStyle: { fontSize: initialStyle.fontSize }, labelStyle: { fontSize: initialStyle.fontSize } }, item.children )) ); }), /* @__PURE__ */ import_react.default.createElement( import_antd.Tabs, { defaultActiveKey: activeKey, centered: true, tabBarStyle: { fontSize: "18px" }, items: tabsConfig.data, ...tabsConfig } ), /* @__PURE__ */ import_react.default.createElement( "div", { className: (0, import_classnames.default)(`${componentPrefix}-view-container`), style: activeKey === "TRACK" ? { height: "718px", marginBottom: "0px" } : {} }, activeKey !== "TRACK" && /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement( import_navigation.default, { className: (0, import_classnames.default)( `${componentPrefix}-view-container__nav`, previewIndex <= 0 && `${componentPrefix}-view-container__nav--disabled`, `${componentPrefix}-view-container__nav--left` ), show: isRelated ? imageData.length > 1 : dataSource.length > 1, disabled: previewIndex <= 0, prev: true, onClick: () => { setPreviewIndex((pre) => pre - 1); } } ), /* @__PURE__ */ import_react.default.createElement( import_navigation.default, { className: (0, import_classnames.default)( `${componentPrefix}-view-container__nav`, (previewIndex >= imageData.length - 1 || previewIndex >= dataSource.length - 1) && `${componentPrefix}-view-container__nav--disabled`, `${componentPrefix}-view-container__nav--right` ), show: isRelated ? imageData.length > 1 : dataSource.length > 1, disabled: previewIndex >= imageData.length - 1 || previewIndex >= dataSource.length - 1, next: true, onClick: async (e) => { setPreviewIndex((pre) => pre + 1); } } )) ) ); }; var BigImageModal_default = BigImageModal; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { componentPrefix });