@flamingo-stack/openframe-frontend-core 0.0.741 → 0.0.743

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 (117) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-SFY4UYPY.cjs → chunk-4A6OF4HI.cjs} +44 -44
  3. package/dist/{chunk-VA7OMDZO.cjs → chunk-4FWURR3W.cjs} +50 -50
  4. package/dist/{chunk-WBANGORJ.cjs → chunk-4N7KGOBS.cjs} +3 -3
  5. package/dist/{chunk-PQ2M7P2U.cjs → chunk-5TCIRWHL.cjs} +9 -9
  6. package/dist/{chunk-FQN6STIM.cjs → chunk-6XCQXGQA.cjs} +20 -20
  7. package/dist/{chunk-BV5WZVOP.cjs → chunk-7YDF3QBN.cjs} +258 -257
  8. package/dist/{chunk-7ZFCR7UY.cjs → chunk-ABLUMGCI.cjs} +3 -3
  9. package/dist/{chunk-PX7FY655.cjs → chunk-ASMNNSUQ.cjs} +3 -3
  10. package/dist/{chunk-CWRVTQUO.cjs → chunk-BM6JZRVD.cjs} +101 -101
  11. package/dist/{chunk-LZ6NOVXX.cjs → chunk-BNTELSHZ.cjs} +103 -103
  12. package/dist/{chunk-SA7LDEVJ.cjs → chunk-CSJO7ZGN.cjs} +3 -3
  13. package/dist/{chunk-VOX4E6AX.cjs → chunk-DGFDBPO7.cjs} +7 -5
  14. package/dist/{chunk-KLI4OSRA.cjs → chunk-GAGNKWOC.cjs} +2 -2
  15. package/dist/{chunk-QEUGYHFB.cjs → chunk-IRWJKVVZ.cjs} +20 -20
  16. package/dist/{chunk-YRE3O65E.cjs → chunk-JGZEHBBD.cjs} +12 -12
  17. package/dist/{chunk-FICJS5OA.cjs → chunk-KTPR66EE.cjs} +4 -4
  18. package/dist/{chunk-YXKB5WRE.cjs → chunk-LJ46XYYP.cjs} +60 -48
  19. package/dist/{chunk-AAFW4STC.cjs → chunk-LU7TD6QS.cjs} +5 -5
  20. package/dist/{chunk-JFS6TZDX.cjs → chunk-MLZKPDPZ.cjs} +64 -64
  21. package/dist/{chunk-EKGL5K5K.cjs → chunk-MT7ELGCV.cjs} +17 -17
  22. package/dist/{chunk-HYBMADYO.cjs → chunk-NGUJVM6O.cjs} +22 -22
  23. package/dist/{chunk-3HPB4H4C.cjs → chunk-NTGIQP7O.cjs} +7 -7
  24. package/dist/{chunk-GABDE3FM.cjs → chunk-OWGLRE74.cjs} +19 -19
  25. package/dist/{chunk-IFS4AH77.cjs → chunk-QYLIHZKZ.cjs} +10 -10
  26. package/dist/{chunk-GVTDVS5U.cjs → chunk-R34JD6NP.cjs} +3 -3
  27. package/dist/{chunk-YQ37ZCD2.cjs → chunk-SQHTX5XP.cjs} +16 -16
  28. package/dist/{chunk-XJ36TEGE.cjs → chunk-TKASH5YC.cjs} +47 -47
  29. package/dist/{chunk-DSVNFRY5.cjs → chunk-U2O5YQRP.cjs} +38 -38
  30. package/dist/{chunk-5SVOGLNK.cjs → chunk-UL6ZZSL4.cjs} +6 -6
  31. package/dist/{chunk-O67V3HJR.cjs → chunk-URVIPSAJ.cjs} +24 -24
  32. package/dist/{chunk-GSWQZX23.cjs → chunk-UY6A6TEY.cjs} +2 -2
  33. package/dist/{chunk-DUVOQHQI.cjs → chunk-W2RM764D.cjs} +7 -7
  34. package/dist/{chunk-IK2RJUEA.cjs → chunk-WCY35GB5.cjs} +845 -810
  35. package/dist/{chunk-NTJE6SM6.cjs → chunk-WI2OTGKC.cjs} +2 -2
  36. package/dist/{chunk-ITPEFCQ2.cjs → chunk-XJO5ZHO6.cjs} +32 -32
  37. package/dist/{chunk-I6UE6YVM.cjs → chunk-Y2FN3E32.cjs} +6 -6
  38. package/dist/{chunk-4XL4YEZM.cjs → chunk-YDFKFLDQ.cjs} +8 -8
  39. package/dist/{chunk-HF7Z2E4W.cjs → chunk-YIOWV7LS.cjs} +2 -2
  40. package/dist/{chunk-B3XBJCOD.cjs → chunk-YJRMCFX3.cjs} +7 -7
  41. package/dist/{chunk-ZYOS7LVQ.cjs → chunk-YWMUZLU2.cjs} +89 -89
  42. package/dist/{chunk-ZJPDGVA6.cjs → chunk-ZP5DFF3Q.cjs} +28 -28
  43. package/dist/{cloud-tenants-MVJK52I2.cjs → cloud-tenants-DZC3ACG6.cjs} +24 -24
  44. package/dist/components/case-studies/index.cjs +37 -37
  45. package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts.map +1 -1
  46. package/dist/components/chat/entity-cards/onboarding-guide-card.js +22 -12
  47. package/dist/components/chat/index.cjs +17 -17
  48. package/dist/components/chat/tool-execution-display.d.ts.map +1 -1
  49. package/dist/components/chat/tool-execution-display.js +5 -4
  50. package/dist/components/contact/index.cjs +25 -25
  51. package/dist/components/docs/index.cjs +28 -28
  52. package/dist/components/embeds/index.cjs +25 -25
  53. package/dist/components/faq/index.cjs +26 -26
  54. package/dist/components/features/index.cjs +24 -24
  55. package/dist/components/features/scripts/schedule-form/schedule-interval-input.d.ts +1 -1
  56. package/dist/components/features/scripts/schedule-form/schedule-interval-input.d.ts.map +1 -1
  57. package/dist/components/features/scripts/schedule-form/schedule-interval-input.js +15 -13
  58. package/dist/components/features/scripts/schedule-form/schedule-offline-fields.d.ts.map +1 -1
  59. package/dist/components/features/scripts/schedule-form/schedule-offline-fields.js +9 -7
  60. package/dist/components/help-center-pages/index.cjs +144 -144
  61. package/dist/components/index.cjs +87 -85
  62. package/dist/components/meeting-scheduler/booking-form.d.ts +11 -1
  63. package/dist/components/meeting-scheduler/booking-form.d.ts.map +1 -1
  64. package/dist/components/meeting-scheduler/booking-form.js +15 -3
  65. package/dist/components/meeting-scheduler/index.cjs +452 -158
  66. package/dist/components/meeting-scheduler/index.d.ts +16 -1
  67. package/dist/components/meeting-scheduler/index.d.ts.map +1 -1
  68. package/dist/components/meeting-scheduler/index.js +157 -5
  69. package/dist/components/meeting-scheduler/modal-header.d.ts +27 -0
  70. package/dist/components/meeting-scheduler/modal-header.d.ts.map +1 -0
  71. package/dist/components/meeting-scheduler/modal-header.js +104 -0
  72. package/dist/components/meeting-scheduler/slot-picker.d.ts +13 -2
  73. package/dist/components/meeting-scheduler/slot-picker.d.ts.map +1 -1
  74. package/dist/components/meeting-scheduler/slot-picker.js +112 -73
  75. package/dist/components/navigation/index.cjs +27 -27
  76. package/dist/components/onboarding-guides/index.cjs +27 -27
  77. package/dist/components/product-demo/index.cjs +9 -9
  78. package/dist/components/related-content/index.cjs +12 -12
  79. package/dist/components/shared/product-release/product-release-card.d.ts.map +1 -1
  80. package/dist/components/shared/product-release/product-release-card.js +2 -0
  81. package/dist/components/tickets/index.cjs +30 -30
  82. package/dist/components/ui/index.cjs +26 -24
  83. package/dist/components/ui/radio-group.d.ts +6 -0
  84. package/dist/components/ui/radio-group.d.ts.map +1 -1
  85. package/dist/components/ui/radio-group.js +65 -58
  86. package/dist/components/ui/tab-navigation.d.ts +19 -1
  87. package/dist/components/ui/tab-navigation.d.ts.map +1 -1
  88. package/dist/components/ui/tab-navigation.js +32 -8
  89. package/dist/{devices-W3S7Q2PG.cjs → devices-MFGE2JQV.cjs} +25 -25
  90. package/dist/{embeddable-chat-6JKKFQEB.cjs → embeddable-chat-7ZEGCDVF.cjs} +92 -92
  91. package/dist/hooks/index.cjs +10 -10
  92. package/dist/index.cjs +32 -30
  93. package/dist/{knowledge-AIYQ4FC3.cjs → knowledge-7VPS2ZBU.cjs} +25 -25
  94. package/dist/{logs-7SHJ2ARE.cjs → logs-M3QPAUH7.cjs} +32 -32
  95. package/dist/{policies-EIZJ5SUP.cjs → policies-UAVE6X62.cjs} +28 -28
  96. package/dist/{remote-session-BZMNE6D2.cjs → remote-session-N4PJB5FW.cjs} +10 -10
  97. package/dist/{scripts-J2FWC7E4.cjs → scripts-EDQ3IQKW.cjs} +31 -31
  98. package/dist/{software-update-QAMNASVF.cjs → software-update-B2MZVNPK.cjs} +28 -28
  99. package/dist/{tickets-board-CEDHD3KB.cjs → tickets-board-O753S4ZB.cjs} +14 -14
  100. package/dist/utils/embed-authed-fetch.d.ts +33 -0
  101. package/dist/utils/embed-authed-fetch.d.ts.map +1 -1
  102. package/dist/utils/embed-authed-fetch.js +3 -1
  103. package/dist/utils/index.cjs +3 -1
  104. package/dist/{video-file-player-ZH2ILAPO.cjs → video-file-player-QZ3YOLHO.cjs} +2 -2
  105. package/package.json +1 -1
  106. package/src/components/chat/entity-cards/onboarding-guide-card.tsx +8 -1
  107. package/src/components/chat/tool-execution-display.tsx +21 -10
  108. package/src/components/features/scripts/schedule-form/schedule-interval-input.tsx +20 -13
  109. package/src/components/features/scripts/schedule-form/schedule-offline-fields.tsx +9 -5
  110. package/src/components/meeting-scheduler/booking-form.tsx +29 -3
  111. package/src/components/meeting-scheduler/index.tsx +224 -3
  112. package/src/components/meeting-scheduler/modal-header.tsx +145 -0
  113. package/src/components/meeting-scheduler/slot-picker.tsx +72 -8
  114. package/src/components/shared/product-release/product-release-card.tsx +2 -0
  115. package/src/components/ui/radio-group.tsx +51 -36
  116. package/src/components/ui/tab-navigation.tsx +54 -5
  117. package/src/utils/embed-authed-fetch.ts +42 -1
@@ -1,7 +1,7 @@
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 _chunkKLI4OSRAcjs = require('./chunk-KLI4OSRA.cjs');
4
+ var _chunkGAGNKWOCcjs = require('./chunk-GAGNKWOC.cjs');
5
5
 
6
6
 
7
7
 
@@ -14,7 +14,7 @@ var _chunkKLI4OSRAcjs = require('./chunk-KLI4OSRA.cjs');
14
14
 
15
15
 
16
16
 
17
- var _chunkYRE3O65Ecjs = require('./chunk-YRE3O65E.cjs');
17
+ var _chunkJGZEHBBDcjs = require('./chunk-JGZEHBBD.cjs');
18
18
 
19
19
 
20
20
 
@@ -39,7 +39,7 @@ var _chunkYRE3O65Ecjs = require('./chunk-YRE3O65E.cjs');
39
39
 
40
40
 
41
41
 
42
- var _chunkYXKB5WREcjs = require('./chunk-YXKB5WRE.cjs');
42
+ var _chunkLJ46XYYPcjs = require('./chunk-LJ46XYYP.cjs');
43
43
 
44
44
 
45
45
  var _chunkBLH2SFOOcjs = require('./chunk-BLH2SFOO.cjs');
@@ -440,13 +440,13 @@ function cardEntry(definition) {
440
440
  }
441
441
  function programEntry(configKey) {
442
442
  return cardEntry({
443
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYXKB5WREcjs.ProgramCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
443
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLJ46XYYPcjs.ProgramCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
444
444
  decode: decodeProgramRow,
445
445
  render: (item, ctx) => {
446
446
  const config = _optionalChain([ctx, 'access', _2 => _2.extras, 'optionalAccess', _3 => _3.programConfigs, 'optionalAccess', _4 => _4[configKey]]);
447
447
  if (!config) return null;
448
448
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
449
- _chunkYXKB5WREcjs.ProgramCard,
449
+ _chunkLJ46XYYPcjs.ProgramCard,
450
450
  {
451
451
  config,
452
452
  item,
@@ -463,10 +463,10 @@ function programEntry(configKey) {
463
463
  }
464
464
  function roadmapEntry(cardType) {
465
465
  return cardEntry({
466
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYXKB5WREcjs.RoadmapCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
466
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLJ46XYYPcjs.RoadmapCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
467
467
  decode: decodeRoadmapRow,
468
468
  render: (item, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
469
- _chunkYXKB5WREcjs.RoadmapCard,
469
+ _chunkLJ46XYYPcjs.RoadmapCard,
470
470
  {
471
471
  item,
472
472
  href: ctx.href,
@@ -483,10 +483,10 @@ function roadmapEntry(cardType) {
483
483
  }
484
484
  var RELATED_CARD_REGISTRY = {
485
485
  blog_post_existing: cardEntry({
486
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYXKB5WREcjs.BlogCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
486
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLJ46XYYPcjs.BlogCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
487
487
  decode: decodeBlogRow,
488
488
  render: (post, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
489
- _chunkYXKB5WREcjs.BlogCard,
489
+ _chunkLJ46XYYPcjs.BlogCard,
490
490
  {
491
491
  post,
492
492
  size: ctx.legacySize,
@@ -498,10 +498,10 @@ var RELATED_CARD_REGISTRY = {
498
498
  )
499
499
  }),
500
500
  case_study: cardEntry({
501
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYXKB5WREcjs.CaseStudyCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
501
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLJ46XYYPcjs.CaseStudyCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
502
502
  decode: decodeCaseStudyRow,
503
503
  render: (study, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
504
- _chunkYXKB5WREcjs.CaseStudyCard,
504
+ _chunkLJ46XYYPcjs.CaseStudyCard,
505
505
  {
506
506
  study,
507
507
  size: ctx.legacySize,
@@ -513,10 +513,10 @@ var RELATED_CARD_REGISTRY = {
513
513
  )
514
514
  }),
515
515
  customer_interview: cardEntry({
516
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYXKB5WREcjs.CustomerInterviewCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
516
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLJ46XYYPcjs.CustomerInterviewCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
517
517
  decode: decodeCustomerInterviewRow,
518
518
  render: (interview, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
519
- _chunkYXKB5WREcjs.CustomerInterviewCard,
519
+ _chunkLJ46XYYPcjs.CustomerInterviewCard,
520
520
  {
521
521
  interview,
522
522
  size: ctx.legacySize,
@@ -534,13 +534,13 @@ var RELATED_CARD_REGISTRY = {
534
534
  * record, and the three props the rail sets itself are read off it.
535
535
  */
536
536
  product_release: cardEntry({
537
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYXKB5WREcjs.ProductReleaseCardSkeleton, { size: size === "sm" ? "sm" : "lg" }),
537
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLJ46XYYPcjs.ProductReleaseCardSkeleton, { size: size === "sm" ? "sm" : "lg" }),
538
538
  decode: asRecord,
539
539
  render: (release, ctx) => {
540
- const buildReleaseProps = _nullishCoalesce(_optionalChain([ctx, 'access', _5 => _5.extras, 'optionalAccess', _6 => _6.buildProductReleaseCardProps]), () => ( _chunkYXKB5WREcjs.buildProductReleaseCardProps));
540
+ const buildReleaseProps = _nullishCoalesce(_optionalChain([ctx, 'access', _5 => _5.extras, 'optionalAccess', _6 => _6.buildProductReleaseCardProps]), () => ( _chunkLJ46XYYPcjs.buildProductReleaseCardProps));
541
541
  const releaseProps = buildReleaseProps(release);
542
542
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
543
- _chunkYXKB5WREcjs.ProductReleaseCard,
543
+ _chunkLJ46XYYPcjs.ProductReleaseCard,
544
544
  {
545
545
  size: ctx.size === "sm" ? "sm" : "lg",
546
546
  title: str(release, "title"),
@@ -556,10 +556,10 @@ var RELATED_CARD_REGISTRY = {
556
556
  webinar: programEntry("webinar"),
557
557
  event: programEntry("event"),
558
558
  investor_update: cardEntry({
559
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYXKB5WREcjs.InvestorUpdateCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
559
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLJ46XYYPcjs.InvestorUpdateCardSkeleton, { size: size === "sm" ? "sm" : "default" }),
560
560
  decode: decodeInvestorUpdateRow,
561
561
  render: (update, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
562
- _chunkYXKB5WREcjs.InvestorUpdateCard,
562
+ _chunkLJ46XYYPcjs.InvestorUpdateCard,
563
563
  {
564
564
  update,
565
565
  size: ctx.legacySize,
@@ -574,10 +574,10 @@ var RELATED_CARD_REGISTRY = {
574
574
  * step-numbered 'default' variant is for the guide detail page's "More in
575
575
  * section" rail, not this full-width row. */
576
576
  onboarding_guide: cardEntry({
577
- skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYXKB5WREcjs.OnboardingGuideCardSkeleton, { size: size === "sm" ? "sm" : "catalog" }),
577
+ skeleton: (size) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLJ46XYYPcjs.OnboardingGuideCardSkeleton, { size: size === "sm" ? "sm" : "catalog" }),
578
578
  decode: decodeOnboardingGuideRow,
579
579
  render: (guide, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
580
- _chunkYXKB5WREcjs.OnboardingGuideCard,
580
+ _chunkLJ46XYYPcjs.OnboardingGuideCard,
581
581
  {
582
582
  guide,
583
583
  size: ctx.size === "sm" ? "sm" : "catalog",
@@ -594,10 +594,10 @@ var RELATED_CARD_REGISTRY = {
594
594
  * href: an object with `href: undefined` is still truthy and would wrap the
595
595
  * card in a dead <a>. */
596
596
  what_i_shipped: cardEntry({
597
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYRE3O65Ecjs.WhatIShippedCardSkeleton, {}),
597
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJGZEHBBDcjs.WhatIShippedCardSkeleton, {}),
598
598
  decode: decodeEmployeeEntryRow,
599
599
  render: (entry, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
600
- _chunkYRE3O65Ecjs.WhatIShippedCard,
600
+ _chunkJGZEHBBDcjs.WhatIShippedCard,
601
601
  {
602
602
  entry,
603
603
  placeholderUrl: ctx.placeholderUrl,
@@ -607,10 +607,10 @@ var RELATED_CARD_REGISTRY = {
607
607
  }),
608
608
  /** Same shared employee-entry shape + anchor contract as What I Shipped. */
609
609
  how_i_work: cardEntry({
610
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYRE3O65Ecjs.HowIWorkCardSkeleton, {}),
610
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJGZEHBBDcjs.HowIWorkCardSkeleton, {}),
611
611
  decode: decodeEmployeeEntryRow,
612
612
  render: (entry, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
613
- _chunkYRE3O65Ecjs.HowIWorkCard,
613
+ _chunkJGZEHBBDcjs.HowIWorkCard,
614
614
  {
615
615
  entry,
616
616
  placeholderUrl: ctx.placeholderUrl,
@@ -620,10 +620,10 @@ var RELATED_CARD_REGISTRY = {
620
620
  }),
621
621
  /** Same shared employee-entry shape + anchor contract as What I Shipped. */
622
622
  ai_prompt: cardEntry({
623
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYRE3O65Ecjs.AiPromptCardSkeleton, {}),
623
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJGZEHBBDcjs.AiPromptCardSkeleton, {}),
624
624
  decode: decodeEmployeeEntryRow,
625
625
  render: (entry, ctx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
626
- _chunkYRE3O65Ecjs.AiPromptCard,
626
+ _chunkJGZEHBBDcjs.AiPromptCard,
627
627
  {
628
628
  entry,
629
629
  placeholderUrl: ctx.placeholderUrl,
@@ -644,7 +644,7 @@ function DefaultLinkPropsProvider({
644
644
  children
645
645
  }) {
646
646
  if (!href) return children(null);
647
- const newTab = _chunkYXKB5WREcjs.decideNewTab.call(void 0, { href, targetPlatform, currentSource: "" });
647
+ const newTab = _chunkLJ46XYYPcjs.decideNewTab.call(void 0, { href, targetPlatform, currentSource: "" });
648
648
  return children(newTab ? { href, target: "_blank", rel: "noopener noreferrer" } : { href });
649
649
  }
650
650
  function defaultResolveHref(ref) {
@@ -702,9 +702,9 @@ function useGroupItems(type, refs, buildUrl) {
702
702
  const url = ids.length > 0 ? buildUrl(type, ids) : null;
703
703
  const [pages, setPages] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
704
704
  const cached = url !== null ? pages.get(url) : void 0;
705
- const { data, dataUrl, error } = _chunkYRE3O65Ecjs.useSelfFetch.call(void 0, cached ? null : url);
705
+ const { data, dataUrl, error } = _chunkJGZEHBBDcjs.useSelfFetch.call(void 0, cached ? null : url);
706
706
  if (data != null && dataUrl !== null && !pages.has(dataUrl)) {
707
- setPages(new Map(pages).set(dataUrl, _chunkYXKB5WREcjs.extractItems.call(void 0, data)));
707
+ setPages(new Map(pages).set(dataUrl, _chunkLJ46XYYPcjs.extractItems.call(void 0, data)));
708
708
  }
709
709
  if (url === null) return { items: null, isLoading: false };
710
710
  return { items: _nullishCoalesce(cached, () => ( (error ? [] : null))), isLoading: !cached && !error };
@@ -713,7 +713,7 @@ function gridClassFor(columns) {
713
713
  return columns === 3 ? "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6" : "grid grid-cols-1 sm:grid-cols-2 gap-6";
714
714
  }
715
715
  function resolveGroupConfig(type) {
716
- return _nullishCoalesce(_chunkYRE3O65Ecjs.CONTENT_REF_GROUPS[type], () => ( {
716
+ return _nullishCoalesce(_chunkJGZEHBBDcjs.CONTENT_REF_GROUPS[type], () => ( {
717
717
  label: type,
718
718
  order: 999,
719
719
  layout: "grid",
@@ -745,7 +745,7 @@ function ContentGroup({
745
745
  const totalGroupPages = _chunkBLH2SFOOcjs.pageCount.call(void 0, refs.length, GROUP_PAGE_SIZE);
746
746
  const pageRefs = refs.slice((page - 1) * GROUP_PAGE_SIZE, page * GROUP_PAGE_SIZE);
747
747
  const { items, isLoading } = useGroupItems(type, pageRefs, buildUrl);
748
- const groupPagination = totalGroupPages > 1 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKLI4OSRAcjs.Pagination, { currentPage: page, totalPages: totalGroupPages, onPageChange: setPage }) : null;
748
+ const groupPagination = totalGroupPages > 1 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGAGNKWOCcjs.Pagination, { currentPage: page, totalPages: totalGroupPages, onPageChange: setPage }) : null;
749
749
  if (isLoading) {
750
750
  const skeletons = pageRefs.map((r) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: renderSkeletonForType(type, cardSize, adminCampaignCard) }, r.id));
751
751
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
@@ -756,7 +756,7 @@ function ContentGroup({
756
756
  }
757
757
  if (!items) return null;
758
758
  const rowKey = (it) => {
759
- const extracted = _chunkYXKB5WREcjs.extractItemId.call(void 0, type, it);
759
+ const extracted = _chunkLJ46XYYPcjs.extractItemId.call(void 0, type, it);
760
760
  if (extracted !== null) return extracted;
761
761
  return String(typeof it === "object" && it !== null ? it.id : void 0);
762
762
  };
@@ -824,11 +824,11 @@ function RelatedContentSection({
824
824
  types: includeTypes !== void 0 ? includeTypes.join(",") : void 0,
825
825
  excludeTypes: excludeTypes && excludeTypes.length > 0 ? excludeTypes.join(",") : void 0
826
826
  };
827
- const authorUrl = contentRefs === void 0 && authorId && !suggestionsDisabled ? _chunkYRE3O65Ecjs.buildSuggestionUrl.call(void 0, "/api/related-content", {
827
+ const authorUrl = contentRefs === void 0 && authorId && !suggestionsDisabled ? _chunkJGZEHBBDcjs.buildSuggestionUrl.call(void 0, "/api/related-content", {
828
828
  apiBaseUrl,
829
829
  extraParams: { authorId, ...typeFilterParams }
830
830
  }) : null;
831
- const suggestUrl = _nullishCoalesce(authorUrl, () => ( (contentRefs === void 0 && entityType && entityId !== void 0 && entityId !== null && entityId !== "" && !suggestionsDisabled ? _chunkYRE3O65Ecjs.buildSuggestionUrl.call(void 0, "/api/related-content", {
831
+ const suggestUrl = _nullishCoalesce(authorUrl, () => ( (contentRefs === void 0 && entityType && entityId !== void 0 && entityId !== null && entityId !== "" && !suggestionsDisabled ? _chunkJGZEHBBDcjs.buildSuggestionUrl.call(void 0, "/api/related-content", {
832
832
  apiBaseUrl,
833
833
  entityType,
834
834
  entityId,
@@ -845,9 +845,9 @@ function RelatedContentSection({
845
845
  () => !suggestionsDisabled && initialItems ? { refs: initialItems } : void 0,
846
846
  [initialItems, suggestionsDisabled]
847
847
  );
848
- const { data, isLoading } = _chunkYRE3O65Ecjs.useSelfFetch.call(void 0, suggestUrl, { initialData });
848
+ const { data, isLoading } = _chunkJGZEHBBDcjs.useSelfFetch.call(void 0, suggestUrl, { initialData });
849
849
  const effectiveBuildListUrl = _react.useMemo.call(void 0,
850
- () => _nullishCoalesce(buildListUrl2, () => ( ((type, ids) => _chunkYXKB5WREcjs.buildListUrl.call(void 0, type, ids, apiBaseUrl)))),
850
+ () => _nullishCoalesce(buildListUrl2, () => ( ((type, ids) => _chunkLJ46XYYPcjs.buildListUrl.call(void 0, type, ids, apiBaseUrl)))),
851
851
  [buildListUrl2, apiBaseUrl]
852
852
  );
853
853
  const refs = _nullishCoalesce(_nullishCoalesce(contentRefs, () => ( _optionalChain([data, 'optionalAccess', _10 => _10.refs]))), () => ( []));
@@ -858,12 +858,12 @@ function RelatedContentSection({
858
858
  if (isLoading) {
859
859
  const skeletonType = _nullishCoalesce(_nullishCoalesce(_optionalChain([includeTypes, 'optionalAccess', _11 => _11[0]]), () => ( entityType)), () => ( "blog_post_existing"));
860
860
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-8", children: [
861
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: _chunkYXKB5WREcjs.accentSentenceMarks.call(void 0, title) }),
861
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: _chunkLJ46XYYPcjs.accentSentenceMarks.call(void 0, title) }),
862
862
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: gridClassFor(columns), children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: renderSkeletonForType(skeletonType, "default", adminCampaignCard) }, i)) })
863
863
  ] });
864
864
  }
865
865
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-8", children: [
866
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-2xl font-bold text-ods-text-primary", children: _chunkYXKB5WREcjs.accentSentenceMarks.call(void 0, title) }),
866
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-2xl font-bold text-ods-text-primary", children: _chunkLJ46XYYPcjs.accentSentenceMarks.call(void 0, title) }),
867
867
  _nullishCoalesce(emptyState, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary", children: emptyStateText })))
868
868
  ] });
869
869
  }
@@ -872,16 +872,16 @@ function RelatedContentSection({
872
872
  if (!grouped[ref.type]) grouped[ref.type] = [];
873
873
  grouped[ref.type].push(ref);
874
874
  }
875
- let orderedTypes = _chunkYRE3O65Ecjs.orderContentRefTypes.call(void 0, Object.keys(grouped));
875
+ let orderedTypes = _chunkJGZEHBBDcjs.orderContentRefTypes.call(void 0, Object.keys(grouped));
876
876
  if (entityType) {
877
- const canonicalEntityType = _chunkYXKB5WREcjs.canonicalContentRefType.call(void 0, entityType);
878
- const sameType = orderedTypes.filter((t) => _chunkYXKB5WREcjs.canonicalContentRefType.call(void 0, t) === canonicalEntityType);
877
+ const canonicalEntityType = _chunkLJ46XYYPcjs.canonicalContentRefType.call(void 0, entityType);
878
+ const sameType = orderedTypes.filter((t) => _chunkLJ46XYYPcjs.canonicalContentRefType.call(void 0, t) === canonicalEntityType);
879
879
  if (sameType.length > 0) {
880
- orderedTypes = [...sameType, ...orderedTypes.filter((t) => _chunkYXKB5WREcjs.canonicalContentRefType.call(void 0, t) !== canonicalEntityType)];
880
+ orderedTypes = [...sameType, ...orderedTypes.filter((t) => _chunkLJ46XYYPcjs.canonicalContentRefType.call(void 0, t) !== canonicalEntityType)];
881
881
  }
882
882
  }
883
883
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-8", children: [
884
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: _chunkYXKB5WREcjs.accentSentenceMarks.call(void 0, title) }),
884
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h2", children: _chunkLJ46XYYPcjs.accentSentenceMarks.call(void 0, title) }),
885
885
  orderedTypes.map((type) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
886
886
  ContentGroup,
887
887
  {
@@ -893,7 +893,7 @@ function RelatedContentSection({
893
893
  LinkProvider,
894
894
  extras,
895
895
  adminCampaignCard,
896
- heading: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-semibold text-ods-text-secondary text-h5", children: _chunkYRE3O65Ecjs.getContentRefLabelOrTitleCase.call(void 0, type) })
896
+ heading: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-semibold text-ods-text-secondary text-h5", children: _chunkJGZEHBBDcjs.getContentRefLabelOrTitleCase.call(void 0, type) })
897
897
  },
898
898
  type
899
899
  ))
@@ -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 _chunkAAFW4STCcjs = require('./chunk-AAFW4STC.cjs');
4
+ var _chunkLU7TD6QScjs = require('./chunk-LU7TD6QS.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 _chunkDUVOQHQIcjs = require('./chunk-DUVOQHQI.cjs');
32
+ var _chunkW2RM764Dcjs = require('./chunk-W2RM764D.cjs');
33
33
 
34
34
 
35
35
 
@@ -38,10 +38,10 @@ var _chunkDUVOQHQIcjs = require('./chunk-DUVOQHQI.cjs');
38
38
 
39
39
 
40
40
 
41
- var _chunkSA7LDEVJcjs = require('./chunk-SA7LDEVJ.cjs');
41
+ var _chunkCSJO7ZGNcjs = require('./chunk-CSJO7ZGN.cjs');
42
42
 
43
43
 
44
- var _chunkNTJE6SM6cjs = require('./chunk-NTJE6SM6.cjs');
44
+ var _chunkWI2OTGKCcjs = require('./chunk-WI2OTGKC.cjs');
45
45
 
46
46
 
47
47
  var _chunkJKX2C3I2cjs = require('./chunk-JKX2C3I2.cjs');
@@ -64,7 +64,7 @@ var _chunkBLH2SFOOcjs = require('./chunk-BLH2SFOO.cjs');
64
64
 
65
65
 
66
66
 
67
- var _chunkPX7FY655cjs = require('./chunk-PX7FY655.cjs');
67
+ var _chunkASMNNSUQcjs = require('./chunk-ASMNNSUQ.cjs');
68
68
 
69
69
 
70
70
  var _chunkG7SBHMRRcjs = require('./chunk-G7SBHMRR.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 = _chunkAAFW4STCcjs.readLocalStorageUpdateDetail.call(void 0, event);
326
+ const detail = _chunkLU7TD6QScjs.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 = _chunkSA7LDEVJcjs.useDebounce.call(void 0, query, debounceMs);
417
+ const debouncedQuery = _chunkCSJO7ZGNcjs.useDebounce.call(void 0, query, debounceMs);
418
418
  const clearResults = _react.useCallback.call(void 0, () => {
419
419
  setResults(NO_RESULTS);
420
420
  setError(null);
@@ -804,7 +804,7 @@ function usePlatformConfig() {
804
804
  label: platform.label
805
805
  }))
806
806
  ];
807
- const selectableOptions = _chunkDUVOQHQIcjs.transformPlatformConfigsToOptions.call(void 0, platforms);
807
+ const selectableOptions = _chunkW2RM764Dcjs.transformPlatformConfigsToOptions.call(void 0, platforms);
808
808
  return {
809
809
  platforms,
810
810
  platformOptions,
@@ -982,7 +982,7 @@ function CommandApprovalToast({
982
982
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "overflow-hidden", children: [
983
983
  /* @__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: [
984
984
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 truncate text-ods-text-primary text-h6", title: command, children: command }),
985
- toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNTJE6SM6cjs.ToolIcon, { toolType, size: 16 }) : null
985
+ toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWI2OTGKCcjs.ToolIcon, { toolType, size: 16 }) : null
986
986
  ] }),
987
987
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2 bg-ods-bg p-3", children: [
988
988
  approvalDescription ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: approvalDescription }) : null,
@@ -1155,7 +1155,7 @@ function useContactSubmission(options = {}) {
1155
1155
  if (isSubmitting) return;
1156
1156
  setIsSubmitting(true);
1157
1157
  try {
1158
- const response = await _chunkPX7FY655cjs.contentFetch.call(void 0, contactUrl, {
1158
+ const response = await _chunkASMNNSUQcjs.contentFetch.call(void 0, contactUrl, {
1159
1159
  method: "POST",
1160
1160
  headers: { "Content-Type": "application/json" },
1161
1161
  body: JSON.stringify({
@@ -1165,7 +1165,7 @@ function useContactSubmission(options = {}) {
1165
1165
  });
1166
1166
  if (!response.ok) {
1167
1167
  const failure = await response.json().catch(() => null);
1168
- throw new Error(_chunkPX7FY655cjs.apiErrorMessage.call(void 0, failure, "Failed to submit contact form"));
1168
+ throw new Error(_chunkASMNNSUQcjs.apiErrorMessage.call(void 0, failure, "Failed to submit contact form"));
1169
1169
  }
1170
1170
  setIsSuccess(true);
1171
1171
  const message = successToastMessage ? `Thank you! Your message has been sent. ${successToastMessage}` : "Thank you! Your message has been sent successfully.";
@@ -1274,7 +1274,7 @@ function load(endpoint, force = false) {
1274
1274
  const entry = entryFor(endpoint);
1275
1275
  if (entry.request || entry.state.data && !force) return;
1276
1276
  publish(endpoint, { data: entry.state.data, isLoading: true, error: false });
1277
- entry.request = _chunkPX7FY655cjs.contentFetch.call(void 0, endpoint).then(async (response) => {
1277
+ entry.request = _chunkASMNNSUQcjs.contentFetch.call(void 0, endpoint).then(async (response) => {
1278
1278
  if (!response.ok) throw new Error(`Request failed (${response.status})`);
1279
1279
  publish(endpoint, { data: await response.json(), isLoading: false, error: false });
1280
1280
  }).catch(() => publish(endpoint, { data: entry.state.data, isLoading: false, error: true })).finally(() => {
@@ -1316,10 +1316,10 @@ function useDownloads({ endpoint = DOWNLOADS_API_PATH, initialData, enabled = tr
1316
1316
  }
1317
1317
  function useVisitorDesktopDownload(options = {}) {
1318
1318
  const enabled = _nullishCoalesce(options.enabled, () => ( true));
1319
- const visitor = _chunkDUVOQHQIcjs.useVisitorOs.call(void 0, );
1319
+ const visitor = _chunkW2RM764Dcjs.useVisitorOs.call(void 0, );
1320
1320
  const { data, error } = useDownloads(options);
1321
1321
  if (!enabled || !visitor.known || !data && !error) return { known: false, download: null };
1322
- const os = _chunkDUVOQHQIcjs.desktopOsOf.call(void 0, visitor.os);
1322
+ const os = _chunkW2RM764Dcjs.desktopOsOf.call(void 0, visitor.os);
1323
1323
  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));
1324
1324
  return { known: true, download };
1325
1325
  }
@@ -2569,7 +2569,7 @@ function useScenarioPlayer({
2569
2569
  startAtEnd = false,
2570
2570
  emptyFirstStep = true
2571
2571
  }) {
2572
- const auto = _chunkSA7LDEVJcjs.useAutoplay.call(void 0, enabled);
2572
+ const auto = _chunkCSJO7ZGNcjs.useAutoplay.call(void 0, enabled);
2573
2573
  const { reducedMotion, held, holdProps, release } = auto;
2574
2574
  const [scenario, setScenario] = _react.useState.call(void 0, initialScenario);
2575
2575
  const [rawStep, setRawStep] = _react.useState.call(void 0, startAtEnd ? Number.MAX_SAFE_INTEGER : 0);
@@ -2621,7 +2621,7 @@ function useAccessCodeIntegration() {
2621
2621
  const validate = async (email, code) => {
2622
2622
  setIsValidating(true);
2623
2623
  try {
2624
- return await _chunkDUVOQHQIcjs.validateAccessCode.call(void 0, email, code, endpoints);
2624
+ return await _chunkW2RM764Dcjs.validateAccessCode.call(void 0, email, code, endpoints);
2625
2625
  } finally {
2626
2626
  setIsValidating(false);
2627
2627
  }
@@ -2629,7 +2629,7 @@ function useAccessCodeIntegration() {
2629
2629
  const consume = async (email, code) => {
2630
2630
  setIsConsuming(true);
2631
2631
  try {
2632
- return await _chunkDUVOQHQIcjs.consumeAccessCode.call(void 0, email, code, endpoints);
2632
+ return await _chunkW2RM764Dcjs.consumeAccessCode.call(void 0, email, code, endpoints);
2633
2633
  } finally {
2634
2634
  setIsConsuming(false);
2635
2635
  }
@@ -2638,7 +2638,7 @@ function useAccessCodeIntegration() {
2638
2638
  setIsValidating(true);
2639
2639
  setIsConsuming(true);
2640
2640
  try {
2641
- return await _chunkDUVOQHQIcjs.validateAndConsumeAccessCode.call(void 0, email, code, endpoints);
2641
+ return await _chunkW2RM764Dcjs.validateAndConsumeAccessCode.call(void 0, email, code, endpoints);
2642
2642
  } finally {
2643
2643
  setIsValidating(false);
2644
2644
  setIsConsuming(false);
@@ -2668,7 +2668,7 @@ async function revalidateMirror(mirrorPath) {
2668
2668
  }
2669
2669
  function useClaudeMirrorSrc(url) {
2670
2670
  const endpoints = _chunkMZ4KBSH7cjs.useEndpointsRuntime.call(void 0, );
2671
- const mirrorPath = _chunkDUVOQHQIcjs.toClaudeMirrorPath.call(void 0, url, _optionalChain([endpoints, 'optionalAccess', _32 => _32.storageViewBaseUrl]));
2671
+ const mirrorPath = _chunkW2RM764Dcjs.toClaudeMirrorPath.call(void 0, url, _optionalChain([endpoints, 'optionalAccess', _32 => _32.storageViewBaseUrl]));
2672
2672
  const [resolved, setResolved] = _react.useState.call(void 0, null);
2673
2673
  const state = resolved && resolved.key === mirrorPath ? resolved.value : { src: null, status: mirrorPath ? "probing" : "absent" };
2674
2674
  _react.useEffect.call(void 0, () => {
@@ -2699,7 +2699,7 @@ function useClaudeMirrorSrc(url) {
2699
2699
 
2700
2700
  // src/hooks/use-location-hash.ts
2701
2701
 
2702
- var HASH_EVENTS = ["hashchange", "popstate", _chunkSA7LDEVJcjs.LOCATION_HASH_SYNC_EVENT];
2702
+ var HASH_EVENTS = ["hashchange", "popstate", _chunkCSJO7ZGNcjs.LOCATION_HASH_SYNC_EVENT];
2703
2703
  function subscribe(onChange) {
2704
2704
  for (const event of HASH_EVENTS) window.addEventListener(event, onChange);
2705
2705
  return () => {
@@ -2707,7 +2707,7 @@ function subscribe(onChange) {
2707
2707
  };
2708
2708
  }
2709
2709
  function readHash() {
2710
- const raw = _chunkSA7LDEVJcjs.normalizeHashFragment.call(void 0, window.location.hash).replace(/^#/, "");
2710
+ const raw = _chunkCSJO7ZGNcjs.normalizeHashFragment.call(void 0, window.location.hash).replace(/^#/, "");
2711
2711
  try {
2712
2712
  return decodeURIComponent(raw);
2713
2713
  } catch (e7) {
@@ -2734,16 +2734,16 @@ function useScrollToHash(readyDep = true, options) {
2734
2734
  }
2735
2735
  };
2736
2736
  const tryScrollToHash = () => {
2737
- if (_chunkSA7LDEVJcjs.isScrollSyncedHash.call(void 0, )) return;
2738
- const hash = _chunkSA7LDEVJcjs.normalizeHashFragment.call(void 0, window.location.hash).slice(1);
2737
+ if (_chunkCSJO7ZGNcjs.isScrollSyncedHash.call(void 0, )) return;
2738
+ const hash = _chunkCSJO7ZGNcjs.normalizeHashFragment.call(void 0, window.location.hash).slice(1);
2739
2739
  if (!hash) return;
2740
2740
  cancelPoll();
2741
2741
  let frames = 0;
2742
2742
  const tick = () => {
2743
- const el = _chunkSA7LDEVJcjs.getHashTargetElement.call(void 0, hash);
2743
+ const el = _chunkCSJO7ZGNcjs.getHashTargetElement.call(void 0, hash);
2744
2744
  if (el) {
2745
2745
  rafId = null;
2746
- _chunkSA7LDEVJcjs.scrollElementIntoView.call(void 0, el, { headerOffset });
2746
+ _chunkCSJO7ZGNcjs.scrollElementIntoView.call(void 0, el, { headerOffset });
2747
2747
  return;
2748
2748
  }
2749
2749
  if (frames++ < MAX_POLL_FRAMES) {
@@ -2771,8 +2771,8 @@ function useHumanitySignals() {
2771
2771
  const startedAtRef = _react.useRef.call(void 0, mountedAt);
2772
2772
  const getSignals = _react.useCallback.call(void 0,
2773
2773
  () => ({
2774
- [_chunkDUVOQHQIcjs.HONEYPOT_FIELD]: _nullishCoalesce(_optionalChain([ref, 'access', _34 => _34.current, 'optionalAccess', _35 => _35.value]), () => ( "")),
2775
- [_chunkDUVOQHQIcjs.ELAPSED_MS_FIELD]: typeof performance !== "undefined" ? Math.round(performance.now() - startedAtRef.current) : 0
2774
+ [_chunkW2RM764Dcjs.HONEYPOT_FIELD]: _nullishCoalesce(_optionalChain([ref, 'access', _34 => _34.current, 'optionalAccess', _35 => _35.value]), () => ( "")),
2775
+ [_chunkW2RM764Dcjs.ELAPSED_MS_FIELD]: typeof performance !== "undefined" ? Math.round(performance.now() - startedAtRef.current) : 0
2776
2776
  }),
2777
2777
  []
2778
2778
  );
@@ -2780,7 +2780,7 @@ function useHumanitySignals() {
2780
2780
  if (ref.current) ref.current.value = "";
2781
2781
  if (typeof performance !== "undefined") startedAtRef.current = performance.now();
2782
2782
  }, []);
2783
- return { honeypotInputProps: { ref, name: _chunkDUVOQHQIcjs.HONEYPOT_FIELD }, getSignals, resetSignals };
2783
+ return { honeypotInputProps: { ref, name: _chunkW2RM764Dcjs.HONEYPOT_FIELD }, getSignals, resetSignals };
2784
2784
  }
2785
2785
 
2786
2786
  // src/hooks/use-form-rescue.ts
@@ -2793,9 +2793,9 @@ function readLocalDraft(formId) {
2793
2793
  const raw = window.localStorage.getItem(STORAGE_PREFIX + formId);
2794
2794
  if (!raw) return null;
2795
2795
  const parsed = JSON.parse(raw);
2796
- if (!_chunkDUVOQHQIcjs.isFormAttemptId.call(void 0, parsed.attemptId) || typeof parsed.savedAt !== "number") return null;
2796
+ if (!_chunkW2RM764Dcjs.isFormAttemptId.call(void 0, parsed.attemptId) || typeof parsed.savedAt !== "number") return null;
2797
2797
  if (Date.now() - parsed.savedAt > LOCAL_DRAFT_TTL_MS) return null;
2798
- return { attemptId: parsed.attemptId, values: _chunkDUVOQHQIcjs.sanitizeRescueValues.call(void 0, parsed.values), savedAt: parsed.savedAt };
2798
+ return { attemptId: parsed.attemptId, values: _chunkW2RM764Dcjs.sanitizeRescueValues.call(void 0, parsed.values), savedAt: parsed.savedAt };
2799
2799
  } catch (e8) {
2800
2800
  return null;
2801
2801
  }
@@ -2815,9 +2815,9 @@ function clearLocalDraft(formId) {
2815
2815
  function completeFormRescue(form, attemptId) {
2816
2816
  if (!form || typeof window === "undefined") return;
2817
2817
  const local = readLocalDraft(form.id);
2818
- _chunkDUVOQHQIcjs.captureFormRescueEvent.call(void 0, _chunkDUVOQHQIcjs.FORM_RESCUE_EVENTS.submitted, {
2818
+ _chunkW2RM764Dcjs.captureFormRescueEvent.call(void 0, _chunkW2RM764Dcjs.FORM_RESCUE_EVENTS.submitted, {
2819
2819
  form_id: form.id,
2820
- attempt_id: _chunkDUVOQHQIcjs.isFormAttemptId.call(void 0, attemptId) ? attemptId : _nullishCoalesce(_optionalChain([local, 'optionalAccess', _36 => _36.attemptId]), () => ( null))
2820
+ attempt_id: _chunkW2RM764Dcjs.isFormAttemptId.call(void 0, attemptId) ? attemptId : _nullishCoalesce(_optionalChain([local, 'optionalAccess', _36 => _36.attemptId]), () => ( null))
2821
2821
  });
2822
2822
  clearLocalDraft(form.id);
2823
2823
  }
@@ -2870,7 +2870,7 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2870
2870
  ...resumeTokenRef.current ? { resume_token: resumeTokenRef.current } : {}
2871
2871
  };
2872
2872
  try {
2873
- void _chunkPX7FY655cjs.contentFetch.call(void 0, draftsUrl, {
2873
+ void _chunkASMNNSUQcjs.contentFetch.call(void 0, draftsUrl, {
2874
2874
  method: "POST",
2875
2875
  headers: { "Content-Type": "application/json" },
2876
2876
  body: JSON.stringify({ ...body, ..._nullishCoalesce(_optionalChain([getSignalsRef, 'access', _39 => _39.current, 'optionalCall', _40 => _40()]), () => ( {})) }),
@@ -2878,7 +2878,7 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2878
2878
  }).catch(() => void 0);
2879
2879
  } catch (e12) {
2880
2880
  }
2881
- _chunkDUVOQHQIcjs.captureFormRescueEvent.call(void 0, _chunkDUVOQHQIcjs.FORM_RESCUE_EVENTS.progress, {
2881
+ _chunkW2RM764Dcjs.captureFormRescueEvent.call(void 0, _chunkW2RM764Dcjs.FORM_RESCUE_EVENTS.progress, {
2882
2882
  form_id: formId,
2883
2883
  attempt_id: attemptId(),
2884
2884
  fields_filled: body.fields_filled,
@@ -2891,23 +2891,23 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2891
2891
  _react.useEffect.call(void 0, () => {
2892
2892
  if (!formId || typeof window === "undefined") return void 0;
2893
2893
  let cancelled = false;
2894
- const token = new URLSearchParams(window.location.search).get(_chunkDUVOQHQIcjs.FORM_RESCUE_RESUME_PARAM);
2894
+ const token = new URLSearchParams(window.location.search).get(_chunkW2RM764Dcjs.FORM_RESCUE_RESUME_PARAM);
2895
2895
  const restoreLocal = () => {
2896
2896
  const local = readLocalDraft(formId);
2897
2897
  if (!local) return;
2898
2898
  attemptIdRef.current = local.attemptId;
2899
2899
  if (Object.keys(local.values).length) _optionalChain([onRestoreRef, 'access', _41 => _41.current, 'optionalCall', _42 => _42(local.values)]);
2900
2900
  };
2901
- if (_chunkDUVOQHQIcjs.isResumeToken.call(void 0, token) && draftsUrl) {
2902
- _chunkPX7FY655cjs.contentFetch.call(void 0, `${draftsUrl}/resume/${encodeURIComponent(token)}`).then(async (res) => res.ok ? await res.json() : null).then((data) => {
2901
+ if (_chunkW2RM764Dcjs.isResumeToken.call(void 0, token) && draftsUrl) {
2902
+ _chunkASMNNSUQcjs.contentFetch.call(void 0, `${draftsUrl}/resume/${encodeURIComponent(token)}`).then(async (res) => res.ok ? await res.json() : null).then((data) => {
2903
2903
  if (cancelled) return;
2904
2904
  if (!data || data.form_id !== formId) {
2905
2905
  restoreLocal();
2906
2906
  return;
2907
2907
  }
2908
2908
  resumeTokenRef.current = token;
2909
- _optionalChain([onRestoreRef, 'access', _43 => _43.current, 'optionalCall', _44 => _44(_chunkDUVOQHQIcjs.sanitizeRescueValues.call(void 0, data.values))]);
2910
- _chunkDUVOQHQIcjs.captureFormRescueEvent.call(void 0, _chunkDUVOQHQIcjs.FORM_RESCUE_EVENTS.resumed, { form_id: formId, attempt_id: attemptId() });
2909
+ _optionalChain([onRestoreRef, 'access', _43 => _43.current, 'optionalCall', _44 => _44(_chunkW2RM764Dcjs.sanitizeRescueValues.call(void 0, data.values))]);
2910
+ _chunkW2RM764Dcjs.captureFormRescueEvent.call(void 0, _chunkW2RM764Dcjs.FORM_RESCUE_EVENTS.resumed, { form_id: formId, attempt_id: attemptId() });
2911
2911
  }).catch(() => {
2912
2912
  if (!cancelled) restoreLocal();
2913
2913
  });
@@ -2927,7 +2927,7 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2927
2927
  timerRef.current = null;
2928
2928
  }
2929
2929
  send(true);
2930
- _chunkDUVOQHQIcjs.captureFormRescueEvent.call(void 0, _chunkDUVOQHQIcjs.FORM_RESCUE_EVENTS.abandoned, {
2930
+ _chunkW2RM764Dcjs.captureFormRescueEvent.call(void 0, _chunkW2RM764Dcjs.FORM_RESCUE_EVENTS.abandoned, {
2931
2931
  form_id: formId,
2932
2932
  attempt_id: attemptId(),
2933
2933
  last_field: _nullishCoalesce(_optionalChain([latestRef, 'access', _45 => _45.current, 'optionalAccess', _46 => _46.last_field]), () => ( null)),
@@ -2951,22 +2951,22 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2951
2951
  const names = fieldNamesRef.current;
2952
2952
  const visible = {};
2953
2953
  for (const name of names) visible[name] = values[name];
2954
- const filled = _chunkDUVOQHQIcjs.filledRescueFields.call(void 0, visible, names);
2954
+ const filled = _chunkW2RM764Dcjs.filledRescueFields.call(void 0, visible, names);
2955
2955
  if (!filled.length) return;
2956
2956
  if (!startedRef.current) {
2957
2957
  startedRef.current = true;
2958
- _chunkDUVOQHQIcjs.captureFormRescueEvent.call(void 0, _chunkDUVOQHQIcjs.FORM_RESCUE_EVENTS.started, { form_id: formId, attempt_id: attemptId() });
2958
+ _chunkW2RM764Dcjs.captureFormRescueEvent.call(void 0, _chunkW2RM764Dcjs.FORM_RESCUE_EVENTS.started, { form_id: formId, attempt_id: attemptId() });
2959
2959
  }
2960
- const clean = _chunkDUVOQHQIcjs.sanitizeRescueValues.call(void 0, visible);
2961
- if (!leadCapturedRef.current && _chunkDUVOQHQIcjs.isRescueEmail.call(void 0, clean.email)) {
2960
+ const clean = _chunkW2RM764Dcjs.sanitizeRescueValues.call(void 0, visible);
2961
+ if (!leadCapturedRef.current && _chunkW2RM764Dcjs.isRescueEmail.call(void 0, clean.email)) {
2962
2962
  leadCapturedRef.current = true;
2963
- _chunkDUVOQHQIcjs.captureFormRescueEvent.call(void 0, _chunkDUVOQHQIcjs.FORM_RESCUE_EVENTS.leadCaptured, { form_id: formId, attempt_id: attemptId() });
2963
+ _chunkW2RM764Dcjs.captureFormRescueEvent.call(void 0, _chunkW2RM764Dcjs.FORM_RESCUE_EVENTS.leadCaptured, { form_id: formId, attempt_id: attemptId() });
2964
2964
  }
2965
2965
  latestRef.current = {
2966
2966
  values: clean,
2967
2967
  fields_filled: filled,
2968
- last_field: _chunkDUVOQHQIcjs.sanitizeRescueFieldName.call(void 0, lastField),
2969
- completion_pct: _chunkDUVOQHQIcjs.rescueCompletionPct.call(void 0, filled.length, names.length)
2968
+ last_field: _chunkW2RM764Dcjs.sanitizeRescueFieldName.call(void 0, lastField),
2969
+ completion_pct: _chunkW2RM764Dcjs.rescueCompletionPct.call(void 0, filled.length, names.length)
2970
2970
  };
2971
2971
  dirtyRef.current = true;
2972
2972
  writeLocalDraft(formId, { attemptId: attemptId(), values: clean, savedAt: Date.now() });
@@ -2974,15 +2974,15 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2974
2974
  timerRef.current = setTimeout(() => {
2975
2975
  timerRef.current = null;
2976
2976
  send(false);
2977
- }, _chunkDUVOQHQIcjs.FORM_RESCUE_DEBOUNCE_MS);
2977
+ }, _chunkW2RM764Dcjs.FORM_RESCUE_DEBOUNCE_MS);
2978
2978
  },
2979
2979
  [attemptId, formId, send]
2980
2980
  );
2981
2981
  const submitFields = _react.useCallback.call(void 0, () => {
2982
2982
  if (!formId) return {};
2983
2983
  return {
2984
- [_chunkDUVOQHQIcjs.FORM_RESCUE_ATTEMPT_FIELD]: attemptId(),
2985
- ...resumeTokenRef.current ? { [_chunkDUVOQHQIcjs.FORM_RESCUE_RESUME_FIELD]: resumeTokenRef.current } : {}
2984
+ [_chunkW2RM764Dcjs.FORM_RESCUE_ATTEMPT_FIELD]: attemptId(),
2985
+ ...resumeTokenRef.current ? { [_chunkW2RM764Dcjs.FORM_RESCUE_RESUME_FIELD]: resumeTokenRef.current } : {}
2986
2986
  };
2987
2987
  }, [attemptId, formId]);
2988
2988
  const complete = _react.useCallback.call(void 0, () => {