@adminide-stack/yantra-mobile 12.0.125-alpha.0 → 12.0.125

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 (96) hide show
  1. package/lib/features/canvas/AudioEditorExperience.js +207 -109
  2. package/lib/features/canvas/AudioEditorExperience.js.map +1 -1
  3. package/lib/features/canvas/CanvasAgentChatPane.js +87 -72
  4. package/lib/features/canvas/CanvasAgentChatPane.js.map +1 -1
  5. package/lib/features/canvas/CanvasBoardsGrid.js +494 -387
  6. package/lib/features/canvas/CanvasBoardsGrid.js.map +1 -1
  7. package/lib/features/canvas/CanvasChatResultCard.js +78 -59
  8. package/lib/features/canvas/CanvasChatResultCard.js.map +1 -1
  9. package/lib/features/canvas/CanvasEditToolsPanel.js +126 -84
  10. package/lib/features/canvas/CanvasEditToolsPanel.js.map +1 -1
  11. package/lib/features/canvas/CanvasExperience.js +108 -126
  12. package/lib/features/canvas/CanvasExperience.js.map +1 -1
  13. package/lib/features/canvas/CanvasGeneratePanel.js +178 -166
  14. package/lib/features/canvas/CanvasGeneratePanel.js.map +1 -1
  15. package/lib/features/canvas/CanvasLibrarySheet.js +119 -123
  16. package/lib/features/canvas/CanvasLibrarySheet.js.map +1 -1
  17. package/lib/features/canvas/CanvasLooksPanel.js +113 -89
  18. package/lib/features/canvas/CanvasLooksPanel.js.map +1 -1
  19. package/lib/features/canvas/CanvasModelPicker.js +79 -79
  20. package/lib/features/canvas/CanvasModelPicker.js.map +1 -1
  21. package/lib/features/canvas/CanvasTasksPanel.js +193 -128
  22. package/lib/features/canvas/CanvasTasksPanel.js.map +1 -1
  23. package/lib/features/canvas/CanvasTemplatesPanel.js +106 -94
  24. package/lib/features/canvas/CanvasTemplatesPanel.js.map +1 -1
  25. package/lib/features/canvas/CanvasToolDock.js +195 -127
  26. package/lib/features/canvas/CanvasToolDock.js.map +1 -1
  27. package/lib/features/canvas/FrameExtractorExperience.js +163 -100
  28. package/lib/features/canvas/FrameExtractorExperience.js.map +1 -1
  29. package/lib/features/canvas/GeneratorReferenceSlots.js +132 -69
  30. package/lib/features/canvas/GeneratorReferenceSlots.js.map +1 -1
  31. package/lib/features/canvas/ImageEditorExperience.js +278 -209
  32. package/lib/features/canvas/ImageEditorExperience.js.map +1 -1
  33. package/lib/features/canvas/InfluencerStudioExperience.js +167 -125
  34. package/lib/features/canvas/InfluencerStudioExperience.js.map +1 -1
  35. package/lib/features/canvas/MoodboardExperience.js +102 -85
  36. package/lib/features/canvas/MoodboardExperience.js.map +1 -1
  37. package/lib/features/canvas/NativeCanvasViewer.js +203 -192
  38. package/lib/features/canvas/NativeCanvasViewer.js.map +1 -1
  39. package/lib/features/canvas/PromoContextFields.js +125 -92
  40. package/lib/features/canvas/PromoContextFields.js.map +1 -1
  41. package/lib/features/canvas/SetStudioExperience.js +225 -143
  42. package/lib/features/canvas/SetStudioExperience.js.map +1 -1
  43. package/lib/features/canvas/VideoClipsExperience.js +126 -92
  44. package/lib/features/canvas/VideoClipsExperience.js.map +1 -1
  45. package/lib/features/canvas/VideoEditExperience.js +154 -142
  46. package/lib/features/canvas/VideoEditExperience.js.map +1 -1
  47. package/lib/features/canvas/VideoEditorExperience.js +551 -492
  48. package/lib/features/canvas/VideoEditorExperience.js.map +1 -1
  49. package/lib/features/canvas/VideoGeneratorExperience.js +284 -131
  50. package/lib/features/canvas/VideoGeneratorExperience.js.map +1 -1
  51. package/lib/features/canvas/canvasTasks.js +7 -3
  52. package/lib/features/canvas/canvasTasks.js.map +1 -1
  53. package/lib/features/canvas/canvasTheme.js +265 -0
  54. package/lib/features/canvas/canvasTheme.js.map +1 -0
  55. package/lib/features/canvas/canvasUi.js +381 -0
  56. package/lib/features/canvas/canvasUi.js.map +1 -0
  57. package/lib/features/canvas/recorder/CameraRecorderExperience.js +109 -52
  58. package/lib/features/canvas/recorder/CameraRecorderExperience.js.map +1 -1
  59. package/lib/features/canvas/serverTasks.js +1 -1
  60. package/lib/features/canvas/serverTasks.js.map +1 -1
  61. package/lib/features/canvas/set/SetViewportWebView.js +1 -1
  62. package/lib/features/canvas/set/SetViewportWebView.js.map +1 -1
  63. package/lib/features/canvas/videoEditor/BlurBoxOverlay.js +8 -7
  64. package/lib/features/canvas/videoEditor/BlurBoxOverlay.js.map +1 -1
  65. package/lib/features/canvas/videoEditor/ExportTaskCard.js +44 -41
  66. package/lib/features/canvas/videoEditor/ExportTaskCard.js.map +1 -1
  67. package/lib/features/canvas/videoEditor/agent/AgentCutPane.js +50 -45
  68. package/lib/features/canvas/videoEditor/agent/AgentCutPane.js.map +1 -1
  69. package/lib/features/canvas/videoEditor/exportTask.js +3 -2
  70. package/lib/features/canvas/videoEditor/exportTask.js.map +1 -1
  71. package/lib/features/canvas/videoEditor/formWidgets.js +116 -64
  72. package/lib/features/canvas/videoEditor/formWidgets.js.map +1 -1
  73. package/lib/features/canvas/videoEditor/produce/ProduceVideoSheet.js +77 -63
  74. package/lib/features/canvas/videoEditor/produce/ProduceVideoSheet.js.map +1 -1
  75. package/lib/features/canvas/videoEditor/tools/ToolsDrawer.js +95 -79
  76. package/lib/features/canvas/videoEditor/tools/ToolsDrawer.js.map +1 -1
  77. package/lib/features/design/DesignEditorExperience.js +241 -160
  78. package/lib/features/design/DesignEditorExperience.js.map +1 -1
  79. package/lib/features/design/DesignExperience.js +300 -143
  80. package/lib/features/design/DesignExperience.js.map +1 -1
  81. package/lib/features/webbuilder/WebBuilderExperience.js +1 -1
  82. package/lib/features/webbuilder/WebBuilderExperience.js.map +1 -1
  83. package/lib/features/webbuilder/buildFragments.js +3 -2
  84. package/lib/features/webbuilder/buildFragments.js.map +1 -1
  85. package/lib/features/webbuilder/components/PublishSheet.js +1 -1
  86. package/lib/features/webbuilder/components/PublishSheet.js.map +1 -1
  87. package/lib/features/webbuilder/webbuilderPrompts.js +2 -5
  88. package/lib/features/webbuilder/webbuilderPrompts.js.map +1 -1
  89. package/lib/screens/WebBuilderNative/sandboxProxyApi.js +120 -0
  90. package/lib/screens/WebBuilderNative/sandboxProxyApi.js.map +1 -0
  91. package/lib/screens/WebBuilderNative/useRestoredSandboxes.js.map +1 -1
  92. package/lib/screens/WebBuilderNative/useWebBuilderHost.js +26 -4
  93. package/lib/screens/WebBuilderNative/useWebBuilderHost.js.map +1 -1
  94. package/lib/screens/WebBuilderNative/webbuilderTransport.js +110 -7
  95. package/lib/screens/WebBuilderNative/webbuilderTransport.js.map +1 -1
  96. package/package.json +4 -4
@@ -1,4 +1,4 @@
1
- import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useState,useRef,useEffect}from'react';import {StyleSheet,View,Pressable,Text,ScrollView}from'react-native';import {useSafeAreaInsets}from'react-native-safe-area-context';import {MaterialCommunityIcons}from'@expo/vector-icons';import {useKeyboardLiftHeight}from'../../components/KeyboardComposerDock.js';import {CanvasGeneratePanel}from'./CanvasGeneratePanel.js';import {CanvasEditToolsPanel}from'./CanvasEditToolsPanel.js';import {CanvasLibraryPanel}from'./CanvasLibrarySheet.js';import {CanvasLooksPanel}from'./CanvasLooksPanel.js';import {CanvasTasksPanel}from'./CanvasTasksPanel.js';import {LIBRARY_PICK}from'./generatorReferences.js';import {hydrateCanvasTasks,runningTaskCount,subscribeCanvasTasks,resumePromoTasks}from'./canvasTasks.js';import {nearestAspect}from'./studioLooks.js';var __defProp = Object.defineProperty;
1
+ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useMemo,useState,useRef,useEffect}from'react';import {View,Text,ScrollView,StyleSheet}from'react-native';import {useSafeAreaInsets}from'react-native-safe-area-context';import {MaterialCommunityIcons}from'@expo/vector-icons';import {useKeyboardLiftHeight}from'../../components/KeyboardComposerDock.js';import {CanvasGeneratePanel}from'./CanvasGeneratePanel.js';import {CanvasEditToolsPanel}from'./CanvasEditToolsPanel.js';import {CanvasLibraryPanel}from'./CanvasLibrarySheet.js';import {CanvasLooksPanel}from'./CanvasLooksPanel.js';import {CanvasTasksPanel}from'./CanvasTasksPanel.js';import {LIBRARY_PICK}from'./generatorReferences.js';import {hydrateCanvasTasks,runningTaskCount,subscribeCanvasTasks,resumePromoTasks}from'./canvasTasks.js';import {nearestAspect}from'./studioLooks.js';import {useCanvasTheme,themedStyles}from'./canvasTheme.js';import {Pressable,pressedStyle,SPACE,RADIUS,HIT,TYPE}from'./canvasUi.js';var __defProp = Object.defineProperty;
2
2
  var __defProps = Object.defineProperties;
3
3
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
4
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
@@ -112,6 +112,8 @@ function CanvasToolDock({
112
112
  token,
113
113
  indexUrl
114
114
  }) {
115
+ const theme = useCanvasTheme();
116
+ const styles = useMemo(() => makeStyles(theme), [theme]);
115
117
  const insets = useSafeAreaInsets();
116
118
  const keyboardHeight = useKeyboardLiftHeight();
117
119
  const hideTabs = dockHidden || keyboardHeight > 40;
@@ -196,9 +198,11 @@ function CanvasToolDock({
196
198
  bottom: hideTabs ? keyboardHeight : 0
197
199
  }], children: [
198
200
  /* @__PURE__ */ jsx(View, { style: styles.handle }),
199
- title ? /* @__PURE__ */ jsx(Text, { style: styles.sheetTitle, children: title }) : null,
201
+ title ? /* @__PURE__ */ jsx(Text, { style: styles.sheetTitle, accessibilityRole: "header", children: title }) : null,
200
202
  sheet === "generate" ? /* @__PURE__ */ jsxs(Fragment, { children: [
201
- /* @__PURE__ */ jsx(View, { style: styles.segment, accessibilityLabel: "Create or edit", children: ["create", "edit"].map((id) => /* @__PURE__ */ jsx(Pressable, { onPress: () => setGeneratorTab(id), style: [styles.segmentTab, generatorTab === id && styles.segmentTabOn], accessibilityRole: "tab", accessibilityState: {
203
+ /* @__PURE__ */ jsx(View, { style: styles.segment, accessibilityLabel: "Create or edit", children: ["create", "edit"].map((id) => /* @__PURE__ */ jsx(Pressable, { onPress: () => setGeneratorTab(id), style: ({
204
+ pressed
205
+ }) => [styles.segmentTab, generatorTab === id && styles.segmentTabOn, pressedStyle(pressed)], accessibilityRole: "tab", accessibilityState: {
202
206
  selected: generatorTab === id
203
207
  }, children: /* @__PURE__ */ jsx(Text, { style: [styles.segmentLabel, generatorTab === id && styles.segmentLabelOn], children: id === "create" ? "Create" : "Edit" }) }, id)) }),
204
208
  generatorTab === "edit" ? seedItem && (seedItem.type === "image" || seedItem.type === "video") ? /* @__PURE__ */ jsx(ScrollView, { keyboardShouldPersistTaps: "handled", children: /* @__PURE__ */ jsx(CanvasEditToolsPanel, { item: seedItem, runAction, showTitle: false, initialTool: lastEditTool.current, onToolChange: (tool) => {
@@ -237,9 +241,11 @@ function CanvasToolDock({
237
241
  /* @__PURE__ */ jsx(View, { style: styles.uploadStrip, children: UPLOAD_SOURCES.map((item) => /* @__PURE__ */ jsxs(Pressable, { onPress: () => {
238
242
  setSheet(null);
239
243
  onUpload(item.id);
240
- }, disabled: busy, style: [styles.uploadTile, busy && styles.tabMuted], accessibilityRole: "button", children: [
241
- /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: item.icon, size: 20, color: "#0f172a" }),
242
- /* @__PURE__ */ jsx(Text, { style: styles.uploadTileLabel, numberOfLines: 1, children: item.label })
244
+ }, disabled: busy, style: ({
245
+ pressed
246
+ }) => [styles.uploadTile, busy && styles.tabMuted, pressedStyle(pressed)], accessibilityRole: "button", children: [
247
+ /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: item.icon, size: 22, color: theme.foreground }),
248
+ /* @__PURE__ */ jsx(Text, { style: styles.uploadTileLabel, numberOfLines: 2, children: item.label })
243
249
  ] }, item.id)) }),
244
250
  /* @__PURE__ */ jsx(CanvasLibraryPanel, { title: "On this board", boards, boardId, runAction, onClose: () => setSheet(null), onPlace: (item) => {
245
251
  onPlace(item);
@@ -249,28 +255,36 @@ function CanvasToolDock({
249
255
  setSheet(null);
250
256
  } })
251
257
  ] }) : null,
252
- sheet === "studios" ? STUDIOS.map((studio) => /* @__PURE__ */ jsxs(Pressable, { onPress: () => {
258
+ sheet === "studios" ? /* @__PURE__ */ jsx(ScrollView, { contentContainerStyle: styles.studioGrid, children: STUDIOS.map((studio) => /* @__PURE__ */ jsxs(Pressable, { onPress: () => {
253
259
  setSheet(null);
254
260
  onStudio(studio.id);
255
- }, style: styles.row, accessibilityRole: "button", children: [
256
- /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: studio.icon, size: 20, color: "#0f172a" }),
257
- /* @__PURE__ */ jsx(Text, { style: styles.rowLabel, children: studio.label })
258
- ] }, studio.id)) : null,
261
+ }, style: ({
262
+ pressed
263
+ }) => [styles.studioTile, pressedStyle(pressed)], accessibilityRole: "button", children: [
264
+ /* @__PURE__ */ jsx(View, { style: styles.studioIcon, children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: studio.icon, size: 22, color: theme.foreground }) }),
265
+ /* @__PURE__ */ jsx(Text, { style: styles.studioLabel, numberOfLines: 1, children: studio.label })
266
+ ] }, studio.id)) }) : null,
259
267
  sheet === "more" ? /* @__PURE__ */ jsxs(Fragment, { children: [
260
- /* @__PURE__ */ jsxs(Pressable, { onPress: () => setSheet("looks"), style: styles.row, accessibilityRole: "button", children: [
261
- /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "movie-filter-outline", size: 20, color: "#0f172a" }),
268
+ /* @__PURE__ */ jsxs(Pressable, { onPress: () => setSheet("looks"), style: ({
269
+ pressed
270
+ }) => [styles.row, pressedStyle(pressed)], accessibilityRole: "button", children: [
271
+ /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "movie-filter-outline", size: 20, color: theme.foreground }),
262
272
  /* @__PURE__ */ jsx(Text, { style: styles.rowLabel, children: "Looks" })
263
273
  ] }),
264
- /* @__PURE__ */ jsxs(Pressable, { onPress: () => setSheet("tasks"), style: styles.row, accessibilityRole: "button", children: [
265
- /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "playlist-check", size: 20, color: "#0f172a" }),
274
+ /* @__PURE__ */ jsxs(Pressable, { onPress: () => setSheet("tasks"), style: ({
275
+ pressed
276
+ }) => [styles.row, pressedStyle(pressed)], accessibilityRole: "button", children: [
277
+ /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "playlist-check", size: 20, color: theme.foreground }),
266
278
  /* @__PURE__ */ jsx(Text, { style: styles.rowLabel, children: "Tasks" }),
267
279
  taskBadge > 0 ? /* @__PURE__ */ jsx(View, { style: styles.badge, children: /* @__PURE__ */ jsx(Text, { style: styles.badgeLabel, children: taskBadge }) }) : null
268
280
  ] }),
269
281
  /* @__PURE__ */ jsxs(Pressable, { onPress: () => {
270
282
  setSheet(null);
271
283
  onRecord == null ? void 0 : onRecord("camera-video");
272
- }, style: styles.row, accessibilityRole: "button", children: [
273
- /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "record-circle-outline", size: 20, color: "#0f172a" }),
284
+ }, style: ({
285
+ pressed
286
+ }) => [styles.row, pressedStyle(pressed)], accessibilityRole: "button", children: [
287
+ /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "record-circle-outline", size: 20, color: theme.foreground }),
274
288
  /* @__PURE__ */ jsx(Text, { style: styles.rowLabel, children: "Record" })
275
289
  ] })
276
290
  ] }) : null,
@@ -279,24 +293,27 @@ function CanvasToolDock({
279
293
  ] })
280
294
  ] }) : null
281
295
  ] }),
282
- hideTabs ? null : /* @__PURE__ */ jsx(View, { style: [styles.tabBar, {
283
- paddingBottom: Math.max(insets.bottom, 8)
284
- }], children: TABS.map((tab) => {
296
+ hideTabs ? null : /* @__PURE__ */ jsx(View, { style: [styles.tabDock, {
297
+ paddingBottom: Math.max(insets.bottom, SPACE.sm)
298
+ }], children: /* @__PURE__ */ jsx(View, { style: styles.tabBar, children: TABS.map((tab) => {
285
299
  const active = sheet === tab.id || tab.id === "more" && (sheet === "more" || sheet === "looks" || sheet === "tasks");
286
300
  const disabled = false;
287
- return /* @__PURE__ */ jsxs(Pressable, { onPress: () => onTab(tab.id), disabled, accessibilityRole: "button", accessibilityLabel: tab.label, style: [styles.tab, active && styles.tabOn, disabled], children: [
288
- /* @__PURE__ */ jsxs(View, { children: [
289
- /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: tab.icon, size: 18, color: active ? "#0f172a" : "#64748b" }),
301
+ return /* @__PURE__ */ jsxs(Pressable, { onPress: () => onTab(tab.id), disabled, accessibilityRole: "button", accessibilityLabel: tab.label, style: ({
302
+ pressed
303
+ }) => [styles.tab, disabled, pressedStyle(pressed)], children: [
304
+ /* @__PURE__ */ jsxs(View, { style: [styles.tabIcon, active && styles.tabOn], children: [
305
+ /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: tab.icon, size: 20, color: active ? theme.foreground : theme.mutedForeground }),
290
306
  tab.id === "more" && taskBadge > 0 ? /* @__PURE__ */ jsx(View, { style: styles.tabBadge, children: /* @__PURE__ */ jsx(Text, { style: styles.tabBadgeLabel, children: taskBadge }) }) : null
291
307
  ] }),
292
- /* @__PURE__ */ jsx(Text, { style: [styles.tabLabel, active && styles.tabLabelOn], children: tab.label })
308
+ /* @__PURE__ */ jsx(Text, { style: [styles.tabLabel, active && styles.tabLabelOn], numberOfLines: 1, children: tab.label })
293
309
  ] }, tab.id);
294
- }) })
310
+ }) }) })
295
311
  ] });
296
312
  }
297
- const styles = StyleSheet.create({
313
+ const makeStyles = themedStyles((theme) => StyleSheet.create({
298
314
  root: {
299
- flex: 1
315
+ flex: 1,
316
+ backgroundColor: theme.background
300
317
  },
301
318
  fill: {
302
319
  flex: 1
@@ -304,77 +321,79 @@ const styles = StyleSheet.create({
304
321
  hidden: {
305
322
  display: "none"
306
323
  },
307
- hint: {
308
- padding: 16,
309
- fontSize: 13,
310
- color: "#64748b"
311
- },
324
+ hint: __spreadProps(__spreadValues({}, TYPE.body), {
325
+ fontSize: 14,
326
+ color: theme.mutedForeground,
327
+ paddingHorizontal: SPACE.lg + 4,
328
+ paddingVertical: SPACE.xl,
329
+ textAlign: "center"
330
+ }),
312
331
  segment: {
313
332
  flexDirection: "row",
314
333
  gap: 2,
315
- marginHorizontal: 16,
316
- marginBottom: 10,
334
+ marginHorizontal: SPACE.lg + 4,
335
+ marginBottom: SPACE.md,
317
336
  padding: 3,
318
- borderRadius: 999,
319
- backgroundColor: "#f1f5f9"
337
+ borderRadius: RADIUS.pill,
338
+ backgroundColor: theme.card
320
339
  },
321
340
  segmentTab: {
322
341
  flex: 1,
323
342
  alignItems: "center",
324
- paddingVertical: 6,
325
- borderRadius: 999
343
+ justifyContent: "center",
344
+ minHeight: 36,
345
+ borderRadius: RADIUS.pill
326
346
  },
327
347
  segmentTabOn: {
328
- backgroundColor: "#ffffff",
329
- shadowColor: "#0f172a",
330
- shadowOpacity: 0.08,
348
+ backgroundColor: theme.isDark ? theme.secondary : theme.surface,
349
+ shadowColor: "#000",
350
+ shadowOpacity: theme.isDark ? 0 : 0.08,
331
351
  shadowRadius: 4,
332
352
  shadowOffset: {
333
353
  width: 0,
334
354
  height: 1
335
355
  },
336
- elevation: 1
337
- },
338
- segmentLabel: {
339
- fontSize: 13,
340
- fontWeight: "600",
341
- color: "#64748b"
356
+ elevation: theme.isDark ? 0 : 1
342
357
  },
358
+ segmentLabel: __spreadProps(__spreadValues({}, TYPE.label), {
359
+ color: theme.mutedForeground
360
+ }),
343
361
  segmentLabelOn: {
344
- color: "#0f172a"
362
+ color: theme.foreground
345
363
  },
346
364
  pickLayer: __spreadProps(__spreadValues({}, StyleSheet.absoluteFillObject), {
347
365
  zIndex: 5,
348
- backgroundColor: "#ffffff"
366
+ backgroundColor: theme.surface
349
367
  }),
350
368
  uploadStrip: {
351
369
  flexDirection: "row",
352
- gap: 8,
353
- paddingHorizontal: 16,
354
- paddingBottom: 8
370
+ gap: SPACE.sm,
371
+ paddingHorizontal: SPACE.lg + 4,
372
+ paddingTop: SPACE.xs,
373
+ paddingBottom: SPACE.md
355
374
  },
356
375
  uploadTile: {
357
376
  flex: 1,
358
377
  alignItems: "center",
359
- gap: 4,
360
- paddingVertical: 10,
361
- borderRadius: 12,
362
- borderWidth: 1,
363
- borderStyle: "dashed",
364
- borderColor: "#cbd5e1"
365
- },
366
- uploadTileLabel: {
367
- fontSize: 11,
368
- fontWeight: "600",
369
- color: "#334155"
378
+ justifyContent: "center",
379
+ gap: SPACE.sm - 2,
380
+ minHeight: 76,
381
+ paddingHorizontal: SPACE.sm,
382
+ paddingVertical: SPACE.md,
383
+ borderRadius: RADIUS.lg,
384
+ backgroundColor: theme.card
370
385
  },
386
+ uploadTileLabel: __spreadProps(__spreadValues({}, TYPE.caption), {
387
+ textAlign: "center",
388
+ color: theme.foreground
389
+ }),
371
390
  plane: {
372
391
  flex: 1,
373
392
  overflow: "hidden"
374
393
  },
375
394
  backdrop: __spreadProps(__spreadValues({}, StyleSheet.absoluteFillObject), {
376
395
  zIndex: 10,
377
- backgroundColor: "rgba(15,23,42,0.2)"
396
+ backgroundColor: theme.isDark ? "rgba(0,0,0,0.45)" : "rgba(10,10,10,0.22)"
378
397
  }),
379
398
  sheet: {
380
399
  position: "absolute",
@@ -384,116 +403,165 @@ const styles = StyleSheet.create({
384
403
  flex: 0,
385
404
  flexDirection: "column",
386
405
  overflow: "hidden",
387
- borderTopLeftRadius: 18,
388
- borderTopRightRadius: 18,
389
- backgroundColor: "#ffffff",
390
- borderTopWidth: StyleSheet.hairlineWidth,
391
- borderTopColor: "#e2e8f0",
392
- shadowColor: "#0f172a",
393
- shadowOpacity: 0.12,
394
- shadowRadius: 20,
406
+ borderTopLeftRadius: RADIUS.xl + 4,
407
+ borderTopRightRadius: RADIUS.xl + 4,
408
+ backgroundColor: theme.surface,
409
+ shadowColor: "#000",
410
+ shadowOpacity: theme.isDark ? 0.4 : 0.1,
411
+ shadowRadius: 24,
395
412
  shadowOffset: {
396
413
  width: 0,
397
- height: -4
414
+ height: -6
398
415
  },
399
- elevation: 8
416
+ elevation: 12
400
417
  },
401
418
  handle: {
402
419
  alignSelf: "center",
403
- width: 36,
404
- height: 4,
405
- borderRadius: 2,
406
- backgroundColor: "#e2e8f0",
407
- marginTop: 8,
408
- marginBottom: 4
420
+ width: 40,
421
+ height: 5,
422
+ borderRadius: 3,
423
+ backgroundColor: theme.borderStrong,
424
+ marginTop: SPACE.sm,
425
+ marginBottom: SPACE.sm
409
426
  },
410
- sheetTitle: {
411
- fontSize: 16,
412
- fontWeight: "700",
413
- color: "#0f172a",
414
- paddingHorizontal: 16,
415
- paddingBottom: 8
427
+ sheetTitle: __spreadProps(__spreadValues({}, TYPE.title), {
428
+ color: theme.foreground,
429
+ paddingHorizontal: SPACE.lg + 4,
430
+ paddingTop: SPACE.xs,
431
+ paddingBottom: SPACE.md
432
+ }),
433
+ studioGrid: {
434
+ flexDirection: "row",
435
+ flexWrap: "wrap",
436
+ gap: SPACE.sm,
437
+ paddingHorizontal: SPACE.lg + 4,
438
+ paddingBottom: SPACE.xl
439
+ },
440
+ studioTile: {
441
+ width: "31.5%",
442
+ flexGrow: 1,
443
+ alignItems: "center",
444
+ gap: SPACE.sm,
445
+ paddingVertical: SPACE.lg,
446
+ paddingHorizontal: SPACE.sm,
447
+ borderRadius: RADIUS.lg,
448
+ backgroundColor: theme.card
449
+ },
450
+ studioIcon: {
451
+ width: 44,
452
+ height: 44,
453
+ borderRadius: 22,
454
+ alignItems: "center",
455
+ justifyContent: "center",
456
+ backgroundColor: theme.isDark ? theme.secondary : theme.surface
416
457
  },
458
+ studioLabel: __spreadProps(__spreadValues({}, TYPE.label), {
459
+ color: theme.foreground
460
+ }),
417
461
  row: {
418
462
  flexDirection: "row",
419
463
  alignItems: "center",
420
- gap: 12,
421
- paddingHorizontal: 16,
422
- paddingVertical: 12
464
+ gap: SPACE.md + 2,
465
+ minHeight: HIT + 8,
466
+ marginHorizontal: SPACE.md,
467
+ paddingHorizontal: SPACE.sm + 2,
468
+ borderRadius: RADIUS.md
423
469
  },
424
470
  rowMuted: {
425
471
  opacity: 0.45
426
472
  },
427
- rowLabel: {
428
- fontSize: 15,
473
+ rowLabel: __spreadProps(__spreadValues({}, TYPE.body), {
429
474
  fontWeight: "500",
430
- color: "#0f172a"
431
- },
432
- rowLabelMuted: {
433
- fontSize: 15,
475
+ color: theme.foreground
476
+ }),
477
+ rowLabelMuted: __spreadProps(__spreadValues({}, TYPE.body), {
434
478
  fontWeight: "500",
435
- color: "#94a3b8"
479
+ color: theme.mutedForeground
480
+ }),
481
+ tabDock: {
482
+ paddingHorizontal: SPACE.md,
483
+ paddingTop: SPACE.sm,
484
+ backgroundColor: theme.background,
485
+ zIndex: 20
436
486
  },
437
487
  tabBar: {
438
488
  flexDirection: "row",
439
- borderTopWidth: StyleSheet.hairlineWidth,
440
- borderTopColor: "#e2e8f0",
441
- backgroundColor: "#ffffff",
442
- paddingTop: 6,
443
- paddingHorizontal: 4,
444
- zIndex: 20
489
+ alignItems: "center",
490
+ padding: SPACE.xs + 2,
491
+ borderRadius: RADIUS.xl + 4,
492
+ backgroundColor: theme.isDark ? theme.card : theme.surface,
493
+ borderWidth: StyleSheet.hairlineWidth,
494
+ borderColor: theme.border,
495
+ shadowColor: "#000",
496
+ shadowOpacity: theme.isDark ? 0.35 : 0.08,
497
+ shadowRadius: 16,
498
+ shadowOffset: {
499
+ width: 0,
500
+ height: 4
501
+ },
502
+ elevation: 6
445
503
  },
446
504
  tab: {
447
505
  flex: 1,
448
506
  alignItems: "center",
449
- gap: 2,
450
- paddingVertical: 4,
451
- borderRadius: 12
507
+ justifyContent: "center",
508
+ gap: 3,
509
+ minHeight: HIT + 8,
510
+ paddingVertical: SPACE.xs
511
+ },
512
+ tabIcon: {
513
+ width: 48,
514
+ height: 28,
515
+ borderRadius: RADIUS.pill,
516
+ alignItems: "center",
517
+ justifyContent: "center"
452
518
  },
453
519
  tabOn: {
454
- backgroundColor: "#f1f5f9"
520
+ backgroundColor: theme.isDark ? theme.secondary : theme.card
455
521
  },
456
522
  tabMuted: {
457
523
  opacity: 0.45
458
524
  },
459
525
  tabLabel: {
460
- fontSize: 9.5,
461
- fontWeight: "600",
462
- color: "#64748b"
526
+ fontSize: 11,
527
+ lineHeight: 14,
528
+ fontWeight: "500",
529
+ color: theme.mutedForeground
463
530
  },
464
531
  tabLabelOn: {
465
- color: "#0f172a"
532
+ fontWeight: "600",
533
+ color: theme.foreground
466
534
  },
467
535
  badge: {
468
536
  marginLeft: "auto",
469
- minWidth: 18,
470
- height: 18,
471
- borderRadius: 9,
472
- backgroundColor: "#ea580c",
537
+ minWidth: 22,
538
+ height: 22,
539
+ borderRadius: 11,
540
+ backgroundColor: theme.primary,
473
541
  alignItems: "center",
474
542
  justifyContent: "center",
475
- paddingHorizontal: 5
543
+ paddingHorizontal: 6
476
544
  },
477
545
  badgeLabel: {
478
- fontSize: 10,
546
+ fontSize: 12,
479
547
  fontWeight: "700",
480
- color: "#fff7ed"
548
+ color: theme.primaryForeground
481
549
  },
482
550
  tabBadge: {
483
551
  position: "absolute",
484
- top: -4,
485
- right: -8,
486
- minWidth: 14,
487
- height: 14,
488
- borderRadius: 7,
489
- backgroundColor: "#ea580c",
552
+ top: -2,
553
+ right: 4,
554
+ minWidth: 16,
555
+ height: 16,
556
+ borderRadius: 8,
557
+ backgroundColor: theme.primary,
490
558
  alignItems: "center",
491
559
  justifyContent: "center",
492
- paddingHorizontal: 3
560
+ paddingHorizontal: 4
493
561
  },
494
562
  tabBadgeLabel: {
495
- fontSize: 9,
563
+ fontSize: 10,
496
564
  fontWeight: "700",
497
- color: "#fff7ed"
565
+ color: theme.primaryForeground
498
566
  }
499
- });export{CanvasToolDock};//# sourceMappingURL=CanvasToolDock.js.map
567
+ }));export{CanvasToolDock};//# sourceMappingURL=CanvasToolDock.js.map