@adminide-stack/yantra-mobile 12.0.121 → 12.0.123

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 (175) hide show
  1. package/lib/features/apps/appArt.js +1 -1
  2. package/lib/features/apps/appArt.js.map +1 -1
  3. package/lib/features/apps/mobileAppCatalog.js +15 -11
  4. package/lib/features/apps/mobileAppCatalog.js.map +1 -1
  5. package/lib/features/canvas/CanvasAgentChatPane.js +82 -20
  6. package/lib/features/canvas/CanvasAgentChatPane.js.map +1 -1
  7. package/lib/features/canvas/CanvasBoardsGrid.js +291 -100
  8. package/lib/features/canvas/CanvasBoardsGrid.js.map +1 -1
  9. package/lib/features/canvas/CanvasEditToolsPanel.js +105 -12
  10. package/lib/features/canvas/CanvasEditToolsPanel.js.map +1 -1
  11. package/lib/features/canvas/CanvasExperience.js +266 -68
  12. package/lib/features/canvas/CanvasExperience.js.map +1 -1
  13. package/lib/features/canvas/CanvasGeneratePanel.js +204 -66
  14. package/lib/features/canvas/CanvasGeneratePanel.js.map +1 -1
  15. package/lib/features/canvas/CanvasLibrarySheet.js +31 -13
  16. package/lib/features/canvas/CanvasLibrarySheet.js.map +1 -1
  17. package/lib/features/canvas/CanvasModelPicker.js +176 -0
  18. package/lib/features/canvas/CanvasModelPicker.js.map +1 -0
  19. package/lib/features/canvas/CanvasTasksPanel.js +325 -29
  20. package/lib/features/canvas/CanvasTasksPanel.js.map +1 -1
  21. package/lib/features/canvas/CanvasTemplatesPanel.js +5 -4
  22. package/lib/features/canvas/CanvasTemplatesPanel.js.map +1 -1
  23. package/lib/features/canvas/CanvasToolDock.js +137 -61
  24. package/lib/features/canvas/CanvasToolDock.js.map +1 -1
  25. package/lib/features/canvas/FrameExtractorExperience.js +33 -2
  26. package/lib/features/canvas/FrameExtractorExperience.js.map +1 -1
  27. package/lib/features/canvas/GeneratorReferenceSlots.js +197 -0
  28. package/lib/features/canvas/GeneratorReferenceSlots.js.map +1 -0
  29. package/lib/features/canvas/NativeCanvasViewer.js +89 -11
  30. package/lib/features/canvas/NativeCanvasViewer.js.map +1 -1
  31. package/lib/features/canvas/PromoContextFields.js +55 -2
  32. package/lib/features/canvas/PromoContextFields.js.map +1 -1
  33. package/lib/features/canvas/SetStudioExperience.js +323 -13
  34. package/lib/features/canvas/SetStudioExperience.js.map +1 -1
  35. package/lib/features/canvas/VideoEditExperience.js +1 -53
  36. package/lib/features/canvas/VideoEditExperience.js.map +1 -1
  37. package/lib/features/canvas/VideoEditorExperience.js +697 -506
  38. package/lib/features/canvas/VideoEditorExperience.js.map +1 -1
  39. package/lib/features/canvas/VideoGeneratorExperience.js +22 -5
  40. package/lib/features/canvas/VideoGeneratorExperience.js.map +1 -1
  41. package/lib/features/canvas/canvasAgentChat.js +125 -11
  42. package/lib/features/canvas/canvasAgentChat.js.map +1 -1
  43. package/lib/features/canvas/canvasCore.js +117 -12
  44. package/lib/features/canvas/canvasCore.js.map +1 -1
  45. package/lib/features/canvas/canvasEditOps.js +148 -111
  46. package/lib/features/canvas/canvasEditOps.js.map +1 -1
  47. package/lib/features/canvas/canvasTaskSync.js +235 -0
  48. package/lib/features/canvas/canvasTaskSync.js.map +1 -0
  49. package/lib/features/canvas/canvasTasks.js +98 -11
  50. package/lib/features/canvas/canvasTasks.js.map +1 -1
  51. package/lib/features/canvas/createTiles.js +247 -0
  52. package/lib/features/canvas/createTiles.js.map +1 -0
  53. package/lib/features/canvas/deepLinks.js +83 -0
  54. package/lib/features/canvas/deepLinks.js.map +1 -0
  55. package/lib/features/canvas/frameExtract.js +13 -1
  56. package/lib/features/canvas/frameExtract.js.map +1 -1
  57. package/lib/features/canvas/generationModels.js +36 -8
  58. package/lib/features/canvas/generationModels.js.map +1 -1
  59. package/lib/features/canvas/generatorCommands.js +106 -0
  60. package/lib/features/canvas/generatorCommands.js.map +1 -0
  61. package/lib/features/canvas/generatorReferences.js +82 -0
  62. package/lib/features/canvas/generatorReferences.js.map +1 -0
  63. package/lib/features/canvas/homeWork.js +74 -0
  64. package/lib/features/canvas/homeWork.js.map +1 -0
  65. package/lib/features/canvas/linksRpc.js +130 -0
  66. package/lib/features/canvas/linksRpc.js.map +1 -0
  67. package/lib/features/canvas/mediaRecheck.js +176 -0
  68. package/lib/features/canvas/mediaRecheck.js.map +1 -0
  69. package/lib/features/canvas/mediaUrls.js +258 -0
  70. package/lib/features/canvas/mediaUrls.js.map +1 -0
  71. package/lib/features/canvas/nativeViewerRegistry.js.map +1 -1
  72. package/lib/features/canvas/promoProjectImport.js +80 -13
  73. package/lib/features/canvas/promoProjectImport.js.map +1 -1
  74. package/lib/features/canvas/promoVideo.js +106 -15
  75. package/lib/features/canvas/promoVideo.js.map +1 -1
  76. package/lib/features/canvas/reframe.js +228 -0
  77. package/lib/features/canvas/reframe.js.map +1 -0
  78. package/lib/features/canvas/serverTasks.js +697 -0
  79. package/lib/features/canvas/serverTasks.js.map +1 -0
  80. package/lib/features/canvas/set/SetViewportWebView.js +207 -28
  81. package/lib/features/canvas/set/SetViewportWebView.js.map +1 -1
  82. package/lib/features/canvas/set/agent/prompt.js +66 -0
  83. package/lib/features/canvas/set/agent/prompt.js.map +1 -0
  84. package/lib/features/canvas/set/agent/setOps.js +203 -0
  85. package/lib/features/canvas/set/agent/setOps.js.map +1 -0
  86. package/lib/features/canvas/set/agent/setTurn.js +128 -0
  87. package/lib/features/canvas/set/agent/setTurn.js.map +1 -0
  88. package/lib/features/canvas/set/agent/snapshot.js +43 -0
  89. package/lib/features/canvas/set/agent/snapshot.js.map +1 -0
  90. package/lib/features/canvas/set/agent/tools.js +580 -0
  91. package/lib/features/canvas/set/agent/tools.js.map +1 -0
  92. package/lib/features/canvas/set/setProject.js +43 -4
  93. package/lib/features/canvas/set/setProject.js.map +1 -1
  94. package/lib/features/canvas/set/supplyLibrary.js +397 -0
  95. package/lib/features/canvas/set/supplyLibrary.js.map +1 -0
  96. package/lib/features/canvas/storageLibrary.js +113 -52
  97. package/lib/features/canvas/storageLibrary.js.map +1 -1
  98. package/lib/features/canvas/studioCatalog.js +15 -2
  99. package/lib/features/canvas/studioCatalog.js.map +1 -1
  100. package/lib/features/canvas/studioLooks.js +1 -8
  101. package/lib/features/canvas/studioLooks.js.map +1 -1
  102. package/lib/features/canvas/useBoardMediaRefresh.js +66 -0
  103. package/lib/features/canvas/useBoardMediaRefresh.js.map +1 -0
  104. package/lib/features/canvas/useMediaSource.js +84 -0
  105. package/lib/features/canvas/useMediaSource.js.map +1 -0
  106. package/lib/features/canvas/video3d.js +11 -10
  107. package/lib/features/canvas/video3d.js.map +1 -1
  108. package/lib/features/canvas/videoEditor/BlurBoxOverlay.js +46 -0
  109. package/lib/features/canvas/videoEditor/BlurBoxOverlay.js.map +1 -0
  110. package/lib/features/canvas/videoEditor/ExportTaskCard.js +134 -0
  111. package/lib/features/canvas/videoEditor/ExportTaskCard.js.map +1 -0
  112. package/lib/features/canvas/videoEditor/agent/AgentCutPane.js +45 -7
  113. package/lib/features/canvas/videoEditor/agent/AgentCutPane.js.map +1 -1
  114. package/lib/features/canvas/videoEditor/agent/agentLoop.js +4 -2
  115. package/lib/features/canvas/videoEditor/agent/agentLoop.js.map +1 -1
  116. package/lib/features/canvas/videoEditor/agent/attachments.js +304 -0
  117. package/lib/features/canvas/videoEditor/agent/attachments.js.map +1 -0
  118. package/lib/features/canvas/videoEditor/agent/brainClient.js +3 -2
  119. package/lib/features/canvas/videoEditor/agent/brainClient.js.map +1 -1
  120. package/lib/features/canvas/videoEditor/agent/cutTools.js +207 -7
  121. package/lib/features/canvas/videoEditor/agent/cutTools.js.map +1 -1
  122. package/lib/features/canvas/videoEditor/blurBox.js +34 -0
  123. package/lib/features/canvas/videoEditor/blurBox.js.map +1 -0
  124. package/lib/features/canvas/videoEditor/compileTimeline.js +668 -0
  125. package/lib/features/canvas/videoEditor/compileTimeline.js.map +1 -0
  126. package/lib/features/canvas/videoEditor/editorModel.js +56 -22
  127. package/lib/features/canvas/videoEditor/editorModel.js.map +1 -1
  128. package/lib/features/canvas/videoEditor/exportPipeline.js +77 -0
  129. package/lib/features/canvas/videoEditor/exportPipeline.js.map +1 -0
  130. package/lib/features/canvas/videoEditor/exportRenderer.js +19 -12
  131. package/lib/features/canvas/videoEditor/exportRenderer.js.map +1 -1
  132. package/lib/features/canvas/videoEditor/exportTask.js +216 -0
  133. package/lib/features/canvas/videoEditor/exportTask.js.map +1 -0
  134. package/lib/features/canvas/videoEditor/formWidgets.js +142 -0
  135. package/lib/features/canvas/videoEditor/formWidgets.js.map +1 -0
  136. package/lib/features/canvas/videoEditor/produce/ProduceVideoSheet.js +195 -0
  137. package/lib/features/canvas/videoEditor/produce/ProduceVideoSheet.js.map +1 -0
  138. package/lib/features/canvas/videoEditor/produce/produceScenes.js +158 -0
  139. package/lib/features/canvas/videoEditor/produce/produceScenes.js.map +1 -0
  140. package/lib/features/canvas/videoEditor/remoteMediaClient.js +17 -5
  141. package/lib/features/canvas/videoEditor/remoteMediaClient.js.map +1 -1
  142. package/lib/features/canvas/videoEditor/renderTimeline.js +207 -0
  143. package/lib/features/canvas/videoEditor/renderTimeline.js.map +1 -0
  144. package/lib/features/canvas/videoEditor/renewLinks.js +64 -0
  145. package/lib/features/canvas/videoEditor/renewLinks.js.map +1 -0
  146. package/lib/features/canvas/videoEditor/sceneLayers.js +101 -0
  147. package/lib/features/canvas/videoEditor/sceneLayers.js.map +1 -0
  148. package/lib/features/canvas/videoEditor/tools/ToolsDrawer.js +283 -0
  149. package/lib/features/canvas/videoEditor/tools/ToolsDrawer.js.map +1 -0
  150. package/lib/features/canvas/videoEditor/tools/catalog.js +576 -0
  151. package/lib/features/canvas/videoEditor/tools/catalog.js.map +1 -0
  152. package/lib/features/canvas/videoEditor/videoProjectsStore.js +27 -3
  153. package/lib/features/canvas/videoEditor/videoProjectsStore.js.map +1 -1
  154. package/lib/features/webbuilder/WebBuilderExperience.js +29 -1
  155. package/lib/features/webbuilder/WebBuilderExperience.js.map +1 -1
  156. package/lib/features/webbuilder/buildFragments.js +8 -4
  157. package/lib/features/webbuilder/buildFragments.js.map +1 -1
  158. package/lib/features/webbuilder/codezenHandoff.js +108 -0
  159. package/lib/features/webbuilder/codezenHandoff.js.map +1 -0
  160. package/lib/features/webbuilder/workflow.js.map +1 -1
  161. package/lib/hooks/useChatApi.js +1 -2
  162. package/lib/hooks/useChatApi.js.map +1 -1
  163. package/lib/screens/CanvasBoard/index.js +12 -1
  164. package/lib/screens/CanvasBoard/index.js.map +1 -1
  165. package/lib/screens/Home/HomeScreen.js.map +1 -1
  166. package/lib/screens/Home/components/HomeSuggestions.js +3 -3
  167. package/lib/screens/Home/components/HomeSuggestions.js.map +1 -1
  168. package/lib/screens/WebBuilder/index.js +4 -2
  169. package/lib/screens/WebBuilder/index.js.map +1 -1
  170. package/lib/screens/WebBuilderNative/index.js +29 -2
  171. package/lib/screens/WebBuilderNative/index.js.map +1 -1
  172. package/lib/screens/WebBuilderNative/useWebBuilderHost.js +30 -6
  173. package/lib/screens/WebBuilderNative/useWebBuilderHost.js.map +1 -1
  174. package/package.json +3 -3
  175. /package/lib/assets/apps/{paper2poster.webp → poster.webp} +0 -0
@@ -1,4 +1,4 @@
1
- import {jsxs,jsx,Fragment}from'react/jsx-runtime';import React__default,{useState,useEffect,useRef,useMemo,useCallback}from'react';import {StyleSheet,useWindowDimensions,View,Text,Share,TextInput}from'react-native';import {Gesture,GestureHandlerRootView,Pressable,GestureDetector}from'react-native-gesture-handler';import Animated,{useSharedValue,useAnimatedReaction,runOnJS,useAnimatedStyle}from'react-native-reanimated';import {Image}from'expo-image';import {MaterialCommunityIcons}from'@expo/vector-icons';import {getVideoItemRenderer}from'./videoRenderer.js';import {spreadStackedItems,coerceUploadSizedItem,paintOrder,applyItemFrame,MAX_ZOOM,MIN_ZOOM,removeItem,boardBounds,resizeFrame}from'./canvasCore.js';import {CanvasAgentChatPane}from'./CanvasAgentChatPane.js';var __defProp = Object.defineProperty;
1
+ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import React__default,{createContext,useState,useEffect,useRef,useMemo,useCallback,useContext}from'react';import {StyleSheet,useWindowDimensions,Alert,Clipboard,Share,View,Text,TextInput}from'react-native';import {Gesture,GestureHandlerRootView,Pressable,GestureDetector}from'react-native-gesture-handler';import Animated,{useSharedValue,useAnimatedReaction,runOnJS,useAnimatedStyle}from'react-native-reanimated';import {Image}from'expo-image';import {MaterialCommunityIcons}from'@expo/vector-icons';import {getVideoItemRenderer}from'./videoRenderer.js';import {spreadStackedItems,coerceUploadSizedItem,paintOrder,applyItemFrame,MAX_ZOOM,MIN_ZOOM,removeItem,boardBounds,resizeFrame}from'./canvasCore.js';import {CanvasAgentChatPane}from'./CanvasAgentChatPane.js';import {ensureItemShareLink,shareableMediaUrl}from'./linksRpc.js';import {renewMediaUrl,useMediaSource,mediaPhaseLabel}from'./useMediaSource.js';var __defProp = Object.defineProperty;
2
2
  var __defProps = Object.defineProperties;
3
3
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
4
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
@@ -18,6 +18,7 @@ var __spreadValues = (a, b) => {
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
21
+ const MediaRenewContext = createContext(void 0);
21
22
  const HANDLE_SLOP = 12;
22
23
  const SELECTION_COLOR = "#3b82f6";
23
24
  function MediaGlyph({
@@ -52,18 +53,27 @@ class VideoRenderIsland extends React__default.Component {
52
53
  function ItemContent({
53
54
  item
54
55
  }) {
55
- var _a;
56
- if (item.type === "image") {
57
- return /* @__PURE__ */ jsx(Image, { source: {
58
- uri: item.src
59
- }, style: [StyleSheet.absoluteFill, styles.itemImage], contentFit: "cover", transition: 120, accessibilityLabel: (_a = item.generatedAssetName) != null ? _a : "Canvas image" });
60
- }
56
+ if (item.type === "image") return /* @__PURE__ */ jsx(ImageItemContent, { item });
61
57
  const VideoRenderer = item.type === "video" ? getVideoItemRenderer() : null;
62
58
  if (VideoRenderer) {
63
59
  return /* @__PURE__ */ jsx(VideoRenderIsland, { fallback: /* @__PURE__ */ jsx(MediaGlyph, { item }), children: /* @__PURE__ */ jsx(VideoRenderer, { item }) });
64
60
  }
65
61
  return /* @__PURE__ */ jsx(MediaGlyph, { item });
66
62
  }
63
+ function ImageItemContent({
64
+ item
65
+ }) {
66
+ var _a;
67
+ const renew = useContext(MediaRenewContext);
68
+ const media = useMediaSource(item.src, "image", renew);
69
+ const status = mediaPhaseLabel(media.phase);
70
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
71
+ media.phase === "broken" ? /* @__PURE__ */ jsx(View, { style: [StyleSheet.absoluteFill, styles.mediaTile], children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "image-off-outline", size: 28, color: "#94a3b8" }) }) : /* @__PURE__ */ jsx(Image, { source: {
72
+ uri: media.src
73
+ }, style: [StyleSheet.absoluteFill, styles.itemImage], contentFit: "cover", transition: 120, onError: media.onError, accessibilityLabel: (_a = item.generatedAssetName) != null ? _a : "Canvas image" }, media.key),
74
+ status ? /* @__PURE__ */ jsx(View, { style: styles.mediaStatus, pointerEvents: "none", children: /* @__PURE__ */ jsx(Text, { style: styles.mediaStatusLabel, children: status }) }) : null
75
+ ] });
76
+ }
67
77
  function StaticItem({
68
78
  item,
69
79
  onTap
@@ -85,6 +95,7 @@ function ItemHoverToolbar({
85
95
  item,
86
96
  onAction,
87
97
  onRemove,
98
+ onShareLink,
88
99
  onChromeTouch
89
100
  }) {
90
101
  const [moreOpen, setMoreOpen] = useState(false);
@@ -195,7 +206,14 @@ function ItemHoverToolbar({
195
206
  /* @__PURE__ */ jsxs(Pressable, { onPress: download, style: styles.moreRow, accessibilityRole: "button", children: [
196
207
  /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "download-outline", size: 20, color: "#64748b" }),
197
208
  /* @__PURE__ */ jsx(Text, { style: styles.moreLabel, children: "Download" })
198
- ] })
209
+ ] }),
210
+ onShareLink ? /* @__PURE__ */ jsxs(Pressable, { onPress: () => {
211
+ setMoreOpen(false);
212
+ onShareLink();
213
+ }, style: styles.moreRow, accessibilityRole: "button", children: [
214
+ /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "link-variant", size: 20, color: "#64748b" }),
215
+ /* @__PURE__ */ jsx(Text, { style: styles.moreLabel, children: item.share ? "Copy share link" : "Create share link" })
216
+ ] }) : null
199
217
  ] }) : null
200
218
  ] })
201
219
  ] }),
@@ -217,6 +235,7 @@ function SelectedItem({
217
235
  showToolbar,
218
236
  onAction,
219
237
  onRemove,
238
+ onShareLink,
220
239
  onChromeTouch
221
240
  }) {
222
241
  const fx = useSharedValue(item.x);
@@ -325,7 +344,7 @@ function SelectedItem({
325
344
  /* @__PURE__ */ jsx(View, { style: styles.videoDragGrip })
326
345
  ] }) }),
327
346
  CORNERS.map((corner, i) => /* @__PURE__ */ jsx(GestureDetector, { gesture: cornerGestures[i], children: /* @__PURE__ */ jsx(View, { style: [styles.handleAnchor, cornerPlacement[corner]], hitSlop: HANDLE_SLOP, children: /* @__PURE__ */ jsx(View, { style: handleStyle }) }) }, corner)),
328
- showToolbar ? /* @__PURE__ */ jsx(ItemHoverToolbar, { item, onAction, onRemove, onChromeTouch }) : null
347
+ showToolbar ? /* @__PURE__ */ jsx(ItemHoverToolbar, { item, onAction, onRemove, onShareLink, onChromeTouch }) : null
329
348
  ] });
330
349
  }
331
350
  function NativeCanvasViewer({
@@ -342,6 +361,7 @@ function NativeCanvasViewer({
342
361
  onAgentReplace,
343
362
  onSelectionChange,
344
363
  onUseTemplate,
364
+ shareLinks,
345
365
  testID
346
366
  }) {
347
367
  var _a;
@@ -458,6 +478,50 @@ function NativeCanvasViewer({
458
478
  items: [...next]
459
479
  }));
460
480
  }, [board, onBoardChange]);
481
+ const renewMedia = useMemo(() => renewMediaUrl(runAction), [runAction]);
482
+ const sharingRef = useRef(false);
483
+ const handleShareLink = useCallback(async (id) => {
484
+ const item = items.find((it) => it.id === id);
485
+ if (!item || !shareLinks || sharingRef.current) return;
486
+ sharingRef.current = true;
487
+ let shortUrl;
488
+ try {
489
+ const result = await ensureItemShareLink(item, {
490
+ links: shareLinks,
491
+ run: runAction
492
+ });
493
+ shortUrl = result.share.shortUrl;
494
+ if (result.changed) {
495
+ setItems((prev) => {
496
+ const next = prev.map((it) => it.id === id ? __spreadProps(__spreadValues({}, it), {
497
+ src: result.src,
498
+ share: result.share
499
+ }) : it);
500
+ const snapshot = __spreadProps(__spreadValues({}, board), {
501
+ items: next
502
+ });
503
+ queueMicrotask(() => onBoardChange == null ? void 0 : onBoardChange(snapshot));
504
+ return next;
505
+ });
506
+ }
507
+ } catch (err) {
508
+ Alert.alert("Could not create share link", err instanceof Error ? err.message : void 0);
509
+ return;
510
+ } finally {
511
+ sharingRef.current = false;
512
+ }
513
+ Clipboard.setString(shortUrl);
514
+ Alert.alert("Share link copied", shortUrl, [{
515
+ text: "Share\u2026",
516
+ onPress: () => void Share.share({
517
+ message: shortUrl,
518
+ url: shortUrl
519
+ }).catch(() => void 0)
520
+ }, {
521
+ text: "OK",
522
+ style: "cancel"
523
+ }]);
524
+ }, [items, shareLinks, runAction, board, onBoardChange]);
461
525
  const pan = Gesture.Pan().minDistance(10).averageTouches(true).onStart(() => {
462
526
  startTx.value = tx.value;
463
527
  startTy.value = ty.value;
@@ -539,12 +603,12 @@ function NativeCanvasViewer({
539
603
  });
540
604
  }, children: [
541
605
  /* @__PURE__ */ jsx(DotGrid, {}),
542
- /* @__PURE__ */ jsx(GestureDetector, { gesture, children: /* @__PURE__ */ jsx(View, { style: StyleSheet.absoluteFill, collapsable: false, children: /* @__PURE__ */ jsx(Animated.View, { style: [styles.plane, planeStyle, {
606
+ /* @__PURE__ */ jsx(GestureDetector, { gesture, children: /* @__PURE__ */ jsx(View, { style: StyleSheet.absoluteFill, collapsable: false, children: /* @__PURE__ */ jsx(MediaRenewContext.Provider, { value: renewMedia, children: /* @__PURE__ */ jsx(Animated.View, { style: [styles.plane, planeStyle, {
543
607
  transformOrigin: "0 0"
544
608
  }], pointerEvents: "box-none", children: ordered.map((item) => item.id === selectedId ? /* @__PURE__ */ jsx(SelectedItem, { item, cameraScale: scale, onCommit: handleCommit, onTap: onItemPress, showToolbar: controls, onAction: onItemAction, onRemove: () => {
545
609
  commitItems(removeItem(items, item.id));
546
610
  setSelectedId(null);
547
- }, onChromeTouch: armChromeTouch }, item.id) : /* @__PURE__ */ jsx(StaticItem, { item, onTap: handleSelect }, item.id)) }) }) }),
611
+ }, onShareLink: shareLinks && shareableMediaUrl(item.src) ? () => void handleShareLink(item.id) : void 0, onChromeTouch: armChromeTouch }, item.id) : /* @__PURE__ */ jsx(StaticItem, { item, onTap: handleSelect }, item.id)) }) }) }) }),
548
612
  items.length === 0 ? /* @__PURE__ */ jsxs(View, { style: styles.emptyHint, pointerEvents: "none", children: [
549
613
  /* @__PURE__ */ jsx(Text, { style: styles.emptyHintTitle, children: "Your canvas is empty" }),
550
614
  /* @__PURE__ */ jsx(Text, { style: styles.emptyHintDetail, children: "Tap Generate below for an image, video, audio, slides, clips or a promo." })
@@ -665,6 +729,20 @@ const styles = StyleSheet.create({
665
729
  borderRadius: 8,
666
730
  backgroundColor: "#e2e8f0"
667
731
  },
732
+ mediaStatus: {
733
+ position: "absolute",
734
+ left: 8,
735
+ bottom: 8,
736
+ paddingHorizontal: 8,
737
+ paddingVertical: 3,
738
+ borderRadius: 6,
739
+ backgroundColor: "rgba(15,23,42,0.7)"
740
+ },
741
+ mediaStatusLabel: {
742
+ fontSize: 11,
743
+ fontWeight: "600",
744
+ color: "#f8fafc"
745
+ },
668
746
  zoomHud: {
669
747
  position: "absolute",
670
748
  top: 12,