@flamingo-stack/openframe-frontend-core 0.0.719 → 0.0.721

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 (228) hide show
  1. package/dist/assets/index.cjs +6 -0
  2. package/dist/assets/index.d.ts +1 -0
  3. package/dist/assets/index.d.ts.map +1 -1
  4. package/dist/assets/index.js +5 -1
  5. package/dist/assets/mobile-app-qr.d.ts +17 -0
  6. package/dist/assets/mobile-app-qr.d.ts.map +1 -0
  7. package/dist/{chunk-2JLP2X2M.js → chunk-2P2M27EW.js} +2396 -2369
  8. package/dist/{chunk-IWCPXJEE.js → chunk-2TXGR7IK.js} +138 -63
  9. package/dist/{chunk-FVQJBII6.js → chunk-3LY7V3RF.js} +3 -3
  10. package/dist/{chunk-HCFNEKO3.cjs → chunk-3R32ZNA2.cjs} +46 -46
  11. package/dist/{chunk-WSDT7LYL.js → chunk-3UBWDR65.js} +1 -1
  12. package/dist/{chunk-NZ5BHDFZ.js → chunk-44Q6MV7C.js} +2 -2
  13. package/dist/{chunk-CMZ3QTFQ.js → chunk-4I3K6LEH.js} +24 -0
  14. package/dist/{chunk-ZXCZYMN4.cjs → chunk-4LY6R4TN.cjs} +137 -62
  15. package/dist/{chunk-EAHOB64X.js → chunk-57UTI7ZH.js} +106 -42
  16. package/dist/{chunk-XGHGGBM3.js → chunk-5QXE5HMV.js} +4 -4
  17. package/dist/{chunk-NYWESHOQ.cjs → chunk-6AJIOW3S.cjs} +57 -57
  18. package/dist/{chunk-4QFWGLZO.js → chunk-6YBUQAOH.js} +1 -1
  19. package/dist/{chunk-JHQ334WS.js → chunk-742BGXNX.js} +2 -0
  20. package/dist/{chunk-D6PMVWDI.js → chunk-74N742ZG.js} +6 -6
  21. package/dist/{chunk-AECTRMGQ.cjs → chunk-7GRPR7XA.cjs} +13 -1
  22. package/dist/{chunk-4HJRHEXD.cjs → chunk-7Z5FMQYR.cjs} +22 -22
  23. package/dist/chunk-AFTRPEXO.js +13 -0
  24. package/dist/{chunk-WBNAEYTQ.cjs → chunk-BYUIFT7Q.cjs} +6 -6
  25. package/dist/{chunk-LCLDFMDF.cjs → chunk-BYVVE7HP.cjs} +58 -58
  26. package/dist/{chunk-JPD4NXH6.js → chunk-CO3FOZIH.js} +1 -1
  27. package/dist/{chunk-E7YCPY7K.cjs → chunk-D2DH6VZL.cjs} +3 -3
  28. package/dist/{chunk-HWVUR735.cjs → chunk-DFM572VH.cjs} +2 -2
  29. package/dist/{chunk-YDPKUAP4.js → chunk-DJ4IFQNQ.js} +2 -0
  30. package/dist/{chunk-5U3KWQXP.js → chunk-E6SMMMKV.js} +13 -13
  31. package/dist/chunk-EWPR7662.cjs +13 -0
  32. package/dist/{chunk-SWAVO7BB.cjs → chunk-F7ORKKEF.cjs} +108 -108
  33. package/dist/{chunk-AGVXKD4K.js → chunk-FSQQZFVG.js} +12 -0
  34. package/dist/{chunk-ETYLOZOB.cjs → chunk-GCK75D7F.cjs} +109 -22
  35. package/dist/{chunk-ZKNZ2CXW.cjs → chunk-GGBYZKMS.cjs} +11 -11
  36. package/dist/{chunk-Y4MB25KW.js → chunk-GYAXV3MZ.js} +3 -3
  37. package/dist/{chunk-UWQWMGJ7.cjs → chunk-HJMSNOBT.cjs} +1040 -696
  38. package/dist/{chunk-DFQYAYBH.cjs → chunk-HQIOMFJH.cjs} +2 -0
  39. package/dist/{chunk-JH2SIWPQ.js → chunk-HXB7SEYG.js} +1611 -1267
  40. package/dist/{chunk-LE5WKGJV.cjs → chunk-I2254QN6.cjs} +16 -16
  41. package/dist/{chunk-PSVSEN4J.cjs → chunk-IMTY3GRR.cjs} +2 -0
  42. package/dist/{chunk-ILNN6QRW.js → chunk-JDBZ4ZHU.js} +3 -3
  43. package/dist/{chunk-GQ7JJUIT.cjs → chunk-K2JUJ37D.cjs} +25 -1
  44. package/dist/{chunk-6YPTUHM7.js → chunk-K76ACBR3.js} +3 -3
  45. package/dist/{chunk-2NASBO7O.js → chunk-KFOAV77K.js} +2 -2
  46. package/dist/{chunk-CU6NWO2M.js → chunk-LAXKEBDD.js} +14 -18
  47. package/dist/{chunk-5YAGX5DY.js → chunk-LGKMR7NZ.js} +7 -7
  48. package/dist/{chunk-E2V2EH2G.cjs → chunk-LODMNSQY.cjs} +16 -16
  49. package/dist/{chunk-4D6NMPOO.js → chunk-NJ5TBTJG.js} +7 -7
  50. package/dist/{chunk-TDZ76NCB.cjs → chunk-NMPVK53I.cjs} +29 -29
  51. package/dist/{chunk-TTVOLEUS.js → chunk-NPSJE7J3.js} +90 -3
  52. package/dist/{chunk-H5VIMBRN.cjs → chunk-O5EHOJZD.cjs} +4 -4
  53. package/dist/{chunk-KT3U3ZRP.cjs → chunk-OKE5BIQH.cjs} +8 -8
  54. package/dist/{chunk-DC4RTYWK.cjs → chunk-QLTXT562.cjs} +5 -5
  55. package/dist/{chunk-H5V7GRN5.js → chunk-QQCFPMAA.js} +5 -7
  56. package/dist/{chunk-7BREFV7G.cjs → chunk-QYS4YVEP.cjs} +34 -36
  57. package/dist/{chunk-7BCY77W6.js → chunk-RCI3PALX.js} +8 -10
  58. package/dist/{chunk-P3JMAMHP.js → chunk-REETLEL5.js} +1 -1
  59. package/dist/{chunk-4JIGEK7C.cjs → chunk-RJMWJAJO.cjs} +97 -33
  60. package/dist/{chunk-WS7WRR5Z.cjs → chunk-RQZQHLNS.cjs} +86 -90
  61. package/dist/{chunk-FFT56TYB.cjs → chunk-RUZIICXT.cjs} +2 -2
  62. package/dist/{chunk-AJHSQ5XK.js → chunk-S63QBBT7.js} +6 -6
  63. package/dist/{chunk-TELAANY6.js → chunk-UXU7Y5BH.js} +2 -2
  64. package/dist/{chunk-NQVS4G7G.cjs → chunk-UZTOI6FJ.cjs} +773 -746
  65. package/dist/{chunk-DFEPUYTF.cjs → chunk-VFICDEYJ.cjs} +45 -47
  66. package/dist/{chunk-LOZLHG2U.cjs → chunk-XE2K53GH.cjs} +20 -20
  67. package/dist/{chunk-QBCDSTLE.cjs → chunk-XXO52RZR.cjs} +26 -26
  68. package/dist/{chunk-TTEFN6VO.js → chunk-ZLUFEWZZ.js} +10 -10
  69. package/dist/{chunk-MA4Q5RBP.cjs → chunk-ZSOFLPQN.cjs} +9 -9
  70. package/dist/{chunk-KBJJQFYU.js → chunk-ZZEKXGFS.js} +2 -2
  71. package/dist/{cloud-tenants-FBUO66GW.cjs → cloud-tenants-HZHKRUIW.cjs} +16 -16
  72. package/dist/{cloud-tenants-DNBPNQNP.js → cloud-tenants-Q4TCJS5Y.js} +15 -15
  73. package/dist/components/calendar.cjs +4 -4
  74. package/dist/components/calendar.js +1 -1
  75. package/dist/components/case-studies/index.cjs +30 -30
  76. package/dist/components/case-studies/index.js +16 -16
  77. package/dist/components/chat/ask-prompts.d.ts +10 -2
  78. package/dist/components/chat/ask-prompts.d.ts.map +1 -1
  79. package/dist/components/chat/assistant-ask-prompts.d.ts +27 -0
  80. package/dist/components/chat/assistant-ask-prompts.d.ts.map +1 -0
  81. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  82. package/dist/components/chat/hooks/index.d.ts +1 -0
  83. package/dist/components/chat/hooks/index.d.ts.map +1 -1
  84. package/dist/components/chat/hooks/use-ask-prompts.d.ts +63 -0
  85. package/dist/components/chat/hooks/use-ask-prompts.d.ts.map +1 -0
  86. package/dist/components/chat/index.cjs +27 -10
  87. package/dist/components/chat/index.d.ts +1 -0
  88. package/dist/components/chat/index.d.ts.map +1 -1
  89. package/dist/components/chat/index.js +26 -9
  90. package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
  91. package/dist/components/contact/index.cjs +17 -17
  92. package/dist/components/contact/index.js +16 -16
  93. package/dist/components/docs/index.cjs +20 -20
  94. package/dist/components/docs/index.js +19 -19
  95. package/dist/components/embeds/index.cjs +17 -17
  96. package/dist/components/embeds/index.js +16 -16
  97. package/dist/components/faq/faq-ask-card.d.ts +44 -0
  98. package/dist/components/faq/faq-ask-card.d.ts.map +1 -0
  99. package/dist/components/faq/faq-document-page.d.ts +5 -1
  100. package/dist/components/faq/faq-document-page.d.ts.map +1 -1
  101. package/dist/components/faq/faq-section.d.ts +18 -5
  102. package/dist/components/faq/faq-section.d.ts.map +1 -1
  103. package/dist/components/faq/index.cjs +19 -18
  104. package/dist/components/faq/index.d.ts +1 -0
  105. package/dist/components/faq/index.d.ts.map +1 -1
  106. package/dist/components/faq/index.js +18 -17
  107. package/dist/components/features/auth/auth-benefits-panel.d.ts.map +1 -1
  108. package/dist/components/features/index.cjs +16 -16
  109. package/dist/components/features/index.js +15 -15
  110. package/dist/components/help-center-pages/download-apps-page.d.ts +55 -0
  111. package/dist/components/help-center-pages/download-apps-page.d.ts.map +1 -0
  112. package/dist/components/help-center-pages/index.cjs +333 -119
  113. package/dist/components/help-center-pages/index.d.ts +1 -0
  114. package/dist/components/help-center-pages/index.d.ts.map +1 -1
  115. package/dist/components/help-center-pages/index.js +251 -37
  116. package/dist/components/help-center-pages/trust-center-page.d.ts +4 -1
  117. package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
  118. package/dist/components/index.cjs +131 -217
  119. package/dist/components/index.js +236 -322
  120. package/dist/components/meeting-scheduler/index.cjs +61 -62
  121. package/dist/components/meeting-scheduler/index.js +18 -19
  122. package/dist/components/navigation/index.cjs +19 -19
  123. package/dist/components/navigation/index.js +18 -18
  124. package/dist/components/navigation/mingo-ai-button.d.ts +1 -1
  125. package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
  126. package/dist/components/onboarding-guides/index.cjs +19 -20
  127. package/dist/components/onboarding-guides/index.js +18 -19
  128. package/dist/components/product-demo/index.cjs +8 -8
  129. package/dist/components/product-demo/index.js +8 -8
  130. package/dist/components/related-content/index.cjs +7 -9
  131. package/dist/components/related-content/index.js +6 -8
  132. package/dist/components/tickets/index.cjs +21 -21
  133. package/dist/components/tickets/index.js +20 -20
  134. package/dist/components/ui/button/button.d.ts.map +1 -1
  135. package/dist/components/ui/file-manager/index.cjs +11 -11
  136. package/dist/components/ui/file-manager/index.js +1 -1
  137. package/dist/components/ui/index.cjs +34 -16
  138. package/dist/components/ui/index.d.ts +1 -0
  139. package/dist/components/ui/index.d.ts.map +1 -1
  140. package/dist/components/ui/index.js +33 -15
  141. package/dist/components/ui/mobile-app-qr.d.ts +23 -0
  142. package/dist/components/ui/mobile-app-qr.d.ts.map +1 -0
  143. package/dist/components/ui/store-badges.d.ts +7 -4
  144. package/dist/components/ui/store-badges.d.ts.map +1 -1
  145. package/dist/contexts/assistant-runtime-context.d.ts +74 -0
  146. package/dist/contexts/assistant-runtime-context.d.ts.map +1 -0
  147. package/dist/contexts/index.cjs +7 -1
  148. package/dist/contexts/index.d.ts +1 -0
  149. package/dist/contexts/index.d.ts.map +1 -1
  150. package/dist/contexts/index.js +6 -0
  151. package/dist/{devices-5A5TY4JD.cjs → devices-6XHUFIC6.cjs} +17 -17
  152. package/dist/{devices-PLDAEUSL.js → devices-NOUGVTES.js} +15 -15
  153. package/dist/hooks/index.cjs +10 -5
  154. package/dist/hooks/index.d.ts +1 -0
  155. package/dist/hooks/index.d.ts.map +1 -1
  156. package/dist/hooks/index.js +9 -4
  157. package/dist/hooks/use-downloads.d.ts +41 -0
  158. package/dist/hooks/use-downloads.d.ts.map +1 -0
  159. package/dist/index.cjs +80 -20
  160. package/dist/index.js +79 -19
  161. package/dist/{knowledge-G6Q5KRWV.js → knowledge-2YTUXQ2Z.js} +15 -15
  162. package/dist/{knowledge-FKTJ723Z.cjs → knowledge-ANEKPMO2.cjs} +17 -17
  163. package/dist/{logs-CJCXUBU6.cjs → logs-U3IB3HUM.cjs} +25 -25
  164. package/dist/{logs-QMV6XIC4.js → logs-WVQIONUT.js} +15 -15
  165. package/dist/{policies-G6D7AX6F.js → policies-66EGDW2H.js} +15 -15
  166. package/dist/{policies-QMRTK3CY.cjs → policies-UFRN2EQF.cjs} +20 -20
  167. package/dist/{remote-session-DBD6OSTX.js → remote-session-6WEUJZDC.js} +5 -5
  168. package/dist/{remote-session-2JVI7RVA.cjs → remote-session-A75X5NPC.cjs} +7 -7
  169. package/dist/{software-update-PNZMRDBT.cjs → software-update-2MHKL76D.cjs} +20 -20
  170. package/dist/{software-update-6BQM6BKH.js → software-update-3ZD3MXF3.js} +15 -15
  171. package/dist/{tickets-board-BHLPAVNJ.cjs → tickets-board-IFWMIZ35.cjs} +9 -9
  172. package/dist/{tickets-board-PYDNELSK.js → tickets-board-MYXG3V72.js} +4 -4
  173. package/dist/types/downloads.d.ts +67 -0
  174. package/dist/types/downloads.d.ts.map +1 -0
  175. package/dist/types/index.cjs +24 -0
  176. package/dist/types/index.d.ts +1 -0
  177. package/dist/types/index.d.ts.map +1 -1
  178. package/dist/types/index.js +16 -1
  179. package/dist/utils/index.cjs +46 -2
  180. package/dist/utils/index.d.ts +2 -0
  181. package/dist/utils/index.d.ts.map +1 -1
  182. package/dist/utils/index.js +40 -3
  183. package/dist/utils/list-url.d.ts.map +1 -1
  184. package/dist/utils/mobile-app.cjs +46 -0
  185. package/dist/utils/mobile-app.d.ts +40 -0
  186. package/dist/utils/mobile-app.d.ts.map +1 -0
  187. package/dist/utils/mobile-app.js +40 -0
  188. package/dist/utils/source-icons.d.ts.map +1 -1
  189. package/dist/utils/trial.d.ts +18 -0
  190. package/dist/utils/trial.d.ts.map +1 -0
  191. package/package.json +7 -1
  192. package/src/assets/index.ts +1 -0
  193. package/src/assets/mobile-app-qr.ts +19 -0
  194. package/src/components/chat/ask-prompts.tsx +25 -3
  195. package/src/components/chat/assistant-ask-prompts.tsx +78 -0
  196. package/src/components/chat/entity-cards/dispatch.tsx +38 -4
  197. package/src/components/chat/hooks/index.ts +12 -0
  198. package/src/components/chat/hooks/use-ask-prompts.ts +188 -0
  199. package/src/components/chat/index.ts +1 -0
  200. package/src/components/chat/utils/icon-library.tsx +6 -0
  201. package/src/components/faq/faq-ask-card.tsx +115 -0
  202. package/src/components/faq/faq-document-page.tsx +6 -1
  203. package/src/components/faq/faq-section.tsx +27 -5
  204. package/src/components/faq/index.ts +1 -0
  205. package/src/components/features/auth/auth-benefits-panel.tsx +5 -4
  206. package/src/components/help-center-pages/download-apps-page.tsx +364 -0
  207. package/src/components/help-center-pages/index.ts +1 -0
  208. package/src/components/help-center-pages/trust-center-page.tsx +5 -2
  209. package/src/components/navigation/mingo-ai-button.tsx +27 -6
  210. package/src/components/ui/button/button.tsx +3 -0
  211. package/src/components/ui/index.ts +1 -0
  212. package/src/components/ui/mobile-app-qr.tsx +40 -0
  213. package/src/components/ui/store-badges.tsx +17 -9
  214. package/src/contexts/assistant-runtime-context.tsx +84 -0
  215. package/src/contexts/index.ts +9 -0
  216. package/src/hooks/index.ts +1 -0
  217. package/src/hooks/use-downloads.ts +138 -0
  218. package/src/types/downloads.ts +82 -0
  219. package/src/types/index.ts +1 -0
  220. package/src/utils/index.ts +3 -0
  221. package/src/utils/list-url.ts +4 -0
  222. package/src/utils/mobile-app.ts +57 -0
  223. package/src/utils/source-icons.ts +10 -2
  224. package/src/utils/trial.ts +19 -0
  225. package/dist/chunk-6X3O67OL.cjs +0 -89
  226. package/dist/chunk-AUMKE74M.cjs +0 -16
  227. package/dist/chunk-G3GRYDMS.js +0 -16
  228. package/dist/chunk-RR6PY34K.js +0 -89
@@ -14,7 +14,7 @@ import {
14
14
  RoadmapView,
15
15
  useLegalDocs,
16
16
  useRoadmapVoting
17
- } from "../chunk-CU6NWO2M.js";
17
+ } from "../chunk-LAXKEBDD.js";
18
18
  import {
19
19
  DocNavigationProvider,
20
20
  DocViewer,
@@ -27,26 +27,27 @@ import {
27
27
  PersistentSidebar,
28
28
  useDocNavigation,
29
29
  useDocumentTree
30
- } from "../chunk-TTEFN6VO.js";
30
+ } from "../chunk-ZLUFEWZZ.js";
31
31
  import {
32
32
  FileDownloadCard,
33
33
  GoogleSheetsViewer,
34
34
  PdfViewer
35
- } from "../chunk-FVQJBII6.js";
35
+ } from "../chunk-3LY7V3RF.js";
36
36
  import {
37
37
  PersistentPagination,
38
38
  PersistentPaginationWrapper,
39
39
  usePaginationLoading
40
- } from "../chunk-4QFWGLZO.js";
40
+ } from "../chunk-6YBUQAOH.js";
41
41
  import {
42
42
  FaqAccordion,
43
+ FaqAskCard,
43
44
  FaqDocumentPage,
44
45
  FaqSection
45
- } from "../chunk-EAHOB64X.js";
46
+ } from "../chunk-57UTI7ZH.js";
46
47
  import {
47
48
  GROUP_PAGE_SIZE,
48
49
  RelatedContentSection
49
- } from "../chunk-H5V7GRN5.js";
50
+ } from "../chunk-QQCFPMAA.js";
50
51
  import {
51
52
  CveLink,
52
53
  OnboardingStepCard,
@@ -56,7 +57,7 @@ import {
56
57
  ShellTypeBadge,
57
58
  SoftwareInfo,
58
59
  SoftwareSourceBadge
59
- } from "../chunk-XGHGGBM3.js";
60
+ } from "../chunk-5QXE5HMV.js";
60
61
  import {
61
62
  AppHeader,
62
63
  AppLayout,
@@ -81,14 +82,14 @@ import {
81
82
  isMegaMenu,
82
83
  navLinkLabel,
83
84
  siteNavHasMobileMenus
84
- } from "../chunk-4D6NMPOO.js";
85
+ } from "../chunk-NJ5TBTJG.js";
85
86
  import {
86
87
  MobileNavigationDropdown,
87
88
  MultiLevelNavigation,
88
89
  StickySectionNav,
89
90
  useScrollSpy,
90
91
  useSectionNavigation
91
- } from "../chunk-NZ5BHDFZ.js";
92
+ } from "../chunk-44Q6MV7C.js";
92
93
  import {
93
94
  DeliveryRow,
94
95
  DevCardRowContent,
@@ -97,16 +98,16 @@ import {
97
98
  DevSectionPage,
98
99
  DevSectionView,
99
100
  ListEmptyState
100
- } from "../chunk-AJHSQ5XK.js";
101
+ } from "../chunk-S63QBBT7.js";
101
102
  import {
102
103
  EmptyState,
103
104
  UnifiedPagination
104
- } from "../chunk-6YPTUHM7.js";
105
- import "../chunk-JPD4NXH6.js";
105
+ } from "../chunk-K76ACBR3.js";
106
+ import "../chunk-CO3FOZIH.js";
106
107
  import {
107
108
  ArticleAuthorByline,
108
109
  DetailPageSkeleton
109
- } from "../chunk-TELAANY6.js";
110
+ } from "../chunk-UXU7Y5BH.js";
110
111
  import {
111
112
  DocSearchBar,
112
113
  DocSearchResultRow,
@@ -114,10 +115,7 @@ import {
114
115
  mapDocSearchResults,
115
116
  resolveSearchResultAction,
116
117
  useDocSearch
117
- } from "../chunk-5YAGX5DY.js";
118
- import {
119
- useSelfFetch
120
- } from "../chunk-RR6PY34K.js";
118
+ } from "../chunk-LGKMR7NZ.js";
121
119
  import {
122
120
  AIEnrichButton,
123
121
  AIEnrichSection,
@@ -388,6 +386,7 @@ import {
388
386
  MenubarSubTrigger,
389
387
  MenubarTrigger,
390
388
  MinusIcon,
389
+ MobileAppQr,
391
390
  MoreAboutButton,
392
391
  MoreActionsMenu,
393
392
  MspProfileFormSkeleton,
@@ -704,7 +703,7 @@ import {
704
703
  useTrackerClock,
705
704
  useWalkthroughVideo,
706
705
  usersCountLabel
707
- } from "../chunk-2JLP2X2M.js";
706
+ } from "../chunk-2P2M27EW.js";
708
707
  import {
709
708
  Board,
710
709
  BoardColumn,
@@ -720,7 +719,7 @@ import {
720
719
  groupTicketsByStatus,
721
720
  tintOnDark,
722
721
  useBoardCollapse
723
- } from "../chunk-ILNN6QRW.js";
722
+ } from "../chunk-JDBZ4ZHU.js";
724
723
  import "../chunk-LQYXMEYF.js";
725
724
  import "../chunk-4JPLYOS6.js";
726
725
  import {
@@ -779,7 +778,7 @@ import {
779
778
  formatRemoteSessionOffset,
780
779
  usePageActionsBottomPadding,
781
780
  useRemoteSessionTimer
782
- } from "../chunk-Y4MB25KW.js";
781
+ } from "../chunk-GYAXV3MZ.js";
783
782
  import {
784
783
  CommandApprovalToast,
785
784
  ToastCard,
@@ -791,7 +790,7 @@ import {
791
790
  useOnboardingState,
792
791
  useStickyToolbar,
793
792
  useToast
794
- } from "../chunk-IWCPXJEE.js";
793
+ } from "../chunk-2TXGR7IK.js";
795
794
  import "../chunk-3K5ZLZE7.js";
796
795
  import {
797
796
  useEndpointsRuntime
@@ -805,8 +804,7 @@ import {
805
804
  PaginationLink,
806
805
  PaginationNext,
807
806
  PaginationPrevious
808
- } from "../chunk-WSDT7LYL.js";
809
- import "../chunk-G3GRYDMS.js";
807
+ } from "../chunk-3UBWDR65.js";
810
808
  import {
811
809
  Checkbox
812
810
  } from "../chunk-PLWMIU72.js";
@@ -814,6 +812,7 @@ import {
814
812
  ANNOUNCEMENT_CTA_DEFAULTS,
815
813
  ANTHROPIC_SUPPORTED_IMAGE_MIME,
816
814
  ASK_AI_OPEN_EVENT,
815
+ ASK_PROMPTS_DEFAULT_COUNT,
817
816
  AUTO_CONTINUATION_DIRECTIVE_PREFIX,
818
817
  AiAssistantInfo,
819
818
  ApprovalRequestMessage,
@@ -821,6 +820,7 @@ import {
821
820
  AskCard,
822
821
  AskDisplay,
823
822
  AskPrompts,
823
+ AssistantAskPrompts,
824
824
  BlockCard,
825
825
  CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER,
826
826
  CHAT_ATTACHMENT_MARKDOWN_PATTERN,
@@ -986,6 +986,7 @@ import {
986
986
  UnarchiveChatModal,
987
987
  UnifiedSkeleton,
988
988
  UserDisplay,
989
+ VendorIcon,
989
990
  VideoBiteCard,
990
991
  VideoBitesStrip,
991
992
  WALL_SKELETON_LABEL_CH,
@@ -993,6 +994,8 @@ import {
993
994
  appendToTrailingAssistant,
994
995
  applyToolExecutionToMessages,
995
996
  approvalDisplaysInline,
997
+ assistantAvailable,
998
+ buildAskPromptsUrl,
996
999
  buildAutoContinuationDirective,
997
1000
  buildCaptionsUrl,
998
1001
  buildChatAttachmentViewUrl,
@@ -1048,6 +1051,7 @@ import {
1048
1051
  getPlatformUrl,
1049
1052
  getSourceIconName,
1050
1053
  getSourceLabel,
1054
+ getVendorLogo,
1051
1055
  groupByAspectRatio,
1052
1056
  handleChatNavClick,
1053
1057
  historicalToUnified,
@@ -1086,6 +1090,8 @@ import {
1086
1090
  stripChatAttachmentMarkdown,
1087
1091
  stripSameOriginToPath,
1088
1092
  upsertTrailingCompaction,
1093
+ useAskPrompts,
1094
+ useAssistantOpen,
1089
1095
  useCaptions,
1090
1096
  useChat,
1091
1097
  useChatAppearance,
@@ -1109,12 +1115,14 @@ import {
1109
1115
  useSSE,
1110
1116
  useScriptedStream,
1111
1117
  useScrollFade,
1118
+ useShownAskPromptIds,
1119
+ useShownAskPrompts,
1112
1120
  useSlashCommandRegistry,
1113
1121
  useSlashCommands,
1114
1122
  useSseChatAdapter,
1115
1123
  useStableShallow,
1116
1124
  useUnifiedChat
1117
- } from "../chunk-JH2SIWPQ.js";
1125
+ } from "../chunk-HXB7SEYG.js";
1118
1126
  import {
1119
1127
  ApprovalBatchMessage,
1120
1128
  ApprovalStatusTag,
@@ -1136,7 +1144,8 @@ import {
1136
1144
  resolveTicketStatus,
1137
1145
  useCollapsible,
1138
1146
  usesCanonicalStatusStyle
1139
- } from "../chunk-2NASBO7O.js";
1147
+ } from "../chunk-KFOAV77K.js";
1148
+ import "../chunk-AFTRPEXO.js";
1140
1149
  import {
1141
1150
  APPROVAL_BLOCK_VARIANT,
1142
1151
  APPROVAL_STATUS,
@@ -1159,7 +1168,7 @@ import {
1159
1168
  SlashCommandSuggestions,
1160
1169
  isStructuredContent,
1161
1170
  normalizeContent
1162
- } from "../chunk-KBJJQFYU.js";
1171
+ } from "../chunk-ZZEKXGFS.js";
1163
1172
  import {
1164
1173
  ActionsMenu,
1165
1174
  ActionsMenuDropdown,
@@ -1167,10 +1176,10 @@ import {
1167
1176
  TooltipContent,
1168
1177
  TooltipProvider,
1169
1178
  TooltipTrigger
1170
- } from "../chunk-P3JMAMHP.js";
1179
+ } from "../chunk-REETLEL5.js";
1171
1180
  import {
1172
1181
  scrollElementIntoView
1173
- } from "../chunk-CMZ3QTFQ.js";
1182
+ } from "../chunk-4I3K6LEH.js";
1174
1183
  import {
1175
1184
  errorMessage
1176
1185
  } from "../chunk-34I6XI3N.js";
@@ -1295,9 +1304,10 @@ import {
1295
1304
  statusBadgeVariants,
1296
1305
  toStripProfile,
1297
1306
  useCoverImageFallback,
1307
+ useSelfFetch,
1298
1308
  useVideoOriginPreconnect,
1299
1309
  useVideoWarmup
1300
- } from "../chunk-TTVOLEUS.js";
1310
+ } from "../chunk-NPSJE7J3.js";
1301
1311
  import {
1302
1312
  AgentMark
1303
1313
  } from "../chunk-H3PKYE4N.js";
@@ -1310,7 +1320,7 @@ import {
1310
1320
  getIconComponent,
1311
1321
  normalizeIconKey,
1312
1322
  resolveIcon
1313
- } from "../chunk-JHQ334WS.js";
1323
+ } from "../chunk-742BGXNX.js";
1314
1324
  import {
1315
1325
  FloatingTooltip,
1316
1326
  OPENFRAME_CLASSIFICATIONS,
@@ -1325,7 +1335,7 @@ import {
1325
1335
  } from "../chunk-FBZMAPWO.js";
1326
1336
  import {
1327
1337
  positiveInt
1328
- } from "../chunk-AGVXKD4K.js";
1338
+ } from "../chunk-FSQQZFVG.js";
1329
1339
  import {
1330
1340
  useChatRuntime
1331
1341
  } from "../chunk-E4ABZWTJ.js";
@@ -1518,7 +1528,7 @@ import {
1518
1528
  Button,
1519
1529
  SplitButton,
1520
1530
  buttonVariants
1521
- } from "../chunk-YDPKUAP4.js";
1531
+ } from "../chunk-DJ4IFQNQ.js";
1522
1532
  import {
1523
1533
  next_link_default
1524
1534
  } from "../chunk-DAAVMYUT.js";
@@ -1741,113 +1751,7 @@ function AnnouncementBar({
1741
1751
 
1742
1752
  // src/components/categories-cart.tsx
1743
1753
  import { ChevronRight } from "lucide-react";
1744
-
1745
- // src/utils/url-fix.ts
1746
- function fixUrlDoubleSlashes(url) {
1747
- if (!url) return url;
1748
- const protocolMatch = url.match(/^(https?:\/\/)/);
1749
- if (protocolMatch) {
1750
- const protocol = protocolMatch[1];
1751
- const rest = url.substring(protocol.length);
1752
- const fixedRest = rest.replace(/\/+/g, "/");
1753
- return protocol + fixedRest;
1754
- }
1755
- return url.replace(/\/+/g, "/");
1756
- }
1757
- function fixSupabaseStorageUrl(url) {
1758
- if (!url) return url;
1759
- const SUPABASE_STORAGE_SEGMENT = "/storage/v1/object/public/";
1760
- if (url.includes(SUPABASE_STORAGE_SEGMENT)) {
1761
- return fixUrlDoubleSlashes(url);
1762
- }
1763
- return url;
1764
- }
1765
-
1766
- // src/utils/vendor-media-stub.ts
1767
- function getVendorLogo(vendor) {
1768
- if (vendor.logo_url) {
1769
- return fixSupabaseStorageUrl(vendor.logo_url);
1770
- }
1771
- if (vendor.logo) {
1772
- return fixSupabaseStorageUrl(vendor.logo);
1773
- }
1774
- const logoMedia = vendor.vendor_media?.find((m) => m.media_type === "logo");
1775
- if (logoMedia?.media_url) {
1776
- return fixSupabaseStorageUrl(logoMedia.media_url);
1777
- }
1778
- return null;
1779
- }
1780
-
1781
- // src/components/vendor-icon.tsx
1782
- import { jsx as jsx2 } from "react/jsx-runtime";
1783
- var sizeClasses = {
1784
- xs: "w-6 h-6",
1785
- sm: "w-8 h-8",
1786
- md: "w-10 h-10",
1787
- lg: "w-12 h-12",
1788
- l: "w-14 h-14",
1789
- xl: "w-16 h-16"
1790
- };
1791
- var imageSizeMap = {
1792
- xs: { width: 16, height: 16 },
1793
- sm: { width: 20, height: 20 },
1794
- md: { width: 32, height: 32 },
1795
- lg: { width: 40, height: 40 },
1796
- l: { width: 38, height: 38 },
1797
- xl: { width: 40, height: 40 }
1798
- };
1799
- var tilePxMap = {
1800
- xs: 24,
1801
- sm: 32,
1802
- md: 40,
1803
- lg: 48,
1804
- l: 56,
1805
- xl: 64
1806
- };
1807
- var backgroundClasses = {
1808
- dark: "bg-ods-bg border border-ods-border",
1809
- light: "bg-ods-card border border-ods-border",
1810
- white: "bg-white border border-[#E5E5E5]"
1811
- };
1812
- function VendorIcon({
1813
- vendor,
1814
- size = "md",
1815
- className = "",
1816
- showBackground = true,
1817
- backgroundStyle = "dark"
1818
- }) {
1819
- const logoUrl = getVendorLogo(vendor);
1820
- const { width, height } = showBackground ? imageSizeMap[size] : { width: tilePxMap[size], height: tilePxMap[size] };
1821
- const containerClasses = cn(
1822
- sizeClasses[size],
1823
- "flex flex-shrink-0 items-center justify-center rounded-lg",
1824
- showBackground && backgroundClasses[backgroundStyle],
1825
- !showBackground && "overflow-hidden",
1826
- className
1827
- );
1828
- return /* @__PURE__ */ jsx2("div", { className: containerClasses, children: logoUrl ? /* @__PURE__ */ jsx2(
1829
- next_image_default,
1830
- {
1831
- src: getProxiedImageUrl2(logoUrl) || logoUrl,
1832
- alt: `${vendor.title} logo`,
1833
- width,
1834
- height,
1835
- className: cn("object-contain", showBackground ? "p-1" : "h-full w-full")
1836
- }
1837
- ) : /* @__PURE__ */ jsx2(
1838
- "div",
1839
- {
1840
- className: cn(
1841
- "flex items-center justify-center uppercase text-h6",
1842
- backgroundStyle === "white" ? "text-[#333333]" : "text-ods-text-secondary"
1843
- ),
1844
- children: vendor.title?.substring(0, 2) || "??"
1845
- }
1846
- ) });
1847
- }
1848
-
1849
- // src/components/categories-cart.tsx
1850
- import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
1754
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
1851
1755
  function CategoriesCart({
1852
1756
  category,
1853
1757
  vendors = [],
@@ -1856,23 +1760,23 @@ function CategoriesCart({
1856
1760
  isLoading = false,
1857
1761
  className = ""
1858
1762
  }) {
1859
- return /* @__PURE__ */ jsx3(
1763
+ return /* @__PURE__ */ jsx2(
1860
1764
  next_link_default,
1861
1765
  {
1862
1766
  href: `/vendors?category=${category.slug}`,
1863
1767
  className: `group relative block rounded-lg border border-ods-border bg-ods-card p-3 pb-4 transition-colors hover:border-ods-accent md:p-4 md:pb-6 ${className}`,
1864
1768
  children: /* @__PURE__ */ jsxs2("div", { className: "flex flex-col gap-4 md:gap-6", children: [
1865
1769
  /* @__PURE__ */ jsxs2("div", { className: "relative h-8 w-full overflow-hidden md:h-10", children: [
1866
- /* @__PURE__ */ jsx3("div", { className: "flex w-full gap-2 md:gap-3", children: isLoading ? (
1770
+ /* @__PURE__ */ jsx2("div", { className: "flex w-full gap-2 md:gap-3", children: isLoading ? (
1867
1771
  // Skeleton loading for vendor icons
1868
- Array.from({ length: 20 }).map((_, index) => /* @__PURE__ */ jsx3(
1772
+ Array.from({ length: 20 }).map((_, index) => /* @__PURE__ */ jsx2(
1869
1773
  "div",
1870
1774
  {
1871
1775
  className: "h-8 w-8 flex-shrink-0 animate-pulse rounded bg-ods-border md:h-10 md:w-10"
1872
1776
  },
1873
1777
  index
1874
1778
  ))
1875
- ) : vendors && vendors.length > 0 ? vendors.map((vendor) => /* @__PURE__ */ jsx3(
1779
+ ) : vendors && vendors.length > 0 ? vendors.map((vendor) => /* @__PURE__ */ jsx2(
1876
1780
  VendorIcon,
1877
1781
  {
1878
1782
  vendor,
@@ -1882,21 +1786,21 @@ function CategoriesCart({
1882
1786
  vendor.id
1883
1787
  )) : (
1884
1788
  // No vendors found - show placeholder icons
1885
- Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ jsx3(
1789
+ Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ jsx2(
1886
1790
  "div",
1887
1791
  {
1888
1792
  className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded bg-ods-border opacity-30 md:h-10 md:w-10",
1889
- children: /* @__PURE__ */ jsx3("div", { className: "h-4 w-4 rounded-sm bg-ods-skeleton md:h-6 md:w-6" })
1793
+ children: /* @__PURE__ */ jsx2("div", { className: "h-4 w-4 rounded-sm bg-ods-skeleton md:h-6 md:w-6" })
1890
1794
  },
1891
1795
  index
1892
1796
  ))
1893
1797
  ) }),
1894
- /* @__PURE__ */ jsx3("div", { className: "pointer-events-none absolute inset-y-0 left-0 w-4 bg-gradient-to-r from-[#212121] to-transparent md:w-6" }),
1895
- /* @__PURE__ */ jsx3("div", { className: "pointer-events-none absolute inset-y-0 right-0 w-4 bg-gradient-to-l from-[#212121] to-transparent md:w-6" })
1798
+ /* @__PURE__ */ jsx2("div", { className: "pointer-events-none absolute inset-y-0 left-0 w-4 bg-gradient-to-r from-[#212121] to-transparent md:w-6" }),
1799
+ /* @__PURE__ */ jsx2("div", { className: "pointer-events-none absolute inset-y-0 right-0 w-4 bg-gradient-to-l from-[#212121] to-transparent md:w-6" })
1896
1800
  ] }),
1897
1801
  /* @__PURE__ */ jsxs2("div", { className: "flex flex-col gap-2", children: [
1898
1802
  /* @__PURE__ */ jsxs2("div", { className: "flex flex-col gap-1", children: [
1899
- /* @__PURE__ */ jsx3("h3", { className: "text-ods-text-primary transition-colors text-h3 group-hover:text-ods-accent", children: category.name }),
1803
+ /* @__PURE__ */ jsx2("h3", { className: "text-ods-text-primary transition-colors text-h3 group-hover:text-ods-accent", children: category.name }),
1900
1804
  /* @__PURE__ */ jsxs2("p", { className: "text-ods-text-secondary text-h6", children: [
1901
1805
  subcategoryCount || 0,
1902
1806
  " Subcategories \u2022 ",
@@ -1905,13 +1809,13 @@ function CategoriesCart({
1905
1809
  ] })
1906
1810
  ] }),
1907
1811
  /* @__PURE__ */ jsxs2("div", { className: "flex items-start justify-between gap-4 md:items-end md:gap-6", children: [
1908
- /* @__PURE__ */ jsx3("p", { className: "flex-1 text-ods-text-primary text-h4", children: category.description }),
1909
- /* @__PURE__ */ jsx3(
1812
+ /* @__PURE__ */ jsx2("p", { className: "flex-1 text-ods-text-primary text-h4", children: category.description }),
1813
+ /* @__PURE__ */ jsx2(
1910
1814
  "div",
1911
1815
  {
1912
1816
  className: "flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-md border border-ods-border bg-transparent transition-colors group-hover:bg-ods-accent md:h-12 md:w-12",
1913
1817
  "aria-label": `View ${category.name} category`,
1914
- children: /* @__PURE__ */ jsx3(ChevronRight, { className: "h-5 w-5 text-ods-text-primary transition-colors group-hover:text-ods-text-on-accent md:h-6 md:w-6" })
1818
+ children: /* @__PURE__ */ jsx2(ChevronRight, { className: "h-5 w-5 text-ods-text-primary transition-colors group-hover:text-ods-text-on-accent md:h-6 md:w-6" })
1915
1819
  }
1916
1820
  )
1917
1821
  ] })
@@ -1922,12 +1826,12 @@ function CategoriesCart({
1922
1826
  }
1923
1827
 
1924
1828
  // src/components/category-card.tsx
1925
- import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
1829
+ import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
1926
1830
  function CategoryCard({ name, description, categoryCount, productCount, icons = [] }) {
1927
1831
  return /* @__PURE__ */ jsxs3("article", { className: "box-border flex min-w-0 flex-col rounded-[12px] border border-ods-border bg-ods-card p-8", children: [
1928
- /* @__PURE__ */ jsx4("div", { className: "mb-8 flex items-center justify-center gap-6", children: (icons.length > 0 ? icons : Array(10).fill(null)).map((icon, i) => /* @__PURE__ */ jsx4("div", { className: "flex h-10 w-10 items-center justify-center rounded bg-ods-skeleton", children: icon }, i)) }),
1832
+ /* @__PURE__ */ jsx3("div", { className: "mb-8 flex items-center justify-center gap-6", children: (icons.length > 0 ? icons : Array(10).fill(null)).map((icon, i) => /* @__PURE__ */ jsx3("div", { className: "flex h-10 w-10 items-center justify-center rounded bg-ods-skeleton", children: icon }, i)) }),
1929
1833
  /* @__PURE__ */ jsxs3("div", { className: "flex flex-1 flex-col", children: [
1930
- /* @__PURE__ */ jsx4("h2", { className: "mb-2 text-left text-ods-text-primary text-h2", children: name }),
1834
+ /* @__PURE__ */ jsx3("h2", { className: "mb-2 text-left text-ods-text-primary text-h2", children: name }),
1931
1835
  /* @__PURE__ */ jsxs3("div", { className: "mb-4 text-left text-ods-text-secondary text-h6", children: [
1932
1836
  categoryCount,
1933
1837
  " Categories \u2022 ",
@@ -1935,14 +1839,14 @@ function CategoryCard({ name, description, categoryCount, productCount, icons =
1935
1839
  " Products"
1936
1840
  ] }),
1937
1841
  /* @__PURE__ */ jsxs3("div", { className: "flex flex-row items-start", children: [
1938
- /* @__PURE__ */ jsx4("p", { className: "flex-1 text-left text-ods-text-primary text-h6", children: description }),
1939
- /* @__PURE__ */ jsx4(
1842
+ /* @__PURE__ */ jsx3("p", { className: "flex-1 text-left text-ods-text-primary text-h6", children: description }),
1843
+ /* @__PURE__ */ jsx3(
1940
1844
  "button",
1941
1845
  {
1942
1846
  className: "ml-4 flex h-12 w-12 items-center justify-center rounded-[6px] border border-ods-border bg-transparent transition-colors hover:bg-ods-accent",
1943
1847
  style: { minWidth: 48, minHeight: 48 },
1944
1848
  "aria-label": `View ${name}`,
1945
- children: /* @__PURE__ */ jsx4("svg", { width: "24", height: "24", fill: "none", stroke: "#FAFAFA", strokeWidth: "2", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx4("path", { d: "M9 18l6-6-6-6" }) })
1849
+ children: /* @__PURE__ */ jsx3("svg", { width: "24", height: "24", fill: "none", stroke: "#FAFAFA", strokeWidth: "2", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx3("path", { d: "M9 18l6-6-6-6" }) })
1946
1850
  }
1947
1851
  )
1948
1852
  ] })
@@ -1952,7 +1856,7 @@ function CategoryCard({ name, description, categoryCount, productCount, icons =
1952
1856
 
1953
1857
  // src/components/auth-stub.tsx
1954
1858
  import { createContext } from "react";
1955
- import { jsx as jsx5 } from "react/jsx-runtime";
1859
+ import { jsx as jsx4 } from "react/jsx-runtime";
1956
1860
  var AuthContext = createContext({
1957
1861
  user: null,
1958
1862
  isLoading: false
@@ -1977,24 +1881,24 @@ function useAuth() {
1977
1881
  };
1978
1882
  }
1979
1883
  function AuthProvider({ children }) {
1980
- return /* @__PURE__ */ jsx5(AuthContext.Provider, { value: { user: { id: "mock-user-id", name: "Mock User" }, isLoading: false }, children });
1884
+ return /* @__PURE__ */ jsx4(AuthContext.Provider, { value: { user: { id: "mock-user-id", name: "Mock User" }, isLoading: false }, children });
1981
1885
  }
1982
1886
 
1983
1887
  // src/components/user-summary-stub.tsx
1984
- import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
1888
+ import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
1985
1889
  var getAuthProviderIcon = (provider) => {
1986
1890
  const p = provider.toLowerCase();
1987
1891
  switch (p) {
1988
1892
  case "google":
1989
- return /* @__PURE__ */ jsx6(next_image_default, { src: "/icons/google-logo.svg", alt: "Google", width: 16, height: 16, className: "h-4 w-4" });
1893
+ return /* @__PURE__ */ jsx5(next_image_default, { src: "/icons/google-logo.svg", alt: "Google", width: 16, height: 16, className: "h-4 w-4" });
1990
1894
  case "microsoft":
1991
1895
  case "azure":
1992
- return /* @__PURE__ */ jsx6(next_image_default, { src: "/icons/microsoft-logo.svg", alt: "Microsoft", width: 16, height: 16, className: "h-4 w-4" });
1896
+ return /* @__PURE__ */ jsx5(next_image_default, { src: "/icons/microsoft-logo.svg", alt: "Microsoft", width: 16, height: 16, className: "h-4 w-4" });
1993
1897
  case "slack":
1994
1898
  case "slack_oidc":
1995
- return /* @__PURE__ */ jsx6("div", { className: "h-4 w-4 rounded-full bg-ods-text-secondary" });
1899
+ return /* @__PURE__ */ jsx5("div", { className: "h-4 w-4 rounded-full bg-ods-text-secondary" });
1996
1900
  default:
1997
- return /* @__PURE__ */ jsx6("div", { className: "h-4 w-4 rounded-full bg-ods-text-secondary" });
1901
+ return /* @__PURE__ */ jsx5("div", { className: "h-4 w-4 rounded-full bg-ods-text-secondary" });
1998
1902
  }
1999
1903
  };
2000
1904
  var formatNumber = (n) => {
@@ -2025,7 +1929,7 @@ function UserSummary({
2025
1929
  if (compact) {
2026
1930
  return /* @__PURE__ */ jsxs4("div", { className: "flex min-w-0 items-center gap-3", children: [
2027
1931
  /* @__PURE__ */ jsxs4("div", { className: "relative shrink-0", children: [
2028
- avatarUrl ? /* @__PURE__ */ jsx6(
1932
+ avatarUrl ? /* @__PURE__ */ jsx5(
2029
1933
  next_image_default,
2030
1934
  {
2031
1935
  src: getProxiedImageUrl2(avatarUrl) ?? avatarUrl,
@@ -2034,7 +1938,7 @@ function UserSummary({
2034
1938
  height: avatarSize,
2035
1939
  className: "rounded-lg object-cover"
2036
1940
  }
2037
- ) : /* @__PURE__ */ jsx6(
1941
+ ) : /* @__PURE__ */ jsx5(
2038
1942
  "div",
2039
1943
  {
2040
1944
  className: "flex items-center justify-center rounded-lg bg-ods-accent font-heading font-bold text-ods-text-on-accent",
@@ -2042,7 +1946,7 @@ function UserSummary({
2042
1946
  children: name.split(" ").map((n) => n.charAt(0)).join("").slice(0, 2)
2043
1947
  }
2044
1948
  ),
2045
- mspPreview && mspPreview.logoUrl && /* @__PURE__ */ jsx6(
1949
+ mspPreview && mspPreview.logoUrl && /* @__PURE__ */ jsx5(
2046
1950
  next_image_default,
2047
1951
  {
2048
1952
  src: getProxiedImageUrl2(mspPreview.logoUrl) ?? mspPreview.logoUrl,
@@ -2068,7 +1972,7 @@ function UserSummary({
2068
1972
  ]
2069
1973
  }
2070
1974
  ),
2071
- /* @__PURE__ */ jsx6(
1975
+ /* @__PURE__ */ jsx5(
2072
1976
  "p",
2073
1977
  {
2074
1978
  className: "truncate text-ods-text-secondary text-h6",
@@ -2082,7 +1986,7 @@ function UserSummary({
2082
1986
  return /* @__PURE__ */ jsxs4("div", { className: "flex w-full flex-col gap-4", children: [
2083
1987
  /* @__PURE__ */ jsxs4("div", { className: "flex w-full items-start gap-6", children: [
2084
1988
  /* @__PURE__ */ jsxs4("div", { className: "relative h-24 w-24 shrink-0 overflow-visible", children: [
2085
- avatarUrl ? /* @__PURE__ */ jsx6(
1989
+ avatarUrl ? /* @__PURE__ */ jsx5(
2086
1990
  next_image_default,
2087
1991
  {
2088
1992
  src: getProxiedImageUrl2(avatarUrl) ?? avatarUrl,
@@ -2091,8 +1995,8 @@ function UserSummary({
2091
1995
  height: 96,
2092
1996
  className: "rounded-full object-cover"
2093
1997
  }
2094
- ) : /* @__PURE__ */ jsx6("div", { className: "flex h-full w-full items-center justify-center rounded-full border border-ods-border bg-ods-card font-heading text-3xl text-ods-text-secondary", children: name.charAt(0).toUpperCase() }),
2095
- mspPreview && /* @__PURE__ */ jsx6("div", { className: "absolute -bottom-1 -right-1 flex size-10 select-none items-center justify-center overflow-hidden rounded-full bg-ods-bg ring-2 ring-ods-border", children: mspPreview.logoUrl ? /* @__PURE__ */ jsx6(
1998
+ ) : /* @__PURE__ */ jsx5("div", { className: "flex h-full w-full items-center justify-center rounded-full border border-ods-border bg-ods-card font-heading text-3xl text-ods-text-secondary", children: name.charAt(0).toUpperCase() }),
1999
+ mspPreview && /* @__PURE__ */ jsx5("div", { className: "absolute -bottom-1 -right-1 flex size-10 select-none items-center justify-center overflow-hidden rounded-full bg-ods-bg ring-2 ring-ods-border", children: mspPreview.logoUrl ? /* @__PURE__ */ jsx5(
2096
2000
  next_image_default,
2097
2001
  {
2098
2002
  src: getProxiedImageUrl2(mspPreview.logoUrl) ?? mspPreview.logoUrl,
@@ -2101,12 +2005,12 @@ function UserSummary({
2101
2005
  height: 40,
2102
2006
  className: "object-cover"
2103
2007
  }
2104
- ) : /* @__PURE__ */ jsx6("span", { className: "font-heading text-sm font-bold text-ods-text-primary", children: mspPreview.name?.charAt(0).toUpperCase() || "?" }) })
2008
+ ) : /* @__PURE__ */ jsx5("span", { className: "font-heading text-sm font-bold text-ods-text-primary", children: mspPreview.name?.charAt(0).toUpperCase() || "?" }) })
2105
2009
  ] }),
2106
2010
  /* @__PURE__ */ jsxs4("div", { className: "grid flex-1 grid-cols-[1fr_auto] gap-4", children: [
2107
2011
  /* @__PURE__ */ jsxs4("div", { className: "flex min-h-[6rem] flex-col justify-center space-y-3 truncate", children: [
2108
- /* @__PURE__ */ jsx6("p", { className: "truncate leading-none text-ods-text-primary text-h2", title: name, children: name }),
2109
- /* @__PURE__ */ jsx6(
2012
+ /* @__PURE__ */ jsx5("p", { className: "truncate leading-none text-ods-text-primary text-h2", title: name, children: name }),
2013
+ /* @__PURE__ */ jsx5(
2110
2014
  "p",
2111
2015
  {
2112
2016
  className: "truncate break-all text-ods-text-secondary text-h4",
@@ -2122,30 +2026,30 @@ function UserSummary({
2122
2026
  typeof mspPreview.annualRevenue === "number" ? `$${formatNumber(mspPreview.annualRevenue)}` : null
2123
2027
  ].filter(Boolean);
2124
2028
  const mspTitle = mspSegments.join(" \u2022 ");
2125
- return /* @__PURE__ */ jsx6("p", { className: "truncate text-ods-text-primary text-h6", title: mspTitle, children: mspSegments.flatMap((txt, idx) => idx === 0 ? [txt] : [" \u2022 ", txt]).map((seg, idx) => /* @__PURE__ */ jsx6("span", { className: seg === "\u2022" ? "text-ods-text-secondary" : "", children: seg }, idx)) });
2029
+ return /* @__PURE__ */ jsx5("p", { className: "truncate text-ods-text-primary text-h6", title: mspTitle, children: mspSegments.flatMap((txt, idx) => idx === 0 ? [txt] : [" \u2022 ", txt]).map((seg, idx) => /* @__PURE__ */ jsx5("span", { className: seg === "\u2022" ? "text-ods-text-secondary" : "", children: seg }, idx)) });
2126
2030
  })()
2127
2031
  ] }),
2128
2032
  (authProviders?.length || showEditButton) && /* @__PURE__ */ jsxs4("div", { className: "hidden min-h-[6rem] flex-shrink-0 flex-col items-end justify-between md:flex", children: [
2129
2033
  authProviders && authProviders.length > 0 && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
2130
- /* @__PURE__ */ jsx6("span", { className: "select-none whitespace-nowrap text-ods-text-secondary text-h6", children: "Authorized by" }),
2131
- /* @__PURE__ */ jsx6("div", { className: "flex items-center gap-2", children: authProviders.map((p) => /* @__PURE__ */ jsx6("div", { className: "flex h-4 w-4 items-center justify-center", children: getAuthProviderIcon(p) }, p)) })
2034
+ /* @__PURE__ */ jsx5("span", { className: "select-none whitespace-nowrap text-ods-text-secondary text-h6", children: "Authorized by" }),
2035
+ /* @__PURE__ */ jsx5("div", { className: "flex items-center gap-2", children: authProviders.map((p) => /* @__PURE__ */ jsx5("div", { className: "flex h-4 w-4 items-center justify-center", children: getAuthProviderIcon(p) }, p)) })
2132
2036
  ] }),
2133
- showEditButton && /* @__PURE__ */ jsx6("div", { className: "text-ods-text-secondary text-h6", children: "Edit Profile" })
2037
+ showEditButton && /* @__PURE__ */ jsx5("div", { className: "text-ods-text-secondary text-h6", children: "Edit Profile" })
2134
2038
  ] })
2135
2039
  ] })
2136
2040
  ] }),
2137
2041
  (authProviders?.length || showEditButton) && /* @__PURE__ */ jsxs4("div", { className: "flex w-full items-center justify-between gap-4 md:hidden", children: [
2138
2042
  authProviders && authProviders.length > 0 && /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
2139
- /* @__PURE__ */ jsx6("span", { className: "select-none whitespace-nowrap text-ods-text-secondary text-h6", children: "Authorized by" }),
2140
- /* @__PURE__ */ jsx6("div", { className: "flex items-center gap-2", children: authProviders.map((p) => /* @__PURE__ */ jsx6("div", { className: "flex h-4 w-4 items-center justify-center", children: getAuthProviderIcon(p) }, p)) })
2043
+ /* @__PURE__ */ jsx5("span", { className: "select-none whitespace-nowrap text-ods-text-secondary text-h6", children: "Authorized by" }),
2044
+ /* @__PURE__ */ jsx5("div", { className: "flex items-center gap-2", children: authProviders.map((p) => /* @__PURE__ */ jsx5("div", { className: "flex h-4 w-4 items-center justify-center", children: getAuthProviderIcon(p) }, p)) })
2141
2045
  ] }),
2142
- showEditButton && /* @__PURE__ */ jsx6("div", { className: "text-ods-text-secondary text-h6", children: "Edit Profile" })
2046
+ showEditButton && /* @__PURE__ */ jsx5("div", { className: "text-ods-text-secondary text-h6", children: "Edit Profile" })
2143
2047
  ] })
2144
2048
  ] });
2145
2049
  }
2146
2050
 
2147
2051
  // src/components/vendor-display-button.tsx
2148
- import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
2052
+ import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
2149
2053
  function VendorDisplayButton({ vendor, onClick, variant = "default", externalUrl }) {
2150
2054
  const handleClick = () => {
2151
2055
  if (externalUrl && vendor.slug) {
@@ -2162,7 +2066,7 @@ function VendorDisplayButton({ vendor, onClick, variant = "default", externalUrl
2162
2066
  onClick: handleClick,
2163
2067
  className: "inline-flex items-center gap-2 rounded-full border border-ods-border bg-ods-card px-3 py-1.5 transition-colors hover:border-ods-accent/50",
2164
2068
  children: [
2165
- logoUrl ? /* @__PURE__ */ jsx7("div", { className: "h-5 w-5 flex-shrink-0 overflow-hidden rounded", children: /* @__PURE__ */ jsx7(
2069
+ logoUrl ? /* @__PURE__ */ jsx6("div", { className: "h-5 w-5 flex-shrink-0 overflow-hidden rounded", children: /* @__PURE__ */ jsx6(
2166
2070
  next_image_default,
2167
2071
  {
2168
2072
  src: getProxiedImageUrl2(logoUrl) || logoUrl,
@@ -2171,8 +2075,8 @@ function VendorDisplayButton({ vendor, onClick, variant = "default", externalUrl
2171
2075
  height: 20,
2172
2076
  className: "h-full w-full object-cover"
2173
2077
  }
2174
- ) }) : /* @__PURE__ */ jsx7("div", { className: "flex h-5 w-5 flex-shrink-0 items-center justify-center rounded bg-ods-border", children: /* @__PURE__ */ jsx7("span", { className: "text-[10px] font-medium text-ods-text-secondary", children: vendor.title.charAt(0).toUpperCase() }) }),
2175
- /* @__PURE__ */ jsx7("span", { className: "text-ods-text-primary text-h6", children: vendor.title })
2078
+ ) }) : /* @__PURE__ */ jsx6("div", { className: "flex h-5 w-5 flex-shrink-0 items-center justify-center rounded bg-ods-border", children: /* @__PURE__ */ jsx6("span", { className: "text-[10px] font-medium text-ods-text-secondary", children: vendor.title.charAt(0).toUpperCase() }) }),
2079
+ /* @__PURE__ */ jsx6("span", { className: "text-ods-text-primary text-h6", children: vendor.title })
2176
2080
  ]
2177
2081
  }
2178
2082
  );
@@ -2183,7 +2087,7 @@ function VendorDisplayButton({ vendor, onClick, variant = "default", externalUrl
2183
2087
  onClick: handleClick,
2184
2088
  className: "flex max-w-full items-center gap-2 overflow-hidden rounded-lg border border-ods-border bg-ods-card px-3 py-2 transition-colors hover:border-ods-accent",
2185
2089
  children: [
2186
- logoUrl ? /* @__PURE__ */ jsx7("div", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-card", children: /* @__PURE__ */ jsx7(
2090
+ logoUrl ? /* @__PURE__ */ jsx6("div", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-card", children: /* @__PURE__ */ jsx6(
2187
2091
  next_image_default,
2188
2092
  {
2189
2093
  src: getProxiedImageUrl2(logoUrl) || logoUrl,
@@ -2192,15 +2096,15 @@ function VendorDisplayButton({ vendor, onClick, variant = "default", externalUrl
2192
2096
  height: 24,
2193
2097
  className: "rounded object-cover"
2194
2098
  }
2195
- ) }) : /* @__PURE__ */ jsx7("div", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-border", children: /* @__PURE__ */ jsx7("span", { className: "text-ods-text-primary text-h6", children: vendor.title.charAt(0) }) }),
2196
- /* @__PURE__ */ jsx7("span", { className: "min-w-0 truncate text-ods-text-primary text-h4", title: vendor.title, children: vendor.title })
2099
+ ) }) : /* @__PURE__ */ jsx6("div", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-border", children: /* @__PURE__ */ jsx6("span", { className: "text-ods-text-primary text-h6", children: vendor.title.charAt(0) }) }),
2100
+ /* @__PURE__ */ jsx6("span", { className: "min-w-0 truncate text-ods-text-primary text-h4", title: vendor.title, children: vendor.title })
2197
2101
  ]
2198
2102
  }
2199
2103
  );
2200
2104
  }
2201
2105
 
2202
2106
  // src/components/comment-card.tsx
2203
- import { Fragment, jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
2107
+ import { Fragment, jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
2204
2108
  function CommentCard({
2205
2109
  comment,
2206
2110
  onViewProduct,
@@ -2229,11 +2133,11 @@ function CommentCard({
2229
2133
  style: { maxWidth: "100%", wordBreak: "break-word" },
2230
2134
  children: [
2231
2135
  /* @__PURE__ */ jsxs6("div", { className: "mb-3 flex w-full flex-col gap-3 min-[420px]:flex-row min-[420px]:items-center min-[420px]:justify-between min-[420px]:gap-2", children: [
2232
- /* @__PURE__ */ jsx8("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: leadWith === "vendor" && comment.vendor ? /* @__PURE__ */ jsxs6(Fragment, { children: [
2233
- /* @__PURE__ */ jsx8(VendorDisplayButton, { vendor: comment.vendor, onClick: onViewProduct || (() => {
2136
+ /* @__PURE__ */ jsx7("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: leadWith === "vendor" && comment.vendor ? /* @__PURE__ */ jsxs6(Fragment, { children: [
2137
+ /* @__PURE__ */ jsx7(VendorDisplayButton, { vendor: comment.vendor, onClick: onViewProduct || (() => {
2234
2138
  }) }),
2235
- /* @__PURE__ */ jsx8("span", { className: "flex-shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: formatActivityTime(comment.createdAt) })
2236
- ] }) : comment.user ? /* @__PURE__ */ jsx8(
2139
+ /* @__PURE__ */ jsx7("span", { className: "flex-shrink-0 whitespace-nowrap text-ods-text-secondary text-h6", children: formatActivityTime(comment.createdAt) })
2140
+ ] }) : comment.user ? /* @__PURE__ */ jsx7(
2237
2141
  UserSummary,
2238
2142
  {
2239
2143
  name: comment.user.name,
@@ -2253,7 +2157,7 @@ function CommentCard({
2253
2157
  authProviders: []
2254
2158
  }
2255
2159
  ) : null }),
2256
- /* @__PURE__ */ jsx8("div", { className: "flex justify-start gap-2 min-[420px]:justify-end", children: showDeleteButton && onDeleteComment && /* @__PURE__ */ jsx8(
2160
+ /* @__PURE__ */ jsx7("div", { className: "flex justify-start gap-2 min-[420px]:justify-end", children: showDeleteButton && onDeleteComment && /* @__PURE__ */ jsx7(
2257
2161
  Button,
2258
2162
  {
2259
2163
  onClick: () => onDeleteComment(comment.id),
@@ -2270,14 +2174,14 @@ function CommentCard({
2270
2174
  xmlns: "http://www.w3.org/2000/svg",
2271
2175
  className: "text-ods-text-primary",
2272
2176
  children: [
2273
- /* @__PURE__ */ jsx8(
2177
+ /* @__PURE__ */ jsx7(
2274
2178
  "path",
2275
2179
  {
2276
2180
  d: "M18.6025 4.37939C19.221 4.43597 19.6768 4.98399 19.6206 5.60254L18.5176 17.7358C18.4492 18.4886 18.3924 19.1183 18.3052 19.6299C18.2155 20.1552 18.0809 20.6447 17.8101 21.1021C17.4444 21.7195 16.9245 22.2292 16.3042 22.583L16.0317 22.7251C15.5519 22.9533 15.0526 23.0438 14.5215 23.0854C14.0042 23.126 13.3727 23.125 12.6172 23.125H9.38281C8.62726 23.125 7.9958 23.126 7.47852 23.0854C7.01357 23.049 6.57289 22.975 6.14844 22.8042L5.96826 22.7251C5.32037 22.4169 4.76543 21.9454 4.35693 21.3599L4.18994 21.1021C3.91912 20.6447 3.78445 20.1552 3.69482 19.6299C3.65123 19.3743 3.61556 19.0894 3.58203 18.7744L3.48242 17.7358L2.37939 5.60254L2.375 5.48682C2.38099 4.91684 2.81768 4.43244 3.39746 4.37939C3.97776 4.32664 4.496 4.72462 4.60449 5.28467L4.62061 5.39746L5.72363 17.5322C5.79528 18.3203 5.84358 18.8475 5.9126 19.252C5.97923 19.6424 6.05232 19.8298 6.12646 19.9551L6.28467 20.1836C6.45963 20.3987 6.68118 20.5732 6.93359 20.6934L7.04639 20.7388C7.17478 20.7822 7.35781 20.8195 7.6543 20.8428C8.06325 20.8749 8.59186 20.875 9.38281 20.875H12.6172C13.4081 20.875 13.9367 20.8749 14.3457 20.8428C14.7409 20.8117 14.9349 20.7559 15.0664 20.6934L15.3066 20.5557C15.5369 20.4008 15.7309 20.1958 15.8735 19.9551C15.9477 19.8298 16.0208 19.6424 16.0874 19.252C16.1564 18.8475 16.2047 18.3203 16.2764 17.5322L17.3794 5.39746C17.436 4.77903 17.984 4.32316 18.6025 4.37939Z",
2277
2181
  fill: "currentColor"
2278
2182
  }
2279
2183
  ),
2280
- /* @__PURE__ */ jsx8(
2184
+ /* @__PURE__ */ jsx7(
2281
2185
  "path",
2282
2186
  {
2283
2187
  d: "M7.37451 15.9995V11C7.37451 10.3788 7.87842 9.87526 8.49951 9.875C9.12083 9.875 9.62451 10.3787 9.62451 11V15.9995C9.62451 16.6208 9.12083 17.1245 8.49951 17.1245C7.87842 17.1242 7.37451 16.6207 7.37451 15.9995ZM12.3755 15.9995V11C12.3755 10.3787 12.8792 9.875 13.5005 9.875C14.1216 9.87526 14.6255 10.3788 14.6255 11V15.9995C14.6255 16.6207 14.1216 17.1242 13.5005 17.1245C12.8792 17.1245 12.3755 16.6208 12.3755 15.9995ZM12.585 0.875C13.0174 0.879157 13.425 0.903301 13.8096 1.02881L14.1157 1.14746C14.4155 1.28159 14.6931 1.46221 14.9375 1.68359L15.0811 1.82568C15.4034 2.16872 15.6379 2.59872 15.8984 3.05469L16.6528 4.37451H20L20.1157 4.38037C20.6825 4.43826 21.1248 4.91747 21.125 5.49951C21.125 6.08174 20.6827 6.5607 20.1157 6.61865L20 6.62451H2C1.37868 6.62451 0.875 6.12083 0.875 5.49951C0.875264 4.87842 1.37884 4.37451 2 4.37451H5.34717L6.32129 2.6709C6.53952 2.29735 6.76267 1.95525 7.0625 1.68359L7.31738 1.47705C7.58262 1.28327 7.87687 1.1312 8.19043 1.02881L8.38525 0.974609C8.71199 0.896341 9.05467 0.878464 9.41504 0.875H12.585ZM9.85742 3.125C9.29191 3.125 9.08123 3.13201 8.97266 3.14844L8.88916 3.16748C8.83075 3.18655 8.77503 3.21301 8.72217 3.24365L8.57275 3.35205C8.53704 3.38448 8.50137 3.42629 8.42773 3.54102L8.05566 4.1709L7.93848 4.37451H14.0615L13.9443 4.1709C13.6645 3.68114 13.554 3.50141 13.4858 3.41504L13.4272 3.35205C13.3815 3.31062 13.3309 3.27443 13.2778 3.24365L13.1108 3.16748C13.019 3.13753 12.8946 3.125 12.1426 3.125H9.85742Z",
@@ -2296,7 +2200,7 @@ function CommentCard({
2296
2200
  className: "w-full max-w-full space-y-2 overflow-hidden",
2297
2201
  style: { maxWidth: "100%", wordBreak: "break-word" },
2298
2202
  children: [
2299
- comment.title && /* @__PURE__ */ jsx8("div", { className: compact ? "flex h-[20px] items-center" : "flex h-[24px] items-center", children: /* @__PURE__ */ jsx8(
2203
+ comment.title && /* @__PURE__ */ jsx7("div", { className: compact ? "flex h-[20px] items-center" : "flex h-[24px] items-center", children: /* @__PURE__ */ jsx7(
2300
2204
  "h4",
2301
2205
  {
2302
2206
  className: "line-clamp-1 tracking-[-0.02em] text-ods-text-primary transition-colors text-h3 group-hover:text-ods-accent",
@@ -2315,7 +2219,7 @@ function CommentCard({
2315
2219
  ) }),
2316
2220
  fullBody ? (
2317
2221
  // Thread bodies are read in full — no fixed height, no clamp.
2318
- /* @__PURE__ */ jsx8(
2222
+ /* @__PURE__ */ jsx7(
2319
2223
  "p",
2320
2224
  {
2321
2225
  className: "whitespace-pre-wrap text-ods-text-primary text-h4",
@@ -2323,7 +2227,7 @@ function CommentCard({
2323
2227
  children: comment.content
2324
2228
  }
2325
2229
  )
2326
- ) : /* @__PURE__ */ jsx8("div", { className: compact ? "flex h-[60px] items-center" : "flex h-[72px] items-center", children: /* @__PURE__ */ jsx8(
2230
+ ) : /* @__PURE__ */ jsx7("div", { className: compact ? "flex h-[60px] items-center" : "flex h-[72px] items-center", children: /* @__PURE__ */ jsx7(
2327
2231
  "p",
2328
2232
  {
2329
2233
  className: "line-clamp-3 text-ods-text-primary text-h4",
@@ -2340,7 +2244,7 @@ function CommentCard({
2340
2244
  children: comment.content
2341
2245
  }
2342
2246
  ) }),
2343
- footer ? /* @__PURE__ */ jsx8("div", { className: "flex flex-wrap items-center gap-2 pt-2", children: footer }) : null
2247
+ footer ? /* @__PURE__ */ jsx7("div", { className: "flex flex-wrap items-center gap-2 pt-2", children: footer }) : null
2344
2248
  ]
2345
2249
  }
2346
2250
  )
@@ -2353,7 +2257,7 @@ function CommentCard({
2353
2257
 
2354
2258
  // src/components/comment-composer.tsx
2355
2259
  import { useState as useState2 } from "react";
2356
- import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
2260
+ import { jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
2357
2261
  function CommentComposer({
2358
2262
  withTitle = false,
2359
2263
  titleLabel = "Title",
@@ -2383,8 +2287,8 @@ function CommentComposer({
2383
2287
  /* @__PURE__ */ jsxs7("div", { className: "flex flex-col gap-[var(--spacing-system-sf)] md:flex-row", children: [
2384
2288
  /* @__PURE__ */ jsxs7("div", { className: "flex-1 overflow-hidden rounded-lg border border-ods-border bg-ods-bg", children: [
2385
2289
  withTitle ? /* @__PURE__ */ jsxs7("div", { className: "border-b border-ods-border", children: [
2386
- /* @__PURE__ */ jsx9(Label, { className: "px-3 pb-1 pt-2 text-ods-text-secondary text-badge", children: titleLabel }),
2387
- /* @__PURE__ */ jsx9(
2290
+ /* @__PURE__ */ jsx8(Label, { className: "px-3 pb-1 pt-2 text-ods-text-secondary text-badge", children: titleLabel }),
2291
+ /* @__PURE__ */ jsx8(
2388
2292
  Input,
2389
2293
  {
2390
2294
  ref: titleRef,
@@ -2396,8 +2300,8 @@ function CommentComposer({
2396
2300
  }
2397
2301
  )
2398
2302
  ] }) : null,
2399
- withTitle ? /* @__PURE__ */ jsx9(Label, { className: "px-3 pb-1 pt-2 text-ods-text-secondary text-badge", children: bodyLabel }) : null,
2400
- /* @__PURE__ */ jsx9(
2303
+ withTitle ? /* @__PURE__ */ jsx8(Label, { className: "px-3 pb-1 pt-2 text-ods-text-secondary text-badge", children: bodyLabel }) : null,
2304
+ /* @__PURE__ */ jsx8(
2401
2305
  Textarea,
2402
2306
  {
2403
2307
  value: body,
@@ -2410,8 +2314,8 @@ function CommentComposer({
2410
2314
  )
2411
2315
  ] }),
2412
2316
  /* @__PURE__ */ jsxs7("div", { className: "flex items-start gap-[var(--spacing-system-xsf)]", children: [
2413
- onCancel ? /* @__PURE__ */ jsx9(Button, { type: "button", variant: "outline", size: "small-legacy", onClick: onCancel, disabled: pending, children: cancelLabel }) : null,
2414
- /* @__PURE__ */ jsx9(
2317
+ onCancel ? /* @__PURE__ */ jsx8(Button, { type: "button", variant: "outline", size: "small-legacy", onClick: onCancel, disabled: pending, children: cancelLabel }) : null,
2318
+ /* @__PURE__ */ jsx8(
2415
2319
  Button,
2416
2320
  {
2417
2321
  type: "button",
@@ -2425,14 +2329,14 @@ function CommentComposer({
2425
2329
  )
2426
2330
  ] })
2427
2331
  ] }),
2428
- extras ? /* @__PURE__ */ jsx9("div", { className: "flex flex-wrap items-center gap-[var(--spacing-system-xsf)]", children: extras }) : null
2332
+ extras ? /* @__PURE__ */ jsx8("div", { className: "flex flex-wrap items-center gap-[var(--spacing-system-xsf)]", children: extras }) : null
2429
2333
  ] });
2430
2334
  }
2431
2335
 
2432
2336
  // src/components/comment-thread.tsx
2433
2337
  import { ChevronDown } from "lucide-react";
2434
2338
  import { useState as useState3 } from "react";
2435
- import { Fragment as Fragment2, jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
2339
+ import { Fragment as Fragment2, jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
2436
2340
  function CommentThread({
2437
2341
  comments,
2438
2342
  emptyLabel,
@@ -2446,9 +2350,9 @@ function CommentThread({
2446
2350
  onViewProduct
2447
2351
  }) {
2448
2352
  if (comments.length === 0) {
2449
- return emptyLabel ? /* @__PURE__ */ jsx10("p", { className: "text-ods-text-secondary text-h6", children: emptyLabel }) : null;
2353
+ return emptyLabel ? /* @__PURE__ */ jsx9("p", { className: "text-ods-text-secondary text-h6", children: emptyLabel }) : null;
2450
2354
  }
2451
- return /* @__PURE__ */ jsx10("div", { className: "flex flex-col gap-[var(--spacing-system-sf)]", children: comments.map((comment) => /* @__PURE__ */ jsx10(
2355
+ return /* @__PURE__ */ jsx9("div", { className: "flex flex-col gap-[var(--spacing-system-sf)]", children: comments.map((comment) => /* @__PURE__ */ jsx9(
2452
2356
  CommentThreadRow,
2453
2357
  {
2454
2358
  comment,
@@ -2486,7 +2390,7 @@ function CommentThreadRow({
2486
2390
  replies.length === 1 ? "reply" : "replies"
2487
2391
  ] }) : null,
2488
2392
  onReply || actions ? /* @__PURE__ */ jsxs8("span", { className: "ml-auto flex flex-wrap gap-[var(--spacing-system-xsf)]", children: [
2489
- onReply ? /* @__PURE__ */ jsx10(
2393
+ onReply ? /* @__PURE__ */ jsx9(
2490
2394
  Button,
2491
2395
  {
2492
2396
  type: "button",
@@ -2500,7 +2404,7 @@ function CommentThreadRow({
2500
2404
  actions
2501
2405
  ] }) : null
2502
2406
  ] });
2503
- return /* @__PURE__ */ jsx10(
2407
+ return /* @__PURE__ */ jsx9(
2504
2408
  CommentCard,
2505
2409
  {
2506
2410
  fullBody: true,
@@ -2510,7 +2414,7 @@ function CommentThreadRow({
2510
2414
  onDeleteComment: onDelete ? (id) => void onDelete(id) : void 0,
2511
2415
  footer,
2512
2416
  children: replies.length > 0 || replyOpen ? /* @__PURE__ */ jsxs8("div", { className: "ml-[var(--spacing-system-lf)] mt-[var(--spacing-system-xsf)] flex flex-col gap-[var(--spacing-system-xsf)] border-l border-ods-border pl-[var(--spacing-system-sf)]", children: [
2513
- replies.map((reply) => /* @__PURE__ */ jsx10(
2417
+ replies.map((reply) => /* @__PURE__ */ jsx9(
2514
2418
  CommentCard,
2515
2419
  {
2516
2420
  fullBody: true,
@@ -2520,7 +2424,7 @@ function CommentThreadRow({
2520
2424
  },
2521
2425
  reply.id
2522
2426
  )),
2523
- replyOpen && onReply ? /* @__PURE__ */ jsx10(
2427
+ replyOpen && onReply ? /* @__PURE__ */ jsx9(
2524
2428
  CommentComposer,
2525
2429
  {
2526
2430
  pending,
@@ -2548,7 +2452,7 @@ function CommentsBlock({ title, summary, defaultOpen = false, children, composer
2548
2452
  if (defaultOpen) setOpen(true);
2549
2453
  }
2550
2454
  return /* @__PURE__ */ jsxs8("div", { className: "space-y-[var(--spacing-system-sf)]", children: [
2551
- /* @__PURE__ */ jsx10(
2455
+ /* @__PURE__ */ jsx9(
2552
2456
  Button,
2553
2457
  {
2554
2458
  type: "button",
@@ -2556,7 +2460,7 @@ function CommentsBlock({ title, summary, defaultOpen = false, children, composer
2556
2460
  size: "small-legacy",
2557
2461
  className: "px-0 text-ods-text-secondary hover:text-ods-text-primary",
2558
2462
  onClick: () => setOpen((value) => !value),
2559
- rightIcon: /* @__PURE__ */ jsx10(ChevronDown, { className: `h-4 w-4 transition-transform ${open ? "rotate-180" : ""}` }),
2463
+ rightIcon: /* @__PURE__ */ jsx9(ChevronDown, { className: `h-4 w-4 transition-transform ${open ? "rotate-180" : ""}` }),
2560
2464
  children: `${title} \xB7 ${summary}`
2561
2465
  }
2562
2466
  ),
@@ -2569,7 +2473,7 @@ function CommentsBlock({ title, summary, defaultOpen = false, children, composer
2569
2473
 
2570
2474
  // src/components/filter-chip.tsx
2571
2475
  import { X as X2 } from "lucide-react";
2572
- import { jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
2476
+ import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
2573
2477
  function FilterChip({
2574
2478
  label,
2575
2479
  variant = "unselected",
@@ -2615,7 +2519,7 @@ function FilterChip({
2615
2519
  "aria-pressed": onClick && variant === "selected" ? true : void 0,
2616
2520
  "aria-disabled": disabled,
2617
2521
  children: [
2618
- /* @__PURE__ */ jsx11(
2522
+ /* @__PURE__ */ jsx10(
2619
2523
  "span",
2620
2524
  {
2621
2525
  className: cn(
@@ -2626,7 +2530,7 @@ function FilterChip({
2626
2530
  children: label
2627
2531
  }
2628
2532
  ),
2629
- removable && onRemove && /* @__PURE__ */ jsx11(
2533
+ removable && onRemove && /* @__PURE__ */ jsx10(
2630
2534
  "button",
2631
2535
  {
2632
2536
  type: "button",
@@ -2645,7 +2549,7 @@ function FilterChip({
2645
2549
  ),
2646
2550
  "aria-label": `Remove ${label} filter`,
2647
2551
  tabIndex: disabled ? -1 : 0,
2648
- children: /* @__PURE__ */ jsx11(X2, { className: "h-2 w-2 md:h-2 md:w-2" })
2552
+ children: /* @__PURE__ */ jsx10(X2, { className: "h-2 w-2 md:h-2 md:w-2" })
2649
2553
  }
2650
2554
  )
2651
2555
  ]
@@ -2962,7 +2866,7 @@ var blogFilterConfig = {
2962
2866
  // src/components/hero-image-uploader.tsx
2963
2867
  import { Loader2, Image as ImageIcon2, Upload, X as X3 } from "lucide-react";
2964
2868
  import { useRef, useState as useState4 } from "react";
2965
- import { Fragment as Fragment3, jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
2869
+ import { Fragment as Fragment3, jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
2966
2870
  function readUploadedUrl(payload) {
2967
2871
  if (typeof payload !== "object" || payload === null) return null;
2968
2872
  if ("data" in payload) {
@@ -3072,46 +2976,46 @@ function HeroImageUploader({
3072
2976
  className: "group relative flex aspect-square h-auto w-full items-center justify-center overflow-hidden md:aspect-auto md:h-full",
3073
2977
  style: { height: heightStyle },
3074
2978
  children: [
3075
- /* @__PURE__ */ jsx12(next_image_default, { src: imageUrl, className: `object-${objectFit}`, alt: "Cover", fill: true, sizes: "100vw", unoptimized: true }),
2979
+ /* @__PURE__ */ jsx11(next_image_default, { src: imageUrl, className: `object-${objectFit}`, alt: "Cover", fill: true, sizes: "100vw", unoptimized: true }),
3076
2980
  /* @__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: [
3077
- showReplaceButton && /* @__PURE__ */ jsx12(
2981
+ showReplaceButton && /* @__PURE__ */ jsx11(
3078
2982
  Button,
3079
2983
  {
3080
2984
  variant: "outline",
3081
2985
  size: "icon",
3082
2986
  onClick: openDialog,
3083
2987
  className: "h-12 w-12 rounded-full bg-white text-black hover:bg-gray-100",
3084
- children: /* @__PURE__ */ jsx12(Upload, { className: "h-5 w-5" })
2988
+ children: /* @__PURE__ */ jsx11(Upload, { className: "h-5 w-5" })
3085
2989
  }
3086
2990
  ),
3087
- /* @__PURE__ */ jsx12(
2991
+ /* @__PURE__ */ jsx11(
3088
2992
  Button,
3089
2993
  {
3090
2994
  variant: "outline",
3091
2995
  size: "icon",
3092
2996
  onClick: () => handleRemove(),
3093
2997
  className: "h-12 w-12 rounded-full bg-white text-black hover:bg-gray-100",
3094
- children: /* @__PURE__ */ jsx12(X3, { className: "h-5 w-5" })
2998
+ children: /* @__PURE__ */ jsx11(X3, { className: "h-5 w-5" })
3095
2999
  }
3096
3000
  )
3097
3001
  ] })
3098
3002
  ]
3099
3003
  }
3100
- ) : /* @__PURE__ */ jsx12(
3004
+ ) : /* @__PURE__ */ jsx11(
3101
3005
  "div",
3102
3006
  {
3103
3007
  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`,
3104
3008
  style: { height: heightStyle },
3105
3009
  onClick: openDialog,
3106
- children: uploading ? /* @__PURE__ */ jsx12(Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs10(Fragment3, { children: [
3107
- /* @__PURE__ */ jsx12(ImageIcon2, { className: "h-12 w-12 text-ods-text-secondary" }),
3108
- /* @__PURE__ */ jsx12("span", { className: "mt-2 text-ods-text-primary text-h6", children: "Upload cover image" }),
3109
- /* @__PURE__ */ jsx12("span", { className: "mt-1 text-ods-text-secondary text-h6", children: "Click to upload or drag and drop" }),
3110
- /* @__PURE__ */ jsx12("span", { className: "text-ods-text-secondary text-h6", children: "PNG, JPEG, WebP, GIF up to 5MB" })
3010
+ children: uploading ? /* @__PURE__ */ jsx11(Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs10(Fragment3, { children: [
3011
+ /* @__PURE__ */ jsx11(ImageIcon2, { className: "h-12 w-12 text-ods-text-secondary" }),
3012
+ /* @__PURE__ */ jsx11("span", { className: "mt-2 text-ods-text-primary text-h6", children: "Upload cover image" }),
3013
+ /* @__PURE__ */ jsx11("span", { className: "mt-1 text-ods-text-secondary text-h6", children: "Click to upload or drag and drop" }),
3014
+ /* @__PURE__ */ jsx11("span", { className: "text-ods-text-secondary text-h6", children: "PNG, JPEG, WebP, GIF up to 5MB" })
3111
3015
  ] })
3112
3016
  }
3113
3017
  ),
3114
- /* @__PURE__ */ jsx12("input", { ref: inputRef, type: "file", accept: IMAGE_FILE_ACCEPT, onChange: handleSelect, className: "hidden" })
3018
+ /* @__PURE__ */ jsx11("input", { ref: inputRef, type: "file", accept: IMAGE_FILE_ACCEPT, onChange: handleSelect, className: "hidden" })
3115
3019
  ] });
3116
3020
  }
3117
3021
 
@@ -3130,13 +3034,13 @@ var CommunityIcon2 = MessageSquare;
3130
3034
  var CompareIcon2 = GitCompare;
3131
3035
 
3132
3036
  // src/components/icons-block.tsx
3133
- import { jsx as jsx13, jsxs as jsxs11 } from "react/jsx-runtime";
3037
+ import { jsx as jsx12, jsxs as jsxs11 } from "react/jsx-runtime";
3134
3038
  var SunIcon2 = Sun;
3135
3039
  var MoonIcon2 = Moon;
3136
3040
  var CheckCircleIcon3 = CheckCircle;
3137
3041
  var GitHubIcon2 = Github;
3138
3042
  var PlusCircleIcon2 = PlusCircle;
3139
- var OpenmspLogo2 = () => /* @__PURE__ */ jsx13("div", { children: "Logo" });
3043
+ var OpenmspLogo2 = () => /* @__PURE__ */ jsx12("div", { children: "Logo" });
3140
3044
  var availableIcons = [
3141
3045
  VendorDirectoryIcon2,
3142
3046
  OpenSourceIcon2,
@@ -3199,13 +3103,13 @@ function ResponsiveIconsBlock({ loading = false }) {
3199
3103
  return iconGrid[row]?.[col] || availableIcons[0];
3200
3104
  };
3201
3105
  if (loading || iconGrid.length === 0) {
3202
- return /* @__PURE__ */ jsx13(
3106
+ return /* @__PURE__ */ jsx12(
3203
3107
  "div",
3204
3108
  {
3205
3109
  className: "relative h-[80px] w-full overflow-hidden bg-[#1A1A1A] md:h-[112px]",
3206
3110
  role: "presentation",
3207
3111
  "aria-hidden": "true",
3208
- children: /* @__PURE__ */ jsx13("div", { className: "absolute inset-0 animate-pulse bg-[#2A2A2A]/60" })
3112
+ children: /* @__PURE__ */ jsx12("div", { className: "absolute inset-0 animate-pulse bg-[#2A2A2A]/60" })
3209
3113
  }
3210
3114
  );
3211
3115
  }
@@ -3217,14 +3121,14 @@ function ResponsiveIconsBlock({ loading = false }) {
3217
3121
  role: "presentation",
3218
3122
  "aria-hidden": "true",
3219
3123
  children: [
3220
- /* @__PURE__ */ jsx13("style", { children: `
3124
+ /* @__PURE__ */ jsx12("style", { children: `
3221
3125
  .icons-block svg,
3222
3126
  .icons-block svg * {
3223
3127
  filter: grayscale(100%) brightness(0) invert(1) brightness(0.4) !important;
3224
3128
  fill: currentColor !important;
3225
3129
  }
3226
3130
  ` }),
3227
- /* @__PURE__ */ jsx13(
3131
+ /* @__PURE__ */ jsx12(
3228
3132
  "div",
3229
3133
  {
3230
3134
  className: "icons-block grid h-full w-full",
@@ -3236,7 +3140,7 @@ function ResponsiveIconsBlock({ loading = false }) {
3236
3140
  const col = idx % displayColumns;
3237
3141
  const row = Math.floor(idx / displayColumns);
3238
3142
  const IconComponent = getIconForIndex(idx);
3239
- return /* @__PURE__ */ jsx13(
3143
+ return /* @__PURE__ */ jsx12(
3240
3144
  "div",
3241
3145
  {
3242
3146
  className: "flex h-full w-full items-center justify-center",
@@ -3249,7 +3153,7 @@ function ResponsiveIconsBlock({ loading = false }) {
3249
3153
  boxSizing: "border-box"
3250
3154
  },
3251
3155
  role: "presentation",
3252
- children: /* @__PURE__ */ jsx13(IconComponent, { width: 16, height: 16, className: "text-[#666666] md:h-5 md:w-5", "aria-hidden": "true" })
3156
+ children: /* @__PURE__ */ jsx12(IconComponent, { width: 16, height: 16, className: "text-[#666666] md:h-5 md:w-5", "aria-hidden": "true" })
3253
3157
  },
3254
3158
  idx
3255
3159
  );
@@ -3265,7 +3169,7 @@ function ResponsiveIconsBlock({ loading = false }) {
3265
3169
  import { Check, RotateCcw } from "lucide-react";
3266
3170
  import { useCallback, useState as useState6 } from "react";
3267
3171
  import Cropper from "react-easy-crop";
3268
- import { jsx as jsx14, jsxs as jsxs12 } from "react/jsx-runtime";
3172
+ import { jsx as jsx13, jsxs as jsxs12 } from "react/jsx-runtime";
3269
3173
  function loadImage(src) {
3270
3174
  return new Promise((resolve, reject) => {
3271
3175
  const img = new Image();
@@ -3360,7 +3264,7 @@ var ImageCropper = ({
3360
3264
  tabIndex: 0,
3361
3265
  "aria-label": "Image cropper",
3362
3266
  children: [
3363
- /* @__PURE__ */ jsx14("div", { className: cn("relative aspect-square w-full overflow-hidden rounded-md md:aspect-video", checkerBg), children: /* @__PURE__ */ jsx14(
3267
+ /* @__PURE__ */ jsx13("div", { className: cn("relative aspect-square w-full overflow-hidden rounded-md md:aspect-video", checkerBg), children: /* @__PURE__ */ jsx13(
3364
3268
  Cropper,
3365
3269
  {
3366
3270
  image: src,
@@ -3379,8 +3283,8 @@ var ImageCropper = ({
3379
3283
  ) }),
3380
3284
  /* @__PURE__ */ jsxs12("div", { className: "flex flex-col gap-4", children: [
3381
3285
  /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-3", children: [
3382
- /* @__PURE__ */ jsx14("span", { className: "min-w-[60px] text-h6", children: "Zoom" }),
3383
- /* @__PURE__ */ jsx14(
3286
+ /* @__PURE__ */ jsx13("span", { className: "min-w-[60px] text-h6", children: "Zoom" }),
3287
+ /* @__PURE__ */ jsx13(
3384
3288
  Slider,
3385
3289
  {
3386
3290
  min: 1,
@@ -3394,8 +3298,8 @@ var ImageCropper = ({
3394
3298
  )
3395
3299
  ] }),
3396
3300
  /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-3", children: [
3397
- /* @__PURE__ */ jsx14("span", { className: "min-w-[60px] text-h6", children: "Rotate" }),
3398
- /* @__PURE__ */ jsx14(
3301
+ /* @__PURE__ */ jsx13("span", { className: "min-w-[60px] text-h6", children: "Rotate" }),
3302
+ /* @__PURE__ */ jsx13(
3399
3303
  Slider,
3400
3304
  {
3401
3305
  min: 0,
@@ -3407,12 +3311,12 @@ var ImageCropper = ({
3407
3311
  className: "flex-1"
3408
3312
  }
3409
3313
  ),
3410
- /* @__PURE__ */ jsx14(Button, { variant: "outline", size: "icon", onClick: () => setRotation(0), "aria-label": "Reset rotation", children: /* @__PURE__ */ jsx14(RotateCcw, { className: "h-4 w-4" }) })
3314
+ /* @__PURE__ */ jsx13(Button, { variant: "outline", size: "icon", onClick: () => setRotation(0), "aria-label": "Reset rotation", children: /* @__PURE__ */ jsx13(RotateCcw, { className: "h-4 w-4" }) })
3411
3315
  ] })
3412
3316
  ] }),
3413
3317
  /* @__PURE__ */ jsxs12("div", { className: "mt-2 flex justify-end gap-2", children: [
3414
- onCancel && /* @__PURE__ */ jsx14(Button, { variant: "outline", onClick: onCancel, "aria-label": "Cancel crop", children: "Cancel" }),
3415
- /* @__PURE__ */ jsx14(
3318
+ onCancel && /* @__PURE__ */ jsx13(Button, { variant: "outline", onClick: onCancel, "aria-label": "Cancel crop", children: "Cancel" }),
3319
+ /* @__PURE__ */ jsx13(
3416
3320
  Button,
3417
3321
  {
3418
3322
  variant: "accent",
@@ -3420,7 +3324,7 @@ var ImageCropper = ({
3420
3324
  const result = await exportCrop();
3421
3325
  if (result) onComplete(result);
3422
3326
  },
3423
- leftIcon: /* @__PURE__ */ jsx14(Check, { className: "h-4 w-4" }),
3327
+ leftIcon: /* @__PURE__ */ jsx13(Check, { className: "h-4 w-4" }),
3424
3328
  "aria-label": "Apply crop",
3425
3329
  children: "Apply"
3426
3330
  }
@@ -3432,19 +3336,19 @@ var ImageCropper = ({
3432
3336
  };
3433
3337
 
3434
3338
  // src/components/metric-value.tsx
3435
- import { jsx as jsx15, jsxs as jsxs13 } from "react/jsx-runtime";
3339
+ import { jsx as jsx14, jsxs as jsxs13 } from "react/jsx-runtime";
3436
3340
  function MetricValue({ value, label, className }) {
3437
3341
  return /* @__PURE__ */ jsxs13("div", { className: cn("flex items-end gap-2 whitespace-nowrap text-ods-text-primary text-h4", className), children: [
3438
3342
  value,
3439
- /* @__PURE__ */ jsx15("span", { className: "text-ods-text-secondary text-h6", children: label })
3343
+ /* @__PURE__ */ jsx14("span", { className: "text-ods-text-secondary text-h6", children: label })
3440
3344
  ] });
3441
3345
  }
3442
3346
 
3443
3347
  // src/components/msp-display.tsx
3444
- import { jsx as jsx16, jsxs as jsxs14 } from "react/jsx-runtime";
3348
+ import { jsx as jsx15, jsxs as jsxs14 } from "react/jsx-runtime";
3445
3349
  function MSPDisplay({ name, logoUrl, size = 40, className }) {
3446
3350
  return /* @__PURE__ */ jsxs14("div", { className: cn("flex min-w-0 items-center gap-2", className), children: [
3447
- /* @__PURE__ */ jsx16(
3351
+ /* @__PURE__ */ jsx15(
3448
3352
  SquareAvatar,
3449
3353
  {
3450
3354
  src: logoUrl ? getProxiedImageUrl(logoUrl) || logoUrl : void 0,
@@ -3453,16 +3357,16 @@ function MSPDisplay({ name, logoUrl, size = 40, className }) {
3453
3357
  sizePx: size
3454
3358
  }
3455
3359
  ),
3456
- /* @__PURE__ */ jsx16("h2", { className: "truncate pl-2", children: name })
3360
+ /* @__PURE__ */ jsx15("h2", { className: "truncate pl-2", children: name })
3457
3361
  ] });
3458
3362
  }
3459
3363
 
3460
3364
  // src/components/open-source-features.tsx
3461
3365
  import { Terminal, DollarSign as DollarSign2, Network, Users as Users2 } from "lucide-react";
3462
- import { jsx as jsx17, jsxs as jsxs15 } from "react/jsx-runtime";
3366
+ import { jsx as jsx16, jsxs as jsxs15 } from "react/jsx-runtime";
3463
3367
 
3464
3368
  // src/components/pricing-display.tsx
3465
- import { jsx as jsx18, jsxs as jsxs16 } from "react/jsx-runtime";
3369
+ import { jsx as jsx17, jsxs as jsxs16 } from "react/jsx-runtime";
3466
3370
  var PRICING_STYLES = {
3467
3371
  // Comparison table style (current default)
3468
3372
  comparison: {
@@ -3498,11 +3402,11 @@ function PricingDisplay({
3498
3402
  styleConfig = PRICING_STYLES.comparison
3499
3403
  }) {
3500
3404
  if (typeof pricing === "string") {
3501
- return /* @__PURE__ */ jsx18(LegacyPricingDisplay, { pricing, className, styleConfig });
3405
+ return /* @__PURE__ */ jsx17(LegacyPricingDisplay, { pricing, className, styleConfig });
3502
3406
  }
3503
3407
  const pricingArray = Array.isArray(pricing) ? pricing : [pricing];
3504
3408
  if (!pricingArray || pricingArray.length === 0) {
3505
- return /* @__PURE__ */ jsx18(
3409
+ return /* @__PURE__ */ jsx17(
3506
3410
  "span",
3507
3411
  {
3508
3412
  className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize} ${styleConfig.fontFamily} ${className}`,
@@ -3515,7 +3419,7 @@ function PricingDisplay({
3515
3419
  const price = item.ranges?.[0]?.min || 0;
3516
3420
  const unit = item.ranges?.[0]?.unit;
3517
3421
  return /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
3518
- /* @__PURE__ */ jsx18("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
3422
+ /* @__PURE__ */ jsx17("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
3519
3423
  unit && /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
3520
3424
  "/",
3521
3425
  unit
@@ -3527,7 +3431,7 @@ function PricingDisplay({
3527
3431
  );
3528
3432
  const itemWithUnit = pricingArray.find((item) => item.ranges?.[0]?.unit);
3529
3433
  return /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
3530
- /* @__PURE__ */ jsx18("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: priceValues.join(" | ") }),
3434
+ /* @__PURE__ */ jsx17("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: priceValues.join(" | ") }),
3531
3435
  itemWithUnit && itemWithUnit.ranges?.[0]?.unit && /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
3532
3436
  "/",
3533
3437
  itemWithUnit.ranges[0].unit
@@ -3549,7 +3453,7 @@ function LegacyPricingDisplay({
3549
3453
  styleConfig = PRICING_STYLES.comparison
3550
3454
  }) {
3551
3455
  if (pricing === "Free" || pricing === "No pricing data") {
3552
- return /* @__PURE__ */ jsx18(
3456
+ return /* @__PURE__ */ jsx17(
3553
3457
  "span",
3554
3458
  {
3555
3459
  className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize} ${styleConfig.fontFamily} ${className}`,
@@ -3612,8 +3516,8 @@ function LegacyPricingDisplay({
3612
3516
  };
3613
3517
  const { mainValue, secondaryInfo } = parsePricing(pricing);
3614
3518
  return /* @__PURE__ */ jsxs16("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
3615
- /* @__PURE__ */ jsx18("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: mainValue }),
3616
- secondaryInfo && /* @__PURE__ */ jsx18("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: secondaryInfo })
3519
+ /* @__PURE__ */ jsx17("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: mainValue }),
3520
+ secondaryInfo && /* @__PURE__ */ jsx17("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: secondaryInfo })
3617
3521
  ] });
3618
3522
  }
3619
3523
  function formatPricingForDisplay(pricing) {
@@ -3621,7 +3525,7 @@ function formatPricingForDisplay(pricing) {
3621
3525
  }
3622
3526
 
3623
3527
  // src/components/results-count.tsx
3624
- import { Fragment as Fragment4, jsx as jsx19, jsxs as jsxs17 } from "react/jsx-runtime";
3528
+ import { Fragment as Fragment4, jsx as jsx18, jsxs as jsxs17 } from "react/jsx-runtime";
3625
3529
  function ResultsCount({ currentPage, pageSize, totalResults, resultType, sortingMessage }) {
3626
3530
  if (totalResults === 0) {
3627
3531
  return null;
@@ -3631,7 +3535,7 @@ function ResultsCount({ currentPage, pageSize, totalResults, resultType, sorting
3631
3535
  const plural = resultType === "vendors" ? "vendors" : "posts";
3632
3536
  const singular = resultType === "vendors" ? "vendor" : "post";
3633
3537
  const displayType = totalResults === 1 ? singular : plural;
3634
- 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: [
3538
+ return /* @__PURE__ */ jsx18("div", { className: "mb-6", children: /* @__PURE__ */ jsx18("p", { className: "text-ods-text-secondary text-h6", children: totalResults > 0 && /* @__PURE__ */ jsxs17(Fragment4, { children: [
3635
3539
  "Showing ",
3636
3540
  startIndex,
3637
3541
  "-",
@@ -3651,14 +3555,14 @@ function ResultsCount({ currentPage, pageSize, totalResults, resultType, sorting
3651
3555
  import { Boxes, Database, Hand, Plug, ShieldCheck, Sparkles } from "lucide-react";
3652
3556
 
3653
3557
  // src/components/openframe-logo.tsx
3654
- import { jsx as jsx20, jsxs as jsxs18 } from "react/jsx-runtime";
3558
+ import { jsx as jsx19, jsxs as jsxs18 } from "react/jsx-runtime";
3655
3559
  var OpenFrameLogo2 = ({
3656
3560
  className,
3657
3561
  lowerPathColor,
3658
3562
  upperPathColor,
3659
3563
  ...props
3660
3564
  }) => {
3661
- return /* @__PURE__ */ jsx20(
3565
+ return /* @__PURE__ */ jsx19(
3662
3566
  "svg",
3663
3567
  {
3664
3568
  ...props,
@@ -3674,28 +3578,28 @@ var OpenFrameLogo2 = ({
3674
3578
  },
3675
3579
  children: /* @__PURE__ */ jsxs18("g", { children: [
3676
3580
  /* @__PURE__ */ jsxs18("g", { children: [
3677
- /* @__PURE__ */ jsx20(
3581
+ /* @__PURE__ */ jsx19(
3678
3582
  "path",
3679
3583
  {
3680
3584
  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",
3681
3585
  fill: lowerPathColor ?? "#ffffff"
3682
3586
  }
3683
3587
  ),
3684
- /* @__PURE__ */ jsx20(
3588
+ /* @__PURE__ */ jsx19(
3685
3589
  "path",
3686
3590
  {
3687
3591
  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",
3688
3592
  fill: lowerPathColor ?? "#ffffff"
3689
3593
  }
3690
3594
  ),
3691
- /* @__PURE__ */ jsx20(
3595
+ /* @__PURE__ */ jsx19(
3692
3596
  "path",
3693
3597
  {
3694
3598
  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",
3695
3599
  fill: lowerPathColor ?? "#ffffff"
3696
3600
  }
3697
3601
  ),
3698
- /* @__PURE__ */ jsx20(
3602
+ /* @__PURE__ */ jsx19(
3699
3603
  "path",
3700
3604
  {
3701
3605
  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",
@@ -3703,7 +3607,7 @@ var OpenFrameLogo2 = ({
3703
3607
  }
3704
3608
  )
3705
3609
  ] }),
3706
- /* @__PURE__ */ jsx20(
3610
+ /* @__PURE__ */ jsx19(
3707
3611
  "path",
3708
3612
  {
3709
3613
  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",
@@ -3716,12 +3620,12 @@ var OpenFrameLogo2 = ({
3716
3620
  };
3717
3621
 
3718
3622
  // src/components/vendor-tag.tsx
3719
- import { jsx as jsx21, jsxs as jsxs19 } from "react/jsx-runtime";
3623
+ import { jsx as jsx20, jsxs as jsxs19 } from "react/jsx-runtime";
3720
3624
  function openFrameTag(classification, text) {
3721
3625
  return {
3722
3626
  text: text || OPENFRAME_CLASSIFICATIONS[classification].word,
3723
3627
  textColor: void 0,
3724
- icon: /* @__PURE__ */ jsx21(OpenFrameLogo2, { lowerPathColor: "currentColor", upperPathColor: "currentColor", className: "h-4 w-4 text-ods-accent" })
3628
+ icon: /* @__PURE__ */ jsx20(OpenFrameLogo2, { lowerPathColor: "currentColor", upperPathColor: "currentColor", className: "h-4 w-4 text-ods-accent" })
3725
3629
  };
3726
3630
  }
3727
3631
  function VendorTag({ type, text, className = "", hidden = false, size = "md", accentColor }) {
@@ -3735,101 +3639,101 @@ function VendorTag({ type, text, className = "", hidden = false, size = "md", ac
3735
3639
  return {
3736
3640
  text: "Placeholder",
3737
3641
  textColor: "text-ods-text-primary",
3738
- 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" }) })
3642
+ icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm", children: /* @__PURE__ */ jsx20(Sparkles, { width: 10, height: 10, className: "text-ods-text-primary" }) })
3739
3643
  };
3740
3644
  case "ai":
3741
3645
  return {
3742
3646
  text: "AI Selected",
3743
3647
  textColor: "text-ods-text-primary",
3744
- 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" }) })
3648
+ icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm", children: /* @__PURE__ */ jsx20(Sparkles, { width: 10, height: 10, className: "text-ods-text-primary" }) })
3745
3649
  };
3746
3650
  case "manual":
3747
3651
  return {
3748
3652
  text: "Manually Selected",
3749
3653
  textColor: "text-ods-text-secondary",
3750
- 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" }) })
3654
+ icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm", children: /* @__PURE__ */ jsx20(Hand, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3751
3655
  };
3752
3656
  case "open-source":
3753
3657
  return {
3754
3658
  text: text || "Open Source",
3755
- icon: /* @__PURE__ */ jsx21(
3659
+ icon: /* @__PURE__ */ jsx20(
3756
3660
  "div",
3757
3661
  {
3758
3662
  className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent",
3759
3663
  style: accentColor ? { backgroundColor: accentColor } : void 0,
3760
- children: /* @__PURE__ */ jsx21(OpenSourceIcon2, { width: 10, height: 10, className: "text-ods-text-on-accent" })
3664
+ children: /* @__PURE__ */ jsx20(OpenSourceIcon2, { width: 10, height: 10, className: "text-ods-text-on-accent" })
3761
3665
  }
3762
3666
  )
3763
3667
  };
3764
3668
  case "commercial":
3765
3669
  return {
3766
3670
  text: text || "Commercial Vendor",
3767
- 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" }) })
3671
+ icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx20(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3768
3672
  };
3769
3673
  // platform-capability tags — same neutral icon-box chrome as 'commercial'
3770
3674
  case "api":
3771
3675
  return {
3772
3676
  text: text || "API",
3773
- 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" }) })
3677
+ icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx20(Plug, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3774
3678
  };
3775
3679
  case "data":
3776
3680
  return {
3777
3681
  text: text || "Data",
3778
- 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" }) })
3682
+ icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx20(Database, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3779
3683
  };
3780
3684
  case "k8s":
3781
3685
  return {
3782
3686
  text: text || "K8s",
3783
- 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" }) })
3687
+ icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx20(Boxes, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3784
3688
  };
3785
3689
  case "secured":
3786
3690
  return {
3787
3691
  text: text || "Secured",
3788
- 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" }) })
3692
+ icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx20(ShieldCheck, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3789
3693
  };
3790
3694
  case "free":
3791
3695
  return {
3792
3696
  text: text || "Free",
3793
- 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: "$" }) })
3697
+ icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx20("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "$" }) })
3794
3698
  };
3795
3699
  case "freemium":
3796
3700
  return {
3797
3701
  text: text || "Freemium",
3798
- 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: "$" }) })
3702
+ icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx20("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "$" }) })
3799
3703
  };
3800
3704
  case "paid":
3801
3705
  return {
3802
3706
  text: text || "Paid",
3803
- 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" }) })
3707
+ icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx20(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3804
3708
  };
3805
3709
  case "enterprise":
3806
3710
  return {
3807
3711
  text: text || "Enterprise",
3808
- 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" }) })
3712
+ icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx20("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "E" }) })
3809
3713
  };
3810
3714
  case "recommended":
3811
3715
  return {
3812
3716
  text: text || "Recommended",
3813
- 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" }) })
3717
+ icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx20("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "\u2605" }) })
3814
3718
  };
3815
3719
  case "classification": {
3816
3720
  const classificationType = text?.toLowerCase();
3817
3721
  if (classificationType === "open_source") {
3818
3722
  return {
3819
3723
  text: "Open Source",
3820
- 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" }) })
3724
+ icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx20(OpenSourceIcon2, { width: 10, height: 10, className: "text-ods-text-on-accent" }) })
3821
3725
  };
3822
3726
  } else if (classificationType === "commercial") {
3823
3727
  return {
3824
3728
  text: "Commercial Vendor",
3825
- 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" }) })
3729
+ icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-border", children: /* @__PURE__ */ jsx20(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3826
3730
  };
3827
3731
  } else if (isOpenFrameClassification(classificationType)) {
3828
3732
  return openFrameTag(classificationType);
3829
3733
  } else {
3830
3734
  return {
3831
3735
  text: text || "Classification",
3832
- 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" }) })
3736
+ icon: /* @__PURE__ */ jsx20("div", { className: "flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-sm bg-ods-accent", children: /* @__PURE__ */ jsx20("span", { className: "text-[8px] font-bold text-ods-text-on-accent", children: "C" }) })
3833
3737
  };
3834
3738
  }
3835
3739
  }
@@ -3847,17 +3751,17 @@ function VendorTag({ type, text, className = "", hidden = false, size = "md", ac
3847
3751
  const { text: displayText, icon, textColor } = getTagContent();
3848
3752
  return /* @__PURE__ */ jsxs19("div", { className: cn(baseClasses, className, hidden && "invisible"), children: [
3849
3753
  icon,
3850
- /* @__PURE__ */ jsx21("span", { className: cn("font-semibold text-h5", textColor ? textColor : "text-ods-text-primary"), children: displayText })
3754
+ /* @__PURE__ */ jsx20("span", { className: cn("font-semibold text-h5", textColor ? textColor : "text-ods-text-primary"), children: displayText })
3851
3755
  ] });
3852
3756
  }
3853
3757
 
3854
3758
  // src/components/selection-source-badge.tsx
3855
- import { jsx as jsx22 } from "react/jsx-runtime";
3759
+ import { jsx as jsx21 } from "react/jsx-runtime";
3856
3760
  function SelectionSourceBadge({ source, hidden = false }) {
3857
3761
  if (!source) {
3858
3762
  return null;
3859
3763
  }
3860
- return /* @__PURE__ */ jsx22(
3764
+ return /* @__PURE__ */ jsx21(
3861
3765
  VendorTag,
3862
3766
  {
3863
3767
  type: source?.toLowerCase(),
@@ -3869,32 +3773,32 @@ function SelectionSourceBadge({ source, hidden = false }) {
3869
3773
  }
3870
3774
 
3871
3775
  // src/components/vendor-page-skeleton.tsx
3872
- import { jsx as jsx23 } from "react/jsx-runtime";
3776
+ import { jsx as jsx22 } from "react/jsx-runtime";
3873
3777
  function VendorPageSkeleton() {
3874
- return /* @__PURE__ */ jsx23(VendorDetailLayoutSkeleton, {});
3778
+ return /* @__PURE__ */ jsx22(VendorDetailLayoutSkeleton, {});
3875
3779
  }
3876
3780
 
3877
3781
  // src/components/why-it-matters.tsx
3878
- import { jsx as jsx24, jsxs as jsxs20 } from "react/jsx-runtime";
3782
+ import { jsx as jsx23, jsxs as jsxs20 } from "react/jsx-runtime";
3879
3783
 
3880
3784
  // src/components/yes-no-display.tsx
3881
- import { jsx as jsx25, jsxs as jsxs21 } from "react/jsx-runtime";
3785
+ import { jsx as jsx24, jsxs as jsxs21 } from "react/jsx-runtime";
3882
3786
  function YesNoDisplay({ value, yesText = "Yes", noText = "No", customText, className = "" }) {
3883
3787
  if (customText) {
3884
3788
  return /* @__PURE__ */ jsxs21("div", { className: `flex items-center gap-2 ${className}`, children: [
3885
- /* @__PURE__ */ jsx25(CheckCircleIcon2, { className: "h-6 w-6" }),
3886
- /* @__PURE__ */ jsx25("span", { className: "text-ods-text-primary text-h6", children: customText })
3789
+ /* @__PURE__ */ jsx24(CheckCircleIcon2, { className: "h-6 w-6" }),
3790
+ /* @__PURE__ */ jsx24("span", { className: "text-ods-text-primary text-h6", children: customText })
3887
3791
  ] });
3888
3792
  }
3889
3793
  if (value) {
3890
3794
  return /* @__PURE__ */ jsxs21("div", { className: `flex items-center gap-2 ${className}`, children: [
3891
- /* @__PURE__ */ jsx25(CheckCircleIcon2, { className: "h-6 w-6" }),
3892
- /* @__PURE__ */ jsx25("span", { className: "text-ods-text-primary text-h6", children: yesText })
3795
+ /* @__PURE__ */ jsx24(CheckCircleIcon2, { className: "h-6 w-6" }),
3796
+ /* @__PURE__ */ jsx24("span", { className: "text-ods-text-primary text-h6", children: yesText })
3893
3797
  ] });
3894
3798
  }
3895
3799
  return /* @__PURE__ */ jsxs21("div", { className: `flex items-center gap-2 ${className}`, children: [
3896
- /* @__PURE__ */ jsx25(XCircleIcon, { className: "h-6 w-6" }),
3897
- /* @__PURE__ */ jsx25("span", { className: "text-ods-text-secondary text-h6", children: noText })
3800
+ /* @__PURE__ */ jsx24(XCircleIcon, { className: "h-6 w-6" }),
3801
+ /* @__PURE__ */ jsx24("span", { className: "text-ods-text-secondary text-h6", children: noText })
3898
3802
  ] });
3899
3803
  }
3900
3804
  function evaluateFeatureValue(value, dataType) {
@@ -3929,7 +3833,7 @@ function evaluateFeatureValue(value, dataType) {
3929
3833
 
3930
3834
  // src/components/made-with-love.tsx
3931
3835
  import { useState as useState7, useEffect as useEffect3 } from "react";
3932
- import { jsx as jsx26, jsxs as jsxs22 } from "react/jsx-runtime";
3836
+ import { jsx as jsx25, jsxs as jsxs22 } from "react/jsx-runtime";
3933
3837
  function MadeWithLove({ className = "", size = "md", showOnMobile = true }) {
3934
3838
  const [isMobile, setIsMobile] = useState7(false);
3935
3839
  const [isHovered, setIsHovered] = useState7(false);
@@ -4011,14 +3915,14 @@ function MadeWithLove({ className = "", size = "md", showOnMobile = true }) {
4011
3915
  onMouseEnter: () => setIsHovered(true),
4012
3916
  onMouseLeave: () => setIsHovered(false),
4013
3917
  children: [
4014
- /* @__PURE__ */ jsx26("div", { style: logoStyle, children: /* @__PURE__ */ jsx26(
3918
+ /* @__PURE__ */ jsx25("div", { style: logoStyle, children: /* @__PURE__ */ jsx25(
4015
3919
  FlamingoLogo2,
4016
3920
  {
4017
3921
  size: config.logoSize,
4018
3922
  color: "#f357bb"
4019
3923
  }
4020
3924
  ) }),
4021
- /* @__PURE__ */ jsx26("span", { style: textStyle, children: "Flamingo" })
3925
+ /* @__PURE__ */ jsx25("span", { style: textStyle, children: "Flamingo" })
4022
3926
  ]
4023
3927
  }
4024
3928
  )
@@ -4027,7 +3931,7 @@ function MadeWithLove({ className = "", size = "md", showOnMobile = true }) {
4027
3931
 
4028
3932
  // src/components/date-time-picker.tsx
4029
3933
  import DatePicker2 from "react-datepicker";
4030
- import { jsx as jsx27, jsxs as jsxs23 } from "react/jsx-runtime";
3934
+ import { jsx as jsx26, jsxs as jsxs23 } from "react/jsx-runtime";
4031
3935
  var inputClassName = cn(
4032
3936
  "flex h-10 w-full rounded-md border px-3 py-2 text-sm ring-offset-background",
4033
3937
  "file:border-0 file:bg-transparent file:text-sm file:font-medium",
@@ -4052,8 +3956,8 @@ function DateTimePicker({
4052
3956
  dateFormat = "MMMM d, yyyy h:mm aa"
4053
3957
  }) {
4054
3958
  return /* @__PURE__ */ jsxs23("div", { className: cn("space-y-2", className), children: [
4055
- label && /* @__PURE__ */ jsx27(Label, { className: "font-semibold text-ods-text-secondary text-h5", children: label }),
4056
- /* @__PURE__ */ jsx27("div", { className: "w-full", children: /* @__PURE__ */ jsx27(
3959
+ label && /* @__PURE__ */ jsx26(Label, { className: "font-semibold text-ods-text-secondary text-h5", children: label }),
3960
+ /* @__PURE__ */ jsx26("div", { className: "w-full", children: /* @__PURE__ */ jsx26(
4057
3961
  DatePicker2,
4058
3962
  {
4059
3963
  selected: value,
@@ -4068,7 +3972,7 @@ function DateTimePicker({
4068
3972
  className: inputClassName
4069
3973
  }
4070
3974
  ) }),
4071
- /* @__PURE__ */ jsx27(
3975
+ /* @__PURE__ */ jsx26(
4072
3976
  "style",
4073
3977
  {
4074
3978
  dangerouslySetInnerHTML: {
@@ -4179,7 +4083,7 @@ function DateTimePicker({
4179
4083
  }
4180
4084
 
4181
4085
  // src/components/authors/author-detail-view.tsx
4182
- import { jsx as jsx28, jsxs as jsxs24 } from "react/jsx-runtime";
4086
+ import { jsx as jsx27, jsxs as jsxs24 } from "react/jsx-runtime";
4183
4087
  function AuthorDetailView({ author, proxyImageUrl, children, className }) {
4184
4088
  const runtime = useChatRuntime();
4185
4089
  const proxiedAvatar = author.avatarUrl ? proxyImageUrl ? proxyImageUrl(author.avatarUrl) : getProxiedImageUrl(author.avatarUrl, {
@@ -4191,12 +4095,12 @@ function AuthorDetailView({ author, proxyImageUrl, children, className }) {
4191
4095
  const bioText = formatBioText(author.about);
4192
4096
  return /* @__PURE__ */ jsxs24("div", { className: cn("flex flex-col gap-5 md:gap-6", className), children: [
4193
4097
  /* @__PURE__ */ jsxs24("div", { className: "flex w-full items-start gap-6", children: [
4194
- /* @__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() }) }) }),
4098
+ /* @__PURE__ */ jsx27("div", { className: "relative h-24 w-24 shrink-0", children: /* @__PURE__ */ jsx27("div", { className: "relative h-full w-full overflow-hidden rounded-full border border-ods-border bg-ods-bg-surface", children: proxiedAvatar ? /* @__PURE__ */ jsx27(next_image_default, { src: proxiedAvatar, alt: author.fullName, fill: true, className: "object-cover", unoptimized: true }) : /* @__PURE__ */ jsx27("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() }) }) }),
4195
4099
  /* @__PURE__ */ jsxs24("div", { className: "flex min-w-0 flex-col justify-center gap-2", children: [
4196
- /* @__PURE__ */ jsx28("p", { className: "truncate leading-none text-ods-text-primary text-h2", children: author.fullName }),
4197
- subtitle && /* @__PURE__ */ jsx28("p", { className: "truncate font-body text-lg leading-none text-ods-text-secondary", children: subtitle }),
4100
+ /* @__PURE__ */ jsx27("p", { className: "truncate leading-none text-ods-text-primary text-h2", children: author.fullName }),
4101
+ subtitle && /* @__PURE__ */ jsx27("p", { className: "truncate font-body text-lg leading-none text-ods-text-secondary", children: subtitle }),
4198
4102
  author.socialLinks.length > 0 && // Ghost compact row (transparent 32px) — metadata, not CTAs.
4199
- /* @__PURE__ */ jsx28(
4103
+ /* @__PURE__ */ jsx27(
4200
4104
  SocialIconRow,
4201
4105
  {
4202
4106
  compact: true,
@@ -4209,8 +4113,8 @@ function AuthorDetailView({ author, proxyImageUrl, children, className }) {
4209
4113
  )
4210
4114
  ] })
4211
4115
  ] }),
4212
- bioText && /* @__PURE__ */ jsx28("p", { className: "text-ods-text-secondary text-h6", children: bioText }),
4213
- 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)) }),
4116
+ bioText && /* @__PURE__ */ jsx27("p", { className: "text-ods-text-secondary text-h6", children: bioText }),
4117
+ author.knowsAbout.length > 0 && /* @__PURE__ */ jsx27("div", { className: "flex flex-wrap gap-2", children: author.knowsAbout.map((topic) => /* @__PURE__ */ jsx27(StatusBadge, { text: topic, variant: "button", colorScheme: "cyan", singleLine: true }, topic)) }),
4214
4118
  children
4215
4119
  ] });
4216
4120
  }
@@ -4228,6 +4132,7 @@ export {
4228
4132
  APPROVAL_LEVEL_META,
4229
4133
  APPROVAL_STATUS,
4230
4134
  ASK_AI_OPEN_EVENT,
4135
+ ASK_PROMPTS_DEFAULT_COUNT,
4231
4136
  ASSISTANT_TYPE,
4232
4137
  AUTHOR_TYPE,
4233
4138
  AUTO_CONTINUATION_DIRECTIVE_PREFIX,
@@ -4302,6 +4207,7 @@ export {
4302
4207
  AspectRatio,
4303
4208
  AssignTicketModal,
4304
4209
  AssigneeDropdown,
4210
+ AssistantAskPrompts,
4305
4211
  AuditLoggingIcon,
4306
4212
  AuthBenefitsPanel,
4307
4213
  AuthProvider,
@@ -4656,6 +4562,7 @@ export {
4656
4562
  FacebookIcon,
4657
4563
  FadePreview,
4658
4564
  FaqAccordion,
4565
+ FaqAskCard,
4659
4566
  FaqDocumentPage,
4660
4567
  FaqSection,
4661
4568
  FeatureCardGrid,
@@ -4863,6 +4770,7 @@ export {
4863
4770
  MinusCircleIcon,
4864
4771
  MinusIcon,
4865
4772
  MlgLogo,
4773
+ MobileAppQr,
4866
4774
  MobileBurgerMenu,
4867
4775
  MobileNavSheet,
4868
4776
  MobileNavigationDropdown,
@@ -5378,10 +5286,12 @@ export {
5378
5286
  approvalDisplaysInline,
5379
5287
  approvalMetaToBatchData,
5380
5288
  arrangePhotoWall,
5289
+ assistantAvailable,
5381
5290
  badgeVariants,
5382
5291
  benefitCardBorderClass,
5383
5292
  blogFilterConfig,
5384
5293
  buildAnchorProps,
5294
+ buildAskPromptsUrl,
5385
5295
  buildAutoContinuationDirective,
5386
5296
  buildCaptionsUrl,
5387
5297
  buildChatAttachmentViewUrl,
@@ -5587,6 +5497,8 @@ export {
5587
5497
  toggleVariants,
5588
5498
  upsertTrailingCompaction,
5589
5499
  useAppLayoutDrawerContainer,
5500
+ useAskPrompts,
5501
+ useAssistantOpen,
5590
5502
  useAuth,
5591
5503
  useBetweenAnchors,
5592
5504
  useBoardCollapse,
@@ -5641,6 +5553,8 @@ export {
5641
5553
  useScrollFade,
5642
5554
  useScrollSpy,
5643
5555
  useSectionNavigation,
5556
+ useShownAskPromptIds,
5557
+ useShownAskPrompts,
5644
5558
  useSlashCommandRegistry,
5645
5559
  useSlashCommands,
5646
5560
  useSortableItem,