@flamingo-stack/openframe-frontend-core 0.0.705 → 0.0.706-snapshot.20261006190707

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 (206) hide show
  1. package/dist/{chunk-4KX6OED2.cjs → chunk-2G7UYK35.cjs} +46 -46
  2. package/dist/{chunk-KOWVJD4V.cjs → chunk-2KXTOP6G.cjs} +70 -57
  3. package/dist/{chunk-A75QY6CD.cjs → chunk-2RNB5DTN.cjs} +21 -21
  4. package/dist/{chunk-PN2RKPDF.js → chunk-36BCTE7D.js} +10 -10
  5. package/dist/{chunk-ZSAGLQOD.cjs → chunk-3AHTOSXJ.cjs} +17 -17
  6. package/dist/{chunk-VR2ZLFCP.js → chunk-4IBPRIQH.js} +1 -1
  7. package/dist/{chunk-FCGC42TS.js → chunk-4L6XCMOU.js} +66 -62
  8. package/dist/{chunk-X5MQ7JRP.js → chunk-4UM2ETLM.js} +9 -9
  9. package/dist/{chunk-6NJKKO73.cjs → chunk-6I4ZAFO2.cjs} +15 -15
  10. package/dist/{chunk-RBDP4WDE.js → chunk-6IW7TWPV.js} +6 -6
  11. package/dist/{chunk-MMOODW57.cjs → chunk-6NTPY5QA.cjs} +1887 -94
  12. package/dist/{chunk-QFXRPRFT.js → chunk-6YKAT7NV.js} +3 -3
  13. package/dist/{chunk-HPWWNJE7.cjs → chunk-AOWDNSTM.cjs} +89 -89
  14. package/dist/{chunk-IHERL5V4.cjs → chunk-B73373AG.cjs} +34 -34
  15. package/dist/{chunk-DENB2XJC.js → chunk-CNWOMQQJ.js} +2 -2
  16. package/dist/{chunk-MP2C3LJ4.js → chunk-CUME3VTQ.js} +1 -1
  17. package/dist/{chunk-PDWVPI3S.js → chunk-CZ7Y7UG4.js} +4 -72
  18. package/dist/{chunk-YHM5AWTT.js → chunk-CZSZSDD4.js} +6 -6
  19. package/dist/{chunk-F6I6XZMN.js → chunk-DA5UDTLG.js} +5 -5
  20. package/dist/{chunk-MFFCUVWG.js → chunk-F57ECE2I.js} +1 -1
  21. package/dist/{chunk-CH5232HV.js → chunk-FI6GMDO7.js} +2455 -662
  22. package/dist/{chunk-NDESEPW5.js → chunk-FXJ3WWUB.js} +68 -0
  23. package/dist/{chunk-G5A3PSPV.js → chunk-HDOYSEOJ.js} +1080 -691
  24. package/dist/{chunk-VA5T32XA.js → chunk-I3ST4PLM.js} +2 -2
  25. package/dist/{chunk-5HBHO5TB.js → chunk-JPG7OHEG.js} +1 -1
  26. package/dist/{chunk-YFBM2K6X.cjs → chunk-JRU2CXLB.cjs} +4 -4
  27. package/dist/{chunk-MKXO4Q5P.js → chunk-KUC673HM.js} +383 -142
  28. package/dist/{chunk-JEZKGCZI.cjs → chunk-L6Y6OOKG.cjs} +26 -26
  29. package/dist/{chunk-F6AFPNDF.js → chunk-LFFB6EMB.js} +29 -16
  30. package/dist/{chunk-X72J4ACL.cjs → chunk-LLSUVPQC.cjs} +252 -8
  31. package/dist/{chunk-RKV5B7EU.cjs → chunk-LM7TXMLU.cjs} +72 -4
  32. package/dist/{chunk-6SEANMOU.js → chunk-LNW45N2C.js} +11 -11
  33. package/dist/{chunk-OUY3HHW6.cjs → chunk-LRQTJOF2.cjs} +928 -539
  34. package/dist/{chunk-DW7G4KG3.js → chunk-MR3A4MZV.js} +3 -3
  35. package/dist/{chunk-2YXVWZVF.js → chunk-N45D4ZXQ.js} +959 -715
  36. package/dist/{chunk-Z2VNQQ74.js → chunk-NCPTID44.js} +978 -942
  37. package/dist/{chunk-WA6GUYQ4.cjs → chunk-NSGXARGJ.cjs} +104 -104
  38. package/dist/{chunk-ABU3TGXA.cjs → chunk-OF6GEI5A.cjs} +3 -3
  39. package/dist/{chunk-IKTQ3ZAG.cjs → chunk-OJLR5MEO.cjs} +6 -6
  40. package/dist/{chunk-VESKITRQ.cjs → chunk-P42V6N34.cjs} +736 -732
  41. package/dist/{chunk-OHFS7VOU.cjs → chunk-PLYEKV3N.cjs} +2 -2
  42. package/dist/{chunk-7VVFKJY5.js → chunk-PO33GZVY.js} +1799 -3449
  43. package/dist/{chunk-7LS22BZU.cjs → chunk-QAOFMK2A.cjs} +14 -14
  44. package/dist/{chunk-VHCACDKP.cjs → chunk-RQRX4YC3.cjs} +39 -39
  45. package/dist/{chunk-3MX5S4CF.cjs → chunk-SEXWHIMS.cjs} +899 -2549
  46. package/dist/{chunk-AQWZNP6A.js → chunk-SS5MBHDP.js} +4 -4
  47. package/dist/{chunk-ZSAO2HBW.js → chunk-TDYIREDJ.js} +15 -15
  48. package/dist/{chunk-XOYH2YQE.cjs → chunk-UDFRUKLC.cjs} +2 -2
  49. package/dist/{chunk-TYWLNCNH.cjs → chunk-UVTD52MD.cjs} +14 -82
  50. package/dist/{chunk-N3COXDBH.cjs → chunk-VX4E6YSB.cjs} +41 -5
  51. package/dist/{chunk-2QEUFXNS.cjs → chunk-WCVZCGK5.cjs} +312 -71
  52. package/dist/{chunk-6XIF2Z7I.js → chunk-WMX26HB5.js} +3 -3
  53. package/dist/{chunk-D7BTSVMS.cjs → chunk-Y2GSOUCS.cjs} +2 -2
  54. package/dist/{chunk-4I45Y3DN.cjs → chunk-YBUT4AMG.cjs} +6 -6
  55. package/dist/components/case-studies/index.cjs +30 -32
  56. package/dist/components/case-studies/index.js +14 -16
  57. package/dist/components/chat/entity-cards/case-study-card.d.ts +11 -4
  58. package/dist/components/chat/entity-cards/case-study-card.d.ts.map +1 -1
  59. package/dist/components/chat/index.cjs +11 -11
  60. package/dist/components/chat/index.d.ts +1 -1
  61. package/dist/components/chat/index.d.ts.map +1 -1
  62. package/dist/components/chat/index.js +16 -16
  63. package/dist/components/chat/nav-link-anchor-via-runtime.d.ts +34 -5
  64. package/dist/components/chat/nav-link-anchor-via-runtime.d.ts.map +1 -1
  65. package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
  66. package/dist/components/contact/index.cjs +12 -14
  67. package/dist/components/contact/index.js +11 -13
  68. package/dist/components/docs/index.cjs +15 -17
  69. package/dist/components/docs/index.js +14 -16
  70. package/dist/components/embeds/index.cjs +12 -14
  71. package/dist/components/embeds/index.js +11 -13
  72. package/dist/components/faq/index.cjs +13 -15
  73. package/dist/components/faq/index.js +12 -14
  74. package/dist/components/features/index.cjs +12 -14
  75. package/dist/components/features/index.js +21 -23
  76. package/dist/components/help-center-pages/index.cjs +118 -120
  77. package/dist/components/help-center-pages/index.js +33 -35
  78. package/dist/components/icons/index.cjs +3 -5
  79. package/dist/components/icons/index.js +9 -11
  80. package/dist/components/icons-v2-generated/index.cjs +3 -5
  81. package/dist/components/icons-v2-generated/index.js +2 -4
  82. package/dist/components/index.cjs +87 -158
  83. package/dist/components/index.d.ts +0 -2
  84. package/dist/components/index.d.ts.map +1 -1
  85. package/dist/components/index.js +331 -402
  86. package/dist/components/loading/page-layout-skeleton.d.ts +1 -1
  87. package/dist/components/meeting-scheduler/index.cjs +62 -64
  88. package/dist/components/meeting-scheduler/index.js +12 -14
  89. package/dist/components/navigation/index.cjs +28 -16
  90. package/dist/components/navigation/index.d.ts +14 -10
  91. package/dist/components/navigation/index.d.ts.map +1 -1
  92. package/dist/components/navigation/index.js +38 -26
  93. package/dist/components/navigation/mingo-ai-button.d.ts +38 -3
  94. package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
  95. package/dist/components/navigation/mobile-nav-sheet-id.d.ts +3 -0
  96. package/dist/components/navigation/mobile-nav-sheet-id.d.ts.map +1 -0
  97. package/dist/components/navigation/mobile-nav-sheet.d.ts +48 -0
  98. package/dist/components/navigation/mobile-nav-sheet.d.ts.map +1 -0
  99. package/dist/components/navigation/nav-item-row.d.ts +27 -0
  100. package/dist/components/navigation/nav-item-row.d.ts.map +1 -0
  101. package/dist/components/navigation/nav-panel.d.ts +43 -0
  102. package/dist/components/navigation/nav-panel.d.ts.map +1 -0
  103. package/dist/components/navigation/navigation-sidebar-item.d.ts +1 -2
  104. package/dist/components/navigation/navigation-sidebar-item.d.ts.map +1 -1
  105. package/dist/components/navigation/site-footer.d.ts +28 -0
  106. package/dist/components/navigation/site-footer.d.ts.map +1 -0
  107. package/dist/components/navigation/site-header.d.ts +61 -0
  108. package/dist/components/navigation/site-header.d.ts.map +1 -0
  109. package/dist/components/navigation/site-nav-link.d.ts +26 -0
  110. package/dist/components/navigation/site-nav-link.d.ts.map +1 -0
  111. package/dist/components/navigation/top-navigation.d.ts +2 -2
  112. package/dist/components/navigation/top-navigation.d.ts.map +1 -1
  113. package/dist/components/onboarding-guides/index.cjs +15 -17
  114. package/dist/components/onboarding-guides/index.js +14 -16
  115. package/dist/components/platform/ToolBadge.d.ts +6 -0
  116. package/dist/components/platform/ToolBadge.d.ts.map +1 -1
  117. package/dist/components/related-content/index.cjs +10 -8
  118. package/dist/components/related-content/index.js +9 -7
  119. package/dist/components/tickets/index.cjs +16 -18
  120. package/dist/components/tickets/index.js +15 -17
  121. package/dist/components/ui/brand-association-card.d.ts +7 -0
  122. package/dist/components/ui/brand-association-card.d.ts.map +1 -1
  123. package/dist/components/ui/index.cjs +14 -14
  124. package/dist/components/ui/index.js +19 -19
  125. package/dist/hooks/index.cjs +19 -11
  126. package/dist/hooks/index.d.ts +1 -0
  127. package/dist/hooks/index.d.ts.map +1 -1
  128. package/dist/hooks/index.js +19 -11
  129. package/dist/hooks/ui/index.d.ts +3 -0
  130. package/dist/hooks/ui/index.d.ts.map +1 -1
  131. package/dist/hooks/ui/use-active-section.d.ts +10 -0
  132. package/dist/hooks/ui/use-active-section.d.ts.map +1 -0
  133. package/dist/hooks/ui/use-nav-menus.d.ts +48 -0
  134. package/dist/hooks/ui/use-nav-menus.d.ts.map +1 -0
  135. package/dist/hooks/ui/use-visitor-os.d.ts +15 -0
  136. package/dist/hooks/ui/use-visitor-os.d.ts.map +1 -0
  137. package/dist/hooks/use-location-hash.d.ts +9 -0
  138. package/dist/hooks/use-location-hash.d.ts.map +1 -0
  139. package/dist/index.cjs +56 -21
  140. package/dist/index.js +231 -196
  141. package/dist/types/case-study.d.ts +9 -0
  142. package/dist/types/case-study.d.ts.map +1 -1
  143. package/dist/types/navigation.d.ts +95 -65
  144. package/dist/types/navigation.d.ts.map +1 -1
  145. package/dist/utils/index.cjs +55 -0
  146. package/dist/utils/index.d.ts +1 -0
  147. package/dist/utils/index.d.ts.map +1 -1
  148. package/dist/utils/index.js +50 -1
  149. package/dist/utils/source-icons.d.ts.map +1 -1
  150. package/dist/utils/visitor-os.d.ts +45 -0
  151. package/dist/utils/visitor-os.d.ts.map +1 -0
  152. package/package.json +1 -1
  153. package/src/components/chat/entity-cards/case-study-card.tsx +115 -5
  154. package/src/components/chat/index.ts +7 -1
  155. package/src/components/chat/nav-link-anchor-via-runtime.tsx +62 -9
  156. package/src/components/chat/utils/icon-library.tsx +35 -1
  157. package/src/components/index.ts +0 -2
  158. package/src/components/loading/page-layout-skeleton.tsx +1 -1
  159. package/src/components/navigation/index.ts +21 -14
  160. package/src/components/navigation/mingo-ai-button.tsx +139 -63
  161. package/src/components/navigation/mobile-nav-sheet-id.ts +2 -0
  162. package/src/components/navigation/mobile-nav-sheet.tsx +241 -0
  163. package/src/components/navigation/nav-item-row.tsx +129 -0
  164. package/src/components/navigation/nav-panel.tsx +196 -0
  165. package/src/components/navigation/navigation-sidebar-item.tsx +1 -2
  166. package/src/components/navigation/site-footer.tsx +256 -0
  167. package/src/components/navigation/site-header.tsx +339 -0
  168. package/src/components/navigation/site-nav-link.tsx +41 -0
  169. package/src/components/navigation/ticket-alerts-button.tsx +2 -2
  170. package/src/components/navigation/top-navigation.tsx +2 -2
  171. package/src/components/platform/ToolBadge.tsx +18 -1
  172. package/src/components/ui/brand-association-card.tsx +25 -3
  173. package/src/hooks/index.ts +1 -0
  174. package/src/hooks/ui/index.ts +3 -0
  175. package/src/hooks/ui/use-active-section.ts +44 -0
  176. package/src/hooks/ui/use-nav-menus.ts +200 -0
  177. package/src/hooks/ui/use-visitor-os.ts +33 -0
  178. package/src/hooks/use-location-hash.ts +34 -0
  179. package/src/styles/chat-animations.css +57 -2
  180. package/src/types/case-study.ts +16 -0
  181. package/src/types/navigation.ts +80 -66
  182. package/src/utils/index.ts +1 -0
  183. package/src/utils/source-icons.ts +13 -0
  184. package/src/utils/visitor-os.ts +84 -0
  185. package/dist/chunk-LMBC5FFP.js +0 -43
  186. package/dist/chunk-O43V3EOS.js +0 -252
  187. package/dist/chunk-QZVSJF2K.cjs +0 -252
  188. package/dist/chunk-RALRPFDW.cjs +0 -43
  189. package/dist/components/footer-waitlist-button.d.ts +0 -29
  190. package/dist/components/footer-waitlist-button.d.ts.map +0 -1
  191. package/dist/components/footer.d.ts +0 -47
  192. package/dist/components/footer.d.ts.map +0 -1
  193. package/dist/components/navigation/client-only-header.d.ts +0 -8
  194. package/dist/components/navigation/client-only-header.d.ts.map +0 -1
  195. package/dist/components/navigation/header-skeleton.d.ts +0 -12
  196. package/dist/components/navigation/header-skeleton.d.ts.map +0 -1
  197. package/dist/components/navigation/header.d.ts +0 -9
  198. package/dist/components/navigation/header.d.ts.map +0 -1
  199. package/dist/components/navigation/mobile-nav-panel.d.ts +0 -10
  200. package/dist/components/navigation/mobile-nav-panel.d.ts.map +0 -1
  201. package/src/components/footer-waitlist-button.tsx +0 -53
  202. package/src/components/footer.tsx +0 -195
  203. package/src/components/navigation/client-only-header.tsx +0 -22
  204. package/src/components/navigation/header-skeleton.tsx +0 -74
  205. package/src/components/navigation/header.tsx +0 -429
  206. package/src/components/navigation/mobile-nav-panel.tsx +0 -155
@@ -4,7 +4,7 @@ import "../chunk-64IBNSDF.js";
4
4
  import {
5
5
  GROUP_PAGE_SIZE,
6
6
  RelatedContentSection
7
- } from "../chunk-6XIF2Z7I.js";
7
+ } from "../chunk-WMX26HB5.js";
8
8
  import {
9
9
  CveLink,
10
10
  OnboardingStepCard,
@@ -15,28 +15,35 @@ import {
15
15
  SoftwareInfo,
16
16
  SoftwareSourceBadge,
17
17
  ToolBadge
18
- } from "../chunk-F6AFPNDF.js";
18
+ } from "../chunk-LFFB6EMB.js";
19
19
  import {
20
+ ASK_AI_OPEN_EVENT,
20
21
  AppHeader,
21
22
  AppLayout,
22
- ClientOnlyHeader,
23
- Header,
24
23
  HeaderGlobalSearch,
25
24
  HeaderMingoButton,
26
25
  HeaderOrganizationFilter,
27
- HeaderSkeleton,
28
- MOBILE_NAV_PANEL_ID,
26
+ MOBILE_NAV_SHEET_ID,
29
27
  MingoAiButton,
30
28
  MobileBurgerMenu,
31
- MobileNavPanel,
29
+ MobileNavSheet,
32
30
  NAVIGATION_SIDEBAR_WIDTH_VAR,
31
+ NavItemRow,
32
+ NavPanel,
33
33
  NavigationItemBadge,
34
34
  NavigationSidebar,
35
35
  SIDE_PANEL_FRAME_WIDTH,
36
+ SiteFooter,
37
+ SiteHeader,
36
38
  SlidingSidebar,
37
39
  TicketAlertsButton,
38
- TopNavigation
39
- } from "../chunk-G5A3PSPV.js";
40
+ TopNavigation,
41
+ defaultRenderSiteNavLink,
42
+ isMegaMenu,
43
+ navLinkLabel,
44
+ openAskAi,
45
+ siteNavHasMobileMenus
46
+ } from "../chunk-HDOYSEOJ.js";
40
47
  import {
41
48
  DeliveryLists,
42
49
  DeliveryTable,
@@ -50,7 +57,7 @@ import {
50
57
  RoadmapView,
51
58
  useLegalDocs,
52
59
  useRoadmapVoting
53
- } from "../chunk-ZSAO2HBW.js";
60
+ } from "../chunk-TDYIREDJ.js";
54
61
  import {
55
62
  DocNavigationProvider,
56
63
  DocViewer,
@@ -64,28 +71,28 @@ import {
64
71
  useDocNavigation,
65
72
  useDocumentTree,
66
73
  useScrollSpy
67
- } from "../chunk-YHM5AWTT.js";
74
+ } from "../chunk-CZSZSDD4.js";
68
75
  import {
69
76
  FileDownloadCard,
70
77
  GoogleSheetsViewer,
71
78
  PdfViewer
72
- } from "../chunk-RBDP4WDE.js";
79
+ } from "../chunk-6IW7TWPV.js";
73
80
  import {
74
81
  PersistentPagination,
75
82
  PersistentPaginationWrapper,
76
83
  usePaginationLoading
77
- } from "../chunk-5HBHO5TB.js";
84
+ } from "../chunk-JPG7OHEG.js";
78
85
  import {
79
86
  FaqAccordion,
80
87
  FaqDocumentPage,
81
88
  FaqSection
82
- } from "../chunk-X5MQ7JRP.js";
89
+ } from "../chunk-4UM2ETLM.js";
83
90
  import {
84
91
  MobileNavigationDropdown,
85
92
  MultiLevelNavigation,
86
93
  StickySectionNav,
87
94
  useSectionNavigation
88
- } from "../chunk-DENB2XJC.js";
95
+ } from "../chunk-CNWOMQQJ.js";
89
96
  import {
90
97
  DeliveryRow,
91
98
  DevCardRowContent,
@@ -94,16 +101,16 @@ import {
94
101
  DevSectionPage,
95
102
  DevSectionView,
96
103
  ListEmptyState
97
- } from "../chunk-DW7G4KG3.js";
104
+ } from "../chunk-MR3A4MZV.js";
98
105
  import {
99
106
  EmptyState,
100
107
  UnifiedPagination
101
- } from "../chunk-MFFCUVWG.js";
102
- import "../chunk-QFXRPRFT.js";
108
+ } from "../chunk-F57ECE2I.js";
109
+ import "../chunk-6YKAT7NV.js";
103
110
  import {
104
111
  ArticleAuthorByline,
105
112
  DetailPageSkeleton
106
- } from "../chunk-VA5T32XA.js";
113
+ } from "../chunk-I3ST4PLM.js";
107
114
  import {
108
115
  DocSearchBar,
109
116
  DocSearchResultRow,
@@ -111,10 +118,10 @@ import {
111
118
  mapDocSearchResults,
112
119
  resolveSearchResultAction,
113
120
  useDocSearch
114
- } from "../chunk-F6I6XZMN.js";
121
+ } from "../chunk-DA5UDTLG.js";
115
122
  import {
116
123
  useSelfFetch
117
- } from "../chunk-VR2ZLFCP.js";
124
+ } from "../chunk-4IBPRIQH.js";
118
125
  import {
119
126
  AIEnrichButton,
120
127
  AIEnrichSection,
@@ -605,7 +612,6 @@ import {
605
612
  benefitCardBorderClass,
606
613
  clearLegacyAnnouncementCache,
607
614
  columnFromTicketStatus,
608
- copyrightLine,
609
615
  createColumnHelper,
610
616
  deriveColumns,
611
617
  dismissAnnouncement,
@@ -671,7 +677,7 @@ import {
671
677
  useTimeTracker,
672
678
  useTrackerClock,
673
679
  useWalkthroughVideo
674
- } from "../chunk-FCGC42TS.js";
680
+ } from "../chunk-4L6XCMOU.js";
675
681
  import "../chunk-LQYXMEYF.js";
676
682
  import "../chunk-4JPLYOS6.js";
677
683
  import {
@@ -684,7 +690,7 @@ import {
684
690
  showToast,
685
691
  useOnboardingState,
686
692
  useToast
687
- } from "../chunk-MKXO4Q5P.js";
693
+ } from "../chunk-KUC673HM.js";
688
694
  import {
689
695
  useEndpointsRuntime
690
696
  } from "../chunk-HFL2F4RM.js";
@@ -699,7 +705,7 @@ import {
699
705
  } from "../chunk-UT4YHQZW.js";
700
706
  import {
701
707
  positiveInt
702
- } from "../chunk-MP2C3LJ4.js";
708
+ } from "../chunk-CUME3VTQ.js";
703
709
  import {
704
710
  Checkbox
705
711
  } from "../chunk-PLWMIU72.js";
@@ -712,7 +718,6 @@ import {
712
718
  AUTO_CONTINUATION_DIRECTIVE_PREFIX,
713
719
  ActionsMenu,
714
720
  ActionsMenuDropdown,
715
- AgentMark,
716
721
  AiAssistantInfo,
717
722
  ApprovalBatchMessage,
718
723
  ApprovalRequestMessage,
@@ -804,7 +809,6 @@ import {
804
809
  DrawerTrigger,
805
810
  EMPTY_DIALOG_CAPABILITIES,
806
811
  EmbeddableChat,
807
- EntityIcon,
808
812
  EntityVideoSection,
809
813
  ErrorMessageDisplay,
810
814
  EscalationOfferMessage,
@@ -822,9 +826,6 @@ import {
822
826
  HoverDropdown,
823
827
  HubspotTicketCard,
824
828
  HubspotTicketCardSkeleton,
825
- ICON_ALIASES,
826
- ICON_OPTIONS,
827
- ICON_REGISTRY,
828
829
  InfoHint,
829
830
  InteractiveSkeleton,
830
831
  MAX_PENDING_RETAIN_KEYS,
@@ -832,8 +833,6 @@ import {
832
833
  MESSAGE_TYPE,
833
834
  MINGO_V2_RAIL_WIDTH,
834
835
  MINGO_V2_SPLIT_WIDTH,
835
- MUX_IMAGE_ORIGIN,
836
- MUX_STREAM_ORIGIN,
837
836
  MarkdownEngine,
838
837
  MarqueeWall,
839
838
  MarqueeWallFades,
@@ -916,11 +915,8 @@ import {
916
915
  UnarchiveChatModal,
917
916
  UnifiedSkeleton,
918
917
  UserDisplay,
919
- VIDEO_PLAYBACK_FAILED_EVENT,
920
- Video,
921
918
  VideoBiteCard,
922
919
  VideoBitesStrip,
923
- VideoHoverPreviewSurface,
924
920
  WALL_SKELETON_LABEL_CH,
925
921
  accentFromIdentityIcon,
926
922
  appendToTrailingAssistant,
@@ -963,7 +959,6 @@ import {
963
959
  extractIncompleteMessageState,
964
960
  extractIncompleteTailState,
965
961
  extractText,
966
- extractYouTubeId,
967
962
  fetchEmptyStateConfig,
968
963
  fetchSlashCommands,
969
964
  flattenAssistantContent,
@@ -974,10 +969,8 @@ import {
974
969
  getAgentAccent,
975
970
  getCaptionsUrl,
976
971
  getCommandText,
977
- getDynamicIcon,
978
972
  getEntityCaptionUrls,
979
973
  getEntityCaptionUrlsById,
980
- getIconComponent,
981
974
  getMarqueeAppliedOffset,
982
975
  getMarqueeCloneTwin,
983
976
  getMarqueeTrackOffset,
@@ -1000,7 +993,6 @@ import {
1000
993
  mergeHistoryWithRealtime,
1001
994
  normalizeContent,
1002
995
  normalizeHistoricalMessageData,
1003
- normalizeIconKey,
1004
996
  parseScrollAnchor,
1005
997
  parseWireCommandOverride,
1006
998
  pickReadableTextColor,
@@ -1018,14 +1010,12 @@ import {
1018
1010
  resolveCardDestination,
1019
1011
  resolveExternalNavigation,
1020
1012
  resolveFetchedCardHref,
1021
- resolveIcon,
1022
1013
  resolveSourceIcon,
1023
1014
  resolveSourceRowCTA,
1024
1015
  resolveStatusTagProps,
1025
1016
  resolveTextSizeConfig,
1026
1017
  resolveTicketStatus,
1027
1018
  sanitizeTitleForChat,
1028
- saveDataEnabled,
1029
1019
  splitStreamingBlocks,
1030
1020
  stripChatAttachmentMarkdown,
1031
1021
  stripSameOriginToPath,
@@ -1049,6 +1039,7 @@ import {
1049
1039
  useMarqueeSync,
1050
1040
  useNatsChatAdapter,
1051
1041
  useNatsDialogSubscription,
1042
+ useNavLinkViaRuntime,
1052
1043
  useProxiedImageUrl,
1053
1044
  useSSE,
1054
1045
  useScriptedStream,
@@ -1058,19 +1049,158 @@ import {
1058
1049
  useSseChatAdapter,
1059
1050
  useStableShallow,
1060
1051
  useUnifiedChat,
1061
- useVideoOriginPreconnect,
1062
- useVideoWarmup,
1063
1052
  usesCanonicalStatusStyle
1064
- } from "../chunk-7VVFKJY5.js";
1053
+ } from "../chunk-PO33GZVY.js";
1065
1054
  import {
1066
1055
  errorMessage,
1067
1056
  scrollElementIntoView
1068
- } from "../chunk-PDWVPI3S.js";
1057
+ } from "../chunk-CZ7Y7UG4.js";
1069
1058
  import {
1070
1059
  usePathname,
1071
1060
  useRouter,
1072
1061
  useSearchParams
1073
1062
  } from "../chunk-GY4IZG22.js";
1063
+ import {
1064
+ ADMIN_CONTENT_CARD_GRID_CLASS,
1065
+ AdminContentCard,
1066
+ AdminContentCardGrid,
1067
+ AdminContentCardSkeleton,
1068
+ AgentMark,
1069
+ AiPromptCard,
1070
+ AiPromptCardSkeleton,
1071
+ AvatarStack,
1072
+ BlogCard,
1073
+ BlogCardSkeleton,
1074
+ BlogImagePlaceholder,
1075
+ COMPACT_CARD_ICON_SLOT,
1076
+ COMPACT_CARD_IMAGE_SLOT,
1077
+ COMPACT_CARD_META_ROW,
1078
+ COMPACT_CARD_META_ROW_BOX,
1079
+ COMPACT_CARD_OUTER,
1080
+ COMPACT_CARD_OUTER_STATIC,
1081
+ COMPACT_CARD_ROW_FILLER,
1082
+ COMPACT_CARD_SKELETON_IMAGE_SLOT,
1083
+ COMPACT_CARD_SKELETON_OUTER,
1084
+ COMPACT_CARD_SUBTITLE,
1085
+ COMPACT_CARD_SUMMARY,
1086
+ COMPACT_CARD_TEXT_COL,
1087
+ COMPACT_CARD_TITLE,
1088
+ COMPACT_CARD_TITLE_ROW,
1089
+ CONTENT_CARD_FRAME_CLASS,
1090
+ CONTENT_CARD_SKELETON_FRAME_CLASS,
1091
+ CUSTOM_ITEM_ID,
1092
+ Card,
1093
+ CardContent,
1094
+ CardDescription,
1095
+ CardFooter,
1096
+ CardHeader,
1097
+ CardHorizontal,
1098
+ CardHoverPlay,
1099
+ CardTitle,
1100
+ CaseStudyCard,
1101
+ CaseStudyCardSkeleton,
1102
+ ContentCardFrame,
1103
+ CustomerInterviewCard,
1104
+ CustomerInterviewCardSkeleton,
1105
+ DEFAULT_VIDEO_BITES_TITLE,
1106
+ DepartmentBadge,
1107
+ EMPTY_AUTHOR_PLACEHOLDER,
1108
+ EmployeeEntryBadge,
1109
+ EmployeeEntryCard,
1110
+ EmployeeEntryCardSkeleton,
1111
+ EntityAuthorCard,
1112
+ EntityIcon,
1113
+ EntityMetadataAuthorCell,
1114
+ EntityMetadataValueCell,
1115
+ EntityPortraitCard,
1116
+ FlamingoLogo as FlamingoLogo2,
1117
+ FloatingTooltip,
1118
+ HowIWorkCard,
1119
+ HowIWorkCardSkeleton,
1120
+ ICON_ALIASES,
1121
+ ICON_OPTIONS,
1122
+ ICON_REGISTRY,
1123
+ IMAGE_FILE_ACCEPT,
1124
+ ImageGalleryModal,
1125
+ InteractiveCard,
1126
+ InvestorUpdateCard,
1127
+ InvestorUpdateCardSkeleton,
1128
+ MUX_IMAGE_ORIGIN,
1129
+ MUX_STREAM_ORIGIN,
1130
+ Modal,
1131
+ ModalContent,
1132
+ ModalFooter,
1133
+ ModalHeader,
1134
+ ModalTitle,
1135
+ OPENFRAME_CLASSIFICATIONS,
1136
+ OnboardingGuideCard,
1137
+ OnboardingGuideCardSkeleton,
1138
+ PAGE_HEADING_CLASS,
1139
+ PageHeading,
1140
+ PaletteBadge,
1141
+ PlatformBadge,
1142
+ ProductReleaseCard,
1143
+ ProductReleaseCardSkeleton,
1144
+ ProgramCard,
1145
+ ProgramCardSkeleton,
1146
+ RoadmapCard,
1147
+ RoadmapCardSkeleton,
1148
+ RoadmapVoteButton,
1149
+ SECTION_HEADING_CLASS,
1150
+ SectionHeading,
1151
+ SquareAvatar,
1152
+ StatusBadge,
1153
+ Tag,
1154
+ TaskTypeIcon,
1155
+ VIDEO_PLAYBACK_FAILED_EVENT,
1156
+ Video,
1157
+ VideoHoverPreviewSurface,
1158
+ VideoPlayBadge,
1159
+ VideoUnmuteGlyph,
1160
+ WhatIShippedCard,
1161
+ WhatIShippedCardSkeleton,
1162
+ accentSentenceMarks,
1163
+ buildAnchorProps,
1164
+ buildProductReleaseCardProps,
1165
+ computeIsNewTab,
1166
+ decideNewTab,
1167
+ defaultBuildProductReleaseCardProps,
1168
+ extractYouTubeId,
1169
+ formatBioText,
1170
+ formatInvestorUpdatePeriod,
1171
+ genBadgeBgOpacity,
1172
+ generationTierFromLabel,
1173
+ getDynamicIcon,
1174
+ getIconComponent,
1175
+ getProxiedImageUrl,
1176
+ getProxiedImageUrl2,
1177
+ getStatusColorScheme,
1178
+ getTaskTypeLabel,
1179
+ headingAccentClass,
1180
+ hideOnError,
1181
+ isCrossOriginUrl,
1182
+ isOpenFrameClassification,
1183
+ newTabAnchorAttrs,
1184
+ normalizeIconKey,
1185
+ programItemToStripProfile,
1186
+ resolveIcon,
1187
+ safeHref,
1188
+ saveDataEnabled,
1189
+ sortBitesByCreatedAtDesc,
1190
+ sortBitesByFeaturedAtDesc,
1191
+ statusBadgeVariants,
1192
+ tagVariants,
1193
+ toStripProfile,
1194
+ useCoverImageFallback,
1195
+ useVideoOriginPreconnect,
1196
+ useVideoWarmup
1197
+ } from "../chunk-FI6GMDO7.js";
1198
+ import {
1199
+ next_image_default
1200
+ } from "../chunk-FBZMAPWO.js";
1201
+ import {
1202
+ getAppType
1203
+ } from "../chunk-FXJ3WWUB.js";
1074
1204
  import {
1075
1205
  AboutIcon,
1076
1206
  AiRobotIcon,
@@ -1118,6 +1248,7 @@ import {
1118
1248
  FLAMINGO_LOGO_SVG_PATH,
1119
1249
  FLAMINGO_LOGO_VIEWBOX,
1120
1250
  FacebookIcon,
1251
+ FigmaIcon,
1121
1252
  FileCheckIcon,
1122
1253
  FileTextIcon,
1123
1254
  FilterIcon,
@@ -1135,6 +1266,7 @@ import {
1135
1266
  HotelIcon,
1136
1267
  HubspotIcon,
1137
1268
  ITIcon,
1269
+ ImageIcon,
1138
1270
  InfoCircleIcon,
1139
1271
  InstagramIcon,
1140
1272
  JumpInIcon,
@@ -1151,6 +1283,7 @@ import {
1151
1283
  MenuIcon,
1152
1284
  MessageCircleIcon,
1153
1285
  MiamiCyberGangLogo,
1286
+ MiamiCyberGangLogoFaceOnly,
1154
1287
  MicrosoftIcon,
1155
1288
  MingoIcon,
1156
1289
  MinusCircleIcon,
@@ -1163,12 +1296,14 @@ import {
1163
1296
  NushellIcon,
1164
1297
  OPSIcon,
1165
1298
  OpenAiIcon,
1299
+ OpenFrameLogo,
1166
1300
  OpenFrameText,
1167
1301
  OpenSourceIcon,
1168
1302
  OpenmspLogo,
1169
1303
  OrganizationsIcon,
1170
1304
  PackageIcon,
1171
1305
  PatchPolicyIcon,
1306
+ PlayFilledIcon,
1172
1307
  PlusCircleIcon,
1173
1308
  PodbeanIcon,
1174
1309
  PoliciesIcon,
@@ -1202,6 +1337,8 @@ import {
1202
1337
  SunIcon,
1203
1338
  TableViewIcon,
1204
1339
  TelegramIcon,
1340
+ ThumbsDownIcon,
1341
+ ThumbsUpIcon,
1205
1342
  TransparentTrustedIcon,
1206
1343
  TrustpilotIcon,
1207
1344
  UserIcon,
@@ -1210,6 +1347,7 @@ import {
1210
1347
  VendorDirectoryIcon,
1211
1348
  VendorShowcaseMainIcon,
1212
1349
  VendorsIcon,
1350
+ VolumeOffFilledIcon,
1213
1351
  WhatsAppIcon,
1214
1352
  WindowsIcon,
1215
1353
  XIcon,
@@ -1217,143 +1355,9 @@ import {
1217
1355
  YouTubeIcon,
1218
1356
  getDeviceTypeIcon,
1219
1357
  renderSvgIcon
1220
- } from "../chunk-2YXVWZVF.js";
1221
- import "../chunk-Z2VNQQ74.js";
1358
+ } from "../chunk-N45D4ZXQ.js";
1359
+ import "../chunk-NCPTID44.js";
1222
1360
  import "../chunk-OSIKGEBU.js";
1223
- import {
1224
- ADMIN_CONTENT_CARD_GRID_CLASS,
1225
- AdminContentCard,
1226
- AdminContentCardGrid,
1227
- AdminContentCardSkeleton,
1228
- AiPromptCard,
1229
- AiPromptCardSkeleton,
1230
- AvatarStack,
1231
- BlogCard,
1232
- BlogCardSkeleton,
1233
- BlogImagePlaceholder,
1234
- COMPACT_CARD_ICON_SLOT,
1235
- COMPACT_CARD_IMAGE_SLOT,
1236
- COMPACT_CARD_META_ROW,
1237
- COMPACT_CARD_META_ROW_BOX,
1238
- COMPACT_CARD_OUTER,
1239
- COMPACT_CARD_OUTER_STATIC,
1240
- COMPACT_CARD_ROW_FILLER,
1241
- COMPACT_CARD_SKELETON_IMAGE_SLOT,
1242
- COMPACT_CARD_SKELETON_OUTER,
1243
- COMPACT_CARD_SUBTITLE,
1244
- COMPACT_CARD_SUMMARY,
1245
- COMPACT_CARD_TEXT_COL,
1246
- COMPACT_CARD_TITLE,
1247
- COMPACT_CARD_TITLE_ROW,
1248
- CONTENT_CARD_FRAME_CLASS,
1249
- CONTENT_CARD_SKELETON_FRAME_CLASS,
1250
- CUSTOM_ITEM_ID,
1251
- Card,
1252
- CardContent,
1253
- CardDescription,
1254
- CardFooter,
1255
- CardHeader,
1256
- CardHorizontal,
1257
- CardHoverPlay,
1258
- CardTitle,
1259
- CaseStudyCard,
1260
- CaseStudyCardSkeleton,
1261
- ContentCardFrame,
1262
- CustomerInterviewCard,
1263
- CustomerInterviewCardSkeleton,
1264
- DEFAULT_VIDEO_BITES_TITLE,
1265
- DepartmentBadge,
1266
- EMPTY_AUTHOR_PLACEHOLDER,
1267
- EmployeeEntryBadge,
1268
- EmployeeEntryCard,
1269
- EmployeeEntryCardSkeleton,
1270
- EntityAuthorCard,
1271
- EntityMetadataAuthorCell,
1272
- EntityMetadataValueCell,
1273
- EntityPortraitCard,
1274
- FlamingoLogo as FlamingoLogo2,
1275
- FloatingTooltip,
1276
- HowIWorkCard,
1277
- HowIWorkCardSkeleton,
1278
- IMAGE_FILE_ACCEPT,
1279
- ImageGalleryModal,
1280
- InteractiveCard,
1281
- InvestorUpdateCard,
1282
- InvestorUpdateCardSkeleton,
1283
- Modal,
1284
- ModalContent,
1285
- ModalFooter,
1286
- ModalHeader,
1287
- ModalTitle,
1288
- OPENFRAME_CLASSIFICATIONS,
1289
- OnboardingGuideCard,
1290
- OnboardingGuideCardSkeleton,
1291
- PAGE_HEADING_CLASS,
1292
- PageHeading,
1293
- PaletteBadge,
1294
- PlatformBadge,
1295
- ProductReleaseCard,
1296
- ProductReleaseCardSkeleton,
1297
- ProgramCard,
1298
- ProgramCardSkeleton,
1299
- RoadmapCard,
1300
- RoadmapCardSkeleton,
1301
- RoadmapVoteButton,
1302
- SECTION_HEADING_CLASS,
1303
- SectionHeading,
1304
- SquareAvatar,
1305
- StatusBadge,
1306
- Tag,
1307
- TaskTypeIcon,
1308
- VideoPlayBadge,
1309
- VideoUnmuteGlyph,
1310
- WhatIShippedCard,
1311
- WhatIShippedCardSkeleton,
1312
- accentSentenceMarks,
1313
- buildAnchorProps,
1314
- buildProductReleaseCardProps,
1315
- computeIsNewTab,
1316
- decideNewTab,
1317
- defaultBuildProductReleaseCardProps,
1318
- formatBioText,
1319
- formatInvestorUpdatePeriod,
1320
- genBadgeBgOpacity,
1321
- generationTierFromLabel,
1322
- getProxiedImageUrl,
1323
- getProxiedImageUrl2,
1324
- getStatusColorScheme,
1325
- getTaskTypeLabel,
1326
- headingAccentClass,
1327
- hideOnError,
1328
- isCrossOriginUrl,
1329
- isOpenFrameClassification,
1330
- newTabAnchorAttrs,
1331
- programItemToStripProfile,
1332
- safeHref,
1333
- sortBitesByCreatedAtDesc,
1334
- sortBitesByFeaturedAtDesc,
1335
- statusBadgeVariants,
1336
- tagVariants,
1337
- toStripProfile,
1338
- useCoverImageFallback
1339
- } from "../chunk-CH5232HV.js";
1340
- import {
1341
- next_image_default
1342
- } from "../chunk-FBZMAPWO.js";
1343
- import {
1344
- getAppType
1345
- } from "../chunk-NDESEPW5.js";
1346
- import {
1347
- FigmaIcon,
1348
- ImageIcon,
1349
- MiamiCyberGangLogoFaceOnly,
1350
- OpenFrameLogo,
1351
- PlayFilledIcon,
1352
- ThumbsDownIcon,
1353
- ThumbsUpIcon,
1354
- VolumeOffFilledIcon
1355
- } from "../chunk-O43V3EOS.js";
1356
- import "../chunk-LMBC5FFP.js";
1357
1361
  import {
1358
1362
  useChatRuntime
1359
1363
  } from "../chunk-E4ABZWTJ.js";
@@ -2509,75 +2513,6 @@ function FilterChip({
2509
2513
  );
2510
2514
  }
2511
2515
 
2512
- // src/components/footer.tsx
2513
- import { Suspense } from "react";
2514
- import { Fragment as Fragment3, jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
2515
- function NavLinkSkeleton() {
2516
- return /* @__PURE__ */ jsx12(Skeleton, { className: "h-5 w-20 md:h-6 md:w-24" });
2517
- }
2518
- function Footer({ config, renderLink }) {
2519
- if (!config) {
2520
- console.warn("Footer: No config provided");
2521
- return null;
2522
- }
2523
- return /* @__PURE__ */ jsx12(UniversalFooter, { config, renderLink });
2524
- }
2525
- function UniversalFooter({
2526
- config,
2527
- renderLink
2528
- }) {
2529
- const defaultRenderLink = (link) => /* @__PURE__ */ jsx12(
2530
- "a",
2531
- {
2532
- href: link.href,
2533
- className: "text-md md:text-md font-body font-medium leading-[1.33] text-ods-text-primary transition-colors hover:text-ods-accent",
2534
- children: link.label
2535
- }
2536
- );
2537
- const linkRenderer = renderLink || defaultRenderLink;
2538
- return /* @__PURE__ */ jsxs10(
2539
- "footer",
2540
- {
2541
- className: `flex w-full flex-col items-center justify-center ${config.backgroundColor || "bg-ods-card"} relative z-[44] min-h-[auto] gap-6 border-t border-ods-border px-6 py-10 md:min-h-[248px] md:gap-6`,
2542
- children: [
2543
- /* @__PURE__ */ jsxs10("div", { className: "grid w-full grid-cols-2 items-start gap-6 md:gap-8 lg:grid-cols-4", children: [
2544
- /* @__PURE__ */ jsxs10("div", { className: "col-span-2 flex flex-col items-start gap-4 text-left md:col-span-1 md:gap-6 lg:col-span-1", children: [
2545
- /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-2", children: [
2546
- config.logo && /* @__PURE__ */ jsx12(Suspense, { fallback: /* @__PURE__ */ jsx12(Skeleton, { className: "h-8 w-8" }), children: config.logo }),
2547
- config.nameElement || /* @__PURE__ */ jsx12("span", { className: "whitespace-nowrap font-heading text-heading-5 font-bold text-ods-text-primary", children: config.name })
2548
- ] }),
2549
- !config.moveDescriptionToRight && /* @__PURE__ */ jsxs10(Fragment3, { children: [
2550
- /* @__PURE__ */ jsx12("p", { className: "font-body text-sm font-medium leading-[1.43] text-ods-text-primary md:text-sm", children: config.description }),
2551
- config.belowDescriptionContent && /* @__PURE__ */ jsx12(Suspense, { fallback: /* @__PURE__ */ jsx12(Skeleton, { className: "h-8 w-full" }), children: config.belowDescriptionContent }),
2552
- !config.hideSocialRow && /* @__PURE__ */ jsx12(
2553
- SocialIconRow,
2554
- {
2555
- className: "pt-2",
2556
- links: config.social ? Object.entries(config.social).filter(([_, href]) => href).map(([platform, href]) => ({ platform, href })) : void 0
2557
- }
2558
- )
2559
- ] }),
2560
- config.moveDescriptionToRight && config.keepBelowDescriptionLeft && config.belowDescriptionContent && /* @__PURE__ */ jsx12(Suspense, { fallback: /* @__PURE__ */ jsx12(Skeleton, { className: "h-8 w-full" }), children: config.belowDescriptionContent })
2561
- ] }),
2562
- config.sections.map((section, index) => /* @__PURE__ */ jsxs10("div", { className: "col-span-1 flex flex-col items-start gap-3 text-left", children: [
2563
- /* @__PURE__ */ jsx12("h3", { className: "tracking-[-0.02em] text-ods-text-muted text-h5", children: section.title }),
2564
- /* @__PURE__ */ jsx12("div", { className: "flex flex-col gap-3", children: section.links.map((link, linkIndex) => /* @__PURE__ */ jsx12(Suspense, { fallback: /* @__PURE__ */ jsx12(NavLinkSkeleton, {}), children: linkRenderer(link) }, linkIndex)) })
2565
- ] }, index)),
2566
- config.customComponent && /* @__PURE__ */ jsx12("div", { className: "col-span-2 flex flex-col justify-center md:col-span-1 lg:col-span-1", children: /* @__PURE__ */ jsx12(Suspense, { fallback: /* @__PURE__ */ jsx12(Skeleton, { className: "h-32 w-full" }), children: config.customComponent }) }),
2567
- (config.rightColumnContent || config.moveDescriptionToRight) && /* @__PURE__ */ jsxs10("div", { className: "col-span-2 flex flex-col justify-start gap-4 md:col-span-1 md:gap-6 lg:col-span-1", children: [
2568
- config.moveDescriptionToRight && /* @__PURE__ */ jsxs10(Fragment3, { children: [
2569
- /* @__PURE__ */ jsx12("p", { className: "font-body text-sm font-medium leading-[1.43] text-ods-text-primary md:text-sm", children: config.description }),
2570
- config.belowDescriptionContent && !config.keepBelowDescriptionLeft && /* @__PURE__ */ jsx12(Suspense, { fallback: /* @__PURE__ */ jsx12(Skeleton, { className: "h-8 w-full" }), children: config.belowDescriptionContent })
2571
- ] }),
2572
- config.rightColumnContent && /* @__PURE__ */ jsx12(Suspense, { fallback: /* @__PURE__ */ jsx12(Skeleton, { className: "h-32 w-full" }), children: config.rightColumnContent })
2573
- ] })
2574
- ] }),
2575
- /* @__PURE__ */ jsx12("p", { className: "text-md md:text-md w-full pt-4 text-center font-body font-medium leading-[1.33] text-ods-text-muted md:pt-0", children: copyrightLine(config.legalName) })
2576
- ]
2577
- }
2578
- );
2579
- }
2580
-
2581
2516
  // src/components/unified-filter-logic.tsx
2582
2517
  import { useTransition } from "react";
2583
2518
 
@@ -2884,22 +2819,10 @@ var blogFilterConfig = {
2884
2819
  }
2885
2820
  };
2886
2821
 
2887
- // src/components/footer-waitlist-button.tsx
2888
- import { useCallback } from "react";
2889
- import { jsx as jsx13 } from "react/jsx-runtime";
2890
- function FooterWaitlistButton({ className }) {
2891
- const router = useRouter();
2892
- const runtime = useChatRuntime();
2893
- const handleClick = useCallback(() => {
2894
- executeNavigationImperative({ runtime, href: "/waitlist#top", fallbackNavigate: router.push });
2895
- }, [router, runtime]);
2896
- return /* @__PURE__ */ jsx13(Button, { onClick: handleClick, className, leftIcon: /* @__PURE__ */ jsx13(OpenFrameLogo, {}), children: "Join Waitlist" });
2897
- }
2898
-
2899
2822
  // src/components/hero-image-uploader.tsx
2900
2823
  import { Loader2, Image as ImageIcon2, Upload, X as X3 } from "lucide-react";
2901
2824
  import { useRef, useState as useState4 } from "react";
2902
- import { Fragment as Fragment4, jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
2825
+ import { Fragment as Fragment3, jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
2903
2826
  function readUploadedUrl(payload) {
2904
2827
  if (typeof payload !== "object" || payload === null) return null;
2905
2828
  if ("data" in payload) {
@@ -3002,53 +2925,53 @@ function HeroImageUploader({
3002
2925
  onChange(void 0);
3003
2926
  };
3004
2927
  const heightStyle = typeof height === "number" ? `${height}px` : height;
3005
- return /* @__PURE__ */ jsxs11("div", { className: "h-full max-h-full min-h-[300px] w-full space-y-2", children: [
3006
- imageUrl ? /* @__PURE__ */ jsxs11(
2928
+ return /* @__PURE__ */ jsxs10("div", { className: "h-full max-h-full min-h-[300px] w-full space-y-2", children: [
2929
+ imageUrl ? /* @__PURE__ */ jsxs10(
3007
2930
  "div",
3008
2931
  {
3009
2932
  className: "group relative flex aspect-square h-auto w-full items-center justify-center overflow-hidden md:aspect-auto md:h-full",
3010
2933
  style: { height: heightStyle },
3011
2934
  children: [
3012
- /* @__PURE__ */ jsx14(next_image_default, { src: imageUrl, className: `object-${objectFit}`, alt: "Cover", fill: true, sizes: "100vw", unoptimized: true }),
3013
- /* @__PURE__ */ jsxs11("div", { className: "absolute inset-0 flex items-center justify-center gap-4 rounded-lg bg-black/40 opacity-0 transition-opacity group-hover:opacity-100", children: [
3014
- showReplaceButton && /* @__PURE__ */ jsx14(
2935
+ /* @__PURE__ */ jsx12(next_image_default, { src: imageUrl, className: `object-${objectFit}`, alt: "Cover", fill: true, sizes: "100vw", unoptimized: true }),
2936
+ /* @__PURE__ */ jsxs10("div", { className: "absolute inset-0 flex items-center justify-center gap-4 rounded-lg bg-black/40 opacity-0 transition-opacity group-hover:opacity-100", children: [
2937
+ showReplaceButton && /* @__PURE__ */ jsx12(
3015
2938
  Button,
3016
2939
  {
3017
2940
  variant: "outline",
3018
2941
  size: "icon",
3019
2942
  onClick: openDialog,
3020
2943
  className: "h-12 w-12 rounded-full bg-white text-black hover:bg-gray-100",
3021
- children: /* @__PURE__ */ jsx14(Upload, { className: "h-5 w-5" })
2944
+ children: /* @__PURE__ */ jsx12(Upload, { className: "h-5 w-5" })
3022
2945
  }
3023
2946
  ),
3024
- /* @__PURE__ */ jsx14(
2947
+ /* @__PURE__ */ jsx12(
3025
2948
  Button,
3026
2949
  {
3027
2950
  variant: "outline",
3028
2951
  size: "icon",
3029
2952
  onClick: () => handleRemove(),
3030
2953
  className: "h-12 w-12 rounded-full bg-white text-black hover:bg-gray-100",
3031
- children: /* @__PURE__ */ jsx14(X3, { className: "h-5 w-5" })
2954
+ children: /* @__PURE__ */ jsx12(X3, { className: "h-5 w-5" })
3032
2955
  }
3033
2956
  )
3034
2957
  ] })
3035
2958
  ]
3036
2959
  }
3037
- ) : /* @__PURE__ */ jsx14(
2960
+ ) : /* @__PURE__ */ jsx12(
3038
2961
  "div",
3039
2962
  {
3040
2963
  className: `h-full w-full border-2 border-dashed ${uploading ? "border-ods-accent" : "border-ods-border hover:border-ods-accent"} flex cursor-pointer flex-col items-center justify-center rounded-lg bg-ods-bg`,
3041
2964
  style: { height: heightStyle },
3042
2965
  onClick: openDialog,
3043
- children: uploading ? /* @__PURE__ */ jsx14(Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs11(Fragment4, { children: [
3044
- /* @__PURE__ */ jsx14(ImageIcon2, { className: "h-12 w-12 text-ods-text-secondary" }),
3045
- /* @__PURE__ */ jsx14("span", { className: "mt-2 text-ods-text-primary text-h6", children: "Upload cover image" }),
3046
- /* @__PURE__ */ jsx14("span", { className: "mt-1 text-ods-text-secondary text-h6", children: "Click to upload or drag and drop" }),
3047
- /* @__PURE__ */ jsx14("span", { className: "text-ods-text-secondary text-h6", children: "PNG, JPEG, WebP, GIF up to 5MB" })
2966
+ children: uploading ? /* @__PURE__ */ jsx12(Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs10(Fragment3, { children: [
2967
+ /* @__PURE__ */ jsx12(ImageIcon2, { className: "h-12 w-12 text-ods-text-secondary" }),
2968
+ /* @__PURE__ */ jsx12("span", { className: "mt-2 text-ods-text-primary text-h6", children: "Upload cover image" }),
2969
+ /* @__PURE__ */ jsx12("span", { className: "mt-1 text-ods-text-secondary text-h6", children: "Click to upload or drag and drop" }),
2970
+ /* @__PURE__ */ jsx12("span", { className: "text-ods-text-secondary text-h6", children: "PNG, JPEG, WebP, GIF up to 5MB" })
3048
2971
  ] })
3049
2972
  }
3050
2973
  ),
3051
- /* @__PURE__ */ jsx14("input", { ref: inputRef, type: "file", accept: IMAGE_FILE_ACCEPT, onChange: handleSelect, className: "hidden" })
2974
+ /* @__PURE__ */ jsx12("input", { ref: inputRef, type: "file", accept: IMAGE_FILE_ACCEPT, onChange: handleSelect, className: "hidden" })
3052
2975
  ] });
3053
2976
  }
3054
2977
 
@@ -3067,13 +2990,13 @@ var CommunityIcon2 = MessageSquare;
3067
2990
  var CompareIcon2 = GitCompare;
3068
2991
 
3069
2992
  // src/components/icons-block.tsx
3070
- import { jsx as jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
2993
+ import { jsx as jsx13, jsxs as jsxs11 } from "react/jsx-runtime";
3071
2994
  var SunIcon2 = Sun;
3072
2995
  var MoonIcon2 = Moon;
3073
2996
  var CheckCircleIcon3 = CheckCircle;
3074
2997
  var GitHubIcon2 = Github;
3075
2998
  var PlusCircleIcon2 = PlusCircle;
3076
- var OpenmspLogo2 = () => /* @__PURE__ */ jsx15("div", { children: "Logo" });
2999
+ var OpenmspLogo2 = () => /* @__PURE__ */ jsx13("div", { children: "Logo" });
3077
3000
  var availableIcons = [
3078
3001
  VendorDirectoryIcon2,
3079
3002
  OpenSourceIcon2,
@@ -3136,17 +3059,17 @@ function ResponsiveIconsBlock({ loading = false }) {
3136
3059
  return iconGrid[row]?.[col] || availableIcons[0];
3137
3060
  };
3138
3061
  if (loading || iconGrid.length === 0) {
3139
- return /* @__PURE__ */ jsx15(
3062
+ return /* @__PURE__ */ jsx13(
3140
3063
  "div",
3141
3064
  {
3142
3065
  className: "relative h-[80px] w-full overflow-hidden bg-[#1A1A1A] md:h-[112px]",
3143
3066
  role: "presentation",
3144
3067
  "aria-hidden": "true",
3145
- children: /* @__PURE__ */ jsx15("div", { className: "absolute inset-0 animate-pulse bg-[#2A2A2A]/60" })
3068
+ children: /* @__PURE__ */ jsx13("div", { className: "absolute inset-0 animate-pulse bg-[#2A2A2A]/60" })
3146
3069
  }
3147
3070
  );
3148
3071
  }
3149
- return /* @__PURE__ */ jsxs12(
3072
+ return /* @__PURE__ */ jsxs11(
3150
3073
  "div",
3151
3074
  {
3152
3075
  className: "relative z-10 h-[80px] w-full overflow-hidden bg-[#1A1A1A] md:h-[112px]",
@@ -3154,14 +3077,14 @@ function ResponsiveIconsBlock({ loading = false }) {
3154
3077
  role: "presentation",
3155
3078
  "aria-hidden": "true",
3156
3079
  children: [
3157
- /* @__PURE__ */ jsx15("style", { children: `
3080
+ /* @__PURE__ */ jsx13("style", { children: `
3158
3081
  .icons-block svg,
3159
3082
  .icons-block svg * {
3160
3083
  filter: grayscale(100%) brightness(0) invert(1) brightness(0.4) !important;
3161
3084
  fill: currentColor !important;
3162
3085
  }
3163
3086
  ` }),
3164
- /* @__PURE__ */ jsx15(
3087
+ /* @__PURE__ */ jsx13(
3165
3088
  "div",
3166
3089
  {
3167
3090
  className: "icons-block grid h-full w-full",
@@ -3173,7 +3096,7 @@ function ResponsiveIconsBlock({ loading = false }) {
3173
3096
  const col = idx % displayColumns;
3174
3097
  const row = Math.floor(idx / displayColumns);
3175
3098
  const IconComponent = getIconForIndex(idx);
3176
- return /* @__PURE__ */ jsx15(
3099
+ return /* @__PURE__ */ jsx13(
3177
3100
  "div",
3178
3101
  {
3179
3102
  className: "flex h-full w-full items-center justify-center",
@@ -3186,7 +3109,7 @@ function ResponsiveIconsBlock({ loading = false }) {
3186
3109
  boxSizing: "border-box"
3187
3110
  },
3188
3111
  role: "presentation",
3189
- children: /* @__PURE__ */ jsx15(IconComponent, { width: 16, height: 16, className: "text-[#666666] md:h-5 md:w-5", "aria-hidden": "true" })
3112
+ children: /* @__PURE__ */ jsx13(IconComponent, { width: 16, height: 16, className: "text-[#666666] md:h-5 md:w-5", "aria-hidden": "true" })
3190
3113
  },
3191
3114
  idx
3192
3115
  );
@@ -3200,9 +3123,9 @@ function ResponsiveIconsBlock({ loading = false }) {
3200
3123
 
3201
3124
  // src/components/image-cropper.tsx
3202
3125
  import { Check, RotateCcw } from "lucide-react";
3203
- import { useCallback as useCallback2, useState as useState6 } from "react";
3126
+ import { useCallback, useState as useState6 } from "react";
3204
3127
  import Cropper from "react-easy-crop";
3205
- import { jsx as jsx16, jsxs as jsxs13 } from "react/jsx-runtime";
3128
+ import { jsx as jsx14, jsxs as jsxs12 } from "react/jsx-runtime";
3206
3129
  function loadImage(src) {
3207
3130
  return new Promise((resolve, reject) => {
3208
3131
  const img = new Image();
@@ -3225,11 +3148,11 @@ var ImageCropper = ({
3225
3148
  const [zoom, setZoom] = useState6(1);
3226
3149
  const [rotation, setRotation] = useState6(0);
3227
3150
  const [croppedAreaPixels, setCroppedAreaPixels] = useState6(null);
3228
- const onCropComplete = useCallback2((_croppedAreaPercentages, areaPixels) => {
3151
+ const onCropComplete = useCallback((_croppedAreaPercentages, areaPixels) => {
3229
3152
  setCroppedAreaPixels(areaPixels);
3230
3153
  }, []);
3231
3154
  const checkerBg = "bg-[length:16px_16px] bg-[linear-gradient(45deg,transparent_25%,#2a2a2a_25%,#2a2a2a_75%,transparent_75%,transparent),linear-gradient(45deg,#2a2a2a_25%,transparent_25%,transparent_75%,#2a2a2a_75%,#2a2a2a)]";
3232
- const exportCrop = useCallback2(async () => {
3155
+ const exportCrop = useCallback(async () => {
3233
3156
  if (!croppedAreaPixels) return void 0;
3234
3157
  const img = await loadImage(src);
3235
3158
  const canvas = document.createElement("canvas");
@@ -3289,7 +3212,7 @@ var ImageCropper = ({
3289
3212
  onCancel?.();
3290
3213
  }
3291
3214
  };
3292
- return /* @__PURE__ */ jsxs13(
3215
+ return /* @__PURE__ */ jsxs12(
3293
3216
  "div",
3294
3217
  {
3295
3218
  className: cn("relative flex w-full flex-col gap-4", className),
@@ -3297,7 +3220,7 @@ var ImageCropper = ({
3297
3220
  tabIndex: 0,
3298
3221
  "aria-label": "Image cropper",
3299
3222
  children: [
3300
- /* @__PURE__ */ jsx16("div", { className: cn("relative aspect-square w-full overflow-hidden rounded-md md:aspect-video", checkerBg), children: /* @__PURE__ */ jsx16(
3223
+ /* @__PURE__ */ jsx14("div", { className: cn("relative aspect-square w-full overflow-hidden rounded-md md:aspect-video", checkerBg), children: /* @__PURE__ */ jsx14(
3301
3224
  Cropper,
3302
3225
  {
3303
3226
  image: src,
@@ -3314,10 +3237,10 @@ var ImageCropper = ({
3314
3237
  objectFit: "contain"
3315
3238
  }
3316
3239
  ) }),
3317
- /* @__PURE__ */ jsxs13("div", { className: "flex flex-col gap-4", children: [
3318
- /* @__PURE__ */ jsxs13("div", { className: "flex items-center gap-3", children: [
3319
- /* @__PURE__ */ jsx16("span", { className: "min-w-[60px] text-h6", children: "Zoom" }),
3320
- /* @__PURE__ */ jsx16(
3240
+ /* @__PURE__ */ jsxs12("div", { className: "flex flex-col gap-4", children: [
3241
+ /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-3", children: [
3242
+ /* @__PURE__ */ jsx14("span", { className: "min-w-[60px] text-h6", children: "Zoom" }),
3243
+ /* @__PURE__ */ jsx14(
3321
3244
  Slider,
3322
3245
  {
3323
3246
  min: 1,
@@ -3330,9 +3253,9 @@ var ImageCropper = ({
3330
3253
  }
3331
3254
  )
3332
3255
  ] }),
3333
- /* @__PURE__ */ jsxs13("div", { className: "flex items-center gap-3", children: [
3334
- /* @__PURE__ */ jsx16("span", { className: "min-w-[60px] text-h6", children: "Rotate" }),
3335
- /* @__PURE__ */ jsx16(
3256
+ /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-3", children: [
3257
+ /* @__PURE__ */ jsx14("span", { className: "min-w-[60px] text-h6", children: "Rotate" }),
3258
+ /* @__PURE__ */ jsx14(
3336
3259
  Slider,
3337
3260
  {
3338
3261
  min: 0,
@@ -3344,12 +3267,12 @@ var ImageCropper = ({
3344
3267
  className: "flex-1"
3345
3268
  }
3346
3269
  ),
3347
- /* @__PURE__ */ jsx16(Button, { variant: "outline", size: "icon", onClick: () => setRotation(0), "aria-label": "Reset rotation", children: /* @__PURE__ */ jsx16(RotateCcw, { className: "h-4 w-4" }) })
3270
+ /* @__PURE__ */ jsx14(Button, { variant: "outline", size: "icon", onClick: () => setRotation(0), "aria-label": "Reset rotation", children: /* @__PURE__ */ jsx14(RotateCcw, { className: "h-4 w-4" }) })
3348
3271
  ] })
3349
3272
  ] }),
3350
- /* @__PURE__ */ jsxs13("div", { className: "mt-2 flex justify-end gap-2", children: [
3351
- onCancel && /* @__PURE__ */ jsx16(Button, { variant: "outline", onClick: onCancel, "aria-label": "Cancel crop", children: "Cancel" }),
3352
- /* @__PURE__ */ jsx16(
3273
+ /* @__PURE__ */ jsxs12("div", { className: "mt-2 flex justify-end gap-2", children: [
3274
+ onCancel && /* @__PURE__ */ jsx14(Button, { variant: "outline", onClick: onCancel, "aria-label": "Cancel crop", children: "Cancel" }),
3275
+ /* @__PURE__ */ jsx14(
3353
3276
  Button,
3354
3277
  {
3355
3278
  variant: "accent",
@@ -3357,7 +3280,7 @@ var ImageCropper = ({
3357
3280
  const result = await exportCrop();
3358
3281
  if (result) onComplete(result);
3359
3282
  },
3360
- leftIcon: /* @__PURE__ */ jsx16(Check, { className: "h-4 w-4" }),
3283
+ leftIcon: /* @__PURE__ */ jsx14(Check, { className: "h-4 w-4" }),
3361
3284
  "aria-label": "Apply crop",
3362
3285
  children: "Apply"
3363
3286
  }
@@ -3369,19 +3292,19 @@ var ImageCropper = ({
3369
3292
  };
3370
3293
 
3371
3294
  // src/components/metric-value.tsx
3372
- import { jsx as jsx17, jsxs as jsxs14 } from "react/jsx-runtime";
3295
+ import { jsx as jsx15, jsxs as jsxs13 } from "react/jsx-runtime";
3373
3296
  function MetricValue({ value, label, className }) {
3374
- return /* @__PURE__ */ jsxs14("div", { className: cn("flex items-end gap-2 whitespace-nowrap text-ods-text-primary text-h4", className), children: [
3297
+ return /* @__PURE__ */ jsxs13("div", { className: cn("flex items-end gap-2 whitespace-nowrap text-ods-text-primary text-h4", className), children: [
3375
3298
  value,
3376
- /* @__PURE__ */ jsx17("span", { className: "text-ods-text-secondary text-h6", children: label })
3299
+ /* @__PURE__ */ jsx15("span", { className: "text-ods-text-secondary text-h6", children: label })
3377
3300
  ] });
3378
3301
  }
3379
3302
 
3380
3303
  // src/components/msp-display.tsx
3381
- import { jsx as jsx18, jsxs as jsxs15 } from "react/jsx-runtime";
3304
+ import { jsx as jsx16, jsxs as jsxs14 } from "react/jsx-runtime";
3382
3305
  function MSPDisplay({ name, logoUrl, size = 40, className }) {
3383
- return /* @__PURE__ */ jsxs15("div", { className: cn("flex min-w-0 items-center gap-2", className), children: [
3384
- /* @__PURE__ */ jsx18(
3306
+ return /* @__PURE__ */ jsxs14("div", { className: cn("flex min-w-0 items-center gap-2", className), children: [
3307
+ /* @__PURE__ */ jsx16(
3385
3308
  SquareAvatar,
3386
3309
  {
3387
3310
  src: logoUrl ? getProxiedImageUrl(logoUrl) || logoUrl : void 0,
@@ -3390,16 +3313,16 @@ function MSPDisplay({ name, logoUrl, size = 40, className }) {
3390
3313
  sizePx: size
3391
3314
  }
3392
3315
  ),
3393
- /* @__PURE__ */ jsx18("h2", { className: "truncate pl-2", children: name })
3316
+ /* @__PURE__ */ jsx16("h2", { className: "truncate pl-2", children: name })
3394
3317
  ] });
3395
3318
  }
3396
3319
 
3397
3320
  // src/components/open-source-features.tsx
3398
3321
  import { Terminal, DollarSign as DollarSign2, Network, Users as Users2 } from "lucide-react";
3399
- import { jsx as jsx19, jsxs as jsxs16 } from "react/jsx-runtime";
3322
+ import { jsx as jsx17, jsxs as jsxs15 } from "react/jsx-runtime";
3400
3323
 
3401
3324
  // src/components/pricing-display.tsx
3402
- import { jsx as jsx20, jsxs as jsxs17 } from "react/jsx-runtime";
3325
+ import { jsx as jsx18, jsxs as jsxs16 } from "react/jsx-runtime";
3403
3326
  var PRICING_STYLES = {
3404
3327
  // Comparison table style (current default)
3405
3328
  comparison: {
@@ -3435,11 +3358,11 @@ function PricingDisplay({
3435
3358
  styleConfig = PRICING_STYLES.comparison
3436
3359
  }) {
3437
3360
  if (typeof pricing === "string") {
3438
- return /* @__PURE__ */ jsx20(LegacyPricingDisplay, { pricing, className, styleConfig });
3361
+ return /* @__PURE__ */ jsx18(LegacyPricingDisplay, { pricing, className, styleConfig });
3439
3362
  }
3440
3363
  const pricingArray = Array.isArray(pricing) ? pricing : [pricing];
3441
3364
  if (!pricingArray || pricingArray.length === 0) {
3442
- return /* @__PURE__ */ jsx20(
3365
+ return /* @__PURE__ */ jsx18(
3443
3366
  "span",
3444
3367
  {
3445
3368
  className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize} ${styleConfig.fontFamily} ${className}`,
@@ -3451,9 +3374,9 @@ function PricingDisplay({
3451
3374
  const item = pricingArray[0];
3452
3375
  const price = item.ranges?.[0]?.min || 0;
3453
3376
  const unit = item.ranges?.[0]?.unit;
3454
- return /* @__PURE__ */ jsxs17("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
3455
- /* @__PURE__ */ jsx20("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
3456
- unit && /* @__PURE__ */ jsxs17("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
3377
+ return /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
3378
+ /* @__PURE__ */ jsx18("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
3379
+ unit && /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
3457
3380
  "/",
3458
3381
  unit
3459
3382
  ] })
@@ -3463,9 +3386,9 @@ function PricingDisplay({
3463
3386
  (item) => formatPriceValue(item.ranges?.[0]?.min || 0, styleConfig.showTildePrefix)
3464
3387
  );
3465
3388
  const itemWithUnit = pricingArray.find((item) => item.ranges?.[0]?.unit);
3466
- return /* @__PURE__ */ jsxs17("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
3467
- /* @__PURE__ */ jsx20("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: priceValues.join(" | ") }),
3468
- itemWithUnit && itemWithUnit.ranges?.[0]?.unit && /* @__PURE__ */ jsxs17("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
3389
+ return /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
3390
+ /* @__PURE__ */ jsx18("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: priceValues.join(" | ") }),
3391
+ itemWithUnit && itemWithUnit.ranges?.[0]?.unit && /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
3469
3392
  "/",
3470
3393
  itemWithUnit.ranges[0].unit
3471
3394
  ] })
@@ -3486,7 +3409,7 @@ function LegacyPricingDisplay({
3486
3409
  styleConfig = PRICING_STYLES.comparison
3487
3410
  }) {
3488
3411
  if (pricing === "Free" || pricing === "No pricing data") {
3489
- return /* @__PURE__ */ jsx20(
3412
+ return /* @__PURE__ */ jsx18(
3490
3413
  "span",
3491
3414
  {
3492
3415
  className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize} ${styleConfig.fontFamily} ${className}`,
@@ -3548,9 +3471,9 @@ function LegacyPricingDisplay({
3548
3471
  };
3549
3472
  };
3550
3473
  const { mainValue, secondaryInfo } = parsePricing(pricing);
3551
- return /* @__PURE__ */ jsxs17("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
3552
- /* @__PURE__ */ jsx20("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: mainValue }),
3553
- secondaryInfo && /* @__PURE__ */ jsx20("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: secondaryInfo })
3474
+ return /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
3475
+ /* @__PURE__ */ jsx18("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: mainValue }),
3476
+ secondaryInfo && /* @__PURE__ */ jsx18("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: secondaryInfo })
3554
3477
  ] });
3555
3478
  }
3556
3479
  function formatPricingForDisplay(pricing) {
@@ -3558,7 +3481,7 @@ function formatPricingForDisplay(pricing) {
3558
3481
  }
3559
3482
 
3560
3483
  // src/components/results-count.tsx
3561
- import { Fragment as Fragment5, jsx as jsx21, jsxs as jsxs18 } from "react/jsx-runtime";
3484
+ import { Fragment as Fragment4, jsx as jsx19, jsxs as jsxs17 } from "react/jsx-runtime";
3562
3485
  function ResultsCount({ currentPage, pageSize, totalResults, resultType, sortingMessage }) {
3563
3486
  if (totalResults === 0) {
3564
3487
  return null;
@@ -3568,7 +3491,7 @@ function ResultsCount({ currentPage, pageSize, totalResults, resultType, sorting
3568
3491
  const plural = resultType === "vendors" ? "vendors" : "posts";
3569
3492
  const singular = resultType === "vendors" ? "vendor" : "post";
3570
3493
  const displayType = totalResults === 1 ? singular : plural;
3571
- return /* @__PURE__ */ jsx21("div", { className: "mb-6", children: /* @__PURE__ */ jsx21("p", { className: "text-ods-text-secondary text-h6", children: totalResults > 0 && /* @__PURE__ */ jsxs18(Fragment5, { children: [
3494
+ return /* @__PURE__ */ jsx19("div", { className: "mb-6", children: /* @__PURE__ */ jsx19("p", { className: "text-ods-text-secondary text-h6", children: totalResults > 0 && /* @__PURE__ */ jsxs17(Fragment4, { children: [
3572
3495
  "Showing ",
3573
3496
  startIndex,
3574
3497
  "-",
@@ -3577,7 +3500,7 @@ function ResultsCount({ currentPage, pageSize, totalResults, resultType, sorting
3577
3500
  totalResults,
3578
3501
  " ",
3579
3502
  displayType,
3580
- sortingMessage && /* @__PURE__ */ jsxs18("span", { className: "ml-2 text-ods-accent", children: [
3503
+ sortingMessage && /* @__PURE__ */ jsxs17("span", { className: "ml-2 text-ods-accent", children: [
3581
3504
  "\u2022 ",
3582
3505
  sortingMessage
3583
3506
  ] })
@@ -3588,14 +3511,14 @@ function ResultsCount({ currentPage, pageSize, totalResults, resultType, sorting
3588
3511
  import { Boxes, Database, Hand, Plug, ShieldCheck, Sparkles } from "lucide-react";
3589
3512
 
3590
3513
  // src/components/openframe-logo.tsx
3591
- import { jsx as jsx22, jsxs as jsxs19 } from "react/jsx-runtime";
3514
+ import { jsx as jsx20, jsxs as jsxs18 } from "react/jsx-runtime";
3592
3515
  var OpenFrameLogo2 = ({
3593
3516
  className,
3594
3517
  lowerPathColor,
3595
3518
  upperPathColor,
3596
3519
  ...props
3597
3520
  }) => {
3598
- return /* @__PURE__ */ jsx22(
3521
+ return /* @__PURE__ */ jsx20(
3599
3522
  "svg",
3600
3523
  {
3601
3524
  ...props,
@@ -3609,30 +3532,30 @@ var OpenFrameLogo2 = ({
3609
3532
  "--fill-0": "currentColor",
3610
3533
  ...props.style
3611
3534
  },
3612
- children: /* @__PURE__ */ jsxs19("g", { children: [
3613
- /* @__PURE__ */ jsxs19("g", { children: [
3614
- /* @__PURE__ */ jsx22(
3535
+ children: /* @__PURE__ */ jsxs18("g", { children: [
3536
+ /* @__PURE__ */ jsxs18("g", { children: [
3537
+ /* @__PURE__ */ jsx20(
3615
3538
  "path",
3616
3539
  {
3617
3540
  d: "M21.3333 16.5333C21.3333 16.2388 21.5721 16 21.8667 16H26.1333C26.4279 16 26.6667 16.2388 26.6667 16.5333V20.8C26.6667 21.0946 26.4279 21.3333 26.1333 21.3333H21.8667C21.5721 21.3333 21.3333 21.0946 21.3333 20.8V16.5333Z",
3618
3541
  fill: lowerPathColor ?? "#ffffff"
3619
3542
  }
3620
3543
  ),
3621
- /* @__PURE__ */ jsx22(
3544
+ /* @__PURE__ */ jsx20(
3622
3545
  "path",
3623
3546
  {
3624
3547
  d: "M16 21.8667C16 21.5721 16.2388 21.3333 16.5333 21.3333H20.8C21.0946 21.3333 21.3333 21.5721 21.3333 21.8667V26.1333C21.3333 26.4279 21.0946 26.6667 20.8 26.6667H16.5333C16.2388 26.6667 16 26.4279 16 26.1333V21.8667Z",
3625
3548
  fill: lowerPathColor ?? "#ffffff"
3626
3549
  }
3627
3550
  ),
3628
- /* @__PURE__ */ jsx22(
3551
+ /* @__PURE__ */ jsx20(
3629
3552
  "path",
3630
3553
  {
3631
3554
  d: "M26.6667 21.8667C26.6667 21.5721 26.9054 21.3333 27.2 21.3333H31.4667C31.7612 21.3333 32 21.5721 32 21.8667V26.1333C32 26.4279 31.7612 26.6667 31.4667 26.6667H27.2C26.9054 26.6667 26.6667 26.4279 26.6667 26.1333V21.8667Z",
3632
3555
  fill: lowerPathColor ?? "#ffffff"
3633
3556
  }
3634
3557
  ),
3635
- /* @__PURE__ */ jsx22(
3558
+ /* @__PURE__ */ jsx20(
3636
3559
  "path",
3637
3560
  {
3638
3561
  d: "M21.3333 27.2C21.3333 26.9054 21.5721 26.6667 21.8667 26.6667H26.1333C26.4279 26.6667 26.6667 26.9054 26.6667 27.2V31.4667C26.6667 31.7612 26.4279 32 26.1333 32H21.8667C21.5721 32 21.3333 31.7612 21.3333 31.4667V27.2Z",
@@ -3640,7 +3563,7 @@ var OpenFrameLogo2 = ({
3640
3563
  }
3641
3564
  )
3642
3565
  ] }),
3643
- /* @__PURE__ */ jsx22(
3566
+ /* @__PURE__ */ jsx20(
3644
3567
  "path",
3645
3568
  {
3646
3569
  d: "M30.9333 0H1.06667C0.477563 0 0 0.477564 0 1.06667V30.9333C0 31.5224 0.477563 32 1.06667 32H14.9333C15.5224 32 16 31.5224 16 30.9333V27.7333C16 27.1442 15.5224 26.6667 14.9333 26.6667H5.86667C5.57211 26.6667 5.33333 26.4279 5.33333 26.1333V5.86667C5.33333 5.57211 5.57211 5.33333 5.86667 5.33333H26.1333C26.4279 5.33333 26.6667 5.57212 26.6667 5.86667V14.9333C26.6667 15.5224 27.1442 16 27.7333 16H30.9333C31.5224 16 32 15.5224 32 14.9333V1.06667C32 0.477563 31.5224 0 30.9333 0Z",
@@ -3653,12 +3576,12 @@ var OpenFrameLogo2 = ({
3653
3576
  };
3654
3577
 
3655
3578
  // src/components/vendor-tag.tsx
3656
- import { jsx as jsx23, jsxs as jsxs20 } from "react/jsx-runtime";
3579
+ import { jsx as jsx21, jsxs as jsxs19 } from "react/jsx-runtime";
3657
3580
  function openFrameTag(classification, text) {
3658
3581
  return {
3659
3582
  text: text || OPENFRAME_CLASSIFICATIONS[classification].word,
3660
3583
  textColor: void 0,
3661
- icon: /* @__PURE__ */ jsx23(OpenFrameLogo2, { lowerPathColor: "currentColor", upperPathColor: "currentColor", className: "h-4 w-4 text-ods-accent" })
3584
+ icon: /* @__PURE__ */ jsx21(OpenFrameLogo2, { lowerPathColor: "currentColor", upperPathColor: "currentColor", className: "h-4 w-4 text-ods-accent" })
3662
3585
  };
3663
3586
  }
3664
3587
  function VendorTag({ type, text, className = "", hidden = false, size = "md", accentColor }) {
@@ -3672,101 +3595,101 @@ function VendorTag({ type, text, className = "", hidden = false, size = "md", ac
3672
3595
  return {
3673
3596
  text: "Placeholder",
3674
3597
  textColor: "text-ods-text-primary",
3675
- icon: /* @__PURE__ */ jsx23("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm", children: /* @__PURE__ */ jsx23(Sparkles, { width: 10, height: 10, className: "text-ods-text-primary" }) })
3598
+ icon: /* @__PURE__ */ jsx21("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm", children: /* @__PURE__ */ jsx21(Sparkles, { width: 10, height: 10, className: "text-ods-text-primary" }) })
3676
3599
  };
3677
3600
  case "ai":
3678
3601
  return {
3679
3602
  text: "AI Selected",
3680
3603
  textColor: "text-ods-text-primary",
3681
- icon: /* @__PURE__ */ jsx23("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm", children: /* @__PURE__ */ jsx23(Sparkles, { width: 10, height: 10, className: "text-ods-text-primary" }) })
3604
+ icon: /* @__PURE__ */ jsx21("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm", children: /* @__PURE__ */ jsx21(Sparkles, { width: 10, height: 10, className: "text-ods-text-primary" }) })
3682
3605
  };
3683
3606
  case "manual":
3684
3607
  return {
3685
3608
  text: "Manually Selected",
3686
3609
  textColor: "text-ods-text-secondary",
3687
- icon: /* @__PURE__ */ jsx23("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm", children: /* @__PURE__ */ jsx23(Hand, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3610
+ icon: /* @__PURE__ */ jsx21("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm", children: /* @__PURE__ */ jsx21(Hand, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3688
3611
  };
3689
3612
  case "open-source":
3690
3613
  return {
3691
3614
  text: text || "Open Source",
3692
- icon: /* @__PURE__ */ jsx23(
3615
+ icon: /* @__PURE__ */ jsx21(
3693
3616
  "div",
3694
3617
  {
3695
3618
  className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent",
3696
3619
  style: accentColor ? { backgroundColor: accentColor } : void 0,
3697
- children: /* @__PURE__ */ jsx23(OpenSourceIcon2, { width: 10, height: 10, className: "text-ods-text-on-accent" })
3620
+ children: /* @__PURE__ */ jsx21(OpenSourceIcon2, { width: 10, height: 10, className: "text-ods-text-on-accent" })
3698
3621
  }
3699
3622
  )
3700
3623
  };
3701
3624
  case "commercial":
3702
3625
  return {
3703
3626
  text: text || "Commercial Vendor",
3704
- icon: /* @__PURE__ */ jsx23("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx23(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3627
+ icon: /* @__PURE__ */ jsx21("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx21(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3705
3628
  };
3706
3629
  // platform-capability tags — same neutral icon-box chrome as 'commercial'
3707
3630
  case "api":
3708
3631
  return {
3709
3632
  text: text || "API",
3710
- icon: /* @__PURE__ */ jsx23("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx23(Plug, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3633
+ icon: /* @__PURE__ */ jsx21("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx21(Plug, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3711
3634
  };
3712
3635
  case "data":
3713
3636
  return {
3714
3637
  text: text || "Data",
3715
- icon: /* @__PURE__ */ jsx23("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx23(Database, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3638
+ icon: /* @__PURE__ */ jsx21("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx21(Database, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3716
3639
  };
3717
3640
  case "k8s":
3718
3641
  return {
3719
3642
  text: text || "K8s",
3720
- icon: /* @__PURE__ */ jsx23("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx23(Boxes, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3643
+ icon: /* @__PURE__ */ jsx21("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx21(Boxes, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3721
3644
  };
3722
3645
  case "secured":
3723
3646
  return {
3724
3647
  text: text || "Secured",
3725
- icon: /* @__PURE__ */ jsx23("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx23(ShieldCheck, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3648
+ icon: /* @__PURE__ */ jsx21("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx21(ShieldCheck, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3726
3649
  };
3727
3650
  case "free":
3728
3651
  return {
3729
3652
  text: text || "Free",
3730
- icon: /* @__PURE__ */ jsx23("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx23("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "$" }) })
3653
+ icon: /* @__PURE__ */ jsx21("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx21("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "$" }) })
3731
3654
  };
3732
3655
  case "freemium":
3733
3656
  return {
3734
3657
  text: text || "Freemium",
3735
- icon: /* @__PURE__ */ jsx23("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx23("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "$" }) })
3658
+ icon: /* @__PURE__ */ jsx21("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx21("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "$" }) })
3736
3659
  };
3737
3660
  case "paid":
3738
3661
  return {
3739
3662
  text: text || "Paid",
3740
- icon: /* @__PURE__ */ jsx23("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx23(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3663
+ icon: /* @__PURE__ */ jsx21("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx21(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3741
3664
  };
3742
3665
  case "enterprise":
3743
3666
  return {
3744
3667
  text: text || "Enterprise",
3745
- icon: /* @__PURE__ */ jsx23("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx23("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "E" }) })
3668
+ icon: /* @__PURE__ */ jsx21("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx21("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "E" }) })
3746
3669
  };
3747
3670
  case "recommended":
3748
3671
  return {
3749
3672
  text: text || "Recommended",
3750
- icon: /* @__PURE__ */ jsx23("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx23("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "\u2605" }) })
3673
+ icon: /* @__PURE__ */ jsx21("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx21("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "\u2605" }) })
3751
3674
  };
3752
3675
  case "classification": {
3753
3676
  const classificationType = text?.toLowerCase();
3754
3677
  if (classificationType === "open_source") {
3755
3678
  return {
3756
3679
  text: "Open Source",
3757
- icon: /* @__PURE__ */ jsx23("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx23(OpenSourceIcon2, { width: 10, height: 10, className: "text-ods-text-on-accent" }) })
3680
+ icon: /* @__PURE__ */ jsx21("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx21(OpenSourceIcon2, { width: 10, height: 10, className: "text-ods-text-on-accent" }) })
3758
3681
  };
3759
3682
  } else if (classificationType === "commercial") {
3760
3683
  return {
3761
3684
  text: "Commercial Vendor",
3762
- icon: /* @__PURE__ */ jsx23("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx23(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3685
+ icon: /* @__PURE__ */ jsx21("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx21(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3763
3686
  };
3764
3687
  } else if (isOpenFrameClassification(classificationType)) {
3765
3688
  return openFrameTag(classificationType);
3766
3689
  } else {
3767
3690
  return {
3768
3691
  text: text || "Classification",
3769
- icon: /* @__PURE__ */ jsx23("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx23("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "C" }) })
3692
+ icon: /* @__PURE__ */ jsx21("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx21("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "C" }) })
3770
3693
  };
3771
3694
  }
3772
3695
  }
@@ -3782,19 +3705,19 @@ function VendorTag({ type, text, className = "", hidden = false, size = "md", ac
3782
3705
  }
3783
3706
  };
3784
3707
  const { text: displayText, icon, textColor } = getTagContent();
3785
- return /* @__PURE__ */ jsxs20("div", { className: cn(baseClasses, className, hidden && "invisible"), children: [
3708
+ return /* @__PURE__ */ jsxs19("div", { className: cn(baseClasses, className, hidden && "invisible"), children: [
3786
3709
  icon,
3787
- /* @__PURE__ */ jsx23("span", { className: cn("font-semibold text-h5", textColor ? textColor : "text-ods-text-primary"), children: displayText })
3710
+ /* @__PURE__ */ jsx21("span", { className: cn("font-semibold text-h5", textColor ? textColor : "text-ods-text-primary"), children: displayText })
3788
3711
  ] });
3789
3712
  }
3790
3713
 
3791
3714
  // src/components/selection-source-badge.tsx
3792
- import { jsx as jsx24 } from "react/jsx-runtime";
3715
+ import { jsx as jsx22 } from "react/jsx-runtime";
3793
3716
  function SelectionSourceBadge({ source, hidden = false }) {
3794
3717
  if (!source) {
3795
3718
  return null;
3796
3719
  }
3797
- return /* @__PURE__ */ jsx24(
3720
+ return /* @__PURE__ */ jsx22(
3798
3721
  VendorTag,
3799
3722
  {
3800
3723
  type: source?.toLowerCase(),
@@ -3806,32 +3729,32 @@ function SelectionSourceBadge({ source, hidden = false }) {
3806
3729
  }
3807
3730
 
3808
3731
  // src/components/vendor-page-skeleton.tsx
3809
- import { jsx as jsx25 } from "react/jsx-runtime";
3732
+ import { jsx as jsx23 } from "react/jsx-runtime";
3810
3733
  function VendorPageSkeleton() {
3811
- return /* @__PURE__ */ jsx25(VendorDetailLayoutSkeleton, {});
3734
+ return /* @__PURE__ */ jsx23(VendorDetailLayoutSkeleton, {});
3812
3735
  }
3813
3736
 
3814
3737
  // src/components/why-it-matters.tsx
3815
- import { jsx as jsx26, jsxs as jsxs21 } from "react/jsx-runtime";
3738
+ import { jsx as jsx24, jsxs as jsxs20 } from "react/jsx-runtime";
3816
3739
 
3817
3740
  // src/components/yes-no-display.tsx
3818
- import { jsx as jsx27, jsxs as jsxs22 } from "react/jsx-runtime";
3741
+ import { jsx as jsx25, jsxs as jsxs21 } from "react/jsx-runtime";
3819
3742
  function YesNoDisplay({ value, yesText = "Yes", noText = "No", customText, className = "" }) {
3820
3743
  if (customText) {
3821
- return /* @__PURE__ */ jsxs22("div", { className: `flex items-center gap-2 ${className}`, children: [
3822
- /* @__PURE__ */ jsx27(CheckCircleIcon2, { className: "h-6 w-6" }),
3823
- /* @__PURE__ */ jsx27("span", { className: "text-ods-text-primary text-h6", children: customText })
3744
+ return /* @__PURE__ */ jsxs21("div", { className: `flex items-center gap-2 ${className}`, children: [
3745
+ /* @__PURE__ */ jsx25(CheckCircleIcon2, { className: "h-6 w-6" }),
3746
+ /* @__PURE__ */ jsx25("span", { className: "text-ods-text-primary text-h6", children: customText })
3824
3747
  ] });
3825
3748
  }
3826
3749
  if (value) {
3827
- return /* @__PURE__ */ jsxs22("div", { className: `flex items-center gap-2 ${className}`, children: [
3828
- /* @__PURE__ */ jsx27(CheckCircleIcon2, { className: "h-6 w-6" }),
3829
- /* @__PURE__ */ jsx27("span", { className: "text-ods-text-primary text-h6", children: yesText })
3750
+ return /* @__PURE__ */ jsxs21("div", { className: `flex items-center gap-2 ${className}`, children: [
3751
+ /* @__PURE__ */ jsx25(CheckCircleIcon2, { className: "h-6 w-6" }),
3752
+ /* @__PURE__ */ jsx25("span", { className: "text-ods-text-primary text-h6", children: yesText })
3830
3753
  ] });
3831
3754
  }
3832
- return /* @__PURE__ */ jsxs22("div", { className: `flex items-center gap-2 ${className}`, children: [
3833
- /* @__PURE__ */ jsx27(XCircleIcon, { className: "h-6 w-6" }),
3834
- /* @__PURE__ */ jsx27("span", { className: "text-ods-text-secondary text-h6", children: noText })
3755
+ return /* @__PURE__ */ jsxs21("div", { className: `flex items-center gap-2 ${className}`, children: [
3756
+ /* @__PURE__ */ jsx25(XCircleIcon, { className: "h-6 w-6" }),
3757
+ /* @__PURE__ */ jsx25("span", { className: "text-ods-text-secondary text-h6", children: noText })
3835
3758
  ] });
3836
3759
  }
3837
3760
  function evaluateFeatureValue(value, dataType) {
@@ -3866,7 +3789,7 @@ function evaluateFeatureValue(value, dataType) {
3866
3789
 
3867
3790
  // src/components/made-with-love.tsx
3868
3791
  import { useState as useState7, useEffect as useEffect3 } from "react";
3869
- import { jsx as jsx28, jsxs as jsxs23 } from "react/jsx-runtime";
3792
+ import { jsx as jsx26, jsxs as jsxs22 } from "react/jsx-runtime";
3870
3793
  function MadeWithLove({ className = "", size = "md", showOnMobile = true }) {
3871
3794
  const [isMobile, setIsMobile] = useState7(false);
3872
3795
  const [isHovered, setIsHovered] = useState7(false);
@@ -3936,9 +3859,9 @@ function MadeWithLove({ className = "", size = "md", showOnMobile = true }) {
3936
3859
  marginLeft: "4px",
3937
3860
  textDecoration: "none"
3938
3861
  };
3939
- return /* @__PURE__ */ jsxs23("div", { style: containerStyle, className, children: [
3862
+ return /* @__PURE__ */ jsxs22("div", { style: containerStyle, className, children: [
3940
3863
  "Made with love by",
3941
- /* @__PURE__ */ jsxs23(
3864
+ /* @__PURE__ */ jsxs22(
3942
3865
  "a",
3943
3866
  {
3944
3867
  href: flamingoUrl,
@@ -3948,14 +3871,14 @@ function MadeWithLove({ className = "", size = "md", showOnMobile = true }) {
3948
3871
  onMouseEnter: () => setIsHovered(true),
3949
3872
  onMouseLeave: () => setIsHovered(false),
3950
3873
  children: [
3951
- /* @__PURE__ */ jsx28("div", { style: logoStyle, children: /* @__PURE__ */ jsx28(
3874
+ /* @__PURE__ */ jsx26("div", { style: logoStyle, children: /* @__PURE__ */ jsx26(
3952
3875
  FlamingoLogo2,
3953
3876
  {
3954
3877
  size: config.logoSize,
3955
3878
  color: "#f357bb"
3956
3879
  }
3957
3880
  ) }),
3958
- /* @__PURE__ */ jsx28("span", { style: textStyle, children: "Flamingo" })
3881
+ /* @__PURE__ */ jsx26("span", { style: textStyle, children: "Flamingo" })
3959
3882
  ]
3960
3883
  }
3961
3884
  )
@@ -3964,7 +3887,7 @@ function MadeWithLove({ className = "", size = "md", showOnMobile = true }) {
3964
3887
 
3965
3888
  // src/components/date-time-picker.tsx
3966
3889
  import DatePicker2 from "react-datepicker";
3967
- import { jsx as jsx29, jsxs as jsxs24 } from "react/jsx-runtime";
3890
+ import { jsx as jsx27, jsxs as jsxs23 } from "react/jsx-runtime";
3968
3891
  var inputClassName = cn(
3969
3892
  "flex h-10 w-full rounded-md border px-3 py-2 text-sm ring-offset-background",
3970
3893
  "file:border-0 file:bg-transparent file:text-sm file:font-medium",
@@ -3988,9 +3911,9 @@ function DateTimePicker({
3988
3911
  timeIntervals = 15,
3989
3912
  dateFormat = "MMMM d, yyyy h:mm aa"
3990
3913
  }) {
3991
- return /* @__PURE__ */ jsxs24("div", { className: cn("space-y-2", className), children: [
3992
- label && /* @__PURE__ */ jsx29(Label, { className: "font-semibold text-ods-text-secondary text-h5", children: label }),
3993
- /* @__PURE__ */ jsx29("div", { className: "w-full", children: /* @__PURE__ */ jsx29(
3914
+ return /* @__PURE__ */ jsxs23("div", { className: cn("space-y-2", className), children: [
3915
+ label && /* @__PURE__ */ jsx27(Label, { className: "font-semibold text-ods-text-secondary text-h5", children: label }),
3916
+ /* @__PURE__ */ jsx27("div", { className: "w-full", children: /* @__PURE__ */ jsx27(
3994
3917
  DatePicker2,
3995
3918
  {
3996
3919
  selected: value,
@@ -4005,7 +3928,7 @@ function DateTimePicker({
4005
3928
  className: inputClassName
4006
3929
  }
4007
3930
  ) }),
4008
- /* @__PURE__ */ jsx29(
3931
+ /* @__PURE__ */ jsx27(
4009
3932
  "style",
4010
3933
  {
4011
3934
  dangerouslySetInnerHTML: {
@@ -4116,7 +4039,7 @@ function DateTimePicker({
4116
4039
  }
4117
4040
 
4118
4041
  // src/components/authors/author-detail-view.tsx
4119
- import { jsx as jsx30, jsxs as jsxs25 } from "react/jsx-runtime";
4042
+ import { jsx as jsx28, jsxs as jsxs24 } from "react/jsx-runtime";
4120
4043
  function AuthorDetailView({ author, proxyImageUrl, children, className }) {
4121
4044
  const runtime = useChatRuntime();
4122
4045
  const proxiedAvatar = author.avatarUrl ? proxyImageUrl ? proxyImageUrl(author.avatarUrl) : getProxiedImageUrl(author.avatarUrl, {
@@ -4126,14 +4049,14 @@ function AuthorDetailView({ author, proxyImageUrl, children, className }) {
4126
4049
  }) ?? author.avatarUrl : null;
4127
4050
  const subtitle = [author.jobTitle, author.company].filter(Boolean).join(" @ ");
4128
4051
  const bioText = formatBioText(author.about);
4129
- return /* @__PURE__ */ jsxs25("div", { className: cn("flex flex-col gap-5 md:gap-6", className), children: [
4130
- /* @__PURE__ */ jsxs25("div", { className: "flex w-full items-start gap-6", children: [
4131
- /* @__PURE__ */ jsx30("div", { className: "relative h-24 w-24 shrink-0", children: /* @__PURE__ */ jsx30("div", { className: "relative h-full w-full overflow-hidden rounded-full border border-ods-border bg-ods-bg-surface", children: proxiedAvatar ? /* @__PURE__ */ jsx30(next_image_default, { src: proxiedAvatar, alt: author.fullName, fill: true, className: "object-cover", unoptimized: true }) : /* @__PURE__ */ jsx30("div", { className: "flex h-full w-full items-center justify-center font-heading text-3xl text-ods-text-secondary", children: author.fullName.charAt(0).toUpperCase() }) }) }),
4132
- /* @__PURE__ */ jsxs25("div", { className: "flex min-w-0 flex-col justify-center gap-2", children: [
4133
- /* @__PURE__ */ jsx30("p", { className: "truncate leading-none text-ods-text-primary text-h2", children: author.fullName }),
4134
- subtitle && /* @__PURE__ */ jsx30("p", { className: "truncate font-body text-lg leading-none text-ods-text-secondary", children: subtitle }),
4052
+ return /* @__PURE__ */ jsxs24("div", { className: cn("flex flex-col gap-5 md:gap-6", className), children: [
4053
+ /* @__PURE__ */ jsxs24("div", { className: "flex w-full items-start gap-6", children: [
4054
+ /* @__PURE__ */ jsx28("div", { className: "relative h-24 w-24 shrink-0", children: /* @__PURE__ */ jsx28("div", { className: "relative h-full w-full overflow-hidden rounded-full border border-ods-border bg-ods-bg-surface", children: proxiedAvatar ? /* @__PURE__ */ jsx28(next_image_default, { src: proxiedAvatar, alt: author.fullName, fill: true, className: "object-cover", unoptimized: true }) : /* @__PURE__ */ jsx28("div", { className: "flex h-full w-full items-center justify-center font-heading text-3xl text-ods-text-secondary", children: author.fullName.charAt(0).toUpperCase() }) }) }),
4055
+ /* @__PURE__ */ jsxs24("div", { className: "flex min-w-0 flex-col justify-center gap-2", children: [
4056
+ /* @__PURE__ */ jsx28("p", { className: "truncate leading-none text-ods-text-primary text-h2", children: author.fullName }),
4057
+ subtitle && /* @__PURE__ */ jsx28("p", { className: "truncate font-body text-lg leading-none text-ods-text-secondary", children: subtitle }),
4135
4058
  author.socialLinks.length > 0 && // Ghost compact row (transparent 32px) — metadata, not CTAs.
4136
- /* @__PURE__ */ jsx30(
4059
+ /* @__PURE__ */ jsx28(
4137
4060
  SocialIconRow,
4138
4061
  {
4139
4062
  compact: true,
@@ -4146,8 +4069,8 @@ function AuthorDetailView({ author, proxyImageUrl, children, className }) {
4146
4069
  )
4147
4070
  ] })
4148
4071
  ] }),
4149
- bioText && /* @__PURE__ */ jsx30("p", { className: "text-ods-text-secondary text-h6", children: bioText }),
4150
- author.knowsAbout.length > 0 && /* @__PURE__ */ jsx30("div", { className: "flex flex-wrap gap-2", children: author.knowsAbout.map((topic) => /* @__PURE__ */ jsx30(StatusBadge, { text: topic, variant: "button", colorScheme: "cyan", singleLine: true }, topic)) }),
4072
+ bioText && /* @__PURE__ */ jsx28("p", { className: "text-ods-text-secondary text-h6", children: bioText }),
4073
+ author.knowsAbout.length > 0 && /* @__PURE__ */ jsx28("div", { className: "flex flex-wrap gap-2", children: author.knowsAbout.map((topic) => /* @__PURE__ */ jsx28(StatusBadge, { text: topic, variant: "button", colorScheme: "cyan", singleLine: true }, topic)) }),
4151
4074
  children
4152
4075
  ] });
4153
4076
  }
@@ -4162,6 +4085,7 @@ export {
4162
4085
  ANTHROPIC_SUPPORTED_IMAGE_MIME,
4163
4086
  APPROVAL_BLOCK_VARIANT,
4164
4087
  APPROVAL_STATUS,
4088
+ ASK_AI_OPEN_EVENT,
4165
4089
  ASSISTANT_TYPE,
4166
4090
  AUTHOR_TYPE,
4167
4091
  AUTO_CONTINUATION_DIRECTIVE_PREFIX,
@@ -4378,7 +4302,6 @@ export {
4378
4302
  ClaudeIcon,
4379
4303
  ClickUpIcon,
4380
4304
  ClickUpTasksManager,
4381
- ClientOnlyHeader,
4382
4305
  CmdIcon,
4383
4306
  CoinsIcon,
4384
4307
  ColorPickerInput,
@@ -4589,8 +4512,6 @@ export {
4589
4512
  FloatingTooltip,
4590
4513
  FloatingWalkthroughVideo,
4591
4514
  FolderShieldIcon,
4592
- Footer,
4593
- FooterWaitlistButton,
4594
4515
  FormLoader,
4595
4516
  FormPageContainer,
4596
4517
  FormSkeleton,
@@ -4613,12 +4534,10 @@ export {
4613
4534
  GuideWelcome,
4614
4535
  HamburgerIcon,
4615
4536
  HandDollarIcon,
4616
- Header,
4617
4537
  HeaderButton,
4618
4538
  HeaderGlobalSearch,
4619
4539
  HeaderMingoButton,
4620
4540
  HeaderOrganizationFilter,
4621
- HeaderSkeleton,
4622
4541
  HeroImageUploader,
4623
4542
  HeroSkeleton,
4624
4543
  HiddenTagsPopup,
@@ -4704,7 +4623,7 @@ export {
4704
4623
  MINGO_APPROVAL_REQUEST_TYPE,
4705
4624
  MINGO_V2_RAIL_WIDTH,
4706
4625
  MINGO_V2_SPLIT_WIDTH,
4707
- MOBILE_NAV_PANEL_ID,
4626
+ MOBILE_NAV_SHEET_ID,
4708
4627
  MSPDisplay,
4709
4628
  MUX_IMAGE_ORIGIN,
4710
4629
  MUX_STREAM_ORIGIN,
@@ -4764,7 +4683,7 @@ export {
4764
4683
  MinusIcon,
4765
4684
  MlgLogo,
4766
4685
  MobileBurgerMenu,
4767
- MobileNavPanel,
4686
+ MobileNavSheet,
4768
4687
  MobileNavigationDropdown,
4769
4688
  Modal,
4770
4689
  ModalContent,
@@ -4792,7 +4711,9 @@ export {
4792
4711
  NEW_TAB_FEATURES,
4793
4712
  NOCIcon,
4794
4713
  NaturalLanguageIcon,
4714
+ NavItemRow,
4795
4715
  NavLinkAnchorViaRuntime,
4716
+ NavPanel,
4796
4717
  NavigationItemBadge,
4797
4718
  NavigationMenu,
4798
4719
  NavigationMenuContent,
@@ -5042,6 +4963,8 @@ export {
5042
4963
  ShieldKeyIcon,
5043
4964
  ShieldLockIcon,
5044
4965
  SimpleMarkdownRenderer,
4966
+ SiteFooter,
4967
+ SiteHeader,
5045
4968
  Skeleton,
5046
4969
  SkeletonButton,
5047
4970
  SkeletonCard,
@@ -5271,6 +5194,7 @@ export {
5271
5194
  decideNewTab,
5272
5195
  decodeHistoricalMessageData,
5273
5196
  defaultBuildProductReleaseCardProps,
5197
+ defaultRenderSiteNavLink,
5274
5198
  defaultTableIdForDocumentType,
5275
5199
  deriveColumns,
5276
5200
  designDocMetaLine,
@@ -5346,6 +5270,7 @@ export {
5346
5270
  isApprovalNotificationType,
5347
5271
  isCrossOriginUrl,
5348
5272
  isHistoricalUserTurn,
5273
+ isMegaMenu,
5349
5274
  isModifierClick,
5350
5275
  isQuickActionIconSpec,
5351
5276
  isStructuredContent,
@@ -5355,6 +5280,7 @@ export {
5355
5280
  maxPersistedStreamSeq,
5356
5281
  mergeHistoryWithRealtime,
5357
5282
  multiSelectFilterFn,
5283
+ navLinkLabel,
5358
5284
  navigationMenuTriggerStyle,
5359
5285
  newTabAnchorAttrs,
5360
5286
  noDataActionsVariants,
@@ -5362,6 +5288,7 @@ export {
5362
5288
  normalizeContent,
5363
5289
  normalizeHistoricalMessageData,
5364
5290
  normalizeIconKey,
5291
+ openAskAi,
5365
5292
  parseScrollAnchor,
5366
5293
  parseWireCommandOverride,
5367
5294
  photoOrientation,
@@ -5399,6 +5326,7 @@ export {
5399
5326
  setRealAuthHook,
5400
5327
  showCommandApprovalToast,
5401
5328
  showToast,
5329
+ siteNavHasMobileMenus,
5402
5330
  sortBitesByCreatedAtDesc,
5403
5331
  sortBitesByFeaturedAtDesc,
5404
5332
  splitStreamingBlocks,
@@ -5449,6 +5377,7 @@ export {
5449
5377
  useMediaIntake,
5450
5378
  useNatsChatAdapter,
5451
5379
  useNatsDialogSubscription,
5380
+ useNavLinkViaRuntime,
5452
5381
  useNotifications,
5453
5382
  useOnboardingState,
5454
5383
  useOptionalNotifications,