linked-data-browser 0.0.8-alpha.5 → 0.0.8-alpha.7

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.
package/dist-lib/index.js CHANGED
@@ -82,6 +82,11 @@ __export(index_exports, {
82
82
  CopyLink: () => CopyLink,
83
83
  DataBrowser: () => DataBrowser,
84
84
  DataBrowserConfigContext: () => DataBrowserConfigContext,
85
+ DefaultContainerContent: () => DefaultContainerContent,
86
+ DefaultContainerLayout: () => DefaultContainerLayout,
87
+ DefaultContainerResourceItem: () => DefaultContainerResourceItem,
88
+ DefaultContainerSideMenu: () => DefaultContainerSideMenu,
89
+ DefaultContainerView: () => DefaultContainerView,
85
90
  Dialog: () => Dialog,
86
91
  DialogClose: () => DialogClose,
87
92
  DialogContent: () => DialogContent,
@@ -198,6 +203,7 @@ __export(index_exports, {
198
203
  TabsContent: () => TabsContent,
199
204
  TabsList: () => TabsList,
200
205
  TabsTrigger: () => TabsTrigger,
206
+ TargetResourceLoader: () => TargetResourceLoader,
201
207
  TargetResourceProvider: () => TargetResourceProvider,
202
208
  Text: () => Text2,
203
209
  TextStyleContext: () => TextStyleContext,
@@ -230,25 +236,9 @@ __export(index_exports, {
230
236
  });
231
237
  module.exports = __toCommonJS(index_exports);
232
238
 
233
- // components/solidFetchConfig.ts
234
- var import_react_native = require("react-native");
235
- var import_solid_client_authn_browser = require("@inrupt/solid-client-authn-browser");
236
- var import_solid_react = require("@ldo/solid-react");
237
- function createSolidFetch() {
238
- const baseFetch = import_solid_client_authn_browser.fetch;
239
- return async (input, init) => {
240
- if (import_react_native.Platform.OS !== "web" && init?.body instanceof Blob) {
241
- const arrayBuffer = await init.body.arrayBuffer();
242
- return baseFetch(input, { ...init, body: arrayBuffer });
243
- }
244
- return baseFetch(input, init);
245
- };
246
- }
247
- import_solid_react.dataset.setContext("solid", { fetch: createSolidFetch() });
248
-
249
239
  // components/DataBrowser.tsx
250
240
  var import_react32 = require("react");
251
- var import_solid_react10 = require("@ldo/solid-react");
241
+ var import_solid_react9 = require("@ldo/solid-react");
252
242
  var import_react33 = __toESM(require("react"));
253
243
 
254
244
  // components/nav/Layout.tsx
@@ -256,25 +246,24 @@ var import_react31 = __toESM(require("react"));
256
246
 
257
247
  // components/nav/header/Header.tsx
258
248
  var import_react29 = __toESM(require("react"));
259
- var import_solid_react8 = require("@ldo/solid-react");
260
- var import_react_native37 = require("react-native");
261
- var import_native18 = require("@react-navigation/native");
249
+ var import_solid_react7 = require("@ldo/solid-react");
250
+ var import_react_native36 = require("react-native");
262
251
 
263
252
  // components/nav/header/AddressBox.tsx
264
253
  var import_react6 = __toESM(require("react"));
265
254
  var import_react7 = require("react");
266
- var import_react_native7 = require("react-native");
255
+ var import_react_native6 = require("react-native");
267
256
 
268
257
  // components/ui/input.tsx
269
258
  var React4 = __toESM(require("react"));
270
- var import_react_native5 = require("react-native");
259
+ var import_react_native4 = require("react-native");
271
260
  var import_native3 = require("@react-navigation/native");
272
261
 
273
262
  // components/ui/text.tsx
274
263
  var import_native = require("@react-navigation/native");
275
264
  var Slot = __toESM(require("@rn-primitives/slot"));
276
265
  var import_react = __toESM(require("react"));
277
- var import_react_native2 = require("react-native");
266
+ var import_react_native = require("react-native");
278
267
  var TextStyleContext = (0, import_react.createContext)(
279
268
  void 0
280
269
  );
@@ -414,7 +403,7 @@ function Text2({
414
403
  bold,
415
404
  ...props
416
405
  }) {
417
- const Component = asChild ? Slot.Text : import_react_native2.Text;
406
+ const Component = asChild ? Slot.Text : import_react_native.Text;
418
407
  const textStyles2 = useTextStyles({
419
408
  variant,
420
409
  size,
@@ -431,7 +420,7 @@ function Text2({
431
420
  }
432
421
  );
433
422
  }
434
- var styles = import_react_native2.StyleSheet.create({
423
+ var styles = import_react_native.StyleSheet.create({
435
424
  base: {
436
425
  fontSize: 16
437
426
  // text-base
@@ -477,22 +466,22 @@ var styles = import_react_native2.StyleSheet.create({
477
466
 
478
467
  // components/ui/button.tsx
479
468
  var React3 = __toESM(require("react"));
480
- var import_react_native4 = require("react-native");
469
+ var import_react_native3 = require("react-native");
481
470
  var import_react_native_progress = require("react-native-progress");
482
471
  var import_native2 = require("@react-navigation/native");
483
472
 
484
473
  // components/ui/icon.tsx
485
474
  var import_react2 = __toESM(require("react"));
486
- var import_react_native3 = require("react-native");
475
+ var import_react_native2 = require("react-native");
487
476
  var Icon = ({
488
477
  icon,
489
478
  ...textStyleProps
490
479
  }) => {
491
480
  const textStyles2 = useTextStyles(textStyleProps);
492
481
  const IconComponent = icon;
493
- const iconStyle = import_react_native3.StyleSheet.flatten(textStyles2);
482
+ const iconStyle = import_react_native2.StyleSheet.flatten(textStyles2);
494
483
  const { fontSize, color, ...restStyles } = iconStyle;
495
- return /* @__PURE__ */ import_react2.default.createElement(import_react_native3.View, { style: restStyles }, /* @__PURE__ */ import_react2.default.createElement(IconComponent, { size: fontSize, color }));
484
+ return /* @__PURE__ */ import_react2.default.createElement(import_react_native2.View, { style: restStyles }, /* @__PURE__ */ import_react2.default.createElement(IconComponent, { size: fontSize, color }));
496
485
  };
497
486
 
498
487
  // components/ui/button.tsx
@@ -507,9 +496,9 @@ var getButtonStyles = (style, variant = "default", size = "default", isPressed =
507
496
  };
508
497
  const sizeStyles = {
509
498
  default: {
510
- height: import_react_native4.Platform.OS === "web" ? 40 : 48,
511
- paddingHorizontal: import_react_native4.Platform.OS === "web" ? 16 : 20,
512
- paddingVertical: import_react_native4.Platform.OS === "web" ? 8 : 12
499
+ height: import_react_native3.Platform.OS === "web" ? 40 : 48,
500
+ paddingHorizontal: import_react_native3.Platform.OS === "web" ? 16 : 20,
501
+ paddingVertical: import_react_native3.Platform.OS === "web" ? 8 : 12
513
502
  },
514
503
  sm: {
515
504
  height: 36,
@@ -517,7 +506,7 @@ var getButtonStyles = (style, variant = "default", size = "default", isPressed =
517
506
  paddingHorizontal: 12
518
507
  },
519
508
  lg: {
520
- height: import_react_native4.Platform.OS === "web" ? 44 : 56,
509
+ height: import_react_native3.Platform.OS === "web" ? 44 : 56,
521
510
  borderRadius: 6,
522
511
  paddingHorizontal: 32
523
512
  },
@@ -552,7 +541,7 @@ var getButtonStyles = (style, variant = "default", size = "default", isPressed =
552
541
  textDecorationLine: isPressed || isHovered ? "underline" : "none"
553
542
  }
554
543
  };
555
- return import_react_native4.StyleSheet.flatten([
544
+ return import_react_native3.StyleSheet.flatten([
556
545
  baseStyles,
557
546
  sizeStyles[size],
558
547
  variantStyles[variant],
@@ -561,7 +550,7 @@ var getButtonStyles = (style, variant = "default", size = "default", isPressed =
561
550
  };
562
551
  var getButtonTextStyles = (variant = "default", size = "default", isPressed = false, theme) => {
563
552
  const baseStyles = {
564
- fontSize: import_react_native4.Platform.OS === "web" ? 14 : 16,
553
+ fontSize: import_react_native3.Platform.OS === "web" ? 14 : 16,
565
554
  fontWeight: "500",
566
555
  color: theme.colors.text
567
556
  };
@@ -569,7 +558,7 @@ var getButtonTextStyles = (variant = "default", size = "default", isPressed = fa
569
558
  default: {},
570
559
  sm: {},
571
560
  lg: {
572
- fontSize: import_react_native4.Platform.OS === "web" ? 14 : 18
561
+ fontSize: import_react_native3.Platform.OS === "web" ? 14 : 18
573
562
  },
574
563
  icon: {}
575
564
  };
@@ -619,7 +608,7 @@ function Button({
619
608
  const iconRightStyle = { marginLeft: children ? 8 : 0 };
620
609
  const loadColor = !variant || variant === "default" ? theme.colors.background : theme.colors.primary;
621
610
  return /* @__PURE__ */ React3.createElement(
622
- import_react_native4.Pressable,
611
+ import_react_native3.Pressable,
623
612
  {
624
613
  ref,
625
614
  role: "button",
@@ -643,7 +632,7 @@ function Button({
643
632
  theme
644
633
  );
645
634
  const finalTextStyles = textStyle ? { ...buttonTextStyles, ...textStyle } : buttonTextStyles;
646
- return /* @__PURE__ */ React3.createElement(TextStyleProvider, { style: finalTextStyles }, isLoading ? /* @__PURE__ */ React3.createElement(import_react_native4.View, null, /* @__PURE__ */ React3.createElement(import_react_native_progress.CircleSnail, { size: 20, color: loadColor })) : iconLeft ? /* @__PURE__ */ React3.createElement(import_react_native4.View, { style: iconLeftStyle }, /* @__PURE__ */ React3.createElement(Icon, { icon: iconLeft })) : void 0, text ? /* @__PURE__ */ React3.createElement(Text2, null, text) : children, iconRight ? /* @__PURE__ */ React3.createElement(import_react_native4.View, { style: iconRightStyle }, /* @__PURE__ */ React3.createElement(Icon, { icon: iconRight })) : void 0);
635
+ return /* @__PURE__ */ React3.createElement(TextStyleProvider, { style: finalTextStyles }, isLoading ? /* @__PURE__ */ React3.createElement(import_react_native3.View, null, /* @__PURE__ */ React3.createElement(import_react_native_progress.CircleSnail, { size: 20, color: loadColor })) : iconLeft ? /* @__PURE__ */ React3.createElement(import_react_native3.View, { style: iconLeftStyle }, /* @__PURE__ */ React3.createElement(Icon, { icon: iconLeft })) : void 0, text ? /* @__PURE__ */ React3.createElement(Text2, null, text) : children, iconRight ? /* @__PURE__ */ React3.createElement(import_react_native3.View, { style: iconRightStyle }, /* @__PURE__ */ React3.createElement(Icon, { icon: iconRight })) : void 0);
647
636
  }
648
637
  );
649
638
  }
@@ -676,7 +665,7 @@ function Input({
676
665
  style
677
666
  ];
678
667
  let textInput = /* @__PURE__ */ React4.createElement(
679
- import_react_native5.TextInput,
668
+ import_react_native4.TextInput,
680
669
  {
681
670
  style: inputStyle,
682
671
  placeholderTextColor: theme.colors.text.replace(")", " / 0.6)"),
@@ -684,14 +673,14 @@ function Input({
684
673
  }
685
674
  );
686
675
  if (buttonRight) {
687
- textInput = /* @__PURE__ */ React4.createElement(import_react_native5.View, { style: inputStyles.container }, textInput, /* @__PURE__ */ React4.createElement(Button, { ...buttonRight, style: [inputStyles.buttonRadius] }));
676
+ textInput = /* @__PURE__ */ React4.createElement(import_react_native4.View, { style: inputStyles.container }, textInput, /* @__PURE__ */ React4.createElement(Button, { ...buttonRight, style: [inputStyles.buttonRadius] }));
688
677
  }
689
678
  if (label) {
690
- textInput = /* @__PURE__ */ React4.createElement(import_react_native5.View, { style: inputStyles.labelContainer }, /* @__PURE__ */ React4.createElement(Text2, { variant: "label" }, label), textInput);
679
+ textInput = /* @__PURE__ */ React4.createElement(import_react_native4.View, { style: inputStyles.labelContainer }, /* @__PURE__ */ React4.createElement(Text2, { variant: "label" }, label), textInput);
691
680
  }
692
681
  return textInput;
693
682
  }
694
- var inputBaseStyles = import_react_native5.StyleSheet.create({
683
+ var inputBaseStyles = import_react_native4.StyleSheet.create({
695
684
  base: {
696
685
  height: 40,
697
686
  borderRadius: 8,
@@ -700,10 +689,10 @@ var inputBaseStyles = import_react_native5.StyleSheet.create({
700
689
  paddingVertical: 8,
701
690
  fontSize: 16,
702
691
  // Platform specific adjustments
703
- ...import_react_native5.Platform.OS === "web" && {
692
+ ...import_react_native4.Platform.OS === "web" && {
704
693
  width: "100%"
705
694
  },
706
- ...import_react_native5.Platform.OS !== "web" && {
695
+ ...import_react_native4.Platform.OS !== "web" && {
707
696
  height: 48,
708
697
  // native:h-12
709
698
  fontSize: 18,
@@ -714,7 +703,7 @@ var inputBaseStyles = import_react_native5.StyleSheet.create({
714
703
  },
715
704
  disabled: {
716
705
  opacity: 0.5,
717
- ...import_react_native5.Platform.OS === "web" && {
706
+ ...import_react_native4.Platform.OS === "web" && {
718
707
  cursor: "not-allowed"
719
708
  }
720
709
  },
@@ -762,8 +751,8 @@ function useDataBrowserConfig() {
762
751
  }
763
752
 
764
753
  // components/TargetResourceProvider.tsx
765
- var import_solid_react2 = require("@ldo/solid-react");
766
- var import_react_native6 = require("react-native");
754
+ var import_solid_react = require("@ldo/solid-react");
755
+ var import_react_native5 = require("react-native");
767
756
  var TargetResourceContext = (0, import_react5.createContext)({});
768
757
  function useTargetResource() {
769
758
  return (0, import_react5.useContext)(TargetResourceContext);
@@ -772,14 +761,15 @@ var TargetResourceProvider = ({
772
761
  children
773
762
  }) => {
774
763
  const { mode, origin } = useDataBrowserConfig();
764
+ const { ranInitialAuthCheck } = (0, import_solid_react.useSolidAuth)();
775
765
  const [currentUrl, setCurrentUrl] = (0, import_react4.useState)(() => {
776
- return import_react_native6.Platform.OS === "web" ? new URL(window.location.href) : new URL("");
766
+ return import_react_native5.Platform.OS === "web" ? new URL(window.location.href) : new URL("");
777
767
  });
778
768
  const handleUrlChange = (0, import_react4.useCallback)(() => {
779
769
  setCurrentUrl(new URL(window.location.href));
780
770
  }, []);
781
771
  (0, import_react4.useEffect)(() => {
782
- if (import_react_native6.Platform.OS === "web") {
772
+ if (import_react_native5.Platform.OS === "web") {
783
773
  window.addEventListener("popstate", handleUrlChange);
784
774
  const originalPushState = history.pushState;
785
775
  const originalReplaceState = history.replaceState;
@@ -808,7 +798,7 @@ var TargetResourceProvider = ({
808
798
  finalUrl = `${origin}?uri=${encodeURIComponent(newRoute)}`;
809
799
  }
810
800
  setCurrentUrl(new URL(finalUrl));
811
- if (import_react_native6.Platform.OS === "web") {
801
+ if (import_react_native5.Platform.OS === "web") {
812
802
  window.history.pushState(null, "", finalUrl);
813
803
  }
814
804
  },
@@ -823,7 +813,11 @@ var TargetResourceProvider = ({
823
813
  const curHash = currentUrl.hash;
824
814
  return `${curOrigin}${curPathname}${curHash}`;
825
815
  }, [currentUrl, mode]);
826
- const targetResource = (0, import_solid_react2.useResource)(targetUri);
816
+ if (!ranInitialAuthCheck) return /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null);
817
+ return /* @__PURE__ */ import_react4.default.createElement(TargetResourceLoader, { targetUri, navigateTo }, children);
818
+ };
819
+ var TargetResourceLoader = ({ targetUri, navigateTo, children }) => {
820
+ const targetResource = (0, import_solid_react.useResource)(targetUri);
827
821
  const refresh = (0, import_react4.useCallback)(async () => {
828
822
  if (targetResource) {
829
823
  await targetResource?.read();
@@ -876,7 +870,7 @@ var AddressBox = () => {
876
870
  return [];
877
871
  }
878
872
  }, [targetUri]);
879
- return /* @__PURE__ */ import_react6.default.createElement(import_react_native7.View, { style: styles2.container }, /* @__PURE__ */ import_react6.default.createElement(
873
+ return /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: styles2.container }, /* @__PURE__ */ import_react6.default.createElement(
880
874
  Input,
881
875
  {
882
876
  style: [styles2.input, { backgroundColor: colors.border }],
@@ -900,14 +894,14 @@ var AddressBox = () => {
900
894
  textStyle: styles2.buttonText
901
895
  }
902
896
  ), /* @__PURE__ */ import_react6.default.createElement(
903
- import_react_native7.ScrollView,
897
+ import_react_native6.ScrollView,
904
898
  {
905
899
  style: styles2.breadcrumbContainer,
906
900
  contentContainerStyle: styles2.breadcrumbContentContainer,
907
901
  pointerEvents: "none",
908
902
  horizontal: true
909
903
  },
910
- !isTextMode && breadcrumbInfo.map((item, index) => /* @__PURE__ */ import_react6.default.createElement(import_react_native7.View, { style: styles2.breadcrumbItem, key: item.uri }, /* @__PURE__ */ import_react6.default.createElement(import_react_native7.TouchableOpacity, { onPress: () => navigateTo(item.uri) }, /* @__PURE__ */ import_react6.default.createElement(import_react_native7.View, { pointerEvents: "auto" }, /* @__PURE__ */ import_react6.default.createElement(Text2, { style: styles2.breadcrumbText, size: "sm" }, item.name))), index !== breadcrumbInfo.length - 1 ? /* @__PURE__ */ import_react6.default.createElement(Icon, { icon: import_lucide_react_native.ChevronRight, style: styles2.chevron }) : /* @__PURE__ */ import_react6.default.createElement(import_react_native7.View, { style: styles2.spacer })))
904
+ !isTextMode && breadcrumbInfo.map((item, index) => /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: styles2.breadcrumbItem, key: item.uri }, /* @__PURE__ */ import_react6.default.createElement(import_react_native6.TouchableOpacity, { onPress: () => navigateTo(item.uri) }, /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { pointerEvents: "auto" }, /* @__PURE__ */ import_react6.default.createElement(Text2, { style: styles2.breadcrumbText, size: "sm" }, item.name))), index !== breadcrumbInfo.length - 1 ? /* @__PURE__ */ import_react6.default.createElement(Icon, { icon: import_lucide_react_native.ChevronRight, style: styles2.chevron }) : /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: styles2.spacer })))
911
905
  ), (() => {
912
906
  const shouldRefresh = targetUri === textBoxValue || !isTextMode;
913
907
  return /* @__PURE__ */ import_react6.default.createElement(
@@ -928,7 +922,7 @@ var AddressBox = () => {
928
922
  );
929
923
  })());
930
924
  };
931
- var styles2 = import_react_native7.StyleSheet.create({
925
+ var styles2 = import_react_native6.StyleSheet.create({
932
926
  container: {
933
927
  flex: 1,
934
928
  height: 40
@@ -987,9 +981,9 @@ var styles2 = import_react_native7.StyleSheet.create({
987
981
  });
988
982
 
989
983
  // components/nav/header/AvatarMenu.tsx
990
- var import_solid_react3 = require("@ldo/solid-react");
984
+ var import_solid_react2 = require("@ldo/solid-react");
991
985
  var import_react12 = __toESM(require("react"));
992
- var import_react_native14 = require("react-native");
986
+ var import_react_native13 = require("react-native");
993
987
 
994
988
  // .ldo/profile.schema.ts
995
989
  var profileSchema = {
@@ -2194,17 +2188,17 @@ var SolidProfileShapeType = {
2194
2188
 
2195
2189
  // components/nav/header/ThemeToggleMenu.tsx
2196
2190
  var import_react10 = __toESM(require("react"));
2197
- var import_react_native12 = require("react-native");
2191
+ var import_react_native11 = require("react-native");
2198
2192
  var import_lucide_react_native10 = require("lucide-react-native");
2199
2193
  var import_lucide_react_native11 = require("lucide-react-native");
2200
2194
 
2201
2195
  // components/ui/switch.tsx
2202
2196
  var SwitchPrimitives = __toESM(require("@rn-primitives/switch"));
2203
2197
  var React7 = __toESM(require("react"));
2204
- var import_react_native8 = require("react-native");
2198
+ var import_react_native7 = require("react-native");
2205
2199
  var import_react_native_reanimated = __toESM(require("react-native-reanimated"));
2206
2200
  var import_native5 = require("@react-navigation/native");
2207
- var styles3 = import_react_native8.StyleSheet.create({
2201
+ var styles3 = import_react_native7.StyleSheet.create({
2208
2202
  switchRoot: {
2209
2203
  flexDirection: "row",
2210
2204
  height: 24,
@@ -2260,14 +2254,14 @@ function SwitchWeb({
2260
2254
  ...props
2261
2255
  }) {
2262
2256
  const { colors } = (0, import_native5.useTheme)();
2263
- const rootStyle = import_react_native8.StyleSheet.flatten([
2257
+ const rootStyle = import_react_native7.StyleSheet.flatten([
2264
2258
  styles3.switchRoot,
2265
2259
  {
2266
2260
  backgroundColor: props.checked ? colors.primary : colors.border
2267
2261
  },
2268
2262
  props.disabled && styles3.switchRootDisabled
2269
2263
  ]);
2270
- const thumbStyle = import_react_native8.StyleSheet.flatten([
2264
+ const thumbStyle = import_react_native7.StyleSheet.flatten([
2271
2265
  styles3.switchThumb,
2272
2266
  props.checked ? styles3.switchThumbChecked : styles3.switchThumbUnchecked
2273
2267
  ]);
@@ -2292,19 +2286,19 @@ function SwitchNative({
2292
2286
  { translateX: (0, import_react_native_reanimated.withTiming)(translateX.value, { duration: 200 }) }
2293
2287
  ]
2294
2288
  }));
2295
- const containerStyle = import_react_native8.StyleSheet.flatten([
2289
+ const containerStyle = import_react_native7.StyleSheet.flatten([
2296
2290
  styles3.switchNativeRoot,
2297
2291
  props.disabled && styles3.switchRootDisabled
2298
2292
  ]);
2299
2293
  return /* @__PURE__ */ React7.createElement(
2300
2294
  import_react_native_reanimated.default.View,
2301
2295
  {
2302
- style: import_react_native8.StyleSheet.flatten([animatedRootStyle, containerStyle])
2296
+ style: import_react_native7.StyleSheet.flatten([animatedRootStyle, containerStyle])
2303
2297
  },
2304
2298
  /* @__PURE__ */ React7.createElement(SwitchPrimitives.Root, { style: styles3.switchNativeRoot, ...props }, /* @__PURE__ */ React7.createElement(import_react_native_reanimated.default.View, { style: animatedThumbStyle }, /* @__PURE__ */ React7.createElement(SwitchPrimitives.Thumb, { style: styles3.switchNativeThumb })))
2305
2299
  );
2306
2300
  }
2307
- var Switch = import_react_native8.Platform.select({
2301
+ var Switch = import_react_native7.Platform.select({
2308
2302
  web: SwitchWeb,
2309
2303
  default: SwitchNative
2310
2304
  });
@@ -2312,12 +2306,42 @@ var Switch = import_react_native8.Platform.select({
2312
2306
  // components/ui/dropdown-menu.tsx
2313
2307
  var DropdownMenuPrimitive = __toESM(require("@rn-primitives/dropdown-menu"));
2314
2308
  var React8 = __toESM(require("react"));
2315
- var import_react_native9 = require("react-native");
2309
+ var import_react_native8 = require("react-native");
2316
2310
  var import_lucide_react_native6 = require("lucide-react-native");
2317
2311
  var import_lucide_react_native7 = require("lucide-react-native");
2318
2312
  var import_lucide_react_native8 = require("lucide-react-native");
2319
2313
  var import_lucide_react_native9 = require("lucide-react-native");
2320
2314
  var import_native6 = require("@react-navigation/native");
2315
+ var DROPDOWN_ANIMATION_CSS = `
2316
+ @keyframes dropdown-in {
2317
+ from { opacity: 0; transform: scaleY(0) translateY(-8px); }
2318
+ to { opacity: 1; transform: scaleY(1) translateY(0); }
2319
+ }
2320
+ @keyframes dropdown-out {
2321
+ from { opacity: 1; transform: scaleY(1) translateY(0); }
2322
+ to { opacity: 0; transform: scaleY(0) translateY(-8px); }
2323
+ }
2324
+ [role="menu"] {
2325
+ transform-origin: var(--radix-dropdown-menu-content-transform-origin);
2326
+ }
2327
+ [role="menu"][data-state="open"] {
2328
+ animation: dropdown-in 200ms cubic-bezier(0.16, 1, 0.3, 1);
2329
+ }
2330
+ [role="menu"][data-state="closed"] {
2331
+ animation: dropdown-out 150ms ease-in;
2332
+ }
2333
+ `;
2334
+ function useDropdownAnimation() {
2335
+ React8.useEffect(() => {
2336
+ if (import_react_native8.Platform.OS !== "web") return;
2337
+ const id = "rnp-dropdown-menu-animations";
2338
+ if (document.getElementById(id)) return;
2339
+ const el = document.createElement("style");
2340
+ el.id = id;
2341
+ el.textContent = DROPDOWN_ANIMATION_CSS;
2342
+ document.head.appendChild(el);
2343
+ }, []);
2344
+ }
2321
2345
  var DropdownMenu = DropdownMenuPrimitive.Root;
2322
2346
  var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
2323
2347
  var DropdownMenuGroup = DropdownMenuPrimitive.Group;
@@ -2332,19 +2356,19 @@ function DropdownMenuSubTrigger({
2332
2356
  }) {
2333
2357
  const theme = (0, import_native6.useTheme)();
2334
2358
  const { open } = DropdownMenuPrimitive.useSubContext();
2335
- const SubIcon = import_react_native9.Platform.OS === "web" ? import_lucide_react_native8.ChevronRight : open ? import_lucide_react_native9.ChevronUp : import_lucide_react_native7.ChevronDown;
2359
+ const SubIcon = import_react_native8.Platform.OS === "web" ? import_lucide_react_native8.ChevronRight : open ? import_lucide_react_native9.ChevronUp : import_lucide_react_native7.ChevronDown;
2336
2360
  return /* @__PURE__ */ React8.createElement(
2337
2361
  TextStyleProvider,
2338
2362
  {
2339
- style: import_react_native9.StyleSheet.flatten([
2363
+ style: import_react_native8.StyleSheet.flatten([
2340
2364
  styles4.subTriggerText,
2341
2365
  { color: theme.colors.text }
2342
2366
  ])
2343
2367
  },
2344
2368
  /* @__PURE__ */ React8.createElement(DropdownMenuPrimitive.SubTrigger, { asChild: true, ...props }, /* @__PURE__ */ React8.createElement(
2345
- import_react_native9.Pressable,
2369
+ import_react_native8.Pressable,
2346
2370
  {
2347
- style: ({ pressed, hovered }) => import_react_native9.StyleSheet.flatten([
2371
+ style: ({ pressed, hovered }) => import_react_native8.StyleSheet.flatten([
2348
2372
  styles4.subTrigger,
2349
2373
  open && { backgroundColor: theme.colors.border },
2350
2374
  (pressed || hovered) && { backgroundColor: theme.colors.border },
@@ -2385,18 +2409,19 @@ function DropdownMenuContent({
2385
2409
  ...props
2386
2410
  }) {
2387
2411
  const theme = (0, import_native6.useTheme)();
2412
+ useDropdownAnimation();
2388
2413
  return /* @__PURE__ */ React8.createElement(DropdownMenuPrimitive.Portal, { hostName: portalHost }, /* @__PURE__ */ React8.createElement(
2389
2414
  DropdownMenuPrimitive.Overlay,
2390
2415
  {
2391
- style: overlayStyle ? import_react_native9.StyleSheet.flatten([
2392
- import_react_native9.Platform.OS !== "web" ? import_react_native9.StyleSheet.absoluteFill : void 0,
2416
+ style: overlayStyle ? import_react_native8.StyleSheet.flatten([
2417
+ import_react_native8.Platform.OS !== "web" ? import_react_native8.StyleSheet.absoluteFill : void 0,
2393
2418
  overlayStyle
2394
- ]) : import_react_native9.Platform.OS !== "web" ? import_react_native9.StyleSheet.absoluteFill : void 0
2419
+ ]) : import_react_native8.Platform.OS !== "web" ? import_react_native8.StyleSheet.absoluteFill : void 0
2395
2420
  },
2396
2421
  /* @__PURE__ */ React8.createElement(
2397
2422
  DropdownMenuPrimitive.Content,
2398
2423
  {
2399
- style: import_react_native9.StyleSheet.flatten([
2424
+ style: import_react_native8.StyleSheet.flatten([
2400
2425
  styles4.content,
2401
2426
  {
2402
2427
  borderColor: theme.colors.border,
@@ -2417,10 +2442,10 @@ function DropdownMenuItem({
2417
2442
  ...props
2418
2443
  }) {
2419
2444
  const theme = (0, import_native6.useTheme)();
2420
- return /* @__PURE__ */ React8.createElement(TextStyleProvider, { style: { color: theme.colors.text } }, /* @__PURE__ */ React8.createElement(DropdownMenuPrimitive.Item, { asChild: true, ...props }, /* @__PURE__ */ React8.createElement(
2421
- import_react_native9.Pressable,
2445
+ return /* @__PURE__ */ React8.createElement(TextStyleProvider, { size: "sm", style: { color: theme.colors.text } }, /* @__PURE__ */ React8.createElement(DropdownMenuPrimitive.Item, { asChild: true, ...props }, /* @__PURE__ */ React8.createElement(
2446
+ import_react_native8.Pressable,
2422
2447
  {
2423
- style: ({ pressed, hovered }) => import_react_native9.StyleSheet.flatten([
2448
+ style: ({ pressed, hovered }) => import_react_native8.StyleSheet.flatten([
2424
2449
  styles4.item,
2425
2450
  inset && styles4.itemInset,
2426
2451
  props.disabled && styles4.itemDisabled,
@@ -2439,16 +2464,16 @@ function DropdownMenuCheckboxItem({
2439
2464
  }) {
2440
2465
  const theme = (0, import_native6.useTheme)();
2441
2466
  return /* @__PURE__ */ React8.createElement(DropdownMenuPrimitive.CheckboxItem, { asChild: true, checked, ...props }, /* @__PURE__ */ React8.createElement(
2442
- import_react_native9.Pressable,
2467
+ import_react_native8.Pressable,
2443
2468
  {
2444
- style: ({ pressed, hovered }) => import_react_native9.StyleSheet.flatten([
2469
+ style: ({ pressed, hovered }) => import_react_native8.StyleSheet.flatten([
2445
2470
  styles4.checkboxItem,
2446
2471
  props.disabled && styles4.checkboxItemDisabled,
2447
2472
  (pressed || hovered) && { backgroundColor: theme.colors.border },
2448
2473
  style
2449
2474
  ])
2450
2475
  },
2451
- /* @__PURE__ */ React8.createElement(import_react_native9.View, { style: styles4.checkboxIndicator }, /* @__PURE__ */ React8.createElement(DropdownMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React8.createElement(import_lucide_react_native6.Check, { size: 14, strokeWidth: 3, color: theme.colors.text }))),
2476
+ /* @__PURE__ */ React8.createElement(import_react_native8.View, { style: styles4.checkboxIndicator }, /* @__PURE__ */ React8.createElement(DropdownMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React8.createElement(import_lucide_react_native6.Check, { size: 14, strokeWidth: 3, color: theme.colors.text }))),
2452
2477
  children
2453
2478
  ));
2454
2479
  }
@@ -2459,17 +2484,17 @@ function DropdownMenuRadioItem({
2459
2484
  }) {
2460
2485
  const theme = (0, import_native6.useTheme)();
2461
2486
  return /* @__PURE__ */ React8.createElement(DropdownMenuPrimitive.RadioItem, { asChild: true, ...props }, /* @__PURE__ */ React8.createElement(
2462
- import_react_native9.Pressable,
2487
+ import_react_native8.Pressable,
2463
2488
  {
2464
- style: ({ pressed, hovered }) => import_react_native9.StyleSheet.flatten([
2489
+ style: ({ pressed, hovered }) => import_react_native8.StyleSheet.flatten([
2465
2490
  styles4.radioItem,
2466
2491
  props.disabled && styles4.radioItemDisabled,
2467
2492
  (pressed || hovered) && { backgroundColor: theme.colors.border },
2468
2493
  style
2469
2494
  ])
2470
2495
  },
2471
- /* @__PURE__ */ React8.createElement(import_react_native9.View, { style: styles4.radioIndicator }, /* @__PURE__ */ React8.createElement(DropdownMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React8.createElement(
2472
- import_react_native9.View,
2496
+ /* @__PURE__ */ React8.createElement(import_react_native8.View, { style: styles4.radioIndicator }, /* @__PURE__ */ React8.createElement(DropdownMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React8.createElement(
2497
+ import_react_native8.View,
2473
2498
  {
2474
2499
  style: [styles4.radioDot, { backgroundColor: theme.colors.text }]
2475
2500
  }
@@ -2486,7 +2511,7 @@ function DropdownMenuLabel({
2486
2511
  return /* @__PURE__ */ React8.createElement(
2487
2512
  DropdownMenuPrimitive.Label,
2488
2513
  {
2489
- style: import_react_native9.StyleSheet.flatten([
2514
+ style: import_react_native8.StyleSheet.flatten([
2490
2515
  styles4.label,
2491
2516
  { color: theme.colors.text },
2492
2517
  inset && styles4.labelInset,
@@ -2504,7 +2529,7 @@ function DropdownMenuSeparator({
2504
2529
  return /* @__PURE__ */ React8.createElement(
2505
2530
  DropdownMenuPrimitive.Separator,
2506
2531
  {
2507
- style: import_react_native9.StyleSheet.flatten([
2532
+ style: import_react_native8.StyleSheet.flatten([
2508
2533
  styles4.separator,
2509
2534
  { backgroundColor: theme.colors.border },
2510
2535
  style
@@ -2516,7 +2541,7 @@ function DropdownMenuSeparator({
2516
2541
  function DropdownMenuShortcut({ style, ...props }) {
2517
2542
  const theme = (0, import_native6.useTheme)();
2518
2543
  return /* @__PURE__ */ React8.createElement(
2519
- import_react_native9.Text,
2544
+ import_react_native8.Text,
2520
2545
  {
2521
2546
  style: [
2522
2547
  styles4.shortcut,
@@ -2528,10 +2553,10 @@ function DropdownMenuShortcut({ style, ...props }) {
2528
2553
  }
2529
2554
  );
2530
2555
  }
2531
- var styles4 = import_react_native9.StyleSheet.create({
2556
+ var styles4 = import_react_native8.StyleSheet.create({
2532
2557
  // SubTrigger styles
2533
2558
  subTriggerText: {
2534
- fontSize: import_react_native9.Platform.OS === "web" ? 14 : 18
2559
+ fontSize: import_react_native8.Platform.OS === "web" ? 14 : 18
2535
2560
  // text-sm native:text-lg
2536
2561
  },
2537
2562
  subTriggerTextOpen: {
@@ -2544,7 +2569,7 @@ var styles4 = import_react_native9.StyleSheet.create({
2544
2569
  // gap-2
2545
2570
  paddingHorizontal: 8,
2546
2571
  // px-2
2547
- paddingVertical: import_react_native9.Platform.OS === "web" ? 6 : 8,
2572
+ paddingVertical: import_react_native8.Platform.OS === "web" ? 6 : 8,
2548
2573
  // py-1.5 native:py-2
2549
2574
  borderRadius: 2
2550
2575
  // rounded-sm
@@ -2575,11 +2600,10 @@ var styles4 = import_react_native9.StyleSheet.create({
2575
2600
  // mt-1
2576
2601
  padding: 4,
2577
2602
  // p-1
2578
- shadowOffset: { width: 0, height: 1 },
2579
- shadowOpacity: 0.05,
2580
- // shadow-foreground/5
2581
- shadowRadius: 2,
2582
- elevation: 2
2603
+ shadowOffset: { width: 0, height: 4 },
2604
+ shadowOpacity: 0.12,
2605
+ shadowRadius: 8,
2606
+ elevation: 8
2583
2607
  // Android shadow
2584
2608
  // Border color, background color, and shadow color applied at render time
2585
2609
  },
@@ -2595,11 +2619,10 @@ var styles4 = import_react_native9.StyleSheet.create({
2595
2619
  borderWidth: 1,
2596
2620
  padding: 4,
2597
2621
  // p-1
2598
- shadowOffset: { width: 0, height: 1 },
2599
- shadowOpacity: 0.05,
2600
- // shadow-foreground/5
2601
- shadowRadius: 2,
2602
- elevation: 2
2622
+ shadowOffset: { width: 0, height: 4 },
2623
+ shadowOpacity: 0.12,
2624
+ shadowRadius: 8,
2625
+ elevation: 8
2603
2626
  // Android shadow
2604
2627
  // Border color, background color, and shadow color applied at render time
2605
2628
  },
@@ -2613,7 +2636,7 @@ var styles4 = import_react_native9.StyleSheet.create({
2613
2636
  // rounded-sm
2614
2637
  paddingHorizontal: 8,
2615
2638
  // px-2
2616
- paddingVertical: import_react_native9.Platform.OS === "web" ? 6 : 8
2639
+ paddingVertical: import_react_native8.Platform.OS === "web" ? 6 : 8
2617
2640
  // py-1.5 native:py-2
2618
2641
  },
2619
2642
  itemInset: {
@@ -2631,7 +2654,7 @@ var styles4 = import_react_native9.StyleSheet.create({
2631
2654
  alignItems: "center",
2632
2655
  borderRadius: 2,
2633
2656
  // rounded-sm
2634
- paddingVertical: import_react_native9.Platform.OS === "web" ? 6 : 8,
2657
+ paddingVertical: import_react_native8.Platform.OS === "web" ? 6 : 8,
2635
2658
  // py-1.5 native:py-2
2636
2659
  paddingLeft: 32,
2637
2660
  // pl-8
@@ -2663,7 +2686,7 @@ var styles4 = import_react_native9.StyleSheet.create({
2663
2686
  alignItems: "center",
2664
2687
  borderRadius: 2,
2665
2688
  // rounded-sm
2666
- paddingVertical: import_react_native9.Platform.OS === "web" ? 6 : 8,
2689
+ paddingVertical: import_react_native8.Platform.OS === "web" ? 6 : 8,
2667
2690
  // py-1.5 native:py-2
2668
2691
  paddingLeft: 32,
2669
2692
  // pl-8
@@ -2700,7 +2723,7 @@ var styles4 = import_react_native9.StyleSheet.create({
2700
2723
  // px-2
2701
2724
  paddingVertical: 6,
2702
2725
  // py-1.5
2703
- fontSize: import_react_native9.Platform.OS === "web" ? 14 : 16,
2726
+ fontSize: import_react_native8.Platform.OS === "web" ? 14 : 16,
2704
2727
  // text-sm native:text-base
2705
2728
  fontWeight: "600"
2706
2729
  // font-semibold
@@ -2723,7 +2746,7 @@ var styles4 = import_react_native9.StyleSheet.create({
2723
2746
  // Shortcut styles
2724
2747
  shortcut: {
2725
2748
  marginLeft: "auto",
2726
- fontSize: import_react_native9.Platform.OS === "web" ? 12 : 14,
2749
+ fontSize: import_react_native8.Platform.OS === "web" ? 12 : 14,
2727
2750
  // text-xs native:text-sm
2728
2751
  letterSpacing: 0.1
2729
2752
  // tracking-widest
@@ -2735,7 +2758,7 @@ var styles4 = import_react_native9.StyleSheet.create({
2735
2758
  var import_react8 = __toESM(require("react"));
2736
2759
  var import_async_storage = __toESM(require("@react-native-async-storage/async-storage"));
2737
2760
  var import_react9 = require("react");
2738
- var import_react_native11 = require("react-native");
2761
+ var import_react_native10 = require("react-native");
2739
2762
  var import_native7 = require("@react-navigation/native");
2740
2763
 
2741
2764
  // lib/constants.ts
@@ -2743,7 +2766,7 @@ var NAV_THEME = {
2743
2766
  light: {
2744
2767
  background: "hsl(0 0% 99%)",
2745
2768
  border: "hsl(220 13% 91%)",
2746
- card: "hsl(0 0% 100%)",
2769
+ card: "hsl(220 14% 96%)",
2747
2770
  notification: "hsl(0 72% 51%)",
2748
2771
  primary: "hsl(220 70% 45%)",
2749
2772
  text: "hsl(220 15% 12%)"
@@ -2751,7 +2774,7 @@ var NAV_THEME = {
2751
2774
  dark: {
2752
2775
  background: "hsl(222 18% 8%)",
2753
2776
  border: "hsl(217 18% 18%)",
2754
- card: "hsl(222 18% 10%)",
2777
+ card: "hsl(222 18% 14%)",
2755
2778
  notification: "hsl(0 62% 50%)",
2756
2779
  primary: "hsl(217 91% 60%)",
2757
2780
  text: "hsl(210 20% 96%)"
@@ -2760,9 +2783,9 @@ var NAV_THEME = {
2760
2783
 
2761
2784
  // lib/android-navigation-bar.ts
2762
2785
  var NavigationBar = __toESM(require("expo-navigation-bar"));
2763
- var import_react_native10 = require("react-native");
2786
+ var import_react_native9 = require("react-native");
2764
2787
  async function setAndroidNavigationBar(theme) {
2765
- if (import_react_native10.Platform.OS !== "android") return;
2788
+ if (import_react_native9.Platform.OS !== "android") return;
2766
2789
  await NavigationBar.setButtonStyleAsync(theme === "dark" ? "light" : "dark");
2767
2790
  await NavigationBar.setBackgroundColorAsync(
2768
2791
  theme === "dark" ? NAV_THEME.dark.background : NAV_THEME.light.background
@@ -2788,7 +2811,7 @@ var ThemeProviderContext = (0, import_react9.createContext)({
2788
2811
  function useThemeChange() {
2789
2812
  return (0, import_react9.useContext)(ThemeProviderContext);
2790
2813
  }
2791
- var usePlatformSpecificSetup = import_react_native11.Platform.select({
2814
+ var usePlatformSpecificSetup = import_react_native10.Platform.select({
2792
2815
  android: useSetAndroidNavigationBar,
2793
2816
  default: noop
2794
2817
  });
@@ -2802,8 +2825,8 @@ var ThemeProvider = ({
2802
2825
  useSetWebBackgroundClassName(resolvedScheme);
2803
2826
  (0, import_react8.useEffect)(() => {
2804
2827
  const lookupCurColorScheme = async () => {
2805
- setColorScheme(import_react_native11.Appearance.getColorScheme() ?? "light");
2806
- const storedColorSchemeName = await import_async_storage.default.getItem(COLOR_SCHEME_KEY) || import_react_native11.Appearance.getColorScheme();
2828
+ setColorScheme(import_react_native10.Appearance.getColorScheme() ?? "light");
2829
+ const storedColorSchemeName = await import_async_storage.default.getItem(COLOR_SCHEME_KEY) || import_react_native10.Appearance.getColorScheme();
2807
2830
  if (storedColorSchemeName) {
2808
2831
  setColorScheme(storedColorSchemeName);
2809
2832
  }
@@ -2830,10 +2853,10 @@ var ThemeProvider = ({
2830
2853
  /* @__PURE__ */ import_react8.default.createElement(ThemeProviderContext.Provider, { value: context }, children)
2831
2854
  ));
2832
2855
  };
2833
- var useIsomorphicLayoutEffect = import_react_native11.Platform.OS === "web" && typeof window === "undefined" ? import_react8.default.useEffect : import_react8.default.useLayoutEffect;
2856
+ var useIsomorphicLayoutEffect = import_react_native10.Platform.OS === "web" && typeof window === "undefined" ? import_react8.default.useEffect : import_react8.default.useLayoutEffect;
2834
2857
  function useSetWebBackgroundClassName(colorScheme) {
2835
2858
  useIsomorphicLayoutEffect(() => {
2836
- if (import_react_native11.Platform.OS !== "web" || typeof document === "undefined") return;
2859
+ if (import_react_native10.Platform.OS !== "web" || typeof document === "undefined") return;
2837
2860
  const el = document.documentElement;
2838
2861
  el.classList.add("bg-background");
2839
2862
  if (colorScheme === "dark") {
@@ -2848,7 +2871,7 @@ function useSetWebBackgroundClassName(colorScheme) {
2848
2871
  }
2849
2872
  function useSetAndroidNavigationBar() {
2850
2873
  import_react8.default.useLayoutEffect(() => {
2851
- setAndroidNavigationBar(import_react_native11.Appearance.getColorScheme() ?? "light");
2874
+ setAndroidNavigationBar(import_react_native10.Appearance.getColorScheme() ?? "light");
2852
2875
  }, []);
2853
2876
  }
2854
2877
  function noop() {
@@ -2866,7 +2889,7 @@ var ThemeToggleMenu = () => {
2866
2889
  style: styles5.dropdownMenuItem,
2867
2890
  closeOnPress: false
2868
2891
  },
2869
- /* @__PURE__ */ import_react10.default.createElement(import_react_native12.View, { style: styles5.textContainer }, /* @__PURE__ */ import_react10.default.createElement(Icon, { icon: colorScheme === "dark" ? import_lucide_react_native10.MoonStar : import_lucide_react_native11.Sun }), /* @__PURE__ */ import_react10.default.createElement(Text2, null, "Dark Mode")),
2892
+ /* @__PURE__ */ import_react10.default.createElement(import_react_native11.View, { style: styles5.textContainer }, /* @__PURE__ */ import_react10.default.createElement(Icon, { icon: colorScheme === "dark" ? import_lucide_react_native10.MoonStar : import_lucide_react_native11.Sun }), /* @__PURE__ */ import_react10.default.createElement(Text2, null, "Dark Mode")),
2870
2893
  /* @__PURE__ */ import_react10.default.createElement(
2871
2894
  Switch,
2872
2895
  {
@@ -2878,7 +2901,7 @@ var ThemeToggleMenu = () => {
2878
2901
  )
2879
2902
  );
2880
2903
  };
2881
- var styles5 = import_react_native12.StyleSheet.create({
2904
+ var styles5 = import_react_native11.StyleSheet.create({
2882
2905
  dropdownMenuItem: {
2883
2906
  justifyContent: "space-between"
2884
2907
  },
@@ -2899,7 +2922,7 @@ var import_react11 = __toESM(require("react"));
2899
2922
  var import_native8 = require("@react-navigation/native");
2900
2923
  var AvatarPrimitive = __toESM(require("@rn-primitives/avatar"));
2901
2924
  var React11 = __toESM(require("react"));
2902
- var import_react_native13 = require("react-native");
2925
+ var import_react_native12 = require("react-native");
2903
2926
  function Avatar({
2904
2927
  style,
2905
2928
  ...props
@@ -2907,7 +2930,7 @@ function Avatar({
2907
2930
  return /* @__PURE__ */ React11.createElement(
2908
2931
  AvatarPrimitive.Root,
2909
2932
  {
2910
- style: import_react_native13.StyleSheet.flatten([styles6.avatar, style]),
2933
+ style: import_react_native12.StyleSheet.flatten([styles6.avatar, style]),
2911
2934
  ...props
2912
2935
  }
2913
2936
  );
@@ -2919,7 +2942,7 @@ function AvatarImage({
2919
2942
  return /* @__PURE__ */ React11.createElement(
2920
2943
  AvatarPrimitive.Image,
2921
2944
  {
2922
- style: import_react_native13.StyleSheet.flatten([styles6.image, style]),
2945
+ style: import_react_native12.StyleSheet.flatten([styles6.image, style]),
2923
2946
  ...props
2924
2947
  }
2925
2948
  );
@@ -2932,7 +2955,7 @@ function AvatarFallback({
2932
2955
  return /* @__PURE__ */ React11.createElement(
2933
2956
  AvatarPrimitive.Fallback,
2934
2957
  {
2935
- style: import_react_native13.StyleSheet.flatten([
2958
+ style: import_react_native12.StyleSheet.flatten([
2936
2959
  styles6.fallback,
2937
2960
  { backgroundColor: colors.border },
2938
2961
  style
@@ -2941,7 +2964,7 @@ function AvatarFallback({
2941
2964
  }
2942
2965
  );
2943
2966
  }
2944
- var styles6 = import_react_native13.StyleSheet.create({
2967
+ var styles6 = import_react_native12.StyleSheet.create({
2945
2968
  avatar: {
2946
2969
  position: "relative",
2947
2970
  flexDirection: "row",
@@ -2975,21 +2998,21 @@ var ProfileAvatar = ({
2975
2998
 
2976
2999
  // components/nav/header/AvatarMenu.tsx
2977
3000
  var AvatarMenu = () => {
2978
- const { session, logout } = (0, import_solid_react3.useSolidAuth)();
2979
- const webIdResource = (0, import_solid_react3.useResource)(session.webId);
2980
- const profile = (0, import_solid_react3.useSubject)(SolidProfileShapeType, session.webId);
3001
+ const { session, logout } = (0, import_solid_react2.useSolidAuth)();
3002
+ const webIdResource = (0, import_solid_react2.useResource)(session.webId);
3003
+ const profile = (0, import_solid_react2.useSubject)(SolidProfileShapeType, session.webId);
2981
3004
  const { navigateTo } = useTargetResource();
2982
3005
  if (!session.webId) return /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null);
2983
- return /* @__PURE__ */ import_react12.default.createElement(DropdownMenu, null, /* @__PURE__ */ import_react12.default.createElement(DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ import_react12.default.createElement(Button, { key: "setMemu", variant: "ghost", style: styles7.button }, /* @__PURE__ */ import_react12.default.createElement(ProfileAvatar, { profile }))), /* @__PURE__ */ import_react12.default.createElement(DropdownMenuContent, { style: styles7.dropdownContent }, /* @__PURE__ */ import_react12.default.createElement(import_react_native14.View, { style: styles7.profileContainer }, /* @__PURE__ */ import_react12.default.createElement(ProfileAvatar, { profile, style: styles7.profileAvatar }), /* @__PURE__ */ import_react12.default.createElement(import_react_native14.View, { style: styles7.profileInfo }, /* @__PURE__ */ import_react12.default.createElement(Text2, null, profile?.fn || ""), /* @__PURE__ */ import_react12.default.createElement(
3006
+ return /* @__PURE__ */ import_react12.default.createElement(DropdownMenu, null, /* @__PURE__ */ import_react12.default.createElement(DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ import_react12.default.createElement(Button, { key: "setMemu", variant: "ghost", style: styles7.button }, /* @__PURE__ */ import_react12.default.createElement(ProfileAvatar, { profile }))), /* @__PURE__ */ import_react12.default.createElement(DropdownMenuContent, { style: styles7.dropdownContent }, /* @__PURE__ */ import_react12.default.createElement(import_react_native13.View, { style: styles7.profileContainer }, /* @__PURE__ */ import_react12.default.createElement(ProfileAvatar, { profile, style: styles7.profileAvatar }), /* @__PURE__ */ import_react12.default.createElement(import_react_native13.View, { style: styles7.profileInfo }, /* @__PURE__ */ import_react12.default.createElement(Text2, null, profile?.fn || ""), /* @__PURE__ */ import_react12.default.createElement(
2984
3007
  Button,
2985
3008
  {
2986
3009
  size: "sm",
2987
3010
  onPress: () => navigateTo(session.webId ?? ""),
2988
3011
  text: "Edit your profile"
2989
3012
  }
2990
- ))), /* @__PURE__ */ import_react12.default.createElement(DropdownMenuSeparator, null), /* @__PURE__ */ import_react12.default.createElement(ThemeToggleMenu, null), /* @__PURE__ */ import_react12.default.createElement(DropdownMenuSeparator, null), /* @__PURE__ */ import_react12.default.createElement(DropdownMenuItem, { onPress: logout }, /* @__PURE__ */ import_react12.default.createElement(import_react_native14.View, { style: styles7.logoutText }, /* @__PURE__ */ import_react12.default.createElement(Icon, { icon: import_lucide_react_native13.LogOut }), /* @__PURE__ */ import_react12.default.createElement(Text2, null, "Log Out")))));
3013
+ ))), /* @__PURE__ */ import_react12.default.createElement(DropdownMenuSeparator, null), /* @__PURE__ */ import_react12.default.createElement(ThemeToggleMenu, null), /* @__PURE__ */ import_react12.default.createElement(DropdownMenuSeparator, null), /* @__PURE__ */ import_react12.default.createElement(DropdownMenuItem, { onPress: logout }, /* @__PURE__ */ import_react12.default.createElement(import_react_native13.View, { style: styles7.logoutText }, /* @__PURE__ */ import_react12.default.createElement(Icon, { icon: import_lucide_react_native13.LogOut }), /* @__PURE__ */ import_react12.default.createElement(Text2, null, "Log Out")))));
2991
3014
  };
2992
- var styles7 = import_react_native14.StyleSheet.create({
3015
+ var styles7 = import_react_native13.StyleSheet.create({
2993
3016
  button: {
2994
3017
  width: 40
2995
3018
  },
@@ -3020,15 +3043,15 @@ var styles7 = import_react_native14.StyleSheet.create({
3020
3043
  });
3021
3044
 
3022
3045
  // components/nav/header/SignInMenu.tsx
3023
- var import_solid_react4 = require("@ldo/solid-react");
3046
+ var import_solid_react3 = require("@ldo/solid-react");
3024
3047
  var import_react13 = __toESM(require("react"));
3025
- var import_react_native16 = require("react-native");
3048
+ var import_react_native15 = require("react-native");
3026
3049
  var import_lucide_react_native15 = require("lucide-react-native");
3027
3050
 
3028
3051
  // components/ui/dialog.tsx
3029
3052
  var DialogPrimitive = __toESM(require("@rn-primitives/dialog"));
3030
3053
  var React14 = __toESM(require("react"));
3031
- var import_react_native15 = require("react-native");
3054
+ var import_react_native14 = require("react-native");
3032
3055
  var import_react_native_reanimated2 = __toESM(require("react-native-reanimated"));
3033
3056
  var import_lucide_react_native14 = require("lucide-react-native");
3034
3057
  var import_native9 = require("@react-navigation/native");
@@ -3043,7 +3066,7 @@ function DialogOverlayWeb({
3043
3066
  return /* @__PURE__ */ React14.createElement(
3044
3067
  DialogPrimitive.Overlay,
3045
3068
  {
3046
- style: import_react_native15.StyleSheet.flatten([styles8.overlay, style]),
3069
+ style: import_react_native14.StyleSheet.flatten([styles8.overlay, style]),
3047
3070
  ...props
3048
3071
  }
3049
3072
  );
@@ -3056,7 +3079,7 @@ function DialogOverlayNative({
3056
3079
  return /* @__PURE__ */ React14.createElement(
3057
3080
  DialogPrimitive.Overlay,
3058
3081
  {
3059
- style: [import_react_native15.StyleSheet.absoluteFill, styles8.overlayNative, style],
3082
+ style: [import_react_native14.StyleSheet.absoluteFill, styles8.overlayNative, style],
3060
3083
  ...props
3061
3084
  },
3062
3085
  /* @__PURE__ */ React14.createElement(
@@ -3069,7 +3092,7 @@ function DialogOverlayNative({
3069
3092
  )
3070
3093
  );
3071
3094
  }
3072
- var DialogOverlay = import_react_native15.Platform.select({
3095
+ var DialogOverlay = import_react_native14.Platform.select({
3073
3096
  web: DialogOverlayWeb,
3074
3097
  default: DialogOverlayNative
3075
3098
  });
@@ -3083,7 +3106,7 @@ function DialogContent({
3083
3106
  return /* @__PURE__ */ React14.createElement(DialogPortal, { hostName: portalHost }, /* @__PURE__ */ React14.createElement(DialogOverlay, null, /* @__PURE__ */ React14.createElement(
3084
3107
  DialogPrimitive.Content,
3085
3108
  {
3086
- style: import_react_native15.StyleSheet.flatten([
3109
+ style: import_react_native14.StyleSheet.flatten([
3087
3110
  styles8.content,
3088
3111
  { borderColor: colors.border, backgroundColor: colors.background },
3089
3112
  style
@@ -3091,19 +3114,19 @@ function DialogContent({
3091
3114
  ...props
3092
3115
  },
3093
3116
  children,
3094
- /* @__PURE__ */ React14.createElement(DialogPrimitive.Close, { style: styles8.closeButton }, /* @__PURE__ */ React14.createElement(import_lucide_react_native14.X, { size: import_react_native15.Platform.OS === "web" ? 16 : 18, color: colors.text }))
3117
+ /* @__PURE__ */ React14.createElement(DialogPrimitive.Close, { style: styles8.closeButton }, /* @__PURE__ */ React14.createElement(import_lucide_react_native14.X, { size: import_react_native14.Platform.OS === "web" ? 16 : 18, color: colors.text }))
3095
3118
  )));
3096
3119
  }
3097
3120
  function DialogHeader({ style, ...props }) {
3098
- return /* @__PURE__ */ React14.createElement(import_react_native15.View, { style: import_react_native15.StyleSheet.flatten([styles8.header, style]), ...props });
3121
+ return /* @__PURE__ */ React14.createElement(import_react_native14.View, { style: import_react_native14.StyleSheet.flatten([styles8.header, style]), ...props });
3099
3122
  }
3100
3123
  function DialogFooter({ style, ...props }) {
3101
3124
  return /* @__PURE__ */ React14.createElement(
3102
- import_react_native15.View,
3125
+ import_react_native14.View,
3103
3126
  {
3104
- style: import_react_native15.StyleSheet.flatten([
3127
+ style: import_react_native14.StyleSheet.flatten([
3105
3128
  styles8.footer,
3106
- import_react_native15.Platform.OS === "web" && styles8.footerRow,
3129
+ import_react_native14.Platform.OS === "web" && styles8.footerRow,
3107
3130
  style
3108
3131
  ]),
3109
3132
  ...props
@@ -3118,7 +3141,7 @@ function DialogTitle({
3118
3141
  return /* @__PURE__ */ React14.createElement(
3119
3142
  DialogPrimitive.Title,
3120
3143
  {
3121
- style: import_react_native15.StyleSheet.flatten([styles8.title, { color: colors.text }, style]),
3144
+ style: import_react_native14.StyleSheet.flatten([styles8.title, { color: colors.text }, style]),
3122
3145
  ...props
3123
3146
  }
3124
3147
  );
@@ -3131,7 +3154,7 @@ function DialogDescription({
3131
3154
  return /* @__PURE__ */ React14.createElement(
3132
3155
  DialogPrimitive.Description,
3133
3156
  {
3134
- style: import_react_native15.StyleSheet.flatten([
3157
+ style: import_react_native14.StyleSheet.flatten([
3135
3158
  styles8.description,
3136
3159
  { color: colors.text },
3137
3160
  style
@@ -3140,7 +3163,7 @@ function DialogDescription({
3140
3163
  }
3141
3164
  );
3142
3165
  }
3143
- var styles8 = import_react_native15.StyleSheet.create({
3166
+ var styles8 = import_react_native14.StyleSheet.create({
3144
3167
  overlay: {
3145
3168
  backgroundColor: "rgba(0, 0, 0, 0.6)",
3146
3169
  flex: 1,
@@ -3192,8 +3215,7 @@ var styles8 = import_react_native15.StyleSheet.create({
3192
3215
  flexDirection: "column",
3193
3216
  gap: 6,
3194
3217
  // gap-1.5
3195
- textAlign: "center",
3196
- borderBottomWidth: 1
3218
+ textAlign: "center"
3197
3219
  },
3198
3220
  footer: {
3199
3221
  flexDirection: "column-reverse",
@@ -3205,17 +3227,17 @@ var styles8 = import_react_native15.StyleSheet.create({
3205
3227
  justifyContent: "flex-end"
3206
3228
  },
3207
3229
  title: {
3208
- fontSize: import_react_native15.Platform.OS === "web" ? 18 : 20,
3230
+ fontSize: import_react_native14.Platform.OS === "web" ? 18 : 20,
3209
3231
  // text-lg native:text-xl
3210
3232
  fontWeight: "600",
3211
3233
  // font-semibold
3212
- lineHeight: import_react_native15.Platform.OS === "web" ? 20 : 22,
3234
+ lineHeight: import_react_native14.Platform.OS === "web" ? 20 : 22,
3213
3235
  // leading-none
3214
3236
  letterSpacing: -0.025
3215
3237
  // tracking-tight
3216
3238
  },
3217
3239
  description: {
3218
- fontSize: import_react_native15.Platform.OS === "web" ? 14 : 16,
3240
+ fontSize: import_react_native14.Platform.OS === "web" ? 14 : 16,
3219
3241
  // text-sm native:text-base
3220
3242
  opacity: 0.7
3221
3243
  }
@@ -3225,14 +3247,14 @@ var styles8 = import_react_native15.StyleSheet.create({
3225
3247
  var SignInMenu = () => {
3226
3248
  const [idpValue, setIdpValue] = (0, import_react13.useState)("");
3227
3249
  const [, setIdpError] = (0, import_react13.useState)();
3228
- const { login, signUp } = (0, import_solid_react4.useSolidAuth)();
3229
- const { width } = (0, import_react_native16.useWindowDimensions)();
3250
+ const { login, signUp } = (0, import_solid_react3.useSolidAuth)();
3251
+ const { width } = (0, import_react_native15.useWindowDimensions)();
3230
3252
  const { defaultIssuer } = useDataBrowserConfig();
3231
3253
  const isSmallScreen = width < 640;
3232
3254
  const onIdpSubmit = (0, import_react13.useCallback)(async () => {
3233
3255
  setIdpError(void 0);
3234
3256
  try {
3235
- await login(idpValue);
3257
+ await login(idpValue, window.location.href);
3236
3258
  } catch (err) {
3237
3259
  if (err instanceof Error) {
3238
3260
  setIdpError(err.message);
@@ -3242,11 +3264,11 @@ var SignInMenu = () => {
3242
3264
  }
3243
3265
  }, [idpValue, login]);
3244
3266
  const renderButtonGroup = () => {
3245
- return /* @__PURE__ */ import_react13.default.createElement(import_react_native16.View, { style: styles9.buttonGroup }, !isSmallScreen && /* @__PURE__ */ import_react13.default.createElement(
3267
+ return /* @__PURE__ */ import_react13.default.createElement(import_react_native15.View, { style: styles9.buttonGroup }, !isSmallScreen && /* @__PURE__ */ import_react13.default.createElement(
3246
3268
  Button,
3247
3269
  {
3248
3270
  key: "signUp",
3249
- onPress: () => signUp(defaultIssuer),
3271
+ onPress: () => signUp(defaultIssuer, window.location.href),
3250
3272
  variant: "ghost",
3251
3273
  text: "Sign Up"
3252
3274
  }
@@ -3254,7 +3276,7 @@ var SignInMenu = () => {
3254
3276
  Button,
3255
3277
  {
3256
3278
  key: "logIn",
3257
- onPress: () => login(defaultIssuer),
3279
+ onPress: () => login(defaultIssuer, window.location.href),
3258
3280
  variant: "default",
3259
3281
  text: "Log In"
3260
3282
  }
@@ -3270,13 +3292,13 @@ var SignInMenu = () => {
3270
3292
  )), /* @__PURE__ */ import_react13.default.createElement(DropdownMenuContent, { style: styles9.dropdownContent }, /* @__PURE__ */ import_react13.default.createElement(DropdownMenuGroup, null, isSmallScreen && /* @__PURE__ */ import_react13.default.createElement(
3271
3293
  DropdownMenuItem,
3272
3294
  {
3273
- onPress: () => signUp(defaultIssuer)
3295
+ onPress: () => signUp(defaultIssuer, window.location.href)
3274
3296
  },
3275
3297
  /* @__PURE__ */ import_react13.default.createElement(Text2, null, "Sign Up")
3276
3298
  ), isSmallScreen && /* @__PURE__ */ import_react13.default.createElement(
3277
3299
  DropdownMenuItem,
3278
3300
  {
3279
- onPress: () => login(defaultIssuer)
3301
+ onPress: () => login(defaultIssuer, window.location.href)
3280
3302
  },
3281
3303
  /* @__PURE__ */ import_react13.default.createElement(Text2, null, "Log In")
3282
3304
  ), /* @__PURE__ */ import_react13.default.createElement(Dialog, null, /* @__PURE__ */ import_react13.default.createElement(DialogTrigger, { asChild: true }, /* @__PURE__ */ import_react13.default.createElement(DropdownMenuItem, { closeOnPress: false }, /* @__PURE__ */ import_react13.default.createElement(Text2, null, "Log in with Another Pod"))), /* @__PURE__ */ import_react13.default.createElement(DialogContent, { style: styles9.dialogContent }, /* @__PURE__ */ import_react13.default.createElement(DialogHeader, null, /* @__PURE__ */ import_react13.default.createElement(DialogTitle, null, "Solid WebId or Identity Provider"), /* @__PURE__ */ import_react13.default.createElement(DialogDescription, null, /* @__PURE__ */ import_react13.default.createElement(
@@ -3291,7 +3313,7 @@ var SignInMenu = () => {
3291
3313
  };
3292
3314
  return renderButtonGroup();
3293
3315
  };
3294
- var styles9 = import_react_native16.StyleSheet.create({
3316
+ var styles9 = import_react_native15.StyleSheet.create({
3295
3317
  buttonGroup: {
3296
3318
  flexDirection: "row"
3297
3319
  },
@@ -3311,7 +3333,7 @@ var styles9 = import_react_native16.StyleSheet.create({
3311
3333
 
3312
3334
  // components/nav/header/ViewMenu.tsx
3313
3335
  var import_react16 = __toESM(require("react"));
3314
- var import_react_native19 = require("react-native");
3336
+ var import_react_native18 = require("react-native");
3315
3337
  var import_lucide_react_native23 = require("lucide-react-native");
3316
3338
 
3317
3339
  // components/useViewContext.tsx
@@ -3330,7 +3352,7 @@ var import_react14 = __toESM(require("react"));
3330
3352
 
3331
3353
  // components/ui/card.tsx
3332
3354
  var React16 = __toESM(require("react"));
3333
- var import_react_native17 = require("react-native");
3355
+ var import_react_native16 = require("react-native");
3334
3356
  var import_native10 = require("@react-navigation/native");
3335
3357
  function Card({
3336
3358
  style,
@@ -3338,11 +3360,11 @@ function Card({
3338
3360
  }) {
3339
3361
  const { colors } = (0, import_native10.useTheme)();
3340
3362
  return /* @__PURE__ */ React16.createElement(
3341
- import_react_native17.View,
3363
+ import_react_native16.View,
3342
3364
  {
3343
- style: import_react_native17.StyleSheet.flatten([
3365
+ style: import_react_native16.StyleSheet.flatten([
3344
3366
  styles10.card,
3345
- { backgroundColor: colors.background, borderColor: colors.border },
3367
+ { backgroundColor: colors.card, borderColor: colors.border },
3346
3368
  style
3347
3369
  ]),
3348
3370
  ...props
@@ -3353,7 +3375,7 @@ function CardHeader({
3353
3375
  style,
3354
3376
  ...props
3355
3377
  }) {
3356
- return /* @__PURE__ */ React16.createElement(import_react_native17.View, { style: import_react_native17.StyleSheet.flatten([styles10.header, style]), ...props });
3378
+ return /* @__PURE__ */ React16.createElement(import_react_native16.View, { style: import_react_native16.StyleSheet.flatten([styles10.header, style]), ...props });
3357
3379
  }
3358
3380
  function CardTitle({
3359
3381
  style,
@@ -3361,11 +3383,11 @@ function CardTitle({
3361
3383
  }) {
3362
3384
  const { colors } = (0, import_native10.useTheme)();
3363
3385
  return /* @__PURE__ */ React16.createElement(
3364
- import_react_native17.Text,
3386
+ import_react_native16.Text,
3365
3387
  {
3366
3388
  role: "heading",
3367
3389
  "aria-level": 3,
3368
- style: import_react_native17.StyleSheet.flatten([styles10.title, { color: colors.text }, style]),
3390
+ style: import_react_native16.StyleSheet.flatten([styles10.title, { color: colors.text }, style]),
3369
3391
  ...props
3370
3392
  }
3371
3393
  );
@@ -3376,9 +3398,9 @@ function CardDescription({
3376
3398
  }) {
3377
3399
  const { colors } = (0, import_native10.useTheme)();
3378
3400
  return /* @__PURE__ */ React16.createElement(
3379
- import_react_native17.Text,
3401
+ import_react_native16.Text,
3380
3402
  {
3381
- style: import_react_native17.StyleSheet.flatten([
3403
+ style: import_react_native16.StyleSheet.flatten([
3382
3404
  styles10.description,
3383
3405
  { color: colors.text },
3384
3406
  style
@@ -3392,15 +3414,15 @@ function CardContent({
3392
3414
  ...props
3393
3415
  }) {
3394
3416
  const { colors } = (0, import_native10.useTheme)();
3395
- return /* @__PURE__ */ React16.createElement(TextStyleProvider, { style: { color: colors.text } }, /* @__PURE__ */ React16.createElement(import_react_native17.View, { style: import_react_native17.StyleSheet.flatten([styles10.content, style]), ...props }));
3417
+ return /* @__PURE__ */ React16.createElement(TextStyleProvider, { style: { color: colors.text } }, /* @__PURE__ */ React16.createElement(import_react_native16.View, { style: import_react_native16.StyleSheet.flatten([styles10.content, style]), ...props }));
3396
3418
  }
3397
3419
  function CardFooter({
3398
3420
  style,
3399
3421
  ...props
3400
3422
  }) {
3401
- return /* @__PURE__ */ React16.createElement(import_react_native17.View, { style: import_react_native17.StyleSheet.flatten([styles10.footer, style]), ...props });
3423
+ return /* @__PURE__ */ React16.createElement(import_react_native16.View, { style: import_react_native16.StyleSheet.flatten([styles10.footer, style]), ...props });
3402
3424
  }
3403
- var styles10 = import_react_native17.StyleSheet.create({
3425
+ var styles10 = import_react_native16.StyleSheet.create({
3404
3426
  card: {
3405
3427
  borderRadius: 10,
3406
3428
  borderWidth: 1
@@ -3433,18 +3455,41 @@ var styles10 = import_react_native17.StyleSheet.create({
3433
3455
  });
3434
3456
 
3435
3457
  // components/utilityResourceViews/ErrorMessageResourceView.tsx
3436
- var import_react_native18 = require("react-native");
3458
+ var import_react_native17 = require("react-native");
3459
+ var import_native11 = require("@react-navigation/native");
3437
3460
  var ErrorMessageResourceView = ({ icon, message }) => {
3438
3461
  const Icon2 = icon;
3439
- return /* @__PURE__ */ import_react14.default.createElement(import_react_native18.View, { className: "flex-1 justify-center items-center bg-background" }, /* @__PURE__ */ import_react14.default.createElement(Card, { className: "max-w-100 p-6 items-center gap-4 m-4" }, /* @__PURE__ */ import_react14.default.createElement(Text2, null, /* @__PURE__ */ import_react14.default.createElement(Icon2, { size: 60 })), /* @__PURE__ */ import_react14.default.createElement(Text2, null, message)));
3462
+ const { colors } = (0, import_native11.useTheme)();
3463
+ return /* @__PURE__ */ import_react14.default.createElement(import_react_native17.View, { style: styles11.container }, /* @__PURE__ */ import_react14.default.createElement(Card, { style: styles11.card }, /* @__PURE__ */ import_react14.default.createElement(Icon2, { size: 60, color: colors.text, style: styles11.icon }), /* @__PURE__ */ import_react14.default.createElement(Text2, { style: styles11.message }, message)));
3440
3464
  };
3465
+ var styles11 = import_react_native17.StyleSheet.create({
3466
+ container: {
3467
+ flex: 1,
3468
+ justifyContent: "center",
3469
+ alignItems: "center",
3470
+ padding: 24
3471
+ },
3472
+ card: {
3473
+ maxWidth: 400,
3474
+ width: "100%",
3475
+ padding: 24,
3476
+ alignItems: "center",
3477
+ gap: 16
3478
+ },
3479
+ icon: {
3480
+ marginBottom: 8
3481
+ },
3482
+ message: {
3483
+ textAlign: "center"
3484
+ }
3485
+ });
3441
3486
 
3442
3487
  // components/useViewContext.tsx
3443
- var import_solid_react5 = require("@ldo/solid-react");
3488
+ var import_solid_react4 = require("@ldo/solid-react");
3444
3489
  var [ViewContextProvider, useViewContext] = (0, import_constate.default)(() => {
3445
3490
  const { targetUri, targetResource, refresh, navigateTo } = useTargetResource();
3446
3491
  const { resourceViews } = useDataBrowserConfig();
3447
- const { dataset: dataset2 } = (0, import_solid_react5.useLdo)();
3492
+ const { dataset } = (0, import_solid_react4.useLdo)();
3448
3493
  const validViews = (0, import_react15.useMemo)(() => {
3449
3494
  if (!targetResource || !targetUri) {
3450
3495
  return [
@@ -3464,10 +3509,10 @@ var [ViewContextProvider, useViewContext] = (0, import_constate.default)(() => {
3464
3509
  const errorViews = getErrorViews(targetResource);
3465
3510
  if (errorViews) return errorViews;
3466
3511
  const potentialViews = resourceViews.filter(
3467
- (view) => view.canDisplay(targetUri, targetResource, dataset2)
3512
+ (view) => view.canDisplay(targetUri, targetResource, dataset)
3468
3513
  );
3469
3514
  return potentialViews.length > 0 ? potentialViews : [constructErrorView(`No valid view for ${targetUri}`, import_lucide_react_native17.OctagonX)];
3470
- }, [targetResource, targetUri, resourceViews, dataset2]);
3515
+ }, [targetResource, targetUri, resourceViews, dataset]);
3471
3516
  const [curViewConfig, setCurViewConfig] = (0, import_react15.useState)(
3472
3517
  validViews[0]
3473
3518
  );
@@ -3547,10 +3592,10 @@ function getErrorViews(targetResource) {
3547
3592
  }
3548
3593
 
3549
3594
  // components/nav/header/ViewMenu.tsx
3550
- var import_native11 = require("@react-navigation/native");
3595
+ var import_native12 = require("@react-navigation/native");
3551
3596
  var ViewMenu = () => {
3552
3597
  const { validViews } = useViewContext();
3553
- const { width } = (0, import_react_native19.useWindowDimensions)();
3598
+ const { width } = (0, import_react_native18.useWindowDimensions)();
3554
3599
  return /* @__PURE__ */ import_react16.default.createElement(DropdownMenu, null, /* @__PURE__ */ import_react16.default.createElement(DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ import_react16.default.createElement(
3555
3600
  Button,
3556
3601
  {
@@ -3561,21 +3606,21 @@ var ViewMenu = () => {
3561
3606
  )), /* @__PURE__ */ import_react16.default.createElement(
3562
3607
  DropdownMenuContent,
3563
3608
  {
3564
- style: import_react_native19.StyleSheet.flatten([styles11.contentContainer])
3609
+ style: import_react_native18.StyleSheet.flatten([styles12.contentContainer])
3565
3610
  },
3566
3611
  validViews.map((menuItem) => /* @__PURE__ */ import_react16.default.createElement(ListItem, { key: menuItem.name, viewConfig: menuItem }, menuItem.displayName))
3567
3612
  ));
3568
3613
  };
3569
3614
  var ListItem = ({ viewConfig, children }) => {
3570
3615
  const { curViewConfig, setCurViewConfig } = useViewContext();
3571
- const { colors } = (0, import_native11.useTheme)();
3616
+ const { colors } = (0, import_native12.useTheme)();
3572
3617
  const DisplayIcon = viewConfig.displayIcon;
3573
3618
  const isSelected = curViewConfig.name === viewConfig.name;
3574
3619
  return /* @__PURE__ */ import_react16.default.createElement(
3575
3620
  DropdownMenuItem,
3576
3621
  {
3577
- style: import_react_native19.StyleSheet.flatten([
3578
- styles11.listItem,
3622
+ style: import_react_native18.StyleSheet.flatten([
3623
+ styles12.listItem,
3579
3624
  isSelected && {
3580
3625
  backgroundColor: colors.border
3581
3626
  }
@@ -3587,7 +3632,7 @@ var ListItem = ({ viewConfig, children }) => {
3587
3632
  );
3588
3633
  };
3589
3634
  ListItem.displayName = "ListItem";
3590
- var styles11 = import_react_native19.StyleSheet.create({
3635
+ var styles12 = import_react_native18.StyleSheet.create({
3591
3636
  triggerContainer: {
3592
3637
  flexDirection: "row",
3593
3638
  alignItems: "center",
@@ -3620,12 +3665,12 @@ var import_lucide_react_native31 = require("lucide-react-native");
3620
3665
 
3621
3666
  // components/sharing/SharingModal.tsx
3622
3667
  var import_react28 = __toESM(require("react"));
3623
- var import_react_native35 = require("react-native");
3624
- var import_native17 = require("@react-navigation/native");
3668
+ var import_react_native34 = require("react-native");
3669
+ var import_native18 = require("@react-navigation/native");
3625
3670
 
3626
3671
  // components/sharing/CopyLink.tsx
3627
3672
  var import_react17 = __toESM(require("react"));
3628
- var import_react_native20 = require("react-native");
3673
+ var import_react_native19 = require("react-native");
3629
3674
  var import_lucide_react_native24 = require("lucide-react-native");
3630
3675
  var CopyLink = () => {
3631
3676
  const { targetUri } = useViewContext();
@@ -3640,14 +3685,14 @@ var CopyLink = () => {
3640
3685
  Button,
3641
3686
  {
3642
3687
  variant: "outline",
3643
- style: styles12.button,
3688
+ style: styles13.button,
3644
3689
  onPress: onCopy,
3645
3690
  text: message,
3646
3691
  iconLeft: import_lucide_react_native24.Link
3647
3692
  }
3648
3693
  );
3649
3694
  };
3650
- var styles12 = import_react_native20.StyleSheet.create({
3695
+ var styles13 = import_react_native19.StyleSheet.create({
3651
3696
  button: {
3652
3697
  flexDirection: "row"
3653
3698
  }
@@ -3655,13 +3700,13 @@ var styles12 = import_react_native20.StyleSheet.create({
3655
3700
 
3656
3701
  // components/common/LoadingBar.tsx
3657
3702
  var import_react18 = __toESM(require("react"));
3658
- var import_native12 = require("@react-navigation/native");
3703
+ var import_native13 = require("@react-navigation/native");
3659
3704
  var import_react_native_progress2 = require("react-native-progress");
3660
- var import_react_native21 = require("react-native");
3705
+ var import_react_native20 = require("react-native");
3661
3706
  var LoadingBar = ({
3662
3707
  isLoading
3663
3708
  }) => {
3664
- const { colors } = (0, import_native12.useTheme)();
3709
+ const { colors } = (0, import_native13.useTheme)();
3665
3710
  if (!isLoading) return /* @__PURE__ */ import_react18.default.createElement(import_react18.default.Fragment, null);
3666
3711
  return /* @__PURE__ */ import_react18.default.createElement(
3667
3712
  import_react_native_progress2.Bar,
@@ -3671,11 +3716,11 @@ var LoadingBar = ({
3671
3716
  borderWidth: 0,
3672
3717
  borderRadius: 0,
3673
3718
  width: null,
3674
- style: styles13.bar
3719
+ style: styles14.bar
3675
3720
  }
3676
3721
  );
3677
3722
  };
3678
- var styles13 = import_react_native21.StyleSheet.create({
3723
+ var styles14 = import_react_native20.StyleSheet.create({
3679
3724
  bar: {
3680
3725
  position: "absolute",
3681
3726
  top: 0,
@@ -3685,31 +3730,31 @@ var styles13 = import_react_native21.StyleSheet.create({
3685
3730
  });
3686
3731
 
3687
3732
  // components/sharing/SharingModal.tsx
3688
- var import_react_native36 = require("react-native");
3733
+ var import_react_native35 = require("react-native");
3689
3734
 
3690
3735
  // components/sharing/WacRuleForm.tsx
3691
3736
  var import_react27 = __toESM(require("react"));
3692
- var import_react_native33 = require("react-native");
3737
+ var import_react_native32 = require("react-native");
3693
3738
 
3694
3739
  // components/ui/separator.tsx
3695
- var import_native13 = require("@react-navigation/native");
3740
+ var import_native14 = require("@react-navigation/native");
3696
3741
  var SeparatorPrimitive = __toESM(require("@rn-primitives/separator"));
3697
3742
  var React22 = __toESM(require("react"));
3698
- var import_react_native22 = require("react-native");
3743
+ var import_react_native21 = require("react-native");
3699
3744
  function Separator2({
3700
3745
  style,
3701
3746
  orientation = "horizontal",
3702
3747
  decorative = true,
3703
3748
  ...props
3704
3749
  }) {
3705
- const { colors } = (0, import_native13.useTheme)();
3750
+ const { colors } = (0, import_native14.useTheme)();
3706
3751
  return /* @__PURE__ */ React22.createElement(
3707
3752
  SeparatorPrimitive.Root,
3708
3753
  {
3709
3754
  decorative,
3710
3755
  orientation,
3711
- style: import_react_native22.StyleSheet.flatten([
3712
- orientation === "horizontal" ? styles14.horizontal : styles14.vertical,
3756
+ style: import_react_native21.StyleSheet.flatten([
3757
+ orientation === "horizontal" ? styles15.horizontal : styles15.vertical,
3713
3758
  { backgroundColor: colors.border },
3714
3759
  style
3715
3760
  ]),
@@ -3717,7 +3762,7 @@ function Separator2({
3717
3762
  }
3718
3763
  );
3719
3764
  }
3720
- var styles14 = import_react_native22.StyleSheet.create({
3765
+ var styles15 = import_react_native21.StyleSheet.create({
3721
3766
  horizontal: {
3722
3767
  flexShrink: 0,
3723
3768
  height: 1,
@@ -3735,22 +3780,22 @@ var import_react25 = __toESM(require("react"));
3735
3780
 
3736
3781
  // components/sharing/agentPermissions/AgentPermissionRow.tsx
3737
3782
  var import_react21 = __toESM(require("react"));
3738
- var import_react_native26 = require("react-native");
3783
+ var import_react_native25 = require("react-native");
3739
3784
 
3740
3785
  // components/sharing/agentPermissions/AgentInformation.tsx
3741
- var import_solid_react6 = require("@ldo/solid-react");
3786
+ var import_solid_react5 = require("@ldo/solid-react");
3742
3787
  var import_react19 = __toESM(require("react"));
3743
- var import_react_native23 = require("react-native");
3788
+ var import_react_native22 = require("react-native");
3744
3789
  var AgentInformation = ({
3745
3790
  webId,
3746
3791
  accessoryRight
3747
3792
  }) => {
3748
- const { session } = (0, import_solid_react6.useSolidAuth)();
3749
- (0, import_solid_react6.useResource)(webId);
3750
- const agentProfile = (0, import_solid_react6.useSubject)(SolidProfileShapeType, webId);
3751
- return /* @__PURE__ */ import_react19.default.createElement(import_react_native23.View, { style: styles15.container }, /* @__PURE__ */ import_react19.default.createElement(ProfileAvatar, { profile: agentProfile }), /* @__PURE__ */ import_react19.default.createElement(import_react_native23.View, { style: styles15.textContainer }, /* @__PURE__ */ import_react19.default.createElement(Text2, null, agentProfile["@id"] === session.webId ? "You" : agentProfile.fn ?? agentProfile.name ?? "Unnamed Agent"), /* @__PURE__ */ import_react19.default.createElement(Text2, { size: "xs", muted: true }, webId)), accessoryRight);
3793
+ const { session } = (0, import_solid_react5.useSolidAuth)();
3794
+ (0, import_solid_react5.useResource)(webId);
3795
+ const agentProfile = (0, import_solid_react5.useSubject)(SolidProfileShapeType, webId);
3796
+ return /* @__PURE__ */ import_react19.default.createElement(import_react_native22.View, { style: styles16.container }, /* @__PURE__ */ import_react19.default.createElement(ProfileAvatar, { profile: agentProfile }), /* @__PURE__ */ import_react19.default.createElement(import_react_native22.View, { style: styles16.textContainer }, /* @__PURE__ */ import_react19.default.createElement(Text2, null, agentProfile["@id"] === session.webId ? "You" : agentProfile.fn ?? agentProfile.name ?? "Unnamed Agent"), /* @__PURE__ */ import_react19.default.createElement(Text2, { size: "xs", muted: true }, webId)), accessoryRight);
3752
3797
  };
3753
- var styles15 = import_react_native23.StyleSheet.create({
3798
+ var styles16 = import_react_native22.StyleSheet.create({
3754
3799
  container: {
3755
3800
  flexDirection: "row",
3756
3801
  gap: 16,
@@ -3768,9 +3813,9 @@ var import_react20 = __toESM(require("react"));
3768
3813
  // components/ui/checkbox.tsx
3769
3814
  var CheckboxPrimitive = __toESM(require("@rn-primitives/checkbox"));
3770
3815
  var React24 = __toESM(require("react"));
3771
- var import_react_native24 = require("react-native");
3816
+ var import_react_native23 = require("react-native");
3772
3817
  var import_lucide_react_native25 = require("lucide-react-native");
3773
- var import_native14 = require("@react-navigation/native");
3818
+ var import_native15 = require("@react-navigation/native");
3774
3819
  var getCheckboxStyles = (checked = false, disabled = false, theme) => {
3775
3820
  const baseStyles = {
3776
3821
  height: 16,
@@ -3788,7 +3833,7 @@ var getCheckboxStyles = (checked = false, disabled = false, theme) => {
3788
3833
  const disabledStyles = disabled ? {
3789
3834
  opacity: 0.5
3790
3835
  } : {};
3791
- return import_react_native24.StyleSheet.flatten([baseStyles, checkedStyles, disabledStyles]);
3836
+ return import_react_native23.StyleSheet.flatten([baseStyles, checkedStyles, disabledStyles]);
3792
3837
  };
3793
3838
  var getIndicatorStyles = () => ({
3794
3839
  alignItems: "center",
@@ -3800,8 +3845,8 @@ function Checkbox({
3800
3845
  style,
3801
3846
  ...props
3802
3847
  }) {
3803
- const theme = (0, import_native14.useTheme)();
3804
- const rootStyle = import_react_native24.StyleSheet.flatten([
3848
+ const theme = (0, import_native15.useTheme)();
3849
+ const rootStyle = import_react_native23.StyleSheet.flatten([
3805
3850
  getCheckboxStyles(props.checked, props.disabled, theme),
3806
3851
  style
3807
3852
  ]);
@@ -3809,7 +3854,7 @@ function Checkbox({
3809
3854
  import_lucide_react_native25.Check,
3810
3855
  {
3811
3856
  size: 12,
3812
- strokeWidth: import_react_native24.Platform.OS === "web" ? 2.5 : 3.5,
3857
+ strokeWidth: import_react_native23.Platform.OS === "web" ? 2.5 : 3.5,
3813
3858
  color: theme.colors.background
3814
3859
  }
3815
3860
  )));
@@ -3817,7 +3862,7 @@ function Checkbox({
3817
3862
 
3818
3863
  // components/sharing/AccessDropdown.tsx
3819
3864
  var import_lucide_react_native26 = require("lucide-react-native");
3820
- var import_react_native25 = require("react-native");
3865
+ var import_react_native24 = require("react-native");
3821
3866
  var AccessDropdown = ({
3822
3867
  value,
3823
3868
  onChange
@@ -3846,7 +3891,7 @@ var AccessDropdown = ({
3846
3891
  },
3847
3892
  [onChange, value]
3848
3893
  );
3849
- return /* @__PURE__ */ import_react20.default.createElement(DropdownMenu, null, /* @__PURE__ */ import_react20.default.createElement(DropdownMenuTrigger, { asChild: true, style: styles16.button }, /* @__PURE__ */ import_react20.default.createElement(Button, { variant: "outline" }, /* @__PURE__ */ import_react20.default.createElement(Text2, null, accessDescription), /* @__PURE__ */ import_react20.default.createElement(Icon, { icon: import_lucide_react_native26.ChevronDown, style: styles16.buttonChevron }))), /* @__PURE__ */ import_react20.default.createElement(DropdownMenuContent, null, /* @__PURE__ */ import_react20.default.createElement(DropdownMenuLabel, null, "Permissions"), /* @__PURE__ */ import_react20.default.createElement(DropdownMenuSeparator, null), /* @__PURE__ */ import_react20.default.createElement(DropdownMenuGroup, null, ["read", "append", "write", "control"].map((accessModeName) => /* @__PURE__ */ import_react20.default.createElement(
3894
+ return /* @__PURE__ */ import_react20.default.createElement(DropdownMenu, null, /* @__PURE__ */ import_react20.default.createElement(DropdownMenuTrigger, { asChild: true, style: styles17.button }, /* @__PURE__ */ import_react20.default.createElement(Button, { variant: "outline" }, /* @__PURE__ */ import_react20.default.createElement(Text2, null, accessDescription), /* @__PURE__ */ import_react20.default.createElement(Icon, { icon: import_lucide_react_native26.ChevronDown, style: styles17.buttonChevron }))), /* @__PURE__ */ import_react20.default.createElement(DropdownMenuContent, null, /* @__PURE__ */ import_react20.default.createElement(DropdownMenuLabel, null, "Permissions"), /* @__PURE__ */ import_react20.default.createElement(DropdownMenuSeparator, null), /* @__PURE__ */ import_react20.default.createElement(DropdownMenuGroup, null, ["read", "append", "write", "control"].map((accessModeName) => /* @__PURE__ */ import_react20.default.createElement(
3850
3895
  DropdownMenuItem,
3851
3896
  {
3852
3897
  key: accessModeName,
@@ -3866,7 +3911,7 @@ var AccessDropdown = ({
3866
3911
  /* @__PURE__ */ import_react20.default.createElement(Text2, null, accessModeName.charAt(0).toUpperCase() + accessModeName.slice(1))
3867
3912
  )))));
3868
3913
  };
3869
- var styles16 = import_react_native25.StyleSheet.create({
3914
+ var styles17 = import_react_native24.StyleSheet.create({
3870
3915
  button: {
3871
3916
  display: "flex",
3872
3917
  width: 130,
@@ -3879,25 +3924,25 @@ var styles16 = import_react_native25.StyleSheet.create({
3879
3924
  });
3880
3925
 
3881
3926
  // components/sharing/agentPermissions/AgentPermissionRow.tsx
3882
- var import_react_native27 = require("react-native");
3927
+ var import_react_native26 = require("react-native");
3883
3928
  var import_lucide_react_native27 = require("lucide-react-native");
3884
3929
  var AgentPermissionRow = ({
3885
3930
  webId,
3886
3931
  value,
3887
3932
  onChange
3888
3933
  }) => {
3889
- return /* @__PURE__ */ import_react21.default.createElement(import_react_native27.View, { style: styles17.container }, /* @__PURE__ */ import_react21.default.createElement(AgentInformation, { webId }), /* @__PURE__ */ import_react21.default.createElement(import_react_native27.View, { style: styles17.rightSection }, /* @__PURE__ */ import_react21.default.createElement(
3934
+ return /* @__PURE__ */ import_react21.default.createElement(import_react_native26.View, { style: styles18.container }, /* @__PURE__ */ import_react21.default.createElement(AgentInformation, { webId }), /* @__PURE__ */ import_react21.default.createElement(import_react_native26.View, { style: styles18.rightSection }, /* @__PURE__ */ import_react21.default.createElement(
3890
3935
  Button,
3891
3936
  {
3892
3937
  variant: "ghost",
3893
3938
  onPress: () => onChange(void 0),
3894
- style: styles17.deleteButton,
3939
+ style: styles18.deleteButton,
3895
3940
  iconLeft: import_lucide_react_native27.Trash,
3896
- textStyle: styles17.deleteButtonText
3941
+ textStyle: styles18.deleteButtonText
3897
3942
  }
3898
3943
  ), /* @__PURE__ */ import_react21.default.createElement(AccessDropdown, { value, onChange })));
3899
3944
  };
3900
- var styles17 = import_react_native26.StyleSheet.create({
3945
+ var styles18 = import_react_native25.StyleSheet.create({
3901
3946
  container: {
3902
3947
  flexDirection: "row",
3903
3948
  justifyContent: "space-between",
@@ -3916,15 +3961,15 @@ var styles17 = import_react_native26.StyleSheet.create({
3916
3961
 
3917
3962
  // components/sharing/agentPermissions/AgentInput.tsx
3918
3963
  var import_react24 = __toESM(require("react"));
3964
+ var import_react_native28 = require("react-native");
3965
+ var import_native17 = require("@react-navigation/native");
3919
3966
  var import_react_native29 = require("react-native");
3920
- var import_native16 = require("@react-navigation/native");
3921
- var import_react_native30 = require("react-native");
3922
- var import_solid_react7 = require("@ldo/solid-react");
3967
+ var import_solid_react6 = require("@ldo/solid-react");
3923
3968
 
3924
3969
  // components/ui/input-dropdown.tsx
3925
3970
  var import_react22 = __toESM(require("react"));
3926
- var import_react_native28 = require("react-native");
3927
- var import_native15 = require("@react-navigation/native");
3971
+ var import_react_native27 = require("react-native");
3972
+ var import_native16 = require("@react-navigation/native");
3928
3973
  function InputDropdown({
3929
3974
  items,
3930
3975
  renderItem,
@@ -3938,7 +3983,7 @@ function InputDropdown({
3938
3983
  style,
3939
3984
  ...inputProps
3940
3985
  }) {
3941
- const { colors } = (0, import_native15.useTheme)();
3986
+ const { colors } = (0, import_native16.useTheme)();
3942
3987
  const [isDropdownOpen, setIsDropdownOpen] = (0, import_react22.useState)(false);
3943
3988
  const inputRef = (0, import_react22.useRef)(null);
3944
3989
  const filteredItems = (0, import_react22.useMemo)(() => {
@@ -3979,15 +4024,15 @@ function InputDropdown({
3979
4024
  }
3980
4025
  }, [isDropdownOpen]);
3981
4026
  const containerStyles = {
3982
- ...styles18.container,
4027
+ ...styles19.container,
3983
4028
  ...style
3984
4029
  };
3985
4030
  const dropdownStyles = {
3986
- ...styles18.dropdown,
4031
+ ...styles19.dropdown,
3987
4032
  backgroundColor: colors.background,
3988
4033
  borderColor: colors.border
3989
4034
  };
3990
- return /* @__PURE__ */ import_react22.default.createElement(import_react_native28.View, { style: containerStyles, ref: inputRef }, /* @__PURE__ */ import_react22.default.createElement(
4035
+ return /* @__PURE__ */ import_react22.default.createElement(import_react_native27.View, { style: containerStyles, ref: inputRef }, /* @__PURE__ */ import_react22.default.createElement(
3991
4036
  Input,
3992
4037
  {
3993
4038
  ...inputProps,
@@ -3995,9 +4040,9 @@ function InputDropdown({
3995
4040
  onFocus: handleInputFocus,
3996
4041
  buttonRight
3997
4042
  }
3998
- ), isDropdownOpen && (filteredItems.length > 0 || isLoading) && /* @__PURE__ */ import_react22.default.createElement(Card, { style: dropdownStyles }, isLoading && /* @__PURE__ */ import_react22.default.createElement(LoadingBar, { isLoading }), filteredItems.map((item, index) => /* @__PURE__ */ import_react22.default.createElement(import_react_native28.View, { key: index }, renderItem(item, handleItemSelect)))));
4043
+ ), isDropdownOpen && (filteredItems.length > 0 || isLoading) && /* @__PURE__ */ import_react22.default.createElement(Card, { style: dropdownStyles }, isLoading && /* @__PURE__ */ import_react22.default.createElement(LoadingBar, { isLoading }), filteredItems.map((item, index) => /* @__PURE__ */ import_react22.default.createElement(import_react_native27.View, { key: index }, renderItem(item, handleItemSelect)))));
3999
4044
  }
4000
- var styles18 = import_react_native28.StyleSheet.create({
4045
+ var styles19 = import_react_native27.StyleSheet.create({
4001
4046
  container: {
4002
4047
  position: "relative"
4003
4048
  },
@@ -4043,12 +4088,12 @@ function useContactFilter(webIds, searchText, contactsWithNames) {
4043
4088
  // components/sharing/agentPermissions/AgentInput.tsx
4044
4089
  var import_lucide_react_native28 = require("lucide-react-native");
4045
4090
  var ContactDropdownItem = ({ webId, onSelect }) => {
4046
- const { colors } = (0, import_native16.useTheme)();
4091
+ const { colors } = (0, import_native17.useTheme)();
4047
4092
  return /* @__PURE__ */ import_react24.default.createElement(
4048
- import_react_native30.Pressable,
4093
+ import_react_native29.Pressable,
4049
4094
  {
4050
4095
  style: ({ hovered }) => [
4051
- styles19.dropdownItem,
4096
+ styles20.dropdownItem,
4052
4097
  { borderBottomColor: colors.border },
4053
4098
  hovered && { backgroundColor: colors.border }
4054
4099
  ],
@@ -4068,9 +4113,9 @@ var AgentInput = ({
4068
4113
  existingAgents,
4069
4114
  className
4070
4115
  }) => {
4071
- const { session } = (0, import_solid_react7.useSolidAuth)();
4116
+ const { session } = (0, import_solid_react6.useSolidAuth)();
4072
4117
  const [inputValue, setInputValue] = (0, import_react24.useState)("");
4073
- const currentUserProfile = (0, import_solid_react7.useLinkQuery)(
4118
+ const currentUserProfile = (0, import_solid_react6.useLinkQuery)(
4074
4119
  SolidProfileShapeType,
4075
4120
  session.webId,
4076
4121
  session.webId,
@@ -4132,7 +4177,7 @@ var AgentInput = ({
4132
4177
  }
4133
4178
  );
4134
4179
  };
4135
- var styles19 = import_react_native29.StyleSheet.create({
4180
+ var styles20 = import_react_native28.StyleSheet.create({
4136
4181
  dropdownItem: {
4137
4182
  padding: 8,
4138
4183
  borderBottomWidth: 1
@@ -4184,21 +4229,21 @@ var AgentPermissions = ({
4184
4229
  };
4185
4230
 
4186
4231
  // components/sharing/WacRuleForm.tsx
4187
- var import_react_native34 = require("react-native");
4232
+ var import_react_native33 = require("react-native");
4188
4233
 
4189
4234
  // components/sharing/PermissionRow.tsx
4190
4235
  var import_react26 = __toESM(require("react"));
4236
+ var import_react_native30 = require("react-native");
4191
4237
  var import_react_native31 = require("react-native");
4192
- var import_react_native32 = require("react-native");
4193
4238
  var PermissionRow = ({
4194
4239
  Icon: Icon2,
4195
4240
  displayName,
4196
4241
  value,
4197
4242
  onChange
4198
4243
  }) => {
4199
- return /* @__PURE__ */ import_react26.default.createElement(import_react_native32.View, { style: styles20.container }, /* @__PURE__ */ import_react26.default.createElement(import_react_native32.View, { style: styles20.leftSection }, /* @__PURE__ */ import_react26.default.createElement(Avatar, { alt: displayName }, /* @__PURE__ */ import_react26.default.createElement(AvatarFallback, null, /* @__PURE__ */ import_react26.default.createElement(Text2, null, /* @__PURE__ */ import_react26.default.createElement(Icon2, null)))), /* @__PURE__ */ import_react26.default.createElement(Text2, { bold: true }, displayName)), /* @__PURE__ */ import_react26.default.createElement(AccessDropdown, { value, onChange }));
4244
+ return /* @__PURE__ */ import_react26.default.createElement(import_react_native31.View, { style: styles21.container }, /* @__PURE__ */ import_react26.default.createElement(import_react_native31.View, { style: styles21.leftSection }, /* @__PURE__ */ import_react26.default.createElement(Avatar, { alt: displayName }, /* @__PURE__ */ import_react26.default.createElement(AvatarFallback, null, /* @__PURE__ */ import_react26.default.createElement(Text2, null, /* @__PURE__ */ import_react26.default.createElement(Icon2, null)))), /* @__PURE__ */ import_react26.default.createElement(Text2, { bold: true }, displayName)), /* @__PURE__ */ import_react26.default.createElement(AccessDropdown, { value, onChange }));
4200
4245
  };
4201
- var styles20 = import_react_native31.StyleSheet.create({
4246
+ var styles21 = import_react_native30.StyleSheet.create({
4202
4247
  container: {
4203
4248
  flexDirection: "row",
4204
4249
  justifyContent: "space-between",
@@ -4219,7 +4264,7 @@ var WacRuleForm = ({
4219
4264
  value,
4220
4265
  onChange
4221
4266
  }) => {
4222
- return /* @__PURE__ */ import_react27.default.createElement(import_react_native34.View, { style: styles21.container }, /* @__PURE__ */ import_react27.default.createElement(
4267
+ return /* @__PURE__ */ import_react27.default.createElement(import_react_native33.View, { style: styles22.container }, /* @__PURE__ */ import_react27.default.createElement(
4223
4268
  PermissionRow,
4224
4269
  {
4225
4270
  displayName: "Public Access",
@@ -4243,7 +4288,7 @@ var WacRuleForm = ({
4243
4288
  }
4244
4289
  ));
4245
4290
  };
4246
- var styles21 = import_react_native33.StyleSheet.create({
4291
+ var styles22 = import_react_native32.StyleSheet.create({
4247
4292
  container: {
4248
4293
  gap: 16,
4249
4294
  marginTop: 8,
@@ -4267,8 +4312,9 @@ var SharingModalProvider = ({
4267
4312
  children
4268
4313
  }) => {
4269
4314
  const { targetResource } = useViewContext();
4270
- const { colors } = (0, import_native17.useTheme)();
4315
+ const { colors } = (0, import_native18.useTheme)();
4271
4316
  const [isOpen, setIsOpen] = (0, import_react28.useState)(false);
4317
+ const [resourceOverride, setResourceOverride] = (0, import_react28.useState)();
4272
4318
  const [wacResult, setWacResult] = (0, import_react28.useState)();
4273
4319
  const [isLoading, setIsLoading] = (0, import_react28.useState)(false);
4274
4320
  const [editedRules, setEditedRules] = (0, import_react28.useState)({
@@ -4276,11 +4322,12 @@ var SharingModalProvider = ({
4276
4322
  authenticated: { read: false, write: false, append: false, control: false },
4277
4323
  agent: {}
4278
4324
  });
4279
- const { width, height } = (0, import_react_native35.useWindowDimensions)();
4325
+ const { width, height } = (0, import_react_native34.useWindowDimensions)();
4326
+ const activeResource = resourceOverride ?? targetResource;
4280
4327
  (0, import_react28.useEffect)(() => {
4281
- if (targetResource && targetResource.type !== "InvalidIdentifierResource" && isOpen) {
4328
+ if (isOpen && (activeResource?.type === "SolidContainer" || activeResource?.type === "SolidLeaf")) {
4282
4329
  setIsLoading(true);
4283
- targetResource.getWac().then((wac) => {
4330
+ activeResource.getWac().then((wac) => {
4284
4331
  setWacResult(
4285
4332
  wac
4286
4333
  );
@@ -4290,7 +4337,7 @@ var SharingModalProvider = ({
4290
4337
  setIsLoading(false);
4291
4338
  });
4292
4339
  }
4293
- }, [targetResource, isOpen]);
4340
+ }, [activeResource, isOpen]);
4294
4341
  const didEdit = (0, import_react28.useMemo)(() => {
4295
4342
  if (wacResult?.type !== "getWacRuleSuccess") return false;
4296
4343
  return !(0, import_lodash.isEqual)(editedRules, wacResult.wacRule);
@@ -4298,19 +4345,26 @@ var SharingModalProvider = ({
4298
4345
  const context = (0, import_react28.useMemo)(
4299
4346
  () => ({
4300
4347
  isModalOpen: isOpen,
4301
- openSharingModal: () => setIsOpen(true),
4302
- closeSharingModal: () => setIsOpen(false)
4348
+ openSharingModal: (resource) => {
4349
+ setResourceOverride(resource);
4350
+ setIsOpen(true);
4351
+ },
4352
+ closeSharingModal: () => {
4353
+ setIsOpen(false);
4354
+ setResourceOverride(void 0);
4355
+ }
4303
4356
  }),
4304
4357
  [isOpen]
4305
4358
  );
4306
4359
  const onApplyChanges = (0, import_react28.useCallback)(async () => {
4307
- if (didEdit && (targetResource?.type === "SolidContainer" || targetResource?.type === "SolidLeaf")) {
4360
+ if (didEdit && (activeResource?.type === "SolidContainer" || activeResource?.type === "SolidLeaf")) {
4308
4361
  setIsLoading(true);
4309
- const result = await targetResource.setWac(editedRules);
4362
+ const result = await activeResource.setWac(editedRules);
4310
4363
  setIsLoading(false);
4311
4364
  }
4312
4365
  setIsOpen(false);
4313
- }, [editedRules, targetResource, didEdit]);
4366
+ setResourceOverride(void 0);
4367
+ }, [editedRules, activeResource, didEdit]);
4314
4368
  return /* @__PURE__ */ import_react28.default.createElement(sharingModalContext.Provider, { value: context }, /* @__PURE__ */ import_react28.default.createElement(Dialog, { open: isOpen, onOpenChange: (value) => setIsOpen(value) }, /* @__PURE__ */ import_react28.default.createElement(
4315
4369
  DialogContent,
4316
4370
  {
@@ -4322,9 +4376,9 @@ var SharingModalProvider = ({
4322
4376
  /* @__PURE__ */ import_react28.default.createElement(LoadingBar, { isLoading }),
4323
4377
  /* @__PURE__ */ import_react28.default.createElement(DialogHeader, null, /* @__PURE__ */ import_react28.default.createElement(DialogTitle, null, "Resource Sharing Preferences")),
4324
4378
  /* @__PURE__ */ import_react28.default.createElement(
4325
- import_react_native36.ScrollView,
4379
+ import_react_native35.ScrollView,
4326
4380
  {
4327
- style: [{ borderColor: colors.border }, styles22.scrollView]
4381
+ style: [{ borderColor: colors.border }, styles23.scrollView]
4328
4382
  },
4329
4383
  (() => {
4330
4384
  if (!wacResult) return /* @__PURE__ */ import_react28.default.createElement(import_react28.default.Fragment, null);
@@ -4343,11 +4397,10 @@ var SharingModalProvider = ({
4343
4397
  ))
4344
4398
  )), children);
4345
4399
  };
4346
- var styles22 = import_react_native35.StyleSheet.create({
4400
+ var styles23 = import_react_native34.StyleSheet.create({
4347
4401
  scrollView: {
4348
4402
  flex: 1,
4349
4403
  borderTopWidth: 1,
4350
- borderBottomWidth: 1,
4351
4404
  paddingTop: 8,
4352
4405
  paddingBottom: 8,
4353
4406
  marginLeft: -24,
@@ -4359,33 +4412,26 @@ var styles22 = import_react_native35.StyleSheet.create({
4359
4412
 
4360
4413
  // components/nav/header/Header.tsx
4361
4414
  var Header = () => {
4362
- const { session } = (0, import_solid_react8.useSolidAuth)();
4415
+ const { session } = (0, import_solid_react7.useSolidAuth)();
4363
4416
  const { openSharingModal } = useSharingModal();
4364
- const { colors } = (0, import_native18.useTheme)();
4365
- return /* @__PURE__ */ import_react29.default.createElement(
4366
- Card,
4417
+ const { targetResource } = useViewContext();
4418
+ const handleShare = () => {
4419
+ if (targetResource?.type === "SolidLeaf" || targetResource?.type === "SolidContainer") {
4420
+ openSharingModal(targetResource);
4421
+ }
4422
+ };
4423
+ return /* @__PURE__ */ import_react29.default.createElement(Card, { style: styles24.card }, /* @__PURE__ */ import_react29.default.createElement(AddressBox, null), session.isActive && /* @__PURE__ */ import_react29.default.createElement(
4424
+ Button,
4367
4425
  {
4368
- style: [
4369
- styles23.card,
4370
- { borderBottomWidth: 1, borderBottomColor: colors.border }
4371
- ]
4372
- },
4373
- /* @__PURE__ */ import_react29.default.createElement(AddressBox, null),
4374
- session.isLoggedIn && /* @__PURE__ */ import_react29.default.createElement(
4375
- Button,
4376
- {
4377
- key: "setMemu",
4378
- variant: "ghost",
4379
- style: styles23.shareButton,
4380
- onPress: openSharingModal,
4381
- iconLeft: import_lucide_react_native31.UserPlus
4382
- }
4383
- ),
4384
- /* @__PURE__ */ import_react29.default.createElement(ViewMenu, null),
4385
- session.isLoggedIn ? /* @__PURE__ */ import_react29.default.createElement(AvatarMenu, null) : /* @__PURE__ */ import_react29.default.createElement(SignInMenu, null)
4386
- );
4426
+ key: "setMemu",
4427
+ variant: "ghost",
4428
+ style: styles24.shareButton,
4429
+ onPress: handleShare,
4430
+ iconLeft: import_lucide_react_native31.UserPlus
4431
+ }
4432
+ ), /* @__PURE__ */ import_react29.default.createElement(ViewMenu, null), session.isActive ? /* @__PURE__ */ import_react29.default.createElement(AvatarMenu, null) : /* @__PURE__ */ import_react29.default.createElement(SignInMenu, null));
4387
4433
  };
4388
- var styles23 = import_react_native37.StyleSheet.create({
4434
+ var styles24 = import_react_native36.StyleSheet.create({
4389
4435
  card: {
4390
4436
  height: 56,
4391
4437
  flexDirection: "row",
@@ -4406,11 +4452,11 @@ var styles23 = import_react_native37.StyleSheet.create({
4406
4452
  });
4407
4453
 
4408
4454
  // components/nav/Layout.tsx
4409
- var import_react_native39 = require("react-native");
4455
+ var import_react_native38 = require("react-native");
4410
4456
 
4411
4457
  // components/nav/DialogProvider.tsx
4412
4458
  var import_react30 = __toESM(require("react"));
4413
- var import_react_native38 = require("react-native");
4459
+ var import_react_native37 = require("react-native");
4414
4460
  var DialogContext = (0, import_react30.createContext)(null);
4415
4461
  var useDialog = () => {
4416
4462
  const ctx = (0, import_react30.useContext)(DialogContext);
@@ -4465,7 +4511,7 @@ var DialogProvider = ({
4465
4511
  setVisible(false);
4466
4512
  resolver.current?.(options?.type === "confirm" ? true : inputValue);
4467
4513
  };
4468
- return /* @__PURE__ */ import_react30.default.createElement(DialogContext.Provider, { value: { showDialog, prompt, confirm } }, children, /* @__PURE__ */ import_react30.default.createElement(Dialog, { open: visible, onOpenChange: setVisible }, /* @__PURE__ */ import_react30.default.createElement(DialogContent, null, /* @__PURE__ */ import_react30.default.createElement(DialogHeader, null, /* @__PURE__ */ import_react30.default.createElement(DialogTitle, null, options?.title), options?.message && /* @__PURE__ */ import_react30.default.createElement(DialogDescription, null, options.message)), options?.type === "prompt" && /* @__PURE__ */ import_react30.default.createElement(import_react_native38.View, { className: "my-2" }, /* @__PURE__ */ import_react30.default.createElement(
4514
+ return /* @__PURE__ */ import_react30.default.createElement(DialogContext.Provider, { value: { showDialog, prompt, confirm } }, children, /* @__PURE__ */ import_react30.default.createElement(Dialog, { open: visible, onOpenChange: setVisible }, /* @__PURE__ */ import_react30.default.createElement(DialogContent, null, /* @__PURE__ */ import_react30.default.createElement(DialogHeader, null, /* @__PURE__ */ import_react30.default.createElement(DialogTitle, null, options?.title), options?.message && /* @__PURE__ */ import_react30.default.createElement(DialogDescription, null, options.message)), options?.type === "prompt" && /* @__PURE__ */ import_react30.default.createElement(import_react_native37.View, { className: "my-2" }, /* @__PURE__ */ import_react30.default.createElement(
4469
4515
  Input,
4470
4516
  {
4471
4517
  value: inputValue,
@@ -4479,22 +4525,22 @@ var DialogProvider = ({
4479
4525
  };
4480
4526
 
4481
4527
  // components/nav/Layout.tsx
4482
- var import_solid_react9 = require("@ldo/solid-react");
4528
+ var import_solid_react8 = require("@ldo/solid-react");
4483
4529
  var import_native19 = require("@react-navigation/native");
4484
4530
  var ValidViewContext = (0, import_react31.createContext)({});
4485
4531
  var Layout = () => {
4486
- const { ranInitialAuthCheck } = (0, import_solid_react9.useSolidAuth)();
4532
+ const { ranInitialAuthCheck } = (0, import_solid_react8.useSolidAuth)();
4487
4533
  const { colors } = (0, import_native19.useTheme)();
4488
4534
  if (!ranInitialAuthCheck) {
4489
4535
  return /* @__PURE__ */ import_react31.default.createElement(import_react31.default.Fragment, null);
4490
4536
  }
4491
4537
  return /* @__PURE__ */ import_react31.default.createElement(DialogProvider, null, /* @__PURE__ */ import_react31.default.createElement(ViewContextProvider, null, /* @__PURE__ */ import_react31.default.createElement(SharingModalProvider, null, /* @__PURE__ */ import_react31.default.createElement(
4492
- import_react_native39.View,
4538
+ import_react_native38.View,
4493
4539
  {
4494
- style: [styles24.container, { backgroundColor: colors.background }]
4540
+ style: [styles25.container, { backgroundColor: colors.background }]
4495
4541
  },
4496
4542
  /* @__PURE__ */ import_react31.default.createElement(Header, null),
4497
- /* @__PURE__ */ import_react31.default.createElement(import_react_native39.View, { style: styles24.contentView }, /* @__PURE__ */ import_react31.default.createElement(RenderView, null))
4543
+ /* @__PURE__ */ import_react31.default.createElement(import_react_native38.View, { style: styles25.contentView }, /* @__PURE__ */ import_react31.default.createElement(RenderView, null))
4498
4544
  ))));
4499
4545
  };
4500
4546
  var RenderView = () => {
@@ -4507,7 +4553,7 @@ var RenderView = () => {
4507
4553
  const CurView = viewToRender.view;
4508
4554
  return /* @__PURE__ */ import_react31.default.createElement(CurView, null);
4509
4555
  };
4510
- var styles24 = import_react_native39.StyleSheet.create({
4556
+ var styles25 = import_react_native38.StyleSheet.create({
4511
4557
  container: {
4512
4558
  flex: 1
4513
4559
  },
@@ -4520,22 +4566,22 @@ var styles24 = import_react_native39.StyleSheet.create({
4520
4566
  // components/DataBrowser.tsx
4521
4567
  var import_portal = require("@rn-primitives/portal");
4522
4568
  var import_react_native_notifier = require("react-native-notifier");
4523
- var import_react_native40 = require("react-native");
4569
+ var import_react_native39 = require("react-native");
4524
4570
  var DataBrowser = (props) => {
4525
4571
  const providerProps = (0, import_react32.useMemo)(() => {
4526
4572
  return {
4527
- origin: import_react_native40.Platform.OS === "web" && !props.origin ? window.location.origin : void 0,
4573
+ origin: import_react_native39.Platform.OS === "web" && !props.origin ? window.location.origin : void 0,
4528
4574
  defaultIssuer: props.mode === "server-ui" ? window.location.origin : "https://solidcommunity.net",
4529
4575
  ...props
4530
4576
  };
4531
4577
  }, [props]);
4532
- return /* @__PURE__ */ import_react33.default.createElement(ThemeProvider, null, /* @__PURE__ */ import_react33.default.createElement(import_solid_react10.BrowserSolidLdoProvider, null, /* @__PURE__ */ import_react33.default.createElement(import_react_native_notifier.NotifierWrapper, null, /* @__PURE__ */ import_react33.default.createElement(DataBrowserConfigContext.Provider, { value: providerProps }, /* @__PURE__ */ import_react33.default.createElement(TargetResourceProvider, null, /* @__PURE__ */ import_react33.default.createElement(Layout, null), /* @__PURE__ */ import_react33.default.createElement(import_portal.PortalHost, null))))));
4578
+ return /* @__PURE__ */ import_react33.default.createElement(ThemeProvider, null, /* @__PURE__ */ import_react33.default.createElement(import_solid_react9.BrowserSolidLdoProvider, null, /* @__PURE__ */ import_react33.default.createElement(import_react_native_notifier.NotifierWrapper, null, /* @__PURE__ */ import_react33.default.createElement(DataBrowserConfigContext.Provider, { value: providerProps }, /* @__PURE__ */ import_react33.default.createElement(TargetResourceProvider, null, /* @__PURE__ */ import_react33.default.createElement(Layout, null), /* @__PURE__ */ import_react33.default.createElement(import_portal.PortalHost, null))))));
4533
4579
  };
4534
4580
 
4535
4581
  // components/ui/accordion.tsx
4536
4582
  var AccordionPrimitive = __toESM(require("@rn-primitives/accordion"));
4537
4583
  var React37 = __toESM(require("react"));
4538
- var import_react_native41 = require("react-native");
4584
+ var import_react_native40 = require("react-native");
4539
4585
  var import_react_native_reanimated3 = __toESM(require("react-native-reanimated"));
4540
4586
  var import_lucide_react_native32 = require("lucide-react-native");
4541
4587
  var import_native20 = require("@react-navigation/native");
@@ -4547,7 +4593,7 @@ function Accordion({
4547
4593
  AccordionPrimitive.Root,
4548
4594
  {
4549
4595
  ...props,
4550
- asChild: import_react_native41.Platform.OS !== "web"
4596
+ asChild: import_react_native40.Platform.OS !== "web"
4551
4597
  },
4552
4598
  /* @__PURE__ */ React37.createElement(import_react_native_reanimated3.default.View, { layout: import_react_native_reanimated3.LinearTransition.duration(200) }, children)
4553
4599
  ));
@@ -4561,14 +4607,14 @@ function AccordionItem({
4561
4607
  return /* @__PURE__ */ React37.createElement(
4562
4608
  import_react_native_reanimated3.default.View,
4563
4609
  {
4564
- style: [styles25.itemContainer, { overflow: "hidden" }],
4610
+ style: [styles26.itemContainer, { overflow: "hidden" }],
4565
4611
  layout: import_react_native_reanimated3.LinearTransition.duration(200)
4566
4612
  },
4567
4613
  /* @__PURE__ */ React37.createElement(
4568
4614
  AccordionPrimitive.Item,
4569
4615
  {
4570
- style: import_react_native41.StyleSheet.flatten([
4571
- styles25.item,
4616
+ style: import_react_native40.StyleSheet.flatten([
4617
+ styles26.item,
4572
4618
  { borderBottomColor: colors.border },
4573
4619
  style
4574
4620
  ]),
@@ -4578,7 +4624,7 @@ function AccordionItem({
4578
4624
  )
4579
4625
  );
4580
4626
  }
4581
- var Trigger4 = import_react_native41.Platform.OS === "web" ? import_react_native41.View : import_react_native41.Pressable;
4627
+ var Trigger4 = import_react_native40.Platform.OS === "web" ? import_react_native40.View : import_react_native40.Pressable;
4582
4628
  function AccordionTrigger({
4583
4629
  style,
4584
4630
  children,
@@ -4594,16 +4640,16 @@ function AccordionTrigger({
4594
4640
  opacity: (0, import_react_native_reanimated3.interpolate)(progress.value, [0, 1], [1, 0.8], import_react_native_reanimated3.Extrapolation.CLAMP)
4595
4641
  }));
4596
4642
  const textStyles2 = {
4597
- fontSize: import_react_native41.Platform.OS === "web" ? 16 : 18,
4643
+ fontSize: import_react_native40.Platform.OS === "web" ? 16 : 18,
4598
4644
  fontWeight: "500",
4599
4645
  color: colors.text
4600
4646
  };
4601
- return /* @__PURE__ */ React37.createElement(TextStyleProvider, { style: textStyles2 }, /* @__PURE__ */ React37.createElement(AccordionPrimitive.Header, { style: styles25.header }, /* @__PURE__ */ React37.createElement(AccordionPrimitive.Trigger, { ...props, asChild: true }, /* @__PURE__ */ React37.createElement(
4647
+ return /* @__PURE__ */ React37.createElement(TextStyleProvider, { style: textStyles2 }, /* @__PURE__ */ React37.createElement(AccordionPrimitive.Header, { style: styles26.header }, /* @__PURE__ */ React37.createElement(AccordionPrimitive.Trigger, { ...props, asChild: true }, /* @__PURE__ */ React37.createElement(
4602
4648
  Trigger4,
4603
4649
  {
4604
- style: import_react_native41.StyleSheet.flatten([
4605
- styles25.trigger,
4606
- { flex: import_react_native41.Platform.OS === "web" ? 1 : void 0 },
4650
+ style: import_react_native40.StyleSheet.flatten([
4651
+ styles26.trigger,
4652
+ { flex: import_react_native40.Platform.OS === "web" ? 1 : void 0 },
4607
4653
  style
4608
4654
  ])
4609
4655
  },
@@ -4618,40 +4664,40 @@ function AccordionContent({
4618
4664
  }) {
4619
4665
  const { colors } = (0, import_native20.useTheme)();
4620
4666
  const textStyles2 = {
4621
- fontSize: import_react_native41.Platform.OS === "web" ? 14 : 18,
4667
+ fontSize: import_react_native40.Platform.OS === "web" ? 14 : 18,
4622
4668
  color: colors.text
4623
4669
  };
4624
4670
  return /* @__PURE__ */ React37.createElement(TextStyleProvider, { style: textStyles2 }, /* @__PURE__ */ React37.createElement(
4625
4671
  AccordionPrimitive.Content,
4626
4672
  {
4627
- style: import_react_native41.StyleSheet.flatten([
4628
- styles25.content,
4673
+ style: import_react_native40.StyleSheet.flatten([
4674
+ styles26.content,
4629
4675
  { overflow: "hidden" },
4630
4676
  style
4631
4677
  ]),
4632
4678
  ...props
4633
4679
  },
4634
- /* @__PURE__ */ React37.createElement(InnerContent, { style: styles25.innerContent }, children)
4680
+ /* @__PURE__ */ React37.createElement(InnerContent, { style: styles26.innerContent }, children)
4635
4681
  ));
4636
4682
  }
4637
4683
  function InnerContent({
4638
4684
  children,
4639
4685
  style
4640
4686
  }) {
4641
- if (import_react_native41.Platform.OS === "web") {
4642
- return /* @__PURE__ */ React37.createElement(import_react_native41.View, { style: import_react_native41.StyleSheet.flatten([styles25.innerContent, style]) }, children);
4687
+ if (import_react_native40.Platform.OS === "web") {
4688
+ return /* @__PURE__ */ React37.createElement(import_react_native40.View, { style: import_react_native40.StyleSheet.flatten([styles26.innerContent, style]) }, children);
4643
4689
  }
4644
4690
  return /* @__PURE__ */ React37.createElement(
4645
4691
  import_react_native_reanimated3.default.View,
4646
4692
  {
4647
4693
  entering: import_react_native_reanimated3.FadeIn,
4648
4694
  exiting: import_react_native_reanimated3.FadeOutUp.duration(200),
4649
- style: import_react_native41.StyleSheet.flatten([styles25.innerContent, style])
4695
+ style: import_react_native40.StyleSheet.flatten([styles26.innerContent, style])
4650
4696
  },
4651
4697
  children
4652
4698
  );
4653
4699
  }
4654
- var styles25 = import_react_native41.StyleSheet.create({
4700
+ var styles26 = import_react_native40.StyleSheet.create({
4655
4701
  itemContainer: {
4656
4702
  overflow: "hidden"
4657
4703
  },
@@ -4678,7 +4724,7 @@ var styles25 = import_react_native41.StyleSheet.create({
4678
4724
  // components/ui/alert.tsx
4679
4725
  var import_native21 = require("@react-navigation/native");
4680
4726
  var React38 = __toESM(require("react"));
4681
- var import_react_native42 = require("react-native");
4727
+ var import_react_native41 = require("react-native");
4682
4728
  function Alert({
4683
4729
  style,
4684
4730
  variant = "default",
@@ -4694,9 +4740,9 @@ function Alert({
4694
4740
  borderColor: variant === "destructive" ? colors.notification : colors.border,
4695
4741
  shadowColor: colors.text
4696
4742
  };
4697
- return import_react_native42.StyleSheet.flatten([styles26.base, baseAlertStyles, style]);
4743
+ return import_react_native41.StyleSheet.flatten([styles27.base, baseAlertStyles, style]);
4698
4744
  };
4699
- return /* @__PURE__ */ React38.createElement(import_react_native42.View, { role: "alert", style: getAlertStyles(), ...props }, /* @__PURE__ */ React38.createElement(import_react_native42.View, { style: styles26.icon }, /* @__PURE__ */ React38.createElement(
4745
+ return /* @__PURE__ */ React38.createElement(import_react_native41.View, { role: "alert", style: getAlertStyles(), ...props }, /* @__PURE__ */ React38.createElement(import_react_native41.View, { style: styles27.icon }, /* @__PURE__ */ React38.createElement(
4700
4746
  Icon2,
4701
4747
  {
4702
4748
  size: iconSize,
@@ -4709,7 +4755,7 @@ function AlertTitle({ style, ...props }) {
4709
4755
  return /* @__PURE__ */ React38.createElement(
4710
4756
  Text2,
4711
4757
  {
4712
- style: import_react_native42.StyleSheet.flatten([styles26.title, { color: colors.text }, style]),
4758
+ style: import_react_native41.StyleSheet.flatten([styles27.title, { color: colors.text }, style]),
4713
4759
  ...props
4714
4760
  }
4715
4761
  );
@@ -4722,8 +4768,8 @@ function AlertDescription({
4722
4768
  return /* @__PURE__ */ React38.createElement(
4723
4769
  Text2,
4724
4770
  {
4725
- style: import_react_native42.StyleSheet.flatten([
4726
- styles26.description,
4771
+ style: import_react_native41.StyleSheet.flatten([
4772
+ styles27.description,
4727
4773
  { color: colors.text },
4728
4774
  style
4729
4775
  ]),
@@ -4731,7 +4777,7 @@ function AlertDescription({
4731
4777
  }
4732
4778
  );
4733
4779
  }
4734
- var styles26 = import_react_native42.StyleSheet.create({
4780
+ var styles27 = import_react_native41.StyleSheet.create({
4735
4781
  base: {
4736
4782
  position: "relative",
4737
4783
  width: "100%",
@@ -4777,11 +4823,11 @@ var AspectRatio = AspectRatioPrimitive.Root;
4777
4823
  // components/ui/badge.tsx
4778
4824
  var import_react34 = __toESM(require("react"));
4779
4825
  var Slot2 = __toESM(require("@rn-primitives/slot"));
4780
- var import_react_native43 = require("react-native");
4826
+ var import_react_native42 = require("react-native");
4781
4827
  var import_native22 = require("@react-navigation/native");
4782
4828
  function Badge({ style, variant = "default", asChild, ...props }) {
4783
4829
  const { colors } = (0, import_native22.useTheme)();
4784
- const Component = asChild ? Slot2.View : import_react_native43.View;
4830
+ const Component = asChild ? Slot2.View : import_react_native42.View;
4785
4831
  const getVariantStyles = () => {
4786
4832
  switch (variant) {
4787
4833
  case "default":
@@ -4813,18 +4859,18 @@ function Badge({ style, variant = "default", asChild, ...props }) {
4813
4859
  return colors.background;
4814
4860
  }
4815
4861
  };
4816
- const badgeStyle = import_react_native43.StyleSheet.flatten([
4817
- styles27.base,
4862
+ const badgeStyle = import_react_native42.StyleSheet.flatten([
4863
+ styles28.base,
4818
4864
  getVariantStyles(),
4819
4865
  style
4820
4866
  ]);
4821
- const textStyle = import_react_native43.StyleSheet.flatten([
4867
+ const textStyle = import_react_native42.StyleSheet.flatten([
4822
4868
  textStyles.base,
4823
4869
  { color: getTextColor() }
4824
4870
  ]);
4825
4871
  return /* @__PURE__ */ import_react34.default.createElement(TextStyleProvider, { style: textStyle }, /* @__PURE__ */ import_react34.default.createElement(Component, { style: badgeStyle, ...props }));
4826
4872
  }
4827
- var styles27 = import_react_native43.StyleSheet.create({
4873
+ var styles28 = import_react_native42.StyleSheet.create({
4828
4874
  base: {
4829
4875
  flexDirection: "row",
4830
4876
  alignItems: "center",
@@ -4834,7 +4880,7 @@ var styles27 = import_react_native43.StyleSheet.create({
4834
4880
  paddingVertical: 2
4835
4881
  }
4836
4882
  });
4837
- var textStyles = import_react_native43.StyleSheet.create({
4883
+ var textStyles = import_react_native42.StyleSheet.create({
4838
4884
  base: {
4839
4885
  fontSize: 12,
4840
4886
  fontWeight: "600"
@@ -4850,7 +4896,7 @@ var CollapsibleContent = CollapsiblePrimitive.Content;
4850
4896
  // components/ui/context-menu.tsx
4851
4897
  var ContextMenuPrimitive = __toESM(require("@rn-primitives/context-menu"));
4852
4898
  var React40 = __toESM(require("react"));
4853
- var import_react_native44 = require("react-native");
4899
+ var import_react_native43 = require("react-native");
4854
4900
  var import_lucide_react_native33 = require("lucide-react-native");
4855
4901
  var import_lucide_react_native34 = require("lucide-react-native");
4856
4902
  var import_lucide_react_native35 = require("lucide-react-native");
@@ -4869,28 +4915,28 @@ function ContextMenuSubTrigger({
4869
4915
  }) {
4870
4916
  const { colors } = (0, import_native23.useTheme)();
4871
4917
  const { open } = ContextMenuPrimitive.useSubContext();
4872
- const Icon2 = import_react_native44.Platform.OS === "web" ? import_lucide_react_native35.ChevronRight : open ? import_lucide_react_native36.ChevronUp : import_lucide_react_native34.ChevronDown;
4918
+ const Icon2 = import_react_native43.Platform.OS === "web" ? import_lucide_react_native35.ChevronRight : open ? import_lucide_react_native36.ChevronUp : import_lucide_react_native34.ChevronDown;
4873
4919
  const textStyles2 = {
4874
- fontSize: import_react_native44.Platform.OS === "web" ? 14 : 18,
4920
+ fontSize: import_react_native43.Platform.OS === "web" ? 14 : 18,
4875
4921
  color: open ? colors.primary : colors.primary
4876
4922
  };
4877
- const triggerStyles = import_react_native44.StyleSheet.flatten([
4878
- styles28.subTrigger,
4923
+ const triggerStyles = import_react_native43.StyleSheet.flatten([
4924
+ styles29.subTrigger,
4879
4925
  {
4880
4926
  backgroundColor: open ? colors.border : "transparent",
4881
4927
  paddingLeft: inset ? 32 : 8
4882
4928
  },
4883
4929
  style
4884
4930
  ]);
4885
- return /* @__PURE__ */ React40.createElement(TextStyleProvider, { style: textStyles2 }, /* @__PURE__ */ React40.createElement(ContextMenuPrimitive.SubTrigger, { style: triggerStyles, ...props }, children, /* @__PURE__ */ React40.createElement(Icon2, { size: 18, color: colors.text, style: styles28.icon })));
4931
+ return /* @__PURE__ */ React40.createElement(TextStyleProvider, { style: textStyles2 }, /* @__PURE__ */ React40.createElement(ContextMenuPrimitive.SubTrigger, { style: triggerStyles, ...props }, children, /* @__PURE__ */ React40.createElement(Icon2, { size: 18, color: colors.text, style: styles29.icon })));
4886
4932
  }
4887
4933
  function ContextMenuSubContent({
4888
4934
  style,
4889
4935
  ...props
4890
4936
  }) {
4891
4937
  const { colors } = (0, import_native23.useTheme)();
4892
- const contentStyles = import_react_native44.StyleSheet.flatten([
4893
- styles28.subContent,
4938
+ const contentStyles = import_react_native43.StyleSheet.flatten([
4939
+ styles29.subContent,
4894
4940
  {
4895
4941
  backgroundColor: colors.background,
4896
4942
  borderColor: colors.border,
@@ -4907,8 +4953,8 @@ function ContextMenuContent({
4907
4953
  ...props
4908
4954
  }) {
4909
4955
  const { colors } = (0, import_native23.useTheme)();
4910
- const contentStyles = import_react_native44.StyleSheet.flatten([
4911
- styles28.content,
4956
+ const contentStyles = import_react_native43.StyleSheet.flatten([
4957
+ styles29.content,
4912
4958
  {
4913
4959
  backgroundColor: colors.background,
4914
4960
  borderColor: colors.border,
@@ -4919,10 +4965,10 @@ function ContextMenuContent({
4919
4965
  return /* @__PURE__ */ React40.createElement(ContextMenuPrimitive.Portal, { hostName: portalHost }, /* @__PURE__ */ React40.createElement(
4920
4966
  ContextMenuPrimitive.Overlay,
4921
4967
  {
4922
- style: overlayStyle ? import_react_native44.StyleSheet.flatten([
4923
- import_react_native44.Platform.OS !== "web" ? import_react_native44.StyleSheet.absoluteFill : void 0,
4968
+ style: overlayStyle ? import_react_native43.StyleSheet.flatten([
4969
+ import_react_native43.Platform.OS !== "web" ? import_react_native43.StyleSheet.absoluteFill : void 0,
4924
4970
  overlayStyle
4925
- ]) : import_react_native44.Platform.OS !== "web" ? import_react_native44.StyleSheet.absoluteFill : void 0
4971
+ ]) : import_react_native43.Platform.OS !== "web" ? import_react_native43.StyleSheet.absoluteFill : void 0
4926
4972
  },
4927
4973
  /* @__PURE__ */ React40.createElement(ContextMenuPrimitive.Content, { style: contentStyles, ...props })
4928
4974
  ));
@@ -4934,11 +4980,11 @@ function ContextMenuItem({
4934
4980
  }) {
4935
4981
  const { colors } = (0, import_native23.useTheme)();
4936
4982
  const textStyles2 = {
4937
- fontSize: import_react_native44.Platform.OS === "web" ? 14 : 18,
4983
+ fontSize: import_react_native43.Platform.OS === "web" ? 14 : 18,
4938
4984
  color: colors.text
4939
4985
  };
4940
- const itemStyles = import_react_native44.StyleSheet.flatten([
4941
- styles28.item,
4986
+ const itemStyles = import_react_native43.StyleSheet.flatten([
4987
+ styles29.item,
4942
4988
  {
4943
4989
  paddingLeft: inset ? 32 : 8,
4944
4990
  opacity: props.disabled ? 0.5 : 1
@@ -4953,14 +4999,14 @@ function ContextMenuCheckboxItem({
4953
4999
  ...props
4954
5000
  }) {
4955
5001
  const { colors } = (0, import_native23.useTheme)();
4956
- const checkboxStyles = import_react_native44.StyleSheet.flatten([
4957
- styles28.checkboxItem,
5002
+ const checkboxStyles = import_react_native43.StyleSheet.flatten([
5003
+ styles29.checkboxItem,
4958
5004
  {
4959
5005
  opacity: props.disabled ? 0.5 : 1
4960
5006
  },
4961
5007
  style
4962
5008
  ]);
4963
- return /* @__PURE__ */ React40.createElement(ContextMenuPrimitive.CheckboxItem, { style: checkboxStyles, ...props }, /* @__PURE__ */ React40.createElement(import_react_native44.View, { style: styles28.checkboxIndicator }, /* @__PURE__ */ React40.createElement(ContextMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React40.createElement(import_lucide_react_native33.Check, { size: 14, strokeWidth: 3, color: colors.text }))), children);
5009
+ return /* @__PURE__ */ React40.createElement(ContextMenuPrimitive.CheckboxItem, { style: checkboxStyles, ...props }, /* @__PURE__ */ React40.createElement(import_react_native43.View, { style: styles29.checkboxIndicator }, /* @__PURE__ */ React40.createElement(ContextMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React40.createElement(import_lucide_react_native33.Check, { size: 14, strokeWidth: 3, color: colors.text }))), children);
4964
5010
  }
4965
5011
  function ContextMenuRadioItem({
4966
5012
  style,
@@ -4968,14 +5014,14 @@ function ContextMenuRadioItem({
4968
5014
  ...props
4969
5015
  }) {
4970
5016
  const { colors } = (0, import_native23.useTheme)();
4971
- const radioStyles = import_react_native44.StyleSheet.flatten([
4972
- styles28.radioItem,
5017
+ const radioStyles = import_react_native43.StyleSheet.flatten([
5018
+ styles29.radioItem,
4973
5019
  {
4974
5020
  opacity: props.disabled ? 0.5 : 1
4975
5021
  },
4976
5022
  style
4977
5023
  ]);
4978
- return /* @__PURE__ */ React40.createElement(ContextMenuPrimitive.RadioItem, { style: radioStyles, ...props }, /* @__PURE__ */ React40.createElement(import_react_native44.View, { style: styles28.radioIndicator }, /* @__PURE__ */ React40.createElement(ContextMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React40.createElement(import_react_native44.View, { style: [styles28.radioDot, { backgroundColor: colors.text }] }))), children);
5024
+ return /* @__PURE__ */ React40.createElement(ContextMenuPrimitive.RadioItem, { style: radioStyles, ...props }, /* @__PURE__ */ React40.createElement(import_react_native43.View, { style: styles29.radioIndicator }, /* @__PURE__ */ React40.createElement(ContextMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React40.createElement(import_react_native43.View, { style: [styles29.radioDot, { backgroundColor: colors.text }] }))), children);
4979
5025
  }
4980
5026
  function ContextMenuLabel({
4981
5027
  style,
@@ -4983,8 +5029,8 @@ function ContextMenuLabel({
4983
5029
  ...props
4984
5030
  }) {
4985
5031
  const { colors } = (0, import_native23.useTheme)();
4986
- const labelStyles = import_react_native44.StyleSheet.flatten([
4987
- styles28.label,
5032
+ const labelStyles = import_react_native43.StyleSheet.flatten([
5033
+ styles29.label,
4988
5034
  {
4989
5035
  color: colors.text,
4990
5036
  paddingLeft: inset ? 32 : 8
@@ -4998,8 +5044,8 @@ function ContextMenuSeparator({
4998
5044
  ...props
4999
5045
  }) {
5000
5046
  const { colors } = (0, import_native23.useTheme)();
5001
- const separatorStyles = import_react_native44.StyleSheet.flatten([
5002
- styles28.separator,
5047
+ const separatorStyles = import_react_native43.StyleSheet.flatten([
5048
+ styles29.separator,
5003
5049
  {
5004
5050
  backgroundColor: colors.border
5005
5051
  },
@@ -5009,16 +5055,16 @@ function ContextMenuSeparator({
5009
5055
  }
5010
5056
  function ContextMenuShortcut({ style, ...props }) {
5011
5057
  const { colors } = (0, import_native23.useTheme)();
5012
- const shortcutStyles = import_react_native44.StyleSheet.flatten([
5013
- styles28.shortcut,
5058
+ const shortcutStyles = import_react_native43.StyleSheet.flatten([
5059
+ styles29.shortcut,
5014
5060
  {
5015
5061
  color: colors.text
5016
5062
  },
5017
5063
  style
5018
5064
  ]);
5019
- return /* @__PURE__ */ React40.createElement(import_react_native44.Text, { style: shortcutStyles, ...props });
5065
+ return /* @__PURE__ */ React40.createElement(import_react_native43.Text, { style: shortcutStyles, ...props });
5020
5066
  }
5021
- var styles28 = import_react_native44.StyleSheet.create({
5067
+ var styles29 = import_react_native43.StyleSheet.create({
5022
5068
  subTrigger: {
5023
5069
  flexDirection: "row",
5024
5070
  alignItems: "center",
@@ -5103,7 +5149,7 @@ var styles28 = import_react_native44.StyleSheet.create({
5103
5149
  label: {
5104
5150
  paddingHorizontal: 8,
5105
5151
  paddingVertical: 6,
5106
- fontSize: import_react_native44.Platform.OS === "web" ? 14 : 16,
5152
+ fontSize: import_react_native43.Platform.OS === "web" ? 14 : 16,
5107
5153
  fontWeight: "600"
5108
5154
  },
5109
5155
  separator: {
@@ -5113,7 +5159,7 @@ var styles28 = import_react_native44.StyleSheet.create({
5113
5159
  },
5114
5160
  shortcut: {
5115
5161
  marginLeft: "auto",
5116
- fontSize: import_react_native44.Platform.OS === "web" ? 12 : 14,
5162
+ fontSize: import_react_native43.Platform.OS === "web" ? 12 : 14,
5117
5163
  letterSpacing: 1
5118
5164
  }
5119
5165
  });
@@ -5121,7 +5167,7 @@ var styles28 = import_react_native44.StyleSheet.create({
5121
5167
  // components/ui/hover-card.tsx
5122
5168
  var HoverCardPrimitive = __toESM(require("@rn-primitives/hover-card"));
5123
5169
  var React41 = __toESM(require("react"));
5124
- var import_react_native45 = require("react-native");
5170
+ var import_react_native44 = require("react-native");
5125
5171
  var import_react_native_reanimated4 = __toESM(require("react-native-reanimated"));
5126
5172
  var import_native24 = require("@react-navigation/native");
5127
5173
  var HoverCard = HoverCardPrimitive.Root;
@@ -5133,8 +5179,8 @@ function HoverCardContent({
5133
5179
  ...props
5134
5180
  }) {
5135
5181
  const { colors } = (0, import_native24.useTheme)();
5136
- const contentStyles = import_react_native45.StyleSheet.flatten([
5137
- styles29.content,
5182
+ const contentStyles = import_react_native44.StyleSheet.flatten([
5183
+ styles30.content,
5138
5184
  {
5139
5185
  backgroundColor: colors.background,
5140
5186
  borderColor: colors.border,
@@ -5148,7 +5194,7 @@ function HoverCardContent({
5148
5194
  return /* @__PURE__ */ React41.createElement(HoverCardPrimitive.Portal, null, /* @__PURE__ */ React41.createElement(
5149
5195
  HoverCardPrimitive.Overlay,
5150
5196
  {
5151
- style: import_react_native45.Platform.OS !== "web" ? import_react_native45.StyleSheet.absoluteFill : void 0
5197
+ style: import_react_native44.Platform.OS !== "web" ? import_react_native44.StyleSheet.absoluteFill : void 0
5152
5198
  },
5153
5199
  /* @__PURE__ */ React41.createElement(import_react_native_reanimated4.default.View, { entering: import_react_native_reanimated4.FadeIn }, /* @__PURE__ */ React41.createElement(TextStyleProvider, { style: textStyles2 }, /* @__PURE__ */ React41.createElement(
5154
5200
  HoverCardPrimitive.Content,
@@ -5161,7 +5207,7 @@ function HoverCardContent({
5161
5207
  )))
5162
5208
  ));
5163
5209
  }
5164
- var styles29 = import_react_native45.StyleSheet.create({
5210
+ var styles30 = import_react_native44.StyleSheet.create({
5165
5211
  content: {
5166
5212
  zIndex: 50,
5167
5213
  width: 256,
@@ -5178,7 +5224,7 @@ var styles29 = import_react_native45.StyleSheet.create({
5178
5224
  // components/ui/label.tsx
5179
5225
  var LabelPrimitive = __toESM(require("@rn-primitives/label"));
5180
5226
  var React42 = __toESM(require("react"));
5181
- var import_react_native46 = require("react-native");
5227
+ var import_react_native45 = require("react-native");
5182
5228
  function Label3({
5183
5229
  style,
5184
5230
  onPress,
@@ -5190,7 +5236,7 @@ function Label3({
5190
5236
  return /* @__PURE__ */ React42.createElement(
5191
5237
  LabelPrimitive.Root,
5192
5238
  {
5193
- style: styles30.root,
5239
+ style: styles31.root,
5194
5240
  onPress,
5195
5241
  onLongPress,
5196
5242
  onPressIn,
@@ -5199,13 +5245,13 @@ function Label3({
5199
5245
  /* @__PURE__ */ React42.createElement(
5200
5246
  LabelPrimitive.Text,
5201
5247
  {
5202
- style: import_react_native46.StyleSheet.flatten([styles30.text, style]),
5248
+ style: import_react_native45.StyleSheet.flatten([styles31.text, style]),
5203
5249
  ...props
5204
5250
  }
5205
5251
  )
5206
5252
  );
5207
5253
  }
5208
- var styles30 = import_react_native46.StyleSheet.create({
5254
+ var styles31 = import_react_native45.StyleSheet.create({
5209
5255
  root: {
5210
5256
  // web:cursor-default - handled by platform
5211
5257
  },
@@ -5222,7 +5268,7 @@ var styles30 = import_react_native46.StyleSheet.create({
5222
5268
  // components/ui/menubar.tsx
5223
5269
  var MenubarPrimitive = __toESM(require("@rn-primitives/menubar"));
5224
5270
  var React43 = __toESM(require("react"));
5225
- var import_react_native47 = require("react-native");
5271
+ var import_react_native46 = require("react-native");
5226
5272
  var import_lucide_react_native37 = require("lucide-react-native");
5227
5273
  var import_lucide_react_native38 = require("lucide-react-native");
5228
5274
  var import_lucide_react_native39 = require("lucide-react-native");
@@ -5238,8 +5284,8 @@ function Menubar({
5238
5284
  ...props
5239
5285
  }) {
5240
5286
  const { colors } = (0, import_native25.useTheme)();
5241
- const rootStyles = import_react_native47.StyleSheet.flatten([
5242
- styles31.root,
5287
+ const rootStyles = import_react_native46.StyleSheet.flatten([
5288
+ styles32.root,
5243
5289
  {
5244
5290
  backgroundColor: colors.background,
5245
5291
  borderColor: colors.border
@@ -5255,8 +5301,8 @@ function MenubarTrigger({
5255
5301
  const { colors } = (0, import_native25.useTheme)();
5256
5302
  const { value } = MenubarPrimitive.useRootContext();
5257
5303
  const { value: itemValue } = MenubarPrimitive.useMenuContext();
5258
- const triggerStyles = import_react_native47.StyleSheet.flatten([
5259
- styles31.trigger,
5304
+ const triggerStyles = import_react_native46.StyleSheet.flatten([
5305
+ styles32.trigger,
5260
5306
  {
5261
5307
  backgroundColor: value === itemValue ? colors.border : "transparent",
5262
5308
  color: value === itemValue ? colors.text : colors.text
@@ -5273,28 +5319,28 @@ function MenubarSubTrigger({
5273
5319
  }) {
5274
5320
  const { colors } = (0, import_native25.useTheme)();
5275
5321
  const { open } = MenubarPrimitive.useSubContext();
5276
- const Icon2 = import_react_native47.Platform.OS === "web" ? import_lucide_react_native39.ChevronRight : open ? import_lucide_react_native40.ChevronUp : import_lucide_react_native38.ChevronDown;
5322
+ const Icon2 = import_react_native46.Platform.OS === "web" ? import_lucide_react_native39.ChevronRight : open ? import_lucide_react_native40.ChevronUp : import_lucide_react_native38.ChevronDown;
5277
5323
  const textStyles2 = {
5278
- fontSize: import_react_native47.Platform.OS === "web" ? 14 : 18,
5324
+ fontSize: import_react_native46.Platform.OS === "web" ? 14 : 18,
5279
5325
  color: open ? colors.primary : colors.primary
5280
5326
  };
5281
- const triggerStyles = import_react_native47.StyleSheet.flatten([
5282
- styles31.subTrigger,
5327
+ const triggerStyles = import_react_native46.StyleSheet.flatten([
5328
+ styles32.subTrigger,
5283
5329
  {
5284
5330
  backgroundColor: open ? colors.border : "transparent",
5285
5331
  paddingLeft: inset ? 32 : 8
5286
5332
  },
5287
5333
  style
5288
5334
  ]);
5289
- return /* @__PURE__ */ React43.createElement(TextStyleProvider, { style: textStyles2 }, /* @__PURE__ */ React43.createElement(MenubarPrimitive.SubTrigger, { style: triggerStyles, ...props }, children, /* @__PURE__ */ React43.createElement(Icon2, { size: 18, color: colors.text, style: styles31.icon })));
5335
+ return /* @__PURE__ */ React43.createElement(TextStyleProvider, { style: textStyles2 }, /* @__PURE__ */ React43.createElement(MenubarPrimitive.SubTrigger, { style: triggerStyles, ...props }, children, /* @__PURE__ */ React43.createElement(Icon2, { size: 18, color: colors.text, style: styles32.icon })));
5290
5336
  }
5291
5337
  function MenubarSubContent({
5292
5338
  style,
5293
5339
  ...props
5294
5340
  }) {
5295
5341
  const { colors } = (0, import_native25.useTheme)();
5296
- const contentStyles = import_react_native47.StyleSheet.flatten([
5297
- styles31.subContent,
5342
+ const contentStyles = import_react_native46.StyleSheet.flatten([
5343
+ styles32.subContent,
5298
5344
  {
5299
5345
  backgroundColor: colors.background,
5300
5346
  borderColor: colors.border,
@@ -5310,8 +5356,8 @@ function MenubarContent({
5310
5356
  ...props
5311
5357
  }) {
5312
5358
  const { colors } = (0, import_native25.useTheme)();
5313
- const contentStyles = import_react_native47.StyleSheet.flatten([
5314
- styles31.content,
5359
+ const contentStyles = import_react_native46.StyleSheet.flatten([
5360
+ styles32.content,
5315
5361
  {
5316
5362
  backgroundColor: colors.background,
5317
5363
  borderColor: colors.border,
@@ -5328,11 +5374,11 @@ function MenubarItem({
5328
5374
  }) {
5329
5375
  const { colors } = (0, import_native25.useTheme)();
5330
5376
  const textStyles2 = {
5331
- fontSize: import_react_native47.Platform.OS === "web" ? 14 : 18,
5377
+ fontSize: import_react_native46.Platform.OS === "web" ? 14 : 18,
5332
5378
  color: colors.text
5333
5379
  };
5334
- const itemStyles = import_react_native47.StyleSheet.flatten([
5335
- styles31.item,
5380
+ const itemStyles = import_react_native46.StyleSheet.flatten([
5381
+ styles32.item,
5336
5382
  {
5337
5383
  paddingLeft: inset ? 32 : 8,
5338
5384
  opacity: props.disabled ? 0.5 : 1
@@ -5348,8 +5394,8 @@ function MenubarCheckboxItem({
5348
5394
  ...props
5349
5395
  }) {
5350
5396
  const { colors } = (0, import_native25.useTheme)();
5351
- const checkboxStyles = import_react_native47.StyleSheet.flatten([
5352
- styles31.checkboxItem,
5397
+ const checkboxStyles = import_react_native46.StyleSheet.flatten([
5398
+ styles32.checkboxItem,
5353
5399
  {
5354
5400
  opacity: props.disabled ? 0.5 : 1
5355
5401
  },
@@ -5362,7 +5408,7 @@ function MenubarCheckboxItem({
5362
5408
  checked,
5363
5409
  ...props
5364
5410
  },
5365
- /* @__PURE__ */ React43.createElement(import_react_native47.View, { style: styles31.checkboxIndicator }, /* @__PURE__ */ React43.createElement(MenubarPrimitive.ItemIndicator, null, /* @__PURE__ */ React43.createElement(import_lucide_react_native37.Check, { size: 14, strokeWidth: 3, color: colors.text }))),
5411
+ /* @__PURE__ */ React43.createElement(import_react_native46.View, { style: styles32.checkboxIndicator }, /* @__PURE__ */ React43.createElement(MenubarPrimitive.ItemIndicator, null, /* @__PURE__ */ React43.createElement(import_lucide_react_native37.Check, { size: 14, strokeWidth: 3, color: colors.text }))),
5366
5412
  children
5367
5413
  );
5368
5414
  }
@@ -5372,14 +5418,14 @@ function MenubarRadioItem({
5372
5418
  ...props
5373
5419
  }) {
5374
5420
  const { colors } = (0, import_native25.useTheme)();
5375
- const radioStyles = import_react_native47.StyleSheet.flatten([
5376
- styles31.radioItem,
5421
+ const radioStyles = import_react_native46.StyleSheet.flatten([
5422
+ styles32.radioItem,
5377
5423
  {
5378
5424
  opacity: props.disabled ? 0.5 : 1
5379
5425
  },
5380
5426
  style
5381
5427
  ]);
5382
- return /* @__PURE__ */ React43.createElement(MenubarPrimitive.RadioItem, { style: radioStyles, ...props }, /* @__PURE__ */ React43.createElement(import_react_native47.View, { style: styles31.radioIndicator }, /* @__PURE__ */ React43.createElement(MenubarPrimitive.ItemIndicator, null, /* @__PURE__ */ React43.createElement(import_react_native47.View, { style: [styles31.radioDot, { backgroundColor: colors.text }] }))), children);
5428
+ return /* @__PURE__ */ React43.createElement(MenubarPrimitive.RadioItem, { style: radioStyles, ...props }, /* @__PURE__ */ React43.createElement(import_react_native46.View, { style: styles32.radioIndicator }, /* @__PURE__ */ React43.createElement(MenubarPrimitive.ItemIndicator, null, /* @__PURE__ */ React43.createElement(import_react_native46.View, { style: [styles32.radioDot, { backgroundColor: colors.text }] }))), children);
5383
5429
  }
5384
5430
  function MenubarLabel({
5385
5431
  style,
@@ -5387,8 +5433,8 @@ function MenubarLabel({
5387
5433
  ...props
5388
5434
  }) {
5389
5435
  const { colors } = (0, import_native25.useTheme)();
5390
- const labelStyles = import_react_native47.StyleSheet.flatten([
5391
- styles31.label,
5436
+ const labelStyles = import_react_native46.StyleSheet.flatten([
5437
+ styles32.label,
5392
5438
  {
5393
5439
  color: colors.text,
5394
5440
  paddingLeft: inset ? 32 : 8
@@ -5402,8 +5448,8 @@ function MenubarSeparator({
5402
5448
  ...props
5403
5449
  }) {
5404
5450
  const { colors } = (0, import_native25.useTheme)();
5405
- const separatorStyles = import_react_native47.StyleSheet.flatten([
5406
- styles31.separator,
5451
+ const separatorStyles = import_react_native46.StyleSheet.flatten([
5452
+ styles32.separator,
5407
5453
  {
5408
5454
  backgroundColor: colors.border
5409
5455
  },
@@ -5413,19 +5459,19 @@ function MenubarSeparator({
5413
5459
  }
5414
5460
  function MenubarShortcut({ style, ...props }) {
5415
5461
  const { colors } = (0, import_native25.useTheme)();
5416
- const shortcutStyles = import_react_native47.StyleSheet.flatten([
5417
- styles31.shortcut,
5462
+ const shortcutStyles = import_react_native46.StyleSheet.flatten([
5463
+ styles32.shortcut,
5418
5464
  {
5419
5465
  color: colors.text
5420
5466
  },
5421
5467
  style
5422
5468
  ]);
5423
- return /* @__PURE__ */ React43.createElement(import_react_native47.Text, { style: shortcutStyles, ...props });
5469
+ return /* @__PURE__ */ React43.createElement(import_react_native46.Text, { style: shortcutStyles, ...props });
5424
5470
  }
5425
- var styles31 = import_react_native47.StyleSheet.create({
5471
+ var styles32 = import_react_native46.StyleSheet.create({
5426
5472
  root: {
5427
5473
  flexDirection: "row",
5428
- height: import_react_native47.Platform.OS === "web" ? 40 : 48,
5474
+ height: import_react_native46.Platform.OS === "web" ? 40 : 48,
5429
5475
  alignItems: "center",
5430
5476
  gap: 4,
5431
5477
  borderRadius: 6,
@@ -5438,7 +5484,7 @@ var styles31 = import_react_native47.StyleSheet.create({
5438
5484
  borderRadius: 6,
5439
5485
  paddingHorizontal: 12,
5440
5486
  paddingVertical: 6,
5441
- fontSize: import_react_native47.Platform.OS === "web" ? 14 : 16,
5487
+ fontSize: import_react_native46.Platform.OS === "web" ? 14 : 16,
5442
5488
  fontWeight: "500"
5443
5489
  },
5444
5490
  subTrigger: {
@@ -5522,7 +5568,7 @@ var styles31 = import_react_native47.StyleSheet.create({
5522
5568
  label: {
5523
5569
  paddingHorizontal: 8,
5524
5570
  paddingVertical: 6,
5525
- fontSize: import_react_native47.Platform.OS === "web" ? 14 : 16,
5571
+ fontSize: import_react_native46.Platform.OS === "web" ? 14 : 16,
5526
5572
  fontWeight: "600"
5527
5573
  },
5528
5574
  separator: {
@@ -5532,7 +5578,7 @@ var styles31 = import_react_native47.StyleSheet.create({
5532
5578
  },
5533
5579
  shortcut: {
5534
5580
  marginLeft: "auto",
5535
- fontSize: import_react_native47.Platform.OS === "web" ? 12 : 14,
5581
+ fontSize: import_react_native46.Platform.OS === "web" ? 12 : 14,
5536
5582
  letterSpacing: 1
5537
5583
  },
5538
5584
  icon: {
@@ -5543,7 +5589,7 @@ var styles31 = import_react_native47.StyleSheet.create({
5543
5589
  // components/ui/navigation-menu.tsx
5544
5590
  var NavigationMenuPrimitive = __toESM(require("@rn-primitives/navigation-menu"));
5545
5591
  var React44 = __toESM(require("react"));
5546
- var import_react_native48 = require("react-native");
5592
+ var import_react_native47 = require("react-native");
5547
5593
  var import_lucide_react_native41 = require("lucide-react-native");
5548
5594
  var import_native26 = require("@react-navigation/native");
5549
5595
  function NavigationMenu({
@@ -5554,11 +5600,11 @@ function NavigationMenu({
5554
5600
  return /* @__PURE__ */ React44.createElement(
5555
5601
  NavigationMenuPrimitive.Root,
5556
5602
  {
5557
- style: import_react_native48.StyleSheet.flatten([styles32.navigationMenu, style]),
5603
+ style: import_react_native47.StyleSheet.flatten([styles33.navigationMenu, style]),
5558
5604
  ...props
5559
5605
  },
5560
5606
  children,
5561
- import_react_native48.Platform.OS === "web" && /* @__PURE__ */ React44.createElement(NavigationMenuViewport, null)
5607
+ import_react_native47.Platform.OS === "web" && /* @__PURE__ */ React44.createElement(NavigationMenuViewport, null)
5562
5608
  );
5563
5609
  }
5564
5610
  function NavigationMenuList({
@@ -5568,7 +5614,7 @@ function NavigationMenuList({
5568
5614
  return /* @__PURE__ */ React44.createElement(
5569
5615
  NavigationMenuPrimitive.List,
5570
5616
  {
5571
- style: import_react_native48.StyleSheet.flatten([styles32.navigationMenuList, style]),
5617
+ style: import_react_native47.StyleSheet.flatten([styles33.navigationMenuList, style]),
5572
5618
  ...props
5573
5619
  }
5574
5620
  );
@@ -5584,17 +5630,17 @@ function NavigationMenuTrigger({
5584
5630
  const { value: itemValue } = NavigationMenuPrimitive.useItemContext();
5585
5631
  const isActive = value === itemValue;
5586
5632
  return /* @__PURE__ */ React44.createElement(NavigationMenuPrimitive.Trigger, { asChild: true }, /* @__PURE__ */ React44.createElement(
5587
- import_react_native48.Pressable,
5633
+ import_react_native47.Pressable,
5588
5634
  {
5589
5635
  style: ({ hovered }) => ({
5590
- ...styles32.trigger,
5636
+ ...styles33.trigger,
5591
5637
  backgroundColor: isActive ? colors.card : hovered ? colors.border : colors.background,
5592
5638
  ...style
5593
5639
  }),
5594
5640
  ...props
5595
5641
  },
5596
5642
  children,
5597
- /* @__PURE__ */ React44.createElement(import_react_native48.View, { style: styles32.chevronContainer }, /* @__PURE__ */ React44.createElement(import_lucide_react_native41.ChevronDown, { size: 12, color: colors.text, "aria-hidden": true }))
5643
+ /* @__PURE__ */ React44.createElement(import_react_native47.View, { style: styles33.chevronContainer }, /* @__PURE__ */ React44.createElement(import_lucide_react_native41.ChevronDown, { size: 12, color: colors.text, "aria-hidden": true }))
5598
5644
  ));
5599
5645
  }
5600
5646
  function NavigationMenuContent({
@@ -5607,8 +5653,8 @@ function NavigationMenuContent({
5607
5653
  return /* @__PURE__ */ React44.createElement(NavigationMenuPrimitive.Portal, { hostName: portalHost }, /* @__PURE__ */ React44.createElement(
5608
5654
  NavigationMenuPrimitive.Content,
5609
5655
  {
5610
- style: import_react_native48.StyleSheet.flatten([
5611
- styles32.content,
5656
+ style: import_react_native47.StyleSheet.flatten([
5657
+ styles33.content,
5612
5658
  {
5613
5659
  backgroundColor: colors.background,
5614
5660
  borderColor: colors.border
@@ -5617,7 +5663,7 @@ function NavigationMenuContent({
5617
5663
  ]),
5618
5664
  ...props
5619
5665
  },
5620
- /* @__PURE__ */ React44.createElement(import_react_native48.View, null, children)
5666
+ /* @__PURE__ */ React44.createElement(import_react_native47.View, null, children)
5621
5667
  ));
5622
5668
  }
5623
5669
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
@@ -5626,11 +5672,11 @@ function NavigationMenuViewport({
5626
5672
  ...props
5627
5673
  }) {
5628
5674
  const { colors } = (0, import_native26.useTheme)();
5629
- return /* @__PURE__ */ React44.createElement(import_react_native48.View, { style: styles32.viewportContainer }, /* @__PURE__ */ React44.createElement(
5630
- import_react_native48.View,
5675
+ return /* @__PURE__ */ React44.createElement(import_react_native47.View, { style: styles33.viewportContainer }, /* @__PURE__ */ React44.createElement(
5676
+ import_react_native47.View,
5631
5677
  {
5632
- style: import_react_native48.StyleSheet.flatten([
5633
- styles32.viewport,
5678
+ style: import_react_native47.StyleSheet.flatten([
5679
+ styles33.viewport,
5634
5680
  {
5635
5681
  backgroundColor: colors.background,
5636
5682
  borderColor: colors.border
@@ -5652,21 +5698,21 @@ function NavigationMenuIndicator({
5652
5698
  NavigationMenuPrimitive.Indicator,
5653
5699
  {
5654
5700
  ref,
5655
- style: import_react_native48.StyleSheet.flatten([styles32.indicator, style]),
5701
+ style: import_react_native47.StyleSheet.flatten([styles33.indicator, style]),
5656
5702
  ...props
5657
5703
  },
5658
5704
  /* @__PURE__ */ React44.createElement(
5659
- import_react_native48.View,
5705
+ import_react_native47.View,
5660
5706
  {
5661
- style: import_react_native48.StyleSheet.flatten([
5662
- styles32.indicatorArrow,
5707
+ style: import_react_native47.StyleSheet.flatten([
5708
+ styles33.indicatorArrow,
5663
5709
  { backgroundColor: colors.border }
5664
5710
  ])
5665
5711
  }
5666
5712
  )
5667
5713
  );
5668
5714
  }
5669
- var styles32 = import_react_native48.StyleSheet.create({
5715
+ var styles33 = import_react_native47.StyleSheet.create({
5670
5716
  navigationMenu: {
5671
5717
  position: "relative",
5672
5718
  zIndex: 10,
@@ -5681,14 +5727,14 @@ var styles32 = import_react_native48.StyleSheet.create({
5681
5727
  alignItems: "center",
5682
5728
  justifyContent: "center",
5683
5729
  gap: 4,
5684
- ...import_react_native48.Platform.OS === "web" && {
5730
+ ...import_react_native47.Platform.OS === "web" && {
5685
5731
  listStyle: "none"
5686
5732
  }
5687
5733
  },
5688
5734
  trigger: {
5689
5735
  flexDirection: "row",
5690
- height: import_react_native48.Platform.OS === "web" ? 40 : 48,
5691
- paddingHorizontal: import_react_native48.Platform.OS === "web" ? 16 : 12,
5736
+ height: import_react_native47.Platform.OS === "web" ? 40 : 48,
5737
+ paddingHorizontal: import_react_native47.Platform.OS === "web" ? 16 : 12,
5692
5738
  paddingVertical: 8,
5693
5739
  alignItems: "center",
5694
5740
  justifyContent: "center",
@@ -5701,7 +5747,7 @@ var styles32 = import_react_native48.StyleSheet.create({
5701
5747
  },
5702
5748
  content: {
5703
5749
  width: "100%",
5704
- ...import_react_native48.Platform.OS !== "web" && {
5750
+ ...import_react_native47.Platform.OS !== "web" && {
5705
5751
  borderWidth: 1,
5706
5752
  borderRadius: 8,
5707
5753
  shadowColor: "#000",
@@ -5713,7 +5759,7 @@ var styles32 = import_react_native48.StyleSheet.create({
5713
5759
  }
5714
5760
  },
5715
5761
  viewportContainer: {
5716
- ...import_react_native48.Platform.OS === "web" && {
5762
+ ...import_react_native47.Platform.OS === "web" && {
5717
5763
  position: "fixed",
5718
5764
  right: 0,
5719
5765
  top: 48,
@@ -5724,7 +5770,7 @@ var styles32 = import_react_native48.StyleSheet.create({
5724
5770
  }
5725
5771
  },
5726
5772
  viewport: {
5727
- ...import_react_native48.Platform.OS === "web" && {
5773
+ ...import_react_native47.Platform.OS === "web" && {
5728
5774
  position: "relative",
5729
5775
  marginTop: 6,
5730
5776
  width: "100%",
@@ -5766,7 +5812,7 @@ var styles32 = import_react_native48.StyleSheet.create({
5766
5812
  // components/ui/popover.tsx
5767
5813
  var import_react35 = __toESM(require("react"));
5768
5814
  var PopoverPrimitive = __toESM(require("@rn-primitives/popover"));
5769
- var import_react_native49 = require("react-native");
5815
+ var import_react_native48 = require("react-native");
5770
5816
  var import_react_native_reanimated5 = __toESM(require("react-native-reanimated"));
5771
5817
  var import_native27 = require("@react-navigation/native");
5772
5818
  var Popover = PopoverPrimitive.Root;
@@ -5779,8 +5825,8 @@ function PopoverContent({
5779
5825
  ...props
5780
5826
  }) {
5781
5827
  const { colors } = (0, import_native27.useTheme)();
5782
- const contentStyles = import_react_native49.StyleSheet.flatten([
5783
- styles33.content,
5828
+ const contentStyles = import_react_native48.StyleSheet.flatten([
5829
+ styles34.content,
5784
5830
  {
5785
5831
  backgroundColor: colors.background,
5786
5832
  borderColor: colors.border,
@@ -5794,7 +5840,7 @@ function PopoverContent({
5794
5840
  return /* @__PURE__ */ import_react35.default.createElement(PopoverPrimitive.Portal, { hostName: portalHost }, /* @__PURE__ */ import_react35.default.createElement(
5795
5841
  PopoverPrimitive.Overlay,
5796
5842
  {
5797
- style: import_react_native49.Platform.OS !== "web" ? import_react_native49.StyleSheet.absoluteFill : void 0
5843
+ style: import_react_native48.Platform.OS !== "web" ? import_react_native48.StyleSheet.absoluteFill : void 0
5798
5844
  },
5799
5845
  /* @__PURE__ */ import_react35.default.createElement(import_react_native_reanimated5.default.View, { entering: import_react_native_reanimated5.FadeIn.duration(200), exiting: import_react_native_reanimated5.FadeOut }, /* @__PURE__ */ import_react35.default.createElement(TextStyleProvider, { style: textStyles2 }, /* @__PURE__ */ import_react35.default.createElement(
5800
5846
  PopoverPrimitive.Content,
@@ -5807,7 +5853,7 @@ function PopoverContent({
5807
5853
  )))
5808
5854
  ));
5809
5855
  }
5810
- var styles33 = import_react_native49.StyleSheet.create({
5856
+ var styles34 = import_react_native48.StyleSheet.create({
5811
5857
  content: {
5812
5858
  zIndex: 50,
5813
5859
  width: 288,
@@ -5824,7 +5870,7 @@ var styles33 = import_react_native49.StyleSheet.create({
5824
5870
  // components/ui/progress.tsx
5825
5871
  var ProgressPrimitive = __toESM(require("@rn-primitives/progress"));
5826
5872
  var React46 = __toESM(require("react"));
5827
- var import_react_native50 = require("react-native");
5873
+ var import_react_native49 = require("react-native");
5828
5874
  var import_react_native_reanimated6 = __toESM(require("react-native-reanimated"));
5829
5875
  var import_native28 = require("@react-navigation/native");
5830
5876
  function Progress({
@@ -5834,8 +5880,8 @@ function Progress({
5834
5880
  ...props
5835
5881
  }) {
5836
5882
  const { colors } = (0, import_native28.useTheme)();
5837
- const progressStyles = import_react_native50.StyleSheet.flatten([
5838
- styles34.progress,
5883
+ const progressStyles = import_react_native49.StyleSheet.flatten([
5884
+ styles35.progress,
5839
5885
  { backgroundColor: colors.border },
5840
5886
  style
5841
5887
  ]);
@@ -5855,12 +5901,12 @@ function Indicator4({
5855
5901
  )
5856
5902
  };
5857
5903
  });
5858
- if (import_react_native50.Platform.OS === "web") {
5904
+ if (import_react_native49.Platform.OS === "web") {
5859
5905
  return /* @__PURE__ */ React46.createElement(
5860
- import_react_native50.View,
5906
+ import_react_native49.View,
5861
5907
  {
5862
- style: import_react_native50.StyleSheet.flatten([
5863
- styles34.indicatorWeb,
5908
+ style: import_react_native49.StyleSheet.flatten([
5909
+ styles35.indicatorWeb,
5864
5910
  {
5865
5911
  transform: `translateX(-${100 - (value ?? 0)}%)`,
5866
5912
  backgroundColor: colors.primary
@@ -5874,16 +5920,16 @@ function Indicator4({
5874
5920
  return /* @__PURE__ */ React46.createElement(ProgressPrimitive.Indicator, { asChild: true }, /* @__PURE__ */ React46.createElement(
5875
5921
  import_react_native_reanimated6.default.View,
5876
5922
  {
5877
- style: import_react_native50.StyleSheet.flatten([
5923
+ style: import_react_native49.StyleSheet.flatten([
5878
5924
  indicator,
5879
- styles34.indicator,
5925
+ styles35.indicator,
5880
5926
  { backgroundColor: colors.primary },
5881
5927
  style
5882
5928
  ])
5883
5929
  }
5884
5930
  ));
5885
5931
  }
5886
- var styles34 = import_react_native50.StyleSheet.create({
5932
+ var styles35 = import_react_native49.StyleSheet.create({
5887
5933
  progress: {
5888
5934
  position: "relative",
5889
5935
  height: 16,
@@ -5904,7 +5950,7 @@ var styles34 = import_react_native50.StyleSheet.create({
5904
5950
  // components/ui/radio-group.tsx
5905
5951
  var import_react36 = __toESM(require("react"));
5906
5952
  var RadioGroupPrimitive = __toESM(require("@rn-primitives/radio-group"));
5907
- var import_react_native51 = require("react-native");
5953
+ var import_react_native50 = require("react-native");
5908
5954
  var import_native29 = require("@react-navigation/native");
5909
5955
  function RadioGroup4({
5910
5956
  style,
@@ -5913,7 +5959,7 @@ function RadioGroup4({
5913
5959
  return /* @__PURE__ */ import_react36.default.createElement(
5914
5960
  RadioGroupPrimitive.Root,
5915
5961
  {
5916
- style: import_react_native51.StyleSheet.flatten([styles35.root, style]),
5962
+ style: import_react_native50.StyleSheet.flatten([styles36.root, style]),
5917
5963
  ...props
5918
5964
  }
5919
5965
  );
@@ -5923,27 +5969,27 @@ function RadioGroupItem({
5923
5969
  ...props
5924
5970
  }) {
5925
5971
  const { colors } = (0, import_native29.useTheme)();
5926
- const itemStyles = import_react_native51.StyleSheet.flatten([
5927
- styles35.item,
5972
+ const itemStyles = import_react_native50.StyleSheet.flatten([
5973
+ styles36.item,
5928
5974
  {
5929
5975
  borderColor: colors.primary,
5930
5976
  opacity: props.disabled ? 0.5 : 1
5931
5977
  },
5932
5978
  style
5933
5979
  ]);
5934
- const indicatorStyles = import_react_native51.StyleSheet.flatten([
5935
- styles35.indicator,
5980
+ const indicatorStyles = import_react_native50.StyleSheet.flatten([
5981
+ styles36.indicator,
5936
5982
  { backgroundColor: colors.primary }
5937
5983
  ]);
5938
- return /* @__PURE__ */ import_react36.default.createElement(RadioGroupPrimitive.Item, { style: itemStyles, ...props }, /* @__PURE__ */ import_react36.default.createElement(RadioGroupPrimitive.Indicator, { style: styles35.indicatorContainer }, /* @__PURE__ */ import_react36.default.createElement(import_react_native51.View, { style: indicatorStyles })));
5984
+ return /* @__PURE__ */ import_react36.default.createElement(RadioGroupPrimitive.Item, { style: itemStyles, ...props }, /* @__PURE__ */ import_react36.default.createElement(RadioGroupPrimitive.Indicator, { style: styles36.indicatorContainer }, /* @__PURE__ */ import_react36.default.createElement(import_react_native50.View, { style: indicatorStyles })));
5939
5985
  }
5940
5986
  function RadioGroupItemWithLabel({
5941
5987
  value,
5942
5988
  children
5943
5989
  }) {
5944
- return /* @__PURE__ */ import_react36.default.createElement(import_react_native51.View, { style: styles35.itemWithLabel }, /* @__PURE__ */ import_react36.default.createElement(RadioGroupItem, { "aria-labelledby": `label-for-${value}`, value }), /* @__PURE__ */ import_react36.default.createElement(Label3, { nativeID: `label-for-${value}`, style: styles35.label }, children));
5990
+ return /* @__PURE__ */ import_react36.default.createElement(import_react_native50.View, { style: styles36.itemWithLabel }, /* @__PURE__ */ import_react36.default.createElement(RadioGroupItem, { "aria-labelledby": `label-for-${value}`, value }), /* @__PURE__ */ import_react36.default.createElement(Label3, { nativeID: `label-for-${value}`, style: styles36.label }, children));
5945
5991
  }
5946
- var styles35 = import_react_native51.StyleSheet.create({
5992
+ var styles36 = import_react_native50.StyleSheet.create({
5947
5993
  root: {
5948
5994
  gap: 8
5949
5995
  },
@@ -5981,7 +6027,7 @@ var styles35 = import_react_native51.StyleSheet.create({
5981
6027
  // components/ui/select.tsx
5982
6028
  var SelectPrimitive = __toESM(require("@rn-primitives/select"));
5983
6029
  var React48 = __toESM(require("react"));
5984
- var import_react_native52 = require("react-native");
6030
+ var import_react_native51 = require("react-native");
5985
6031
  var import_react_native_reanimated7 = __toESM(require("react-native-reanimated"));
5986
6032
  var import_lucide_react_native42 = require("lucide-react-native");
5987
6033
  var import_lucide_react_native43 = require("lucide-react-native");
@@ -5995,43 +6041,43 @@ function SelectTrigger({
5995
6041
  children,
5996
6042
  ...props
5997
6043
  }) {
5998
- const triggerStyle = import_react_native52.StyleSheet.flatten([
5999
- styles36.trigger,
6000
- props.disabled && styles36.triggerDisabled,
6044
+ const triggerStyle = import_react_native51.StyleSheet.flatten([
6045
+ styles37.trigger,
6046
+ props.disabled && styles37.triggerDisabled,
6001
6047
  style
6002
6048
  ]);
6003
- return /* @__PURE__ */ React48.createElement(SelectPrimitive.Trigger, { ref, style: triggerStyle, ...props }, children, /* @__PURE__ */ React48.createElement(import_lucide_react_native43.ChevronDown, { size: 16, "aria-hidden": true, style: styles36.chevron }));
6049
+ return /* @__PURE__ */ React48.createElement(SelectPrimitive.Trigger, { ref, style: triggerStyle, ...props }, children, /* @__PURE__ */ React48.createElement(import_lucide_react_native43.ChevronDown, { size: 16, "aria-hidden": true, style: styles37.chevron }));
6004
6050
  }
6005
6051
  function SelectScrollUpButton({
6006
6052
  style,
6007
6053
  ...props
6008
6054
  }) {
6009
- if (import_react_native52.Platform.OS !== "web") {
6055
+ if (import_react_native51.Platform.OS !== "web") {
6010
6056
  return null;
6011
6057
  }
6012
6058
  return /* @__PURE__ */ React48.createElement(
6013
6059
  SelectPrimitive.ScrollUpButton,
6014
6060
  {
6015
- style: import_react_native52.StyleSheet.flatten([styles36.scrollButton, style]),
6061
+ style: import_react_native51.StyleSheet.flatten([styles37.scrollButton, style]),
6016
6062
  ...props
6017
6063
  },
6018
- /* @__PURE__ */ React48.createElement(import_lucide_react_native44.ChevronUp, { size: 14, style: styles36.chevron })
6064
+ /* @__PURE__ */ React48.createElement(import_lucide_react_native44.ChevronUp, { size: 14, style: styles37.chevron })
6019
6065
  );
6020
6066
  }
6021
6067
  function SelectScrollDownButton({
6022
6068
  style,
6023
6069
  ...props
6024
6070
  }) {
6025
- if (import_react_native52.Platform.OS !== "web") {
6071
+ if (import_react_native51.Platform.OS !== "web") {
6026
6072
  return null;
6027
6073
  }
6028
6074
  return /* @__PURE__ */ React48.createElement(
6029
6075
  SelectPrimitive.ScrollDownButton,
6030
6076
  {
6031
- style: import_react_native52.StyleSheet.flatten([styles36.scrollButton, style]),
6077
+ style: import_react_native51.StyleSheet.flatten([styles37.scrollButton, style]),
6032
6078
  ...props
6033
6079
  },
6034
- /* @__PURE__ */ React48.createElement(import_lucide_react_native43.ChevronDown, { size: 14, style: styles36.chevron })
6080
+ /* @__PURE__ */ React48.createElement(import_lucide_react_native43.ChevronDown, { size: 14, style: styles37.chevron })
6035
6081
  );
6036
6082
  }
6037
6083
  function SelectContent({
@@ -6045,7 +6091,7 @@ function SelectContent({
6045
6091
  return /* @__PURE__ */ React48.createElement(SelectPrimitive.Portal, { hostName: portalHost }, /* @__PURE__ */ React48.createElement(
6046
6092
  SelectPrimitive.Overlay,
6047
6093
  {
6048
- style: import_react_native52.Platform.OS !== "web" ? import_react_native52.StyleSheet.absoluteFill : void 0
6094
+ style: import_react_native51.Platform.OS !== "web" ? import_react_native51.StyleSheet.absoluteFill : void 0
6049
6095
  },
6050
6096
  /* @__PURE__ */ React48.createElement(
6051
6097
  import_react_native_reanimated7.default.View,
@@ -6057,7 +6103,7 @@ function SelectContent({
6057
6103
  /* @__PURE__ */ React48.createElement(
6058
6104
  SelectPrimitive.Content,
6059
6105
  {
6060
- style: import_react_native52.StyleSheet.flatten([styles36.content, style]),
6106
+ style: import_react_native51.StyleSheet.flatten([styles37.content, style]),
6061
6107
  position,
6062
6108
  ...props
6063
6109
  },
@@ -6065,8 +6111,8 @@ function SelectContent({
6065
6111
  /* @__PURE__ */ React48.createElement(
6066
6112
  SelectPrimitive.Viewport,
6067
6113
  {
6068
- style: import_react_native52.StyleSheet.flatten([
6069
- styles36.viewport,
6114
+ style: import_react_native51.StyleSheet.flatten([
6115
+ styles37.viewport,
6070
6116
  position === "popper" && {
6071
6117
  height: "var(--radix-select-trigger-height)",
6072
6118
  width: "100%",
@@ -6088,7 +6134,7 @@ function SelectLabel({
6088
6134
  return /* @__PURE__ */ React48.createElement(
6089
6135
  SelectPrimitive.Label,
6090
6136
  {
6091
- style: import_react_native52.StyleSheet.flatten([styles36.label, style]),
6137
+ style: import_react_native51.StyleSheet.flatten([styles37.label, style]),
6092
6138
  ...props
6093
6139
  }
6094
6140
  );
@@ -6097,19 +6143,19 @@ function SelectItem({
6097
6143
  style,
6098
6144
  ...props
6099
6145
  }) {
6100
- const itemStyle = import_react_native52.StyleSheet.flatten([
6101
- styles36.item,
6102
- props.disabled && styles36.itemDisabled,
6146
+ const itemStyle = import_react_native51.StyleSheet.flatten([
6147
+ styles37.item,
6148
+ props.disabled && styles37.itemDisabled,
6103
6149
  style
6104
6150
  ]);
6105
- return /* @__PURE__ */ React48.createElement(SelectPrimitive.Item, { style: itemStyle, ...props }, /* @__PURE__ */ React48.createElement(import_react_native52.View, { style: styles36.itemIndicator }, /* @__PURE__ */ React48.createElement(SelectPrimitive.ItemIndicator, null, /* @__PURE__ */ React48.createElement(
6151
+ return /* @__PURE__ */ React48.createElement(SelectPrimitive.Item, { style: itemStyle, ...props }, /* @__PURE__ */ React48.createElement(import_react_native51.View, { style: styles37.itemIndicator }, /* @__PURE__ */ React48.createElement(SelectPrimitive.ItemIndicator, null, /* @__PURE__ */ React48.createElement(
6106
6152
  import_lucide_react_native42.Check,
6107
6153
  {
6108
6154
  size: 16,
6109
6155
  strokeWidth: 3,
6110
6156
  color: "hsl(var(--popover-foreground))"
6111
6157
  }
6112
- ))), /* @__PURE__ */ React48.createElement(SelectPrimitive.ItemText, { style: styles36.itemText }));
6158
+ ))), /* @__PURE__ */ React48.createElement(SelectPrimitive.ItemText, { style: styles37.itemText }));
6113
6159
  }
6114
6160
  function SelectSeparator({
6115
6161
  style,
@@ -6118,12 +6164,12 @@ function SelectSeparator({
6118
6164
  return /* @__PURE__ */ React48.createElement(
6119
6165
  SelectPrimitive.Separator,
6120
6166
  {
6121
- style: import_react_native52.StyleSheet.flatten([styles36.separator, style]),
6167
+ style: import_react_native51.StyleSheet.flatten([styles37.separator, style]),
6122
6168
  ...props
6123
6169
  }
6124
6170
  );
6125
6171
  }
6126
- var styles36 = import_react_native52.StyleSheet.create({
6172
+ var styles37 = import_react_native51.StyleSheet.create({
6127
6173
  trigger: {
6128
6174
  flexDirection: "row",
6129
6175
  height: 40,
@@ -6216,7 +6262,7 @@ var styles36 = import_react_native52.StyleSheet.create({
6216
6262
  // components/ui/skeleton.tsx
6217
6263
  var React49 = __toESM(require("react"));
6218
6264
  var import_react_native_reanimated8 = __toESM(require("react-native-reanimated"));
6219
- var import_react_native53 = require("react-native");
6265
+ var import_react_native52 = require("react-native");
6220
6266
  var import_native30 = require("@react-navigation/native");
6221
6267
  var duration = 1e3;
6222
6268
  function Skeleton({
@@ -6233,13 +6279,13 @@ function Skeleton({
6233
6279
  }, []);
6234
6280
  const animatedStyle = (0, import_react_native_reanimated8.useAnimatedStyle)(() => ({
6235
6281
  opacity: sv.value,
6236
- ...styles37.skeleton,
6282
+ ...styles38.skeleton,
6237
6283
  backgroundColor: colors.border,
6238
6284
  style
6239
6285
  }));
6240
6286
  return /* @__PURE__ */ React49.createElement(import_react_native_reanimated8.default.View, { style: animatedStyle, ...props });
6241
6287
  }
6242
- var styles37 = import_react_native53.StyleSheet.create({
6288
+ var styles38 = import_react_native52.StyleSheet.create({
6243
6289
  skeleton: {
6244
6290
  borderRadius: 6
6245
6291
  }
@@ -6248,7 +6294,7 @@ var styles37 = import_react_native53.StyleSheet.create({
6248
6294
  // components/ui/table.tsx
6249
6295
  var TablePrimitive = __toESM(require("@rn-primitives/table"));
6250
6296
  var React50 = __toESM(require("react"));
6251
- var import_react_native54 = require("react-native");
6297
+ var import_react_native53 = require("react-native");
6252
6298
  function Table({
6253
6299
  style,
6254
6300
  ...props
@@ -6256,7 +6302,7 @@ function Table({
6256
6302
  return /* @__PURE__ */ React50.createElement(
6257
6303
  TablePrimitive.Root,
6258
6304
  {
6259
- style: import_react_native54.StyleSheet.flatten([styles38.table, style]),
6305
+ style: import_react_native53.StyleSheet.flatten([styles39.table, style]),
6260
6306
  ...props
6261
6307
  }
6262
6308
  );
@@ -6268,7 +6314,7 @@ function TableHeader({
6268
6314
  return /* @__PURE__ */ React50.createElement(
6269
6315
  TablePrimitive.Header,
6270
6316
  {
6271
- style: import_react_native54.StyleSheet.flatten([styles38.header, style]),
6317
+ style: import_react_native53.StyleSheet.flatten([styles39.header, style]),
6272
6318
  ...props
6273
6319
  }
6274
6320
  );
@@ -6280,7 +6326,7 @@ function TableBody({
6280
6326
  return /* @__PURE__ */ React50.createElement(
6281
6327
  TablePrimitive.Body,
6282
6328
  {
6283
- style: import_react_native54.StyleSheet.flatten([styles38.body, { minHeight: 2 }, style]),
6329
+ style: import_react_native53.StyleSheet.flatten([styles39.body, { minHeight: 2 }, style]),
6284
6330
  ...props
6285
6331
  }
6286
6332
  );
@@ -6292,7 +6338,7 @@ function TableFooter({
6292
6338
  return /* @__PURE__ */ React50.createElement(
6293
6339
  TablePrimitive.Footer,
6294
6340
  {
6295
- style: import_react_native54.StyleSheet.flatten([styles38.footer, style]),
6341
+ style: import_react_native53.StyleSheet.flatten([styles39.footer, style]),
6296
6342
  ...props
6297
6343
  }
6298
6344
  );
@@ -6304,7 +6350,7 @@ function TableRow({
6304
6350
  return /* @__PURE__ */ React50.createElement(
6305
6351
  TablePrimitive.Row,
6306
6352
  {
6307
- style: import_react_native54.StyleSheet.flatten([styles38.row, style]),
6353
+ style: import_react_native53.StyleSheet.flatten([styles39.row, style]),
6308
6354
  ...props
6309
6355
  }
6310
6356
  );
@@ -6321,7 +6367,7 @@ function TableHead({
6321
6367
  /* @__PURE__ */ React50.createElement(
6322
6368
  TablePrimitive.Head,
6323
6369
  {
6324
- style: import_react_native54.StyleSheet.flatten([styles38.head, style]),
6370
+ style: import_react_native53.StyleSheet.flatten([styles39.head, style]),
6325
6371
  ...props
6326
6372
  }
6327
6373
  )
@@ -6334,12 +6380,12 @@ function TableCell({
6334
6380
  return /* @__PURE__ */ React50.createElement(
6335
6381
  TablePrimitive.Cell,
6336
6382
  {
6337
- style: import_react_native54.StyleSheet.flatten([styles38.cell, style]),
6383
+ style: import_react_native53.StyleSheet.flatten([styles39.cell, style]),
6338
6384
  ...props
6339
6385
  }
6340
6386
  );
6341
6387
  }
6342
- var styles38 = import_react_native54.StyleSheet.create({
6388
+ var styles39 = import_react_native53.StyleSheet.create({
6343
6389
  table: {
6344
6390
  width: "100%",
6345
6391
  fontSize: 14
@@ -6380,7 +6426,7 @@ var styles38 = import_react_native54.StyleSheet.create({
6380
6426
  // components/ui/tabs.tsx
6381
6427
  var TabsPrimitive = __toESM(require("@rn-primitives/tabs"));
6382
6428
  var React51 = __toESM(require("react"));
6383
- var import_react_native55 = require("react-native");
6429
+ var import_react_native54 = require("react-native");
6384
6430
  var Tabs = TabsPrimitive.Root;
6385
6431
  function TabsList({
6386
6432
  style,
@@ -6389,7 +6435,7 @@ function TabsList({
6389
6435
  return /* @__PURE__ */ React51.createElement(
6390
6436
  TabsPrimitive.List,
6391
6437
  {
6392
- style: import_react_native55.StyleSheet.flatten([styles39.list, style]),
6438
+ style: import_react_native54.StyleSheet.flatten([styles40.list, style]),
6393
6439
  ...props
6394
6440
  }
6395
6441
  );
@@ -6400,13 +6446,13 @@ function TabsTrigger({
6400
6446
  }) {
6401
6447
  const { value } = TabsPrimitive.useRootContext();
6402
6448
  const isActive = props.value === value;
6403
- const triggerStyle = import_react_native55.StyleSheet.flatten([
6404
- styles39.trigger,
6405
- isActive && styles39.triggerActive,
6406
- props.disabled && styles39.triggerDisabled,
6449
+ const triggerStyle = import_react_native54.StyleSheet.flatten([
6450
+ styles40.trigger,
6451
+ isActive && styles40.triggerActive,
6452
+ props.disabled && styles40.triggerDisabled,
6407
6453
  style
6408
6454
  ]);
6409
- const textStyle = isActive ? import_react_native55.StyleSheet.flatten([styles39.triggerText, styles39.triggerTextActive]) : styles39.triggerText;
6455
+ const textStyle = isActive ? import_react_native54.StyleSheet.flatten([styles40.triggerText, styles40.triggerTextActive]) : styles40.triggerText;
6410
6456
  return /* @__PURE__ */ React51.createElement(TextStyleContext.Provider, { value: { style: textStyle } }, /* @__PURE__ */ React51.createElement(TabsPrimitive.Trigger, { style: triggerStyle, ...props }));
6411
6457
  }
6412
6458
  function TabsContent({
@@ -6415,7 +6461,7 @@ function TabsContent({
6415
6461
  }) {
6416
6462
  return /* @__PURE__ */ React51.createElement(TabsPrimitive.Content, { style, ...props });
6417
6463
  }
6418
- var styles39 = import_react_native55.StyleSheet.create({
6464
+ var styles40 = import_react_native54.StyleSheet.create({
6419
6465
  list: {
6420
6466
  flexDirection: "row",
6421
6467
  height: 40,
@@ -6460,7 +6506,7 @@ var styles39 = import_react_native55.StyleSheet.create({
6460
6506
 
6461
6507
  // components/ui/textarea.tsx
6462
6508
  var React52 = __toESM(require("react"));
6463
- var import_react_native56 = require("react-native");
6509
+ var import_react_native55 = require("react-native");
6464
6510
  function Textarea({
6465
6511
  style,
6466
6512
  multiline = true,
@@ -6468,13 +6514,13 @@ function Textarea({
6468
6514
  placeholderTextColor,
6469
6515
  ...props
6470
6516
  }) {
6471
- const textareaStyle = import_react_native56.StyleSheet.flatten([
6472
- styles40.textarea,
6473
- props.editable === false && styles40.textareaDisabled,
6517
+ const textareaStyle = import_react_native55.StyleSheet.flatten([
6518
+ styles41.textarea,
6519
+ props.editable === false && styles41.textareaDisabled,
6474
6520
  style
6475
6521
  ]);
6476
6522
  return /* @__PURE__ */ React52.createElement(
6477
- import_react_native56.TextInput,
6523
+ import_react_native55.TextInput,
6478
6524
  {
6479
6525
  style: textareaStyle,
6480
6526
  placeholderTextColor: placeholderTextColor || "hsl(var(--muted-foreground))",
@@ -6485,7 +6531,7 @@ function Textarea({
6485
6531
  }
6486
6532
  );
6487
6533
  }
6488
- var styles40 = import_react_native56.StyleSheet.create({
6534
+ var styles41 = import_react_native55.StyleSheet.create({
6489
6535
  textarea: {
6490
6536
  minHeight: 80,
6491
6537
  width: "100%",
@@ -6508,7 +6554,7 @@ var styles40 = import_react_native56.StyleSheet.create({
6508
6554
 
6509
6555
  // components/ui/toggle-group.tsx
6510
6556
  var React53 = __toESM(require("react"));
6511
- var import_react_native57 = require("react-native");
6557
+ var import_react_native56 = require("react-native");
6512
6558
  var import_native31 = require("@react-navigation/native");
6513
6559
  var ToggleGroupPrimitive = __toESM(require("@rn-primitives/toggle-group"));
6514
6560
  var ToggleGroupContext = React53.createContext(null);
@@ -6522,7 +6568,7 @@ function ToggleGroup({
6522
6568
  return /* @__PURE__ */ React53.createElement(
6523
6569
  ToggleGroupPrimitive.Root,
6524
6570
  {
6525
- style: import_react_native57.StyleSheet.flatten([styles41.root, style]),
6571
+ style: import_react_native56.StyleSheet.flatten([styles42.root, style]),
6526
6572
  ...props
6527
6573
  },
6528
6574
  /* @__PURE__ */ React53.createElement(ToggleGroupContext.Provider, { value: { variant, size } }, children)
@@ -6559,23 +6605,23 @@ function ToggleGroupItem({
6559
6605
  const getSizeStyles = () => {
6560
6606
  switch (finalSize) {
6561
6607
  case "sm":
6562
- return styles41.smItemSize;
6608
+ return styles42.smItemSize;
6563
6609
  case "lg":
6564
- return styles41.lgItemSize;
6610
+ return styles42.lgItemSize;
6565
6611
  default:
6566
- return styles41.defaultItemSize;
6612
+ return styles42.defaultItemSize;
6567
6613
  }
6568
6614
  };
6569
6615
  const getVariantStyles = () => {
6570
6616
  switch (finalVariant) {
6571
6617
  case "outline":
6572
- return styles41.outlineItem;
6618
+ return styles42.outlineItem;
6573
6619
  default:
6574
- return styles41.defaultItem;
6620
+ return styles42.defaultItem;
6575
6621
  }
6576
6622
  };
6577
- const itemStyles = import_react_native57.StyleSheet.flatten([
6578
- styles41.item,
6623
+ const itemStyles = import_react_native56.StyleSheet.flatten([
6624
+ styles42.item,
6579
6625
  getVariantStyles(),
6580
6626
  getSizeStyles(),
6581
6627
  {
@@ -6594,7 +6640,7 @@ function ToggleGroupIcon({
6594
6640
  const { colors } = (0, import_native31.useTheme)();
6595
6641
  return /* @__PURE__ */ React53.createElement(Icon2, { color: colors.text, ...props });
6596
6642
  }
6597
- var styles41 = import_react_native57.StyleSheet.create({
6643
+ var styles42 = import_react_native56.StyleSheet.create({
6598
6644
  root: {
6599
6645
  flexDirection: "row",
6600
6646
  alignItems: "center",
@@ -6630,7 +6676,7 @@ var styles41 = import_react_native57.StyleSheet.create({
6630
6676
  // components/ui/toggle.tsx
6631
6677
  var TogglePrimitive = __toESM(require("@rn-primitives/toggle"));
6632
6678
  var React54 = __toESM(require("react"));
6633
- var import_react_native58 = require("react-native");
6679
+ var import_react_native57 = require("react-native");
6634
6680
  var import_native32 = require("@react-navigation/native");
6635
6681
  var toggleVariants = {
6636
6682
  default: {
@@ -6660,23 +6706,23 @@ function Toggle({
6660
6706
  const getSizeStyles = () => {
6661
6707
  switch (size) {
6662
6708
  case "sm":
6663
- return styles42.smSize;
6709
+ return styles43.smSize;
6664
6710
  case "lg":
6665
- return styles42.lgSize;
6711
+ return styles43.lgSize;
6666
6712
  default:
6667
- return styles42.defaultSize;
6713
+ return styles43.defaultSize;
6668
6714
  }
6669
6715
  };
6670
6716
  const getVariantStyles = () => {
6671
6717
  switch (variant) {
6672
6718
  case "outline":
6673
- return styles42.outlineVariant;
6719
+ return styles43.outlineVariant;
6674
6720
  default:
6675
- return styles42.defaultVariant;
6721
+ return styles43.defaultVariant;
6676
6722
  }
6677
6723
  };
6678
- const toggleStyles = import_react_native58.StyleSheet.flatten([
6679
- styles42.toggle,
6724
+ const toggleStyles = import_react_native57.StyleSheet.flatten([
6725
+ styles43.toggle,
6680
6726
  getVariantStyles(),
6681
6727
  getSizeStyles(),
6682
6728
  {
@@ -6695,7 +6741,7 @@ function ToggleIcon({
6695
6741
  const { colors } = (0, import_native32.useTheme)();
6696
6742
  return /* @__PURE__ */ React54.createElement(Icon2, { color: colors.text, ...props });
6697
6743
  }
6698
- var styles42 = import_react_native58.StyleSheet.create({
6744
+ var styles43 = import_react_native57.StyleSheet.create({
6699
6745
  toggle: {
6700
6746
  alignItems: "center",
6701
6747
  justifyContent: "center",
@@ -6725,7 +6771,7 @@ var styles42 = import_react_native58.StyleSheet.create({
6725
6771
  // components/ui/tooltip.tsx
6726
6772
  var TooltipPrimitive = __toESM(require("@rn-primitives/tooltip"));
6727
6773
  var React55 = __toESM(require("react"));
6728
- var import_react_native59 = require("react-native");
6774
+ var import_react_native58 = require("react-native");
6729
6775
  var import_react_native_reanimated9 = __toESM(require("react-native-reanimated"));
6730
6776
  var import_native33 = require("@react-navigation/native");
6731
6777
  var Tooltip = TooltipPrimitive.Root;
@@ -6737,8 +6783,8 @@ function TooltipContent({
6737
6783
  ...props
6738
6784
  }) {
6739
6785
  const { colors } = (0, import_native33.useTheme)();
6740
- const tooltipStyles = import_react_native59.StyleSheet.flatten([
6741
- styles43.content,
6786
+ const tooltipStyles = import_react_native58.StyleSheet.flatten([
6787
+ styles44.content,
6742
6788
  {
6743
6789
  backgroundColor: colors.background,
6744
6790
  borderColor: colors.border,
@@ -6747,19 +6793,19 @@ function TooltipContent({
6747
6793
  style
6748
6794
  ]);
6749
6795
  const textStyles2 = {
6750
- fontSize: import_react_native59.Platform.OS === "web" ? 14 : 16,
6796
+ fontSize: import_react_native58.Platform.OS === "web" ? 14 : 16,
6751
6797
  color: colors.text
6752
6798
  };
6753
6799
  return /* @__PURE__ */ React55.createElement(TooltipPrimitive.Portal, { hostName: portalHost }, /* @__PURE__ */ React55.createElement(
6754
6800
  TooltipPrimitive.Overlay,
6755
6801
  {
6756
- style: import_react_native59.Platform.OS !== "web" ? import_react_native59.StyleSheet.absoluteFill : void 0
6802
+ style: import_react_native58.Platform.OS !== "web" ? import_react_native58.StyleSheet.absoluteFill : void 0
6757
6803
  },
6758
6804
  /* @__PURE__ */ React55.createElement(
6759
6805
  import_react_native_reanimated9.default.View,
6760
6806
  {
6761
- entering: import_react_native59.Platform.select({ web: void 0, default: import_react_native_reanimated9.FadeIn }),
6762
- exiting: import_react_native59.Platform.select({ web: void 0, default: import_react_native_reanimated9.FadeOut })
6807
+ entering: import_react_native58.Platform.select({ web: void 0, default: import_react_native_reanimated9.FadeIn }),
6808
+ exiting: import_react_native58.Platform.select({ web: void 0, default: import_react_native_reanimated9.FadeOut })
6763
6809
  },
6764
6810
  /* @__PURE__ */ React55.createElement(TextStyleProvider, { style: textStyles2 }, /* @__PURE__ */ React55.createElement(
6765
6811
  TooltipPrimitive.Content,
@@ -6772,7 +6818,7 @@ function TooltipContent({
6772
6818
  )
6773
6819
  ));
6774
6820
  }
6775
- var styles43 = import_react_native59.StyleSheet.create({
6821
+ var styles44 = import_react_native58.StyleSheet.create({
6776
6822
  content: {
6777
6823
  zIndex: 50,
6778
6824
  overflow: "hidden",
@@ -6790,98 +6836,98 @@ var styles43 = import_react_native59.StyleSheet.create({
6790
6836
  // components/ui/typography.tsx
6791
6837
  var Slot3 = __toESM(require("@rn-primitives/slot"));
6792
6838
  var React56 = __toESM(require("react"));
6793
- var import_react_native60 = require("react-native");
6839
+ var import_react_native59 = require("react-native");
6794
6840
  function H1({ style, asChild = false, ...props }) {
6795
- const Component = asChild ? Slot3.Text : import_react_native60.Text;
6841
+ const Component = asChild ? Slot3.Text : import_react_native59.Text;
6796
6842
  return /* @__PURE__ */ React56.createElement(
6797
6843
  Component,
6798
6844
  {
6799
6845
  role: "heading",
6800
6846
  "aria-level": "1",
6801
- style: import_react_native60.StyleSheet.flatten([styles44.h1, style]),
6847
+ style: import_react_native59.StyleSheet.flatten([styles45.h1, style]),
6802
6848
  ...props
6803
6849
  }
6804
6850
  );
6805
6851
  }
6806
6852
  function H2({ style, asChild = false, ...props }) {
6807
- const Component = asChild ? Slot3.Text : import_react_native60.Text;
6853
+ const Component = asChild ? Slot3.Text : import_react_native59.Text;
6808
6854
  return /* @__PURE__ */ React56.createElement(
6809
6855
  Component,
6810
6856
  {
6811
6857
  role: "heading",
6812
6858
  "aria-level": "2",
6813
- style: import_react_native60.StyleSheet.flatten([styles44.h2, style]),
6859
+ style: import_react_native59.StyleSheet.flatten([styles45.h2, style]),
6814
6860
  ...props
6815
6861
  }
6816
6862
  );
6817
6863
  }
6818
6864
  function H3({ style, asChild = false, ...props }) {
6819
- const Component = asChild ? Slot3.Text : import_react_native60.Text;
6865
+ const Component = asChild ? Slot3.Text : import_react_native59.Text;
6820
6866
  return /* @__PURE__ */ React56.createElement(
6821
6867
  Component,
6822
6868
  {
6823
6869
  role: "heading",
6824
6870
  "aria-level": "3",
6825
- style: import_react_native60.StyleSheet.flatten([styles44.h3, style]),
6871
+ style: import_react_native59.StyleSheet.flatten([styles45.h3, style]),
6826
6872
  ...props
6827
6873
  }
6828
6874
  );
6829
6875
  }
6830
6876
  function H4({ style, asChild = false, ...props }) {
6831
- const Component = asChild ? Slot3.Text : import_react_native60.Text;
6877
+ const Component = asChild ? Slot3.Text : import_react_native59.Text;
6832
6878
  return /* @__PURE__ */ React56.createElement(
6833
6879
  Component,
6834
6880
  {
6835
6881
  role: "heading",
6836
6882
  "aria-level": "4",
6837
- style: import_react_native60.StyleSheet.flatten([styles44.h4, style]),
6883
+ style: import_react_native59.StyleSheet.flatten([styles45.h4, style]),
6838
6884
  ...props
6839
6885
  }
6840
6886
  );
6841
6887
  }
6842
6888
  function P({ style, asChild = false, ...props }) {
6843
- const Component = asChild ? Slot3.Text : import_react_native60.Text;
6844
- return /* @__PURE__ */ React56.createElement(Component, { style: import_react_native60.StyleSheet.flatten([styles44.p, style]), ...props });
6889
+ const Component = asChild ? Slot3.Text : import_react_native59.Text;
6890
+ return /* @__PURE__ */ React56.createElement(Component, { style: import_react_native59.StyleSheet.flatten([styles45.p, style]), ...props });
6845
6891
  }
6846
6892
  function BlockQuote({ style, asChild = false, ...props }) {
6847
- const Component = asChild ? Slot3.Text : import_react_native60.Text;
6893
+ const Component = asChild ? Slot3.Text : import_react_native59.Text;
6848
6894
  return /* @__PURE__ */ React56.createElement(
6849
6895
  Component,
6850
6896
  {
6851
- role: import_react_native60.Platform.OS === "web" ? "blockquote" : void 0,
6852
- style: import_react_native60.StyleSheet.flatten([styles44.blockquote, style]),
6897
+ role: import_react_native59.Platform.OS === "web" ? "blockquote" : void 0,
6898
+ style: import_react_native59.StyleSheet.flatten([styles45.blockquote, style]),
6853
6899
  ...props
6854
6900
  }
6855
6901
  );
6856
6902
  }
6857
6903
  function Code({ style, asChild = false, ...props }) {
6858
- const Component = asChild ? Slot3.Text : import_react_native60.Text;
6904
+ const Component = asChild ? Slot3.Text : import_react_native59.Text;
6859
6905
  return /* @__PURE__ */ React56.createElement(
6860
6906
  Component,
6861
6907
  {
6862
- role: import_react_native60.Platform.OS === "web" ? "code" : void 0,
6863
- style: import_react_native60.StyleSheet.flatten([styles44.code, style]),
6908
+ role: import_react_native59.Platform.OS === "web" ? "code" : void 0,
6909
+ style: import_react_native59.StyleSheet.flatten([styles45.code, style]),
6864
6910
  ...props
6865
6911
  }
6866
6912
  );
6867
6913
  }
6868
6914
  function Lead({ style, asChild = false, ...props }) {
6869
- const Component = asChild ? Slot3.Text : import_react_native60.Text;
6870
- return /* @__PURE__ */ React56.createElement(Component, { style: import_react_native60.StyleSheet.flatten([styles44.lead, style]), ...props });
6915
+ const Component = asChild ? Slot3.Text : import_react_native59.Text;
6916
+ return /* @__PURE__ */ React56.createElement(Component, { style: import_react_native59.StyleSheet.flatten([styles45.lead, style]), ...props });
6871
6917
  }
6872
6918
  function Large({ style, asChild = false, ...props }) {
6873
- const Component = asChild ? Slot3.Text : import_react_native60.Text;
6874
- return /* @__PURE__ */ React56.createElement(Component, { style: import_react_native60.StyleSheet.flatten([styles44.large, style]), ...props });
6919
+ const Component = asChild ? Slot3.Text : import_react_native59.Text;
6920
+ return /* @__PURE__ */ React56.createElement(Component, { style: import_react_native59.StyleSheet.flatten([styles45.large, style]), ...props });
6875
6921
  }
6876
6922
  function Small({ style, asChild = false, ...props }) {
6877
- const Component = asChild ? Slot3.Text : import_react_native60.Text;
6878
- return /* @__PURE__ */ React56.createElement(Component, { style: import_react_native60.StyleSheet.flatten([styles44.small, style]), ...props });
6923
+ const Component = asChild ? Slot3.Text : import_react_native59.Text;
6924
+ return /* @__PURE__ */ React56.createElement(Component, { style: import_react_native59.StyleSheet.flatten([styles45.small, style]), ...props });
6879
6925
  }
6880
6926
  function Muted({ style, asChild = false, ...props }) {
6881
- const Component = asChild ? Slot3.Text : import_react_native60.Text;
6882
- return /* @__PURE__ */ React56.createElement(Component, { style: import_react_native60.StyleSheet.flatten([styles44.muted, style]), ...props });
6927
+ const Component = asChild ? Slot3.Text : import_react_native59.Text;
6928
+ return /* @__PURE__ */ React56.createElement(Component, { style: import_react_native59.StyleSheet.flatten([styles45.muted, style]), ...props });
6883
6929
  }
6884
- var styles44 = import_react_native60.StyleSheet.create({
6930
+ var styles45 = import_react_native59.StyleSheet.create({
6885
6931
  h1: {
6886
6932
  fontSize: 36,
6887
6933
  color: "hsl(var(--foreground))",
@@ -6978,7 +7024,7 @@ var import_lucide_react_native46 = require("lucide-react-native");
6978
7024
  var RdfResourceCreator = {
6979
7025
  name: "createRdf",
6980
7026
  displayName: "RDF Turtle",
6981
- displayIcon: import_lucide_react_native46.Code,
7027
+ displayIcon: import_lucide_react_native46.FileCode,
6982
7028
  canCreate: (container) => container.type === "SolidContainer",
6983
7029
  create: async ({ container, createUtils }) => {
6984
7030
  createUtils.loadingMessage("Asking for file name\u2026");
@@ -6996,6 +7042,7 @@ var RdfResourceCreator = {
6996
7042
 
6997
7043
  // resourceCreators/FileUploadResourceCreator.ts
6998
7044
  var import_lucide_react_native47 = require("lucide-react-native");
7045
+ var import_react_native60 = require("react-native");
6999
7046
  function basename(path) {
7000
7047
  const lastSlash = path.lastIndexOf("/");
7001
7048
  return lastSlash === -1 ? path : path.slice(lastSlash + 1);
@@ -7016,9 +7063,11 @@ var FileUploadResourceCreator = {
7016
7063
  const slug = basename(file.name);
7017
7064
  const mimeType = file.type || "application/octet-stream";
7018
7065
  createUtils.loadingMessage(`Uploading ${slug}\u2026`);
7066
+ const body = import_react_native60.Platform.OS !== "web" ? await file.arrayBuffer() : file;
7019
7067
  const result = await container.uploadChildAndOverwrite(
7020
7068
  slug,
7021
- file,
7069
+ // @ts-ignore
7070
+ body,
7022
7071
  mimeType
7023
7072
  );
7024
7073
  if (result.isError) {
@@ -7030,25 +7079,25 @@ var FileUploadResourceCreator = {
7030
7079
  };
7031
7080
 
7032
7081
  // resourceViews/Container/ContainerResourceView.tsx
7033
- var import_lucide_react_native55 = require("lucide-react-native");
7082
+ var import_lucide_react_native52 = require("lucide-react-native");
7083
+
7084
+ // resourceViews/Container/DefaultContainerView.tsx
7085
+ var import_react42 = __toESM(require("react"));
7034
7086
 
7035
7087
  // resourceViews/Container/ContainerView.tsx
7036
7088
  var import_react37 = __toESM(require("react"));
7037
7089
  var import_react_native61 = require("react-native");
7038
7090
  var DocumentPicker = __toESM(require("expo-document-picker"));
7039
7091
  var import_lucide_react_native48 = require("lucide-react-native");
7040
- var import_lucide_react_native49 = require("lucide-react-native");
7041
- var import_lucide_react_native50 = require("lucide-react-native");
7042
- var import_lucide_react_native51 = require("lucide-react-native");
7043
- var import_lucide_react_native52 = require("lucide-react-native");
7044
- var import_lucide_react_native53 = require("lucide-react-native");
7045
7092
  var import_react_native_notifier2 = require("react-native-notifier");
7046
- var import_native34 = require("@react-navigation/native");
7047
- var import_lucide_react_native54 = require("lucide-react-native");
7048
- var ContainerView = () => {
7093
+ var ContainerView = ({
7094
+ Layout: Layout2,
7095
+ SideMenu,
7096
+ Content: Content13,
7097
+ ResourceItem
7098
+ }) => {
7049
7099
  const { targetResource, navigateTo } = useViewContext();
7050
7100
  const { prompt } = useDialog();
7051
- const { colors } = (0, import_native34.useTheme)();
7052
7101
  const { resourceCreators = [] } = useDataBrowserConfig();
7053
7102
  const [isCreating, setIsCreating] = (0, import_react37.useState)(false);
7054
7103
  const [loadingMessages, setLoadingMessages] = (0, import_react37.useState)([]);
@@ -7092,10 +7141,7 @@ var ContainerView = () => {
7092
7141
  setIsCreating(true);
7093
7142
  setLoadingMessages([]);
7094
7143
  try {
7095
- await creator.create({
7096
- container: targetResource,
7097
- createUtils
7098
- });
7144
+ await creator.create({ container: targetResource, createUtils });
7099
7145
  } finally {
7100
7146
  setIsCreating(false);
7101
7147
  setLoadingMessages([]);
@@ -7106,9 +7152,8 @@ var ContainerView = () => {
7106
7152
  const onDelete = (0, import_react37.useCallback)(
7107
7153
  async (item) => {
7108
7154
  if (targetResource?.type !== "SolidContainer") return;
7109
- const createResult = await item.delete();
7110
- if (createResult.isError)
7111
- import_react_native_notifier2.Notifier.showNotification({ title: createResult.message });
7155
+ const result = await item.delete();
7156
+ if (result.isError) import_react_native_notifier2.Notifier.showNotification({ title: result.message });
7112
7157
  },
7113
7158
  [targetResource?.type]
7114
7159
  );
@@ -7121,100 +7166,159 @@ var ContainerView = () => {
7121
7166
  }
7122
7167
  );
7123
7168
  }
7124
- return /* @__PURE__ */ import_react37.default.createElement(import_react_native61.View, { style: styles45.mainContainer }, /* @__PURE__ */ import_react37.default.createElement(import_react_native61.View, { style: styles45.leftPanel }, /* @__PURE__ */ import_react37.default.createElement(DropdownMenu, null, /* @__PURE__ */ import_react37.default.createElement(DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ import_react37.default.createElement(
7169
+ const renderResource = (item) => {
7170
+ const displayName = item.uri.replace(targetResource.uri, "").replace(/\/$/, "") || "/";
7171
+ return /* @__PURE__ */ import_react37.default.createElement(
7172
+ ResourceItem,
7173
+ {
7174
+ key: item.uri,
7175
+ item,
7176
+ displayName,
7177
+ onNavigate: () => navigateTo(item.uri),
7178
+ onDelete: () => onDelete(item)
7179
+ }
7180
+ );
7181
+ };
7182
+ return /* @__PURE__ */ import_react37.default.createElement(
7183
+ Layout2,
7184
+ {
7185
+ sideMenu: /* @__PURE__ */ import_react37.default.createElement(
7186
+ SideMenu,
7187
+ {
7188
+ creators: availableCreators,
7189
+ isCreating,
7190
+ loadingMessages,
7191
+ onCreate: runCreator
7192
+ }
7193
+ ),
7194
+ content: /* @__PURE__ */ import_react37.default.createElement(
7195
+ Content13,
7196
+ {
7197
+ resources: targetResource.children(),
7198
+ renderResource,
7199
+ creatorsAvailable: availableCreators.length > 0
7200
+ }
7201
+ )
7202
+ }
7203
+ );
7204
+ };
7205
+
7206
+ // resourceViews/Container/DefaultContainerLayout.tsx
7207
+ var import_react38 = __toESM(require("react"));
7208
+ var import_react_native62 = require("react-native");
7209
+ var import_native34 = require("@react-navigation/native");
7210
+ var DefaultContainerLayout = ({ sideMenu, content }) => {
7211
+ const { colors } = (0, import_native34.useTheme)();
7212
+ return /* @__PURE__ */ import_react38.default.createElement(import_react_native62.View, { style: [styles46.container, { backgroundColor: colors.card }] }, /* @__PURE__ */ import_react38.default.createElement(import_react_native62.View, { style: styles46.leftPanel }, sideMenu), /* @__PURE__ */ import_react38.default.createElement(import_react_native62.View, { style: [styles46.rightPanel, { backgroundColor: colors.background }] }, content));
7213
+ };
7214
+ var styles46 = import_react_native62.StyleSheet.create({
7215
+ container: {
7216
+ flex: 1,
7217
+ flexDirection: "row",
7218
+ paddingTop: 16
7219
+ },
7220
+ leftPanel: {
7221
+ maxWidth: 220,
7222
+ flex: 1,
7223
+ paddingHorizontal: 16,
7224
+ paddingBottom: 16
7225
+ },
7226
+ rightPanel: {
7227
+ flex: 3,
7228
+ borderTopLeftRadius: 12
7229
+ }
7230
+ });
7231
+
7232
+ // resourceViews/Container/DefaultContainerSideMenu.tsx
7233
+ var import_react39 = __toESM(require("react"));
7234
+ var import_react_native63 = require("react-native");
7235
+ var import_lucide_react_native49 = require("lucide-react-native");
7236
+ var import_native35 = require("@react-navigation/native");
7237
+ var import_solid_react10 = require("@ldo/solid-react");
7238
+ var DefaultContainerSideMenu = ({ creators, isCreating, loadingMessages, onCreate }) => {
7239
+ const { colors } = (0, import_native35.useTheme)();
7240
+ const { session } = (0, import_solid_react10.useSolidAuth)();
7241
+ const storageRoot = (0, import_solid_react10.useRootContainerFor)(session.webId);
7242
+ const { navigateTo } = useTargetResource();
7243
+ return /* @__PURE__ */ import_react39.default.createElement(import_react39.default.Fragment, null, /* @__PURE__ */ import_react39.default.createElement(DropdownMenu, null, /* @__PURE__ */ import_react39.default.createElement(DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ import_react39.default.createElement(
7125
7244
  Button,
7126
7245
  {
7127
7246
  text: "Create",
7128
- iconLeft: import_lucide_react_native53.Plus,
7129
- disabled: isCreating || availableCreators.length === 0
7247
+ iconLeft: import_lucide_react_native49.Plus,
7248
+ disabled: isCreating || creators.length === 0
7130
7249
  }
7131
- )), /* @__PURE__ */ import_react37.default.createElement(DropdownMenuContent, { style: styles45.createDropdownContent }, availableCreators.map((creator) => /* @__PURE__ */ import_react37.default.createElement(
7132
- DropdownMenuItem,
7133
- {
7134
- key: creator.name,
7135
- onPress: () => runCreator(creator)
7136
- },
7137
- /* @__PURE__ */ import_react37.default.createElement(Icon, { icon: creator.displayIcon }),
7138
- /* @__PURE__ */ import_react37.default.createElement(Text2, null, creator.displayName)
7139
- )))), isCreating && /* @__PURE__ */ import_react37.default.createElement(
7140
- import_react_native61.View,
7250
+ )), /* @__PURE__ */ import_react39.default.createElement(
7251
+ DropdownMenuContent,
7141
7252
  {
7142
- style: [styles45.creatingPanel, { backgroundColor: colors.border }]
7253
+ align: "start",
7254
+ sideOffset: 4,
7255
+ style: styles47.dropdownContent
7143
7256
  },
7144
- /* @__PURE__ */ import_react37.default.createElement(import_react_native61.View, { style: styles45.creatingHeader }, /* @__PURE__ */ import_react37.default.createElement(import_lucide_react_native54.Loader2, { size: 16, style: styles45.spinner }), /* @__PURE__ */ import_react37.default.createElement(Text2, null, "Creating\u2026")),
7145
- loadingMessages.length > 0 && /* @__PURE__ */ import_react37.default.createElement(
7146
- import_react_native61.ScrollView,
7257
+ creators.map((creator) => /* @__PURE__ */ import_react39.default.createElement(
7258
+ DropdownMenuItem,
7147
7259
  {
7148
- style: styles45.loadingMessages,
7149
- contentContainerStyle: styles45.loadingMessagesContent
7260
+ key: creator.name,
7261
+ onPress: () => onCreate(creator)
7150
7262
  },
7151
- loadingMessages.map((msg, i) => /* @__PURE__ */ import_react37.default.createElement(Text2, { key: i, style: styles45.loadingMessageItem }, msg))
7152
- )
7153
- )), /* @__PURE__ */ import_react37.default.createElement(
7154
- import_react_native61.View,
7263
+ /* @__PURE__ */ import_react39.default.createElement(Icon, { icon: creator.displayIcon }),
7264
+ /* @__PURE__ */ import_react39.default.createElement(Text2, null, creator.displayName)
7265
+ ))
7266
+ )), isCreating && /* @__PURE__ */ import_react39.default.createElement(
7267
+ import_react_native63.View,
7155
7268
  {
7156
- style: [
7157
- styles45.rightPanel,
7158
- { borderLeftWidth: 1, borderLeftColor: colors.border }
7159
- ]
7269
+ style: [styles47.creatingPanel, { backgroundColor: colors.border }]
7160
7270
  },
7161
- /* @__PURE__ */ import_react37.default.createElement(
7162
- import_react_native61.FlatList,
7271
+ /* @__PURE__ */ import_react39.default.createElement(import_react_native63.View, { style: styles47.creatingHeader }, /* @__PURE__ */ import_react39.default.createElement(import_lucide_react_native49.Loader2, { size: 16, style: styles47.spinner }), /* @__PURE__ */ import_react39.default.createElement(Text2, null, "Creating\u2026")),
7272
+ loadingMessages.length > 0 && /* @__PURE__ */ import_react39.default.createElement(
7273
+ import_react_native63.ScrollView,
7163
7274
  {
7164
- data: targetResource.children(),
7165
- keyExtractor: (item) => item.uri,
7166
- ItemSeparatorComponent: () => /* @__PURE__ */ import_react37.default.createElement(
7167
- import_react_native61.View,
7168
- {
7169
- style: [styles45.listSeparator, { backgroundColor: colors.border }]
7170
- }
7171
- ),
7172
- renderItem: ({ item }) => {
7173
- const TypeIcon = item.type === "SolidContainer" ? import_lucide_react_native49.Folder : item.uri.endsWith(".ttl") ? import_lucide_react_native50.Code : import_lucide_react_native51.File;
7174
- const displayName = item.uri.replace(targetResource.uri, "").replace(/\/$/, "") || "/";
7175
- return /* @__PURE__ */ import_react37.default.createElement(
7176
- import_react_native61.Pressable,
7177
- {
7178
- onPress: () => navigateTo(item.uri),
7179
- style: ({ hovered }) => [
7180
- styles45.listItemRow,
7181
- hovered && { backgroundColor: colors.border }
7182
- ]
7183
- },
7184
- /* @__PURE__ */ import_react37.default.createElement(import_react_native61.View, { style: styles45.listItem }, /* @__PURE__ */ import_react37.default.createElement(import_react_native61.View, { style: styles45.listItemText }, /* @__PURE__ */ import_react37.default.createElement(Icon, { icon: TypeIcon, size: 18 }), /* @__PURE__ */ import_react37.default.createElement(
7185
- Text2,
7186
- {
7187
- style: styles45.listItemLabel,
7188
- numberOfLines: 1,
7189
- ellipsizeMode: "middle"
7190
- },
7191
- displayName
7192
- )), /* @__PURE__ */ import_react37.default.createElement(
7193
- Button,
7194
- {
7195
- variant: "ghost",
7196
- size: "icon",
7197
- style: styles45.deleteButton,
7198
- onPress: () => onDelete(item),
7199
- iconLeft: import_lucide_react_native52.Trash
7200
- }
7201
- ))
7202
- );
7203
- }
7204
- }
7275
+ style: styles47.loadingMessages,
7276
+ contentContainerStyle: styles47.loadingMessagesContent
7277
+ },
7278
+ loadingMessages.map((msg, i) => /* @__PURE__ */ import_react39.default.createElement(Text2, { key: i, style: styles47.loadingMessageItem }, msg))
7205
7279
  )
7206
- ));
7280
+ ), session.isActive && /* @__PURE__ */ import_react39.default.createElement(import_react39.default.Fragment, null, /* @__PURE__ */ import_react39.default.createElement(
7281
+ import_react_native63.View,
7282
+ {
7283
+ style: [styles47.separator, { backgroundColor: colors.border }]
7284
+ }
7285
+ ), /* @__PURE__ */ import_react39.default.createElement(import_react_native63.View, { style: styles47.navSection }, storageRoot && /* @__PURE__ */ import_react39.default.createElement(
7286
+ Button,
7287
+ {
7288
+ variant: "ghost",
7289
+ iconLeft: import_lucide_react_native49.Home,
7290
+ text: "Home",
7291
+ style: styles47.navItem,
7292
+ onPress: () => navigateTo(storageRoot.uri)
7293
+ }
7294
+ ), /* @__PURE__ */ import_react39.default.createElement(
7295
+ Button,
7296
+ {
7297
+ variant: "ghost",
7298
+ iconLeft: import_lucide_react_native49.User,
7299
+ text: "Profile",
7300
+ style: styles47.navItem,
7301
+ onPress: () => navigateTo(session.webId ?? "")
7302
+ }
7303
+ ))));
7207
7304
  };
7208
- var styles45 = import_react_native61.StyleSheet.create({
7209
- mainContainer: {
7210
- flex: 1,
7211
- flexDirection: "row"
7305
+ var styles47 = import_react_native63.StyleSheet.create({
7306
+ navSection: {
7307
+ gap: 2,
7308
+ marginBottom: 4
7212
7309
  },
7213
- leftPanel: {
7214
- maxWidth: 220,
7215
- flex: 1,
7216
- padding: 16,
7217
- paddingRight: 12
7310
+ navItem: {
7311
+ justifyContent: "flex-start",
7312
+ paddingHorizontal: 8
7313
+ },
7314
+ separator: {
7315
+ height: 1,
7316
+ marginBottom: 12
7317
+ },
7318
+ dropdownContent: {
7319
+ minWidth: 220,
7320
+ paddingVertical: 6,
7321
+ paddingHorizontal: 6
7218
7322
  },
7219
7323
  creatingPanel: {
7220
7324
  marginTop: 12,
@@ -7239,89 +7343,192 @@ var styles45 = import_react_native61.StyleSheet.create({
7239
7343
  loadingMessageItem: {
7240
7344
  fontSize: 12,
7241
7345
  opacity: 0.85
7346
+ }
7347
+ });
7348
+
7349
+ // resourceViews/Container/DefaultContainerContent.tsx
7350
+ var import_react40 = __toESM(require("react"));
7351
+ var import_react_native64 = require("react-native");
7352
+ var import_lucide_react_native50 = require("lucide-react-native");
7353
+ var import_native36 = require("@react-navigation/native");
7354
+ var DefaultContainerContent = ({ resources, renderResource, creatorsAvailable }) => {
7355
+ const { colors } = (0, import_native36.useTheme)();
7356
+ const emptyState = /* @__PURE__ */ import_react40.default.createElement(import_react_native64.View, { style: styles48.emptyState }, /* @__PURE__ */ import_react40.default.createElement(import_react_native64.View, { style: styles48.emptyStateIcon }, /* @__PURE__ */ import_react40.default.createElement(import_lucide_react_native50.FolderOpen, { size: 40, color: colors.text })), /* @__PURE__ */ import_react40.default.createElement(Text2, { muted: true }, "This container is empty"), creatorsAvailable && /* @__PURE__ */ import_react40.default.createElement(Text2, { muted: true, size: "sm" }, "Use Create to add resources"));
7357
+ return /* @__PURE__ */ import_react40.default.createElement(
7358
+ import_react_native64.FlatList,
7359
+ {
7360
+ data: resources,
7361
+ keyExtractor: (item) => item.uri,
7362
+ style: styles48.list,
7363
+ contentContainerStyle: styles48.listContent,
7364
+ ListEmptyComponent: /* @__PURE__ */ import_react40.default.createElement(import_react40.default.Fragment, null, emptyState),
7365
+ ItemSeparatorComponent: () => /* @__PURE__ */ import_react40.default.createElement(import_react_native64.View, { style: [styles48.separator, { backgroundColor: colors.border }] }),
7366
+ renderItem: ({ item }) => renderResource(item)
7367
+ }
7368
+ );
7369
+ };
7370
+ var styles48 = import_react_native64.StyleSheet.create({
7371
+ list: {
7372
+ flex: 1
7242
7373
  },
7243
- rightPanel: {
7244
- flex: 3
7374
+ listContent: {
7375
+ flexGrow: 1,
7376
+ paddingHorizontal: 16,
7377
+ paddingVertical: 8
7245
7378
  },
7246
- createDropdownContent: {
7247
- minWidth: 220,
7248
- paddingVertical: 6,
7249
- paddingHorizontal: 6
7379
+ emptyState: {
7380
+ flex: 1,
7381
+ alignItems: "center",
7382
+ justifyContent: "center",
7383
+ gap: 4,
7384
+ paddingVertical: 48
7250
7385
  },
7251
- listSeparator: {
7386
+ emptyStateIcon: {
7387
+ opacity: 0.2,
7388
+ marginBottom: 8
7389
+ },
7390
+ separator: {
7252
7391
  height: 1,
7253
7392
  width: "100%"
7254
- },
7255
- listItemRow: {
7393
+ }
7394
+ });
7395
+
7396
+ // resourceViews/Container/DefaultContainerResourceItem.tsx
7397
+ var import_react41 = __toESM(require("react"));
7398
+ var import_react_native65 = require("react-native");
7399
+ var import_lucide_react_native51 = require("lucide-react-native");
7400
+ var import_native37 = require("@react-navigation/native");
7401
+ var import_solid_react11 = require("@ldo/solid-react");
7402
+ var import_react_native_notifier3 = require("react-native-notifier");
7403
+ var DefaultContainerResourceItem = ({ item, displayName, onNavigate, onDelete }) => {
7404
+ const { colors } = (0, import_native37.useTheme)();
7405
+ const { fetch: fetch2 } = (0, import_solid_react11.useSolidAuth)();
7406
+ const { openSharingModal } = useSharingModal();
7407
+ const TypeIcon = item.type === "SolidContainer" ? import_lucide_react_native51.Folder : item.uri.endsWith(".ttl") ? import_lucide_react_native51.Code : import_lucide_react_native51.File;
7408
+ const handleDownload = (0, import_react41.useCallback)(async () => {
7409
+ if (item.type !== "SolidLeaf") return;
7410
+ if (import_react_native65.Platform.OS !== "web") {
7411
+ import_react_native_notifier3.Notifier.showNotification({ title: "Download is only available on web" });
7412
+ return;
7413
+ }
7414
+ const response = await fetch2(item.uri);
7415
+ const blob = await response.blob();
7416
+ const url = URL.createObjectURL(blob);
7417
+ const a = document.createElement("a");
7418
+ a.href = url;
7419
+ a.download = displayName;
7420
+ document.body.appendChild(a);
7421
+ a.click();
7422
+ document.body.removeChild(a);
7423
+ URL.revokeObjectURL(url);
7424
+ }, [item, displayName, fetch2]);
7425
+ const handleShare = (0, import_react41.useCallback)(() => {
7426
+ if (item.type === "SolidLeaf" || item.type === "SolidContainer") {
7427
+ openSharingModal(item);
7428
+ }
7429
+ }, [item, openSharingModal]);
7430
+ return /* @__PURE__ */ import_react41.default.createElement(
7431
+ import_react_native65.Pressable,
7432
+ {
7433
+ onPress: onNavigate,
7434
+ style: ({ hovered }) => [
7435
+ styles49.row,
7436
+ hovered && { backgroundColor: colors.border }
7437
+ ]
7438
+ },
7439
+ /* @__PURE__ */ import_react41.default.createElement(import_react_native65.View, { style: styles49.inner }, /* @__PURE__ */ import_react41.default.createElement(import_react_native65.View, { style: styles49.label }, /* @__PURE__ */ import_react41.default.createElement(Icon, { icon: TypeIcon, size: 18 }), /* @__PURE__ */ import_react41.default.createElement(Text2, { style: styles49.name, numberOfLines: 1, ellipsizeMode: "middle" }, displayName)), /* @__PURE__ */ import_react41.default.createElement(DropdownMenu, null, /* @__PURE__ */ import_react41.default.createElement(DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ import_react41.default.createElement(
7440
+ Button,
7441
+ {
7442
+ variant: "ghost",
7443
+ size: "icon",
7444
+ style: styles49.actionButton,
7445
+ iconLeft: import_lucide_react_native51.MoreHorizontal
7446
+ }
7447
+ )), /* @__PURE__ */ import_react41.default.createElement(DropdownMenuContent, { align: "end", sideOffset: 4 }, item.type === "SolidLeaf" && /* @__PURE__ */ import_react41.default.createElement(DropdownMenuItem, { onPress: handleDownload }, /* @__PURE__ */ import_react41.default.createElement(Icon, { icon: import_lucide_react_native51.Download }), /* @__PURE__ */ import_react41.default.createElement(Text2, null, "Download")), /* @__PURE__ */ import_react41.default.createElement(DropdownMenuItem, { onPress: handleShare }, /* @__PURE__ */ import_react41.default.createElement(Icon, { icon: import_lucide_react_native51.Share2 }), /* @__PURE__ */ import_react41.default.createElement(Text2, null, "Share")), /* @__PURE__ */ import_react41.default.createElement(DropdownMenuSeparator, null), /* @__PURE__ */ import_react41.default.createElement(DropdownMenuItem, { onPress: onDelete }, /* @__PURE__ */ import_react41.default.createElement(Icon, { icon: import_lucide_react_native51.Trash }), /* @__PURE__ */ import_react41.default.createElement(Text2, { style: { color: colors.notification } }, "Delete")))))
7448
+ );
7449
+ };
7450
+ var styles49 = import_react_native65.StyleSheet.create({
7451
+ row: {
7256
7452
  minHeight: 48,
7257
7453
  justifyContent: "center"
7258
7454
  },
7259
- listItem: {
7455
+ inner: {
7260
7456
  flexDirection: "row",
7261
7457
  paddingHorizontal: 16,
7262
7458
  paddingVertical: 12,
7263
7459
  justifyContent: "space-between",
7264
7460
  alignItems: "center"
7265
7461
  },
7266
- listItemText: {
7462
+ label: {
7267
7463
  flexDirection: "row",
7268
7464
  alignItems: "center",
7269
7465
  gap: 12,
7270
7466
  flex: 1,
7271
7467
  minWidth: 0
7272
7468
  },
7273
- listItemLabel: {
7469
+ name: {
7274
7470
  flex: 1
7275
7471
  },
7276
- deleteButton: {
7472
+ actionButton: {
7277
7473
  width: 36,
7278
7474
  height: 36,
7279
7475
  padding: 0
7280
7476
  }
7281
7477
  });
7282
7478
 
7479
+ // resourceViews/Container/DefaultContainerView.tsx
7480
+ var DefaultContainerView = () => /* @__PURE__ */ import_react42.default.createElement(
7481
+ ContainerView,
7482
+ {
7483
+ Layout: DefaultContainerLayout,
7484
+ SideMenu: DefaultContainerSideMenu,
7485
+ Content: DefaultContainerContent,
7486
+ ResourceItem: DefaultContainerResourceItem
7487
+ }
7488
+ );
7489
+
7283
7490
  // resourceViews/Container/ContainerResourceView.tsx
7284
7491
  var ContainerResourceView = {
7285
7492
  name: "container",
7286
7493
  displayName: "Container",
7287
- displayIcon: import_lucide_react_native55.Folders,
7288
- view: ContainerView,
7494
+ displayIcon: import_lucide_react_native52.Folders,
7495
+ view: DefaultContainerView,
7289
7496
  canDisplay: (targetUri, targetResource) => {
7290
7497
  return targetResource.type === "SolidContainer";
7291
7498
  }
7292
7499
  };
7293
7500
 
7294
7501
  // resourceViews/Profile/ProfileResourceView.tsx
7295
- var import_lucide_react_native58 = require("lucide-react-native");
7502
+ var import_lucide_react_native55 = require("lucide-react-native");
7296
7503
 
7297
7504
  // resourceViews/Profile/ProfileView.tsx
7298
- var import_react_native63 = require("react-native");
7299
- var import_react39 = __toESM(require("react"));
7505
+ var import_react_native67 = require("react-native");
7506
+ var import_react44 = __toESM(require("react"));
7300
7507
 
7301
7508
  // resourceViews/Profile/ProfileKnows.tsx
7302
- var import_react38 = __toESM(require("react"));
7303
- var import_lucide_react_native56 = require("lucide-react-native");
7304
- var import_react_native62 = require("react-native");
7305
- var import_lucide_react_native57 = require("lucide-react-native");
7509
+ var import_react43 = __toESM(require("react"));
7510
+ var import_lucide_react_native53 = require("lucide-react-native");
7511
+ var import_react_native66 = require("react-native");
7512
+ var import_lucide_react_native54 = require("lucide-react-native");
7306
7513
  var ProfileKnows = ({
7307
7514
  resource,
7308
7515
  profile,
7309
7516
  setProfile
7310
7517
  }) => {
7311
- const [newContact, setNewContact] = (0, import_react38.useState)("");
7312
- const addNewContact = (0, import_react38.useCallback)(() => {
7518
+ const [newContact, setNewContact] = (0, import_react43.useState)("");
7519
+ const addNewContact = (0, import_react43.useCallback)(() => {
7313
7520
  setProfile(resource, (cProfile) => {
7314
7521
  cProfile.knows?.add({ "@id": newContact });
7315
7522
  });
7316
7523
  setNewContact("");
7317
7524
  }, [newContact, resource, setProfile]);
7318
- return /* @__PURE__ */ import_react38.default.createElement(import_react_native62.View, { style: styles46.container }, /* @__PURE__ */ import_react38.default.createElement(
7525
+ return /* @__PURE__ */ import_react43.default.createElement(import_react_native66.View, { style: styles50.container }, /* @__PURE__ */ import_react43.default.createElement(
7319
7526
  Input,
7320
7527
  {
7321
7528
  placeholder: "https://example.pod/john/profile/card#me",
7322
7529
  label: "New Contact WebId",
7323
7530
  buttonRight: {
7324
- iconRight: import_lucide_react_native56.Plus,
7531
+ iconRight: import_lucide_react_native53.Plus,
7325
7532
  onPress: addNewContact,
7326
7533
  variant: "secondary"
7327
7534
  },
@@ -7329,16 +7536,16 @@ var ProfileKnows = ({
7329
7536
  onChangeText: setNewContact,
7330
7537
  onSubmitEditing: addNewContact
7331
7538
  }
7332
- ), profile.knows?.map((friend) => /* @__PURE__ */ import_react38.default.createElement(
7539
+ ), profile.knows?.map((friend) => /* @__PURE__ */ import_react43.default.createElement(
7333
7540
  AgentInformation,
7334
7541
  {
7335
7542
  key: friend["@id"],
7336
7543
  webId: friend["@id"],
7337
- accessoryRight: /* @__PURE__ */ import_react38.default.createElement(
7544
+ accessoryRight: /* @__PURE__ */ import_react43.default.createElement(
7338
7545
  Button,
7339
7546
  {
7340
7547
  variant: "ghost",
7341
- iconRight: import_lucide_react_native57.Trash,
7548
+ iconRight: import_lucide_react_native54.Trash,
7342
7549
  onPress: () => {
7343
7550
  setProfile(resource, (cProfile) => {
7344
7551
  cProfile.knows?.delete(friend);
@@ -7349,7 +7556,7 @@ var ProfileKnows = ({
7349
7556
  }
7350
7557
  )));
7351
7558
  };
7352
- var styles46 = import_react_native62.StyleSheet.create({
7559
+ var styles50 = import_react_native66.StyleSheet.create({
7353
7560
  container: {
7354
7561
  gap: 16
7355
7562
  // gap-4 equivalent (4 * 4px = 16px)
@@ -7357,14 +7564,14 @@ var styles46 = import_react_native62.StyleSheet.create({
7357
7564
  });
7358
7565
 
7359
7566
  // resourceViews/Profile/ProfileView.tsx
7360
- var import_solid_react11 = require("@ldo/solid-react");
7567
+ var import_solid_react12 = require("@ldo/solid-react");
7361
7568
  var ProfileView = () => {
7362
7569
  const { targetUri } = useViewContext();
7363
- const profileResource = (0, import_solid_react11.useResource)(targetUri);
7364
- const [profile, setProfile, commitProfile, transactionDataset] = (0, import_solid_react11.useChangeSubject)(SolidProfileShapeType, targetUri);
7570
+ const profileResource = (0, import_solid_react12.useResource)(targetUri);
7571
+ const [profile, setProfile, commitProfile, transactionDataset] = (0, import_solid_react12.useChangeSubject)(SolidProfileShapeType, targetUri);
7365
7572
  if (!targetUri || !profileResource || !profile || profileResource.type === "InvalidIdentifierResource")
7366
- return /* @__PURE__ */ import_react39.default.createElement(import_react39.default.Fragment, null);
7367
- return /* @__PURE__ */ import_react39.default.createElement(import_react_native63.ScrollView, { contentContainerStyle: styles47.scrollContainer }, /* @__PURE__ */ import_react39.default.createElement(import_react_native63.View, { style: styles47.container }, /* @__PURE__ */ import_react39.default.createElement(Text2, { variant: "h1" }, "Profile"), /* @__PURE__ */ import_react39.default.createElement(
7573
+ return /* @__PURE__ */ import_react44.default.createElement(import_react44.default.Fragment, null);
7574
+ return /* @__PURE__ */ import_react44.default.createElement(import_react_native67.ScrollView, { contentContainerStyle: styles51.scrollContainer }, /* @__PURE__ */ import_react44.default.createElement(import_react_native67.View, { style: styles51.container }, /* @__PURE__ */ import_react44.default.createElement(Text2, { variant: "h1" }, "Profile"), /* @__PURE__ */ import_react44.default.createElement(
7368
7575
  Input,
7369
7576
  {
7370
7577
  placeholder: "John Doe",
@@ -7376,25 +7583,25 @@ var ProfileView = () => {
7376
7583
  });
7377
7584
  }
7378
7585
  }
7379
- ), /* @__PURE__ */ import_react39.default.createElement(Separator2, null), /* @__PURE__ */ import_react39.default.createElement(Text2, { variant: "h2" }, "Contacts"), /* @__PURE__ */ import_react39.default.createElement(
7586
+ ), /* @__PURE__ */ import_react44.default.createElement(Separator2, null), /* @__PURE__ */ import_react44.default.createElement(Text2, { variant: "h2" }, "Contacts"), /* @__PURE__ */ import_react44.default.createElement(
7380
7587
  ProfileKnows,
7381
7588
  {
7382
7589
  profile,
7383
7590
  setProfile,
7384
7591
  resource: profileResource
7385
7592
  }
7386
- ), /* @__PURE__ */ import_react39.default.createElement(
7593
+ ), /* @__PURE__ */ import_react44.default.createElement(
7387
7594
  Button,
7388
7595
  {
7389
7596
  disabled: !transactionDataset.hasChanges(),
7390
7597
  text: "Update Profile",
7391
- style: styles47.updateButton,
7598
+ style: styles51.updateButton,
7392
7599
  onPress: commitProfile,
7393
7600
  isLoading: profileResource.isLoading()
7394
7601
  }
7395
7602
  )));
7396
7603
  };
7397
- var styles47 = import_react_native63.StyleSheet.create({
7604
+ var styles51 = import_react_native67.StyleSheet.create({
7398
7605
  scrollContainer: {
7399
7606
  flexDirection: "row",
7400
7607
  justifyContent: "center",
@@ -7416,10 +7623,10 @@ var styles47 = import_react_native63.StyleSheet.create({
7416
7623
  var ProfileResourceView = {
7417
7624
  name: "profile",
7418
7625
  displayName: "Profile",
7419
- displayIcon: import_lucide_react_native58.User,
7626
+ displayIcon: import_lucide_react_native55.User,
7420
7627
  view: ProfileView,
7421
- canDisplay: (targetUri, targetResource, dataset2) => {
7422
- const profile = dataset2.usingType(SolidProfileShapeType).fromSubject(targetUri);
7628
+ canDisplay: (targetUri, targetResource, dataset) => {
7629
+ const profile = dataset.usingType(SolidProfileShapeType).fromSubject(targetUri);
7423
7630
  return !!profile?.type?.some?.(
7424
7631
  (val) => val["@id"] === "Person" || val["@id"] === "Person2"
7425
7632
  );
@@ -7427,20 +7634,20 @@ var ProfileResourceView = {
7427
7634
  };
7428
7635
 
7429
7636
  // resourceViews/RawCode/RawCodeResourceView.tsx
7430
- var import_lucide_react_native60 = require("lucide-react-native");
7637
+ var import_lucide_react_native57 = require("lucide-react-native");
7431
7638
 
7432
7639
  // resourceViews/RawCode/RawCodeView.tsx
7433
- var import_solid_react12 = require("@ldo/solid-react");
7434
- var import_react42 = __toESM(require("react"));
7640
+ var import_solid_react13 = require("@ldo/solid-react");
7641
+ var import_react47 = __toESM(require("react"));
7435
7642
 
7436
7643
  // resourceViews/RawCode/RawCodeEditor.tsx
7437
- var import_react40 = __toESM(require("react"));
7438
- var import_react41 = __toESM(require("@monaco-editor/react"));
7644
+ var import_react45 = __toESM(require("react"));
7645
+ var import_react46 = __toESM(require("@monaco-editor/react"));
7439
7646
  var RawCodeEditor = ({
7440
7647
  value,
7441
7648
  onChange
7442
7649
  }) => {
7443
- const monacoRef = (0, import_react40.useRef)(null);
7650
+ const monacoRef = (0, import_react45.useRef)(null);
7444
7651
  const { colorScheme } = useThemeChange();
7445
7652
  function handleEditorWillMount(monaco) {
7446
7653
  monaco.languages.typescript.javascriptDefaults.setEagerModelSync(true);
@@ -7448,8 +7655,8 @@ var RawCodeEditor = ({
7448
7655
  const handleEditorDidMount = (editor, monaco) => {
7449
7656
  monacoRef.current = monaco;
7450
7657
  };
7451
- return /* @__PURE__ */ import_react40.default.createElement(
7452
- import_react41.default,
7658
+ return /* @__PURE__ */ import_react45.default.createElement(
7659
+ import_react46.default,
7453
7660
  {
7454
7661
  className: "flex-1",
7455
7662
  defaultLanguage: "turtle",
@@ -7463,26 +7670,26 @@ var RawCodeEditor = ({
7463
7670
  };
7464
7671
 
7465
7672
  // resourceViews/RawCode/RawCodeView.tsx
7466
- var import_react_native64 = require("react-native");
7467
- var import_react_native_notifier3 = require("react-native-notifier");
7468
- var import_lucide_react_native59 = require("lucide-react-native");
7469
- var import_native35 = require("@react-navigation/native");
7673
+ var import_react_native68 = require("react-native");
7674
+ var import_react_native_notifier4 = require("react-native-notifier");
7675
+ var import_lucide_react_native56 = require("lucide-react-native");
7676
+ var import_native38 = require("@react-navigation/native");
7470
7677
  var RawCodeView = () => {
7471
- const { fetch: fetch2 } = (0, import_solid_react12.useSolidAuth)();
7472
- const { colors } = (0, import_native35.useTheme)();
7473
- const [content, setContent] = (0, import_react42.useState)("");
7474
- const [contentType, setContentType] = (0, import_react42.useState)("");
7475
- const [didEdit, setDidEdit] = (0, import_react42.useState)(false);
7678
+ const { fetch: fetch2 } = (0, import_solid_react13.useSolidAuth)();
7679
+ const { colors } = (0, import_native38.useTheme)();
7680
+ const [content, setContent] = (0, import_react47.useState)("");
7681
+ const [contentType, setContentType] = (0, import_react47.useState)("");
7682
+ const [didEdit, setDidEdit] = (0, import_react47.useState)(false);
7476
7683
  const { curViewConfig, targetResource } = useViewContext();
7477
- const [isFetching, setIsFetching] = (0, import_react42.useState)(false);
7478
- const [isSaving, setIsSaving] = (0, import_react42.useState)(false);
7684
+ const [isFetching, setIsFetching] = (0, import_react47.useState)(false);
7685
+ const [isSaving, setIsSaving] = (0, import_react47.useState)(false);
7479
7686
  const targetUri = targetResource?.uri;
7480
- const fetchContent = (0, import_react42.useCallback)(async () => {
7687
+ const fetchContent = (0, import_react47.useCallback)(async () => {
7481
7688
  if (!targetUri || curViewConfig.name !== "rawCode") return;
7482
7689
  setIsFetching(true);
7483
7690
  const response = await fetch2(targetUri);
7484
7691
  if (response.status !== 200) {
7485
- import_react_native_notifier3.Notifier.showNotification({
7692
+ import_react_native_notifier4.Notifier.showNotification({
7486
7693
  title: `Could not fetch document. Recieved ${response.status}`
7487
7694
  });
7488
7695
  }
@@ -7491,7 +7698,7 @@ var RawCodeView = () => {
7491
7698
  setDidEdit(false);
7492
7699
  setContentType(response.headers.get("content-type") ?? "");
7493
7700
  }, [curViewConfig.name, fetch2, targetUri]);
7494
- const submitChanges = (0, import_react42.useCallback)(async () => {
7701
+ const submitChanges = (0, import_react47.useCallback)(async () => {
7495
7702
  if (!targetUri) return;
7496
7703
  setIsSaving(true);
7497
7704
  const response = await fetch2(targetUri, {
@@ -7502,23 +7709,23 @@ var RawCodeView = () => {
7502
7709
  body: content
7503
7710
  });
7504
7711
  if (response.status !== 205) {
7505
- import_react_native_notifier3.Notifier.showNotification({
7712
+ import_react_native_notifier4.Notifier.showNotification({
7506
7713
  title: `Could save document. Recieved ${response.status}`
7507
7714
  });
7508
7715
  setIsSaving(false);
7509
7716
  return;
7510
7717
  }
7511
- import_react_native_notifier3.Notifier.showNotification({
7718
+ import_react_native_notifier4.Notifier.showNotification({
7512
7719
  title: `Document Saved`
7513
7720
  });
7514
7721
  await fetchContent();
7515
7722
  setIsSaving(false);
7516
7723
  setDidEdit(false);
7517
7724
  }, [content, contentType, fetch2, fetchContent, targetUri]);
7518
- (0, import_react42.useEffect)(() => {
7725
+ (0, import_react47.useEffect)(() => {
7519
7726
  fetchContent();
7520
7727
  }, [fetchContent]);
7521
- return /* @__PURE__ */ import_react42.default.createElement(import_react_native64.View, { style: [styles48.container, { backgroundColor: colors.background }] }, /* @__PURE__ */ import_react42.default.createElement(LoadingBar, { isLoading: isFetching || isSaving }), /* @__PURE__ */ import_react42.default.createElement(
7728
+ return /* @__PURE__ */ import_react47.default.createElement(import_react_native68.View, { style: [styles52.container, { backgroundColor: colors.background }] }, /* @__PURE__ */ import_react47.default.createElement(LoadingBar, { isLoading: isFetching || isSaving }), /* @__PURE__ */ import_react47.default.createElement(
7522
7729
  RawCodeEditor,
7523
7730
  {
7524
7731
  value: content,
@@ -7527,19 +7734,19 @@ var RawCodeView = () => {
7527
7734
  setContent(value ?? "");
7528
7735
  }
7529
7736
  }
7530
- ), /* @__PURE__ */ import_react42.default.createElement(
7737
+ ), /* @__PURE__ */ import_react47.default.createElement(
7531
7738
  Button,
7532
7739
  {
7533
- style: styles48.saveButton,
7740
+ style: styles52.saveButton,
7534
7741
  onPress: submitChanges,
7535
7742
  text: "Save Changes",
7536
- iconLeft: import_lucide_react_native59.Save,
7743
+ iconLeft: import_lucide_react_native56.Save,
7537
7744
  isLoading: isSaving,
7538
7745
  disabled: !didEdit || isSaving
7539
7746
  }
7540
7747
  ));
7541
7748
  };
7542
- var styles48 = import_react_native64.StyleSheet.create({
7749
+ var styles52 = import_react_native68.StyleSheet.create({
7543
7750
  container: {
7544
7751
  flex: 1,
7545
7752
  position: "relative"
@@ -7556,60 +7763,60 @@ var styles48 = import_react_native64.StyleSheet.create({
7556
7763
  var RawCodeResourceView = {
7557
7764
  name: "rawCode",
7558
7765
  displayName: "Raw Code",
7559
- displayIcon: import_lucide_react_native60.Code,
7766
+ displayIcon: import_lucide_react_native57.Code,
7560
7767
  view: RawCodeView,
7561
7768
  canDisplay: () => true
7562
7769
  };
7563
7770
 
7564
7771
  // resourceViews/Image/ImageResourceView.tsx
7565
- var import_lucide_react_native61 = require("lucide-react-native");
7772
+ var import_lucide_react_native58 = require("lucide-react-native");
7566
7773
 
7567
7774
  // resourceViews/Image/ImageView.tsx
7568
- var import_react43 = __toESM(require("react"));
7569
- var import_react_native65 = require("react-native");
7570
- var import_solid_react13 = require("@ldo/solid-react");
7775
+ var import_react48 = __toESM(require("react"));
7776
+ var import_react_native69 = require("react-native");
7777
+ var import_solid_react14 = require("@ldo/solid-react");
7571
7778
  var ImageView = () => {
7572
7779
  const { targetUri } = useViewContext();
7573
- const imageResource = (0, import_solid_react13.useResource)(targetUri);
7574
- const blobUrl = (0, import_react43.useMemo)(() => {
7780
+ const imageResource = (0, import_solid_react14.useResource)(targetUri);
7781
+ const blobUrl = (0, import_react48.useMemo)(() => {
7575
7782
  if (!imageResource?.isBinary()) return void 0;
7576
7783
  const blob2 = imageResource.getBlob();
7577
7784
  if (!blob2 || !blob2.type.startsWith("image/")) return void 0;
7578
7785
  return URL.createObjectURL(blob2);
7579
7786
  }, [imageResource]);
7580
- (0, import_react43.useEffect)(() => {
7787
+ (0, import_react48.useEffect)(() => {
7581
7788
  return () => {
7582
7789
  if (blobUrl) URL.revokeObjectURL(blobUrl);
7583
7790
  };
7584
7791
  }, [blobUrl]);
7585
7792
  if (!targetUri || !imageResource) return null;
7586
7793
  if (imageResource.isLoading?.() ?? imageResource.status?.type === "unfetched") {
7587
- return /* @__PURE__ */ import_react43.default.createElement(import_react_native65.View, { style: styles49.center }, /* @__PURE__ */ import_react43.default.createElement(LoadingBar, { isLoading: true }), /* @__PURE__ */ import_react43.default.createElement(Text2, null, "Loading image\u2026"));
7794
+ return /* @__PURE__ */ import_react48.default.createElement(import_react_native69.View, { style: styles53.center }, /* @__PURE__ */ import_react48.default.createElement(LoadingBar, { isLoading: true }), /* @__PURE__ */ import_react48.default.createElement(Text2, null, "Loading image\u2026"));
7588
7795
  }
7589
7796
  if (imageResource.status?.isError) {
7590
- return /* @__PURE__ */ import_react43.default.createElement(import_react_native65.View, { style: styles49.center }, /* @__PURE__ */ import_react43.default.createElement(Text2, null, imageResource.status.message ?? "Failed to load image."));
7797
+ return /* @__PURE__ */ import_react48.default.createElement(import_react_native69.View, { style: styles53.center }, /* @__PURE__ */ import_react48.default.createElement(Text2, null, imageResource.status.message ?? "Failed to load image."));
7591
7798
  }
7592
7799
  if (!imageResource.isBinary()) {
7593
- return /* @__PURE__ */ import_react43.default.createElement(import_react_native65.View, { style: styles49.center }, /* @__PURE__ */ import_react43.default.createElement(Text2, null, "This resource is not a binary image."));
7800
+ return /* @__PURE__ */ import_react48.default.createElement(import_react_native69.View, { style: styles53.center }, /* @__PURE__ */ import_react48.default.createElement(Text2, null, "This resource is not a binary image."));
7594
7801
  }
7595
7802
  const blob = imageResource.getBlob();
7596
7803
  if (!blob || !blob.type.startsWith("image/")) {
7597
- return /* @__PURE__ */ import_react43.default.createElement(import_react_native65.View, { style: styles49.center }, /* @__PURE__ */ import_react43.default.createElement(Text2, null, "This binary resource is not an image (", blob?.type ?? "unknown type", ")."));
7804
+ return /* @__PURE__ */ import_react48.default.createElement(import_react_native69.View, { style: styles53.center }, /* @__PURE__ */ import_react48.default.createElement(Text2, null, "This binary resource is not an image (", blob?.type ?? "unknown type", ")."));
7598
7805
  }
7599
7806
  if (!blobUrl) {
7600
- return /* @__PURE__ */ import_react43.default.createElement(import_react_native65.View, { style: styles49.center }, /* @__PURE__ */ import_react43.default.createElement(Text2, null, "Unable to display image."));
7807
+ return /* @__PURE__ */ import_react48.default.createElement(import_react_native69.View, { style: styles53.center }, /* @__PURE__ */ import_react48.default.createElement(Text2, null, "Unable to display image."));
7601
7808
  }
7602
- return /* @__PURE__ */ import_react43.default.createElement(import_react_native65.View, { style: styles49.container }, /* @__PURE__ */ import_react43.default.createElement(
7603
- import_react_native65.Image,
7809
+ return /* @__PURE__ */ import_react48.default.createElement(import_react_native69.View, { style: styles53.container }, /* @__PURE__ */ import_react48.default.createElement(
7810
+ import_react_native69.Image,
7604
7811
  {
7605
7812
  source: { uri: blobUrl },
7606
- style: styles49.image,
7813
+ style: styles53.image,
7607
7814
  resizeMode: "contain",
7608
7815
  accessibilityLabel: "Image resource"
7609
7816
  }
7610
7817
  ));
7611
7818
  };
7612
- var styles49 = import_react_native65.StyleSheet.create({
7819
+ var styles53 = import_react_native69.StyleSheet.create({
7613
7820
  container: {
7614
7821
  flex: 1,
7615
7822
  padding: 16,
@@ -7633,7 +7840,7 @@ var styles49 = import_react_native65.StyleSheet.create({
7633
7840
  var ImageResourceView = {
7634
7841
  name: "image",
7635
7842
  displayName: "Image",
7636
- displayIcon: import_lucide_react_native61.Image,
7843
+ displayIcon: import_lucide_react_native58.Image,
7637
7844
  view: ImageView,
7638
7845
  canDisplay: (_targetUri, targetResource) => {
7639
7846
  if (targetResource.type !== "SolidLeaf") return false;
@@ -7700,6 +7907,11 @@ console.log("Exporting components");
7700
7907
  CopyLink,
7701
7908
  DataBrowser,
7702
7909
  DataBrowserConfigContext,
7910
+ DefaultContainerContent,
7911
+ DefaultContainerLayout,
7912
+ DefaultContainerResourceItem,
7913
+ DefaultContainerSideMenu,
7914
+ DefaultContainerView,
7703
7915
  Dialog,
7704
7916
  DialogClose,
7705
7917
  DialogContent,
@@ -7816,6 +8028,7 @@ console.log("Exporting components");
7816
8028
  TabsContent,
7817
8029
  TabsList,
7818
8030
  TabsTrigger,
8031
+ TargetResourceLoader,
7819
8032
  TargetResourceProvider,
7820
8033
  Text,
7821
8034
  TextStyleContext,