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

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 (78) hide show
  1. package/dist/{chunk-YGKVHSNQ.cjs → chunk-2OHBH6PS.cjs} +42 -42
  2. package/dist/{chunk-MEDDKM3A.cjs → chunk-3HPB4H4C.cjs} +2 -2
  3. package/dist/{chunk-BS4EZZCN.cjs → chunk-3NANWZO3.cjs} +15 -15
  4. package/dist/{chunk-5HMGK3N6.cjs → chunk-4Q34V7MD.cjs} +20 -20
  5. package/dist/{chunk-22ZK7BA3.cjs → chunk-4V672TEI.cjs} +1127 -1072
  6. package/dist/{chunk-OI7VCXYU.cjs → chunk-5DDFSGCE.cjs} +40 -40
  7. package/dist/{chunk-CUF3IYIB.cjs → chunk-5OGT7H2S.cjs} +28 -28
  8. package/dist/{chunk-C5NERNE6.cjs → chunk-73ZW3265.cjs} +93 -93
  9. package/dist/{chunk-GID62YEN.cjs → chunk-AAFW4STC.cjs} +3 -3
  10. package/dist/{chunk-MVZ6XFPK.cjs → chunk-AOTOOGNX.cjs} +8 -8
  11. package/dist/{chunk-SJRR745G.cjs → chunk-BP6R5WDW.cjs} +44 -44
  12. package/dist/{chunk-OJ3XU3YZ.cjs → chunk-CMUEFHM3.cjs} +4 -4
  13. package/dist/{chunk-3BLBWZ6A.cjs → chunk-D34BLEIR.cjs} +7 -7
  14. package/dist/{chunk-XOQ2UUVS.cjs → chunk-DHIISS4W.cjs} +50 -40
  15. package/dist/{chunk-RIXGLS5Y.cjs → chunk-DUVOQHQI.cjs} +4 -4
  16. package/dist/{chunk-E3N24573.cjs → chunk-DUXLZPMJ.cjs} +9 -9
  17. package/dist/{chunk-6KDGIOLP.cjs → chunk-EMBH2EJO.cjs} +89 -89
  18. package/dist/{chunk-N466AJGN.cjs → chunk-FA5SMA7L.cjs} +17 -17
  19. package/dist/{chunk-AEVGCB3Y.cjs → chunk-FCGLSWKR.cjs} +4 -4
  20. package/dist/{chunk-MANNIJ42.cjs → chunk-FICJS5OA.cjs} +6 -0
  21. package/dist/{chunk-KLXHCNDC.cjs → chunk-FTTLBMHU.cjs} +3 -3
  22. package/dist/{chunk-7DUXR4HL.cjs → chunk-GVTDVS5U.cjs} +3 -3
  23. package/dist/{chunk-ZWMPAFGB.cjs → chunk-HAWQA5FI.cjs} +236 -236
  24. package/dist/{chunk-BDTX2OEE.cjs → chunk-JRC3KXKV.cjs} +32 -32
  25. package/dist/{chunk-PRWBVIWW.cjs → chunk-KSXZABGH.cjs} +59 -59
  26. package/dist/{chunk-G37LT2ID.cjs → chunk-L4ZNR5V7.cjs} +38 -38
  27. package/dist/{chunk-I46MQ4R5.cjs → chunk-L7WJBJU7.cjs} +73 -73
  28. package/dist/{chunk-NYY25425.cjs → chunk-MYBTNOS6.cjs} +2 -2
  29. package/dist/{chunk-HELVKMRG.cjs → chunk-NTJE6SM6.cjs} +2 -2
  30. package/dist/{chunk-5HSMTSHU.cjs → chunk-OV7QQHLG.cjs} +24 -24
  31. package/dist/{chunk-6HHUU56Y.cjs → chunk-R65UD6BH.cjs} +14 -14
  32. package/dist/{chunk-CC3LINHF.cjs → chunk-SA7LDEVJ.cjs} +3 -3
  33. package/dist/{chunk-TLDCSTTQ.cjs → chunk-TLQQP2EL.cjs} +10 -10
  34. package/dist/{chunk-QMTC3BK3.cjs → chunk-ZJNYWNCB.cjs} +21 -21
  35. package/dist/{chunk-HH4BMYDX.cjs → chunk-ZRYKDN2J.cjs} +19 -19
  36. package/dist/{cloud-tenants-ILRE74JY.cjs → cloud-tenants-HU7YZD33.cjs} +21 -21
  37. package/dist/components/case-studies/index.cjs +34 -34
  38. package/dist/components/chat/embeddable-chat.d.ts +16 -0
  39. package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
  40. package/dist/components/chat/embeddable-chat.js +5 -2
  41. package/dist/components/chat/index.cjs +15 -15
  42. package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
  43. package/dist/components/chat/utils/icon-library.js +6 -0
  44. package/dist/components/contact/index.cjs +22 -22
  45. package/dist/components/docs/index.cjs +25 -25
  46. package/dist/components/embeds/index.cjs +22 -22
  47. package/dist/components/faq/index.cjs +22 -22
  48. package/dist/components/features/index.cjs +21 -21
  49. package/dist/components/help-center-pages/index.cjs +137 -137
  50. package/dist/components/index.cjs +76 -76
  51. package/dist/components/layout/page-heading.d.ts +9 -1
  52. package/dist/components/layout/page-heading.d.ts.map +1 -1
  53. package/dist/components/layout/page-heading.js +15 -5
  54. package/dist/components/meeting-scheduler/index.cjs +63 -63
  55. package/dist/components/navigation/index.cjs +24 -24
  56. package/dist/components/onboarding-guides/index.cjs +24 -24
  57. package/dist/components/product-demo/index.cjs +8 -8
  58. package/dist/components/related-content/index.cjs +9 -9
  59. package/dist/components/tickets/index.cjs +25 -25
  60. package/dist/components/ui/index.cjs +21 -21
  61. package/dist/components/ui/searchable-select.d.ts +29 -3
  62. package/dist/components/ui/searchable-select.d.ts.map +1 -1
  63. package/dist/components/ui/searchable-select.js +101 -45
  64. package/dist/{devices-A6SFNGE4.cjs → devices-CKLN7BHY.cjs} +22 -22
  65. package/dist/{embeddable-chat-BKPYNOIM.cjs → embeddable-chat-FTAX4SVV.cjs} +95 -92
  66. package/dist/hooks/index.cjs +8 -8
  67. package/dist/index.cjs +27 -27
  68. package/dist/{knowledge-5ZCVKUYV.cjs → knowledge-NRLHSCC5.cjs} +22 -22
  69. package/dist/{logs-CL4OJASB.cjs → logs-BR6SLYAF.cjs} +29 -29
  70. package/dist/{policies-7D44ZVS5.cjs → policies-MQRXBYG2.cjs} +25 -25
  71. package/dist/{remote-session-QB3CIZRM.cjs → remote-session-Z4YZFG5E.cjs} +9 -9
  72. package/dist/{software-update-AX6TZL26.cjs → software-update-RUGIQP7N.cjs} +25 -25
  73. package/dist/{tickets-board-7FAV2YWF.cjs → tickets-board-JOSYLOS7.cjs} +12 -12
  74. package/package.json +1 -1
  75. package/src/components/chat/embeddable-chat.tsx +29 -2
  76. package/src/components/chat/utils/icon-library.tsx +7 -0
  77. package/src/components/layout/page-heading.tsx +37 -7
  78. package/src/components/ui/searchable-select.tsx +124 -32
@@ -2,15 +2,15 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkMANNIJ42cjs = require('./chunk-MANNIJ42.cjs');
5
+ var _chunkFICJS5OAcjs = require('./chunk-FICJS5OA.cjs');
6
6
 
7
7
 
8
8
  var _chunkVOX4E6AXcjs = require('./chunk-VOX4E6AX.cjs');
9
9
 
10
10
  // src/hooks/ui/use-drag-and-drop-enabled.ts
11
- var DRAG_AND_DROP_MEDIA_QUERY = `(pointer: fine) and (hover: hover) and ${_chunkMANNIJ42cjs.breakpoints.md}`;
11
+ var DRAG_AND_DROP_MEDIA_QUERY = `(pointer: fine) and (hover: hover) and ${_chunkFICJS5OAcjs.breakpoints.md}`;
12
12
  function useDragAndDropEnabled() {
13
- return _nullishCoalesce(_chunkMANNIJ42cjs.useMediaQuery.call(void 0, DRAG_AND_DROP_MEDIA_QUERY), () => ( false));
13
+ return _nullishCoalesce(_chunkFICJS5OAcjs.useMediaQuery.call(void 0, DRAG_AND_DROP_MEDIA_QUERY), () => ( false));
14
14
  }
15
15
 
16
16
  // src/hooks/ui/use-horizontal-scrollbar.ts
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _chunk22ZK7BA3cjs = require('./chunk-22ZK7BA3.cjs');
4
+ var _chunk4V672TEIcjs = require('./chunk-4V672TEI.cjs');
5
5
 
6
6
 
7
7
  var _chunkCKR42OBKcjs = require('./chunk-CKR42OBK.cjs');
@@ -11,10 +11,10 @@ var _chunkM7ZSKWT3cjs = require('./chunk-M7ZSKWT3.cjs');
11
11
 
12
12
 
13
13
 
14
- var _chunkRIXGLS5Ycjs = require('./chunk-RIXGLS5Y.cjs');
14
+ var _chunkDUVOQHQIcjs = require('./chunk-DUVOQHQI.cjs');
15
15
 
16
16
 
17
- var _chunkKLXHCNDCcjs = require('./chunk-KLXHCNDC.cjs');
17
+ var _chunkFTTLBMHUcjs = require('./chunk-FTTLBMHU.cjs');
18
18
 
19
19
 
20
20
  var _chunkAZL332TKcjs = require('./chunk-AZL332TK.cjs');
@@ -29,7 +29,7 @@ function FileDownloadCard({ fileName, mimeType, fileSize, fileUrl }) {
29
29
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h3", children: fileName || "File" }),
30
30
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mt-2 flex items-center justify-center gap-3 text-ods-text-secondary text-h6", children: [
31
31
  mimeType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: mimeType }),
32
- typeof fileSize === "number" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _chunkKLXHCNDCcjs.formatFileSize.call(void 0, fileSize) })
32
+ typeof fileSize === "number" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _chunkFTTLBMHUcjs.formatFileSize.call(void 0, fileSize) })
33
33
  ] })
34
34
  ] }),
35
35
  fileUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAZL332TKcjs.Button, { variant: "accent", href: fileUrl, openInNewTab: true, leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Download, { className: "h-4 w-4" }), children: "Download File" })
@@ -48,7 +48,7 @@ function GoogleSheetsViewer({ externalUrl, fileName, height }) {
48
48
  ] });
49
49
  }
50
50
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51
- _chunk22ZK7BA3cjs.EmbedViewerFrame,
51
+ _chunk4V672TEIcjs.EmbedViewerFrame,
52
52
  {
53
53
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCKR42OBKcjs.GoogleSheetsIcon, { className: "h-5 w-5 shrink-0" }),
54
54
  title: displayName,
@@ -57,7 +57,7 @@ function GoogleSheetsViewer({ externalUrl, fileName, height }) {
57
57
  {
58
58
  variant: "outline",
59
59
  size: "small-legacy",
60
- href: _chunkRIXGLS5Ycjs.toGoogleSheetsOriginalUrl.call(void 0, externalUrl),
60
+ href: _chunkDUVOQHQIcjs.toGoogleSheetsOriginalUrl.call(void 0, externalUrl),
61
61
  openInNewTab: true,
62
62
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCKR42OBKcjs.GoogleSheetsIcon, { className: "h-4 w-4" }),
63
63
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-4 w-4" }),
@@ -65,7 +65,7 @@ function GoogleSheetsViewer({ externalUrl, fileName, height }) {
65
65
  children: "Open in Google Sheets"
66
66
  }
67
67
  ),
68
- src: _chunkRIXGLS5Ycjs.toGoogleSheetsEmbedUrl.call(void 0, externalUrl),
68
+ src: _chunkDUVOQHQIcjs.toGoogleSheetsEmbedUrl.call(void 0, externalUrl),
69
69
  height
70
70
  }
71
71
  );
@@ -83,7 +83,7 @@ function PdfViewer({ src, fileName, onPreview, onDownload, height }) {
83
83
  ] });
84
84
  }
85
85
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
86
- _chunk22ZK7BA3cjs.EmbedViewerFrame,
86
+ _chunk4V672TEIcjs.EmbedViewerFrame,
87
87
  {
88
88
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7ZSKWT3cjs.AdobePdfIcon, { className: "h-5 w-5 shrink-0" }),
89
89
  title: displayName,
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
2
 
3
3
 
4
- var _chunkGID62YENcjs = require('./chunk-GID62YEN.cjs');
4
+ var _chunkAAFW4STCcjs = require('./chunk-AAFW4STC.cjs');
5
5
 
6
6
 
7
7
 
@@ -29,7 +29,7 @@ var _chunkMZ4KBSH7cjs = require('./chunk-MZ4KBSH7.cjs');
29
29
 
30
30
 
31
31
 
32
- var _chunkRIXGLS5Ycjs = require('./chunk-RIXGLS5Y.cjs');
32
+ var _chunkDUVOQHQIcjs = require('./chunk-DUVOQHQI.cjs');
33
33
 
34
34
 
35
35
 
@@ -38,10 +38,10 @@ var _chunkRIXGLS5Ycjs = require('./chunk-RIXGLS5Y.cjs');
38
38
 
39
39
 
40
40
 
41
- var _chunkCC3LINHFcjs = require('./chunk-CC3LINHF.cjs');
41
+ var _chunkSA7LDEVJcjs = require('./chunk-SA7LDEVJ.cjs');
42
42
 
43
43
 
44
- var _chunkHELVKMRGcjs = require('./chunk-HELVKMRG.cjs');
44
+ var _chunkNTJE6SM6cjs = require('./chunk-NTJE6SM6.cjs');
45
45
 
46
46
 
47
47
  var _chunkJKX2C3I2cjs = require('./chunk-JKX2C3I2.cjs');
@@ -323,7 +323,7 @@ function useOnboardingState(storageKey = "openframe-onboarding-state") {
323
323
  const [, forceUpdate] = _react.useState.call(void 0, 0);
324
324
  _react.useEffect.call(void 0, () => {
325
325
  const handleStorageUpdate = (event) => {
326
- const detail = _chunkGID62YENcjs.readLocalStorageUpdateDetail.call(void 0, event);
326
+ const detail = _chunkAAFW4STCcjs.readLocalStorageUpdateDetail.call(void 0, event);
327
327
  if (_optionalChain([detail, 'optionalAccess', _14 => _14.key]) !== storageKey) return;
328
328
  const newState = loadOnboardingState(storageKey);
329
329
  setState(newState);
@@ -414,7 +414,7 @@ function useSearch(config) {
414
414
  searchFnRef.current = searchFn;
415
415
  mapResultRef.current = mapResult;
416
416
  });
417
- const debouncedQuery = _chunkCC3LINHFcjs.useDebounce.call(void 0, query, debounceMs);
417
+ const debouncedQuery = _chunkSA7LDEVJcjs.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 = _chunkRIXGLS5Ycjs.transformPlatformConfigsToOptions.call(void 0, platforms);
783
+ const selectableOptions = _chunkDUVOQHQIcjs.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, _chunkHELVKMRGcjs.ToolIcon, { toolType, size: 16 }) : null
961
+ toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNTJE6SM6cjs.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,
@@ -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 = _chunkRIXGLS5Ycjs.useVisitorOs.call(void 0, );
1295
+ const visitor = _chunkDUVOQHQIcjs.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 = _chunkRIXGLS5Ycjs.desktopOsOf.call(void 0, visitor.os);
1298
+ const os = _chunkDUVOQHQIcjs.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
  }
@@ -2545,7 +2545,7 @@ function useScenarioPlayer({
2545
2545
  startAtEnd = false,
2546
2546
  emptyFirstStep = true
2547
2547
  }) {
2548
- const auto = _chunkCC3LINHFcjs.useAutoplay.call(void 0, enabled);
2548
+ const auto = _chunkSA7LDEVJcjs.useAutoplay.call(void 0, enabled);
2549
2549
  const { reducedMotion, held, holdProps, release } = auto;
2550
2550
  const [scenario, setScenario] = _react.useState.call(void 0, initialScenario);
2551
2551
  const [rawStep, setRawStep] = _react.useState.call(void 0, startAtEnd ? Number.MAX_SAFE_INTEGER : 0);
@@ -2604,7 +2604,7 @@ function useAccessCodeIntegration() {
2604
2604
  const validate = async (email, code) => {
2605
2605
  setIsValidating(true);
2606
2606
  try {
2607
- return await _chunkRIXGLS5Ycjs.validateAccessCode.call(void 0, email, code, endpoints);
2607
+ return await _chunkDUVOQHQIcjs.validateAccessCode.call(void 0, email, code, endpoints);
2608
2608
  } finally {
2609
2609
  setIsValidating(false);
2610
2610
  }
@@ -2612,7 +2612,7 @@ function useAccessCodeIntegration() {
2612
2612
  const consume = async (email, code) => {
2613
2613
  setIsConsuming(true);
2614
2614
  try {
2615
- return await _chunkRIXGLS5Ycjs.consumeAccessCode.call(void 0, email, code, endpoints);
2615
+ return await _chunkDUVOQHQIcjs.consumeAccessCode.call(void 0, email, code, endpoints);
2616
2616
  } finally {
2617
2617
  setIsConsuming(false);
2618
2618
  }
@@ -2621,7 +2621,7 @@ function useAccessCodeIntegration() {
2621
2621
  setIsValidating(true);
2622
2622
  setIsConsuming(true);
2623
2623
  try {
2624
- return await _chunkRIXGLS5Ycjs.validateAndConsumeAccessCode.call(void 0, email, code, endpoints);
2624
+ return await _chunkDUVOQHQIcjs.validateAndConsumeAccessCode.call(void 0, email, code, endpoints);
2625
2625
  } finally {
2626
2626
  setIsValidating(false);
2627
2627
  setIsConsuming(false);
@@ -2651,7 +2651,7 @@ async function revalidateMirror(mirrorPath) {
2651
2651
  }
2652
2652
  function useClaudeMirrorSrc(url) {
2653
2653
  const endpoints = _chunkMZ4KBSH7cjs.useEndpointsRuntime.call(void 0, );
2654
- const mirrorPath = _chunkRIXGLS5Ycjs.toClaudeMirrorPath.call(void 0, url, _optionalChain([endpoints, 'optionalAccess', _32 => _32.storageViewBaseUrl]));
2654
+ const mirrorPath = _chunkDUVOQHQIcjs.toClaudeMirrorPath.call(void 0, url, _optionalChain([endpoints, 'optionalAccess', _32 => _32.storageViewBaseUrl]));
2655
2655
  const [resolved, setResolved] = _react.useState.call(void 0, null);
2656
2656
  const state = resolved && resolved.key === mirrorPath ? resolved.value : { src: null, status: mirrorPath ? "probing" : "absent" };
2657
2657
  _react.useEffect.call(void 0, () => {
@@ -2682,7 +2682,7 @@ function useClaudeMirrorSrc(url) {
2682
2682
 
2683
2683
  // src/hooks/use-location-hash.ts
2684
2684
 
2685
- var HASH_EVENTS = ["hashchange", "popstate", _chunkCC3LINHFcjs.LOCATION_HASH_SYNC_EVENT];
2685
+ var HASH_EVENTS = ["hashchange", "popstate", _chunkSA7LDEVJcjs.LOCATION_HASH_SYNC_EVENT];
2686
2686
  function subscribe(onChange) {
2687
2687
  for (const event of HASH_EVENTS) window.addEventListener(event, onChange);
2688
2688
  return () => {
@@ -2690,7 +2690,7 @@ function subscribe(onChange) {
2690
2690
  };
2691
2691
  }
2692
2692
  function readHash() {
2693
- const raw = _chunkCC3LINHFcjs.normalizeHashFragment.call(void 0, window.location.hash).replace(/^#/, "");
2693
+ const raw = _chunkSA7LDEVJcjs.normalizeHashFragment.call(void 0, window.location.hash).replace(/^#/, "");
2694
2694
  try {
2695
2695
  return decodeURIComponent(raw);
2696
2696
  } catch (e7) {
@@ -2717,16 +2717,16 @@ function useScrollToHash(readyDep = true, options) {
2717
2717
  }
2718
2718
  };
2719
2719
  const tryScrollToHash = () => {
2720
- if (_chunkCC3LINHFcjs.isScrollSyncedHash.call(void 0, )) return;
2721
- const hash = _chunkCC3LINHFcjs.normalizeHashFragment.call(void 0, window.location.hash).slice(1);
2720
+ if (_chunkSA7LDEVJcjs.isScrollSyncedHash.call(void 0, )) return;
2721
+ const hash = _chunkSA7LDEVJcjs.normalizeHashFragment.call(void 0, window.location.hash).slice(1);
2722
2722
  if (!hash) return;
2723
2723
  cancelPoll();
2724
2724
  let frames = 0;
2725
2725
  const tick = () => {
2726
- const el = _chunkCC3LINHFcjs.getHashTargetElement.call(void 0, hash);
2726
+ const el = _chunkSA7LDEVJcjs.getHashTargetElement.call(void 0, hash);
2727
2727
  if (el) {
2728
2728
  rafId = null;
2729
- _chunkCC3LINHFcjs.scrollElementIntoView.call(void 0, el, { headerOffset });
2729
+ _chunkSA7LDEVJcjs.scrollElementIntoView.call(void 0, el, { headerOffset });
2730
2730
  return;
2731
2731
  }
2732
2732
  if (frames++ < MAX_POLL_FRAMES) {
@@ -2754,8 +2754,8 @@ function useHumanitySignals() {
2754
2754
  const startedAtRef = _react.useRef.call(void 0, mountedAt);
2755
2755
  const getSignals = _react.useCallback.call(void 0,
2756
2756
  () => ({
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
2757
+ [_chunkDUVOQHQIcjs.HONEYPOT_FIELD]: _nullishCoalesce(_optionalChain([ref, 'access', _34 => _34.current, 'optionalAccess', _35 => _35.value]), () => ( "")),
2758
+ [_chunkDUVOQHQIcjs.ELAPSED_MS_FIELD]: typeof performance !== "undefined" ? Math.round(performance.now() - startedAtRef.current) : 0
2759
2759
  }),
2760
2760
  []
2761
2761
  );
@@ -2763,7 +2763,7 @@ function useHumanitySignals() {
2763
2763
  if (ref.current) ref.current.value = "";
2764
2764
  if (typeof performance !== "undefined") startedAtRef.current = performance.now();
2765
2765
  }, []);
2766
- return { honeypotInputProps: { ref, name: _chunkRIXGLS5Ycjs.HONEYPOT_FIELD }, getSignals, resetSignals };
2766
+ return { honeypotInputProps: { ref, name: _chunkDUVOQHQIcjs.HONEYPOT_FIELD }, getSignals, resetSignals };
2767
2767
  }
2768
2768
 
2769
2769
  // src/hooks/use-form-rescue.ts
@@ -2776,9 +2776,9 @@ function readLocalDraft(formId) {
2776
2776
  const raw = window.localStorage.getItem(STORAGE_PREFIX + formId);
2777
2777
  if (!raw) return null;
2778
2778
  const parsed = JSON.parse(raw);
2779
- if (!_chunkRIXGLS5Ycjs.isFormAttemptId.call(void 0, parsed.attemptId) || typeof parsed.savedAt !== "number") return null;
2779
+ if (!_chunkDUVOQHQIcjs.isFormAttemptId.call(void 0, parsed.attemptId) || typeof parsed.savedAt !== "number") return null;
2780
2780
  if (Date.now() - parsed.savedAt > LOCAL_DRAFT_TTL_MS) return null;
2781
- return { attemptId: parsed.attemptId, values: _chunkRIXGLS5Ycjs.sanitizeRescueValues.call(void 0, parsed.values), savedAt: parsed.savedAt };
2781
+ return { attemptId: parsed.attemptId, values: _chunkDUVOQHQIcjs.sanitizeRescueValues.call(void 0, parsed.values), savedAt: parsed.savedAt };
2782
2782
  } catch (e8) {
2783
2783
  return null;
2784
2784
  }
@@ -2798,9 +2798,9 @@ function clearLocalDraft(formId) {
2798
2798
  function completeFormRescue(form, attemptId) {
2799
2799
  if (!form || typeof window === "undefined") return;
2800
2800
  const local = readLocalDraft(form.id);
2801
- _chunkRIXGLS5Ycjs.captureFormRescueEvent.call(void 0, _chunkRIXGLS5Ycjs.FORM_RESCUE_EVENTS.submitted, {
2801
+ _chunkDUVOQHQIcjs.captureFormRescueEvent.call(void 0, _chunkDUVOQHQIcjs.FORM_RESCUE_EVENTS.submitted, {
2802
2802
  form_id: form.id,
2803
- attempt_id: _chunkRIXGLS5Ycjs.isFormAttemptId.call(void 0, attemptId) ? attemptId : _nullishCoalesce(_optionalChain([local, 'optionalAccess', _36 => _36.attemptId]), () => ( null))
2803
+ attempt_id: _chunkDUVOQHQIcjs.isFormAttemptId.call(void 0, attemptId) ? attemptId : _nullishCoalesce(_optionalChain([local, 'optionalAccess', _36 => _36.attemptId]), () => ( null))
2804
2804
  });
2805
2805
  clearLocalDraft(form.id);
2806
2806
  }
@@ -2861,7 +2861,7 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2861
2861
  }).catch(() => void 0);
2862
2862
  } catch (e12) {
2863
2863
  }
2864
- _chunkRIXGLS5Ycjs.captureFormRescueEvent.call(void 0, _chunkRIXGLS5Ycjs.FORM_RESCUE_EVENTS.progress, {
2864
+ _chunkDUVOQHQIcjs.captureFormRescueEvent.call(void 0, _chunkDUVOQHQIcjs.FORM_RESCUE_EVENTS.progress, {
2865
2865
  form_id: formId,
2866
2866
  attempt_id: attemptId(),
2867
2867
  fields_filled: body.fields_filled,
@@ -2874,14 +2874,14 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2874
2874
  _react.useEffect.call(void 0, () => {
2875
2875
  if (!formId || typeof window === "undefined") return void 0;
2876
2876
  let cancelled = false;
2877
- const token = new URLSearchParams(window.location.search).get(_chunkRIXGLS5Ycjs.FORM_RESCUE_RESUME_PARAM);
2877
+ const token = new URLSearchParams(window.location.search).get(_chunkDUVOQHQIcjs.FORM_RESCUE_RESUME_PARAM);
2878
2878
  const restoreLocal = () => {
2879
2879
  const local = readLocalDraft(formId);
2880
2880
  if (!local) return;
2881
2881
  attemptIdRef.current = local.attemptId;
2882
2882
  if (Object.keys(local.values).length) _optionalChain([onRestoreRef, 'access', _41 => _41.current, 'optionalCall', _42 => _42(local.values)]);
2883
2883
  };
2884
- if (_chunkRIXGLS5Ycjs.isResumeToken.call(void 0, token) && draftsUrl) {
2884
+ if (_chunkDUVOQHQIcjs.isResumeToken.call(void 0, token) && draftsUrl) {
2885
2885
  _chunkPX7FY655cjs.contentFetch.call(void 0, `${draftsUrl}/resume/${encodeURIComponent(token)}`).then(async (res) => res.ok ? await res.json() : null).then((data) => {
2886
2886
  if (cancelled) return;
2887
2887
  if (!data || data.form_id !== formId) {
@@ -2889,8 +2889,8 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2889
2889
  return;
2890
2890
  }
2891
2891
  resumeTokenRef.current = token;
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() });
2892
+ _optionalChain([onRestoreRef, 'access', _43 => _43.current, 'optionalCall', _44 => _44(_chunkDUVOQHQIcjs.sanitizeRescueValues.call(void 0, data.values))]);
2893
+ _chunkDUVOQHQIcjs.captureFormRescueEvent.call(void 0, _chunkDUVOQHQIcjs.FORM_RESCUE_EVENTS.resumed, { form_id: formId, attempt_id: attemptId() });
2894
2894
  }).catch(() => {
2895
2895
  if (!cancelled) restoreLocal();
2896
2896
  });
@@ -2910,7 +2910,7 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2910
2910
  timerRef.current = null;
2911
2911
  }
2912
2912
  send(true);
2913
- _chunkRIXGLS5Ycjs.captureFormRescueEvent.call(void 0, _chunkRIXGLS5Ycjs.FORM_RESCUE_EVENTS.abandoned, {
2913
+ _chunkDUVOQHQIcjs.captureFormRescueEvent.call(void 0, _chunkDUVOQHQIcjs.FORM_RESCUE_EVENTS.abandoned, {
2914
2914
  form_id: formId,
2915
2915
  attempt_id: attemptId(),
2916
2916
  last_field: _nullishCoalesce(_optionalChain([latestRef, 'access', _45 => _45.current, 'optionalAccess', _46 => _46.last_field]), () => ( null)),
@@ -2934,22 +2934,22 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2934
2934
  const names = fieldNamesRef.current;
2935
2935
  const visible = {};
2936
2936
  for (const name of names) visible[name] = values[name];
2937
- const filled = _chunkRIXGLS5Ycjs.filledRescueFields.call(void 0, visible, names);
2937
+ const filled = _chunkDUVOQHQIcjs.filledRescueFields.call(void 0, visible, names);
2938
2938
  if (!filled.length) return;
2939
2939
  if (!startedRef.current) {
2940
2940
  startedRef.current = true;
2941
- _chunkRIXGLS5Ycjs.captureFormRescueEvent.call(void 0, _chunkRIXGLS5Ycjs.FORM_RESCUE_EVENTS.started, { form_id: formId, attempt_id: attemptId() });
2941
+ _chunkDUVOQHQIcjs.captureFormRescueEvent.call(void 0, _chunkDUVOQHQIcjs.FORM_RESCUE_EVENTS.started, { form_id: formId, attempt_id: attemptId() });
2942
2942
  }
2943
- const clean = _chunkRIXGLS5Ycjs.sanitizeRescueValues.call(void 0, visible);
2944
- if (!leadCapturedRef.current && _chunkRIXGLS5Ycjs.isRescueEmail.call(void 0, clean.email)) {
2943
+ const clean = _chunkDUVOQHQIcjs.sanitizeRescueValues.call(void 0, visible);
2944
+ if (!leadCapturedRef.current && _chunkDUVOQHQIcjs.isRescueEmail.call(void 0, clean.email)) {
2945
2945
  leadCapturedRef.current = true;
2946
- _chunkRIXGLS5Ycjs.captureFormRescueEvent.call(void 0, _chunkRIXGLS5Ycjs.FORM_RESCUE_EVENTS.leadCaptured, { form_id: formId, attempt_id: attemptId() });
2946
+ _chunkDUVOQHQIcjs.captureFormRescueEvent.call(void 0, _chunkDUVOQHQIcjs.FORM_RESCUE_EVENTS.leadCaptured, { form_id: formId, attempt_id: attemptId() });
2947
2947
  }
2948
2948
  latestRef.current = {
2949
2949
  values: clean,
2950
2950
  fields_filled: filled,
2951
- last_field: _chunkRIXGLS5Ycjs.sanitizeRescueFieldName.call(void 0, lastField),
2952
- completion_pct: _chunkRIXGLS5Ycjs.rescueCompletionPct.call(void 0, filled.length, names.length)
2951
+ last_field: _chunkDUVOQHQIcjs.sanitizeRescueFieldName.call(void 0, lastField),
2952
+ completion_pct: _chunkDUVOQHQIcjs.rescueCompletionPct.call(void 0, filled.length, names.length)
2953
2953
  };
2954
2954
  dirtyRef.current = true;
2955
2955
  writeLocalDraft(formId, { attemptId: attemptId(), values: clean, savedAt: Date.now() });
@@ -2957,15 +2957,15 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2957
2957
  timerRef.current = setTimeout(() => {
2958
2958
  timerRef.current = null;
2959
2959
  send(false);
2960
- }, _chunkRIXGLS5Ycjs.FORM_RESCUE_DEBOUNCE_MS);
2960
+ }, _chunkDUVOQHQIcjs.FORM_RESCUE_DEBOUNCE_MS);
2961
2961
  },
2962
2962
  [attemptId, formId, send]
2963
2963
  );
2964
2964
  const submitFields = _react.useCallback.call(void 0, () => {
2965
2965
  if (!formId) return {};
2966
2966
  return {
2967
- [_chunkRIXGLS5Ycjs.FORM_RESCUE_ATTEMPT_FIELD]: attemptId(),
2968
- ...resumeTokenRef.current ? { [_chunkRIXGLS5Ycjs.FORM_RESCUE_RESUME_FIELD]: resumeTokenRef.current } : {}
2967
+ [_chunkDUVOQHQIcjs.FORM_RESCUE_ATTEMPT_FIELD]: attemptId(),
2968
+ ...resumeTokenRef.current ? { [_chunkDUVOQHQIcjs.FORM_RESCUE_RESUME_FIELD]: resumeTokenRef.current } : {}
2969
2969
  };
2970
2970
  }, [attemptId, formId]);
2971
2971
  const complete = _react.useCallback.call(void 0, () => {
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
2
 
3
3
 
4
- var _chunk6KDGIOLPcjs = require('./chunk-6KDGIOLP.cjs');
4
+ var _chunkEMBH2EJOcjs = require('./chunk-EMBH2EJO.cjs');
5
5
 
6
6
 
7
- var _chunkZWMPAFGBcjs = require('./chunk-ZWMPAFGB.cjs');
7
+ var _chunkHAWQA5FIcjs = require('./chunk-HAWQA5FI.cjs');
8
8
 
9
9
 
10
10
  var _chunkVOX4E6AXcjs = require('./chunk-VOX4E6AX.cjs');
@@ -44,7 +44,7 @@ function isSummaryData(value) {
44
44
  }
45
45
  function TicketLiveProvider({ children, enabled = true }) {
46
46
  const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
47
- const identity = _chunkZWMPAFGBcjs.useChatIdentity.call(void 0, enabled);
47
+ const identity = _chunkHAWQA5FIcjs.useChatIdentity.call(void 0, enabled);
48
48
  const queryClient = _reactquery.useQueryClient.call(void 0, );
49
49
  const streamUrl = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _ => _.endpoints, 'access', _2 => _2.ticketStreamUrl]), () => ( TICKET_STREAM_ENDPOINT));
50
50
  const readUrl = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _3 => _3.endpoints, 'access', _4 => _4.ticketReadUrl]), () => ( TICKET_READ_ENDPOINT));
@@ -160,7 +160,7 @@ function TicketLiveProvider({ children, enabled = true }) {
160
160
  _react2.default.useEffect(() => {
161
161
  if (!streamEnabled) return void 0;
162
162
  if (typeof window === "undefined") return void 0;
163
- subscriptionRef.current = _chunk6KDGIOLPcjs.createSseSubscription.call(void 0, {
163
+ subscriptionRef.current = _chunkEMBH2EJOcjs.createSseSubscription.call(void 0, {
164
164
  url: streamUrl,
165
165
  onEvent: (name, data) => handlersRef.current.onEvent(name, data),
166
166
  onStatusChange: (status) => handlersRef.current.onStatus(status),
@@ -1,14 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
2
 
3
3
 
4
- var _chunkG37LT2IDcjs = require('./chunk-G37LT2ID.cjs');
4
+ var _chunkL4ZNR5V7cjs = require('./chunk-L4ZNR5V7.cjs');
5
5
 
6
6
 
7
- var _chunkXOQ2UUVScjs = require('./chunk-XOQ2UUVS.cjs');
7
+ var _chunkDHIISS4Wcjs = require('./chunk-DHIISS4W.cjs');
8
8
 
9
9
 
10
10
 
11
- var _chunkKLXHCNDCcjs = require('./chunk-KLXHCNDC.cjs');
11
+ var _chunkFTTLBMHUcjs = require('./chunk-FTTLBMHU.cjs');
12
12
 
13
13
 
14
14
  var _chunkUR4K2NSLcjs = require('./chunk-UR4K2NSL.cjs');
@@ -66,7 +66,7 @@ function DetailPageSkeleton({
66
66
  ] });
67
67
  if (bare) return content;
68
68
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
69
- _chunkG37LT2IDcjs.PageLayout,
69
+ _chunkL4ZNR5V7cjs.PageLayout,
70
70
  {
71
71
  showHeader: false,
72
72
  className: "mx-auto max-w-[1280px] bg-ods-bg px-6 py-6 content-md:px-20 content-md:py-10",
@@ -79,7 +79,7 @@ function DetailPageSkeleton({
79
79
  var _lucidereact = require('lucide-react');
80
80
 
81
81
  function formatDate(value) {
82
- return _chunkKLXHCNDCcjs.formatDateWithTimezone.call(void 0, value, null, "long");
82
+ return _chunkFTTLBMHUcjs.formatDateWithTimezone.call(void 0, value, null, "long");
83
83
  }
84
84
  function ArticleAuthorByline({
85
85
  author,
@@ -95,7 +95,7 @@ function ArticleAuthorByline({
95
95
  }) {
96
96
  const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
97
97
  if (!author) return null;
98
- const proxiedAvatar = avatar ? proxyImageUrl ? proxyImageUrl(avatar) : _nullishCoalesce(_chunkXOQ2UUVScjs.getProxiedImageUrl.call(void 0, avatar, {
98
+ const proxiedAvatar = avatar ? proxyImageUrl ? proxyImageUrl(avatar) : _nullishCoalesce(_chunkDHIISS4Wcjs.getProxiedImageUrl.call(void 0, avatar, {
99
99
  proxyPrefix: _optionalChain([runtime, 'optionalAccess', _2 => _2.endpoints, 'access', _3 => _3.imageProxyUrlPrefix]),
100
100
  skipDomains: _optionalChain([runtime, 'optionalAccess', _4 => _4.endpoints, 'access', _5 => _5.imageProxySkipDomains]),
101
101
  directHttps: true
@@ -103,7 +103,7 @@ function ArticleAuthorByline({
103
103
  const avatarSizeClass = size === "lg" ? "w-16 h-16" : "w-14 h-14";
104
104
  const avatarIconClass = size === "lg" ? "w-8 h-8" : "w-7 h-7";
105
105
  const avatarDim = size === "lg" ? 64 : 56;
106
- const formattedBio = _chunkKLXHCNDCcjs.formatBioText.call(void 0, _nullishCoalesce(bio, () => ( null)));
106
+ const formattedBio = _chunkFTTLBMHUcjs.formatBioText.call(void 0, _nullishCoalesce(bio, () => ( null)));
107
107
  const dateLabel = publishedAt ? formatDate(publishedAt) : "";
108
108
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
109
109
  "div",