// Module ID: 10266 // Function ID: 10267 // Name: AttachmentPreview // Dependencies: [19, 17, 21, 4605, 576, 10267, 10268, 10269, 10270, 10271, 10272, 10273, 10274, 10275, 10276, 10277, 10278, 10279, 10280, 5184, 4601, 1115, 5637, 1178, 10202, 8372, 2] // Exports: default // Module 10266 (AttachmentPreview) import nativeDefault from "native" /* 576 */; import PlatformUtils from "PlatformUtils" /* 1115 */; import native from "native" /* 1178 */; import Text_Text from "Text/Text" /* 4601 */; import FileUtils from "FileUtils" /* 5184 */; import FastImageDefault from "FastImage" /* 5637 */; import _modDef10267 from "module_10267" /* 10267 */; import _modDef10268 from "module_10268" /* 10268 */; import _modDef10269 from "module_10269" /* 10269 */; import _modDef10270 from "module_10270" /* 10270 */; import _modDef10271 from "module_10271" /* 10271 */; import _modDef10272 from "module_10272" /* 10272 */; import _modDef10273 from "module_10273" /* 10273 */; import _modDef10274 from "module_10274" /* 10274 */; import _modDef10275 from "module_10275" /* 10275 */; import _modDef10276 from "module_10276" /* 10276 */; import _modDef10277 from "module_10277" /* 10277 */; import _modDef10278 from "module_10278" /* 10278 */; import _modDef10279 from "module_10279" /* 10279 */; import _modDef10280 from "module_10280" /* 10280 */; import noop from "module_19" /* 19 */; require = fn; class AttachmentIcon { constructor(arg0) { fileName = global.fileName; items = []; items[0] = fileName; tmp = closure_8(); obj = { style: tmp.attachmentFileIcon, source: closure_3.useMemo(() => { const obj = FileUtils; let str = fileName; if (fileName == null) { str = ""; } let tmp2 = obj4[obj.classifyFileName(obj, str)]; if (tmp2 == null) { tmp2 = _modDef10278; } return tmp2; }, items) }; return jsx(Image, obj); } } function FilenameText(fileName) { fileName = fileName.fileName; const tmp = closure_8(); let str = fileName; if (fileName == null) { str = ""; } const match = /(?:\.([^.]+))?$/.exec(str); let tmp5 = null != fileName; if (tmp5) { tmp5 = "" !== fileName; } if (tmp5) { const obj2 = { style: tmp.attachmentFileName, ellipsizeMode: "middle", lineClamp: 1, variant: "text-xs/medium", color: "mobile-text-heading-primary", children: fileName }; tmp5 = timestampProducer(Text_Text.Text, obj2); } const items = [tmp5, ]; const obj3 = { style: tmp.attachmentFileName, lineClamp: 1, variant: "text-xs/medium", color: "text-muted", children: null }; let str3 = "UNKNOWN"; if (null != match) { str3 = "UNKNOWN"; if (null != match[1]) { str3 = match[1].toUpperCase(); } } obj4 = { children: null }; obj3.children = str3; items[1] = timestampProducer(Text_Text.Text, obj3); obj4.children = items; return React5(hasOwnProperty, obj4); } function DefaultAttachmentPreview(fileName) { fileName = fileName.fileName; ({ maxFileWidth, borderRadius } = fileName); const obj = { style: null, children: null }; const items = [closure_8().fileInfoAttachmentPreviewFile, { maxWidth: maxFileWidth, borderRadius }]; obj.style = items; const items1 = [timestampProducer(AttachmentIcon, { fileName }), timestampProducer(FilenameText, { fileName })]; obj.children = items1; return React5(hasOwnProperty, obj); } get_ActivityIndicator = fn(17); ({ Image: closure_4, View: hasOwnProperty } = get_ActivityIndicator); const jsxProd = fn(21); ({ jsx: metroRequire, jsxs: closure_7 } = jsxProd); const createStyles = fn(4605); let obj = { fileInfoAttachmentPreviewFile: { flexDirection: "row", alignItems: "center", overflow: "hidden", borderRadius: nativeDefault.radii.sm, height: 75, padding: 12, flex: 1, gap: nativeDefault.space.PX_8 }, attachmentFileIcon: { height: 32, width: 24 }, attachmentFileName: { paddingRight: 4, paddingLeft: 4, maxWidth: 136 }, videoIcon: { position: "absolute", top: 0, left: 0, right: 0, bottom: 0, alignItems: "center", justifyContent: "center" } }; const React6 = createStyles.createStyles(obj); let obj4 = { archive: _modDef10267, acrobat: _modDef10268, ae: _modDef10269, ai: _modDef10270, audio: _modDef10271, code: _modDef10272, document: _modDef10273, image: _modDef10274, photoshop: _modDef10275, sketch: _modDef10276, spreadsheet: _modDef10277, unknown: _modDef10278, video: _modDef10279, webcode: _modDef10280 }; let closure_13 = noop.memo((borderRadius) => { ({ uri, width, height, style, fileName } = borderRadius); const size = { uri, width, height }; const size1 = { width, height, borderRadius: borderRadius.borderRadius }; let isMatch = null != fileName; if (isMatch) { isMatch = "" !== fileName; } if (isMatch) { isMatch = /\.gif$/i.test(fileName); const obj3 = /\.gif$/i; } if (isMatch) { let isIOSResult = PlatformUtils.isIOS(); if (isIOSResult) { isIOSResult = uri.startsWith("ph://"); } if (!isIOSResult) { let isAndroidResult = tmp2(1115).isAndroid(); if (isAndroidResult) { isAndroidResult = uri.startsWith("content://"); } isIOSResult = isAndroidResult; const tmp2Result = tmp2(1115); } isMatch = isIOSResult; tmp2 = require; } const obj = { style: null, children: null }; const items = [size1, style, { overflow: "hidden" }]; obj.style = items; if (isMatch) { const obj2 = { style: null, source: null, resizeMode: "cover", enableAnimation: true }; const items1 = [size1, style]; obj2.style = items1; obj2.source = size; obj.children = tmp6(FastImageDefault, obj2); let tmp10 = obj; } else { const obj5 = { style: null, source: null, localImageSource: null }; const items2 = [size1, style]; obj5.style = items2; obj5.source = size; obj5.localImageSource = size; obj.children = tmp6(native.ThumbnailImage, obj5); tmp10 = obj; } return timestampProducer(hasOwnProperty, tmp10); }); let size = fn(2); const result = size.fileFinishedImporting("modules/media/native/AttachmentPreview.tsx"); export default function AttachmentPreview(height) { ({ uri, isVideo, width } = height); if (width === undefined) { width = 75; } let num = height.height; if (num === undefined) { num = 75; } ({ fileName, borderRadius, maxFileWidth } = height); if (borderRadius === undefined) { borderRadius = nativeDefault.radii.sm; } let flag = height.showPlayOnVideoPreview; if (flag === undefined) { flag = false; } let defaultPreview = height.defaultPreview; if (defaultPreview === undefined) { const obj = { fileName, maxFileWidth, borderRadius }; defaultPreview = timestampProducer(DefaultAttachmentPreview, obj); } const style = height.style; let videoIcon = closure_8(); if (height.isImage) { const size = { uri, width, height: num, borderRadius, style, fileName }; let tmp9 = timestampProducer(closure_13, size); } else { if (!isVideo) { if (obj3.isIOS()) { let tmp6 = tmp8; let CirclePlayIcon = tmp7; } tmp9 = defaultPreview; if (isVideo) { tmp9 = defaultPreview; if (tmp7Result.isIOS()) { obj4 = { style, children: null }; const obj5 = { style: null, source: null, muted: true, paused: true, resizeMode: "cover", preventsDisplaySleepDuringVideoPlayback: false }; const size1 = { height: num, width }; obj5.style = size1; const obj6 = { uri }; obj5.source = obj6; obj4.children = timestampProducer(tmp7(8372).VideoComponent, obj5); tmp9 = timestampProducer(hasOwnProperty, obj4); } tmp7Result = tmp7(1115); } obj3 = PlatformUtils; tmp8 = dependencyMap; } else { tmp6 = dependencyMap; CirclePlayIcon = require; } if (flag) { const obj7 = { style, children: null }; const size2 = { uri, width, height: num, borderRadius, style, fileName }; const items = [timestampProducer(closure_13, size2), ]; const obj8 = { style: null, children: null }; videoIcon = videoIcon.videoIcon; obj8.style = videoIcon; CirclePlayIcon = CirclePlayIcon(10202).CirclePlayIcon; tmp6 = timestampProducer(CirclePlayIcon, { size: "md", color: "white", secondaryColor: "black" }); obj8.children = tmp6; items[1] = timestampProducer(hasOwnProperty, obj8); obj7.children = items; let tmp14 = React5(hasOwnProperty, obj7); } else { const size3 = { uri, width, height: num, borderRadius, style, fileName }; tmp14 = timestampProducer(closure_13, size3); } } return tmp9; }; export { AttachmentIcon };