@flamingo-stack/openframe-frontend-core 0.0.455-snapshot.20260719161719 → 0.0.455

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/{chunk-UXKSOJR7.js → chunk-2KUIA2AR.js} +3 -3
  2. package/dist/{chunk-LMBPJAQ2.js → chunk-5YPKZM6Y.js} +6 -6
  3. package/dist/{chunk-YMGOTPY7.cjs → chunk-62AXZKYN.cjs} +866 -981
  4. package/dist/chunk-62AXZKYN.cjs.map +1 -0
  5. package/dist/{chunk-JHIT44TA.js → chunk-6W4ZEVIC.js} +3 -3
  6. package/dist/{chunk-MK2YWJAA.js → chunk-BD3JBEUC.js} +40 -64
  7. package/dist/chunk-BD3JBEUC.js.map +1 -0
  8. package/dist/{chunk-KH5VTGCS.cjs → chunk-BE77G7GW.cjs} +40 -40
  9. package/dist/{chunk-KH5VTGCS.cjs.map → chunk-BE77G7GW.cjs.map} +1 -1
  10. package/dist/{chunk-DYBATZJP.cjs → chunk-D5PBUVGB.cjs} +5 -5
  11. package/dist/{chunk-DYBATZJP.cjs.map → chunk-D5PBUVGB.cjs.map} +1 -1
  12. package/dist/{chunk-2I3GN7WW.js → chunk-DGPKGESY.js} +4 -4
  13. package/dist/{chunk-F3IBBAKV.js → chunk-EGTGRG7N.js} +2 -2
  14. package/dist/{chunk-UHVVNVUE.cjs → chunk-FCVF4YAB.cjs} +40 -40
  15. package/dist/{chunk-UHVVNVUE.cjs.map → chunk-FCVF4YAB.cjs.map} +1 -1
  16. package/dist/{chunk-VZNJ3RYI.cjs → chunk-GNYV6HYO.cjs} +15 -15
  17. package/dist/{chunk-VZNJ3RYI.cjs.map → chunk-GNYV6HYO.cjs.map} +1 -1
  18. package/dist/{chunk-F2CCUPKC.cjs → chunk-IDCPYG7N.cjs} +29 -29
  19. package/dist/{chunk-F2CCUPKC.cjs.map → chunk-IDCPYG7N.cjs.map} +1 -1
  20. package/dist/{chunk-YLTY4Z4B.js → chunk-JUUPMMKI.js} +3 -3
  21. package/dist/{chunk-IOHQJOLR.cjs → chunk-KTGGM5WA.cjs} +12 -36
  22. package/dist/chunk-KTGGM5WA.cjs.map +1 -0
  23. package/dist/{chunk-U27TXTAK.js → chunk-LB3OZE4B.js} +6 -6
  24. package/dist/{chunk-GC63K4VD.cjs → chunk-M5RT26WQ.cjs} +73 -73
  25. package/dist/{chunk-GC63K4VD.cjs.map → chunk-M5RT26WQ.cjs.map} +1 -1
  26. package/dist/{chunk-UEKCD6WV.js → chunk-N4CHA7T7.js} +16 -131
  27. package/dist/chunk-N4CHA7T7.js.map +1 -0
  28. package/dist/{chunk-6K6LAD6H.cjs → chunk-NNDNJCJ3.cjs} +18 -18
  29. package/dist/{chunk-6K6LAD6H.cjs.map → chunk-NNDNJCJ3.cjs.map} +1 -1
  30. package/dist/{chunk-DU6R7XNU.js → chunk-QSIZW6EX.js} +2 -2
  31. package/dist/{chunk-6TI3DCOG.cjs → chunk-RT7DIGTN.cjs} +3 -3
  32. package/dist/{chunk-6TI3DCOG.cjs.map → chunk-RT7DIGTN.cjs.map} +1 -1
  33. package/dist/{chunk-GQZGCMRF.cjs → chunk-RZL7I6YN.cjs} +7 -7
  34. package/dist/{chunk-GQZGCMRF.cjs.map → chunk-RZL7I6YN.cjs.map} +1 -1
  35. package/dist/{chunk-TXS2AMFV.cjs → chunk-UJZ6O2ON.cjs} +32 -32
  36. package/dist/{chunk-TXS2AMFV.cjs.map → chunk-UJZ6O2ON.cjs.map} +1 -1
  37. package/dist/{chunk-ZQHGSR3H.js → chunk-VNE5R4LQ.js} +5 -5
  38. package/dist/{chunk-ILUX3DXS.js → chunk-X62ICFPJ.js} +2 -2
  39. package/dist/{chunk-DAEKUR3J.js → chunk-XAQLBUCP.js} +2 -2
  40. package/dist/{chunk-INH6SIP5.cjs → chunk-XT6S6DYS.cjs} +12 -12
  41. package/dist/{chunk-INH6SIP5.cjs.map → chunk-XT6S6DYS.cjs.map} +1 -1
  42. package/dist/{chunk-A7FTNFBX.cjs → chunk-YSKSBLCG.cjs} +73 -73
  43. package/dist/{chunk-A7FTNFBX.cjs.map → chunk-YSKSBLCG.cjs.map} +1 -1
  44. package/dist/{chunk-LAFCXJVT.js → chunk-YXCYQKAX.js} +5 -5
  45. package/dist/components/case-studies/index.cjs +9 -9
  46. package/dist/components/case-studies/index.js +3 -3
  47. package/dist/components/chat/chat-message-list.d.ts.map +1 -1
  48. package/dist/components/chat/guide-welcome.d.ts.map +1 -1
  49. package/dist/components/chat/index.cjs +3 -3
  50. package/dist/components/chat/index.js +2 -2
  51. package/dist/components/chat/mingo-welcome.d.ts.map +1 -1
  52. package/dist/components/chat/quick-action-wall.d.ts +1 -5
  53. package/dist/components/chat/quick-action-wall.d.ts.map +1 -1
  54. package/dist/components/chat/types/component.types.d.ts +0 -17
  55. package/dist/components/chat/types/component.types.d.ts.map +1 -1
  56. package/dist/components/contact/index.cjs +4 -4
  57. package/dist/components/contact/index.js +3 -3
  58. package/dist/components/docs/index.cjs +6 -6
  59. package/dist/components/docs/index.js +5 -5
  60. package/dist/components/embeds/index.cjs +4 -4
  61. package/dist/components/embeds/index.js +3 -3
  62. package/dist/components/faq/index.cjs +5 -5
  63. package/dist/components/faq/index.js +4 -4
  64. package/dist/components/features/cards-strip.d.ts.map +1 -1
  65. package/dist/components/features/index.cjs +3 -3
  66. package/dist/components/features/index.js +2 -2
  67. package/dist/components/help-center-pages/index.cjs +22 -22
  68. package/dist/components/help-center-pages/index.js +13 -13
  69. package/dist/components/index.cjs +135 -135
  70. package/dist/components/index.js +11 -11
  71. package/dist/components/navigation/index.cjs +3 -3
  72. package/dist/components/navigation/index.js +2 -2
  73. package/dist/components/onboarding-guides/index.cjs +7 -7
  74. package/dist/components/onboarding-guides/index.js +6 -6
  75. package/dist/components/related-content/index.cjs +5 -5
  76. package/dist/components/related-content/index.js +4 -4
  77. package/dist/components/tickets/index.cjs +6 -6
  78. package/dist/components/tickets/index.js +5 -5
  79. package/dist/components/ui/index.cjs +3 -3
  80. package/dist/components/ui/index.js +2 -2
  81. package/dist/components/ui/marquee-wall.d.ts +1 -8
  82. package/dist/components/ui/marquee-wall.d.ts.map +1 -1
  83. package/dist/hooks/index.cjs +2 -4
  84. package/dist/hooks/index.cjs.map +1 -1
  85. package/dist/hooks/index.js +1 -3
  86. package/dist/hooks/ui/index.d.ts +0 -1
  87. package/dist/hooks/ui/index.d.ts.map +1 -1
  88. package/dist/hooks/use-near-viewport.d.ts +1 -3
  89. package/dist/hooks/use-near-viewport.d.ts.map +1 -1
  90. package/dist/index.cjs +3 -5
  91. package/dist/index.cjs.map +1 -1
  92. package/dist/index.js +2 -4
  93. package/package.json +1 -1
  94. package/src/components/chat/chat-message-list.tsx +5 -48
  95. package/src/components/chat/embeddable-chat.tsx +3 -31
  96. package/src/components/chat/guide-welcome.tsx +0 -1
  97. package/src/components/chat/mingo-welcome.tsx +0 -1
  98. package/src/components/chat/quick-action-wall.tsx +0 -7
  99. package/src/components/chat/types/component.types.ts +0 -17
  100. package/src/components/features/cards-strip.tsx +0 -16
  101. package/src/components/ui/marquee-wall.tsx +10 -160
  102. package/src/hooks/ui/index.ts +0 -1
  103. package/src/hooks/use-near-viewport.ts +12 -36
  104. package/dist/chunk-IOHQJOLR.cjs.map +0 -1
  105. package/dist/chunk-MK2YWJAA.js.map +0 -1
  106. package/dist/chunk-UEKCD6WV.js.map +0 -1
  107. package/dist/chunk-YMGOTPY7.cjs.map +0 -1
  108. package/dist/hooks/ui/use-reset-on-page-hidden.d.ts +0 -19
  109. package/dist/hooks/ui/use-reset-on-page-hidden.d.ts.map +0 -1
  110. package/src/hooks/ui/use-reset-on-page-hidden.ts +0 -32
  111. /package/dist/{chunk-UXKSOJR7.js.map → chunk-2KUIA2AR.js.map} +0 -0
  112. /package/dist/{chunk-LMBPJAQ2.js.map → chunk-5YPKZM6Y.js.map} +0 -0
  113. /package/dist/{chunk-JHIT44TA.js.map → chunk-6W4ZEVIC.js.map} +0 -0
  114. /package/dist/{chunk-2I3GN7WW.js.map → chunk-DGPKGESY.js.map} +0 -0
  115. /package/dist/{chunk-F3IBBAKV.js.map → chunk-EGTGRG7N.js.map} +0 -0
  116. /package/dist/{chunk-YLTY4Z4B.js.map → chunk-JUUPMMKI.js.map} +0 -0
  117. /package/dist/{chunk-U27TXTAK.js.map → chunk-LB3OZE4B.js.map} +0 -0
  118. /package/dist/{chunk-DU6R7XNU.js.map → chunk-QSIZW6EX.js.map} +0 -0
  119. /package/dist/{chunk-ZQHGSR3H.js.map → chunk-VNE5R4LQ.js.map} +0 -0
  120. /package/dist/{chunk-ILUX3DXS.js.map → chunk-X62ICFPJ.js.map} +0 -0
  121. /package/dist/{chunk-DAEKUR3J.js.map → chunk-XAQLBUCP.js.map} +0 -0
  122. /package/dist/{chunk-LAFCXJVT.js.map → chunk-YXCYQKAX.js.map} +0 -0
@@ -6,11 +6,11 @@ import {
6
6
  resolveExternalNavigation,
7
7
  resolveSourceIcon,
8
8
  stripSameOriginToPath
9
- } from "./chunk-UEKCD6WV.js";
9
+ } from "./chunk-N4CHA7T7.js";
10
10
  import {
11
11
  contentFetch,
12
12
  useDebounce
13
- } from "./chunk-MK2YWJAA.js";
13
+ } from "./chunk-BD3JBEUC.js";
14
14
  import {
15
15
  useChatRuntime
16
16
  } from "./chunk-KFQXO7QB.js";
@@ -347,4 +347,4 @@ export {
347
347
  resolveSearchResultAction,
348
348
  useDocSearch
349
349
  };
350
- //# sourceMappingURL=chunk-JHIT44TA.js.map
350
+ //# sourceMappingURL=chunk-6W4ZEVIC.js.map
@@ -889,24 +889,8 @@ function useOnboardingState(storageKey = "openframe-onboarding-state") {
889
889
  };
890
890
  }
891
891
 
892
- // src/hooks/ui/use-reset-on-page-hidden.ts
893
- import { useEffect as useEffect11 } from "react";
894
- function useResetOnPageHidden(reset) {
895
- useEffect11(() => {
896
- const onVisibility = () => {
897
- if (document.visibilityState === "hidden") reset();
898
- };
899
- window.addEventListener("blur", reset);
900
- document.addEventListener("visibilitychange", onVisibility);
901
- return () => {
902
- window.removeEventListener("blur", reset);
903
- document.removeEventListener("visibilitychange", onVisibility);
904
- };
905
- }, [reset]);
906
- }
907
-
908
892
  // src/hooks/ui/use-search.ts
909
- import { useState as useState11, useEffect as useEffect12, useCallback as useCallback8 } from "react";
893
+ import { useState as useState11, useEffect as useEffect11, useCallback as useCallback8 } from "react";
910
894
  function useSearch(config) {
911
895
  const { searchFn, mapResult, debounceMs = 300, minQueryLength = 2 } = config;
912
896
  const [query, setQuery] = useState11("");
@@ -918,7 +902,7 @@ function useSearch(config) {
918
902
  setResults([]);
919
903
  setError(null);
920
904
  }, []);
921
- useEffect12(() => {
905
+ useEffect11(() => {
922
906
  if (!debouncedQuery || debouncedQuery.length < minQueryLength) {
923
907
  setResults([]);
924
908
  setIsLoading(false);
@@ -954,11 +938,11 @@ function useSearch(config) {
954
938
  }
955
939
 
956
940
  // src/hooks/ui/use-suppress-clone-focus.ts
957
- import { useEffect as useEffect13, useRef as useRef7 } from "react";
941
+ import { useEffect as useEffect12, useRef as useRef7 } from "react";
958
942
  var CLONE_FOCUSABLE_SELECTOR = 'a[href],button,input,select,textarea,iframe,summary,audio[controls],video[controls],[tabindex],[contenteditable]:not([contenteditable="false"])';
959
943
  function useSuppressCloneFocus(active) {
960
944
  const ref = useRef7(null);
961
- useEffect13(() => {
945
+ useEffect12(() => {
962
946
  const root = ref.current;
963
947
  if (!root || !active) return;
964
948
  const suppress = () => {
@@ -1017,11 +1001,11 @@ function useTablePagination(config) {
1017
1001
  }
1018
1002
 
1019
1003
  // src/hooks/ui/use-throttle.ts
1020
- import { useState as useState12, useEffect as useEffect14, useRef as useRef8 } from "react";
1004
+ import { useState as useState12, useEffect as useEffect13, useRef as useRef8 } from "react";
1021
1005
  function useThrottle(value, limit = 200) {
1022
1006
  const [throttledValue, setThrottledValue] = useState12(value);
1023
1007
  const lastUpdated = useRef8(Date.now());
1024
- useEffect14(() => {
1008
+ useEffect13(() => {
1025
1009
  const now = Date.now();
1026
1010
  const elapsed = now - lastUpdated.current;
1027
1011
  if (elapsed >= limit) {
@@ -1068,7 +1052,7 @@ function useWindowSize() {
1068
1052
  import { usePreventScroll } from "@react-aria/overlays";
1069
1053
 
1070
1054
  // src/hooks/platform/use-platform-config.ts
1071
- import { useState as useState14, useEffect as useEffect15 } from "react";
1055
+ import { useState as useState14, useEffect as useEffect14 } from "react";
1072
1056
 
1073
1057
  // src/utils/platform-config.tsx
1074
1058
  import { Globe } from "lucide-react";
@@ -1249,7 +1233,7 @@ function usePlatformConfig() {
1249
1233
  const [platforms, setPlatforms] = useState14(platformCache || []);
1250
1234
  const [isLoading, setIsLoading] = useState14(!platformCache);
1251
1235
  const [error, setError] = useState14(null);
1252
- useEffect15(() => {
1236
+ useEffect14(() => {
1253
1237
  if (platformCache) {
1254
1238
  setPlatforms(platformCache);
1255
1239
  setIsLoading(false);
@@ -1698,7 +1682,7 @@ var useToast = () => ({
1698
1682
  });
1699
1683
 
1700
1684
  // src/hooks/use-contact-submission.ts
1701
- import { useState as useState16, useCallback as useCallback9, useEffect as useEffect16 } from "react";
1685
+ import { useState as useState16, useCallback as useCallback9, useEffect as useEffect15 } from "react";
1702
1686
  init_next_navigation();
1703
1687
 
1704
1688
  // src/utils/local-storage-adapter.ts
@@ -2003,7 +1987,7 @@ function useContactSubmission(options = {}) {
2003
1987
  setIsSubmitting(false);
2004
1988
  }
2005
1989
  }, [isSubmitting, toast2, userId, successToastMessage, contactUrl]);
2006
- useEffect16(() => {
1990
+ useEffect15(() => {
2007
1991
  if (isSuccess && successRedirectUrl) {
2008
1992
  console.log("\u{1F680} Contact submission successful, redirecting to:", successRedirectUrl);
2009
1993
  const timer = setTimeout(() => {
@@ -2017,7 +2001,7 @@ function useContactSubmission(options = {}) {
2017
2001
  return () => clearTimeout(timer);
2018
2002
  }
2019
2003
  }, [isSuccess, successRedirectUrl, router]);
2020
- useEffect16(() => {
2004
+ useEffect15(() => {
2021
2005
  if (isSuccess && onSuccess) {
2022
2006
  onSuccess();
2023
2007
  }
@@ -2053,7 +2037,7 @@ function useCopyToClipboard({
2053
2037
  }
2054
2038
 
2055
2039
  // src/hooks/use-batch-images.ts
2056
- import { useEffect as useEffect17, useMemo as useMemo2, useState as useState18, useRef as useRef9 } from "react";
2040
+ import { useEffect as useEffect16, useMemo as useMemo2, useState as useState18, useRef as useRef9 } from "react";
2057
2041
  var globalBatchImageConfig = {};
2058
2042
  function configureBatchImageFetch(config) {
2059
2043
  globalBatchImageConfig = { ...globalBatchImageConfig, ...config };
@@ -2133,7 +2117,7 @@ function useBatchImages(imageUrls, config) {
2133
2117
  [imageUrls]
2134
2118
  );
2135
2119
  const requestedUrls = useRef9(/* @__PURE__ */ new Set());
2136
- useEffect17(() => {
2120
+ useEffect16(() => {
2137
2121
  if (uniqueUrls.length === 0) {
2138
2122
  setFetchedImages({});
2139
2123
  return;
@@ -2163,7 +2147,7 @@ function useBatchImages(imageUrls, config) {
2163
2147
  }
2164
2148
 
2165
2149
  // src/hooks/use-authenticated-image.ts
2166
- import { useEffect as useEffect18, useState as useState19, useRef as useRef10 } from "react";
2150
+ import { useEffect as useEffect17, useState as useState19, useRef as useRef10 } from "react";
2167
2151
  var globalImageConfig = {};
2168
2152
  var imageCache = /* @__PURE__ */ new Map();
2169
2153
  var pendingRequests = /* @__PURE__ */ new Map();
@@ -2196,7 +2180,7 @@ function useAuthenticatedImage(imageUrl, refreshKey, config) {
2196
2180
  const [isLoading, setIsLoading] = useState19(false);
2197
2181
  const [error, setError] = useState19(null);
2198
2182
  const currentCacheKeyRef = useRef10(null);
2199
- useEffect18(() => {
2183
+ useEffect17(() => {
2200
2184
  if (!imageUrl) {
2201
2185
  setFetchedImageUrl(void 0);
2202
2186
  setIsLoading(false);
@@ -2307,7 +2291,7 @@ function useAuthenticatedImage(imageUrl, refreshKey, config) {
2307
2291
  });
2308
2292
  pendingRequests.set(cacheKey, fetchPromise2);
2309
2293
  }, [imageUrl, refreshKey, config]);
2310
- useEffect18(() => {
2294
+ useEffect17(() => {
2311
2295
  return () => {
2312
2296
  if (currentCacheKeyRef.current) {
2313
2297
  const entry = imageCache.get(currentCacheKeyRef.current);
@@ -2322,7 +2306,7 @@ function useAuthenticatedImage(imageUrl, refreshKey, config) {
2322
2306
 
2323
2307
  // src/hooks/state/use-query-params.ts
2324
2308
  init_next_navigation();
2325
- import { useEffect as useEffect19, useState as useState20, useMemo as useMemo3, useCallback as useCallback11 } from "react";
2309
+ import { useEffect as useEffect18, useState as useState20, useMemo as useMemo3, useCallback as useCallback11 } from "react";
2326
2310
 
2327
2311
  // src/hooks/state/graphql-parser.ts
2328
2312
  import {
@@ -2791,7 +2775,7 @@ function useQueryParams(query, options = {}) {
2791
2775
  const defaultValues = options.defaultValues || {};
2792
2776
  const skipIntrospection = options.skipIntrospection || false;
2793
2777
  const debug = options.debug || false;
2794
- useEffect19(() => {
2778
+ useEffect18(() => {
2795
2779
  async function initialize() {
2796
2780
  try {
2797
2781
  if (debug) console.log("[useQueryParams] Initializing...");
@@ -3138,7 +3122,7 @@ function createSearchParams(params) {
3138
3122
  }
3139
3123
 
3140
3124
  // src/hooks/state/use-cursor-pagination-state.ts
3141
- import { useCallback as useCallback13, useEffect as useEffect20, useRef as useRef12, useState as useState21 } from "react";
3125
+ import { useCallback as useCallback13, useEffect as useEffect19, useRef as useRef12, useState as useState21 } from "react";
3142
3126
  var urlSchema = {
3143
3127
  search: { type: "string", default: "" },
3144
3128
  cursor: { type: "string", default: "" }
@@ -3155,7 +3139,7 @@ function useCursorPaginationState(options) {
3155
3139
  const lastSearchRef = useRef12(null);
3156
3140
  const isSyncingFromUrl = useRef12(false);
3157
3141
  const isInitialLoadInProgress = useRef12(true);
3158
- useEffect20(() => {
3142
+ useEffect19(() => {
3159
3143
  if (isInitialLoadInProgress.current) return;
3160
3144
  const urlSearch = params.search || "";
3161
3145
  if (urlSearch !== searchInput) {
@@ -3166,7 +3150,7 @@ function useCursorPaginationState(options) {
3166
3150
  }, 0);
3167
3151
  }
3168
3152
  }, [params.search, initialLoadCount]);
3169
- useEffect20(() => {
3153
+ useEffect19(() => {
3170
3154
  if (isInitialLoadInProgress.current) return;
3171
3155
  if (isSyncingFromUrl.current) return;
3172
3156
  if (searchInput !== params.search) {
@@ -3177,7 +3161,7 @@ function useCursorPaginationState(options) {
3177
3161
  });
3178
3162
  }
3179
3163
  }, [searchInput, params.search, setParams, initialLoadCount]);
3180
- useEffect20(() => {
3164
+ useEffect19(() => {
3181
3165
  if (initialLoadCount === 0) {
3182
3166
  const cursor = params.cursor || null;
3183
3167
  const search = params.search || "";
@@ -3191,7 +3175,7 @@ function useCursorPaginationState(options) {
3191
3175
  });
3192
3176
  }
3193
3177
  }, []);
3194
- useEffect20(() => {
3178
+ useEffect19(() => {
3195
3179
  if (isInitialLoadInProgress.current) return;
3196
3180
  if (initialLoadCount === 0) return;
3197
3181
  const currentSearch = params.search || "";
@@ -3231,7 +3215,7 @@ function useCursorPaginationState(options) {
3231
3215
  }
3232
3216
 
3233
3217
  // src/hooks/nats/use-nats-client.ts
3234
- import { useEffect as useEffect21, useMemo as useMemo5, useState as useState22 } from "react";
3218
+ import { useEffect as useEffect20, useMemo as useMemo5, useState as useState22 } from "react";
3235
3219
  function useNatsClient(clientOptions, options = {}) {
3236
3220
  const { autoConnect = true } = options;
3237
3221
  const client = useMemo5(() => {
@@ -3240,7 +3224,7 @@ function useNatsClient(clientOptions, options = {}) {
3240
3224
  }, [clientOptions]);
3241
3225
  const [status, setStatus] = useState22("disconnected");
3242
3226
  const [lastError, setLastError] = useState22(null);
3243
- useEffect21(() => {
3227
+ useEffect20(() => {
3244
3228
  if (!client) {
3245
3229
  setStatus("disconnected");
3246
3230
  setLastError(null);
@@ -3271,22 +3255,16 @@ function useNatsClient(clientOptions, options = {}) {
3271
3255
  }
3272
3256
 
3273
3257
  // src/hooks/use-near-viewport.ts
3274
- import { useEffect as useEffect22, useRef as useRef13, useState as useState23, useCallback as useCallback14 } from "react";
3258
+ import { useEffect as useEffect21, useRef as useRef13, useState as useState23, useCallback as useCallback14 } from "react";
3275
3259
  var observers = /* @__PURE__ */ new Map();
3276
3260
  var subscribers = /* @__PURE__ */ new WeakMap();
3277
- var THRESHOLD_EPSILON = 0.01;
3278
- function observerKey(rootMargin, threshold) {
3279
- return `${rootMargin}|${threshold}`;
3280
- }
3281
- function getObserverFor(rootMargin, threshold) {
3282
- const key = observerKey(rootMargin, threshold);
3283
- const existing = observers.get(key);
3261
+ function getObserverFor(rootMargin) {
3262
+ const existing = observers.get(rootMargin);
3284
3263
  if (existing) return existing;
3285
3264
  const io = new IntersectionObserver(
3286
3265
  (entries) => {
3287
3266
  entries.forEach((entry) => {
3288
3267
  if (!entry.isIntersecting) return;
3289
- if (entry.intersectionRatio < threshold - THRESHOLD_EPSILON) return;
3290
3268
  const cb = subscribers.get(entry.target);
3291
3269
  if (cb) {
3292
3270
  cb();
@@ -3295,16 +3273,15 @@ function getObserverFor(rootMargin, threshold) {
3295
3273
  }
3296
3274
  });
3297
3275
  },
3298
- { rootMargin, threshold }
3276
+ { rootMargin }
3299
3277
  );
3300
- observers.set(key, io);
3278
+ observers.set(rootMargin, io);
3301
3279
  return io;
3302
3280
  }
3303
3281
  var NEAR_VIEWPORT_ROOT_MARGIN = "500px";
3304
- function useNearViewport(rootMargin = NEAR_VIEWPORT_ROOT_MARGIN, threshold = 0) {
3282
+ function useNearViewport(rootMargin = NEAR_VIEWPORT_ROOT_MARGIN) {
3305
3283
  const [isNear, setIsNear] = useState23(false);
3306
3284
  const elRef = useRef13(null);
3307
- const key = observerKey(rootMargin, threshold);
3308
3285
  const ref = useCallback14(
3309
3286
  (node) => {
3310
3287
  const prev = elRef.current;
@@ -3312,27 +3289,27 @@ function useNearViewport(rootMargin = NEAR_VIEWPORT_ROOT_MARGIN, threshold = 0)
3312
3289
  const stillOurs = subscribers.get(prev);
3313
3290
  if (stillOurs) {
3314
3291
  subscribers.delete(prev);
3315
- observers.get(key)?.unobserve(prev);
3292
+ observers.get(rootMargin)?.unobserve(prev);
3316
3293
  }
3317
3294
  }
3318
3295
  elRef.current = node;
3319
3296
  if (!node) return;
3320
3297
  const cb = () => setIsNear(true);
3321
3298
  subscribers.set(node, cb);
3322
- getObserverFor(rootMargin, threshold).observe(node);
3299
+ getObserverFor(rootMargin).observe(node);
3323
3300
  },
3324
- [key, rootMargin, threshold]
3301
+ [rootMargin]
3325
3302
  );
3326
- useEffect22(() => {
3303
+ useEffect21(() => {
3327
3304
  return () => {
3328
3305
  const el = elRef.current;
3329
3306
  if (!el) return;
3330
3307
  if (subscribers.get(el)) {
3331
3308
  subscribers.delete(el);
3332
- observers.get(key)?.unobserve(el);
3309
+ observers.get(rootMargin)?.unobserve(el);
3333
3310
  }
3334
3311
  };
3335
- }, [key]);
3312
+ }, [rootMargin]);
3336
3313
  return { ref, isNear };
3337
3314
  }
3338
3315
 
@@ -3481,7 +3458,7 @@ function useOgPlaceholderUrl({
3481
3458
  }
3482
3459
 
3483
3460
  // src/hooks/use-scroll-to-hash.ts
3484
- import { useEffect as useEffect23 } from "react";
3461
+ import { useEffect as useEffect22 } from "react";
3485
3462
 
3486
3463
  // src/utils/scroll-into-view.ts
3487
3464
  var activeRaf = 0;
@@ -3619,7 +3596,7 @@ function navigateSamePageHash(target, options = {}) {
3619
3596
  var MAX_POLL_FRAMES = 60;
3620
3597
  function useScrollToHash(readyDep = true, options) {
3621
3598
  const headerOffset = options?.headerOffset ?? 0;
3622
- useEffect23(() => {
3599
+ useEffect22(() => {
3623
3600
  if (typeof window === "undefined") return;
3624
3601
  if (readyDep === null || readyDep === false) return;
3625
3602
  let rafId = null;
@@ -3717,7 +3694,6 @@ export {
3717
3694
  useMemoizedCallback,
3718
3695
  useNotificationPermission,
3719
3696
  useOnboardingState,
3720
- useResetOnPageHidden,
3721
3697
  useSearch,
3722
3698
  useSuppressCloneFocus,
3723
3699
  useTablePagination,
@@ -3818,4 +3794,4 @@ export {
3818
3794
  splitCsvEnv,
3819
3795
  useHumanitySignals
3820
3796
  };
3821
- //# sourceMappingURL=chunk-MK2YWJAA.js.map
3797
+ //# sourceMappingURL=chunk-BD3JBEUC.js.map