@flamingo-stack/openframe-frontend-core 0.0.410-snapshot.20260711165901 → 0.0.410

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 (124) hide show
  1. package/dist/{chunk-SOLI7V4I.js → chunk-5HOII3WB.js} +4 -4
  2. package/dist/{chunk-4FNDOTW2.js → chunk-7Q52HP45.js} +77 -139
  3. package/dist/chunk-7Q52HP45.js.map +1 -0
  4. package/dist/{chunk-ZZWFS7CD.cjs → chunk-A3RW7M6B.cjs} +29 -29
  5. package/dist/{chunk-ZZWFS7CD.cjs.map → chunk-A3RW7M6B.cjs.map} +1 -1
  6. package/dist/{chunk-G2G7HLEM.cjs → chunk-CUN4CJUN.cjs} +3 -3
  7. package/dist/{chunk-G2G7HLEM.cjs.map → chunk-CUN4CJUN.cjs.map} +1 -1
  8. package/dist/{chunk-NJSBYUJZ.js → chunk-E4J5KKHH.js} +3 -3
  9. package/dist/{chunk-VTTPNZX3.cjs → chunk-F4KE5AZO.cjs} +40 -40
  10. package/dist/{chunk-VTTPNZX3.cjs.map → chunk-F4KE5AZO.cjs.map} +1 -1
  11. package/dist/{chunk-B2BERJ4M.js → chunk-IK5AR6QG.js} +6 -6
  12. package/dist/{chunk-YVJ2XBFU.js → chunk-IVM47EGI.js} +398 -389
  13. package/dist/chunk-IVM47EGI.js.map +1 -0
  14. package/dist/{chunk-MHNBDSWH.js → chunk-J6M2G6TD.js} +6 -6
  15. package/dist/{chunk-BRHCGXOH.cjs → chunk-KPGKNUJF.cjs} +40 -40
  16. package/dist/{chunk-BRHCGXOH.cjs.map → chunk-KPGKNUJF.cjs.map} +1 -1
  17. package/dist/{chunk-XVPWVG6N.cjs → chunk-KRLBVBYU.cjs} +18 -18
  18. package/dist/{chunk-XVPWVG6N.cjs.map → chunk-KRLBVBYU.cjs.map} +1 -1
  19. package/dist/{chunk-XBC5AES6.js → chunk-KZPVN7AZ.js} +2 -2
  20. package/dist/{chunk-HXRULNWA.js → chunk-L6OPVKVR.js} +5 -5
  21. package/dist/{chunk-FXZO4EKN.js → chunk-LQWYXIKB.js} +5 -5
  22. package/dist/{chunk-H4ISMWHG.cjs → chunk-NEMUCNCG.cjs} +73 -73
  23. package/dist/{chunk-H4ISMWHG.cjs.map → chunk-NEMUCNCG.cjs.map} +1 -1
  24. package/dist/{chunk-DGIF3YDV.js → chunk-NO2KT42M.js} +2 -2
  25. package/dist/{chunk-6AB36PRE.js → chunk-O5W26SCL.js} +2 -2
  26. package/dist/{chunk-3U4IZF7H.cjs → chunk-RL344I7V.cjs} +7 -7
  27. package/dist/{chunk-3U4IZF7H.cjs.map → chunk-RL344I7V.cjs.map} +1 -1
  28. package/dist/{chunk-MF5CVIAC.cjs → chunk-RPGFIUN3.cjs} +32 -32
  29. package/dist/{chunk-MF5CVIAC.cjs.map → chunk-RPGFIUN3.cjs.map} +1 -1
  30. package/dist/{chunk-BKYV2ALJ.cjs → chunk-SOALFYU6.cjs} +591 -582
  31. package/dist/chunk-SOALFYU6.cjs.map +1 -0
  32. package/dist/{chunk-3SNDISEN.cjs → chunk-STGWQFYT.cjs} +30 -92
  33. package/dist/chunk-STGWQFYT.cjs.map +1 -0
  34. package/dist/{chunk-VXM2GCKS.cjs → chunk-T6ZUBXPA.cjs} +12 -12
  35. package/dist/{chunk-VXM2GCKS.cjs.map → chunk-T6ZUBXPA.cjs.map} +1 -1
  36. package/dist/{chunk-SMLAYAIW.cjs → chunk-V3EZQWHQ.cjs} +5 -5
  37. package/dist/{chunk-SMLAYAIW.cjs.map → chunk-V3EZQWHQ.cjs.map} +1 -1
  38. package/dist/{chunk-Z4RKJOFH.js → chunk-VUW4G6SU.js} +3 -3
  39. package/dist/{chunk-SZ27SV6T.cjs → chunk-WGOATV3P.cjs} +73 -73
  40. package/dist/{chunk-SZ27SV6T.cjs.map → chunk-WGOATV3P.cjs.map} +1 -1
  41. package/dist/{chunk-RALT6D4H.cjs → chunk-YRKPMYI3.cjs} +15 -15
  42. package/dist/{chunk-RALT6D4H.cjs.map → chunk-YRKPMYI3.cjs.map} +1 -1
  43. package/dist/{chunk-TYCWPT33.js → chunk-ZF5O3KUQ.js} +3 -3
  44. package/dist/{chunk-SAJM3PDE.js → chunk-ZMFQWMM7.js} +2 -2
  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/index.cjs +3 -3
  48. package/dist/components/chat/index.js +2 -2
  49. package/dist/components/contact/index.cjs +4 -4
  50. package/dist/components/contact/index.js +3 -3
  51. package/dist/components/docs/index.cjs +6 -6
  52. package/dist/components/docs/index.js +5 -5
  53. package/dist/components/embeds/index.cjs +4 -4
  54. package/dist/components/embeds/index.js +3 -3
  55. package/dist/components/faq/index.cjs +5 -5
  56. package/dist/components/faq/index.js +4 -4
  57. package/dist/components/features/index.cjs +3 -3
  58. package/dist/components/features/index.js +2 -2
  59. package/dist/components/help-center-pages/index.cjs +22 -22
  60. package/dist/components/help-center-pages/index.js +13 -13
  61. package/dist/components/index.cjs +134 -136
  62. package/dist/components/index.cjs.map +1 -1
  63. package/dist/components/index.js +11 -13
  64. package/dist/components/index.js.map +1 -1
  65. package/dist/components/navigation/header.d.ts.map +1 -1
  66. package/dist/components/navigation/index.cjs +3 -5
  67. package/dist/components/navigation/index.cjs.map +1 -1
  68. package/dist/components/navigation/index.d.ts +1 -1
  69. package/dist/components/navigation/index.d.ts.map +1 -1
  70. package/dist/components/navigation/index.js +2 -4
  71. package/dist/components/navigation/mobile-burger-menu.d.ts.map +1 -1
  72. package/dist/components/navigation/mobile-nav-panel.d.ts +0 -2
  73. package/dist/components/navigation/mobile-nav-panel.d.ts.map +1 -1
  74. package/dist/components/navigation/sliding-sidebar.d.ts.map +1 -1
  75. package/dist/components/onboarding-guides/index.cjs +7 -7
  76. package/dist/components/onboarding-guides/index.js +6 -6
  77. package/dist/components/related-content/index.cjs +5 -5
  78. package/dist/components/related-content/index.js +4 -4
  79. package/dist/components/tickets/index.cjs +6 -6
  80. package/dist/components/tickets/index.js +5 -5
  81. package/dist/components/ui/index.cjs +3 -3
  82. package/dist/components/ui/index.js +2 -2
  83. package/dist/components/ui/modal-v2.d.ts.map +1 -1
  84. package/dist/components/ui/modal.d.ts.map +1 -1
  85. package/dist/hooks/index.cjs +2 -6
  86. package/dist/hooks/index.cjs.map +1 -1
  87. package/dist/hooks/index.js +1 -5
  88. package/dist/hooks/ui/index.d.ts +0 -2
  89. package/dist/hooks/ui/index.d.ts.map +1 -1
  90. package/dist/hooks/ui/use-header-height.d.ts +1 -10
  91. package/dist/hooks/ui/use-header-height.d.ts.map +1 -1
  92. package/dist/index.cjs +3 -9
  93. package/dist/index.cjs.map +1 -1
  94. package/dist/index.js +2 -8
  95. package/package.json +1 -1
  96. package/src/components/navigation/header.tsx +0 -5
  97. package/src/components/navigation/index.ts +1 -1
  98. package/src/components/navigation/mobile-burger-menu.tsx +29 -16
  99. package/src/components/navigation/mobile-nav-panel.tsx +35 -32
  100. package/src/components/navigation/sliding-sidebar.tsx +9 -29
  101. package/src/components/ui/modal-v2.tsx +6 -7
  102. package/src/components/ui/modal.tsx +9 -7
  103. package/src/hooks/ui/index.ts +0 -6
  104. package/src/hooks/ui/use-header-height.ts +2 -17
  105. package/dist/chunk-3SNDISEN.cjs.map +0 -1
  106. package/dist/chunk-4FNDOTW2.js.map +0 -1
  107. package/dist/chunk-BKYV2ALJ.cjs.map +0 -1
  108. package/dist/chunk-YVJ2XBFU.js.map +0 -1
  109. package/dist/hooks/ui/use-focus-trap.d.ts +0 -32
  110. package/dist/hooks/ui/use-focus-trap.d.ts.map +0 -1
  111. package/src/hooks/ui/use-focus-trap.ts +0 -110
  112. package/src/stories/MobileNavPanel.stories.tsx +0 -150
  113. /package/dist/{chunk-SOLI7V4I.js.map → chunk-5HOII3WB.js.map} +0 -0
  114. /package/dist/{chunk-NJSBYUJZ.js.map → chunk-E4J5KKHH.js.map} +0 -0
  115. /package/dist/{chunk-B2BERJ4M.js.map → chunk-IK5AR6QG.js.map} +0 -0
  116. /package/dist/{chunk-MHNBDSWH.js.map → chunk-J6M2G6TD.js.map} +0 -0
  117. /package/dist/{chunk-XBC5AES6.js.map → chunk-KZPVN7AZ.js.map} +0 -0
  118. /package/dist/{chunk-HXRULNWA.js.map → chunk-L6OPVKVR.js.map} +0 -0
  119. /package/dist/{chunk-FXZO4EKN.js.map → chunk-LQWYXIKB.js.map} +0 -0
  120. /package/dist/{chunk-DGIF3YDV.js.map → chunk-NO2KT42M.js.map} +0 -0
  121. /package/dist/{chunk-6AB36PRE.js.map → chunk-O5W26SCL.js.map} +0 -0
  122. /package/dist/{chunk-Z4RKJOFH.js.map → chunk-VUW4G6SU.js.map} +0 -0
  123. /package/dist/{chunk-TYCWPT33.js.map → chunk-ZF5O3KUQ.js.map} +0 -0
  124. /package/dist/{chunk-SAJM3PDE.js.map → chunk-ZMFQWMM7.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  useSelfFetch
4
- } from "./chunk-DGIF3YDV.js";
4
+ } from "./chunk-NO2KT42M.js";
5
5
  import {
6
6
  PageLayout,
7
7
  PageShell,
@@ -11,12 +11,12 @@ import {
11
11
  faqSectionSlug,
12
12
  parseFaqHash,
13
13
  serializeJsonLd
14
- } from "./chunk-YVJ2XBFU.js";
14
+ } from "./chunk-IVM47EGI.js";
15
15
  import {
16
16
  STICKY_HEADER_OFFSET_PX,
17
17
  navigateSamePageHash,
18
18
  useScrollToHash
19
- } from "./chunk-4FNDOTW2.js";
19
+ } from "./chunk-7Q52HP45.js";
20
20
  import {
21
21
  Chevron02DownIcon
22
22
  } from "./chunk-OYGFWWLQ.js";
@@ -382,4 +382,4 @@ export {
382
382
  FaqSection,
383
383
  FaqDocumentPage
384
384
  };
385
- //# sourceMappingURL=chunk-SOLI7V4I.js.map
385
+ //# sourceMappingURL=chunk-5HOII3WB.js.map
@@ -141,68 +141,11 @@ function useDeferredError(error, value, delay = 1500) {
141
141
  };
142
142
  }
143
143
 
144
- // src/hooks/ui/use-focus-trap.ts
145
- import { useEffect as useEffect4, useRef as useRef2 } from "react";
146
- var FOCUSABLE_SELECTOR = [
147
- "a[href]",
148
- "button:not([disabled])",
149
- "input:not([disabled])",
150
- "select:not([disabled])",
151
- "textarea:not([disabled])",
152
- '[tabindex]:not([tabindex="-1"])'
153
- ].join(", ");
154
- function useFocusTrap(containerRef, active, { onEscape, contain = true } = {}) {
155
- const onEscapeRef = useRef2(onEscape);
156
- onEscapeRef.current = onEscape;
157
- useEffect4(() => {
158
- if (!active) return;
159
- const container = containerRef.current;
160
- if (!container) return;
161
- const previouslyFocused = document.activeElement;
162
- const focusables = () => Array.from(container.querySelectorAll(FOCUSABLE_SELECTOR)).filter((el) => el.getClientRects().length > 0);
163
- const first = focusables()[0];
164
- (first ?? container).focus({ preventScroll: true });
165
- const handleKeyDown = (e) => {
166
- if (e.key === "Escape") {
167
- onEscapeRef.current?.();
168
- return;
169
- }
170
- if (e.key !== "Tab" || !contain) return;
171
- const items = focusables();
172
- if (items.length === 0) {
173
- e.preventDefault();
174
- container.focus({ preventScroll: true });
175
- return;
176
- }
177
- const firstEl = items[0];
178
- const lastEl = items[items.length - 1];
179
- const current = document.activeElement;
180
- if (e.shiftKey && (current === firstEl || current === container)) {
181
- e.preventDefault();
182
- lastEl.focus({ preventScroll: true });
183
- } else if (!e.shiftKey && current === lastEl) {
184
- e.preventDefault();
185
- firstEl.focus({ preventScroll: true });
186
- }
187
- };
188
- container.addEventListener("keydown", handleKeyDown);
189
- return () => {
190
- container.removeEventListener("keydown", handleKeyDown);
191
- const current = document.activeElement;
192
- if (previouslyFocused && previouslyFocused.isConnected && (current === null || current === document.body || container.contains(current))) {
193
- previouslyFocused.focus({ preventScroll: true });
194
- }
195
- };
196
- }, [containerRef, active, contain]);
197
- }
198
-
199
144
  // src/hooks/ui/use-header-height.ts
200
- import { useEffect as useEffect5, useState as useState4 } from "react";
201
- function useHeaderHeight(defaultHeight = 64, options = {}) {
202
- const { enabled = true } = options;
145
+ import { useEffect as useEffect4, useState as useState4 } from "react";
146
+ function useHeaderHeight(defaultHeight = 64) {
203
147
  const [height, setHeight] = useState4(defaultHeight);
204
- useEffect5(() => {
205
- if (!enabled) return;
148
+ useEffect4(() => {
206
149
  const measure = () => {
207
150
  let total = 0;
208
151
  const header2 = document.querySelector("header");
@@ -236,26 +179,26 @@ function useHeaderHeight(defaultHeight = 64, options = {}) {
236
179
  resizeObserver.disconnect();
237
180
  mutationObserver.disconnect();
238
181
  };
239
- }, [defaultHeight, enabled]);
182
+ }, [defaultHeight]);
240
183
  return height;
241
184
  }
242
185
 
243
186
  // src/hooks/ui/use-horizontal-scrollbar.ts
244
- import { useRef as useRef3, useState as useState5, useCallback as useCallback3 } from "react";
187
+ import { useRef as useRef2, useState as useState5, useCallback as useCallback3 } from "react";
245
188
  function useHorizontalScrollbar() {
246
- const scrollElRef = useRef3(null);
247
- const trackRef = useRef3(null);
248
- const thumbRef = useRef3(null);
249
- const roRef = useRef3(null);
250
- const moRef = useRef3(null);
189
+ const scrollElRef = useRef2(null);
190
+ const trackRef = useRef2(null);
191
+ const thumbRef = useRef2(null);
192
+ const roRef = useRef2(null);
193
+ const moRef = useRef2(null);
251
194
  const [thumbRatio, setThumbRatio] = useState5(0);
252
195
  const [canScrollLeft, setCanScrollLeft] = useState5(false);
253
196
  const [canScrollRight, setCanScrollRight] = useState5(false);
254
- const prevCanScrollLeftRef = useRef3(false);
255
- const prevCanScrollRightRef = useRef3(false);
256
- const isDraggingRef = useRef3(false);
257
- const dragStartRef = useRef3({ mouseX: 0, scrollLeft: 0 });
258
- const rafIdRef = useRef3(0);
197
+ const prevCanScrollLeftRef = useRef2(false);
198
+ const prevCanScrollRightRef = useRef2(false);
199
+ const isDraggingRef = useRef2(false);
200
+ const dragStartRef = useRef2({ mouseX: 0, scrollLeft: 0 });
201
+ const rafIdRef = useRef2(0);
259
202
  const syncThumbToDOM = useCallback3(() => {
260
203
  const el = scrollElRef.current;
261
204
  const thumb = thumbRef.current;
@@ -433,7 +376,7 @@ function useHorizontalScrollbar() {
433
376
  }
434
377
 
435
378
  // src/hooks/ui/use-image-edge-color.ts
436
- import { useState as useState6, useEffect as useEffect6 } from "react";
379
+ import { useState as useState6, useEffect as useEffect5 } from "react";
437
380
  function extractEdgeColor(img) {
438
381
  const canvas = document.createElement("canvas");
439
382
  const ctx = canvas.getContext("2d");
@@ -490,7 +433,7 @@ function extractEdgeColor(img) {
490
433
  }
491
434
  function useImageEdgeColor(imageUrl, fallback = "#000000") {
492
435
  const [color, setColor] = useState6(fallback);
493
- useEffect6(() => {
436
+ useEffect5(() => {
494
437
  if (!imageUrl) {
495
438
  setColor(fallback);
496
439
  return;
@@ -519,7 +462,7 @@ function useImageEdgeColor(imageUrl, fallback = "#000000") {
519
462
  }
520
463
 
521
464
  // src/hooks/ui/use-local-storage.ts
522
- import { useEffect as useEffect7, useRef as useRef4, useState as useState7 } from "react";
465
+ import { useEffect as useEffect6, useRef as useRef3, useState as useState7 } from "react";
523
466
  function useLocalStorage(key, initialValue) {
524
467
  const [storedValue, setStoredValue] = useState7(() => {
525
468
  try {
@@ -532,9 +475,9 @@ function useLocalStorage(key, initialValue) {
532
475
  }
533
476
  return initialValue;
534
477
  });
535
- const isInitialized = useRef4(true);
536
- const isFromStorageEvent = useRef4(false);
537
- useEffect7(() => {
478
+ const isInitialized = useRef3(true);
479
+ const isFromStorageEvent = useRef3(false);
480
+ useEffect6(() => {
538
481
  if (!isInitialized.current) return;
539
482
  const handleStorageChange = (e) => {
540
483
  if (e.key === key && e.newValue !== null) {
@@ -573,7 +516,7 @@ function useLocalStorage(key, initialValue) {
573
516
  window.removeEventListener("localStorageUpdate", handleCustomStorageUpdate);
574
517
  };
575
518
  }, [key]);
576
- useEffect7(() => {
519
+ useEffect6(() => {
577
520
  if (!isInitialized.current) return;
578
521
  if (isFromStorageEvent.current) {
579
522
  isFromStorageEvent.current = false;
@@ -634,10 +577,10 @@ function useLgUp() {
634
577
  }
635
578
 
636
579
  // src/hooks/ui/use-memoized-callback.ts
637
- import { useCallback as useCallback4, useRef as useRef5 } from "react";
580
+ import { useCallback as useCallback4, useRef as useRef4 } from "react";
638
581
  function useMemoizedCallback(callback, dependencies) {
639
- const callbackRef = useRef5(callback);
640
- const dependenciesRef = useRef5(dependencies);
582
+ const callbackRef = useRef4(callback);
583
+ const dependenciesRef = useRef4(dependencies);
641
584
  callbackRef.current = callback;
642
585
  const depsChanged = dependencies.some((dep, i) => !Object.is(dep, dependenciesRef.current[i]));
643
586
  if (depsChanged) {
@@ -647,11 +590,11 @@ function useMemoizedCallback(callback, dependencies) {
647
590
  }
648
591
 
649
592
  // src/hooks/ui/use-notification-permission.ts
650
- import { useCallback as useCallback5, useEffect as useEffect8, useState as useState9 } from "react";
593
+ import { useCallback as useCallback5, useEffect as useEffect7, useState as useState9 } from "react";
651
594
  function useNotificationPermission() {
652
595
  const [supported, setSupported] = useState9(false);
653
596
  const [permission, setPermission] = useState9("default");
654
- useEffect8(() => {
597
+ useEffect7(() => {
655
598
  if (typeof window === "undefined" || !("Notification" in window)) return;
656
599
  setSupported(true);
657
600
  const sync = () => setPermission(Notification.permission);
@@ -687,7 +630,7 @@ function useNotificationPermission() {
687
630
  }
688
631
 
689
632
  // src/hooks/ui/use-onboarding-state.ts
690
- import { useState as useState10, useEffect as useEffect9, useCallback as useCallback6 } from "react";
633
+ import { useState as useState10, useEffect as useEffect8, useCallback as useCallback6 } from "react";
691
634
 
692
635
  // src/utils/onboarding-storage.ts
693
636
  var DEFAULT_STATE = {
@@ -764,7 +707,7 @@ function dismissOnboarding(key) {
764
707
  function useOnboardingState(storageKey = "openframe-onboarding-state") {
765
708
  const [state, setState] = useState10(() => loadOnboardingState(storageKey));
766
709
  const [, forceUpdate] = useState10(0);
767
- useEffect9(() => {
710
+ useEffect8(() => {
768
711
  const handleStorageUpdate = (e) => {
769
712
  if (e.detail.key === storageKey) {
770
713
  const newState = loadOnboardingState(storageKey);
@@ -825,7 +768,7 @@ function useOnboardingState(storageKey = "openframe-onboarding-state") {
825
768
  }
826
769
 
827
770
  // src/hooks/ui/use-search.ts
828
- import { useState as useState11, useEffect as useEffect10, useCallback as useCallback7 } from "react";
771
+ import { useState as useState11, useEffect as useEffect9, useCallback as useCallback7 } from "react";
829
772
  function useSearch(config) {
830
773
  const { searchFn, mapResult, debounceMs = 300, minQueryLength = 2 } = config;
831
774
  const [query, setQuery] = useState11("");
@@ -837,7 +780,7 @@ function useSearch(config) {
837
780
  setResults([]);
838
781
  setError(null);
839
782
  }, []);
840
- useEffect10(() => {
783
+ useEffect9(() => {
841
784
  if (!debouncedQuery || debouncedQuery.length < minQueryLength) {
842
785
  setResults([]);
843
786
  setIsLoading(false);
@@ -910,11 +853,11 @@ function useTablePagination(config) {
910
853
  }
911
854
 
912
855
  // src/hooks/ui/use-throttle.ts
913
- import { useState as useState12, useEffect as useEffect11, useRef as useRef6 } from "react";
856
+ import { useState as useState12, useEffect as useEffect10, useRef as useRef5 } from "react";
914
857
  function useThrottle(value, limit = 200) {
915
858
  const [throttledValue, setThrottledValue] = useState12(value);
916
- const lastUpdated = useRef6(Date.now());
917
- useEffect11(() => {
859
+ const lastUpdated = useRef5(Date.now());
860
+ useEffect10(() => {
918
861
  const now = Date.now();
919
862
  const elapsed = now - lastUpdated.current;
920
863
  if (elapsed >= limit) {
@@ -957,11 +900,8 @@ function useWindowSize() {
957
900
  return windowSize;
958
901
  }
959
902
 
960
- // src/hooks/ui/index.ts
961
- import { usePreventScroll } from "@react-aria/overlays";
962
-
963
903
  // src/hooks/platform/use-platform-config.ts
964
- import { useState as useState14, useEffect as useEffect12 } from "react";
904
+ import { useState as useState14, useEffect as useEffect11 } from "react";
965
905
 
966
906
  // src/utils/platform-config.tsx
967
907
  import { Globe } from "lucide-react";
@@ -1142,7 +1082,7 @@ function usePlatformConfig() {
1142
1082
  const [platforms, setPlatforms] = useState14(platformCache || []);
1143
1083
  const [isLoading, setIsLoading] = useState14(!platformCache);
1144
1084
  const [error, setError] = useState14(null);
1145
- useEffect12(() => {
1085
+ useEffect11(() => {
1146
1086
  if (platformCache) {
1147
1087
  setPlatforms(platformCache);
1148
1088
  setIsLoading(false);
@@ -1591,7 +1531,7 @@ var useToast = () => ({
1591
1531
  });
1592
1532
 
1593
1533
  // src/hooks/use-contact-submission.ts
1594
- import { useState as useState16, useCallback as useCallback8, useEffect as useEffect13 } from "react";
1534
+ import { useState as useState16, useCallback as useCallback8, useEffect as useEffect12 } from "react";
1595
1535
  init_next_navigation();
1596
1536
 
1597
1537
  // src/utils/local-storage-adapter.ts
@@ -1893,7 +1833,7 @@ function useContactSubmission(options = {}) {
1893
1833
  setIsSubmitting(false);
1894
1834
  }
1895
1835
  }, [isSubmitting, toast2, userId, successToastMessage, contactUrl]);
1896
- useEffect13(() => {
1836
+ useEffect12(() => {
1897
1837
  if (isSuccess && successRedirectUrl) {
1898
1838
  console.log("\u{1F680} Contact submission successful, redirecting to:", successRedirectUrl);
1899
1839
  const timer = setTimeout(() => {
@@ -1907,7 +1847,7 @@ function useContactSubmission(options = {}) {
1907
1847
  return () => clearTimeout(timer);
1908
1848
  }
1909
1849
  }, [isSuccess, successRedirectUrl, router]);
1910
- useEffect13(() => {
1850
+ useEffect12(() => {
1911
1851
  if (isSuccess && onSuccess) {
1912
1852
  onSuccess();
1913
1853
  }
@@ -1916,18 +1856,18 @@ function useContactSubmission(options = {}) {
1916
1856
  }
1917
1857
 
1918
1858
  // src/hooks/use-quick-action-hint.ts
1919
- import { useEffect as useEffect14, useState as useState17, useRef as useRef7, useCallback as useCallback9 } from "react";
1859
+ import { useEffect as useEffect13, useState as useState17, useRef as useRef6, useCallback as useCallback9 } from "react";
1920
1860
  function useQuickActionHint({
1921
1861
  actionCount,
1922
1862
  cycleDuration = 5e3,
1923
1863
  enabled = true
1924
1864
  }) {
1925
1865
  const [activeHintIndex, setActiveHintIndex] = useState17(-1);
1926
- const containerRef = useRef7(null);
1927
- const timeoutRef = useRef7(null);
1928
- const cycleCountRef = useRef7(0);
1929
- const currentIndexRef = useRef7(0);
1930
- const sequenceRef = useRef7([]);
1866
+ const containerRef = useRef6(null);
1867
+ const timeoutRef = useRef6(null);
1868
+ const cycleCountRef = useRef6(0);
1869
+ const currentIndexRef = useRef6(0);
1870
+ const sequenceRef = useRef6([]);
1931
1871
  const shuffleIndices = useCallback9((length) => {
1932
1872
  const indices = Array.from({ length }, (_, i) => i);
1933
1873
  for (let i = indices.length - 1; i > 0; i--) {
@@ -1959,7 +1899,7 @@ function useQuickActionHint({
1959
1899
  }
1960
1900
  timeoutRef.current = setTimeout(advanceHint, cycleDuration);
1961
1901
  }, [actionCount, cycleDuration, shuffleIndices]);
1962
- useEffect14(() => {
1902
+ useEffect13(() => {
1963
1903
  if (!enabled || actionCount === 0) {
1964
1904
  return;
1965
1905
  }
@@ -2012,7 +1952,7 @@ function useCopyToClipboard({
2012
1952
  }
2013
1953
 
2014
1954
  // src/hooks/use-batch-images.ts
2015
- import { useEffect as useEffect15, useMemo as useMemo2, useState as useState19, useRef as useRef8 } from "react";
1955
+ import { useEffect as useEffect14, useMemo as useMemo2, useState as useState19, useRef as useRef7 } from "react";
2016
1956
  var globalBatchImageConfig = {};
2017
1957
  function configureBatchImageFetch(config) {
2018
1958
  globalBatchImageConfig = { ...globalBatchImageConfig, ...config };
@@ -2091,8 +2031,8 @@ function useBatchImages(imageUrls, config) {
2091
2031
  () => Array.from(new Set(imageUrls.filter((url) => Boolean(url)))),
2092
2032
  [imageUrls]
2093
2033
  );
2094
- const requestedUrls = useRef8(/* @__PURE__ */ new Set());
2095
- useEffect15(() => {
2034
+ const requestedUrls = useRef7(/* @__PURE__ */ new Set());
2035
+ useEffect14(() => {
2096
2036
  if (uniqueUrls.length === 0) {
2097
2037
  setFetchedImages({});
2098
2038
  return;
@@ -2122,7 +2062,7 @@ function useBatchImages(imageUrls, config) {
2122
2062
  }
2123
2063
 
2124
2064
  // src/hooks/use-authenticated-image.ts
2125
- import { useEffect as useEffect16, useState as useState20, useRef as useRef9 } from "react";
2065
+ import { useEffect as useEffect15, useState as useState20, useRef as useRef8 } from "react";
2126
2066
  var globalImageConfig = {};
2127
2067
  var imageCache = /* @__PURE__ */ new Map();
2128
2068
  var pendingRequests = /* @__PURE__ */ new Map();
@@ -2154,8 +2094,8 @@ function useAuthenticatedImage(imageUrl, refreshKey, config) {
2154
2094
  const [fetchedImageUrl, setFetchedImageUrl] = useState20();
2155
2095
  const [isLoading, setIsLoading] = useState20(false);
2156
2096
  const [error, setError] = useState20(null);
2157
- const currentCacheKeyRef = useRef9(null);
2158
- useEffect16(() => {
2097
+ const currentCacheKeyRef = useRef8(null);
2098
+ useEffect15(() => {
2159
2099
  if (!imageUrl) {
2160
2100
  setFetchedImageUrl(void 0);
2161
2101
  setIsLoading(false);
@@ -2266,7 +2206,7 @@ function useAuthenticatedImage(imageUrl, refreshKey, config) {
2266
2206
  });
2267
2207
  pendingRequests.set(cacheKey, fetchPromise2);
2268
2208
  }, [imageUrl, refreshKey, config]);
2269
- useEffect16(() => {
2209
+ useEffect15(() => {
2270
2210
  return () => {
2271
2211
  if (currentCacheKeyRef.current) {
2272
2212
  const entry = imageCache.get(currentCacheKeyRef.current);
@@ -2281,7 +2221,7 @@ function useAuthenticatedImage(imageUrl, refreshKey, config) {
2281
2221
 
2282
2222
  // src/hooks/state/use-query-params.ts
2283
2223
  init_next_navigation();
2284
- import { useEffect as useEffect17, useState as useState21, useMemo as useMemo3, useCallback as useCallback11 } from "react";
2224
+ import { useEffect as useEffect16, useState as useState21, useMemo as useMemo3, useCallback as useCallback11 } from "react";
2285
2225
 
2286
2226
  // src/hooks/state/graphql-parser.ts
2287
2227
  import {
@@ -2750,7 +2690,7 @@ function useQueryParams(query, options = {}) {
2750
2690
  const defaultValues = options.defaultValues || {};
2751
2691
  const skipIntrospection = options.skipIntrospection || false;
2752
2692
  const debug = options.debug || false;
2753
- useEffect17(() => {
2693
+ useEffect16(() => {
2754
2694
  async function initialize() {
2755
2695
  try {
2756
2696
  if (debug) console.log("[useQueryParams] Initializing...");
@@ -2902,9 +2842,9 @@ function applyParamMapping(schema, mapping) {
2902
2842
 
2903
2843
  // src/hooks/state/use-api-params.ts
2904
2844
  init_next_navigation();
2905
- import { useCallback as useCallback12, useMemo as useMemo4, useRef as useRef10 } from "react";
2845
+ import { useCallback as useCallback12, useMemo as useMemo4, useRef as useRef9 } from "react";
2906
2846
  function useContentStable(value, key) {
2907
- const ref = useRef10(void 0);
2847
+ const ref = useRef9(void 0);
2908
2848
  if (ref.current && ref.current.key === key) return ref.current.value;
2909
2849
  ref.current = { value, key };
2910
2850
  return value;
@@ -2937,7 +2877,7 @@ function useApiParams(schema, options = {}) {
2937
2877
  }
2938
2878
  return flattened;
2939
2879
  }, [schemaKey]);
2940
- const prevParamsRef = useRef10(void 0);
2880
+ const prevParamsRef = useRef9(void 0);
2941
2881
  const params = useMemo4(() => {
2942
2882
  const sp = new URLSearchParams(searchString);
2943
2883
  const result = {};
@@ -3097,7 +3037,7 @@ function createSearchParams(params) {
3097
3037
  }
3098
3038
 
3099
3039
  // src/hooks/state/use-cursor-pagination-state.ts
3100
- import { useCallback as useCallback13, useEffect as useEffect18, useRef as useRef11, useState as useState22 } from "react";
3040
+ import { useCallback as useCallback13, useEffect as useEffect17, useRef as useRef10, useState as useState22 } from "react";
3101
3041
  var urlSchema = {
3102
3042
  search: { type: "string", default: "" },
3103
3043
  cursor: { type: "string", default: "" }
@@ -3111,10 +3051,10 @@ function useCursorPaginationState(options) {
3111
3051
  const [searchInput, setSearchInput] = useState22(params.search || "");
3112
3052
  const [hasLoadedBeyondFirst, setHasLoadedBeyondFirst] = useState22(false);
3113
3053
  const [initialLoadCount, setInitialLoadCount] = useState22(0);
3114
- const lastSearchRef = useRef11(null);
3115
- const isSyncingFromUrl = useRef11(false);
3116
- const isInitialLoadInProgress = useRef11(true);
3117
- useEffect18(() => {
3054
+ const lastSearchRef = useRef10(null);
3055
+ const isSyncingFromUrl = useRef10(false);
3056
+ const isInitialLoadInProgress = useRef10(true);
3057
+ useEffect17(() => {
3118
3058
  if (isInitialLoadInProgress.current) return;
3119
3059
  const urlSearch = params.search || "";
3120
3060
  if (urlSearch !== searchInput) {
@@ -3125,7 +3065,7 @@ function useCursorPaginationState(options) {
3125
3065
  }, 0);
3126
3066
  }
3127
3067
  }, [params.search, initialLoadCount]);
3128
- useEffect18(() => {
3068
+ useEffect17(() => {
3129
3069
  if (isInitialLoadInProgress.current) return;
3130
3070
  if (isSyncingFromUrl.current) return;
3131
3071
  if (searchInput !== params.search) {
@@ -3136,7 +3076,7 @@ function useCursorPaginationState(options) {
3136
3076
  });
3137
3077
  }
3138
3078
  }, [searchInput, params.search, setParams, initialLoadCount]);
3139
- useEffect18(() => {
3079
+ useEffect17(() => {
3140
3080
  if (initialLoadCount === 0) {
3141
3081
  const cursor = params.cursor || null;
3142
3082
  const search = params.search || "";
@@ -3150,7 +3090,7 @@ function useCursorPaginationState(options) {
3150
3090
  });
3151
3091
  }
3152
3092
  }, []);
3153
- useEffect18(() => {
3093
+ useEffect17(() => {
3154
3094
  if (isInitialLoadInProgress.current) return;
3155
3095
  if (initialLoadCount === 0) return;
3156
3096
  const currentSearch = params.search || "";
@@ -3190,7 +3130,7 @@ function useCursorPaginationState(options) {
3190
3130
  }
3191
3131
 
3192
3132
  // src/hooks/nats/use-nats-client.ts
3193
- import { useEffect as useEffect19, useMemo as useMemo5, useState as useState23 } from "react";
3133
+ import { useEffect as useEffect18, useMemo as useMemo5, useState as useState23 } from "react";
3194
3134
  function useNatsClient(clientOptions, options = {}) {
3195
3135
  const { autoConnect = true } = options;
3196
3136
  const client = useMemo5(() => {
@@ -3199,7 +3139,7 @@ function useNatsClient(clientOptions, options = {}) {
3199
3139
  }, [clientOptions]);
3200
3140
  const [status, setStatus] = useState23("disconnected");
3201
3141
  const [lastError, setLastError] = useState23(null);
3202
- useEffect19(() => {
3142
+ useEffect18(() => {
3203
3143
  if (!client) {
3204
3144
  setStatus("disconnected");
3205
3145
  setLastError(null);
@@ -3230,7 +3170,7 @@ function useNatsClient(clientOptions, options = {}) {
3230
3170
  }
3231
3171
 
3232
3172
  // src/hooks/use-near-viewport.ts
3233
- import { useEffect as useEffect20, useRef as useRef12, useState as useState24, useCallback as useCallback14 } from "react";
3173
+ import { useEffect as useEffect19, useRef as useRef11, useState as useState24, useCallback as useCallback14 } from "react";
3234
3174
  var observers = /* @__PURE__ */ new Map();
3235
3175
  var subscribers = /* @__PURE__ */ new WeakMap();
3236
3176
  function getObserverFor(rootMargin) {
@@ -3255,7 +3195,7 @@ function getObserverFor(rootMargin) {
3255
3195
  }
3256
3196
  function useNearViewport(rootMargin = "500px") {
3257
3197
  const [isNear, setIsNear] = useState24(false);
3258
- const elRef = useRef12(null);
3198
+ const elRef = useRef11(null);
3259
3199
  const ref = useCallback14(
3260
3200
  (node) => {
3261
3201
  const prev = elRef.current;
@@ -3274,7 +3214,7 @@ function useNearViewport(rootMargin = "500px") {
3274
3214
  },
3275
3215
  [rootMargin]
3276
3216
  );
3277
- useEffect20(() => {
3217
+ useEffect19(() => {
3278
3218
  return () => {
3279
3219
  const el = elRef.current;
3280
3220
  if (!el) return;
@@ -3432,7 +3372,7 @@ function useOgPlaceholderUrl({
3432
3372
  }
3433
3373
 
3434
3374
  // src/hooks/use-scroll-to-hash.ts
3435
- import { useEffect as useEffect21 } from "react";
3375
+ import { useEffect as useEffect20 } from "react";
3436
3376
 
3437
3377
  // src/utils/scroll-into-view.ts
3438
3378
  var activeRaf = 0;
@@ -3570,7 +3510,7 @@ function navigateSamePageHash(target, options = {}) {
3570
3510
  var MAX_POLL_FRAMES = 60;
3571
3511
  function useScrollToHash(readyDep = true, options) {
3572
3512
  const headerOffset = options?.headerOffset ?? 0;
3573
- useEffect21(() => {
3513
+ useEffect20(() => {
3574
3514
  if (typeof window === "undefined") return;
3575
3515
  if (readyDep === null || readyDep === false) return;
3576
3516
  let rafId = null;
@@ -3610,7 +3550,7 @@ function useScrollToHash(readyDep = true, options) {
3610
3550
  }
3611
3551
 
3612
3552
  // src/hooks/use-humanity-signals.ts
3613
- import { useCallback as useCallback15, useRef as useRef13 } from "react";
3553
+ import { useCallback as useCallback15, useRef as useRef12 } from "react";
3614
3554
 
3615
3555
  // src/utils/humanity-signals.ts
3616
3556
  var HONEYPOT_FIELD = "contact_url_confirm";
@@ -3634,8 +3574,8 @@ var splitCsvEnv = (s) => s?.split(",").map((t) => t.trim()).filter(Boolean) ?? [
3634
3574
 
3635
3575
  // src/hooks/use-humanity-signals.ts
3636
3576
  function useHumanitySignals() {
3637
- const ref = useRef13(null);
3638
- const mountedAt = useRef13(typeof performance !== "undefined" ? performance.now() : 0);
3577
+ const ref = useRef12(null);
3578
+ const mountedAt = useRef12(typeof performance !== "undefined" ? performance.now() : 0);
3639
3579
  const getSignals = useCallback15(
3640
3580
  () => ({
3641
3581
  [HONEYPOT_FIELD]: ref.current?.value ?? "",
@@ -3654,7 +3594,6 @@ export {
3654
3594
  useAutoLimitTags,
3655
3595
  useDebounce,
3656
3596
  useDeferredError,
3657
- useFocusTrap,
3658
3597
  useHeaderHeight,
3659
3598
  useHorizontalScrollbar,
3660
3599
  useImageEdgeColor,
@@ -3671,7 +3610,6 @@ export {
3671
3610
  useTablePagination,
3672
3611
  useThrottle,
3673
3612
  useWindowSize,
3674
- usePreventScroll,
3675
3613
  platformIcons,
3676
3614
  platformColors,
3677
3615
  platformDisplayNames,
@@ -3766,4 +3704,4 @@ export {
3766
3704
  splitCsvEnv,
3767
3705
  useHumanitySignals
3768
3706
  };
3769
- //# sourceMappingURL=chunk-4FNDOTW2.js.map
3707
+ //# sourceMappingURL=chunk-7Q52HP45.js.map