@papyrus-sdk/ui-react-native 0.2.18-beta.2 → 0.2.18-beta.4

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/index.mjs CHANGED
@@ -24031,9 +24031,6 @@ function DedicatedAndroidPdfViewer({
24031
24031
  setSelection(null);
24032
24032
  selectionRef.current = null;
24033
24033
  }, []);
24034
- if (!engineId) {
24035
- return /* @__PURE__ */ jsx4(View3, { style: styles3.container });
24036
- }
24037
24034
  return /* @__PURE__ */ jsxs4(View3, { style: styles3.container, children: [
24038
24035
  /* @__PURE__ */ jsx4(
24039
24036
  PapyrusPdfViewerView,
@@ -28514,7 +28511,7 @@ var styles10 = StyleSheet10.create({
28514
28511
  var BottomBar_default = BottomBar;
28515
28512
 
28516
28513
  // components/SettingsSheet.tsx
28517
- import { useCallback as useCallback5, useMemo as useMemo6 } from "react";
28514
+ import { useCallback as useCallback5, useEffect as useEffect9, useMemo as useMemo6, useState as useState9 } from "react";
28518
28515
  import { Dimensions as Dimensions2, View as View11, Text as Text6, Pressable as Pressable9, StyleSheet as StyleSheet11 } from "react-native";
28519
28516
  import BottomSheet2, {
28520
28517
  BottomSheetBackdrop as BottomSheetBackdrop2,
@@ -28565,10 +28562,15 @@ var SettingsSheet = ({
28565
28562
  const isPaged = viewMode === "single";
28566
28563
  const isDouble = viewMode === "double";
28567
28564
  const t = getStrings(locale);
28565
+ const [hasBeenVisible, setHasBeenVisible] = useState9(visible);
28568
28566
  const snapPoints = useMemo6(
28569
28567
  () => [Math.min(640, Dimensions2.get("window").height * 0.72)],
28570
28568
  []
28571
28569
  );
28570
+ useEffect9(() => {
28571
+ if (visible) setHasBeenVisible(true);
28572
+ }, [visible]);
28573
+ if (!hasBeenVisible) return null;
28572
28574
  const renderBackdrop = useCallback5(
28573
28575
  (props) => /* @__PURE__ */ jsx12(
28574
28576
  BottomSheetBackdrop2,
@@ -29129,7 +29131,7 @@ var styles11 = StyleSheet11.create({
29129
29131
  var SettingsSheet_default = SettingsSheet;
29130
29132
 
29131
29133
  // components/CoverPreview.tsx
29132
- import { useEffect as useEffect9, useMemo as useMemo7, useRef as useRef7, useState as useState9 } from "react";
29134
+ import { useEffect as useEffect10, useMemo as useMemo7, useRef as useRef7, useState as useState10 } from "react";
29133
29135
  import {
29134
29136
  ActivityIndicator,
29135
29137
  StyleSheet as StyleSheet12,
@@ -29187,18 +29189,18 @@ var CoverPreview = ({
29187
29189
  onLoadEnd,
29188
29190
  onError
29189
29191
  }) => {
29190
- const [engine, setEngine] = useState9(null);
29191
- const [layoutReady, setLayoutReady] = useState9(false);
29192
- const [loaded, setLoaded] = useState9(false);
29193
- const [loading, setLoading] = useState9(false);
29194
- const [error, setError] = useState9(null);
29192
+ const [engine, setEngine] = useState10(null);
29193
+ const [layoutReady, setLayoutReady] = useState10(false);
29194
+ const [loaded, setLoaded] = useState10(false);
29195
+ const [loading, setLoading] = useState10(false);
29196
+ const [error, setError] = useState10(null);
29195
29197
  const viewRef = useRef7(null);
29196
29198
  const resolvedType = useMemo7(() => inferDocumentType(source, type), [source, type]);
29197
29199
  const isPdf = resolvedType === "pdf";
29198
29200
  const hasNativePageView = Boolean(UIManager2.getViewManagerConfig?.("PapyrusPageView"));
29199
29201
  const canRender = !isPdf || hasNativePageView;
29200
29202
  const shouldRender = Boolean(visible);
29201
- useEffect9(() => {
29203
+ useEffect10(() => {
29202
29204
  if (!shouldRender) {
29203
29205
  if (!keepAlive) {
29204
29206
  setEngine(null);
@@ -29211,7 +29213,7 @@ var CoverPreview = ({
29211
29213
  setEngine(new MobileDocumentEngine());
29212
29214
  }
29213
29215
  }, [shouldRender, keepAlive, engine, canRender]);
29214
- useEffect9(() => {
29216
+ useEffect10(() => {
29215
29217
  if (!engine || !shouldRender || !canRender) return;
29216
29218
  let active = true;
29217
29219
  setLoading(true);
@@ -29238,13 +29240,13 @@ var CoverPreview = ({
29238
29240
  active = false;
29239
29241
  };
29240
29242
  }, [engine, shouldRender, canRender, source, type, pageIndex, isPdf, onLoadStart, onLoadEnd, onError]);
29241
- useEffect9(() => {
29243
+ useEffect10(() => {
29242
29244
  if (!engine || !isPdf || !loaded || !layoutReady || !shouldRender || !canRender) return;
29243
29245
  const viewTag = findNodeHandle3(viewRef.current);
29244
29246
  if (!viewTag) return;
29245
29247
  engine.renderPage(pageIndex, viewTag, renderScale);
29246
29248
  }, [engine, isPdf, loaded, layoutReady, shouldRender, canRender, pageIndex, renderScale]);
29247
- useEffect9(() => {
29249
+ useEffect10(() => {
29248
29250
  return () => {
29249
29251
  engine?.destroy();
29250
29252
  };
@@ -29311,7 +29313,7 @@ var styles12 = StyleSheet12.create({
29311
29313
  var CoverPreview_default = CoverPreview;
29312
29314
 
29313
29315
  // components/ReadingShell.tsx
29314
- import React14, { useState as useState11 } from "react";
29316
+ import React14, { useState as useState12 } from "react";
29315
29317
  import { Keyboard as Keyboard2, View as View19, StyleSheet as StyleSheet19 } from "react-native";
29316
29318
  import { useViewerStore as useViewerStore17 } from "@papyrus-sdk/core";
29317
29319
 
@@ -29936,7 +29938,7 @@ var styles16 = StyleSheet16.create({
29936
29938
  });
29937
29939
 
29938
29940
  // components/SearchOverlay.tsx
29939
- import { useEffect as useEffect10, useMemo as useMemo9, useState as useState10 } from "react";
29941
+ import { useEffect as useEffect11, useMemo as useMemo9, useState as useState11 } from "react";
29940
29942
  import {
29941
29943
  Keyboard,
29942
29944
  Pressable as Pressable14,
@@ -29965,14 +29967,14 @@ function SearchOverlay({
29965
29967
  uiTheme,
29966
29968
  accentColor
29967
29969
  } = useViewerStore15();
29968
- const [draft, setDraft] = useState10(searchQuery);
29969
- const [isSearching, setIsSearching] = useState10(false);
29970
+ const [draft, setDraft] = useState11(searchQuery);
29971
+ const [isSearching, setIsSearching] = useState11(false);
29970
29972
  const isDark = uiTheme === "dark";
29971
29973
  const t = getStrings(locale);
29972
29974
  const searchService = useMemo9(() => new SearchService(engine), [engine]);
29973
29975
  const currentCount = searchResults.length > 0 && activeSearchIndex >= 0 ? activeSearchIndex + 1 : 0;
29974
29976
  const targetLabel = documentType === "pdf" ? t.page : documentType === "epub" ? t.contents : t.progress;
29975
- useEffect10(() => {
29977
+ useEffect11(() => {
29976
29978
  if (!visible) return;
29977
29979
  setDraft(searchQuery);
29978
29980
  }, [searchQuery, visible]);
@@ -30457,12 +30459,12 @@ function ReadingShell({
30457
30459
  uiTheme,
30458
30460
  accentColor
30459
30461
  } = useViewerStore17();
30460
- const [overflowOpen, setOverflowOpen] = useState11(false);
30461
- const [infoOpen, setInfoOpen] = useState11(false);
30462
- const [actionsOpen, setActionsOpen] = useState11(false);
30463
- const [settingsOpen, setSettingsOpen] = useState11(false);
30464
- const [searchResultsOpen, setSearchResultsOpen] = useState11(false);
30465
- const [pageJumpOpen, setPageJumpOpen] = useState11(false);
30462
+ const [overflowOpen, setOverflowOpen] = useState12(false);
30463
+ const [infoOpen, setInfoOpen] = useState12(false);
30464
+ const [actionsOpen, setActionsOpen] = useState12(false);
30465
+ const [settingsOpen, setSettingsOpen] = useState12(false);
30466
+ const [searchResultsOpen, setSearchResultsOpen] = useState12(false);
30467
+ const [pageJumpOpen, setPageJumpOpen] = useState12(false);
30466
30468
  const isDark = uiTheme === "dark";
30467
30469
  React14.useEffect(() => {
30468
30470
  const showSubscription = Keyboard2.addListener("keyboardDidShow", () => {