@flamingo-stack/openframe-frontend-core 0.0.731 → 0.0.732

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 (132) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-2UNQJVYN.cjs → chunk-22ZK7BA3.cjs} +1221 -1006
  3. package/dist/{chunk-Y4QRK3CB.cjs → chunk-3BLBWZ6A.cjs} +4 -4
  4. package/dist/{chunk-ZV6473Z4.cjs → chunk-5HMGK3N6.cjs} +18 -18
  5. package/dist/{chunk-HI7EFAFQ.cjs → chunk-5HSMTSHU.cjs} +28 -28
  6. package/dist/{chunk-XDBHGWFH.cjs → chunk-6HHUU56Y.cjs} +16 -16
  7. package/dist/{chunk-A4HNF4MP.cjs → chunk-6KDGIOLP.cjs} +80 -80
  8. package/dist/chunk-AEVGCB3Y.cjs +417 -0
  9. package/dist/{chunk-CLILWI6O.cjs → chunk-BDTX2OEE.cjs} +32 -32
  10. package/dist/{chunk-YDGBRI3Y.cjs → chunk-BS4EZZCN.cjs} +13 -13
  11. package/dist/{chunk-JPZ4Y6X3.cjs → chunk-C5NERNE6.cjs} +89 -89
  12. package/dist/{chunk-YUXRIR45.cjs → chunk-CC3LINHF.cjs} +95 -47
  13. package/dist/{chunk-53XZ6MJ5.cjs → chunk-CUF3IYIB.cjs} +28 -28
  14. package/dist/{chunk-FKKUQK4C.cjs → chunk-G37LT2ID.cjs} +5 -1
  15. package/dist/chunk-HELVKMRG.cjs +28 -0
  16. package/dist/{chunk-HEOD765R.cjs → chunk-HH4BMYDX.cjs} +23 -370
  17. package/dist/{chunk-4YPV4OI4.cjs → chunk-I46MQ4R5.cjs} +80 -80
  18. package/dist/{chunk-RAHRDJBP.cjs → chunk-MEDDKM3A.cjs} +2 -2
  19. package/dist/{chunk-3SWLL4IM.cjs → chunk-MVZ6XFPK.cjs} +6 -6
  20. package/dist/{chunk-TH4N726A.cjs → chunk-N466AJGN.cjs} +17 -17
  21. package/dist/{chunk-QP6QS3YU.cjs → chunk-OI7VCXYU.cjs} +48 -50
  22. package/dist/{chunk-25H2SZH7.cjs → chunk-OJ3XU3YZ.cjs} +4 -4
  23. package/dist/{chunk-JK75ZZP3.cjs → chunk-PRWBVIWW.cjs} +43 -43
  24. package/dist/chunk-PX7FY655.cjs +114 -0
  25. package/dist/{chunk-HLIJ3U2T.cjs → chunk-QMTC3BK3.cjs} +13 -11
  26. package/dist/{chunk-YJFN2W7A.cjs → chunk-RIXGLS5Y.cjs} +3 -3
  27. package/dist/{chunk-BFHLGEJK.cjs → chunk-SJRR745G.cjs} +61 -58
  28. package/dist/{chunk-6V4GEE55.cjs → chunk-TLDCSTTQ.cjs} +8 -8
  29. package/dist/{chunk-RBOIGJYF.cjs → chunk-XOQ2UUVS.cjs} +4 -4
  30. package/dist/{chunk-32ENYVFA.cjs → chunk-YGKVHSNQ.cjs} +42 -42
  31. package/dist/{chunk-HY2KTQSL.cjs → chunk-ZWMPAFGB.cjs} +183 -183
  32. package/dist/{cloud-tenants-SC4FNAC2.cjs → cloud-tenants-ILRE74JY.cjs} +16 -16
  33. package/dist/components/agent-identity.d.ts +8 -0
  34. package/dist/components/agent-identity.d.ts.map +1 -1
  35. package/dist/components/agent-identity.js +13 -1
  36. package/dist/components/case-studies/index.cjs +29 -29
  37. package/dist/components/chat/index.cjs +11 -11
  38. package/dist/components/contact/index.cjs +17 -17
  39. package/dist/components/docs/index.cjs +20 -20
  40. package/dist/components/embeds/index.cjs +17 -17
  41. package/dist/components/faq/index.cjs +17 -17
  42. package/dist/components/features/index.cjs +16 -16
  43. package/dist/components/help-center-pages/index.cjs +127 -127
  44. package/dist/components/index.cjs +79 -72
  45. package/dist/components/meeting-scheduler/index.cjs +47 -47
  46. package/dist/components/navigation/index.cjs +19 -19
  47. package/dist/components/onboarding-guides/index.cjs +19 -19
  48. package/dist/components/product-demo/index.cjs +8 -8
  49. package/dist/components/product-demo/screens/remote-desktop-picture.d.ts.map +1 -1
  50. package/dist/components/product-demo/screens/remote-desktop-picture.js +2 -1
  51. package/dist/components/related-content/index.cjs +6 -6
  52. package/dist/components/tickets/index.cjs +20 -20
  53. package/dist/components/ui/device-wallpaper.d.ts +7 -0
  54. package/dist/components/ui/device-wallpaper.d.ts.map +1 -0
  55. package/dist/components/ui/device-wallpaper.js +5 -0
  56. package/dist/components/ui/feature-list.d.ts +9 -4
  57. package/dist/components/ui/feature-list.d.ts.map +1 -1
  58. package/dist/components/ui/feature-list.js +26 -35
  59. package/dist/components/ui/index.cjs +22 -16
  60. package/dist/components/ui/index.d.ts +3 -1
  61. package/dist/components/ui/index.d.ts.map +1 -1
  62. package/dist/components/ui/index.js +3 -1
  63. package/dist/components/ui/notification-stack.d.ts +33 -0
  64. package/dist/components/ui/notification-stack.d.ts.map +1 -0
  65. package/dist/components/ui/notification-stack.js +78 -0
  66. package/dist/components/ui/numbered-step.d.ts +29 -0
  67. package/dist/components/ui/numbered-step.d.ts.map +1 -0
  68. package/dist/components/ui/numbered-step.js +57 -0
  69. package/dist/components/ui/phone-frame.d.ts +14 -9
  70. package/dist/components/ui/phone-frame.d.ts.map +1 -1
  71. package/dist/components/ui/phone-frame.js +50 -6
  72. package/dist/components/ui/phone-glyphs/lock-camera-glyph.d.ts +5 -0
  73. package/dist/components/ui/phone-glyphs/lock-camera-glyph.d.ts.map +1 -0
  74. package/dist/components/ui/phone-glyphs/lock-camera-glyph.js +14 -0
  75. package/dist/components/ui/phone-glyphs/lock-flashlight-glyph.d.ts +5 -0
  76. package/dist/components/ui/phone-glyphs/lock-flashlight-glyph.d.ts.map +1 -0
  77. package/dist/components/ui/phone-glyphs/lock-flashlight-glyph.js +14 -0
  78. package/dist/components/ui/phone-glyphs/status-bar-glyphs.d.ts +5 -0
  79. package/dist/components/ui/phone-glyphs/status-bar-glyphs.d.ts.map +1 -0
  80. package/dist/components/ui/phone-glyphs/status-bar-glyphs.js +68 -0
  81. package/dist/components/ui/snap-carousel.d.ts +5 -8
  82. package/dist/components/ui/snap-carousel.d.ts.map +1 -1
  83. package/dist/components/ui/snap-carousel.js +2 -27
  84. package/dist/components/ui/tab-navigation.d.ts +8 -1
  85. package/dist/components/ui/tab-navigation.d.ts.map +1 -1
  86. package/dist/components/ui/tab-navigation.js +30 -20
  87. package/dist/{devices-7MHSJNXS.cjs → devices-A6SFNGE4.cjs} +17 -17
  88. package/dist/{embeddable-chat-VPIG3F7E.cjs → embeddable-chat-BKPYNOIM.cjs} +80 -80
  89. package/dist/hooks/index.cjs +6 -6
  90. package/dist/hooks/ui/use-autoplay.d.ts +50 -13
  91. package/dist/hooks/ui/use-autoplay.d.ts.map +1 -1
  92. package/dist/hooks/ui/use-autoplay.js +76 -13
  93. package/dist/hooks/ui/use-in-view.d.ts +8 -0
  94. package/dist/hooks/ui/use-in-view.d.ts.map +1 -1
  95. package/dist/hooks/ui/use-in-view.js +21 -36
  96. package/dist/hooks/use-agent-identities.d.ts +6 -0
  97. package/dist/hooks/use-agent-identities.d.ts.map +1 -1
  98. package/dist/hooks/use-scenario-player.d.ts +26 -9
  99. package/dist/hooks/use-scenario-player.d.ts.map +1 -1
  100. package/dist/hooks/use-scenario-player.js +12 -9
  101. package/dist/index.cjs +51 -44
  102. package/dist/{knowledge-4DREGSOZ.cjs → knowledge-5ZCVKUYV.cjs} +17 -17
  103. package/dist/{logs-BWXNT2KP.cjs → logs-CL4OJASB.cjs} +24 -24
  104. package/dist/{policies-MGFUI23M.cjs → policies-7D44ZVS5.cjs} +20 -20
  105. package/dist/{remote-session-O6QGXV2N.cjs → remote-session-QB3CIZRM.cjs} +5 -4
  106. package/dist/{software-update-7LF7XEYC.cjs → software-update-AX6TZL26.cjs} +20 -20
  107. package/dist/{tickets-board-KNXK747O.cjs → tickets-board-7FAV2YWF.cjs} +10 -10
  108. package/package.json +1 -1
  109. package/src/components/agent-identity.tsx +20 -1
  110. package/src/components/product-demo/screens/remote-desktop-picture.tsx +2 -1
  111. package/src/components/ui/device-wallpaper.ts +7 -0
  112. package/src/components/ui/feature-list.tsx +24 -30
  113. package/src/components/ui/index.ts +3 -1
  114. package/src/components/ui/notification-stack.tsx +133 -0
  115. package/src/components/ui/numbered-step.tsx +81 -0
  116. package/src/components/ui/phone-frame.tsx +83 -19
  117. package/src/components/ui/phone-glyphs/lock-camera-glyph.tsx +14 -0
  118. package/src/components/ui/phone-glyphs/lock-flashlight-glyph.tsx +14 -0
  119. package/src/components/ui/phone-glyphs/status-bar-glyphs.tsx +45 -0
  120. package/src/components/ui/snap-carousel.tsx +6 -38
  121. package/src/components/ui/tab-navigation.tsx +49 -21
  122. package/src/hooks/ui/use-autoplay.ts +144 -27
  123. package/src/hooks/ui/use-in-view.ts +31 -38
  124. package/src/hooks/use-agent-identities.ts +6 -0
  125. package/src/hooks/use-scenario-player.ts +44 -20
  126. package/dist/chunk-2WXLQ5R5.cjs +0 -99
  127. package/dist/chunk-BE2WAMG5.cjs +0 -54
  128. package/dist/chunk-LCTDHLDL.cjs +0 -43
  129. package/dist/components/ui/playback-toggle.d.ts +0 -24
  130. package/dist/components/ui/playback-toggle.d.ts.map +0 -1
  131. package/dist/components/ui/playback-toggle.js +0 -32
  132. package/src/components/ui/playback-toggle.tsx +0 -53
@@ -29,7 +29,7 @@ var _chunkMZ4KBSH7cjs = require('./chunk-MZ4KBSH7.cjs');
29
29
 
30
30
 
31
31
 
32
- var _chunkYJFN2W7Acjs = require('./chunk-YJFN2W7A.cjs');
32
+ var _chunkRIXGLS5Ycjs = require('./chunk-RIXGLS5Y.cjs');
33
33
 
34
34
 
35
35
 
@@ -38,11 +38,10 @@ var _chunkYJFN2W7Acjs = require('./chunk-YJFN2W7A.cjs');
38
38
 
39
39
 
40
40
 
41
- var _chunkYUXRIR45cjs = require('./chunk-YUXRIR45.cjs');
41
+ var _chunkCC3LINHFcjs = require('./chunk-CC3LINHF.cjs');
42
42
 
43
43
 
44
-
45
- var _chunk2WXLQ5R5cjs = require('./chunk-2WXLQ5R5.cjs');
44
+ var _chunkHELVKMRGcjs = require('./chunk-HELVKMRG.cjs');
46
45
 
47
46
 
48
47
  var _chunkJKX2C3I2cjs = require('./chunk-JKX2C3I2.cjs');
@@ -64,7 +63,8 @@ var _chunkSKI6NKOEcjs = require('./chunk-SKI6NKOE.cjs');
64
63
  var _chunkBLH2SFOOcjs = require('./chunk-BLH2SFOO.cjs');
65
64
 
66
65
 
67
- var _chunkLCTDHLDLcjs = require('./chunk-LCTDHLDL.cjs');
66
+
67
+ var _chunkPX7FY655cjs = require('./chunk-PX7FY655.cjs');
68
68
 
69
69
 
70
70
  var _chunkG7SBHMRRcjs = require('./chunk-G7SBHMRR.cjs');
@@ -414,7 +414,7 @@ function useSearch(config) {
414
414
  searchFnRef.current = searchFn;
415
415
  mapResultRef.current = mapResult;
416
416
  });
417
- const debouncedQuery = _chunkYUXRIR45cjs.useDebounce.call(void 0, query, debounceMs);
417
+ const debouncedQuery = _chunkCC3LINHFcjs.useDebounce.call(void 0, query, debounceMs);
418
418
  const clearResults = _react.useCallback.call(void 0, () => {
419
419
  setResults(NO_RESULTS);
420
420
  setError(null);
@@ -780,7 +780,7 @@ function usePlatformConfig() {
780
780
  label: platform.label
781
781
  }))
782
782
  ];
783
- const selectableOptions = _chunkYJFN2W7Acjs.transformPlatformConfigsToOptions.call(void 0, platforms);
783
+ const selectableOptions = _chunkRIXGLS5Ycjs.transformPlatformConfigsToOptions.call(void 0, platforms);
784
784
  return {
785
785
  platforms,
786
786
  platformOptions,
@@ -958,7 +958,7 @@ function CommandApprovalToast({
958
958
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "overflow-hidden", children: [
959
959
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-11 w-full items-center gap-2 border-b border-ods-border bg-ods-card px-3 py-2", children: [
960
960
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 truncate text-ods-text-primary text-h6", title: command, children: command }),
961
- toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2WXLQ5R5cjs.ToolIcon, { toolType, size: 16 }) : null
961
+ toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHELVKMRGcjs.ToolIcon, { toolType, size: 16 }) : null
962
962
  ] }),
963
963
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2 bg-ods-bg p-3", children: [
964
964
  approvalDescription ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: approvalDescription }) : null,
@@ -1131,7 +1131,7 @@ function useContactSubmission(options = {}) {
1131
1131
  if (isSubmitting) return;
1132
1132
  setIsSubmitting(true);
1133
1133
  try {
1134
- const response = await _chunkLCTDHLDLcjs.contentFetch.call(void 0, contactUrl, {
1134
+ const response = await _chunkPX7FY655cjs.contentFetch.call(void 0, contactUrl, {
1135
1135
  method: "POST",
1136
1136
  headers: { "Content-Type": "application/json" },
1137
1137
  body: JSON.stringify({
@@ -1141,7 +1141,7 @@ function useContactSubmission(options = {}) {
1141
1141
  });
1142
1142
  if (!response.ok) {
1143
1143
  const failure = await response.json().catch(() => null);
1144
- throw new Error(_chunk2WXLQ5R5cjs.apiErrorMessage.call(void 0, failure, "Failed to submit contact form"));
1144
+ throw new Error(_chunkPX7FY655cjs.apiErrorMessage.call(void 0, failure, "Failed to submit contact form"));
1145
1145
  }
1146
1146
  setIsSuccess(true);
1147
1147
  const message = successToastMessage ? `Thank you! Your message has been sent. ${successToastMessage}` : "Thank you! Your message has been sent successfully.";
@@ -1250,7 +1250,7 @@ function load(endpoint, force = false) {
1250
1250
  const entry = entryFor(endpoint);
1251
1251
  if (entry.request || entry.state.data && !force) return;
1252
1252
  publish(endpoint, { data: entry.state.data, isLoading: true, error: false });
1253
- entry.request = _chunkLCTDHLDLcjs.contentFetch.call(void 0, endpoint).then(async (response) => {
1253
+ entry.request = _chunkPX7FY655cjs.contentFetch.call(void 0, endpoint).then(async (response) => {
1254
1254
  if (!response.ok) throw new Error(`Request failed (${response.status})`);
1255
1255
  publish(endpoint, { data: await response.json(), isLoading: false, error: false });
1256
1256
  }).catch(() => publish(endpoint, { data: entry.state.data, isLoading: false, error: true })).finally(() => {
@@ -1292,10 +1292,10 @@ function useDownloads({ endpoint = DOWNLOADS_API_PATH, initialData, enabled = tr
1292
1292
  }
1293
1293
  function useVisitorDesktopDownload(options = {}) {
1294
1294
  const enabled = _nullishCoalesce(options.enabled, () => ( true));
1295
- const visitor = _chunkYJFN2W7Acjs.useVisitorOs.call(void 0, );
1295
+ const visitor = _chunkRIXGLS5Ycjs.useVisitorOs.call(void 0, );
1296
1296
  const { data, error } = useDownloads(options);
1297
1297
  if (!enabled || !visitor.known || !data && !error) return { known: false, download: null };
1298
- const os = _chunkYJFN2W7Acjs.desktopOsOf.call(void 0, visitor.os);
1298
+ const os = _chunkRIXGLS5Ycjs.desktopOsOf.call(void 0, visitor.os);
1299
1299
  const download = _nullishCoalesce(_optionalChain([data, 'optionalAccess', _22 => _22.desktop, 'access', _23 => _23.find, 'call', _24 => _24((row) => row.kind === "binary" && row.url && row.os === os)]), () => ( null));
1300
1300
  return { known: true, download };
1301
1301
  }
@@ -2542,15 +2542,18 @@ function useScenarioPlayer({
2542
2542
  holdMs,
2543
2543
  enabled = true,
2544
2544
  initialScenario = 0,
2545
- startAtEnd = false
2545
+ startAtEnd = false,
2546
+ emptyFirstStep = true
2546
2547
  }) {
2547
- const auto = _chunkYUXRIR45cjs.useAutoplay.call(void 0, enabled);
2548
- const { reducedMotion, paused, setPaused } = auto;
2548
+ const auto = _chunkCC3LINHFcjs.useAutoplay.call(void 0, enabled);
2549
+ const { reducedMotion, held, holdProps, release } = auto;
2549
2550
  const [scenario, setScenario] = _react.useState.call(void 0, initialScenario);
2550
2551
  const [rawStep, setRawStep] = _react.useState.call(void 0, startAtEnd ? Number.MAX_SAFE_INTEGER : 0);
2551
2552
  const lastStep = typeof lastStepOption === "function" ? lastStepOption(scenario) : lastStepOption;
2552
2553
  const step = reducedMotion ? lastStep : Math.min(rawStep, lastStep);
2553
2554
  const playing = auto.playing && scenarioCount > 0;
2555
+ const [started, setStarted] = _react.useState.call(void 0, false);
2556
+ if (playing && !started) setStarted(true);
2554
2557
  const starting = _react.useRef.call(void 0, false);
2555
2558
  const wasPlaying = _react.useRef.call(void 0, false);
2556
2559
  _react.useEffect.call(void 0, () => {
@@ -2558,7 +2561,7 @@ function useScenarioPlayer({
2558
2561
  wasPlaying.current = playing;
2559
2562
  if (!playing) return void 0;
2560
2563
  const atEnd = rawStep >= lastStep;
2561
- const quickStart = starting.current && !atEnd;
2564
+ const quickStart = emptyFirstStep && (starting.current || rawStep === 0) && !atEnd;
2562
2565
  starting.current = false;
2563
2566
  const timer = setTimeout(
2564
2567
  () => {
@@ -2572,23 +2575,23 @@ function useScenarioPlayer({
2572
2575
  atEnd ? holdMs : quickStart ? Math.min(START_MS, stepMs) : stepMs
2573
2576
  );
2574
2577
  return () => clearTimeout(timer);
2575
- }, [playing, rawStep, lastStep, stepMs, holdMs, scenario, scenarioCount]);
2578
+ }, [playing, rawStep, lastStep, stepMs, holdMs, scenario, scenarioCount, emptyFirstStep]);
2576
2579
  const setStep = _react.useCallback.call(void 0,
2577
2580
  (next) => {
2578
2581
  setRawStep(Math.max(0, Math.min(lastStep, next)));
2579
- setPaused(false);
2582
+ release();
2580
2583
  },
2581
- [lastStep, setPaused]
2584
+ [lastStep, release]
2582
2585
  );
2583
2586
  const go = _react.useCallback.call(void 0,
2584
2587
  (next) => {
2585
2588
  setScenario(next);
2586
2589
  setRawStep(0);
2587
- setPaused(false);
2590
+ release();
2588
2591
  },
2589
- [setPaused]
2592
+ [release]
2590
2593
  );
2591
- return { scenario, step, paused, setPaused, setStep, go, reducedMotion };
2594
+ return { scenario, step, started: started || reducedMotion, held, holdProps, setStep, go, reducedMotion };
2592
2595
  }
2593
2596
 
2594
2597
  // src/hooks/use-access-code-integration.ts
@@ -2601,7 +2604,7 @@ function useAccessCodeIntegration() {
2601
2604
  const validate = async (email, code) => {
2602
2605
  setIsValidating(true);
2603
2606
  try {
2604
- return await _chunkYJFN2W7Acjs.validateAccessCode.call(void 0, email, code, endpoints);
2607
+ return await _chunkRIXGLS5Ycjs.validateAccessCode.call(void 0, email, code, endpoints);
2605
2608
  } finally {
2606
2609
  setIsValidating(false);
2607
2610
  }
@@ -2609,7 +2612,7 @@ function useAccessCodeIntegration() {
2609
2612
  const consume = async (email, code) => {
2610
2613
  setIsConsuming(true);
2611
2614
  try {
2612
- return await _chunkYJFN2W7Acjs.consumeAccessCode.call(void 0, email, code, endpoints);
2615
+ return await _chunkRIXGLS5Ycjs.consumeAccessCode.call(void 0, email, code, endpoints);
2613
2616
  } finally {
2614
2617
  setIsConsuming(false);
2615
2618
  }
@@ -2618,7 +2621,7 @@ function useAccessCodeIntegration() {
2618
2621
  setIsValidating(true);
2619
2622
  setIsConsuming(true);
2620
2623
  try {
2621
- return await _chunkYJFN2W7Acjs.validateAndConsumeAccessCode.call(void 0, email, code, endpoints);
2624
+ return await _chunkRIXGLS5Ycjs.validateAndConsumeAccessCode.call(void 0, email, code, endpoints);
2622
2625
  } finally {
2623
2626
  setIsValidating(false);
2624
2627
  setIsConsuming(false);
@@ -2648,7 +2651,7 @@ async function revalidateMirror(mirrorPath) {
2648
2651
  }
2649
2652
  function useClaudeMirrorSrc(url) {
2650
2653
  const endpoints = _chunkMZ4KBSH7cjs.useEndpointsRuntime.call(void 0, );
2651
- const mirrorPath = _chunkYJFN2W7Acjs.toClaudeMirrorPath.call(void 0, url, _optionalChain([endpoints, 'optionalAccess', _32 => _32.storageViewBaseUrl]));
2654
+ const mirrorPath = _chunkRIXGLS5Ycjs.toClaudeMirrorPath.call(void 0, url, _optionalChain([endpoints, 'optionalAccess', _32 => _32.storageViewBaseUrl]));
2652
2655
  const [resolved, setResolved] = _react.useState.call(void 0, null);
2653
2656
  const state = resolved && resolved.key === mirrorPath ? resolved.value : { src: null, status: mirrorPath ? "probing" : "absent" };
2654
2657
  _react.useEffect.call(void 0, () => {
@@ -2679,7 +2682,7 @@ function useClaudeMirrorSrc(url) {
2679
2682
 
2680
2683
  // src/hooks/use-location-hash.ts
2681
2684
 
2682
- var HASH_EVENTS = ["hashchange", "popstate", _chunkYUXRIR45cjs.LOCATION_HASH_SYNC_EVENT];
2685
+ var HASH_EVENTS = ["hashchange", "popstate", _chunkCC3LINHFcjs.LOCATION_HASH_SYNC_EVENT];
2683
2686
  function subscribe(onChange) {
2684
2687
  for (const event of HASH_EVENTS) window.addEventListener(event, onChange);
2685
2688
  return () => {
@@ -2687,7 +2690,7 @@ function subscribe(onChange) {
2687
2690
  };
2688
2691
  }
2689
2692
  function readHash() {
2690
- const raw = _chunkYUXRIR45cjs.normalizeHashFragment.call(void 0, window.location.hash).replace(/^#/, "");
2693
+ const raw = _chunkCC3LINHFcjs.normalizeHashFragment.call(void 0, window.location.hash).replace(/^#/, "");
2691
2694
  try {
2692
2695
  return decodeURIComponent(raw);
2693
2696
  } catch (e7) {
@@ -2714,16 +2717,16 @@ function useScrollToHash(readyDep = true, options) {
2714
2717
  }
2715
2718
  };
2716
2719
  const tryScrollToHash = () => {
2717
- if (_chunkYUXRIR45cjs.isScrollSyncedHash.call(void 0, )) return;
2718
- const hash = _chunkYUXRIR45cjs.normalizeHashFragment.call(void 0, window.location.hash).slice(1);
2720
+ if (_chunkCC3LINHFcjs.isScrollSyncedHash.call(void 0, )) return;
2721
+ const hash = _chunkCC3LINHFcjs.normalizeHashFragment.call(void 0, window.location.hash).slice(1);
2719
2722
  if (!hash) return;
2720
2723
  cancelPoll();
2721
2724
  let frames = 0;
2722
2725
  const tick = () => {
2723
- const el = _chunkYUXRIR45cjs.getHashTargetElement.call(void 0, hash);
2726
+ const el = _chunkCC3LINHFcjs.getHashTargetElement.call(void 0, hash);
2724
2727
  if (el) {
2725
2728
  rafId = null;
2726
- _chunkYUXRIR45cjs.scrollElementIntoView.call(void 0, el, { headerOffset });
2729
+ _chunkCC3LINHFcjs.scrollElementIntoView.call(void 0, el, { headerOffset });
2727
2730
  return;
2728
2731
  }
2729
2732
  if (frames++ < MAX_POLL_FRAMES) {
@@ -2751,8 +2754,8 @@ function useHumanitySignals() {
2751
2754
  const startedAtRef = _react.useRef.call(void 0, mountedAt);
2752
2755
  const getSignals = _react.useCallback.call(void 0,
2753
2756
  () => ({
2754
- [_chunkYJFN2W7Acjs.HONEYPOT_FIELD]: _nullishCoalesce(_optionalChain([ref, 'access', _34 => _34.current, 'optionalAccess', _35 => _35.value]), () => ( "")),
2755
- [_chunkYJFN2W7Acjs.ELAPSED_MS_FIELD]: typeof performance !== "undefined" ? Math.round(performance.now() - startedAtRef.current) : 0
2757
+ [_chunkRIXGLS5Ycjs.HONEYPOT_FIELD]: _nullishCoalesce(_optionalChain([ref, 'access', _34 => _34.current, 'optionalAccess', _35 => _35.value]), () => ( "")),
2758
+ [_chunkRIXGLS5Ycjs.ELAPSED_MS_FIELD]: typeof performance !== "undefined" ? Math.round(performance.now() - startedAtRef.current) : 0
2756
2759
  }),
2757
2760
  []
2758
2761
  );
@@ -2760,7 +2763,7 @@ function useHumanitySignals() {
2760
2763
  if (ref.current) ref.current.value = "";
2761
2764
  if (typeof performance !== "undefined") startedAtRef.current = performance.now();
2762
2765
  }, []);
2763
- return { honeypotInputProps: { ref, name: _chunkYJFN2W7Acjs.HONEYPOT_FIELD }, getSignals, resetSignals };
2766
+ return { honeypotInputProps: { ref, name: _chunkRIXGLS5Ycjs.HONEYPOT_FIELD }, getSignals, resetSignals };
2764
2767
  }
2765
2768
 
2766
2769
  // src/hooks/use-form-rescue.ts
@@ -2773,9 +2776,9 @@ function readLocalDraft(formId) {
2773
2776
  const raw = window.localStorage.getItem(STORAGE_PREFIX + formId);
2774
2777
  if (!raw) return null;
2775
2778
  const parsed = JSON.parse(raw);
2776
- if (!_chunkYJFN2W7Acjs.isFormAttemptId.call(void 0, parsed.attemptId) || typeof parsed.savedAt !== "number") return null;
2779
+ if (!_chunkRIXGLS5Ycjs.isFormAttemptId.call(void 0, parsed.attemptId) || typeof parsed.savedAt !== "number") return null;
2777
2780
  if (Date.now() - parsed.savedAt > LOCAL_DRAFT_TTL_MS) return null;
2778
- return { attemptId: parsed.attemptId, values: _chunkYJFN2W7Acjs.sanitizeRescueValues.call(void 0, parsed.values), savedAt: parsed.savedAt };
2781
+ return { attemptId: parsed.attemptId, values: _chunkRIXGLS5Ycjs.sanitizeRescueValues.call(void 0, parsed.values), savedAt: parsed.savedAt };
2779
2782
  } catch (e8) {
2780
2783
  return null;
2781
2784
  }
@@ -2795,9 +2798,9 @@ function clearLocalDraft(formId) {
2795
2798
  function completeFormRescue(form, attemptId) {
2796
2799
  if (!form || typeof window === "undefined") return;
2797
2800
  const local = readLocalDraft(form.id);
2798
- _chunkYJFN2W7Acjs.captureFormRescueEvent.call(void 0, _chunkYJFN2W7Acjs.FORM_RESCUE_EVENTS.submitted, {
2801
+ _chunkRIXGLS5Ycjs.captureFormRescueEvent.call(void 0, _chunkRIXGLS5Ycjs.FORM_RESCUE_EVENTS.submitted, {
2799
2802
  form_id: form.id,
2800
- attempt_id: _chunkYJFN2W7Acjs.isFormAttemptId.call(void 0, attemptId) ? attemptId : _nullishCoalesce(_optionalChain([local, 'optionalAccess', _36 => _36.attemptId]), () => ( null))
2803
+ attempt_id: _chunkRIXGLS5Ycjs.isFormAttemptId.call(void 0, attemptId) ? attemptId : _nullishCoalesce(_optionalChain([local, 'optionalAccess', _36 => _36.attemptId]), () => ( null))
2801
2804
  });
2802
2805
  clearLocalDraft(form.id);
2803
2806
  }
@@ -2850,7 +2853,7 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2850
2853
  ...resumeTokenRef.current ? { resume_token: resumeTokenRef.current } : {}
2851
2854
  };
2852
2855
  try {
2853
- void _chunkLCTDHLDLcjs.contentFetch.call(void 0, draftsUrl, {
2856
+ void _chunkPX7FY655cjs.contentFetch.call(void 0, draftsUrl, {
2854
2857
  method: "POST",
2855
2858
  headers: { "Content-Type": "application/json" },
2856
2859
  body: JSON.stringify({ ...body, ..._nullishCoalesce(_optionalChain([getSignalsRef, 'access', _39 => _39.current, 'optionalCall', _40 => _40()]), () => ( {})) }),
@@ -2858,7 +2861,7 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2858
2861
  }).catch(() => void 0);
2859
2862
  } catch (e12) {
2860
2863
  }
2861
- _chunkYJFN2W7Acjs.captureFormRescueEvent.call(void 0, _chunkYJFN2W7Acjs.FORM_RESCUE_EVENTS.progress, {
2864
+ _chunkRIXGLS5Ycjs.captureFormRescueEvent.call(void 0, _chunkRIXGLS5Ycjs.FORM_RESCUE_EVENTS.progress, {
2862
2865
  form_id: formId,
2863
2866
  attempt_id: attemptId(),
2864
2867
  fields_filled: body.fields_filled,
@@ -2871,23 +2874,23 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2871
2874
  _react.useEffect.call(void 0, () => {
2872
2875
  if (!formId || typeof window === "undefined") return void 0;
2873
2876
  let cancelled = false;
2874
- const token = new URLSearchParams(window.location.search).get(_chunkYJFN2W7Acjs.FORM_RESCUE_RESUME_PARAM);
2877
+ const token = new URLSearchParams(window.location.search).get(_chunkRIXGLS5Ycjs.FORM_RESCUE_RESUME_PARAM);
2875
2878
  const restoreLocal = () => {
2876
2879
  const local = readLocalDraft(formId);
2877
2880
  if (!local) return;
2878
2881
  attemptIdRef.current = local.attemptId;
2879
2882
  if (Object.keys(local.values).length) _optionalChain([onRestoreRef, 'access', _41 => _41.current, 'optionalCall', _42 => _42(local.values)]);
2880
2883
  };
2881
- if (_chunkYJFN2W7Acjs.isResumeToken.call(void 0, token) && draftsUrl) {
2882
- _chunkLCTDHLDLcjs.contentFetch.call(void 0, `${draftsUrl}/resume/${encodeURIComponent(token)}`).then(async (res) => res.ok ? await res.json() : null).then((data) => {
2884
+ if (_chunkRIXGLS5Ycjs.isResumeToken.call(void 0, token) && draftsUrl) {
2885
+ _chunkPX7FY655cjs.contentFetch.call(void 0, `${draftsUrl}/resume/${encodeURIComponent(token)}`).then(async (res) => res.ok ? await res.json() : null).then((data) => {
2883
2886
  if (cancelled) return;
2884
2887
  if (!data || data.form_id !== formId) {
2885
2888
  restoreLocal();
2886
2889
  return;
2887
2890
  }
2888
2891
  resumeTokenRef.current = token;
2889
- _optionalChain([onRestoreRef, 'access', _43 => _43.current, 'optionalCall', _44 => _44(_chunkYJFN2W7Acjs.sanitizeRescueValues.call(void 0, data.values))]);
2890
- _chunkYJFN2W7Acjs.captureFormRescueEvent.call(void 0, _chunkYJFN2W7Acjs.FORM_RESCUE_EVENTS.resumed, { form_id: formId, attempt_id: attemptId() });
2892
+ _optionalChain([onRestoreRef, 'access', _43 => _43.current, 'optionalCall', _44 => _44(_chunkRIXGLS5Ycjs.sanitizeRescueValues.call(void 0, data.values))]);
2893
+ _chunkRIXGLS5Ycjs.captureFormRescueEvent.call(void 0, _chunkRIXGLS5Ycjs.FORM_RESCUE_EVENTS.resumed, { form_id: formId, attempt_id: attemptId() });
2891
2894
  }).catch(() => {
2892
2895
  if (!cancelled) restoreLocal();
2893
2896
  });
@@ -2907,7 +2910,7 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2907
2910
  timerRef.current = null;
2908
2911
  }
2909
2912
  send(true);
2910
- _chunkYJFN2W7Acjs.captureFormRescueEvent.call(void 0, _chunkYJFN2W7Acjs.FORM_RESCUE_EVENTS.abandoned, {
2913
+ _chunkRIXGLS5Ycjs.captureFormRescueEvent.call(void 0, _chunkRIXGLS5Ycjs.FORM_RESCUE_EVENTS.abandoned, {
2911
2914
  form_id: formId,
2912
2915
  attempt_id: attemptId(),
2913
2916
  last_field: _nullishCoalesce(_optionalChain([latestRef, 'access', _45 => _45.current, 'optionalAccess', _46 => _46.last_field]), () => ( null)),
@@ -2931,22 +2934,22 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2931
2934
  const names = fieldNamesRef.current;
2932
2935
  const visible = {};
2933
2936
  for (const name of names) visible[name] = values[name];
2934
- const filled = _chunkYJFN2W7Acjs.filledRescueFields.call(void 0, visible, names);
2937
+ const filled = _chunkRIXGLS5Ycjs.filledRescueFields.call(void 0, visible, names);
2935
2938
  if (!filled.length) return;
2936
2939
  if (!startedRef.current) {
2937
2940
  startedRef.current = true;
2938
- _chunkYJFN2W7Acjs.captureFormRescueEvent.call(void 0, _chunkYJFN2W7Acjs.FORM_RESCUE_EVENTS.started, { form_id: formId, attempt_id: attemptId() });
2941
+ _chunkRIXGLS5Ycjs.captureFormRescueEvent.call(void 0, _chunkRIXGLS5Ycjs.FORM_RESCUE_EVENTS.started, { form_id: formId, attempt_id: attemptId() });
2939
2942
  }
2940
- const clean = _chunkYJFN2W7Acjs.sanitizeRescueValues.call(void 0, visible);
2941
- if (!leadCapturedRef.current && _chunkYJFN2W7Acjs.isRescueEmail.call(void 0, clean.email)) {
2943
+ const clean = _chunkRIXGLS5Ycjs.sanitizeRescueValues.call(void 0, visible);
2944
+ if (!leadCapturedRef.current && _chunkRIXGLS5Ycjs.isRescueEmail.call(void 0, clean.email)) {
2942
2945
  leadCapturedRef.current = true;
2943
- _chunkYJFN2W7Acjs.captureFormRescueEvent.call(void 0, _chunkYJFN2W7Acjs.FORM_RESCUE_EVENTS.leadCaptured, { form_id: formId, attempt_id: attemptId() });
2946
+ _chunkRIXGLS5Ycjs.captureFormRescueEvent.call(void 0, _chunkRIXGLS5Ycjs.FORM_RESCUE_EVENTS.leadCaptured, { form_id: formId, attempt_id: attemptId() });
2944
2947
  }
2945
2948
  latestRef.current = {
2946
2949
  values: clean,
2947
2950
  fields_filled: filled,
2948
- last_field: _chunkYJFN2W7Acjs.sanitizeRescueFieldName.call(void 0, lastField),
2949
- completion_pct: _chunkYJFN2W7Acjs.rescueCompletionPct.call(void 0, filled.length, names.length)
2951
+ last_field: _chunkRIXGLS5Ycjs.sanitizeRescueFieldName.call(void 0, lastField),
2952
+ completion_pct: _chunkRIXGLS5Ycjs.rescueCompletionPct.call(void 0, filled.length, names.length)
2950
2953
  };
2951
2954
  dirtyRef.current = true;
2952
2955
  writeLocalDraft(formId, { attemptId: attemptId(), values: clean, savedAt: Date.now() });
@@ -2954,15 +2957,15 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2954
2957
  timerRef.current = setTimeout(() => {
2955
2958
  timerRef.current = null;
2956
2959
  send(false);
2957
- }, _chunkYJFN2W7Acjs.FORM_RESCUE_DEBOUNCE_MS);
2960
+ }, _chunkRIXGLS5Ycjs.FORM_RESCUE_DEBOUNCE_MS);
2958
2961
  },
2959
2962
  [attemptId, formId, send]
2960
2963
  );
2961
2964
  const submitFields = _react.useCallback.call(void 0, () => {
2962
2965
  if (!formId) return {};
2963
2966
  return {
2964
- [_chunkYJFN2W7Acjs.FORM_RESCUE_ATTEMPT_FIELD]: attemptId(),
2965
- ...resumeTokenRef.current ? { [_chunkYJFN2W7Acjs.FORM_RESCUE_RESUME_FIELD]: resumeTokenRef.current } : {}
2967
+ [_chunkRIXGLS5Ycjs.FORM_RESCUE_ATTEMPT_FIELD]: attemptId(),
2968
+ ...resumeTokenRef.current ? { [_chunkRIXGLS5Ycjs.FORM_RESCUE_RESUME_FIELD]: resumeTokenRef.current } : {}
2966
2969
  };
2967
2970
  }, [attemptId, formId]);
2968
2971
  const complete = _react.useCallback.call(void 0, () => {
@@ -3,14 +3,14 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkRBOIGJYFcjs = require('./chunk-RBOIGJYF.cjs');
6
+ var _chunkXOQ2UUVScjs = require('./chunk-XOQ2UUVS.cjs');
7
7
 
8
8
 
9
9
 
10
10
  var _chunkKLXHCNDCcjs = require('./chunk-KLXHCNDC.cjs');
11
11
 
12
12
 
13
- var _chunkLCTDHLDLcjs = require('./chunk-LCTDHLDL.cjs');
13
+ var _chunkPX7FY655cjs = require('./chunk-PX7FY655.cjs');
14
14
 
15
15
 
16
16
  var _chunkUR4K2NSLcjs = require('./chunk-UR4K2NSL.cjs');
@@ -51,7 +51,7 @@ function pickBadgePaletteColor({
51
51
  var _jsxruntime = require('react/jsx-runtime');
52
52
  function PaletteBadge({ text, color, className, variant = "button" }) {
53
53
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
54
- _chunkRBOIGJYFcjs.StatusBadge,
54
+ _chunkXOQ2UUVScjs.StatusBadge,
55
55
  {
56
56
  text,
57
57
  colorScheme: isBadgePaletteKey(color) ? color : "default",
@@ -204,7 +204,7 @@ var STATUS_BADGE_SCHEME = {
204
204
  abandoned: "default"
205
205
  };
206
206
  function EmployeeEntryBadge({ children }) {
207
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRBOIGJYFcjs.StatusBadge, { text: children, colorScheme: "default", variant: "button", singleLine: true });
207
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXOQ2UUVScjs.StatusBadge, { text: children, colorScheme: "default", variant: "button", singleLine: true });
208
208
  }
209
209
  function EmployeeEntryCard({
210
210
  entry,
@@ -217,7 +217,7 @@ function EmployeeEntryCard({
217
217
  className
218
218
  }) {
219
219
  const card = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
220
- _chunkRBOIGJYFcjs.AdminContentCard,
220
+ _chunkXOQ2UUVScjs.AdminContentCard,
221
221
  {
222
222
  imageUrl: entry.featured_image || entry.main_video_thumbnail,
223
223
  placeholderUrl,
@@ -225,7 +225,7 @@ function EmployeeEntryCard({
225
225
  summary: (_nullishCoalesce(entry.summary, () => ( ""))).slice(0, 140) || "No description",
226
226
  badges: entry.status || extraBadges ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
227
227
  entry.status ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
228
- _chunkRBOIGJYFcjs.StatusBadge,
228
+ _chunkXOQ2UUVScjs.StatusBadge,
229
229
  {
230
230
  text: entry.status,
231
231
  colorScheme: _nullishCoalesce(STATUS_BADGE_SCHEME[entry.status], () => ( "default")),
@@ -240,7 +240,7 @@ function EmployeeEntryCard({
240
240
  _optionalChain([entry, 'access', _8 => _8.author, 'optionalAccess', _9 => _9.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
241
241
  _chunkUR4K2NSLcjs.next_image_default,
242
242
  {
243
- src: _nullishCoalesce(_chunkRBOIGJYFcjs.getProxiedImageUrl2.call(void 0, entry.author.avatar_url), () => ( entry.author.avatar_url)),
243
+ src: _nullishCoalesce(_chunkXOQ2UUVScjs.getProxiedImageUrl2.call(void 0, entry.author.avatar_url), () => ( entry.author.avatar_url)),
244
244
  alt: "",
245
245
  className: "h-[1lh] w-[1lh] shrink-0 rounded-full object-cover",
246
246
  width: 20,
@@ -360,7 +360,7 @@ function useSelfFetch(url, options) {
360
360
  try {
361
361
  setIsLoading(true);
362
362
  setError(false);
363
- const res = await _chunkLCTDHLDLcjs.contentFetch.call(void 0, url, { signal: ctrl.signal });
363
+ const res = await _chunkPX7FY655cjs.contentFetch.call(void 0, url, { signal: ctrl.signal });
364
364
  if (!res.ok) throw new Error(`Request failed (${res.status})`);
365
365
  const json = await res.json();
366
366
  if (!cancelled) {
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkBE2WAMG5cjs = require('./chunk-BE2WAMG5.cjs');
6
+ var _chunkAEVGCB3Ycjs = require('./chunk-AEVGCB3Y.cjs');
7
7
 
8
8
 
9
9
 
@@ -878,7 +878,7 @@ function EntityIcon({
878
878
  size = 20,
879
879
  className
880
880
  }) {
881
- const identity = _chunkBE2WAMG5cjs.useAgentIdentityIcon.call(void 0, _optionalChain([icon, 'optionalAccess', _17 => _17.url]) ? null : _optionalChain([icon, 'optionalAccess', _18 => _18.name]));
881
+ const identity = _chunkAEVGCB3Ycjs.useAgentIdentityIcon.call(void 0, _optionalChain([icon, 'optionalAccess', _17 => _17.url]) ? null : _optionalChain([icon, 'optionalAccess', _18 => _18.name]));
882
882
  if (!_optionalChain([icon, 'optionalAccess', _19 => _19.url]) && _optionalChain([identity, 'optionalAccess', _20 => _20.url])) {
883
883
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
884
884
  _chunkUR4K2NSLcjs.next_image_default,
@@ -887,7 +887,7 @@ function EntityIcon({
887
887
  alt: "",
888
888
  width: size,
889
889
  height: size,
890
- className: _chunk3ATAYP36cjs.cn.call(void 0, _chunkBE2WAMG5cjs.AGENT_PICTURE_CLASS, className),
890
+ className: _chunk3ATAYP36cjs.cn.call(void 0, _chunkAEVGCB3Ycjs.AGENT_PICTURE_CLASS, className),
891
891
  unoptimized: true
892
892
  }
893
893
  );
@@ -907,7 +907,7 @@ function EntityIcon({
907
907
  );
908
908
  }
909
909
  const Glyph = _chunkMANNIJ42cjs.resolveIcon.call(void 0, _nullishCoalesce(_nullishCoalesce(_optionalChain([identity, 'optionalAccess', _22 => _22.name]), () => ( _optionalChain([icon, 'optionalAccess', _23 => _23.name]))), () => ( void 0)));
910
- const agentColor = identity ? { color: _chunkBE2WAMG5cjs.AGENT_GLYPH_COLOR } : {};
910
+ const agentColor = identity ? { color: _chunkAEVGCB3Ycjs.AGENT_GLYPH_COLOR } : {};
911
911
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Glyph, { size, className, ...agentColor, ..._nullishCoalesce(_optionalChain([identity, 'optionalAccess', _24 => _24.props]), () => ( {})), ..._nullishCoalesce(_optionalChain([icon, 'optionalAccess', _25 => _25.props]), () => ( {})) });
912
912
  }
913
913