@flamingo-stack/openframe-frontend-core 0.0.295 → 0.0.296-snapshot.20260621021605

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 (291) hide show
  1. package/README.md +9 -0
  2. package/dist/{chunk-7RIYT7ZH.js → chunk-2QG57XOJ.js} +1067 -205
  3. package/dist/chunk-2QG57XOJ.js.map +1 -0
  4. package/dist/{chunk-7KXD7CWD.js → chunk-3JIQVE7T.js} +9 -15
  5. package/dist/{chunk-7KXD7CWD.js.map → chunk-3JIQVE7T.js.map} +1 -1
  6. package/dist/{chunk-FT4FCV7L.cjs → chunk-4PSQS3SW.cjs} +7 -9
  7. package/dist/chunk-4PSQS3SW.cjs.map +1 -0
  8. package/dist/{chunk-OOKKGOPQ.js → chunk-4TLE6VLU.js} +30 -24
  9. package/dist/chunk-4TLE6VLU.js.map +1 -0
  10. package/dist/{chunk-6IBA2MQV.cjs → chunk-53FUMSZ5.cjs} +40 -46
  11. package/dist/chunk-53FUMSZ5.cjs.map +1 -0
  12. package/dist/{chunk-D3LEFMOA.cjs → chunk-54KNMC2R.cjs} +3 -3
  13. package/dist/{chunk-D3LEFMOA.cjs.map → chunk-54KNMC2R.cjs.map} +1 -1
  14. package/dist/{chunk-EYEW6PTA.cjs → chunk-6C526VNN.cjs} +358 -118
  15. package/dist/chunk-6C526VNN.cjs.map +1 -0
  16. package/dist/{chunk-5O6N3BKR.cjs → chunk-7OVGB2DQ.cjs} +19 -25
  17. package/dist/chunk-7OVGB2DQ.cjs.map +1 -0
  18. package/dist/{chunk-6GCI7JOE.js → chunk-AD6C23QY.js} +8 -7
  19. package/dist/{chunk-6GCI7JOE.js.map → chunk-AD6C23QY.js.map} +1 -1
  20. package/dist/chunk-F5OB2YAL.cjs +144 -0
  21. package/dist/chunk-F5OB2YAL.cjs.map +1 -0
  22. package/dist/chunk-FBWXMMRB.cjs +2 -0
  23. package/dist/chunk-FBWXMMRB.cjs.map +1 -0
  24. package/dist/{chunk-YIGPRLQY.cjs → chunk-FCDQNTDG.cjs} +21 -20
  25. package/dist/chunk-FCDQNTDG.cjs.map +1 -0
  26. package/dist/{chunk-XXI7BNB6.cjs → chunk-FQOTC3UU.cjs} +321 -18
  27. package/dist/chunk-FQOTC3UU.cjs.map +1 -0
  28. package/dist/{chunk-INDQMNP6.cjs → chunk-GUTS7HGA.cjs} +11658 -2146
  29. package/dist/chunk-GUTS7HGA.cjs.map +1 -0
  30. package/dist/chunk-GZ4C3XW6.js +2 -0
  31. package/dist/chunk-GZ4C3XW6.js.map +1 -0
  32. package/dist/{chunk-HOVJGXF7.js → chunk-IL47XWV5.js} +8 -14
  33. package/dist/{chunk-HOVJGXF7.js.map → chunk-IL47XWV5.js.map} +1 -1
  34. package/dist/{chunk-LCNMR277.js → chunk-IZ7JSBFP.js} +1 -1
  35. package/dist/chunk-IZ7JSBFP.js.map +1 -0
  36. package/dist/{chunk-5IJ46KAV.js → chunk-JALO4TAZ.js} +360 -57
  37. package/dist/chunk-JALO4TAZ.js.map +1 -0
  38. package/dist/{chunk-AQOWFSMB.cjs → chunk-L6PSSIUQ.cjs} +1 -1
  39. package/dist/chunk-L6PSSIUQ.cjs.map +1 -0
  40. package/dist/{chunk-J3RDKZ32.js → chunk-L7ULJKG7.js} +6 -10
  41. package/dist/{chunk-J3RDKZ32.js.map → chunk-L7ULJKG7.js.map} +1 -1
  42. package/dist/{chunk-6BZEAPNT.js → chunk-PC746XCO.js} +15120 -5608
  43. package/dist/chunk-PC746XCO.js.map +1 -0
  44. package/dist/{chunk-3ZXUQQL4.js → chunk-PI4WSYQV.js} +2 -2
  45. package/dist/{chunk-E4XABBSU.js → chunk-PWQUAVA3.js} +338 -98
  46. package/dist/chunk-PWQUAVA3.js.map +1 -0
  47. package/dist/chunk-SA2WPJVO.js +144 -0
  48. package/dist/chunk-SA2WPJVO.js.map +1 -0
  49. package/dist/{chunk-ETACGX2A.cjs → chunk-UNVE2SDJ.cjs} +37 -31
  50. package/dist/chunk-UNVE2SDJ.cjs.map +1 -0
  51. package/dist/{chunk-5E2HOSSH.cjs → chunk-WMSTJAZT.cjs} +913 -51
  52. package/dist/chunk-WMSTJAZT.cjs.map +1 -0
  53. package/dist/{chunk-EJXHZX2E.js → chunk-X4DOXQRT.js} +4 -6
  54. package/dist/{chunk-EJXHZX2E.js.map → chunk-X4DOXQRT.js.map} +1 -1
  55. package/dist/{chunk-A2YL7QRX.cjs → chunk-YBYI62OE.cjs} +33 -37
  56. package/dist/chunk-YBYI62OE.cjs.map +1 -0
  57. package/dist/components/case-studies/index.cjs +126 -0
  58. package/dist/components/case-studies/index.cjs.map +1 -0
  59. package/dist/components/case-studies/index.d.ts +2 -0
  60. package/dist/components/case-studies/index.d.ts.map +1 -0
  61. package/dist/components/case-studies/index.js +126 -0
  62. package/dist/components/case-studies/index.js.map +1 -0
  63. package/dist/components/case-studies/share-experience-section.d.ts +48 -0
  64. package/dist/components/case-studies/share-experience-section.d.ts.map +1 -0
  65. package/dist/components/chat/chat-container.d.ts.map +1 -1
  66. package/dist/components/chat/error-message-display.d.ts.map +1 -1
  67. package/dist/components/chat/index.cjs +8 -18
  68. package/dist/components/chat/index.cjs.map +1 -1
  69. package/dist/components/chat/index.js +75 -85
  70. package/dist/components/chat/types/component.types.d.ts +2 -0
  71. package/dist/components/chat/types/component.types.d.ts.map +1 -1
  72. package/dist/components/contact/index.cjs +8 -15
  73. package/dist/components/contact/index.cjs.map +1 -1
  74. package/dist/components/contact/index.js +7 -14
  75. package/dist/components/docs/doc-viewer.d.ts +39 -2
  76. package/dist/components/docs/doc-viewer.d.ts.map +1 -1
  77. package/dist/components/docs/docs-hub-page.d.ts +46 -0
  78. package/dist/components/docs/docs-hub-page.d.ts.map +1 -0
  79. package/dist/components/docs/index.cjs +17 -9
  80. package/dist/components/docs/index.cjs.map +1 -1
  81. package/dist/components/docs/index.d.ts +4 -0
  82. package/dist/components/docs/index.d.ts.map +1 -1
  83. package/dist/components/docs/index.js +16 -8
  84. package/dist/components/docs/skeletons.d.ts +32 -0
  85. package/dist/components/docs/skeletons.d.ts.map +1 -0
  86. package/dist/components/docs/use-docs-resolve-link.d.ts +20 -0
  87. package/dist/components/docs/use-docs-resolve-link.d.ts.map +1 -0
  88. package/dist/components/docs/use-document-tree.d.ts.map +1 -1
  89. package/dist/components/embeds/embed-container.d.ts +37 -0
  90. package/dist/components/embeds/embed-container.d.ts.map +1 -0
  91. package/dist/components/embeds/embed-iframe.d.ts.map +1 -1
  92. package/dist/components/embeds/file-download-card.d.ts +18 -0
  93. package/dist/components/embeds/file-download-card.d.ts.map +1 -0
  94. package/dist/components/embeds/index.cjs +38 -15
  95. package/dist/components/embeds/index.cjs.map +1 -1
  96. package/dist/components/embeds/index.d.ts +8 -0
  97. package/dist/components/embeds/index.d.ts.map +1 -1
  98. package/dist/components/embeds/index.js +40 -17
  99. package/dist/components/embeds/linkedin-embed-client.d.ts +8 -0
  100. package/dist/components/embeds/linkedin-embed-client.d.ts.map +1 -0
  101. package/dist/components/embeds/markdown-image.d.ts +5 -0
  102. package/dist/components/embeds/markdown-image.d.ts.map +1 -0
  103. package/dist/components/embeds/reddit-embed-client.d.ts +7 -0
  104. package/dist/components/embeds/reddit-embed-client.d.ts.map +1 -0
  105. package/dist/components/embeds/rich-markdown-runtime.d.ts +46 -0
  106. package/dist/components/embeds/rich-markdown-runtime.d.ts.map +1 -0
  107. package/dist/components/embeds/twitter-embed-client.d.ts +8 -0
  108. package/dist/components/embeds/twitter-embed-client.d.ts.map +1 -0
  109. package/dist/components/faq/index.cjs +9 -16
  110. package/dist/components/faq/index.cjs.map +1 -1
  111. package/dist/components/faq/index.js +8 -15
  112. package/dist/components/features/index.cjs +8 -16
  113. package/dist/components/features/index.cjs.map +1 -1
  114. package/dist/components/features/index.js +24 -32
  115. package/dist/components/features/notifications/notification-drawer.d.ts.map +1 -1
  116. package/dist/components/features/notifications/notifications-context.d.ts +5 -1
  117. package/dist/components/features/notifications/notifications-context.d.ts.map +1 -1
  118. package/dist/components/index.cjs +257 -452
  119. package/dist/components/index.cjs.map +1 -1
  120. package/dist/components/index.js +781 -976
  121. package/dist/components/index.js.map +1 -1
  122. package/dist/components/layout/page-header.d.ts +78 -0
  123. package/dist/components/layout/page-header.d.ts.map +1 -0
  124. package/dist/components/layout/page-layout.d.ts +10 -1
  125. package/dist/components/layout/page-layout.d.ts.map +1 -1
  126. package/dist/components/layout/page-with-header.d.ts +67 -0
  127. package/dist/components/layout/page-with-header.d.ts.map +1 -0
  128. package/dist/components/layout/title-block.d.ts +17 -1
  129. package/dist/components/layout/title-block.d.ts.map +1 -1
  130. package/dist/components/navigation/index.cjs +7 -15
  131. package/dist/components/navigation/index.cjs.map +1 -1
  132. package/dist/components/navigation/index.js +9 -17
  133. package/dist/components/onboarding-guides/index.cjs +35 -36
  134. package/dist/components/onboarding-guides/index.cjs.map +1 -1
  135. package/dist/components/onboarding-guides/index.js +13 -14
  136. package/dist/components/onboarding-guides/index.js.map +1 -1
  137. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts +1 -1
  138. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts.map +1 -1
  139. package/dist/components/related-content/index.cjs +9 -16
  140. package/dist/components/related-content/index.cjs.map +1 -1
  141. package/dist/components/related-content/index.js +8 -15
  142. package/dist/components/shared/dev-section/dev-section-page.d.ts +9 -0
  143. package/dist/components/shared/dev-section/dev-section-page.d.ts.map +1 -1
  144. package/dist/components/shared/dev-section/dev-section-view.d.ts.map +1 -1
  145. package/dist/components/shared/dev-section/index.d.ts +1 -1
  146. package/dist/components/shared/dev-section/index.d.ts.map +1 -1
  147. package/dist/components/shared/doc-search/use-doc-search.d.ts.map +1 -1
  148. package/dist/components/shared/legal-document/legal-document-page.d.ts.map +1 -1
  149. package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
  150. package/dist/components/tickets/index.cjs +100 -112
  151. package/dist/components/tickets/index.cjs.map +1 -1
  152. package/dist/components/tickets/index.js +20 -32
  153. package/dist/components/tickets/index.js.map +1 -1
  154. package/dist/components/ui/button/split-button.d.ts.map +1 -1
  155. package/dist/components/ui/file-manager/index.cjs +50 -52
  156. package/dist/components/ui/file-manager/index.cjs.map +1 -1
  157. package/dist/components/ui/file-manager/index.js +4 -6
  158. package/dist/components/ui/file-manager/index.js.map +1 -1
  159. package/dist/components/ui/index.cjs +13 -19
  160. package/dist/components/ui/index.cjs.map +1 -1
  161. package/dist/components/ui/index.d.ts +2 -0
  162. package/dist/components/ui/index.d.ts.map +1 -1
  163. package/dist/components/ui/index.js +133 -139
  164. package/dist/components/ui/release-changelog-section.d.ts +6 -2
  165. package/dist/components/ui/release-changelog-section.d.ts.map +1 -1
  166. package/dist/components/ui/rich-markdown-renderer.d.ts +34 -0
  167. package/dist/components/ui/rich-markdown-renderer.d.ts.map +1 -0
  168. package/dist/components/ui/simple-markdown-renderer.d.ts +2 -8
  169. package/dist/components/ui/simple-markdown-renderer.d.ts.map +1 -1
  170. package/dist/contexts/chat-runtime-context.d.ts +14 -0
  171. package/dist/contexts/chat-runtime-context.d.ts.map +1 -1
  172. package/dist/contexts/index.cjs +3 -3
  173. package/dist/contexts/index.js +5 -5
  174. package/dist/embed-shims/index.cjs +3 -3
  175. package/dist/embed-shims/index.cjs.map +1 -1
  176. package/dist/embed-shims/index.js +4 -4
  177. package/dist/hooks/index.cjs +4 -9
  178. package/dist/hooks/index.cjs.map +1 -1
  179. package/dist/hooks/index.js +6 -11
  180. package/dist/index.cjs +14 -20
  181. package/dist/index.cjs.map +1 -1
  182. package/dist/index.js +362 -368
  183. package/dist/types/doc-source.d.ts +31 -1
  184. package/dist/types/doc-source.d.ts.map +1 -1
  185. package/dist/utils/index.cjs +4 -0
  186. package/dist/utils/index.cjs.map +1 -1
  187. package/dist/utils/index.d.ts +1 -0
  188. package/dist/utils/index.d.ts.map +1 -1
  189. package/dist/utils/index.js +4 -1
  190. package/dist/utils/index.js.map +1 -1
  191. package/dist/utils/page-header-constants.d.ts +15 -0
  192. package/dist/utils/page-header-constants.d.ts.map +1 -0
  193. package/dist/utils/social-embed-cache.d.ts +29 -0
  194. package/dist/utils/social-embed-cache.d.ts.map +1 -0
  195. package/package.json +7 -1
  196. package/src/components/case-studies/index.ts +4 -0
  197. package/src/components/case-studies/share-experience-section.tsx +185 -0
  198. package/src/components/chat/chat-container.tsx +5 -7
  199. package/src/components/chat/embeddable-chat.tsx +1 -1
  200. package/src/components/chat/error-message-display.tsx +49 -31
  201. package/src/components/chat/types/component.types.ts +2 -0
  202. package/src/components/docs/doc-viewer.tsx +111 -19
  203. package/src/components/docs/docs-hub-page.tsx +149 -0
  204. package/src/components/docs/index.ts +17 -0
  205. package/src/components/docs/skeletons.tsx +138 -0
  206. package/src/components/docs/use-docs-resolve-link.ts +52 -0
  207. package/src/components/docs/use-document-tree.ts +21 -0
  208. package/src/components/embeds/embed-container.tsx +80 -0
  209. package/src/components/embeds/embed-iframe.tsx +7 -9
  210. package/src/components/embeds/file-download-card.tsx +54 -0
  211. package/src/components/embeds/index.ts +30 -0
  212. package/src/components/embeds/linkedin-embed-client.tsx +100 -0
  213. package/src/components/embeds/markdown-image.tsx +88 -0
  214. package/src/components/embeds/og-link-preview.tsx +13 -13
  215. package/src/components/embeds/reddit-embed-client.tsx +550 -0
  216. package/src/components/embeds/rich-markdown-runtime.tsx +79 -0
  217. package/src/components/embeds/twitter-embed-client.tsx +308 -0
  218. package/src/components/features/notifications/notification-drawer.tsx +18 -7
  219. package/src/components/features/notifications/notifications-context.tsx +7 -0
  220. package/src/components/layout/page-header.tsx +182 -0
  221. package/src/components/layout/page-layout.tsx +14 -1
  222. package/src/components/layout/page-with-header.tsx +110 -0
  223. package/src/components/layout/title-block.tsx +40 -62
  224. package/src/components/onboarding-guides/onboarding-guide-detail-view.tsx +3 -3
  225. package/src/components/shared/dev-section/dev-section-page.tsx +9 -1
  226. package/src/components/shared/dev-section/dev-section-view.tsx +14 -9
  227. package/src/components/shared/dev-section/index.ts +1 -1
  228. package/src/components/shared/doc-search/use-doc-search.ts +7 -3
  229. package/src/components/shared/legal-document/legal-document-page.tsx +2 -2
  230. package/src/components/shared/product-release/release-detail-page.tsx +6 -4
  231. package/src/components/ui/button/split-button.tsx +5 -2
  232. package/src/components/ui/index.ts +2 -0
  233. package/src/components/ui/release-changelog-section.tsx +7 -2
  234. package/src/components/ui/rich-markdown-renderer.tsx +1203 -0
  235. package/src/components/ui/simple-markdown-renderer.tsx +7 -11
  236. package/src/contexts/chat-runtime-context.tsx +14 -0
  237. package/src/stories/NotificationDrawer.stories.tsx +2 -0
  238. package/src/types/doc-source.ts +33 -1
  239. package/src/utils/index.ts +1 -0
  240. package/src/utils/page-header-constants.ts +15 -0
  241. package/src/utils/social-embed-cache.ts +391 -0
  242. package/dist/chunk-26PKDALD.js +0 -2379
  243. package/dist/chunk-26PKDALD.js.map +0 -1
  244. package/dist/chunk-3MCHAFHB.js +0 -89
  245. package/dist/chunk-3MCHAFHB.js.map +0 -1
  246. package/dist/chunk-3XIB4VKS.cjs +0 -619
  247. package/dist/chunk-3XIB4VKS.cjs.map +0 -1
  248. package/dist/chunk-4W7NYJ3B.cjs +0 -3009
  249. package/dist/chunk-4W7NYJ3B.cjs.map +0 -1
  250. package/dist/chunk-5E2HOSSH.cjs.map +0 -1
  251. package/dist/chunk-5IJ46KAV.js.map +0 -1
  252. package/dist/chunk-5O6N3BKR.cjs.map +0 -1
  253. package/dist/chunk-6BZEAPNT.js.map +0 -1
  254. package/dist/chunk-6IBA2MQV.cjs.map +0 -1
  255. package/dist/chunk-6JINAOI7.cjs +0 -311
  256. package/dist/chunk-6JINAOI7.cjs.map +0 -1
  257. package/dist/chunk-7RIYT7ZH.js.map +0 -1
  258. package/dist/chunk-A2YL7QRX.cjs.map +0 -1
  259. package/dist/chunk-AQOWFSMB.cjs.map +0 -1
  260. package/dist/chunk-E4XABBSU.js.map +0 -1
  261. package/dist/chunk-ETACGX2A.cjs.map +0 -1
  262. package/dist/chunk-EYEW6PTA.cjs.map +0 -1
  263. package/dist/chunk-FQJK446R.js +0 -1606
  264. package/dist/chunk-FQJK446R.js.map +0 -1
  265. package/dist/chunk-FT4FCV7L.cjs.map +0 -1
  266. package/dist/chunk-INDQMNP6.cjs.map +0 -1
  267. package/dist/chunk-J54Z3OCR.cjs +0 -1606
  268. package/dist/chunk-J54Z3OCR.cjs.map +0 -1
  269. package/dist/chunk-KXCRGTRN.cjs +0 -2379
  270. package/dist/chunk-KXCRGTRN.cjs.map +0 -1
  271. package/dist/chunk-LCNMR277.js.map +0 -1
  272. package/dist/chunk-LFGGF7OT.cjs +0 -449
  273. package/dist/chunk-LFGGF7OT.cjs.map +0 -1
  274. package/dist/chunk-M2OCXTNT.js +0 -311
  275. package/dist/chunk-M2OCXTNT.js.map +0 -1
  276. package/dist/chunk-NSPOYUBH.js +0 -3009
  277. package/dist/chunk-NSPOYUBH.js.map +0 -1
  278. package/dist/chunk-OOKKGOPQ.js.map +0 -1
  279. package/dist/chunk-OQ6X7ZOC.js +0 -449
  280. package/dist/chunk-OQ6X7ZOC.js.map +0 -1
  281. package/dist/chunk-POKKCWKF.js +0 -354
  282. package/dist/chunk-POKKCWKF.js.map +0 -1
  283. package/dist/chunk-TFSYSWPS.cjs +0 -89
  284. package/dist/chunk-TFSYSWPS.cjs.map +0 -1
  285. package/dist/chunk-XXI7BNB6.cjs.map +0 -1
  286. package/dist/chunk-YD43AKI5.js +0 -619
  287. package/dist/chunk-YD43AKI5.js.map +0 -1
  288. package/dist/chunk-YETA25JW.cjs +0 -354
  289. package/dist/chunk-YETA25JW.cjs.map +0 -1
  290. package/dist/chunk-YIGPRLQY.cjs.map +0 -1
  291. /package/dist/{chunk-3ZXUQQL4.js.map → chunk-PI4WSYQV.js.map} +0 -0
@@ -10,8 +10,11 @@ import {
10
10
  CategorySidebarSkeleton,
11
11
  DocNavigationProvider,
12
12
  DocViewer,
13
+ DocsHubPage,
14
+ EmbedSkeleton,
13
15
  HeroSkeleton,
14
16
  InteractiveSkeleton,
17
+ MarkdownSkeleton,
15
18
  MediaSkeleton,
16
19
  PersistentFilterControls,
17
20
  PersistentMobileDropdown,
@@ -29,24 +32,22 @@ import {
29
32
  useDocNavigation,
30
33
  useDocumentTree,
31
34
  useScrollSpy
32
- } from "../chunk-E4XABBSU.js";
35
+ } from "../chunk-PWQUAVA3.js";
36
+ import "../chunk-GZ4C3XW6.js";
33
37
  import {
34
- EmbedIframe,
35
- FigmaEmbed,
38
+ FileDownloadCard,
36
39
  GoogleSheetsViewer,
37
- OGLinkErrorBoundary,
38
- OGLinkPreview,
39
40
  PdfViewer
40
- } from "../chunk-YD43AKI5.js";
41
+ } from "../chunk-SA2WPJVO.js";
41
42
  import {
42
43
  FaqAccordion,
43
44
  FaqDocumentPage,
44
45
  FaqSection
45
- } from "../chunk-HOVJGXF7.js";
46
+ } from "../chunk-IL47XWV5.js";
46
47
  import {
47
48
  GROUP_PAGE_SIZE,
48
49
  RelatedContentSection
49
- } from "../chunk-7KXD7CWD.js";
50
+ } from "../chunk-3JIQVE7T.js";
50
51
  import {
51
52
  DeliveryRow,
52
53
  DevCardRowContent,
@@ -58,11 +59,11 @@ import {
58
59
  UnifiedPagination,
59
60
  init_unified_pagination,
60
61
  unified_pagination_exports
61
- } from "../chunk-OOKKGOPQ.js";
62
+ } from "../chunk-4TLE6VLU.js";
62
63
  import {
63
64
  ArticleAuthorByline,
64
65
  DetailPageSkeleton
65
- } from "../chunk-EJXHZX2E.js";
66
+ } from "../chunk-X4DOXQRT.js";
66
67
  import {
67
68
  DocSearchBar,
68
69
  DocSearchResultRow,
@@ -70,10 +71,10 @@ import {
70
71
  mapDocSearchResults,
71
72
  resolveSearchResultAction,
72
73
  useDocSearch
73
- } from "../chunk-6GCI7JOE.js";
74
+ } from "../chunk-AD6C23QY.js";
74
75
  import {
75
76
  useSelfFetch
76
- } from "../chunk-3ZXUQQL4.js";
77
+ } from "../chunk-PI4WSYQV.js";
77
78
  import "../chunk-4XLJWX2N.js";
78
79
  import {
79
80
  ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE,
@@ -82,13 +83,17 @@ import {
82
83
  AIRequiredBadge,
83
84
  AIStatusIndicator,
84
85
  AIWarningsSection,
86
+ ANTHROPIC_SUPPORTED_IMAGE_MIME,
85
87
  APPROVAL_STATUS,
86
88
  ASSISTANT_TYPE,
87
89
  AUTHOR_TYPE,
90
+ AUTO_CONTINUATION_DIRECTIVE_PREFIX,
88
91
  Accordion,
89
92
  AccordionContent,
90
93
  AccordionItem,
91
94
  AccordionTrigger,
95
+ ActionsMenu,
96
+ ActionsMenuDropdown,
92
97
  AdminContentCard,
93
98
  Alert,
94
99
  AlertDescription,
@@ -122,6 +127,7 @@ import {
122
127
  ArchiveChatModal,
123
128
  ArgRow,
124
129
  ArrayEntryManager,
130
+ ArticleDetailLayout,
125
131
  AspectRatio,
126
132
  AssigneeDropdown,
127
133
  AuthProvidersList,
@@ -132,6 +138,7 @@ import {
132
138
  BlockCard,
133
139
  BlogCard,
134
140
  BlogCardSkeleton,
141
+ BlogImagePlaceholder,
135
142
  Board,
136
143
  BoardColumn,
137
144
  BoardColumnHeader,
@@ -147,10 +154,28 @@ import {
147
154
  BreadcrumbSeparator,
148
155
  BulletList,
149
156
  CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER,
157
+ CHAT_ATTACHMENT_MARKDOWN_PATTERN,
150
158
  CHAT_ATTACHMENT_MIME_TYPES,
159
+ CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM,
160
+ CHAT_ATTACHMENT_VIEW_URL_PREFIX,
161
+ CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED,
151
162
  CHAT_CONTEXT_ITEMS_DEFAULT_MAX,
152
163
  CHAT_TYPE,
153
164
  CHIP_ACTION_BUTTON_CLASS,
165
+ COMPACT_CARD_ICON_SLOT,
166
+ COMPACT_CARD_IMAGE_SLOT,
167
+ COMPACT_CARD_META_ROW,
168
+ COMPACT_CARD_META_ROW_BOX,
169
+ COMPACT_CARD_OUTER,
170
+ COMPACT_CARD_OUTER_STATIC,
171
+ COMPACT_CARD_ROW_FILLER,
172
+ COMPACT_CARD_SKELETON_IMAGE_SLOT,
173
+ COMPACT_CARD_SKELETON_OUTER,
174
+ COMPACT_CARD_SUBTITLE,
175
+ COMPACT_CARD_SUMMARY,
176
+ COMPACT_CARD_TEXT_COL,
177
+ COMPACT_CARD_TITLE,
178
+ COMPACT_CARD_TITLE_ROW,
154
179
  COMPACT_HEADER_BUTTON,
155
180
  CONNECTION_STATUS,
156
181
  CONTEXT_BACK_CLASS,
@@ -158,10 +183,18 @@ import {
158
183
  CONTEXT_LABEL_CLASS,
159
184
  CONTEXT_ROW_CLASS,
160
185
  CONTEXT_STATE_CLASS,
186
+ CUSTOM_ITEM_ID,
161
187
  CUSTOM_PRESET_KEY,
162
188
  CampaignCardAdmin,
163
189
  CampaignCardAdminSkeleton,
190
+ Card,
191
+ CardContent,
192
+ CardDescription,
193
+ CardFooter,
194
+ CardHeader,
195
+ CardHorizontal,
164
196
  CardLoader,
197
+ CardTitle,
165
198
  CaseStudyCard,
166
199
  CaseStudyCardSkeleton,
167
200
  ChangelogManager,
@@ -223,7 +256,9 @@ import {
223
256
  CustomerInterviewCardSkeleton,
224
257
  CveLink,
225
258
  DEFAULT_CUSTOM_STATUS_COLOR,
259
+ DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID,
226
260
  DEFAULT_THEME,
261
+ DEV_SECTION_PARAM_KEYS,
227
262
  DashboardInfoCard,
228
263
  DataRoomDocCard,
229
264
  DataRoomDocCardSkeleton,
@@ -268,19 +303,32 @@ import {
268
303
  DrawerTrigger,
269
304
  DropdownButton,
270
305
  DynamicThemeProvider,
306
+ EMBED_SIZES,
307
+ EMPTY_AUTHOR_PLACEHOLDER,
308
+ EmbedContainer,
309
+ EmbedIframe,
271
310
  EmbeddableChat,
311
+ EntityAuthorCard,
312
+ EntityImage,
313
+ EntityMetadataAuthorCell,
314
+ EntityMetadataValueCell,
272
315
  EntitySummaryEditor,
316
+ EntityTagBadges,
317
+ EntityVideoSection,
273
318
  ErrorBoundary,
274
319
  ErrorMessageDisplay,
320
+ ErrorState,
275
321
  ExpandChevron,
276
322
  FeatureCardGrid,
277
323
  FeatureList,
324
+ FigmaEmbed,
278
325
  FigmaPrototypeViewer,
279
326
  FileUpload,
280
327
  FilterCheckboxItem,
281
328
  FilterList,
282
329
  FilterListItem,
283
330
  FilterModal,
331
+ FilterPillRow,
284
332
  FiltersDropdown,
285
333
  FlamingoLogo as FlamingoLogo2,
286
334
  FloatingTooltip,
@@ -299,6 +347,7 @@ import {
299
347
  HeaderMingoButton,
300
348
  HeaderOrganizationFilter,
301
349
  HeaderSkeleton,
350
+ HiddenTagsPopup,
302
351
  HighlightCard,
303
352
  HighlightCardGrid,
304
353
  HighlightConfigSection,
@@ -313,6 +362,7 @@ import {
313
362
  HoverDropdown,
314
363
  HubspotTicketCard,
315
364
  HubspotTicketCardSkeleton,
365
+ ICON_REGISTRY,
316
366
  IconsBlock,
317
367
  ImageGalleryModal,
318
368
  ImageUploader,
@@ -324,12 +374,21 @@ import {
324
374
  InvestorUpdateCardSkeleton,
325
375
  KnowledgeBaseLinksManager,
326
376
  Label,
377
+ LinkPreviewContainer,
378
+ LinkedInContainer,
379
+ LinkedInEmbedClient,
327
380
  ListLoader,
328
381
  ListPageContainer,
329
382
  ListPageLayout,
383
+ LoadError,
330
384
  LoadingProvider,
331
385
  MESSAGE_ROLE,
386
+ MESSAGE_TYPE,
387
+ MUX_IMAGE_ORIGIN,
388
+ MUX_STREAM_ORIGIN,
332
389
  MarkdownEditor,
390
+ MarkdownImage,
391
+ MediaCarousel,
333
392
  MediaGalleryManager,
334
393
  MediaTypeSelector,
335
394
  MemoizedChatMessageEnhanced,
@@ -359,6 +418,7 @@ import {
359
418
  MinusIcon,
360
419
  MobileBurgerMenu,
361
420
  MobileNavPanel,
421
+ MobileNavigationDropdown,
362
422
  Modal,
363
423
  Modal2,
364
424
  ModalContent,
@@ -373,7 +433,9 @@ import {
373
433
  ModelDisplaySkeleton,
374
434
  MoreAboutButton,
375
435
  MoreActionsMenu,
436
+ MultiLevelNavigation,
376
437
  NETWORK_CONFIG,
438
+ NEW_TAB_FEATURES,
377
439
  NavLinkAnchorViaRuntime,
378
440
  NavigationMenu,
379
441
  NavigationMenuContent,
@@ -388,10 +450,13 @@ import {
388
450
  NoDataAction,
389
451
  NoDataActions,
390
452
  NoDataMessage,
453
+ NotFoundError,
391
454
  NotificationDrawer,
392
455
  NotificationPopups,
393
456
  NotificationTile,
394
457
  NotificationsProvider,
458
+ OGLinkErrorBoundary,
459
+ OGLinkPreview,
395
460
  ONBOARDING_ICONS,
396
461
  ONBOARDING_ICON_OPTIONS,
397
462
  OPENFRAME_PATHS,
@@ -400,12 +465,22 @@ import {
400
465
  OSTypeIcon,
401
466
  OSTypeLabel,
402
467
  OWNER_TYPE,
468
+ OnboardingGuideCard,
469
+ OnboardingGuideCardSkeleton,
403
470
  OnboardingStepCard,
404
471
  OnboardingWalkthrough,
405
472
  OpenmspLogo as OpenmspLogo2,
406
473
  OrganizationCard,
474
+ PAGE_HEADING_CLASS,
475
+ PageActions,
407
476
  PageContainer,
477
+ PageError,
478
+ PageHeader,
479
+ PageHeading,
480
+ PageLayout,
408
481
  PageLoader,
482
+ PageShell,
483
+ PageWithHeader,
409
484
  Pagination,
410
485
  PaginationContent,
411
486
  PaginationEllipsis,
@@ -431,22 +506,36 @@ import {
431
506
  QueryReportTableHeader,
432
507
  QueryReportTableRow,
433
508
  QueryReportTableSkeleton,
509
+ RATIO_DISPLAY_GRID_CLASS,
510
+ RATIO_GRID_CLASS,
434
511
  ROW_HEIGHT_DESKTOP,
435
512
  ROW_HEIGHT_MOBILE,
436
513
  RadioGroup,
437
514
  RadioGroupBlock,
438
515
  RadioGroupItem,
516
+ RatioTabs,
517
+ RedditContainer,
518
+ RedditEmbedClient,
439
519
  ReleaseChangelogSection,
440
520
  ReleaseMediaManager,
441
521
  RenameChatModal,
442
522
  ResultBlock,
523
+ RichMarkdownRenderer,
524
+ RichMarkdownRuntimeProvider,
443
525
  RoadmapCard,
444
526
  RoadmapCardSkeleton,
445
527
  RoadmapVoteButton,
528
+ SCROLL_ANCHOR,
529
+ SCROLL_ANCHOR_WIRE_KEY,
530
+ SECTION_HEADING_CLASS,
531
+ SECTION_HERO_ICON_CLASS,
446
532
  SEOEditorPreview,
533
+ SOURCE_ICON_NAMES,
534
+ SOURCE_LABELS_BY_TABLE,
447
535
  SYNTHETIC_REALTIME_ID_PREFIXES,
448
536
  ScriptArguments,
449
537
  ScriptInfoSection,
538
+ SearchInput,
450
539
  SectionSelector,
451
540
  Select,
452
541
  SelectButton,
@@ -472,6 +561,7 @@ import {
472
561
  SheetTitle,
473
562
  SheetTrigger,
474
563
  ShellTypeBadge,
564
+ SimpleMarkdownRenderer,
475
565
  SlackMessageCard,
476
566
  SlackMessageCardSkeleton,
477
567
  SlashCommandSuggestions,
@@ -481,10 +571,14 @@ import {
481
571
  SoftwareInfo,
482
572
  SoftwareSourceBadge,
483
573
  SourceActionButton,
574
+ SquareAvatar,
484
575
  StartWithOpenFrameButton,
576
+ StatusBadge,
485
577
  StatusFilterComponent,
486
578
  StatusIndicator,
579
+ StickySectionNav,
487
580
  Switch,
581
+ TAG_BADGE_CLASS,
488
582
  THEME_ATTRIBUTE,
489
583
  THEME_STORAGE_KEY,
490
584
  TICKET_STATUS_COLOR_PRESETS,
@@ -499,6 +593,11 @@ import {
499
593
  TableHeader,
500
594
  TableRow,
501
595
  TableTimestampCell,
596
+ Tabs,
597
+ TabsContent,
598
+ TabsList,
599
+ TabsTrigger,
600
+ Tag,
502
601
  TagKeyValueFilter,
503
602
  TagSearchInput,
504
603
  TagsInput,
@@ -521,6 +620,7 @@ import {
521
620
  TimeTrackerHeaderButton,
522
621
  TimeTrackerPanel,
523
622
  TimeTrackerProvider,
623
+ TitleBlock,
524
624
  TitleContentBlock,
525
625
  Toggle,
526
626
  ToggleGroup,
@@ -535,7 +635,12 @@ import {
535
635
  TranscribeSummarizeSection,
536
636
  TranscriptSummaryEditor,
537
637
  TruncateText,
638
+ TwitterContainer,
639
+ TwitterEmbedClient,
538
640
  UnarchiveChatModal,
641
+ Video,
642
+ VideoBiteCard,
643
+ VideoBitesDisplay,
539
644
  VideoClipsSection,
540
645
  VideoSourceSelector,
541
646
  ViewToggle,
@@ -544,73 +649,120 @@ import {
544
649
  WhatIShippedCardSkeleton,
545
650
  XCircleIcon,
546
651
  XIcon as XIcon2,
652
+ YouTubeContainer,
547
653
  alignJustify,
548
654
  approvalMetaToBatchData,
549
655
  badgeVariants,
656
+ buildAnchorProps,
657
+ buildAutoContinuationDirective,
658
+ buildChatAttachmentViewUrl,
550
659
  buildChatRefKey,
660
+ buildDiscussAddendum,
551
661
  buildNatsWsUrl,
552
662
  buildProductReleaseCardProps,
553
663
  chatChipClass,
664
+ clickupTaskUrl,
554
665
  columnFromTicketStatus,
555
666
  computeHistoryPrepend,
667
+ computeIsNewTab,
556
668
  createColumnHelper,
557
669
  createMessageSegmentAccumulator,
670
+ decideNewTab,
558
671
  defaultBuildProductReleaseCardProps,
672
+ defaultTableIdForDocumentType,
559
673
  deriveColumns,
674
+ detectAspectRatio,
675
+ devSectionAnchorId,
676
+ escapeMarkdownInline,
560
677
  executeNavigation,
561
678
  executeNavigationImperative,
562
679
  exportToCSV,
680
+ extractEntityIdFilter,
563
681
  extractErrorMessages,
564
682
  extractIncompleteMessageState,
565
683
  extractTextFromChunk,
684
+ extractYouTubeId,
566
685
  fetchEmptyStateConfig,
567
686
  fetchSlashCommands,
687
+ flattenAssistantContent,
568
688
  flattenMessagePagesChronological,
569
689
  flexRender,
690
+ formatBioText,
691
+ formatChatAttachmentMarkdownForBubble,
570
692
  formatInvestorUpdatePeriod,
693
+ formatLegalDate,
694
+ formatRelativeTime,
695
+ formatReleaseDate,
696
+ formatSingularLookupInvocation,
571
697
  getApprovalMeta,
698
+ getCaptionsUrl,
572
699
  getCommandText,
573
700
  getCoreRowModel,
701
+ getDynamicIcon,
574
702
  getExpandedRowModel,
575
703
  getFacetedRowModel,
576
704
  getFacetedUniqueValues,
577
705
  getFilteredRowModel,
578
706
  getGroupedRowModel,
579
707
  getHideClasses,
708
+ getIconComponent,
580
709
  getOpenFramePaths,
581
710
  getPaginationRowModel,
582
- getProxiedImageUrl as getProxiedImageUrl2,
711
+ getProxiedImageUrl,
712
+ getProxiedImageUrl2,
583
713
  getSortedRowModel,
714
+ getSourceIconName,
715
+ getSourceLabel,
716
+ getStatusColorScheme,
584
717
  getTabById,
585
718
  getTabComponent,
719
+ getTaskTypeLabel,
586
720
  getTicketStatusConfig,
587
721
  getTicketStatusTag,
722
+ groupByAspectRatio,
588
723
  groupTicketsByStatus,
589
724
  handleChatNavClick,
590
725
  init_pagination,
591
726
  isApprovalNotification,
592
727
  isControlChunk,
728
+ isCrossOriginUrl,
593
729
  isErrorChunk,
594
730
  isMetadataChunk,
731
+ isModifierClick,
595
732
  isStructuredContent,
596
733
  kindToCanonicalStatus,
597
734
  maxPersistedStreamSeq,
598
735
  mergeHistoryWithRealtime,
599
736
  multiSelectFilterFn,
600
737
  navigationMenuTriggerStyle,
738
+ newTabAnchorAttrs,
601
739
  noDataActionsVariants,
602
740
  noDataIconClasses,
603
741
  normalizeContent,
742
+ normalizeIconKey,
604
743
  parseChunkToAction,
744
+ parseScrollAnchor,
745
+ parseWireCommandOverride,
605
746
  processHistoricalMessages,
606
747
  processHistoricalMessagesWithErrors,
748
+ ratioToCategory,
607
749
  remarkCardLinks,
608
750
  remarkMentionChips,
609
751
  renderChatInlineEntityCard,
610
752
  resolutionToStatus,
753
+ resolveContentHref,
754
+ resolveExternalNavigation,
611
755
  resolveOnboardingIcon,
756
+ resolveSourceIcon,
757
+ resolveSourceRowCTA,
612
758
  resolveStatusTagProps,
613
759
  resolveTicketStatus,
760
+ safeHref,
761
+ sanitizeTitleForChat,
762
+ statusBadgeVariants,
763
+ stripChatAttachmentMarkdown,
764
+ stripSameOriginToPath,
765
+ tagVariants,
614
766
  tintOnDark,
615
767
  toggleVariants,
616
768
  transformEventToProgram,
@@ -630,6 +782,7 @@ import {
630
782
  useDataTableContext,
631
783
  useDynamicTheme,
632
784
  useEmptyStateConfig,
785
+ useEntityCardLink,
633
786
  useFiltersDropdown,
634
787
  useJetStreamDialogSubscription,
635
788
  useLoading,
@@ -638,9 +791,12 @@ import {
638
791
  useNotifications,
639
792
  useOptionalNotifications,
640
793
  useOptionalTimeTracker,
794
+ usePageActionsBottomPadding,
641
795
  useProxiedImageUrl,
642
796
  useRealtimeChunkProcessor,
797
+ useRichMarkdownRuntime,
643
798
  useSSE,
799
+ useSectionNavigation,
644
800
  useSlashCommandRegistry,
645
801
  useSlashCommands,
646
802
  useSseChatAdapter,
@@ -649,196 +805,38 @@ import {
649
805
  useTimeTracker,
650
806
  useTrackerClock,
651
807
  useUnifiedChat,
808
+ useVideoOriginPreconnect,
809
+ useVideoWarmup,
652
810
  usesCanonicalStatusStyle
653
- } from "../chunk-6BZEAPNT.js";
654
- import {
655
- ANTHROPIC_SUPPORTED_IMAGE_MIME,
656
- AUTO_CONTINUATION_DIRECTIVE_PREFIX,
657
- CHAT_ATTACHMENT_MARKDOWN_PATTERN,
658
- CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM,
659
- CHAT_ATTACHMENT_VIEW_URL_PREFIX,
660
- CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED,
661
- CUSTOM_ITEM_ID,
662
- DEV_SECTION_PARAM_KEYS,
663
- MESSAGE_TYPE,
664
- MobileNavigationDropdown,
665
- MultiLevelNavigation,
666
- SCROLL_ANCHOR,
667
- SCROLL_ANCHOR_WIRE_KEY,
668
- StickySectionNav,
669
- buildAutoContinuationDirective,
670
- buildChatAttachmentViewUrl,
671
- buildDiscussAddendum,
672
- clickupTaskUrl,
673
- devSectionAnchorId,
674
- escapeMarkdownInline,
675
- extractEntityIdFilter,
676
- flattenAssistantContent,
677
- formatChatAttachmentMarkdownForBubble,
678
- formatRelativeTime,
679
- formatReleaseDate,
680
- formatSingularLookupInvocation,
681
- getStatusColorScheme,
682
- getTaskTypeLabel,
683
- parseScrollAnchor,
684
- parseWireCommandOverride,
685
- sanitizeTitleForChat,
686
- stripChatAttachmentMarkdown,
687
- useSectionNavigation
688
- } from "../chunk-26PKDALD.js";
811
+ } from "../chunk-PC746XCO.js";
689
812
  import {
690
813
  CommandApprovalToast,
814
+ STICKY_HEADER_OFFSET_PX,
691
815
  ToastCard,
692
816
  Toaster,
817
+ applyProxyAuth,
818
+ clearEmbedProxyAuth,
819
+ contentFetch,
693
820
  dotColorByVariant,
821
+ embedAuthedFetch,
822
+ getAppType,
823
+ getEmbedProxyAuth,
824
+ getPersistedProxyEmail,
694
825
  progressColorByVariant,
826
+ setEmbedProxyAuth,
695
827
  showCommandApprovalToast,
696
828
  showToast,
697
829
  useOnboardingState,
698
830
  useScrollToHash,
699
831
  useToast
700
- } from "../chunk-7RIYT7ZH.js";
832
+ } from "../chunk-2QG57XOJ.js";
701
833
  import {
702
- STICKY_HEADER_OFFSET_PX
703
- } from "../chunk-OQ6X7ZOC.js";
834
+ useChatRuntime
835
+ } from "../chunk-IZ7JSBFP.js";
704
836
  import {
705
837
  useEndpointsRuntime
706
838
  } from "../chunk-MJNXIEV2.js";
707
- import {
708
- Checkbox,
709
- FieldWrapper,
710
- Input,
711
- Skeleton,
712
- SkeletonButton,
713
- SkeletonCard,
714
- SkeletonGrid,
715
- SkeletonHeading,
716
- SkeletonList,
717
- SkeletonNavigation,
718
- SkeletonText
719
- } from "../chunk-M2OCXTNT.js";
720
- import "../chunk-PHWQLKVE.js";
721
- import {
722
- ActionsMenu,
723
- ActionsMenuDropdown,
724
- ArticleDetailLayout,
725
- BlogImagePlaceholder,
726
- Card,
727
- CardContent,
728
- CardDescription,
729
- CardFooter,
730
- CardHeader,
731
- CardHorizontal,
732
- CardTitle,
733
- EMPTY_AUTHOR_PLACEHOLDER,
734
- EntityAuthorCard,
735
- EntityImage,
736
- EntityMetadataAuthorCell,
737
- EntityMetadataValueCell,
738
- EntityTagBadges,
739
- EntityVideoSection,
740
- ErrorState,
741
- FilterPillRow,
742
- LoadError,
743
- MUX_IMAGE_ORIGIN,
744
- MUX_STREAM_ORIGIN,
745
- NotFoundError,
746
- OnboardingGuideCard,
747
- OnboardingGuideCardSkeleton,
748
- PageActions,
749
- PageError,
750
- PageLayout,
751
- PageShell,
752
- RATIO_DISPLAY_GRID_CLASS,
753
- RATIO_GRID_CLASS,
754
- RatioTabs,
755
- SimpleMarkdownRenderer,
756
- SquareAvatar,
757
- StatusBadge,
758
- TAG_BADGE_CLASS,
759
- Tabs,
760
- TabsContent,
761
- TabsList,
762
- TabsTrigger,
763
- TitleBlock,
764
- Video,
765
- VideoBiteCard,
766
- VideoBitesDisplay,
767
- buildAnchorProps,
768
- computeIsNewTab,
769
- detectAspectRatio,
770
- extractYouTubeId,
771
- getCaptionsUrl,
772
- groupByAspectRatio,
773
- newTabAnchorAttrs,
774
- ratioToCategory,
775
- statusBadgeVariants,
776
- useEntityCardLink,
777
- usePageActionsBottomPadding,
778
- useVideoOriginPreconnect,
779
- useVideoWarmup
780
- } from "../chunk-NSPOYUBH.js";
781
- import {
782
- COMPACT_CARD_ICON_SLOT,
783
- COMPACT_CARD_IMAGE_SLOT,
784
- COMPACT_CARD_META_ROW,
785
- COMPACT_CARD_META_ROW_BOX,
786
- COMPACT_CARD_OUTER,
787
- COMPACT_CARD_OUTER_STATIC,
788
- COMPACT_CARD_ROW_FILLER,
789
- COMPACT_CARD_SKELETON_IMAGE_SLOT,
790
- COMPACT_CARD_SKELETON_OUTER,
791
- COMPACT_CARD_SUBTITLE,
792
- COMPACT_CARD_SUMMARY,
793
- COMPACT_CARD_TEXT_COL,
794
- COMPACT_CARD_TITLE,
795
- COMPACT_CARD_TITLE_ROW,
796
- DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID,
797
- HiddenTagsPopup,
798
- ICON_REGISTRY,
799
- NEW_TAB_FEATURES,
800
- PAGE_HEADING_CLASS,
801
- PageHeading,
802
- SECTION_HEADING_CLASS,
803
- SOURCE_ICON_NAMES,
804
- SOURCE_LABELS_BY_TABLE,
805
- SearchInput,
806
- Tag,
807
- decideNewTab,
808
- defaultTableIdForDocumentType,
809
- formatBioText,
810
- formatLegalDate,
811
- getDynamicIcon,
812
- getIconComponent,
813
- getProxiedImageUrl,
814
- getSourceIconName,
815
- getSourceLabel,
816
- isCrossOriginUrl,
817
- isModifierClick,
818
- normalizeIconKey,
819
- resolveContentHref,
820
- resolveExternalNavigation,
821
- resolveSourceIcon,
822
- resolveSourceRowCTA,
823
- safeHref,
824
- stripSameOriginToPath,
825
- tagVariants
826
- } from "../chunk-FQJK446R.js";
827
- import {
828
- contentFetch
829
- } from "../chunk-3MCHAFHB.js";
830
- import {
831
- applyProxyAuth,
832
- clearEmbedProxyAuth,
833
- embedAuthedFetch,
834
- getAppType,
835
- getEmbedProxyAuth,
836
- getPersistedProxyEmail,
837
- setEmbedProxyAuth
838
- } from "../chunk-POKKCWKF.js";
839
- import {
840
- useChatRuntime
841
- } from "../chunk-LCNMR277.js";
839
+ import "../chunk-EL5YVPD5.js";
842
840
  import {
843
841
  init_next_navigation,
844
842
  usePathname,
@@ -848,9 +846,9 @@ import {
848
846
  import {
849
847
  next_image_default
850
848
  } from "../chunk-LXC6P2EO.js";
851
- import "../chunk-EL5YVPD5.js";
852
849
  import {
853
850
  Button,
851
+ Checkbox,
854
852
  DropdownMenu,
855
853
  DropdownMenuCheckboxItem,
856
854
  DropdownMenuContent,
@@ -866,10 +864,20 @@ import {
866
864
  DropdownMenuSubContent,
867
865
  DropdownMenuSubTrigger,
868
866
  DropdownMenuTrigger,
867
+ FieldWrapper,
868
+ Input,
869
+ Skeleton,
870
+ SkeletonButton,
871
+ SkeletonCard,
872
+ SkeletonGrid,
873
+ SkeletonHeading,
874
+ SkeletonList,
875
+ SkeletonNavigation,
876
+ SkeletonText,
869
877
  SplitButton,
870
878
  buttonVariants,
871
879
  init_button2 as init_button
872
- } from "../chunk-5IJ46KAV.js";
880
+ } from "../chunk-JALO4TAZ.js";
873
881
  import {
874
882
  init_next_link,
875
883
  next_link_default
@@ -1031,11 +1039,10 @@ import {
1031
1039
  getBaseUrl,
1032
1040
  init_cn
1033
1041
  } from "../chunk-XTCBRQN2.js";
1034
- import {
1035
- PlayIcon
1036
- } from "../chunk-J7AV6H63.js";
1042
+ import "../chunk-J7AV6H63.js";
1037
1043
  import "../chunk-6U3IUD57.js";
1038
1044
  import "../chunk-W72U7OU7.js";
1045
+ import "../chunk-PHWQLKVE.js";
1039
1046
  import {
1040
1047
  __toCommonJS
1041
1048
  } from "../chunk-GGWZFCYS.js";
@@ -3144,234 +3151,13 @@ var ImageCropper = ({
3144
3151
  );
3145
3152
  };
3146
3153
 
3147
- // src/components/media-carousel.tsx
3148
- init_cn();
3149
- import { useState as useState5, useRef as useRef4, useEffect as useEffect4, memo, useCallback as useCallback3 } from "react";
3150
- import { Fragment as Fragment5, jsx as jsx20, jsxs as jsxs15 } from "react/jsx-runtime";
3151
- var ChevronLeftIcon = () => /* @__PURE__ */ jsx20("svg", { width: "24", height: "24", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx20("polyline", { points: "15,18 9,12 15,6" }) });
3152
- var ChevronRightIcon = () => /* @__PURE__ */ jsx20("svg", { width: "24", height: "24", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx20("polyline", { points: "9,18 15,12 9,6" }) });
3153
- var MediaCarousel = memo(function MediaCarousel2({
3154
- media,
3155
- className,
3156
- aspectRatio = "16/9",
3157
- showThumbnails = true,
3158
- autoPlay = false,
3159
- objectFit = "contain"
3160
- }) {
3161
- const [currentIndex, setCurrentIndex] = useState5(0);
3162
- const [touchStart, setTouchStart] = useState5(null);
3163
- const [touchEnd, setTouchEnd] = useState5(null);
3164
- const carouselRef = useRef4(null);
3165
- const thumbnailsRef = useRef4(null);
3166
- useEffect4(() => {
3167
- if (currentIndex >= media.length && media.length > 0) {
3168
- setCurrentIndex(media.length - 1);
3169
- }
3170
- }, [media.length, currentIndex]);
3171
- if (!media || media.length === 0) {
3172
- return null;
3173
- }
3174
- const currentItem = media[currentIndex] || media[0];
3175
- if (!currentItem) {
3176
- return null;
3177
- }
3178
- const nextSlide = useCallback3(() => {
3179
- setCurrentIndex((prev) => (prev + 1) % media.length);
3180
- }, [media.length]);
3181
- const prevSlide = useCallback3(() => {
3182
- setCurrentIndex((prev) => (prev - 1 + media.length) % media.length);
3183
- }, [media.length]);
3184
- const selectSlide = useCallback3((index) => {
3185
- if (index === currentIndex) return;
3186
- setCurrentIndex(index);
3187
- }, [currentIndex]);
3188
- const handleKeyDown = useCallback3((e) => {
3189
- if (media.length <= 1) return;
3190
- if (e.key === "ArrowLeft") {
3191
- e.preventDefault();
3192
- prevSlide();
3193
- } else if (e.key === "ArrowRight") {
3194
- e.preventDefault();
3195
- nextSlide();
3196
- }
3197
- }, [nextSlide, prevSlide, media.length]);
3198
- const minSwipeDistance = 50;
3199
- const onTouchStart = (e) => {
3200
- setTouchEnd(null);
3201
- setTouchStart(e.targetTouches[0].clientX);
3202
- };
3203
- const onTouchMove = (e) => {
3204
- setTouchEnd(e.targetTouches[0].clientX);
3205
- };
3206
- const onTouchEnd = () => {
3207
- if (!touchStart || !touchEnd) return;
3208
- const distance = touchStart - touchEnd;
3209
- const isLeftSwipe = distance > minSwipeDistance;
3210
- const isRightSwipe = distance < -minSwipeDistance;
3211
- if (isLeftSwipe && media.length > 1) {
3212
- nextSlide();
3213
- }
3214
- if (isRightSwipe && media.length > 1) {
3215
- prevSlide();
3216
- }
3217
- };
3218
- const renderYouTubeEmbed = (item, index) => /* @__PURE__ */ jsx20(
3219
- Video,
3220
- {
3221
- kind: "youtube",
3222
- url: item.src,
3223
- title: item.alt || `Video ${index + 1}`,
3224
- layout: "fill",
3225
- priority: index === currentIndex
3226
- }
3227
- );
3228
- const renderVideo = (item, index) => /* @__PURE__ */ jsx20(
3229
- Video,
3230
- {
3231
- url: item.src,
3232
- poster: item.poster,
3233
- muted: true,
3234
- layout: "fill",
3235
- priority: index === currentIndex
3236
- }
3237
- );
3238
- const renderImage = (item, index) => /* @__PURE__ */ jsx20("div", { className: "absolute inset-0 bg-black", children: /* @__PURE__ */ jsx20(
3239
- "img",
3240
- {
3241
- src: item.src,
3242
- alt: item.alt || `Media ${index + 1}`,
3243
- className: `w-full h-full object-${objectFit}`,
3244
- loading: "lazy",
3245
- onError: (e) => {
3246
- const target = e.target;
3247
- target.style.display = "none";
3248
- }
3249
- }
3250
- ) });
3251
- const renderMainMedia = (item, index) => {
3252
- switch (item.type) {
3253
- case "youtube":
3254
- return renderYouTubeEmbed(item, index);
3255
- case "video":
3256
- return renderVideo(item, index);
3257
- case "image":
3258
- default:
3259
- return renderImage(item, index);
3260
- }
3261
- };
3262
- const renderThumbnail = (item, index) => {
3263
- const isActive = index === currentIndex;
3264
- let thumbnailSrc = item.src;
3265
- if (item.type === "youtube") {
3266
- const videoId = extractYouTubeId(item.src);
3267
- thumbnailSrc = videoId ? `https://img.youtube.com/vi/${videoId}/mqdefault.jpg` : item.src;
3268
- } else if (item.type === "video" && item.poster) {
3269
- thumbnailSrc = item.poster;
3270
- }
3271
- return /* @__PURE__ */ jsxs15(
3272
- "button",
3273
- {
3274
- onClick: () => selectSlide(index),
3275
- className: cn(
3276
- "relative flex-shrink-0 overflow-hidden transition-all duration-200",
3277
- "w-20 h-20 md:w-24 md:h-24 rounded-lg border-2",
3278
- isActive ? "border-[#FFC008] ring-2 ring-[#FFC008]/20" : "border-ods-border hover:border-[#888888]"
3279
- ),
3280
- children: [
3281
- /* @__PURE__ */ jsx20(
3282
- "img",
3283
- {
3284
- src: thumbnailSrc,
3285
- alt: item.alt || `Thumbnail ${index + 1}`,
3286
- className: "w-full h-full object-cover",
3287
- loading: "lazy"
3288
- }
3289
- ),
3290
- (item.type === "video" || item.type === "youtube") && /* @__PURE__ */ jsx20("div", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ jsx20("div", { className: "bg-black/70 rounded-full p-1", children: /* @__PURE__ */ jsx20(PlayIcon, { size: 12, color: "white" }) }) }),
3291
- isActive && /* @__PURE__ */ jsx20("div", { className: "absolute bottom-1 right-1 w-2 h-2 bg-[#FFC008] rounded-full" })
3292
- ]
3293
- },
3294
- index
3295
- );
3296
- };
3297
- const getAspectRatioClass = () => {
3298
- switch (aspectRatio) {
3299
- case "4/3":
3300
- return "aspect-[4/3]";
3301
- case "3/2":
3302
- return "aspect-[3/2]";
3303
- case "1/1":
3304
- return "aspect-square";
3305
- case "16/9":
3306
- default:
3307
- return "aspect-video";
3308
- }
3309
- };
3310
- return /* @__PURE__ */ jsxs15("div", { className: cn("space-y-4", className), children: [
3311
- /* @__PURE__ */ jsxs15(
3312
- "div",
3313
- {
3314
- ref: carouselRef,
3315
- className: cn(
3316
- "relative bg-ods-bg border border-ods-border rounded-2xl overflow-hidden group w-full",
3317
- getAspectRatioClass()
3318
- ),
3319
- onTouchStart,
3320
- onTouchMove,
3321
- onTouchEnd,
3322
- onKeyDown: media.length > 1 ? handleKeyDown : void 0,
3323
- tabIndex: media.length > 1 ? 0 : void 0,
3324
- role: media.length > 1 ? "region" : void 0,
3325
- "aria-label": media.length > 1 ? "Media carousel, use arrow keys to navigate" : void 0,
3326
- children: [
3327
- renderMainMedia(currentItem, currentIndex),
3328
- media.length > 1 && /* @__PURE__ */ jsxs15(Fragment5, { children: [
3329
- /* @__PURE__ */ jsx20(
3330
- "button",
3331
- {
3332
- onClick: prevSlide,
3333
- className: "absolute left-3 top-1/2 transform -translate-y-1/2 bg-black/50 text-white rounded-full p-2 opacity-0 group-hover:opacity-100 transition-opacity duration-200 hover:bg-black/70 z-10",
3334
- "aria-label": "Previous media",
3335
- children: /* @__PURE__ */ jsx20(ChevronLeftIcon, {})
3336
- }
3337
- ),
3338
- /* @__PURE__ */ jsx20(
3339
- "button",
3340
- {
3341
- onClick: nextSlide,
3342
- className: "absolute right-3 top-1/2 transform -translate-y-1/2 bg-black/50 text-white rounded-full p-2 opacity-0 group-hover:opacity-100 transition-opacity duration-200 hover:bg-black/70 z-10",
3343
- "aria-label": "Next media",
3344
- children: /* @__PURE__ */ jsx20(ChevronRightIcon, {})
3345
- }
3346
- ),
3347
- /* @__PURE__ */ jsxs15("div", { className: "absolute top-3 right-3 bg-black/70 text-white px-3 py-1 rounded-lg text-sm font-medium", children: [
3348
- currentIndex + 1,
3349
- " / ",
3350
- media.length
3351
- ] })
3352
- ] })
3353
- ]
3354
- }
3355
- ),
3356
- media.length > 1 && showThumbnails && /* @__PURE__ */ jsx20("div", { className: "w-full", children: /* @__PURE__ */ jsx20(
3357
- "div",
3358
- {
3359
- ref: thumbnailsRef,
3360
- className: "flex gap-2 overflow-x-auto scrollbar-none py-2",
3361
- style: { scrollbarWidth: "none", msOverflowStyle: "none" },
3362
- children: media.map((item, index) => renderThumbnail(item, index))
3363
- }
3364
- ) })
3365
- ] });
3366
- });
3367
-
3368
3154
  // src/components/metric-value.tsx
3369
3155
  init_cn();
3370
- import { jsx as jsx21, jsxs as jsxs16 } from "react/jsx-runtime";
3156
+ import { jsx as jsx20, jsxs as jsxs15 } from "react/jsx-runtime";
3371
3157
  function MetricValue({ value, label, className }) {
3372
- return /* @__PURE__ */ jsxs16("div", { className: cn('flex items-end gap-2 whitespace-nowrap font-["DM_Sans"] text-lg leading-[24px] text-ods-text-primary', className), children: [
3158
+ return /* @__PURE__ */ jsxs15("div", { className: cn('flex items-end gap-2 whitespace-nowrap font-["DM_Sans"] text-lg leading-[24px] text-ods-text-primary', className), children: [
3373
3159
  value,
3374
- /* @__PURE__ */ jsx21("span", { className: "text-sm text-ods-text-secondary", children: label })
3160
+ /* @__PURE__ */ jsx20("span", { className: "text-sm text-ods-text-secondary", children: label })
3375
3161
  ] });
3376
3162
  }
3377
3163
 
@@ -3381,14 +3167,14 @@ init_cn();
3381
3167
  // src/components/square-avatar.tsx
3382
3168
  init_cn();
3383
3169
  import React4 from "react";
3384
- import { jsx as jsx22 } from "react/jsx-runtime";
3170
+ import { jsx as jsx21 } from "react/jsx-runtime";
3385
3171
  function SquareAvatar2({ src, fallbackName = "", size = 56, fullWidth = false, className }) {
3386
3172
  const initials = React4.useMemo(() => {
3387
3173
  if (!fallbackName) return "";
3388
3174
  return fallbackName.split(" ").map((n) => n.charAt(0)).join("").slice(0, 2).toUpperCase();
3389
3175
  }, [fallbackName]);
3390
3176
  const style = fullWidth ? {} : { width: size, height: size };
3391
- return /* @__PURE__ */ jsx22(
3177
+ return /* @__PURE__ */ jsx21(
3392
3178
  "div",
3393
3179
  {
3394
3180
  className: cn(
@@ -3399,8 +3185,8 @@ function SquareAvatar2({ src, fallbackName = "", size = 56, fullWidth = false, c
3399
3185
  style,
3400
3186
  children: src ? (
3401
3187
  // eslint-disable-next-line @next/next/no-img-element
3402
- /* @__PURE__ */ jsx22("img", { src: getProxiedImageUrl(src) || src, alt: "Avatar", className: "object-cover w-full h-full" })
3403
- ) : /* @__PURE__ */ jsx22("span", { className: cn(
3188
+ /* @__PURE__ */ jsx21("img", { src: getProxiedImageUrl(src) || src, alt: "Avatar", className: "object-cover w-full h-full" })
3189
+ ) : /* @__PURE__ */ jsx21("span", { className: cn(
3404
3190
  "font-['DM_Sans'] text-ods-text-primary font-bold",
3405
3191
  fullWidth ? "text-4xl" : "text-lg"
3406
3192
  ), children: initials })
@@ -3409,24 +3195,24 @@ function SquareAvatar2({ src, fallbackName = "", size = 56, fullWidth = false, c
3409
3195
  }
3410
3196
 
3411
3197
  // src/components/msp-display.tsx
3412
- import { jsx as jsx23, jsxs as jsxs17 } from "react/jsx-runtime";
3198
+ import { jsx as jsx22, jsxs as jsxs16 } from "react/jsx-runtime";
3413
3199
  function MSPDisplay({ name, logoUrl, size = 40, className }) {
3414
- return /* @__PURE__ */ jsxs17("div", { className: cn("flex items-center gap-2 min-w-0", className), children: [
3415
- /* @__PURE__ */ jsx23(SquareAvatar2, { src: logoUrl ?? void 0, fallbackName: name, size }),
3416
- /* @__PURE__ */ jsx23("h2", { className: "truncate pl-2", children: name })
3200
+ return /* @__PURE__ */ jsxs16("div", { className: cn("flex items-center gap-2 min-w-0", className), children: [
3201
+ /* @__PURE__ */ jsx22(SquareAvatar2, { src: logoUrl ?? void 0, fallbackName: name, size }),
3202
+ /* @__PURE__ */ jsx22("h2", { className: "truncate pl-2", children: name })
3417
3203
  ] });
3418
3204
  }
3419
3205
 
3420
3206
  // src/components/open-source-features.tsx
3421
3207
  import { Terminal, DollarSign as DollarSign2, Network, Users as Users2 } from "lucide-react";
3422
- import { jsx as jsx24, jsxs as jsxs18 } from "react/jsx-runtime";
3208
+ import { jsx as jsx23, jsxs as jsxs17 } from "react/jsx-runtime";
3423
3209
 
3424
3210
  // src/components/index.ts
3425
3211
  init_pagination();
3426
3212
 
3427
3213
  // src/components/persistent-pagination.tsx
3428
3214
  init_cn();
3429
- import { jsx as jsx25, jsxs as jsxs19 } from "react/jsx-runtime";
3215
+ import { jsx as jsx24, jsxs as jsxs18 } from "react/jsx-runtime";
3430
3216
  function PersistentPagination({
3431
3217
  isLoading,
3432
3218
  children,
@@ -3437,7 +3223,7 @@ function PersistentPagination({
3437
3223
  transitionDuration = 300,
3438
3224
  showLoadingState = true
3439
3225
  }) {
3440
- return /* @__PURE__ */ jsxs19(
3226
+ return /* @__PURE__ */ jsxs18(
3441
3227
  "div",
3442
3228
  {
3443
3229
  className: cn(
@@ -3455,7 +3241,7 @@ function PersistentPagination({
3455
3241
  "aria-busy": isLoading,
3456
3242
  "data-loading": isLoading,
3457
3243
  children: [
3458
- isLoading && /* @__PURE__ */ jsxs19(
3244
+ isLoading && /* @__PURE__ */ jsxs18(
3459
3245
  "div",
3460
3246
  {
3461
3247
  className: "sr-only",
@@ -3469,7 +3255,7 @@ function PersistentPagination({
3469
3255
  ]
3470
3256
  }
3471
3257
  ),
3472
- /* @__PURE__ */ jsx25(
3258
+ /* @__PURE__ */ jsx24(
3473
3259
  "div",
3474
3260
  {
3475
3261
  className: cn(
@@ -3526,7 +3312,7 @@ function PersistentPaginationWrapper({
3526
3312
  const isPaginationDisabled = isLoading;
3527
3313
  const hasNoResults = !hasResults && !isLoading;
3528
3314
  const PaginationComponent = (init_unified_pagination(), __toCommonJS(unified_pagination_exports)).UnifiedPagination;
3529
- return /* @__PURE__ */ jsxs19(
3315
+ return /* @__PURE__ */ jsxs18(
3530
3316
  "div",
3531
3317
  {
3532
3318
  className: cn(
@@ -3544,7 +3330,7 @@ function PersistentPaginationWrapper({
3544
3330
  "data-loading": isLoading,
3545
3331
  "data-has-results": hasResults,
3546
3332
  children: [
3547
- (isLoading || !hasResults) && /* @__PURE__ */ jsx25(
3333
+ (isLoading || !hasResults) && /* @__PURE__ */ jsx24(
3548
3334
  "div",
3549
3335
  {
3550
3336
  className: "sr-only",
@@ -3553,7 +3339,7 @@ function PersistentPaginationWrapper({
3553
3339
  children: isLoading ? `Pagination temporarily disabled while loading page ${displayCurrentPage} of ${displayTotalPages}` : `No results available - pagination disabled`
3554
3340
  }
3555
3341
  ),
3556
- /* @__PURE__ */ jsx25(
3342
+ /* @__PURE__ */ jsx24(
3557
3343
  "div",
3558
3344
  {
3559
3345
  className: cn(
@@ -3564,7 +3350,7 @@ function PersistentPaginationWrapper({
3564
3350
  transitionDuration: "300ms"
3565
3351
  },
3566
3352
  "aria-hidden": isPaginationDisabled,
3567
- children: /* @__PURE__ */ jsx25(
3353
+ children: /* @__PURE__ */ jsx24(
3568
3354
  PaginationComponent,
3569
3355
  {
3570
3356
  currentPage: displayCurrentPage,
@@ -3581,7 +3367,7 @@ function PersistentPaginationWrapper({
3581
3367
  }
3582
3368
 
3583
3369
  // src/components/pricing-display.tsx
3584
- import { jsx as jsx26, jsxs as jsxs20 } from "react/jsx-runtime";
3370
+ import { jsx as jsx25, jsxs as jsxs19 } from "react/jsx-runtime";
3585
3371
  var PRICING_STYLES = {
3586
3372
  // Comparison table style (current default)
3587
3373
  comparison: {
@@ -3617,19 +3403,19 @@ function PricingDisplay({
3617
3403
  styleConfig = PRICING_STYLES.comparison
3618
3404
  }) {
3619
3405
  if (typeof pricing === "string") {
3620
- return /* @__PURE__ */ jsx26(LegacyPricingDisplay, { pricing, className, styleConfig });
3406
+ return /* @__PURE__ */ jsx25(LegacyPricingDisplay, { pricing, className, styleConfig });
3621
3407
  }
3622
3408
  const pricingArray = Array.isArray(pricing) ? pricing : [pricing];
3623
3409
  if (!pricingArray || pricingArray.length === 0) {
3624
- return /* @__PURE__ */ jsx26("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize} ${styleConfig.fontFamily} ${className}`, children: "No pricing data" });
3410
+ return /* @__PURE__ */ jsx25("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize} ${styleConfig.fontFamily} ${className}`, children: "No pricing data" });
3625
3411
  }
3626
3412
  if (pricingArray.length === 1) {
3627
3413
  const item = pricingArray[0];
3628
3414
  const price = item.ranges?.[0]?.min || 0;
3629
3415
  const unit = item.ranges?.[0]?.unit;
3630
- return /* @__PURE__ */ jsxs20("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
3631
- /* @__PURE__ */ jsx26("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
3632
- unit && /* @__PURE__ */ jsxs20("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
3416
+ return /* @__PURE__ */ jsxs19("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
3417
+ /* @__PURE__ */ jsx25("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
3418
+ unit && /* @__PURE__ */ jsxs19("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
3633
3419
  "/",
3634
3420
  unit
3635
3421
  ] })
@@ -3637,9 +3423,9 @@ function PricingDisplay({
3637
3423
  }
3638
3424
  const priceValues = pricingArray.map((item) => formatPriceValue(item.ranges?.[0]?.min || 0, styleConfig.showTildePrefix));
3639
3425
  const itemWithUnit = pricingArray.find((item) => item.ranges?.[0]?.unit);
3640
- return /* @__PURE__ */ jsxs20("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
3641
- /* @__PURE__ */ jsx26("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: priceValues.join(" | ") }),
3642
- itemWithUnit && itemWithUnit.ranges?.[0]?.unit && /* @__PURE__ */ jsxs20("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
3426
+ return /* @__PURE__ */ jsxs19("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
3427
+ /* @__PURE__ */ jsx25("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: priceValues.join(" | ") }),
3428
+ itemWithUnit && itemWithUnit.ranges?.[0]?.unit && /* @__PURE__ */ jsxs19("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
3643
3429
  "/",
3644
3430
  itemWithUnit.ranges[0].unit
3645
3431
  ] })
@@ -3660,7 +3446,7 @@ function LegacyPricingDisplay({
3660
3446
  styleConfig = PRICING_STYLES.comparison
3661
3447
  }) {
3662
3448
  if (pricing === "Free" || pricing === "No pricing data") {
3663
- return /* @__PURE__ */ jsx26("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize} ${styleConfig.fontFamily} ${className}`, children: pricing });
3449
+ return /* @__PURE__ */ jsx25("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize} ${styleConfig.fontFamily} ${className}`, children: pricing });
3664
3450
  }
3665
3451
  const parsePricing = (pricingStr) => {
3666
3452
  if (pricingStr.includes(", ")) {
@@ -3716,9 +3502,9 @@ function LegacyPricingDisplay({
3716
3502
  };
3717
3503
  };
3718
3504
  const { mainValue, secondaryInfo } = parsePricing(pricing);
3719
- return /* @__PURE__ */ jsxs20("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
3720
- /* @__PURE__ */ jsx26("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: mainValue }),
3721
- secondaryInfo && /* @__PURE__ */ jsx26("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: secondaryInfo })
3505
+ return /* @__PURE__ */ jsxs19("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
3506
+ /* @__PURE__ */ jsx25("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: mainValue }),
3507
+ secondaryInfo && /* @__PURE__ */ jsx25("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: secondaryInfo })
3722
3508
  ] });
3723
3509
  }
3724
3510
  function formatPricingForDisplay(pricing) {
@@ -3726,7 +3512,7 @@ function formatPricingForDisplay(pricing) {
3726
3512
  }
3727
3513
 
3728
3514
  // src/components/results-count.tsx
3729
- import { Fragment as Fragment6, jsx as jsx27, jsxs as jsxs21 } from "react/jsx-runtime";
3515
+ import { Fragment as Fragment5, jsx as jsx26, jsxs as jsxs20 } from "react/jsx-runtime";
3730
3516
  function ResultsCount({
3731
3517
  currentPage,
3732
3518
  pageSize,
@@ -3742,7 +3528,7 @@ function ResultsCount({
3742
3528
  const plural = resultType === "vendors" ? "vendors" : "posts";
3743
3529
  const singular = resultType === "vendors" ? "vendor" : "post";
3744
3530
  const displayType = totalResults === 1 ? singular : plural;
3745
- return /* @__PURE__ */ jsx27("div", { className: "mb-6", children: /* @__PURE__ */ jsx27("p", { className: "text-ods-text-secondary text-sm font-['DM_Sans']", children: totalResults > 0 && /* @__PURE__ */ jsxs21(Fragment6, { children: [
3531
+ return /* @__PURE__ */ jsx26("div", { className: "mb-6", children: /* @__PURE__ */ jsx26("p", { className: "text-ods-text-secondary text-sm font-['DM_Sans']", children: totalResults > 0 && /* @__PURE__ */ jsxs20(Fragment5, { children: [
3746
3532
  "Showing ",
3747
3533
  startIndex,
3748
3534
  "-",
@@ -3751,7 +3537,7 @@ function ResultsCount({
3751
3537
  totalResults,
3752
3538
  " ",
3753
3539
  displayType,
3754
- sortingMessage && /* @__PURE__ */ jsxs21("span", { className: "ml-2 text-ods-accent", children: [
3540
+ sortingMessage && /* @__PURE__ */ jsxs20("span", { className: "ml-2 text-ods-accent", children: [
3755
3541
  "\u2022 ",
3756
3542
  sortingMessage
3757
3543
  ] })
@@ -3761,7 +3547,7 @@ function ResultsCount({
3761
3547
  // src/components/vendor-tag.tsx
3762
3548
  init_cn();
3763
3549
  import { Hand, Sparkles } from "lucide-react";
3764
- import { jsx as jsx28, jsxs as jsxs22 } from "react/jsx-runtime";
3550
+ import { jsx as jsx27, jsxs as jsxs21 } from "react/jsx-runtime";
3765
3551
  function VendorTag({
3766
3552
  type,
3767
3553
  text,
@@ -3780,89 +3566,89 @@ function VendorTag({
3780
3566
  return {
3781
3567
  text: "Placeholder",
3782
3568
  textColor: "text-ods-text-primary",
3783
- icon: /* @__PURE__ */ jsx28("div", { className: "w-4 h-4 rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx28(Sparkles, { width: 10, height: 10, className: "text-ods-text-primary" }) })
3569
+ icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27(Sparkles, { width: 10, height: 10, className: "text-ods-text-primary" }) })
3784
3570
  };
3785
3571
  case "ai":
3786
3572
  return {
3787
3573
  text: "AI Selected",
3788
3574
  textColor: "text-ods-text-primary",
3789
- icon: /* @__PURE__ */ jsx28("div", { className: "w-4 h-4 rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx28(Sparkles, { width: 10, height: 10, className: "text-ods-text-primary" }) })
3575
+ icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27(Sparkles, { width: 10, height: 10, className: "text-ods-text-primary" }) })
3790
3576
  };
3791
3577
  case "manual":
3792
3578
  return {
3793
3579
  text: "Manually Selected",
3794
3580
  textColor: "text-ods-text-secondary",
3795
- icon: /* @__PURE__ */ jsx28("div", { className: "w-4 h-4 rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx28(Hand, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3581
+ icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27(Hand, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3796
3582
  };
3797
3583
  case "open-source":
3798
3584
  return {
3799
3585
  text: text || "Open Source",
3800
- icon: /* @__PURE__ */ jsx28(
3586
+ icon: /* @__PURE__ */ jsx27(
3801
3587
  "div",
3802
3588
  {
3803
3589
  className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0",
3804
3590
  style: accentColor ? { backgroundColor: accentColor } : void 0,
3805
- children: /* @__PURE__ */ jsx28(OpenSourceIcon2, { width: 10, height: 10, className: "text-[#1A1A1A]" })
3591
+ children: /* @__PURE__ */ jsx27(OpenSourceIcon2, { width: 10, height: 10, className: "text-[#1A1A1A]" })
3806
3592
  }
3807
3593
  )
3808
3594
  };
3809
3595
  case "commercial":
3810
3596
  return {
3811
3597
  text: text || "Commercial Vendor",
3812
- icon: /* @__PURE__ */ jsx28("div", { className: "w-4 h-4 bg-ods-border rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx28(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3598
+ icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-border rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3813
3599
  };
3814
3600
  case "free":
3815
3601
  return {
3816
3602
  text: text || "Free",
3817
- icon: /* @__PURE__ */ jsx28("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx28("span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "$" }) })
3603
+ icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27("span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "$" }) })
3818
3604
  };
3819
3605
  case "freemium":
3820
3606
  return {
3821
3607
  text: text || "Freemium",
3822
- icon: /* @__PURE__ */ jsx28("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx28("span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "$" }) })
3608
+ icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27("span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "$" }) })
3823
3609
  };
3824
3610
  case "paid":
3825
3611
  return {
3826
3612
  text: text || "Paid",
3827
- icon: /* @__PURE__ */ jsx28("div", { className: "w-4 h-4 bg-ods-border rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx28(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3613
+ icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-border rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3828
3614
  };
3829
3615
  case "enterprise":
3830
3616
  return {
3831
3617
  text: text || "Enterprise",
3832
- icon: /* @__PURE__ */ jsx28("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx28("span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "E" }) })
3618
+ icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27("span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "E" }) })
3833
3619
  };
3834
3620
  case "recommended":
3835
3621
  return {
3836
3622
  text: text || "Recommended",
3837
- icon: /* @__PURE__ */ jsx28("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx28("span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "\u2605" }) })
3623
+ icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27("span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "\u2605" }) })
3838
3624
  };
3839
3625
  case "classification":
3840
3626
  const classificationType = text?.toLowerCase();
3841
3627
  if (classificationType === "open_source") {
3842
3628
  return {
3843
3629
  text: "Open Source",
3844
- icon: /* @__PURE__ */ jsx28("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx28(OpenSourceIcon2, { width: 10, height: 10, className: "text-[#1A1A1A]" }) })
3630
+ icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27(OpenSourceIcon2, { width: 10, height: 10, className: "text-[#1A1A1A]" }) })
3845
3631
  };
3846
3632
  } else if (classificationType === "commercial") {
3847
3633
  return {
3848
3634
  text: "Commercial Vendor",
3849
- icon: /* @__PURE__ */ jsx28("div", { className: "w-4 h-4 bg-ods-border rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx28(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3635
+ icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-border rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
3850
3636
  };
3851
3637
  } else if (classificationType === "openframe_selected") {
3852
3638
  return {
3853
3639
  text: "OpenFrame Selected",
3854
- icon: /* @__PURE__ */ jsx28(OpenFrameLogo2, { lowerPathColor: "currentColor", upperPathColor: "currentColor", className: "h-4 w-4 text-ods-accent" })
3640
+ icon: /* @__PURE__ */ jsx27(OpenFrameLogo2, { lowerPathColor: "currentColor", upperPathColor: "currentColor", className: "h-4 w-4 text-ods-accent" })
3855
3641
  };
3856
3642
  } else {
3857
3643
  return {
3858
3644
  text: text || "Classification",
3859
- icon: /* @__PURE__ */ jsx28("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx28("span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "C" }) })
3645
+ icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27("span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "C" }) })
3860
3646
  };
3861
3647
  }
3862
3648
  case "openframe_selected":
3863
3649
  return {
3864
3650
  text: text || "OpenFrame Selected",
3865
- icon: /* @__PURE__ */ jsx28(OpenFrameLogo2, { lowerPathColor: "currentColor", upperPathColor: "currentColor", className: "h-4 w-4 text-ods-accent" })
3651
+ icon: /* @__PURE__ */ jsx27(OpenFrameLogo2, { lowerPathColor: "currentColor", upperPathColor: "currentColor", className: "h-4 w-4 text-ods-accent" })
3866
3652
  };
3867
3653
  default:
3868
3654
  return {
@@ -3872,9 +3658,9 @@ function VendorTag({
3872
3658
  }
3873
3659
  };
3874
3660
  const { text: displayText, icon, textColor } = getTagContent();
3875
- return /* @__PURE__ */ jsxs22("div", { className: cn(baseClasses, className, hidden && "invisible"), children: [
3661
+ return /* @__PURE__ */ jsxs21("div", { className: cn(baseClasses, className, hidden && "invisible"), children: [
3876
3662
  icon,
3877
- /* @__PURE__ */ jsx28("span", { className: cn(
3663
+ /* @__PURE__ */ jsx27("span", { className: cn(
3878
3664
  "font-mono font-semibold uppercase",
3879
3665
  textColor ? textColor : "text-ods-text-primary",
3880
3666
  size === "sm" ? "text-[10px]" : "text-xs"
@@ -3883,12 +3669,12 @@ function VendorTag({
3883
3669
  }
3884
3670
 
3885
3671
  // src/components/selection-source-badge.tsx
3886
- import { jsx as jsx29 } from "react/jsx-runtime";
3672
+ import { jsx as jsx28 } from "react/jsx-runtime";
3887
3673
  function SelectionSourceBadge({ source, hidden = false }) {
3888
3674
  if (!source) {
3889
3675
  return null;
3890
3676
  }
3891
- return /* @__PURE__ */ jsx29(
3677
+ return /* @__PURE__ */ jsx28(
3892
3678
  VendorTag,
3893
3679
  {
3894
3680
  type: source?.toLowerCase(),
@@ -3901,26 +3687,26 @@ function SelectionSourceBadge({ source, hidden = false }) {
3901
3687
 
3902
3688
  // src/components/user-display.tsx
3903
3689
  init_cn();
3904
- import { jsx as jsx30, jsxs as jsxs23 } from "react/jsx-runtime";
3690
+ import { jsx as jsx29, jsxs as jsxs22 } from "react/jsx-runtime";
3905
3691
  function UserDisplay({ name, avatarUrl, subtitle, size = 32, className }) {
3906
- return /* @__PURE__ */ jsxs23("div", { className: cn("flex items-center gap-2 min-w-0", className), children: [
3907
- /* @__PURE__ */ jsx30(SquareAvatar2, { src: avatarUrl ?? void 0, fallbackName: name, size }),
3908
- /* @__PURE__ */ jsxs23("div", { className: "min-w-0 flex-1", children: [
3909
- /* @__PURE__ */ jsx30("p", { className: "font-['DM_Sans'] text-lg leading-[22px] text-ods-text-primary truncate", children: name }),
3910
- subtitle && /* @__PURE__ */ jsx30("span", { className: "font-['DM_Sans'] text-md leading-[16px] text-ods-text-secondary truncate", children: subtitle })
3692
+ return /* @__PURE__ */ jsxs22("div", { className: cn("flex items-center gap-2 min-w-0", className), children: [
3693
+ /* @__PURE__ */ jsx29(SquareAvatar2, { src: avatarUrl ?? void 0, fallbackName: name, size }),
3694
+ /* @__PURE__ */ jsxs22("div", { className: "min-w-0 flex-1", children: [
3695
+ /* @__PURE__ */ jsx29("p", { className: "font-['DM_Sans'] text-lg leading-[22px] text-ods-text-primary truncate", children: name }),
3696
+ subtitle && /* @__PURE__ */ jsx29("span", { className: "font-['DM_Sans'] text-md leading-[16px] text-ods-text-secondary truncate", children: subtitle })
3911
3697
  ] })
3912
3698
  ] });
3913
3699
  }
3914
3700
 
3915
3701
  // src/components/loading/content-skeleton.tsx
3916
3702
  init_cn();
3917
- import { jsx as jsx31, jsxs as jsxs24 } from "react/jsx-runtime";
3703
+ import { jsx as jsx30, jsxs as jsxs23 } from "react/jsx-runtime";
3918
3704
  function ParagraphSkeleton({
3919
3705
  className,
3920
3706
  lines = 4
3921
3707
  }) {
3922
3708
  const lineWidths = ["w-full", "w-full", "w-5/6", "w-3/4", "w-4/5", "w-2/3"];
3923
- return /* @__PURE__ */ jsx31("div", { className: cn("space-y-2", className), children: Array.from({ length: lines }).map((_, index) => /* @__PURE__ */ jsx31(
3709
+ return /* @__PURE__ */ jsx30("div", { className: cn("space-y-2", className), children: Array.from({ length: lines }).map((_, index) => /* @__PURE__ */ jsx30(
3924
3710
  TextSkeleton.Body,
3925
3711
  {
3926
3712
  className: lineWidths[index % lineWidths.length]
@@ -3934,14 +3720,14 @@ function ListSkeleton({
3934
3720
  showIcons = false,
3935
3721
  showActions = false
3936
3722
  }) {
3937
- return /* @__PURE__ */ jsx31("div", { className: cn("space-y-3", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ jsxs24("div", { className: "flex items-center justify-between", children: [
3938
- /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-3", children: [
3939
- showIcons && /* @__PURE__ */ jsx31(MediaSkeleton.Icon, { size: "sm" }),
3940
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-32 md:w-48" })
3723
+ return /* @__PURE__ */ jsx30("div", { className: cn("space-y-3", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ jsxs23("div", { className: "flex items-center justify-between", children: [
3724
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
3725
+ showIcons && /* @__PURE__ */ jsx30(MediaSkeleton.Icon, { size: "sm" }),
3726
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-32 md:w-48" })
3941
3727
  ] }),
3942
- showActions && /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-2", children: [
3943
- /* @__PURE__ */ jsx31(TextSkeleton.Caption, { className: "w-8" }),
3944
- /* @__PURE__ */ jsx31(UnifiedSkeleton, { variant: "default", className: "w-4 h-4" })
3728
+ showActions && /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-2", children: [
3729
+ /* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-8" }),
3730
+ /* @__PURE__ */ jsx30(UnifiedSkeleton, { variant: "default", className: "w-4 h-4" })
3945
3731
  ] })
3946
3732
  ] }, index)) });
3947
3733
  }
@@ -3950,14 +3736,14 @@ function TableSkeleton({
3950
3736
  rows = 5,
3951
3737
  columns = 4
3952
3738
  }) {
3953
- return /* @__PURE__ */ jsxs24("div", { className: cn("space-y-4", className), children: [
3954
- /* @__PURE__ */ jsx31("div", { className: "grid gap-4", style: { gridTemplateColumns: `repeat(${columns}, 1fr)` }, children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ jsx31(TextSkeleton.Subheading, { className: "w-3/4" }, index)) }),
3955
- /* @__PURE__ */ jsx31("div", { className: "space-y-3", children: Array.from({ length: rows }).map((_, rowIndex) => /* @__PURE__ */ jsx31(
3739
+ return /* @__PURE__ */ jsxs23("div", { className: cn("space-y-4", className), children: [
3740
+ /* @__PURE__ */ jsx30("div", { className: "grid gap-4", style: { gridTemplateColumns: `repeat(${columns}, 1fr)` }, children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ jsx30(TextSkeleton.Subheading, { className: "w-3/4" }, index)) }),
3741
+ /* @__PURE__ */ jsx30("div", { className: "space-y-3", children: Array.from({ length: rows }).map((_, rowIndex) => /* @__PURE__ */ jsx30(
3956
3742
  "div",
3957
3743
  {
3958
3744
  className: "grid gap-4 py-2 border-b border-ods-divider",
3959
3745
  style: { gridTemplateColumns: `repeat(${columns}, 1fr)` },
3960
- children: Array.from({ length: columns }).map((_2, colIndex) => /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-2/3" }, colIndex))
3746
+ children: Array.from({ length: columns }).map((_2, colIndex) => /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-2/3" }, colIndex))
3961
3747
  },
3962
3748
  rowIndex
3963
3749
  )) })
@@ -3967,15 +3753,15 @@ function FormSkeleton({
3967
3753
  className,
3968
3754
  fields = 4
3969
3755
  }) {
3970
- return /* @__PURE__ */ jsxs24("div", { className: cn("space-y-6", className), children: [
3971
- Array.from({ length: fields }).map((_, index) => /* @__PURE__ */ jsxs24("div", { className: "space-y-2", children: [
3972
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-24" }),
3973
- /* @__PURE__ */ jsx31(InteractiveSkeleton.Input, {}),
3974
- index % 3 === 0 && /* @__PURE__ */ jsx31(TextSkeleton.Caption, { className: "w-48" })
3756
+ return /* @__PURE__ */ jsxs23("div", { className: cn("space-y-6", className), children: [
3757
+ Array.from({ length: fields }).map((_, index) => /* @__PURE__ */ jsxs23("div", { className: "space-y-2", children: [
3758
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-24" }),
3759
+ /* @__PURE__ */ jsx30(InteractiveSkeleton.Input, {}),
3760
+ index % 3 === 0 && /* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-48" })
3975
3761
  ] }, index)),
3976
- /* @__PURE__ */ jsxs24("div", { className: "flex gap-4 pt-4", children: [
3977
- /* @__PURE__ */ jsx31(InteractiveSkeleton.Button, {}),
3978
- /* @__PURE__ */ jsx31(InteractiveSkeleton.Button, { className: "bg-ods-border" })
3762
+ /* @__PURE__ */ jsxs23("div", { className: "flex gap-4 pt-4", children: [
3763
+ /* @__PURE__ */ jsx30(InteractiveSkeleton.Button, {}),
3764
+ /* @__PURE__ */ jsx30(InteractiveSkeleton.Button, { className: "bg-ods-border" })
3979
3765
  ] })
3980
3766
  ] });
3981
3767
  }
@@ -3984,7 +3770,7 @@ function NavigationSkeleton({
3984
3770
  items = 6,
3985
3771
  horizontal = true
3986
3772
  }) {
3987
- return /* @__PURE__ */ jsx31(
3773
+ return /* @__PURE__ */ jsx30(
3988
3774
  "nav",
3989
3775
  {
3990
3776
  className: cn(
@@ -3994,7 +3780,7 @@ function NavigationSkeleton({
3994
3780
  ),
3995
3781
  role: "status",
3996
3782
  "aria-label": "Loading navigation",
3997
- children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-16 md:w-20" }, index))
3783
+ children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-16 md:w-20" }, index))
3998
3784
  }
3999
3785
  );
4000
3786
  }
@@ -4003,32 +3789,32 @@ function ProfileSkeleton({
4003
3789
  showBio = true,
4004
3790
  showStats = true
4005
3791
  }) {
4006
- return /* @__PURE__ */ jsxs24("div", { className: cn("space-y-4", className), children: [
4007
- /* @__PURE__ */ jsxs24("div", { className: "flex items-start gap-4", children: [
4008
- /* @__PURE__ */ jsx31(MediaSkeleton.Avatar, { size: "lg" }),
4009
- /* @__PURE__ */ jsxs24("div", { className: "flex-1 space-y-2", children: [
4010
- /* @__PURE__ */ jsx31(TextSkeleton.Subheading, { className: "w-1/2" }),
4011
- /* @__PURE__ */ jsx31(TextSkeleton.Caption, { className: "w-1/3" }),
4012
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-2/3" })
3792
+ return /* @__PURE__ */ jsxs23("div", { className: cn("space-y-4", className), children: [
3793
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-start gap-4", children: [
3794
+ /* @__PURE__ */ jsx30(MediaSkeleton.Avatar, { size: "lg" }),
3795
+ /* @__PURE__ */ jsxs23("div", { className: "flex-1 space-y-2", children: [
3796
+ /* @__PURE__ */ jsx30(TextSkeleton.Subheading, { className: "w-1/2" }),
3797
+ /* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-1/3" }),
3798
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-2/3" })
4013
3799
  ] })
4014
3800
  ] }),
4015
- showBio && /* @__PURE__ */ jsxs24("div", { className: "space-y-2", children: [
4016
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-full" }),
4017
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-4/5" }),
4018
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-3/4" })
3801
+ showBio && /* @__PURE__ */ jsxs23("div", { className: "space-y-2", children: [
3802
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-full" }),
3803
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-4/5" }),
3804
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-3/4" })
4019
3805
  ] }),
4020
- showStats && /* @__PURE__ */ jsxs24("div", { className: "flex gap-6", children: [
4021
- /* @__PURE__ */ jsxs24("div", { className: "text-center", children: [
4022
- /* @__PURE__ */ jsx31(TextSkeleton.Subheading, { className: "w-8 mx-auto" }),
4023
- /* @__PURE__ */ jsx31(TextSkeleton.Caption, { className: "w-12 mx-auto" })
3806
+ showStats && /* @__PURE__ */ jsxs23("div", { className: "flex gap-6", children: [
3807
+ /* @__PURE__ */ jsxs23("div", { className: "text-center", children: [
3808
+ /* @__PURE__ */ jsx30(TextSkeleton.Subheading, { className: "w-8 mx-auto" }),
3809
+ /* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-12 mx-auto" })
4024
3810
  ] }),
4025
- /* @__PURE__ */ jsxs24("div", { className: "text-center", children: [
4026
- /* @__PURE__ */ jsx31(TextSkeleton.Subheading, { className: "w-8 mx-auto" }),
4027
- /* @__PURE__ */ jsx31(TextSkeleton.Caption, { className: "w-16 mx-auto" })
3811
+ /* @__PURE__ */ jsxs23("div", { className: "text-center", children: [
3812
+ /* @__PURE__ */ jsx30(TextSkeleton.Subheading, { className: "w-8 mx-auto" }),
3813
+ /* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-16 mx-auto" })
4028
3814
  ] }),
4029
- /* @__PURE__ */ jsxs24("div", { className: "text-center", children: [
4030
- /* @__PURE__ */ jsx31(TextSkeleton.Subheading, { className: "w-8 mx-auto" }),
4031
- /* @__PURE__ */ jsx31(TextSkeleton.Caption, { className: "w-14 mx-auto" })
3815
+ /* @__PURE__ */ jsxs23("div", { className: "text-center", children: [
3816
+ /* @__PURE__ */ jsx30(TextSkeleton.Subheading, { className: "w-8 mx-auto" }),
3817
+ /* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-14 mx-auto" })
4032
3818
  ] })
4033
3819
  ] })
4034
3820
  ] });
@@ -4038,34 +3824,34 @@ function CommentSkeleton({
4038
3824
  showRating = false,
4039
3825
  showReplies = false
4040
3826
  }) {
4041
- return /* @__PURE__ */ jsxs24("div", { className: cn("space-y-3", className), children: [
4042
- /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-3", children: [
4043
- /* @__PURE__ */ jsx31(MediaSkeleton.Avatar, { size: "sm" }),
4044
- /* @__PURE__ */ jsxs24("div", { className: "flex-1 flex items-center gap-4", children: [
4045
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-24" }),
4046
- /* @__PURE__ */ jsx31(TextSkeleton.Caption, { className: "w-16" }),
4047
- showRating && /* @__PURE__ */ jsx31("div", { className: "flex gap-1", children: Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ jsx31(MediaSkeleton.Icon, { size: "sm" }, i)) })
3827
+ return /* @__PURE__ */ jsxs23("div", { className: cn("space-y-3", className), children: [
3828
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
3829
+ /* @__PURE__ */ jsx30(MediaSkeleton.Avatar, { size: "sm" }),
3830
+ /* @__PURE__ */ jsxs23("div", { className: "flex-1 flex items-center gap-4", children: [
3831
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-24" }),
3832
+ /* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-16" }),
3833
+ showRating && /* @__PURE__ */ jsx30("div", { className: "flex gap-1", children: Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ jsx30(MediaSkeleton.Icon, { size: "sm" }, i)) })
4048
3834
  ] })
4049
3835
  ] }),
4050
- /* @__PURE__ */ jsxs24("div", { className: "ml-11 space-y-2", children: [
4051
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-full" }),
4052
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-3/4" }),
4053
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-1/2" })
3836
+ /* @__PURE__ */ jsxs23("div", { className: "ml-11 space-y-2", children: [
3837
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-full" }),
3838
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-3/4" }),
3839
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-1/2" })
4054
3840
  ] }),
4055
- /* @__PURE__ */ jsxs24("div", { className: "ml-11 flex gap-4", children: [
4056
- /* @__PURE__ */ jsx31(TextSkeleton.Caption, { className: "w-12" }),
4057
- /* @__PURE__ */ jsx31(TextSkeleton.Caption, { className: "w-16" }),
4058
- /* @__PURE__ */ jsx31(TextSkeleton.Caption, { className: "w-8" })
3841
+ /* @__PURE__ */ jsxs23("div", { className: "ml-11 flex gap-4", children: [
3842
+ /* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-12" }),
3843
+ /* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-16" }),
3844
+ /* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-8" })
4059
3845
  ] }),
4060
- showReplies && /* @__PURE__ */ jsx31("div", { className: "ml-11 pl-4 border-l border-ods-divider space-y-4", children: Array.from({ length: 2 }).map((_, index) => /* @__PURE__ */ jsxs24("div", { className: "space-y-2", children: [
4061
- /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-3", children: [
4062
- /* @__PURE__ */ jsx31(MediaSkeleton.Avatar, { size: "sm" }),
4063
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-20" }),
4064
- /* @__PURE__ */ jsx31(TextSkeleton.Caption, { className: "w-12" })
3846
+ showReplies && /* @__PURE__ */ jsx30("div", { className: "ml-11 pl-4 border-l border-ods-divider space-y-4", children: Array.from({ length: 2 }).map((_, index) => /* @__PURE__ */ jsxs23("div", { className: "space-y-2", children: [
3847
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
3848
+ /* @__PURE__ */ jsx30(MediaSkeleton.Avatar, { size: "sm" }),
3849
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-20" }),
3850
+ /* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-12" })
4065
3851
  ] }),
4066
- /* @__PURE__ */ jsxs24("div", { className: "ml-11", children: [
4067
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-full" }),
4068
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-2/3" })
3852
+ /* @__PURE__ */ jsxs23("div", { className: "ml-11", children: [
3853
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-full" }),
3854
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-2/3" })
4069
3855
  ] })
4070
3856
  ] }, index)) })
4071
3857
  ] });
@@ -4077,35 +3863,35 @@ function FeatureListSkeleton({
4077
3863
  grouped = false
4078
3864
  }) {
4079
3865
  if (grouped) {
4080
- return /* @__PURE__ */ jsx31("div", { className: cn("space-y-6", className), children: Array.from({ length: 3 }).map((_, groupIndex) => /* @__PURE__ */ jsxs24("div", { className: "space-y-3", children: [
4081
- /* @__PURE__ */ jsx31(TextSkeleton.Subheading, { className: "w-1/3" }),
4082
- /* @__PURE__ */ jsx31("div", { className: "space-y-2", children: Array.from({ length: features / 3 }).map((_2, featureIndex) => /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-3", children: [
4083
- showIcons && /* @__PURE__ */ jsx31(MediaSkeleton.Icon, { size: "sm" }),
4084
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-2/3" })
3866
+ return /* @__PURE__ */ jsx30("div", { className: cn("space-y-6", className), children: Array.from({ length: 3 }).map((_, groupIndex) => /* @__PURE__ */ jsxs23("div", { className: "space-y-3", children: [
3867
+ /* @__PURE__ */ jsx30(TextSkeleton.Subheading, { className: "w-1/3" }),
3868
+ /* @__PURE__ */ jsx30("div", { className: "space-y-2", children: Array.from({ length: features / 3 }).map((_2, featureIndex) => /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
3869
+ showIcons && /* @__PURE__ */ jsx30(MediaSkeleton.Icon, { size: "sm" }),
3870
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-2/3" })
4085
3871
  ] }, featureIndex)) })
4086
3872
  ] }, groupIndex)) });
4087
3873
  }
4088
- return /* @__PURE__ */ jsx31("div", { className: cn("space-y-3", className), children: Array.from({ length: features }).map((_, index) => /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-3", children: [
4089
- showIcons && /* @__PURE__ */ jsx31(MediaSkeleton.Icon, { size: "sm" }),
4090
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-2/3" })
3874
+ return /* @__PURE__ */ jsx30("div", { className: cn("space-y-3", className), children: Array.from({ length: features }).map((_, index) => /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
3875
+ showIcons && /* @__PURE__ */ jsx30(MediaSkeleton.Icon, { size: "sm" }),
3876
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-2/3" })
4091
3877
  ] }, index)) });
4092
3878
  }
4093
3879
  function TimelineSkeleton({
4094
3880
  className,
4095
3881
  items = 5
4096
3882
  }) {
4097
- return /* @__PURE__ */ jsx31("div", { className: cn("space-y-6", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ jsxs24("div", { className: "flex gap-4", children: [
4098
- /* @__PURE__ */ jsxs24("div", { className: "flex flex-col items-center", children: [
4099
- /* @__PURE__ */ jsx31(MediaSkeleton.Icon, { size: "sm" }),
4100
- index < items - 1 && /* @__PURE__ */ jsx31("div", { className: "w-px h-12 bg-ods-border mt-2" })
3883
+ return /* @__PURE__ */ jsx30("div", { className: cn("space-y-6", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ jsxs23("div", { className: "flex gap-4", children: [
3884
+ /* @__PURE__ */ jsxs23("div", { className: "flex flex-col items-center", children: [
3885
+ /* @__PURE__ */ jsx30(MediaSkeleton.Icon, { size: "sm" }),
3886
+ index < items - 1 && /* @__PURE__ */ jsx30("div", { className: "w-px h-12 bg-ods-border mt-2" })
4101
3887
  ] }),
4102
- /* @__PURE__ */ jsxs24("div", { className: "flex-1 space-y-2", children: [
4103
- /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-3", children: [
4104
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-1/3" }),
4105
- /* @__PURE__ */ jsx31(TextSkeleton.Caption, { className: "w-16" })
3888
+ /* @__PURE__ */ jsxs23("div", { className: "flex-1 space-y-2", children: [
3889
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
3890
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-1/3" }),
3891
+ /* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-16" })
4106
3892
  ] }),
4107
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-full" }),
4108
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-3/4" })
3893
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-full" }),
3894
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-3/4" })
4109
3895
  ] })
4110
3896
  ] }, index)) });
4111
3897
  }
@@ -4113,54 +3899,54 @@ function PricingSkeleton({
4113
3899
  className,
4114
3900
  plans = 3
4115
3901
  }) {
4116
- return /* @__PURE__ */ jsx31("div", { className: cn(
3902
+ return /* @__PURE__ */ jsx30("div", { className: cn(
4117
3903
  "grid gap-6",
4118
3904
  plans === 2 && "grid-cols-1 md:grid-cols-2",
4119
3905
  plans === 3 && "grid-cols-1 md:grid-cols-3",
4120
3906
  plans === 4 && "grid-cols-1 md:grid-cols-2 lg:grid-cols-4",
4121
3907
  className
4122
- ), children: Array.from({ length: plans }).map((_, index) => /* @__PURE__ */ jsx31("div", { className: "bg-ods-card border border-ods-border rounded-lg p-6", children: /* @__PURE__ */ jsxs24("div", { className: "space-y-4", children: [
4123
- /* @__PURE__ */ jsx31(TextSkeleton.Subheading, { className: "w-1/2" }),
4124
- /* @__PURE__ */ jsxs24("div", { className: "space-y-1", children: [
4125
- /* @__PURE__ */ jsx31(TextSkeleton.Heading, { className: "w-1/3" }),
4126
- /* @__PURE__ */ jsx31(TextSkeleton.Caption, { className: "w-1/4" })
3908
+ ), children: Array.from({ length: plans }).map((_, index) => /* @__PURE__ */ jsx30("div", { className: "bg-ods-card border border-ods-border rounded-lg p-6", children: /* @__PURE__ */ jsxs23("div", { className: "space-y-4", children: [
3909
+ /* @__PURE__ */ jsx30(TextSkeleton.Subheading, { className: "w-1/2" }),
3910
+ /* @__PURE__ */ jsxs23("div", { className: "space-y-1", children: [
3911
+ /* @__PURE__ */ jsx30(TextSkeleton.Heading, { className: "w-1/3" }),
3912
+ /* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-1/4" })
4127
3913
  ] }),
4128
- /* @__PURE__ */ jsx31("div", { className: "space-y-3 py-4", children: Array.from({ length: 5 }).map((_2, featureIndex) => /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-2", children: [
4129
- /* @__PURE__ */ jsx31(MediaSkeleton.Icon, { size: "sm" }),
4130
- /* @__PURE__ */ jsx31(TextSkeleton.Body, { className: "w-3/4" })
3914
+ /* @__PURE__ */ jsx30("div", { className: "space-y-3 py-4", children: Array.from({ length: 5 }).map((_2, featureIndex) => /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-2", children: [
3915
+ /* @__PURE__ */ jsx30(MediaSkeleton.Icon, { size: "sm" }),
3916
+ /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-3/4" })
4131
3917
  ] }, featureIndex)) }),
4132
- /* @__PURE__ */ jsx31(InteractiveSkeleton.Button, { className: "w-full" })
3918
+ /* @__PURE__ */ jsx30(InteractiveSkeleton.Button, { className: "w-full" })
4133
3919
  ] }) }, index)) });
4134
3920
  }
4135
3921
 
4136
3922
  // src/components/profile/ProfileLoadingSkeleton.tsx
4137
3923
  init_cn();
4138
- import { jsx as jsx32, jsxs as jsxs25 } from "react/jsx-runtime";
3924
+ import { jsx as jsx31, jsxs as jsxs24 } from "react/jsx-runtime";
4139
3925
  function ProfileLoadingSkeleton({ className }) {
4140
- return /* @__PURE__ */ jsxs25("div", { className: cn("space-y-6", className), children: [
4141
- /* @__PURE__ */ jsxs25("div", { className: "flex items-center space-x-4", children: [
4142
- /* @__PURE__ */ jsx32("div", { className: "h-16 w-16 bg-gray-200 rounded-full animate-pulse" }),
4143
- /* @__PURE__ */ jsxs25("div", { className: "space-y-2", children: [
4144
- /* @__PURE__ */ jsx32("div", { className: "h-4 w-32 bg-gray-200 rounded animate-pulse" }),
4145
- /* @__PURE__ */ jsx32("div", { className: "h-3 w-24 bg-gray-200 rounded animate-pulse" })
3926
+ return /* @__PURE__ */ jsxs24("div", { className: cn("space-y-6", className), children: [
3927
+ /* @__PURE__ */ jsxs24("div", { className: "flex items-center space-x-4", children: [
3928
+ /* @__PURE__ */ jsx31("div", { className: "h-16 w-16 bg-gray-200 rounded-full animate-pulse" }),
3929
+ /* @__PURE__ */ jsxs24("div", { className: "space-y-2", children: [
3930
+ /* @__PURE__ */ jsx31("div", { className: "h-4 w-32 bg-gray-200 rounded animate-pulse" }),
3931
+ /* @__PURE__ */ jsx31("div", { className: "h-3 w-24 bg-gray-200 rounded animate-pulse" })
4146
3932
  ] })
4147
3933
  ] }),
4148
- /* @__PURE__ */ jsxs25("div", { className: "space-y-4", children: [
4149
- /* @__PURE__ */ jsx32("div", { className: "h-4 w-full bg-gray-200 rounded animate-pulse" }),
4150
- /* @__PURE__ */ jsx32("div", { className: "h-4 w-3/4 bg-gray-200 rounded animate-pulse" }),
4151
- /* @__PURE__ */ jsx32("div", { className: "h-4 w-1/2 bg-gray-200 rounded animate-pulse" })
3934
+ /* @__PURE__ */ jsxs24("div", { className: "space-y-4", children: [
3935
+ /* @__PURE__ */ jsx31("div", { className: "h-4 w-full bg-gray-200 rounded animate-pulse" }),
3936
+ /* @__PURE__ */ jsx31("div", { className: "h-4 w-3/4 bg-gray-200 rounded animate-pulse" }),
3937
+ /* @__PURE__ */ jsx31("div", { className: "h-4 w-1/2 bg-gray-200 rounded animate-pulse" })
4152
3938
  ] })
4153
3939
  ] });
4154
3940
  }
4155
3941
 
4156
3942
  // src/components/loading/msp-profile-form-skeleton.tsx
4157
3943
  init_cn();
4158
- import { jsx as jsx33, jsxs as jsxs26 } from "react/jsx-runtime";
3944
+ import { jsx as jsx32, jsxs as jsxs25 } from "react/jsx-runtime";
4159
3945
  function MspProfileFormSkeleton({
4160
3946
  className,
4161
3947
  fields = 4
4162
3948
  }) {
4163
- return /* @__PURE__ */ jsxs26(
3949
+ return /* @__PURE__ */ jsxs25(
4164
3950
  "div",
4165
3951
  {
4166
3952
  className: cn(
@@ -4170,13 +3956,13 @@ function MspProfileFormSkeleton({
4170
3956
  role: "status",
4171
3957
  "aria-label": "Loading MSP profile form",
4172
3958
  children: [
4173
- /* @__PURE__ */ jsxs26("div", { className: "flex flex-col space-y-2 h-full", children: [
4174
- /* @__PURE__ */ jsx33(TextSkeleton.Body, { className: "w-28" }),
4175
- /* @__PURE__ */ jsx33("div", { className: "flex-1 min-h-[180px] md:min-h-full", children: /* @__PURE__ */ jsx33(UnifiedSkeleton, { className: "w-full h-full rounded-lg", "aria-label": "Loading company logo" }) })
3959
+ /* @__PURE__ */ jsxs25("div", { className: "flex flex-col space-y-2 h-full", children: [
3960
+ /* @__PURE__ */ jsx32(TextSkeleton.Body, { className: "w-28" }),
3961
+ /* @__PURE__ */ jsx32("div", { className: "flex-1 min-h-[180px] md:min-h-full", children: /* @__PURE__ */ jsx32(UnifiedSkeleton, { className: "w-full h-full rounded-lg", "aria-label": "Loading company logo" }) })
4176
3962
  ] }),
4177
- /* @__PURE__ */ jsx33("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: Array.from({ length: fields }).map((_, idx) => /* @__PURE__ */ jsxs26("div", { className: "space-y-2 flex flex-col", children: [
4178
- /* @__PURE__ */ jsx33(TextSkeleton.Body, { className: "w-40" }),
4179
- /* @__PURE__ */ jsx33(InteractiveSkeleton.Input, {})
3963
+ /* @__PURE__ */ jsx32("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: Array.from({ length: fields }).map((_, idx) => /* @__PURE__ */ jsxs25("div", { className: "space-y-2 flex flex-col", children: [
3964
+ /* @__PURE__ */ jsx32(TextSkeleton.Body, { className: "w-40" }),
3965
+ /* @__PURE__ */ jsx32(InteractiveSkeleton.Input, {})
4180
3966
  ] }, idx)) })
4181
3967
  ]
4182
3968
  }
@@ -4185,9 +3971,9 @@ function MspProfileFormSkeleton({
4185
3971
 
4186
3972
  // src/components/loading/category-card-skeleton.tsx
4187
3973
  init_cn();
4188
- import { jsx as jsx34, jsxs as jsxs27 } from "react/jsx-runtime";
3974
+ import { jsx as jsx33, jsxs as jsxs26 } from "react/jsx-runtime";
4189
3975
  function CategoryCardSkeleton({ className }) {
4190
- return /* @__PURE__ */ jsxs27(
3976
+ return /* @__PURE__ */ jsxs26(
4191
3977
  "article",
4192
3978
  {
4193
3979
  className: cn(
@@ -4197,7 +3983,7 @@ function CategoryCardSkeleton({ className }) {
4197
3983
  role: "status",
4198
3984
  "aria-label": "Loading category card",
4199
3985
  children: [
4200
- /* @__PURE__ */ jsx34("div", { className: "flex gap-6 mb-8 justify-center items-center", children: Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ jsx34(
3986
+ /* @__PURE__ */ jsx33("div", { className: "flex gap-6 mb-8 justify-center items-center", children: Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ jsx33(
4201
3987
  UnifiedSkeleton,
4202
3988
  {
4203
3989
  variant: "circular",
@@ -4206,12 +3992,12 @@ function CategoryCardSkeleton({ className }) {
4206
3992
  },
4207
3993
  i
4208
3994
  )) }),
4209
- /* @__PURE__ */ jsxs27("div", { className: "flex-1 flex flex-col space-y-3", children: [
4210
- /* @__PURE__ */ jsx34(TextSkeleton.Heading, { className: "w-3/4" }),
4211
- /* @__PURE__ */ jsx34(TextSkeleton.Body, { className: "w-1/2" }),
4212
- /* @__PURE__ */ jsx34(TextSkeleton.Body, { className: "w-full" })
3995
+ /* @__PURE__ */ jsxs26("div", { className: "flex-1 flex flex-col space-y-3", children: [
3996
+ /* @__PURE__ */ jsx33(TextSkeleton.Heading, { className: "w-3/4" }),
3997
+ /* @__PURE__ */ jsx33(TextSkeleton.Body, { className: "w-1/2" }),
3998
+ /* @__PURE__ */ jsx33(TextSkeleton.Body, { className: "w-full" })
4213
3999
  ] }),
4214
- /* @__PURE__ */ jsx34("div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ jsx34(UnifiedSkeleton, { className: "w-12 h-12 rounded-[6px]", "aria-label": "Loading button" }) })
4000
+ /* @__PURE__ */ jsx33("div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ jsx33(UnifiedSkeleton, { className: "w-12 h-12 rounded-[6px]", "aria-label": "Loading button" }) })
4215
4001
  ]
4216
4002
  }
4217
4003
  );
@@ -4219,22 +4005,22 @@ function CategoryCardSkeleton({ className }) {
4219
4005
 
4220
4006
  // src/components/loading/category-vendor-selector-skeleton.tsx
4221
4007
  init_cn();
4222
- import { jsx as jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
4008
+ import { jsx as jsx34, jsxs as jsxs27 } from "react/jsx-runtime";
4223
4009
  function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
4224
- return /* @__PURE__ */ jsxs28(
4010
+ return /* @__PURE__ */ jsxs27(
4225
4011
  "div",
4226
4012
  {
4227
4013
  className: cn("bg-ods-card border border-ods-border rounded-lg p-6", className),
4228
4014
  role: "status",
4229
4015
  "aria-label": "Loading category section",
4230
4016
  children: [
4231
- /* @__PURE__ */ jsxs28("div", { className: "mb-6 space-y-2 max-w-xl", children: [
4232
- /* @__PURE__ */ jsx35(TextSkeleton.Heading, { className: "w-1/2" }),
4233
- /* @__PURE__ */ jsx35(TextSkeleton.Body, { className: "w-3/4" })
4017
+ /* @__PURE__ */ jsxs27("div", { className: "mb-6 space-y-2 max-w-xl", children: [
4018
+ /* @__PURE__ */ jsx34(TextSkeleton.Heading, { className: "w-1/2" }),
4019
+ /* @__PURE__ */ jsx34(TextSkeleton.Body, { className: "w-3/4" })
4234
4020
  ] }),
4235
- /* @__PURE__ */ jsx35("div", { className: "space-y-6", children: Array.from({ length: subcategories }).map((_, idx) => /* @__PURE__ */ jsxs28("div", { className: "space-y-2", children: [
4236
- /* @__PURE__ */ jsx35(TextSkeleton.Subheading, { className: "w-1/3" }),
4237
- /* @__PURE__ */ jsx35("div", { className: "grid grid-cols-2 md:grid-cols-3 gap-4", children: Array.from({ length: 2 }).map((__, j) => /* @__PURE__ */ jsx35(UnifiedSkeleton, { className: "h-20 rounded-lg" }, j)) })
4021
+ /* @__PURE__ */ jsx34("div", { className: "space-y-6", children: Array.from({ length: subcategories }).map((_, idx) => /* @__PURE__ */ jsxs27("div", { className: "space-y-2", children: [
4022
+ /* @__PURE__ */ jsx34(TextSkeleton.Subheading, { className: "w-1/3" }),
4023
+ /* @__PURE__ */ jsx34("div", { className: "grid grid-cols-2 md:grid-cols-3 gap-4", children: Array.from({ length: 2 }).map((__, j) => /* @__PURE__ */ jsx34(UnifiedSkeleton, { className: "h-20 rounded-lg" }, j)) })
4238
4024
  ] }, idx)) })
4239
4025
  ]
4240
4026
  }
@@ -4243,90 +4029,90 @@ function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
4243
4029
 
4244
4030
  // src/components/loading/wizard-layout-skeleton.tsx
4245
4031
  init_cn();
4246
- import { jsx as jsx36, jsxs as jsxs29 } from "react/jsx-runtime";
4032
+ import { jsx as jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
4247
4033
  function WizardLayoutSkeleton({ steps = 6, className }) {
4248
- return /* @__PURE__ */ jsxs29("div", { className: cn("space-y-6", className), role: "status", "aria-label": "Loading wizard layout", children: [
4249
- /* @__PURE__ */ jsx36("div", { className: "flex flex-wrap items-center gap-2", children: Array.from({ length: steps }).map((_, i) => /* @__PURE__ */ jsx36(UnifiedSkeleton, { className: "h-6 w-24 rounded" }, i)) }),
4250
- /* @__PURE__ */ jsxs29("div", { className: "space-y-2 max-w-2xl", children: [
4251
- /* @__PURE__ */ jsx36(TextSkeleton.Heading, { className: "w-2/3" }),
4252
- /* @__PURE__ */ jsx36(TextSkeleton.Body, { className: "w-1/2" })
4034
+ return /* @__PURE__ */ jsxs28("div", { className: cn("space-y-6", className), role: "status", "aria-label": "Loading wizard layout", children: [
4035
+ /* @__PURE__ */ jsx35("div", { className: "flex flex-wrap items-center gap-2", children: Array.from({ length: steps }).map((_, i) => /* @__PURE__ */ jsx35(UnifiedSkeleton, { className: "h-6 w-24 rounded" }, i)) }),
4036
+ /* @__PURE__ */ jsxs28("div", { className: "space-y-2 max-w-2xl", children: [
4037
+ /* @__PURE__ */ jsx35(TextSkeleton.Heading, { className: "w-2/3" }),
4038
+ /* @__PURE__ */ jsx35(TextSkeleton.Body, { className: "w-1/2" })
4253
4039
  ] }),
4254
- /* @__PURE__ */ jsxs29("div", { className: "flex justify-between mt-10", children: [
4255
- /* @__PURE__ */ jsx36(UnifiedSkeleton, { className: "h-10 w-24 rounded" }),
4256
- /* @__PURE__ */ jsx36(UnifiedSkeleton, { className: "h-10 w-32 rounded" })
4040
+ /* @__PURE__ */ jsxs28("div", { className: "flex justify-between mt-10", children: [
4041
+ /* @__PURE__ */ jsx35(UnifiedSkeleton, { className: "h-10 w-24 rounded" }),
4042
+ /* @__PURE__ */ jsx35(UnifiedSkeleton, { className: "h-10 w-32 rounded" })
4257
4043
  ] })
4258
4044
  ] });
4259
4045
  }
4260
4046
 
4261
4047
  // src/components/loading/margin-report-skeleton.tsx
4262
- import { jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
4048
+ import { jsx as jsx36, jsxs as jsxs29 } from "react/jsx-runtime";
4263
4049
  function MarginReportSkeleton({ animate = true, description, overlayContent }) {
4264
- return /* @__PURE__ */ jsxs30("main", { className: `bg-ods-bg ${animate ? "animate-pulse" : ""} relative min-h-screen`, children: [
4265
- /* @__PURE__ */ jsxs30("div", { className: "max-w-[1920px] px-6 md:px-20 py-6 md:py-10 mx-auto space-y-10", children: [
4266
- /* @__PURE__ */ jsxs30("div", { className: "space-y-3", children: [
4267
- /* @__PURE__ */ jsx37("div", { className: "h-10 w-72 bg-[#2A2A2A] rounded" }),
4268
- /* @__PURE__ */ jsx37("div", { className: "h-4 w-80 bg-[#2A2A2A] rounded" })
4050
+ return /* @__PURE__ */ jsxs29("main", { className: `bg-ods-bg ${animate ? "animate-pulse" : ""} relative min-h-screen`, children: [
4051
+ /* @__PURE__ */ jsxs29("div", { className: "max-w-[1920px] px-6 md:px-20 py-6 md:py-10 mx-auto space-y-10", children: [
4052
+ /* @__PURE__ */ jsxs29("div", { className: "space-y-3", children: [
4053
+ /* @__PURE__ */ jsx36("div", { className: "h-10 w-72 bg-[#2A2A2A] rounded" }),
4054
+ /* @__PURE__ */ jsx36("div", { className: "h-4 w-80 bg-[#2A2A2A] rounded" })
4269
4055
  ] }),
4270
- /* @__PURE__ */ jsx37("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-6", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsx37("div", { className: "h-32 bg-ods-card border border-ods-border rounded" }, i)) }),
4271
- /* @__PURE__ */ jsxs30("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [
4272
- /* @__PURE__ */ jsxs30("div", { className: "bg-ods-card border border-ods-border rounded-lg p-6 flex items-center gap-4 animate-pulse", children: [
4273
- /* @__PURE__ */ jsx37("div", { className: "w-14 h-14 rounded-lg bg-[#2A2A2A]" }),
4274
- /* @__PURE__ */ jsxs30("div", { className: "flex-1 space-y-2", children: [
4275
- /* @__PURE__ */ jsx37("div", { className: "h-4 bg-[#2A2A2A] rounded w-3/4" }),
4276
- /* @__PURE__ */ jsx37("div", { className: "h-3 bg-[#2A2A2A] rounded w-1/2" })
4056
+ /* @__PURE__ */ jsx36("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-6", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsx36("div", { className: "h-32 bg-ods-card border border-ods-border rounded" }, i)) }),
4057
+ /* @__PURE__ */ jsxs29("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [
4058
+ /* @__PURE__ */ jsxs29("div", { className: "bg-ods-card border border-ods-border rounded-lg p-6 flex items-center gap-4 animate-pulse", children: [
4059
+ /* @__PURE__ */ jsx36("div", { className: "w-14 h-14 rounded-lg bg-[#2A2A2A]" }),
4060
+ /* @__PURE__ */ jsxs29("div", { className: "flex-1 space-y-2", children: [
4061
+ /* @__PURE__ */ jsx36("div", { className: "h-4 bg-[#2A2A2A] rounded w-3/4" }),
4062
+ /* @__PURE__ */ jsx36("div", { className: "h-3 bg-[#2A2A2A] rounded w-1/2" })
4277
4063
  ] })
4278
4064
  ] }),
4279
- /* @__PURE__ */ jsxs30("div", { className: "bg-ods-card border border-ods-border rounded-lg p-6 flex flex-col gap-4 animate-pulse", children: [
4280
- /* @__PURE__ */ jsxs30("div", { className: "flex items-center justify-between gap-4", children: [
4281
- /* @__PURE__ */ jsxs30("div", { className: "flex items-center gap-2", children: [
4282
- /* @__PURE__ */ jsx37("div", { className: "w-10 h-10 rounded-lg bg-[#2A2A2A]" }),
4283
- /* @__PURE__ */ jsxs30("div", { className: "space-y-1", children: [
4284
- /* @__PURE__ */ jsx37("div", { className: "h-4 w-32 bg-[#2A2A2A] rounded" }),
4285
- /* @__PURE__ */ jsx37("div", { className: "h-3 w-20 bg-[#2A2A2A] rounded" })
4065
+ /* @__PURE__ */ jsxs29("div", { className: "bg-ods-card border border-ods-border rounded-lg p-6 flex flex-col gap-4 animate-pulse", children: [
4066
+ /* @__PURE__ */ jsxs29("div", { className: "flex items-center justify-between gap-4", children: [
4067
+ /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-2", children: [
4068
+ /* @__PURE__ */ jsx36("div", { className: "w-10 h-10 rounded-lg bg-[#2A2A2A]" }),
4069
+ /* @__PURE__ */ jsxs29("div", { className: "space-y-1", children: [
4070
+ /* @__PURE__ */ jsx36("div", { className: "h-4 w-32 bg-[#2A2A2A] rounded" }),
4071
+ /* @__PURE__ */ jsx36("div", { className: "h-3 w-20 bg-[#2A2A2A] rounded" })
4286
4072
  ] })
4287
4073
  ] }),
4288
- /* @__PURE__ */ jsx37("div", { className: "h-6 w-36 bg-[#2A2A2A] rounded" })
4074
+ /* @__PURE__ */ jsx36("div", { className: "h-6 w-36 bg-[#2A2A2A] rounded" })
4289
4075
  ] }),
4290
- /* @__PURE__ */ jsx37("div", { className: "h-4 w-40 bg-[#2A2A2A] rounded mt-4" })
4076
+ /* @__PURE__ */ jsx36("div", { className: "h-4 w-40 bg-[#2A2A2A] rounded mt-4" })
4291
4077
  ] })
4292
4078
  ] }),
4293
- /* @__PURE__ */ jsx37("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: ["Commercial Stack", "Open-Source Stack"].map((label, idx) => /* @__PURE__ */ jsxs30("div", { className: "bg-ods-card border border-ods-border rounded-lg overflow-hidden flex flex-col animate-pulse", children: [
4294
- /* @__PURE__ */ jsxs30("div", { className: "flex items-center justify-between px-6 py-4", children: [
4295
- /* @__PURE__ */ jsx37("div", { className: "h-6 w-40 bg-[#2A2A2A] rounded" }),
4296
- /* @__PURE__ */ jsxs30("div", { className: "flex items-center gap-2", children: [
4297
- /* @__PURE__ */ jsx37("div", { className: "h-5 w-20 bg-[#2A2A2A] rounded" }),
4298
- /* @__PURE__ */ jsx37("div", { className: "h-4 w-10 bg-[#2A2A2A] rounded" })
4079
+ /* @__PURE__ */ jsx36("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: ["Commercial Stack", "Open-Source Stack"].map((label, idx) => /* @__PURE__ */ jsxs29("div", { className: "bg-ods-card border border-ods-border rounded-lg overflow-hidden flex flex-col animate-pulse", children: [
4080
+ /* @__PURE__ */ jsxs29("div", { className: "flex items-center justify-between px-6 py-4", children: [
4081
+ /* @__PURE__ */ jsx36("div", { className: "h-6 w-40 bg-[#2A2A2A] rounded" }),
4082
+ /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-2", children: [
4083
+ /* @__PURE__ */ jsx36("div", { className: "h-5 w-20 bg-[#2A2A2A] rounded" }),
4084
+ /* @__PURE__ */ jsx36("div", { className: "h-4 w-10 bg-[#2A2A2A] rounded" })
4299
4085
  ] })
4300
4086
  ] }),
4301
- /* @__PURE__ */ jsx37("div", { className: "flex-1 flex flex-col gap-3 p-3", children: Array.from({ length: 5 }).map((_, j) => /* @__PURE__ */ jsxs30("div", { className: "bg-ods-bg border border-ods-border rounded-lg px-4 py-3 flex items-center justify-between", children: [
4302
- /* @__PURE__ */ jsxs30("div", { className: "flex items-center gap-3 min-w-0", children: [
4303
- /* @__PURE__ */ jsx37("div", { className: "w-12 h-12 bg-[#2A2A2A] rounded-lg flex-shrink-0" }),
4304
- /* @__PURE__ */ jsxs30("div", { className: "flex flex-col min-w-0", children: [
4305
- /* @__PURE__ */ jsx37("div", { className: "h-4 w-32 bg-[#2A2A2A] rounded" }),
4306
- /* @__PURE__ */ jsx37("div", { className: "hidden md:block h-3 w-24 bg-[#2A2A2A] rounded mt-1" })
4087
+ /* @__PURE__ */ jsx36("div", { className: "flex-1 flex flex-col gap-3 p-3", children: Array.from({ length: 5 }).map((_, j) => /* @__PURE__ */ jsxs29("div", { className: "bg-ods-bg border border-ods-border rounded-lg px-4 py-3 flex items-center justify-between", children: [
4088
+ /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-3 min-w-0", children: [
4089
+ /* @__PURE__ */ jsx36("div", { className: "w-12 h-12 bg-[#2A2A2A] rounded-lg flex-shrink-0" }),
4090
+ /* @__PURE__ */ jsxs29("div", { className: "flex flex-col min-w-0", children: [
4091
+ /* @__PURE__ */ jsx36("div", { className: "h-4 w-32 bg-[#2A2A2A] rounded" }),
4092
+ /* @__PURE__ */ jsx36("div", { className: "hidden md:block h-3 w-24 bg-[#2A2A2A] rounded mt-1" })
4307
4093
  ] })
4308
4094
  ] }),
4309
- /* @__PURE__ */ jsxs30("div", { className: "flex items-center gap-1 flex-shrink-0", children: [
4310
- /* @__PURE__ */ jsx37("div", { className: "h-4 w-16 bg-[#2A2A2A] rounded" }),
4311
- /* @__PURE__ */ jsx37("div", { className: "h-3 w-8 bg-[#2A2A2A] rounded" })
4095
+ /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-1 flex-shrink-0", children: [
4096
+ /* @__PURE__ */ jsx36("div", { className: "h-4 w-16 bg-[#2A2A2A] rounded" }),
4097
+ /* @__PURE__ */ jsx36("div", { className: "h-3 w-8 bg-[#2A2A2A] rounded" })
4312
4098
  ] })
4313
4099
  ] }, j)) })
4314
4100
  ] }, idx)) }),
4315
- /* @__PURE__ */ jsx37("div", { className: "h-6 w-60 bg-[#2A2A2A] rounded" }),
4316
- /* @__PURE__ */ jsx37("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsx37("div", { className: "h-48 bg-ods-card border border-ods-border rounded" }, i)) }),
4317
- /* @__PURE__ */ jsxs30("div", { className: "border border-ods-border rounded-3xl p-8 space-y-6", children: [
4318
- /* @__PURE__ */ jsxs30("div", { className: "flex items-start gap-6", children: [
4319
- /* @__PURE__ */ jsxs30("div", { className: "flex-1 space-y-2 min-w-0", children: [
4320
- /* @__PURE__ */ jsx37("div", { className: "h-8 w-72 bg-[#2A2A2A] rounded" }),
4321
- /* @__PURE__ */ jsx37("div", { className: "h-4 w-3/4 bg-[#2A2A2A] rounded" })
4101
+ /* @__PURE__ */ jsx36("div", { className: "h-6 w-60 bg-[#2A2A2A] rounded" }),
4102
+ /* @__PURE__ */ jsx36("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsx36("div", { className: "h-48 bg-ods-card border border-ods-border rounded" }, i)) }),
4103
+ /* @__PURE__ */ jsxs29("div", { className: "border border-ods-border rounded-3xl p-8 space-y-6", children: [
4104
+ /* @__PURE__ */ jsxs29("div", { className: "flex items-start gap-6", children: [
4105
+ /* @__PURE__ */ jsxs29("div", { className: "flex-1 space-y-2 min-w-0", children: [
4106
+ /* @__PURE__ */ jsx36("div", { className: "h-8 w-72 bg-[#2A2A2A] rounded" }),
4107
+ /* @__PURE__ */ jsx36("div", { className: "h-4 w-3/4 bg-[#2A2A2A] rounded" })
4322
4108
  ] }),
4323
- /* @__PURE__ */ jsx37("div", { className: "w-12 h-12 bg-[#2A2A2A] rounded-md shrink-0" })
4109
+ /* @__PURE__ */ jsx36("div", { className: "w-12 h-12 bg-[#2A2A2A] rounded-md shrink-0" })
4324
4110
  ] }),
4325
- /* @__PURE__ */ jsx37("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsx37("div", { className: "h-32 bg-ods-card border border-ods-border rounded" }, i)) })
4111
+ /* @__PURE__ */ jsx36("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsx36("div", { className: "h-32 bg-ods-card border border-ods-border rounded" }, i)) })
4326
4112
  ] })
4327
4113
  ] }),
4328
- overlayContent && /* @__PURE__ */ jsx37("div", { className: "absolute inset-0 bg-ods-card/80 z-10 rounded-lg pointer-events-none", children: /* @__PURE__ */ jsxs30("div", { className: "fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 pointer-events-auto flex flex-col items-center gap-4 text-center px-4", children: [
4329
- description && /* @__PURE__ */ jsx37("h3", { children: description }),
4114
+ overlayContent && /* @__PURE__ */ jsx36("div", { className: "absolute inset-0 bg-ods-card/80 z-10 rounded-lg pointer-events-none", children: /* @__PURE__ */ jsxs29("div", { className: "fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 pointer-events-auto flex flex-col items-center gap-4 text-center px-4", children: [
4115
+ description && /* @__PURE__ */ jsx36("h3", { children: description }),
4330
4116
  overlayContent
4331
4117
  ] }) })
4332
4118
  ] });
@@ -4334,18 +4120,18 @@ function MarginReportSkeleton({ animate = true, description, overlayContent }) {
4334
4120
 
4335
4121
  // src/components/loading/users-grid-skeleton.tsx
4336
4122
  init_cn();
4337
- import { jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime";
4123
+ import { jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
4338
4124
  function UsersGridSkeleton({ rows = 10, className }) {
4339
4125
  const skeletonRows = Array.from({ length: rows });
4340
- return /* @__PURE__ */ jsx38("div", { className: cn("overflow-x-auto rounded-lg border border-ods-border bg-ods-card animate-pulse", className), children: /* @__PURE__ */ jsxs31("table", { className: "min-w-full divide-y divide-ods-border", children: [
4341
- /* @__PURE__ */ jsx38("thead", { className: "bg-[#2A2A2A]", children: /* @__PURE__ */ jsx38("tr", { children: ["Name", "Email", "Role", "Created", "Last Sign-In"].map((h) => /* @__PURE__ */ jsx38("th", { className: "px-4 py-3 text-left text-[12px] font-medium text-ods-text-primary font-['DM_Sans']", children: h }, h)) }) }),
4342
- /* @__PURE__ */ jsx38("tbody", { className: "divide-y divide-ods-border", children: skeletonRows.map((_, idx) => /* @__PURE__ */ jsx38("tr", { children: Array.from({ length: 5 }).map((__, cell) => /* @__PURE__ */ jsx38("td", { className: "px-4 py-3 whitespace-nowrap", children: /* @__PURE__ */ jsx38("div", { className: "h-4 bg-ods-border rounded w-full" }) }, cell)) }, idx)) })
4126
+ return /* @__PURE__ */ jsx37("div", { className: cn("overflow-x-auto rounded-lg border border-ods-border bg-ods-card animate-pulse", className), children: /* @__PURE__ */ jsxs30("table", { className: "min-w-full divide-y divide-ods-border", children: [
4127
+ /* @__PURE__ */ jsx37("thead", { className: "bg-[#2A2A2A]", children: /* @__PURE__ */ jsx37("tr", { children: ["Name", "Email", "Role", "Created", "Last Sign-In"].map((h) => /* @__PURE__ */ jsx37("th", { className: "px-4 py-3 text-left text-[12px] font-medium text-ods-text-primary font-['DM_Sans']", children: h }, h)) }) }),
4128
+ /* @__PURE__ */ jsx37("tbody", { className: "divide-y divide-ods-border", children: skeletonRows.map((_, idx) => /* @__PURE__ */ jsx37("tr", { children: Array.from({ length: 5 }).map((__, cell) => /* @__PURE__ */ jsx37("td", { className: "px-4 py-3 whitespace-nowrap", children: /* @__PURE__ */ jsx37("div", { className: "h-4 bg-ods-border rounded w-full" }) }, cell)) }, idx)) })
4343
4129
  ] }) });
4344
4130
  }
4345
4131
 
4346
4132
  // src/components/loading/organization-icon-skeleton.tsx
4347
4133
  init_cn();
4348
- import { jsx as jsx39 } from "react/jsx-runtime";
4134
+ import { jsx as jsx38 } from "react/jsx-runtime";
4349
4135
  var sizeClasses2 = {
4350
4136
  xs: "w-6 h-6",
4351
4137
  sm: "w-8 h-8",
@@ -4372,27 +4158,27 @@ function OrganizationIconSkeleton({
4372
4158
  !showBackground && "overflow-hidden",
4373
4159
  className
4374
4160
  );
4375
- return /* @__PURE__ */ jsx39(
4161
+ return /* @__PURE__ */ jsx38(
4376
4162
  "div",
4377
4163
  {
4378
4164
  className: containerClasses,
4379
4165
  role: "status",
4380
4166
  "aria-label": "Loading organization icon",
4381
- children: /* @__PURE__ */ jsx39("div", { className: "w-1/2 h-1/2 bg-ods-border rounded-sm animate-pulse" })
4167
+ children: /* @__PURE__ */ jsx38("div", { className: "w-1/2 h-1/2 bg-ods-border rounded-sm animate-pulse" })
4382
4168
  }
4383
4169
  );
4384
4170
  }
4385
4171
 
4386
4172
  // src/components/loading/organization-card-skeleton.tsx
4387
4173
  init_cn();
4388
- import { jsx as jsx40, jsxs as jsxs32 } from "react/jsx-runtime";
4174
+ import { jsx as jsx39, jsxs as jsxs31 } from "react/jsx-runtime";
4389
4175
  function OrganizationCardSkeleton({
4390
4176
  className,
4391
4177
  containerClassName,
4392
4178
  showFooter = true,
4393
4179
  showDescription = true
4394
4180
  }) {
4395
- return /* @__PURE__ */ jsx40(
4181
+ return /* @__PURE__ */ jsx39(
4396
4182
  "div",
4397
4183
  {
4398
4184
  className: cn(
@@ -4402,9 +4188,9 @@ function OrganizationCardSkeleton({
4402
4188
  ),
4403
4189
  role: "status",
4404
4190
  "aria-label": "Loading organization card",
4405
- children: /* @__PURE__ */ jsxs32("div", { className: "p-4 gap-3 flex flex-col", children: [
4406
- /* @__PURE__ */ jsxs32("div", { className: "flex items-start gap-3 w-full", children: [
4407
- /* @__PURE__ */ jsx40(
4191
+ children: /* @__PURE__ */ jsxs31("div", { className: "p-4 gap-3 flex flex-col", children: [
4192
+ /* @__PURE__ */ jsxs31("div", { className: "flex items-start gap-3 w-full", children: [
4193
+ /* @__PURE__ */ jsx39(
4408
4194
  OrganizationIconSkeleton,
4409
4195
  {
4410
4196
  size: "xl",
@@ -4413,29 +4199,29 @@ function OrganizationCardSkeleton({
4413
4199
  className: "w-[60px] h-[60px]"
4414
4200
  }
4415
4201
  ),
4416
- /* @__PURE__ */ jsxs32("div", { className: "flex-1 flex flex-col justify-center py-2 min-w-0 space-y-1", children: [
4417
- /* @__PURE__ */ jsx40(TextSkeleton.Subheading, { className: "w-3/4" }),
4418
- /* @__PURE__ */ jsx40(TextSkeleton.Caption, { className: "w-1/2" })
4202
+ /* @__PURE__ */ jsxs31("div", { className: "flex-1 flex flex-col justify-center py-2 min-w-0 space-y-1", children: [
4203
+ /* @__PURE__ */ jsx39(TextSkeleton.Subheading, { className: "w-3/4" }),
4204
+ /* @__PURE__ */ jsx39(TextSkeleton.Caption, { className: "w-1/2" })
4419
4205
  ] })
4420
4206
  ] }),
4421
- showDescription && /* @__PURE__ */ jsx40("div", { className: "w-full h-12 overflow-hidden flex items-center", children: /* @__PURE__ */ jsxs32("div", { className: "space-y-1 w-full", children: [
4422
- /* @__PURE__ */ jsx40(TextSkeleton.Body, { className: "w-full" }),
4423
- /* @__PURE__ */ jsx40(TextSkeleton.Body, { className: "w-2/3" })
4207
+ showDescription && /* @__PURE__ */ jsx39("div", { className: "w-full h-12 overflow-hidden flex items-center", children: /* @__PURE__ */ jsxs31("div", { className: "space-y-1 w-full", children: [
4208
+ /* @__PURE__ */ jsx39(TextSkeleton.Body, { className: "w-full" }),
4209
+ /* @__PURE__ */ jsx39(TextSkeleton.Body, { className: "w-2/3" })
4424
4210
  ] }) }),
4425
- showFooter && /* @__PURE__ */ jsxs32("div", { className: "flex items-center justify-between gap-2 w-full min-w-0", children: [
4426
- /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-3 md:gap-4 min-w-0 flex-shrink", children: [
4427
- /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-1 flex-shrink-0", children: [
4428
- /* @__PURE__ */ jsx40(MediaSkeleton.Icon, { size: "sm", className: "w-5 h-5" }),
4429
- /* @__PURE__ */ jsx40(TextSkeleton.Caption, { className: "w-8" })
4211
+ showFooter && /* @__PURE__ */ jsxs31("div", { className: "flex items-center justify-between gap-2 w-full min-w-0", children: [
4212
+ /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-3 md:gap-4 min-w-0 flex-shrink", children: [
4213
+ /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-1 flex-shrink-0", children: [
4214
+ /* @__PURE__ */ jsx39(MediaSkeleton.Icon, { size: "sm", className: "w-5 h-5" }),
4215
+ /* @__PURE__ */ jsx39(TextSkeleton.Caption, { className: "w-8" })
4430
4216
  ] }),
4431
- /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-1 flex-shrink-0", children: [
4432
- /* @__PURE__ */ jsx40(MediaSkeleton.Icon, { size: "sm", className: "w-5 h-5" }),
4433
- /* @__PURE__ */ jsx40(TextSkeleton.Caption, { className: "w-10" })
4217
+ /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-1 flex-shrink-0", children: [
4218
+ /* @__PURE__ */ jsx39(MediaSkeleton.Icon, { size: "sm", className: "w-5 h-5" }),
4219
+ /* @__PURE__ */ jsx39(TextSkeleton.Caption, { className: "w-10" })
4434
4220
  ] })
4435
4221
  ] }),
4436
- /* @__PURE__ */ jsx40("div", { className: "flex-shrink-0", children: /* @__PURE__ */ jsxs32("div", { className: "flex items-center gap-1.5 bg-ods-bg border border-ods-border rounded px-2.5 py-1.5", children: [
4437
- /* @__PURE__ */ jsx40("div", { className: "w-4 h-4 bg-ods-border rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx40(MediaSkeleton.Icon, { size: "sm", className: "w-2.5 h-2.5" }) }),
4438
- /* @__PURE__ */ jsx40(TextSkeleton.Caption, { className: "w-16" })
4222
+ /* @__PURE__ */ jsx39("div", { className: "flex-shrink-0", children: /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-1.5 bg-ods-bg border border-ods-border rounded px-2.5 py-1.5", children: [
4223
+ /* @__PURE__ */ jsx39("div", { className: "w-4 h-4 bg-ods-border rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx39(MediaSkeleton.Icon, { size: "sm", className: "w-2.5 h-2.5" }) }),
4224
+ /* @__PURE__ */ jsx39(TextSkeleton.Caption, { className: "w-16" })
4439
4225
  ] }) })
4440
4226
  ] })
4441
4227
  ] })
@@ -4449,7 +4235,7 @@ function OrganizationCardSkeletonGrid({
4449
4235
  showFooter = true,
4450
4236
  showDescription = true
4451
4237
  }) {
4452
- return /* @__PURE__ */ jsx40(
4238
+ return /* @__PURE__ */ jsx39(
4453
4239
  "div",
4454
4240
  {
4455
4241
  className: cn(
@@ -4458,7 +4244,7 @@ function OrganizationCardSkeletonGrid({
4458
4244
  ),
4459
4245
  role: "status",
4460
4246
  "aria-label": `Loading ${count} organization cards`,
4461
- children: Array.from({ length: count }, (_, index) => /* @__PURE__ */ jsx40(
4247
+ children: Array.from({ length: count }, (_, index) => /* @__PURE__ */ jsx39(
4462
4248
  OrganizationCardSkeleton,
4463
4249
  {
4464
4250
  containerClassName,
@@ -4473,9 +4259,9 @@ function OrganizationCardSkeletonGrid({
4473
4259
 
4474
4260
  // src/components/loading/device-card-skeleton.tsx
4475
4261
  init_cn();
4476
- import { jsx as jsx41, jsxs as jsxs33 } from "react/jsx-runtime";
4262
+ import { jsx as jsx40, jsxs as jsxs32 } from "react/jsx-runtime";
4477
4263
  function DeviceCardSkeleton({ className }) {
4478
- return /* @__PURE__ */ jsxs33(
4264
+ return /* @__PURE__ */ jsxs32(
4479
4265
  "div",
4480
4266
  {
4481
4267
  className: cn(
@@ -4485,19 +4271,19 @@ function DeviceCardSkeleton({ className }) {
4485
4271
  role: "status",
4486
4272
  "aria-label": "Loading device card",
4487
4273
  children: [
4488
- /* @__PURE__ */ jsxs33("div", { className: "flex gap-4 items-center px-4 py-3", children: [
4489
- /* @__PURE__ */ jsx41("div", { className: "w-8 h-8 bg-ods-bg border border-ods-border rounded-[6px] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx41("div", { className: "w-4 h-4 bg-ods-border rounded animate-pulse" }) }),
4490
- /* @__PURE__ */ jsx41("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ jsx41("div", { className: "h-6 w-3/4 bg-ods-border rounded animate-pulse" }) }),
4491
- /* @__PURE__ */ jsx41("div", { className: "w-12 h-12 bg-ods-border rounded-[6px] flex-shrink-0 animate-pulse" })
4274
+ /* @__PURE__ */ jsxs32("div", { className: "flex gap-4 items-center px-4 py-3", children: [
4275
+ /* @__PURE__ */ jsx40("div", { className: "w-8 h-8 bg-ods-bg border border-ods-border rounded-[6px] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx40("div", { className: "w-4 h-4 bg-ods-border rounded animate-pulse" }) }),
4276
+ /* @__PURE__ */ jsx40("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ jsx40("div", { className: "h-6 w-3/4 bg-ods-border rounded animate-pulse" }) }),
4277
+ /* @__PURE__ */ jsx40("div", { className: "w-12 h-12 bg-ods-border rounded-[6px] flex-shrink-0 animate-pulse" })
4492
4278
  ] }),
4493
- /* @__PURE__ */ jsxs33("div", { className: "flex gap-4 items-center px-4 py-2", children: [
4494
- /* @__PURE__ */ jsx41("div", { className: "w-24 h-6 bg-ods-border rounded flex-shrink-0 animate-pulse" }),
4495
- /* @__PURE__ */ jsx41(OrganizationIconSkeleton, { size: "sm" }),
4496
- /* @__PURE__ */ jsx41("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ jsx41("div", { className: "h-5 w-1/2 bg-ods-border rounded animate-pulse" }) })
4279
+ /* @__PURE__ */ jsxs32("div", { className: "flex gap-4 items-center px-4 py-2", children: [
4280
+ /* @__PURE__ */ jsx40("div", { className: "w-24 h-6 bg-ods-border rounded flex-shrink-0 animate-pulse" }),
4281
+ /* @__PURE__ */ jsx40(OrganizationIconSkeleton, { size: "sm" }),
4282
+ /* @__PURE__ */ jsx40("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ jsx40("div", { className: "h-5 w-1/2 bg-ods-border rounded animate-pulse" }) })
4497
4283
  ] }),
4498
- /* @__PURE__ */ jsxs33("div", { className: "flex gap-4 items-center px-4 py-2", children: [
4499
- /* @__PURE__ */ jsx41("div", { className: "w-20 h-6 bg-ods-border rounded-full flex-shrink-0 animate-pulse" }),
4500
- /* @__PURE__ */ jsx41("div", { className: "flex-1", children: /* @__PURE__ */ jsx41("div", { className: "h-5 w-40 bg-ods-border rounded animate-pulse" }) })
4284
+ /* @__PURE__ */ jsxs32("div", { className: "flex gap-4 items-center px-4 py-2", children: [
4285
+ /* @__PURE__ */ jsx40("div", { className: "w-20 h-6 bg-ods-border rounded-full flex-shrink-0 animate-pulse" }),
4286
+ /* @__PURE__ */ jsx40("div", { className: "flex-1", children: /* @__PURE__ */ jsx40("div", { className: "h-5 w-40 bg-ods-border rounded animate-pulse" }) })
4501
4287
  ] })
4502
4288
  ]
4503
4289
  }
@@ -4507,7 +4293,7 @@ function DeviceCardSkeletonGrid({
4507
4293
  count = 12,
4508
4294
  className
4509
4295
  }) {
4510
- return /* @__PURE__ */ jsx41(
4296
+ return /* @__PURE__ */ jsx40(
4511
4297
  "div",
4512
4298
  {
4513
4299
  className: cn(
@@ -4516,22 +4302,22 @@ function DeviceCardSkeletonGrid({
4516
4302
  ),
4517
4303
  role: "status",
4518
4304
  "aria-label": `Loading ${count} device cards`,
4519
- children: Array.from({ length: count }, (_, index) => /* @__PURE__ */ jsx41(DeviceCardSkeleton, {}, index))
4305
+ children: Array.from({ length: count }, (_, index) => /* @__PURE__ */ jsx40(DeviceCardSkeleton, {}, index))
4520
4306
  }
4521
4307
  );
4522
4308
  }
4523
4309
 
4524
4310
  // src/components/vendor-page-skeleton.tsx
4525
- import { jsx as jsx42 } from "react/jsx-runtime";
4311
+ import { jsx as jsx41 } from "react/jsx-runtime";
4526
4312
  function VendorPageSkeleton() {
4527
- return /* @__PURE__ */ jsx42(VendorDetailLayoutSkeleton, {});
4313
+ return /* @__PURE__ */ jsx41(VendorDetailLayoutSkeleton, {});
4528
4314
  }
4529
4315
 
4530
4316
  // src/components/why-it-matters.tsx
4531
- import { jsx as jsx43, jsxs as jsxs34 } from "react/jsx-runtime";
4317
+ import { jsx as jsx42, jsxs as jsxs33 } from "react/jsx-runtime";
4532
4318
 
4533
4319
  // src/components/yes-no-display.tsx
4534
- import { jsx as jsx44, jsxs as jsxs35 } from "react/jsx-runtime";
4320
+ import { jsx as jsx43, jsxs as jsxs34 } from "react/jsx-runtime";
4535
4321
  function YesNoDisplay({
4536
4322
  value,
4537
4323
  yesText = "Yes",
@@ -4540,20 +4326,20 @@ function YesNoDisplay({
4540
4326
  className = ""
4541
4327
  }) {
4542
4328
  if (customText) {
4543
- return /* @__PURE__ */ jsxs35("div", { className: `flex items-center gap-2 ${className}`, children: [
4544
- /* @__PURE__ */ jsx44(CheckCircleIcon2, { className: "h-6 w-6" }),
4545
- /* @__PURE__ */ jsx44("span", { className: "text-ods-text-primary text-[16px]", children: customText })
4329
+ return /* @__PURE__ */ jsxs34("div", { className: `flex items-center gap-2 ${className}`, children: [
4330
+ /* @__PURE__ */ jsx43(CheckCircleIcon2, { className: "h-6 w-6" }),
4331
+ /* @__PURE__ */ jsx43("span", { className: "text-ods-text-primary text-[16px]", children: customText })
4546
4332
  ] });
4547
4333
  }
4548
4334
  if (value) {
4549
- return /* @__PURE__ */ jsxs35("div", { className: `flex items-center gap-2 ${className}`, children: [
4550
- /* @__PURE__ */ jsx44(CheckCircleIcon2, { className: "h-6 w-6" }),
4551
- /* @__PURE__ */ jsx44("span", { className: "text-ods-text-primary text-[16px]", children: yesText })
4335
+ return /* @__PURE__ */ jsxs34("div", { className: `flex items-center gap-2 ${className}`, children: [
4336
+ /* @__PURE__ */ jsx43(CheckCircleIcon2, { className: "h-6 w-6" }),
4337
+ /* @__PURE__ */ jsx43("span", { className: "text-ods-text-primary text-[16px]", children: yesText })
4552
4338
  ] });
4553
4339
  }
4554
- return /* @__PURE__ */ jsxs35("div", { className: `flex items-center gap-2 ${className}`, children: [
4555
- /* @__PURE__ */ jsx44(XCircleIcon, { className: "h-6 w-6" }),
4556
- /* @__PURE__ */ jsx44("span", { className: "text-ods-text-secondary text-[16px]", children: noText })
4340
+ return /* @__PURE__ */ jsxs34("div", { className: `flex items-center gap-2 ${className}`, children: [
4341
+ /* @__PURE__ */ jsx43(XCircleIcon, { className: "h-6 w-6" }),
4342
+ /* @__PURE__ */ jsx43("span", { className: "text-ods-text-secondary text-[16px]", children: noText })
4557
4343
  ] });
4558
4344
  }
4559
4345
  function evaluateFeatureValue(value, dataType) {
@@ -4587,16 +4373,16 @@ function evaluateFeatureValue(value, dataType) {
4587
4373
  }
4588
4374
 
4589
4375
  // src/components/made-with-love.tsx
4590
- import { useState as useState6, useEffect as useEffect5 } from "react";
4591
- import { jsx as jsx45, jsxs as jsxs36 } from "react/jsx-runtime";
4376
+ import { useState as useState5, useEffect as useEffect4 } from "react";
4377
+ import { jsx as jsx44, jsxs as jsxs35 } from "react/jsx-runtime";
4592
4378
  function MadeWithLove({
4593
4379
  className = "",
4594
4380
  size = "md",
4595
4381
  showOnMobile = true
4596
4382
  }) {
4597
- const [isMobile, setIsMobile] = useState6(false);
4598
- const [isHovered, setIsHovered] = useState6(false);
4599
- useEffect5(() => {
4383
+ const [isMobile, setIsMobile] = useState5(false);
4384
+ const [isHovered, setIsHovered] = useState5(false);
4385
+ useEffect4(() => {
4600
4386
  const checkMobile = () => {
4601
4387
  setIsMobile(window.innerWidth < 640);
4602
4388
  };
@@ -4662,14 +4448,14 @@ function MadeWithLove({
4662
4448
  marginLeft: "4px",
4663
4449
  textDecoration: "none"
4664
4450
  };
4665
- return /* @__PURE__ */ jsxs36(
4451
+ return /* @__PURE__ */ jsxs35(
4666
4452
  "div",
4667
4453
  {
4668
4454
  style: containerStyle,
4669
4455
  className,
4670
4456
  children: [
4671
4457
  "Made with love by",
4672
- /* @__PURE__ */ jsxs36(
4458
+ /* @__PURE__ */ jsxs35(
4673
4459
  "a",
4674
4460
  {
4675
4461
  href: flamingoUrl,
@@ -4679,14 +4465,14 @@ function MadeWithLove({
4679
4465
  onMouseEnter: () => setIsHovered(true),
4680
4466
  onMouseLeave: () => setIsHovered(false),
4681
4467
  children: [
4682
- /* @__PURE__ */ jsx45("div", { style: logoStyle, children: /* @__PURE__ */ jsx45(
4468
+ /* @__PURE__ */ jsx44("div", { style: logoStyle, children: /* @__PURE__ */ jsx44(
4683
4469
  FlamingoLogo2,
4684
4470
  {
4685
4471
  size: config.logoSize,
4686
4472
  color: "#f357bb"
4687
4473
  }
4688
4474
  ) }),
4689
- /* @__PURE__ */ jsx45("span", { style: textStyle, children: "Flamingo" })
4475
+ /* @__PURE__ */ jsx44("span", { style: textStyle, children: "Flamingo" })
4690
4476
  ]
4691
4477
  }
4692
4478
  )
@@ -4698,7 +4484,7 @@ function MadeWithLove({
4698
4484
  // src/components/date-time-picker.tsx
4699
4485
  init_cn();
4700
4486
  import DatePicker2 from "react-datepicker";
4701
- import { jsx as jsx46, jsxs as jsxs37 } from "react/jsx-runtime";
4487
+ import { jsx as jsx45, jsxs as jsxs36 } from "react/jsx-runtime";
4702
4488
  var inputClassName = cn(
4703
4489
  "flex h-10 w-full rounded-md border px-3 py-2 text-sm ring-offset-background",
4704
4490
  "file:border-0 file:bg-transparent file:text-sm file:font-medium",
@@ -4722,9 +4508,9 @@ function DateTimePicker({
4722
4508
  timeIntervals = 15,
4723
4509
  dateFormat = "MMMM d, yyyy h:mm aa"
4724
4510
  }) {
4725
- return /* @__PURE__ */ jsxs37("div", { className: cn("space-y-2", className), children: [
4726
- label && /* @__PURE__ */ jsx46(Label, { className: "font-['Azeret_Mono'] text-[12px] font-semibold leading-[1em] tracking-[-0.02em] text-ods-text-secondary uppercase", children: label }),
4727
- /* @__PURE__ */ jsx46("div", { className: "w-full", children: /* @__PURE__ */ jsx46(
4511
+ return /* @__PURE__ */ jsxs36("div", { className: cn("space-y-2", className), children: [
4512
+ label && /* @__PURE__ */ jsx45(Label, { className: "font-['Azeret_Mono'] text-[12px] font-semibold leading-[1em] tracking-[-0.02em] text-ods-text-secondary uppercase", children: label }),
4513
+ /* @__PURE__ */ jsx45("div", { className: "w-full", children: /* @__PURE__ */ jsx45(
4728
4514
  DatePicker2,
4729
4515
  {
4730
4516
  selected: value,
@@ -4739,7 +4525,7 @@ function DateTimePicker({
4739
4525
  className: inputClassName
4740
4526
  }
4741
4527
  ) }),
4742
- /* @__PURE__ */ jsx46("style", { dangerouslySetInnerHTML: { __html: `
4528
+ /* @__PURE__ */ jsx45("style", { dangerouslySetInnerHTML: { __html: `
4743
4529
  .react-datepicker-wrapper {
4744
4530
  width: 100% !important;
4745
4531
  display: block !important;
@@ -4844,7 +4630,7 @@ function DateTimePicker({
4844
4630
 
4845
4631
  // src/components/shared/product-release/product-releases-view.tsx
4846
4632
  init_cn();
4847
- import { Fragment as Fragment7, jsx as jsx47, jsxs as jsxs38 } from "react/jsx-runtime";
4633
+ import { Fragment as Fragment6, jsx as jsx46, jsxs as jsxs37 } from "react/jsx-runtime";
4848
4634
  var DEFAULT_ENDPOINT = "/api/releases";
4849
4635
  var DEFAULT_SEARCH_PARAM_KEY = DEV_SECTION_PARAM_KEYS.search;
4850
4636
  var DEFAULT_STATUS_PARAM_KEY = DEV_SECTION_PARAM_KEYS.releaseStatus;
@@ -4873,7 +4659,7 @@ function ReleaseRow({
4873
4659
  fallbackNavigate: router.push
4874
4660
  });
4875
4661
  };
4876
- return /* @__PURE__ */ jsx47(
4662
+ return /* @__PURE__ */ jsx46(
4877
4663
  ProductReleaseCard,
4878
4664
  {
4879
4665
  size: "lg",
@@ -4928,9 +4714,9 @@ function ProductReleasesView({
4928
4714
  router.replace(`${pathname}?${params.toString()}`, { scroll: false });
4929
4715
  };
4930
4716
  if (error) {
4931
- return /* @__PURE__ */ jsx47("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsx47(LoadError, { message: "Failed to load releases.", onRetry: reload }) });
4717
+ return /* @__PURE__ */ jsx46("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsx46(LoadError, { message: "Failed to load releases.", onRetry: reload }) });
4932
4718
  }
4933
- return /* @__PURE__ */ jsx47("div", { className: cn("w-full flex flex-col gap-[40px]", className), children: /* @__PURE__ */ jsx47("div", { className: "min-h-[600px]", children: showEmpty ? /* @__PURE__ */ jsx47("div", { className: "h-[600px] flex items-center justify-center", children: hasActiveFilters ? /* @__PURE__ */ jsx47(
4719
+ return /* @__PURE__ */ jsx46("div", { className: cn("w-full flex flex-col gap-[40px]", className), children: /* @__PURE__ */ jsx46("div", { className: "min-h-[600px]", children: showEmpty ? /* @__PURE__ */ jsx46("div", { className: "h-[600px] flex items-center justify-center", children: hasActiveFilters ? /* @__PURE__ */ jsx46(
4934
4720
  EmptyState,
4935
4721
  {
4936
4722
  type: "search",
@@ -4940,7 +4726,7 @@ function ProductReleasesView({
4940
4726
  ctaText: "Reset Filters",
4941
4727
  onCtaClick: resetFilters
4942
4728
  }
4943
- ) : /* @__PURE__ */ jsx47(
4729
+ ) : /* @__PURE__ */ jsx46(
4944
4730
  EmptyState,
4945
4731
  {
4946
4732
  type: "generic",
@@ -4948,20 +4734,20 @@ function ProductReleasesView({
4948
4734
  description: "Check back soon for product updates!",
4949
4735
  showCTA: false
4950
4736
  }
4951
- ) }) : /* @__PURE__ */ jsxs38(Fragment7, { children: [
4952
- /* @__PURE__ */ jsx47("div", { className: "flex flex-col gap-6", children: Array.from({ length: itemsPerPage }).map((_, i) => {
4737
+ ) }) : /* @__PURE__ */ jsxs37(Fragment6, { children: [
4738
+ /* @__PURE__ */ jsx46("div", { className: "flex flex-col gap-6", children: Array.from({ length: itemsPerPage }).map((_, i) => {
4953
4739
  const release = releases[i];
4954
4740
  const hasData = !!release;
4955
- return /* @__PURE__ */ jsx47(
4741
+ return /* @__PURE__ */ jsx46(
4956
4742
  "div",
4957
4743
  {
4958
4744
  style: { visibility: isLoading || hasData ? "visible" : "hidden" },
4959
- children: isLoading ? /* @__PURE__ */ jsx47(ProductReleaseCardSkeleton, { size: "lg" }) : release ? /* @__PURE__ */ jsx47(ReleaseRow, { release, basePath, buildCardProps }) : /* @__PURE__ */ jsx47(ProductReleaseCardSkeleton, { size: "lg" })
4745
+ children: isLoading ? /* @__PURE__ */ jsx46(ProductReleaseCardSkeleton, { size: "lg" }) : release ? /* @__PURE__ */ jsx46(ReleaseRow, { release, basePath, buildCardProps }) : /* @__PURE__ */ jsx46(ProductReleaseCardSkeleton, { size: "lg" })
4960
4746
  },
4961
4747
  release?.id ?? `slot-${i}`
4962
4748
  );
4963
4749
  }) }),
4964
- /* @__PURE__ */ jsx47("div", { className: "mt-6 md:mt-8 flex justify-center", children: isLoading ? /* @__PURE__ */ jsx47("div", { className: "h-12 m-3 w-64" }) : releases.length > 0 && totalPages > 1 ? /* @__PURE__ */ jsx47(
4750
+ /* @__PURE__ */ jsx46("div", { className: "mt-6 md:mt-8 flex justify-center", children: isLoading ? /* @__PURE__ */ jsx46("div", { className: "h-12 m-3 w-64" }) : releases.length > 0 && totalPages > 1 ? /* @__PURE__ */ jsx46(
4965
4751
  PersistentPaginationWrapper,
4966
4752
  {
4967
4753
  isLoading: false,
@@ -4970,32 +4756,32 @@ function ProductReleasesView({
4970
4756
  onPageChange: goToPage,
4971
4757
  variant: "blog"
4972
4758
  }
4973
- ) : /* @__PURE__ */ jsx47("div", { className: "h-12 m-3 w-64", style: { visibility: "hidden" } }) })
4759
+ ) : /* @__PURE__ */ jsx46("div", { className: "h-12 m-3 w-64", style: { visibility: "hidden" } }) })
4974
4760
  ] }) }) });
4975
4761
  }
4976
4762
 
4977
4763
  // src/components/shared/product-release/release-detail-page.tsx
4978
4764
  init_next_link();
4979
4765
  init_next_navigation();
4980
- import { useState as useState8, useEffect as useEffect6 } from "react";
4766
+ import { useState as useState7, useEffect as useEffect5 } from "react";
4981
4767
 
4982
4768
  // src/components/shared/media-gallery-strip.tsx
4983
- import { useState as useState7 } from "react";
4984
- import { Fragment as Fragment8, jsx as jsx48, jsxs as jsxs39 } from "react/jsx-runtime";
4769
+ import { useState as useState6 } from "react";
4770
+ import { Fragment as Fragment7, jsx as jsx47, jsxs as jsxs38 } from "react/jsx-runtime";
4985
4771
  function isGalleryImage(mediaType) {
4986
4772
  return mediaType !== "video" && mediaType !== "demo";
4987
4773
  }
4988
4774
  function MediaGalleryStrip({ items, maxDisplay, className }) {
4989
- const [galleryOpen, setGalleryOpen] = useState7(false);
4990
- const [galleryIndex, setGalleryIndex] = useState7(0);
4775
+ const [galleryOpen, setGalleryOpen] = useState6(false);
4776
+ const [galleryIndex, setGalleryIndex] = useState6(0);
4991
4777
  if (!items || items.length === 0) return null;
4992
4778
  const display = typeof maxDisplay === "number" ? items.slice(0, Math.max(0, maxDisplay)) : items;
4993
4779
  const galleryImages = display.filter((m) => isGalleryImage(m.media_type)).map((m) => m.media_url);
4994
4780
  const tileClass = "shrink-0 w-[240px] h-[200px] rounded-md overflow-hidden border border-ods-border bg-black transition-opacity";
4995
- return /* @__PURE__ */ jsxs39(Fragment8, { children: [
4996
- /* @__PURE__ */ jsx48("div", { className: `flex gap-6 overflow-x-auto w-full ${className ?? ""}`, children: display.map((mediaItem, index) => {
4781
+ return /* @__PURE__ */ jsxs38(Fragment7, { children: [
4782
+ /* @__PURE__ */ jsx47("div", { className: `flex gap-6 overflow-x-auto w-full ${className ?? ""}`, children: display.map((mediaItem, index) => {
4997
4783
  if (isGalleryImage(mediaItem.media_type)) {
4998
- return /* @__PURE__ */ jsx48(
4784
+ return /* @__PURE__ */ jsx47(
4999
4785
  "button",
5000
4786
  {
5001
4787
  type: "button",
@@ -5005,14 +4791,14 @@ function MediaGalleryStrip({ items, maxDisplay, className }) {
5005
4791
  setGalleryIndex(display.slice(0, index).filter((m) => isGalleryImage(m.media_type)).length);
5006
4792
  setGalleryOpen(true);
5007
4793
  },
5008
- children: /* @__PURE__ */ jsx48("img", { src: mediaItem.media_url, alt: mediaItem.title || `Media ${index + 1}`, className: "w-full h-full object-cover" })
4794
+ children: /* @__PURE__ */ jsx47("img", { src: mediaItem.media_url, alt: mediaItem.title || `Media ${index + 1}`, className: "w-full h-full object-cover" })
5009
4795
  },
5010
4796
  mediaItem.id || index
5011
4797
  );
5012
4798
  }
5013
- return /* @__PURE__ */ jsx48("div", { className: tileClass, children: /* @__PURE__ */ jsx48(Video, { url: mediaItem.media_url, layout: "native" }) }, mediaItem.id || index);
4799
+ return /* @__PURE__ */ jsx47("div", { className: tileClass, children: /* @__PURE__ */ jsx47(Video, { url: mediaItem.media_url, layout: "native" }) }, mediaItem.id || index);
5014
4800
  }) }),
5015
- galleryImages.length > 0 && /* @__PURE__ */ jsx48(
4801
+ galleryImages.length > 0 && /* @__PURE__ */ jsx47(
5016
4802
  ImageGalleryModal,
5017
4803
  {
5018
4804
  images: galleryImages,
@@ -5026,10 +4812,8 @@ function MediaGalleryStrip({ items, maxDisplay, className }) {
5026
4812
 
5027
4813
  // src/components/shared/product-release/release-detail-page.tsx
5028
4814
  import { AlertTriangle, ExternalLink, BookMarked, Sparkles as Sparkles2, TrendingUp, Wrench } from "lucide-react";
5029
- import { Fragment as Fragment9, jsx as jsx49, jsxs as jsxs40 } from "react/jsx-runtime";
5030
- function DefaultMarkdownRenderer({ content }) {
5031
- return /* @__PURE__ */ jsx49("div", { className: "whitespace-pre-wrap", children: content });
5032
- }
4815
+ import { Fragment as Fragment8, jsx as jsx48, jsxs as jsxs39 } from "react/jsx-runtime";
4816
+ var DefaultMarkdownRenderer = RichMarkdownRenderer;
5033
4817
  function ReleaseDetailPage({
5034
4818
  authorHref,
5035
4819
  slug,
@@ -5050,11 +4834,11 @@ function ReleaseDetailPage({
5050
4834
  const showBackButton = backButton !== false;
5051
4835
  const backLabel = (backButton ? backButton.label : void 0) ?? "Back to home";
5052
4836
  const backHref = (backButton ? backButton.href : void 0) ?? "/";
5053
- const [roadmapTasks, setRoadmapTasks] = useState8([]);
5054
- const [deliveryData, setDeliveryData] = useState8(null);
5055
- const [roadmapLoading, setRoadmapLoading] = useState8(false);
5056
- const [deliveryLoading, setDeliveryLoading] = useState8(false);
5057
- useEffect6(() => {
4837
+ const [roadmapTasks, setRoadmapTasks] = useState7([]);
4838
+ const [deliveryData, setDeliveryData] = useState7(null);
4839
+ const [roadmapLoading, setRoadmapLoading] = useState7(false);
4840
+ const [deliveryLoading, setDeliveryLoading] = useState7(false);
4841
+ useEffect5(() => {
5058
4842
  async function fetchLinkedTasks() {
5059
4843
  if (!release) return;
5060
4844
  try {
@@ -5085,12 +4869,12 @@ function ReleaseDetailPage({
5085
4869
  fetchLinkedTasks();
5086
4870
  }, [release, RoadmapSection, DeliverySection, roadmapApiEndpoint, deliveryApiEndpoint]);
5087
4871
  if (!initialData && isLoading) {
5088
- return /* @__PURE__ */ jsx49(PageShell, { children: /* @__PURE__ */ jsx49("div", { className: "pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ jsx49(DetailPageSkeleton, { bare: true, metadataColumns: 4, showImageGallery: true }) }) });
4872
+ return /* @__PURE__ */ jsx48(PageShell, { children: /* @__PURE__ */ jsx48("div", { className: "pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ jsx48(DetailPageSkeleton, { bare: true, metadataColumns: 4, showImageGallery: true }) }) });
5089
4873
  }
5090
4874
  if (error || !release) {
5091
- return /* @__PURE__ */ jsx49(PageShell, { children: /* @__PURE__ */ jsxs40("div", { className: "text-center py-16", children: [
5092
- /* @__PURE__ */ jsx49("h1", { className: "text-4xl font-bold text-ods-text-primary mb-4", children: "Release Not Found" }),
5093
- /* @__PURE__ */ jsx49("p", { className: "text-xl text-ods-text-secondary", children: "The release you're looking for doesn't exist." })
4875
+ return /* @__PURE__ */ jsx48(PageShell, { children: /* @__PURE__ */ jsxs39("div", { className: "text-center py-16", children: [
4876
+ /* @__PURE__ */ jsx48("h1", { className: "text-4xl font-bold text-ods-text-primary mb-4", children: "Release Not Found" }),
4877
+ /* @__PURE__ */ jsx48("p", { className: "text-xl text-ods-text-secondary", children: "The release you're looking for doesn't exist." })
5094
4878
  ] }) });
5095
4879
  }
5096
4880
  const hasBreakingChanges = Array.isArray(release.breaking_changes) && release.breaking_changes.length > 0;
@@ -5116,33 +4900,33 @@ function ReleaseDetailPage({
5116
4900
  const featuresAdded = release.features_added;
5117
4901
  const bugFixed = release.bugs_fixed;
5118
4902
  const improvements = release.improvements;
5119
- return /* @__PURE__ */ jsx49(PageShell, { children: /* @__PURE__ */ jsx49(
4903
+ return /* @__PURE__ */ jsx48(PageShell, { children: /* @__PURE__ */ jsx48(
5120
4904
  PageLayout,
5121
4905
  {
5122
4906
  backButton: showBackButton ? { label: backLabel, onClick: () => router.push(backHref) } : void 0,
5123
- children: /* @__PURE__ */ jsxs40("div", { className: "space-y-6 md:space-y-8", children: [
5124
- /* @__PURE__ */ jsx49("div", { className: "flex flex-col md:flex-row md:items-end gap-4 w-full", children: /* @__PURE__ */ jsxs40("div", { className: "flex-1 flex flex-col gap-2", children: [
5125
- /* @__PURE__ */ jsx49("h1", { className: "text-h1 tracking-[-1.12px] text-ods-text-primary", children: releaseTitle }),
5126
- /* @__PURE__ */ jsxs40("p", { className: "text-h4 text-ods-text-secondary", children: [
4907
+ children: /* @__PURE__ */ jsxs39("div", { className: "space-y-6 md:space-y-8", children: [
4908
+ /* @__PURE__ */ jsx48("div", { className: "flex flex-col md:flex-row md:items-end gap-4 w-full", children: /* @__PURE__ */ jsxs39("div", { className: "flex-1 flex flex-col gap-2", children: [
4909
+ /* @__PURE__ */ jsx48("h1", { className: "text-h1 tracking-[-1.12px] text-ods-text-primary", children: releaseTitle }),
4910
+ /* @__PURE__ */ jsxs39("p", { className: "text-h4 text-ods-text-secondary", children: [
5127
4911
  "Version: ",
5128
4912
  releaseVersion
5129
4913
  ] })
5130
4914
  ] }) }),
5131
- /* @__PURE__ */ jsx49(EntityTagBadges, { tags: release.product_release_tags }),
5132
- /* @__PURE__ */ jsxs40("div", { className: "grid grid-cols-1 md:grid-cols-4 border border-ods-border rounded-md overflow-hidden w-full", children: [
5133
- /* @__PURE__ */ jsx49("div", { className: "bg-ods-card border-b md:border-b-0 md:border-r border-ods-border p-4 flex flex-col gap-3", children: /* @__PURE__ */ jsxs40("div", { className: "flex flex-col gap-0", children: [
5134
- /* @__PURE__ */ jsx49("p", { className: "text-h4 text-ods-text-primary", children: releaseType.toLocaleUpperCase() }),
5135
- /* @__PURE__ */ jsx49("p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: "Release Type" })
4915
+ /* @__PURE__ */ jsx48(EntityTagBadges, { tags: release.product_release_tags }),
4916
+ /* @__PURE__ */ jsxs39("div", { className: "grid grid-cols-1 md:grid-cols-4 border border-ods-border rounded-md overflow-hidden w-full", children: [
4917
+ /* @__PURE__ */ jsx48("div", { className: "bg-ods-card border-b md:border-b-0 md:border-r border-ods-border p-4 flex flex-col gap-3", children: /* @__PURE__ */ jsxs39("div", { className: "flex flex-col gap-0", children: [
4918
+ /* @__PURE__ */ jsx48("p", { className: "text-h4 text-ods-text-primary", children: releaseType.toLocaleUpperCase() }),
4919
+ /* @__PURE__ */ jsx48("p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: "Release Type" })
5136
4920
  ] }) }),
5137
- /* @__PURE__ */ jsx49("div", { className: "bg-ods-card border-b md:border-b-0 md:border-r border-ods-border p-4 flex flex-col gap-3", children: /* @__PURE__ */ jsxs40("div", { className: "flex flex-col gap-0", children: [
5138
- /* @__PURE__ */ jsx49("p", { className: "text-h4 text-ods-text-primary", children: releaseStatus.toLocaleUpperCase() }),
5139
- /* @__PURE__ */ jsx49("p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: "Release Status" })
4921
+ /* @__PURE__ */ jsx48("div", { className: "bg-ods-card border-b md:border-b-0 md:border-r border-ods-border p-4 flex flex-col gap-3", children: /* @__PURE__ */ jsxs39("div", { className: "flex flex-col gap-0", children: [
4922
+ /* @__PURE__ */ jsx48("p", { className: "text-h4 text-ods-text-primary", children: releaseStatus.toLocaleUpperCase() }),
4923
+ /* @__PURE__ */ jsx48("p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: "Release Status" })
5140
4924
  ] }) }),
5141
- /* @__PURE__ */ jsx49("div", { className: "bg-ods-card border-b md:border-b-0 md:border-r border-ods-border p-4 flex flex-col gap-3", children: /* @__PURE__ */ jsxs40("div", { className: "flex flex-col gap-0", children: [
5142
- /* @__PURE__ */ jsx49("p", { className: "text-h4 text-ods-text-primary", children: formatReleaseDate(releaseDate) }),
5143
- /* @__PURE__ */ jsx49("p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: "Release Date" })
4925
+ /* @__PURE__ */ jsx48("div", { className: "bg-ods-card border-b md:border-b-0 md:border-r border-ods-border p-4 flex flex-col gap-3", children: /* @__PURE__ */ jsxs39("div", { className: "flex flex-col gap-0", children: [
4926
+ /* @__PURE__ */ jsx48("p", { className: "text-h4 text-ods-text-primary", children: formatReleaseDate(releaseDate) }),
4927
+ /* @__PURE__ */ jsx48("p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: "Release Date" })
5144
4928
  ] }) }),
5145
- /* @__PURE__ */ jsx49(
4929
+ /* @__PURE__ */ jsx48(
5146
4930
  EntityMetadataAuthorCell,
5147
4931
  {
5148
4932
  author: author ?? { full_name: null, avatar_url: null },
@@ -5150,9 +4934,9 @@ function ReleaseDetailPage({
5150
4934
  }
5151
4935
  )
5152
4936
  ] }),
5153
- /* @__PURE__ */ jsx49(MediaGalleryStrip, { items: releaseMedia ?? [], maxDisplay: 5 }),
5154
- releaseSummary && /* @__PURE__ */ jsx49("div", { className: "text-h4 text-ods-text-primary", children: /* @__PURE__ */ jsx49("p", { children: releaseSummary }) }),
5155
- VideoDisplaySection ? /* @__PURE__ */ jsx49(
4937
+ /* @__PURE__ */ jsx48(MediaGalleryStrip, { items: releaseMedia ?? [], maxDisplay: 5 }),
4938
+ releaseSummary && /* @__PURE__ */ jsx48("div", { className: "text-h4 text-ods-text-primary", children: /* @__PURE__ */ jsx48("p", { children: releaseSummary }) }),
4939
+ VideoDisplaySection ? /* @__PURE__ */ jsx48(
5156
4940
  VideoDisplaySection,
5157
4941
  {
5158
4942
  mainVideoUrl,
@@ -5166,8 +4950,8 @@ function ReleaseDetailPage({
5166
4950
  srtContent: release?.srt_content,
5167
4951
  captionsUrl: release?.captionsUrl
5168
4952
  }
5169
- ) : /* @__PURE__ */ jsxs40(Fragment9, { children: [
5170
- youtubeUrl && /* @__PURE__ */ jsx49(
4953
+ ) : /* @__PURE__ */ jsxs39(Fragment8, { children: [
4954
+ youtubeUrl && /* @__PURE__ */ jsx48(
5171
4955
  Video,
5172
4956
  {
5173
4957
  kind: "youtube",
@@ -5176,7 +4960,7 @@ function ReleaseDetailPage({
5176
4960
  layout: "native"
5177
4961
  }
5178
4962
  ),
5179
- !youtubeUrl && mainVideoUrl && /* @__PURE__ */ jsx49(
4963
+ !youtubeUrl && mainVideoUrl && /* @__PURE__ */ jsx48(
5180
4964
  Video,
5181
4965
  {
5182
4966
  url: mainVideoUrl,
@@ -5185,7 +4969,7 @@ function ReleaseDetailPage({
5185
4969
  layout: "centered"
5186
4970
  }
5187
4971
  ),
5188
- highlightVideoUrl && /* @__PURE__ */ jsx49(
4972
+ highlightVideoUrl && /* @__PURE__ */ jsx48(
5189
4973
  Video,
5190
4974
  {
5191
4975
  url: highlightVideoUrl,
@@ -5194,56 +4978,56 @@ function ReleaseDetailPage({
5194
4978
  }
5195
4979
  )
5196
4980
  ] }),
5197
- releaseContent && /* @__PURE__ */ jsx49("div", { className: "text-h4 text-ods-text-primary", children: /* @__PURE__ */ jsx49(MarkdownRenderer, { content: releaseContent }) }),
5198
- hasBreakingChanges && /* @__PURE__ */ jsx49(Card, { className: "border-red-500 bg-red-500/10", children: /* @__PURE__ */ jsx49(CardContent, { className: "p-6", children: /* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-3", children: [
5199
- /* @__PURE__ */ jsx49(AlertTriangle, { className: "h-6 w-6 text-red-500" }),
5200
- /* @__PURE__ */ jsxs40("div", { children: [
5201
- /* @__PURE__ */ jsx49("h3", { className: "font-bold text-red-500 text-lg", children: "Breaking Changes" }),
5202
- /* @__PURE__ */ jsx49("p", { className: "text-ods-text-secondary", children: "This release contains breaking changes. Review carefully before upgrading." })
4981
+ releaseContent && /* @__PURE__ */ jsx48("div", { className: "text-h4 text-ods-text-primary", children: /* @__PURE__ */ jsx48(MarkdownRenderer, { content: releaseContent }) }),
4982
+ hasBreakingChanges && /* @__PURE__ */ jsx48(Card, { className: "border-red-500 bg-red-500/10", children: /* @__PURE__ */ jsx48(CardContent, { className: "p-6", children: /* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-3", children: [
4983
+ /* @__PURE__ */ jsx48(AlertTriangle, { className: "h-6 w-6 text-red-500" }),
4984
+ /* @__PURE__ */ jsxs39("div", { children: [
4985
+ /* @__PURE__ */ jsx48("h3", { className: "font-bold text-red-500 text-lg", children: "Breaking Changes" }),
4986
+ /* @__PURE__ */ jsx48("p", { className: "text-ods-text-secondary", children: "This release contains breaking changes. Review carefully before upgrading." })
5203
4987
  ] })
5204
4988
  ] }) }) }),
5205
- /* @__PURE__ */ jsx49(
4989
+ /* @__PURE__ */ jsx48(
5206
4990
  ReleaseChangelogSection,
5207
4991
  {
5208
4992
  title: "Breaking Changes",
5209
4993
  entries: breakingChanges || [],
5210
4994
  isBreaking: true,
5211
4995
  hideTitle: true,
5212
- icon: /* @__PURE__ */ jsx49(AlertTriangle, { className: "h-6 w-6" }),
4996
+ icon: /* @__PURE__ */ jsx48(AlertTriangle, { className: "h-6 w-6" }),
5213
4997
  SimpleMarkdownRenderer: MarkdownRenderer
5214
4998
  }
5215
4999
  ),
5216
- /* @__PURE__ */ jsx49(
5000
+ /* @__PURE__ */ jsx48(
5217
5001
  ReleaseChangelogSection,
5218
5002
  {
5219
5003
  title: "Features Added",
5220
5004
  entries: featuresAdded || [],
5221
- icon: /* @__PURE__ */ jsx49(Sparkles2, { className: "h-6 w-6" }),
5005
+ icon: /* @__PURE__ */ jsx48(Sparkles2, { className: "h-6 w-6" }),
5222
5006
  previewFirst: true,
5223
5007
  SimpleMarkdownRenderer: MarkdownRenderer
5224
5008
  }
5225
5009
  ),
5226
- /* @__PURE__ */ jsx49(
5010
+ /* @__PURE__ */ jsx48(
5227
5011
  ReleaseChangelogSection,
5228
5012
  {
5229
5013
  title: "Bugs Fixed",
5230
5014
  entries: bugFixed || [],
5231
- icon: /* @__PURE__ */ jsx49(Wrench, { className: "h-6 w-6" }),
5015
+ icon: /* @__PURE__ */ jsx48(Wrench, { className: "h-6 w-6" }),
5232
5016
  previewFirst: true,
5233
5017
  SimpleMarkdownRenderer: MarkdownRenderer
5234
5018
  }
5235
5019
  ),
5236
- /* @__PURE__ */ jsx49(
5020
+ /* @__PURE__ */ jsx48(
5237
5021
  ReleaseChangelogSection,
5238
5022
  {
5239
5023
  title: "Improvements",
5240
5024
  entries: improvements || [],
5241
- icon: /* @__PURE__ */ jsx49(TrendingUp, { className: "h-6 w-6" }),
5025
+ icon: /* @__PURE__ */ jsx48(TrendingUp, { className: "h-6 w-6" }),
5242
5026
  previewFirst: true,
5243
5027
  SimpleMarkdownRenderer: MarkdownRenderer
5244
5028
  }
5245
5029
  ),
5246
- !VideoDisplaySection && VideoSection && videoBites && videoBites.length > 0 && /* @__PURE__ */ jsx49(
5030
+ !VideoDisplaySection && VideoSection && videoBites && videoBites.length > 0 && /* @__PURE__ */ jsx48(
5247
5031
  VideoSection,
5248
5032
  {
5249
5033
  bites: videoBites,
@@ -5251,9 +5035,9 @@ function ReleaseDetailPage({
5251
5035
  filterPublished: true
5252
5036
  }
5253
5037
  ),
5254
- RoadmapSection && (roadmapLoading || roadmapTasks.length > 0) && /* @__PURE__ */ jsxs40("div", { className: "space-y-4 w-full", children: [
5255
- /* @__PURE__ */ jsx49("p", { className: "text-h5 tracking-[-0.28px] text-ods-text-secondary", children: "Related Roadmap Items" }),
5256
- /* @__PURE__ */ jsx49(
5038
+ RoadmapSection && (roadmapLoading || roadmapTasks.length > 0) && /* @__PURE__ */ jsxs39("div", { className: "space-y-4 w-full", children: [
5039
+ /* @__PURE__ */ jsx48("p", { className: "text-h5 tracking-[-0.28px] text-ods-text-secondary", children: "Related Roadmap Items" }),
5040
+ /* @__PURE__ */ jsx48(
5257
5041
  RoadmapSection,
5258
5042
  {
5259
5043
  items: roadmapTasks,
@@ -5268,9 +5052,9 @@ function ReleaseDetailPage({
5268
5052
  }
5269
5053
  )
5270
5054
  ] }),
5271
- DeliverySection && (deliveryLoading || deliveryData && (deliveryData.completed.length > 0 || deliveryData.inProgress.length > 0)) && /* @__PURE__ */ jsxs40("div", { className: "w-full space-y-4", children: [
5272
- /* @__PURE__ */ jsx49("p", { className: "text-h5 tracking-[-0.28px] text-ods-text-secondary", children: "Related Enhancements and Bug-fixes" }),
5273
- /* @__PURE__ */ jsx49(
5055
+ DeliverySection && (deliveryLoading || deliveryData && (deliveryData.completed.length > 0 || deliveryData.inProgress.length > 0)) && /* @__PURE__ */ jsxs39("div", { className: "w-full space-y-4", children: [
5056
+ /* @__PURE__ */ jsx48("p", { className: "text-h5 tracking-[-0.28px] text-ods-text-secondary", children: "Related Enhancements and Bug-fixes" }),
5057
+ /* @__PURE__ */ jsx48(
5274
5058
  DeliverySection,
5275
5059
  {
5276
5060
  data: deliveryData,
@@ -5278,13 +5062,13 @@ function ReleaseDetailPage({
5278
5062
  }
5279
5063
  )
5280
5064
  ] }),
5281
- (githubReleases?.length || knowledgeBaseLinks?.length || migrationGuideUrl || documentationUrl) && /* @__PURE__ */ jsxs40("div", { className: "space-y-1 w-full", children: [
5282
- /* @__PURE__ */ jsx49("p", { className: "text-h5 tracking-[-0.28px] text-ods-text-secondary", children: "Related Links" }),
5283
- /* @__PURE__ */ jsx49(Card, { className: "bg-ods-card border-ods-border p-6", children: /* @__PURE__ */ jsxs40("div", { className: "space-y-4", children: [
5284
- githubReleases && githubReleases.length > 0 && /* @__PURE__ */ jsx49(Fragment9, { children: githubReleases.map((ghRelease) => /* @__PURE__ */ jsxs40("div", { className: "flex items-start gap-1", children: [
5285
- /* @__PURE__ */ jsx49(GitHubIcon, { className: "shrink-0", width: 24, height: 24, color: "var(--color-text-secondary)" }),
5286
- /* @__PURE__ */ jsx49("span", { className: "text-h4 text-ods-text-primary", children: "Github Release" }),
5287
- /* @__PURE__ */ jsx49(
5065
+ (githubReleases?.length || knowledgeBaseLinks?.length || migrationGuideUrl || documentationUrl) && /* @__PURE__ */ jsxs39("div", { className: "space-y-1 w-full", children: [
5066
+ /* @__PURE__ */ jsx48("p", { className: "text-h5 tracking-[-0.28px] text-ods-text-secondary", children: "Related Links" }),
5067
+ /* @__PURE__ */ jsx48(Card, { className: "bg-ods-card border-ods-border p-6", children: /* @__PURE__ */ jsxs39("div", { className: "space-y-4", children: [
5068
+ githubReleases && githubReleases.length > 0 && /* @__PURE__ */ jsx48(Fragment8, { children: githubReleases.map((ghRelease) => /* @__PURE__ */ jsxs39("div", { className: "flex items-start gap-1", children: [
5069
+ /* @__PURE__ */ jsx48(GitHubIcon, { className: "shrink-0", width: 24, height: 24, color: "var(--color-text-secondary)" }),
5070
+ /* @__PURE__ */ jsx48("span", { className: "text-h4 text-ods-text-primary", children: "Github Release" }),
5071
+ /* @__PURE__ */ jsx48(
5288
5072
  "a",
5289
5073
  {
5290
5074
  href: ghRelease.github_release_url,
@@ -5294,15 +5078,15 @@ function ReleaseDetailPage({
5294
5078
  children: ghRelease.github_release_url.split("/").pop()
5295
5079
  }
5296
5080
  ),
5297
- /* @__PURE__ */ jsx49(ExternalLink, { className: "h-6 w-6 text-[#ffc008] shrink-0" })
5081
+ /* @__PURE__ */ jsx48(ExternalLink, { className: "h-6 w-6 text-[#ffc008] shrink-0" })
5298
5082
  ] }, ghRelease.id)) }),
5299
- knowledgeBaseLinks && knowledgeBaseLinks.length > 0 && /* @__PURE__ */ jsx49(Fragment9, { children: knowledgeBaseLinks.map((linkObj) => {
5083
+ knowledgeBaseLinks && knowledgeBaseLinks.length > 0 && /* @__PURE__ */ jsx48(Fragment8, { children: knowledgeBaseLinks.map((linkObj) => {
5300
5084
  const path = typeof linkObj === "string" ? linkObj : linkObj.kb_article_path;
5301
5085
  const linkId = typeof linkObj === "string" ? path : linkObj.id || path;
5302
- return /* @__PURE__ */ jsxs40("div", { className: "flex items-start gap-1", children: [
5303
- /* @__PURE__ */ jsx49(BookMarked, { className: "h-6 w-6 text-ods-text-secondary shrink-0" }),
5304
- /* @__PURE__ */ jsx49("span", { className: "text-h4 text-ods-text-primary", children: "Knowledge Base" }),
5305
- /* @__PURE__ */ jsx49(
5086
+ return /* @__PURE__ */ jsxs39("div", { className: "flex items-start gap-1", children: [
5087
+ /* @__PURE__ */ jsx48(BookMarked, { className: "h-6 w-6 text-ods-text-secondary shrink-0" }),
5088
+ /* @__PURE__ */ jsx48("span", { className: "text-h4 text-ods-text-primary", children: "Knowledge Base" }),
5089
+ /* @__PURE__ */ jsx48(
5306
5090
  next_link_default,
5307
5091
  {
5308
5092
  href: path.startsWith("http") ? path : `/knowledge-base${path.startsWith("/") ? "" : "/"}${path}`,
@@ -5310,12 +5094,12 @@ function ReleaseDetailPage({
5310
5094
  children: path.replace(/^\//, "").split("/").pop()?.replace(/-/g, " ") || "View Article"
5311
5095
  }
5312
5096
  ),
5313
- /* @__PURE__ */ jsx49(ExternalLink, { className: "h-6 w-6 text-[#ffc008] shrink-0" })
5097
+ /* @__PURE__ */ jsx48(ExternalLink, { className: "h-6 w-6 text-[#ffc008] shrink-0" })
5314
5098
  ] }, linkId);
5315
5099
  }) }),
5316
- migrationGuideUrl && /* @__PURE__ */ jsxs40("div", { className: "flex items-start gap-1", children: [
5317
- /* @__PURE__ */ jsx49(BookMarked, { className: "h-6 w-6 text-ods-text-secondary shrink-0" }),
5318
- /* @__PURE__ */ jsx49(
5100
+ migrationGuideUrl && /* @__PURE__ */ jsxs39("div", { className: "flex items-start gap-1", children: [
5101
+ /* @__PURE__ */ jsx48(BookMarked, { className: "h-6 w-6 text-ods-text-secondary shrink-0" }),
5102
+ /* @__PURE__ */ jsx48(
5319
5103
  "a",
5320
5104
  {
5321
5105
  href: migrationGuideUrl,
@@ -5325,11 +5109,11 @@ function ReleaseDetailPage({
5325
5109
  children: "\u{1F4D6} Migration Guide"
5326
5110
  }
5327
5111
  ),
5328
- /* @__PURE__ */ jsx49(ExternalLink, { className: "h-6 w-6 text-[#ffc008] shrink-0" })
5112
+ /* @__PURE__ */ jsx48(ExternalLink, { className: "h-6 w-6 text-[#ffc008] shrink-0" })
5329
5113
  ] }),
5330
- documentationUrl && /* @__PURE__ */ jsxs40("div", { className: "flex items-start gap-1", children: [
5331
- /* @__PURE__ */ jsx49(BookMarked, { className: "h-6 w-6 text-ods-text-secondary shrink-0" }),
5332
- /* @__PURE__ */ jsx49(
5114
+ documentationUrl && /* @__PURE__ */ jsxs39("div", { className: "flex items-start gap-1", children: [
5115
+ /* @__PURE__ */ jsx48(BookMarked, { className: "h-6 w-6 text-ods-text-secondary shrink-0" }),
5116
+ /* @__PURE__ */ jsx48(
5333
5117
  "a",
5334
5118
  {
5335
5119
  href: documentationUrl,
@@ -5339,7 +5123,7 @@ function ReleaseDetailPage({
5339
5123
  children: "\u{1F4DA} Documentation"
5340
5124
  }
5341
5125
  ),
5342
- /* @__PURE__ */ jsx49(ExternalLink, { className: "h-6 w-6 text-[#ffc008] shrink-0" })
5126
+ /* @__PURE__ */ jsx48(ExternalLink, { className: "h-6 w-6 text-[#ffc008] shrink-0" })
5343
5127
  ] })
5344
5128
  ] }) })
5345
5129
  ] })
@@ -5349,24 +5133,24 @@ function ReleaseDetailPage({
5349
5133
  }
5350
5134
 
5351
5135
  // src/components/shared/product-release/release-detail-skeleton.tsx
5352
- import { jsx as jsx50 } from "react/jsx-runtime";
5136
+ import { jsx as jsx49 } from "react/jsx-runtime";
5353
5137
  function ReleaseDetailSkeleton() {
5354
- return /* @__PURE__ */ jsx50(DetailPageSkeleton, { metadataColumns: 4, showImageGallery: true });
5138
+ return /* @__PURE__ */ jsx49(DetailPageSkeleton, { metadataColumns: 4, showImageGallery: true });
5355
5139
  }
5356
5140
 
5357
5141
  // src/components/shared/roadmap/roadmap-grid.tsx
5358
- import { useEffect as useEffect8, useRef as useRef5, useState as useState10 } from "react";
5142
+ import { useEffect as useEffect7, useRef as useRef4, useState as useState9 } from "react";
5359
5143
 
5360
5144
  // src/components/shared/roadmap/use-roadmap-voting.ts
5361
- import { useState as useState9, useEffect as useEffect7, useCallback as useCallback4 } from "react";
5145
+ import { useState as useState8, useEffect as useEffect6, useCallback as useCallback3 } from "react";
5362
5146
  var DEFAULT_VOTE_ENDPOINT = "/api/roadmap/vote";
5363
5147
  var DEFAULT_STORAGE_KEY = "roadmap_votes_v1";
5364
5148
  function useRoadmapVoting(options = {}) {
5365
5149
  const voteApiEndpoint = options.voteApiEndpoint ?? DEFAULT_VOTE_ENDPOINT;
5366
5150
  const storageKey = options.storageKey ?? DEFAULT_STORAGE_KEY;
5367
- const [votes, setVotes] = useState9({});
5368
- const [isLoading, setIsLoading] = useState9(true);
5369
- useEffect7(() => {
5151
+ const [votes, setVotes] = useState8({});
5152
+ const [isLoading, setIsLoading] = useState8(true);
5153
+ useEffect6(() => {
5370
5154
  setIsLoading(true);
5371
5155
  setVotes({});
5372
5156
  try {
@@ -5380,7 +5164,7 @@ function useRoadmapVoting(options = {}) {
5380
5164
  setIsLoading(false);
5381
5165
  }
5382
5166
  }, [storageKey]);
5383
- useEffect7(() => {
5167
+ useEffect6(() => {
5384
5168
  if (!isLoading) {
5385
5169
  try {
5386
5170
  localStorage.setItem(storageKey, JSON.stringify(votes));
@@ -5389,13 +5173,13 @@ function useRoadmapVoting(options = {}) {
5389
5173
  }
5390
5174
  }
5391
5175
  }, [votes, isLoading, storageKey]);
5392
- const getVote = useCallback4(
5176
+ const getVote = useCallback3(
5393
5177
  (taskId) => {
5394
5178
  return votes[taskId] || null;
5395
5179
  },
5396
5180
  [votes]
5397
5181
  );
5398
- const toggleVote = useCallback4(
5182
+ const toggleVote = useCallback3(
5399
5183
  async (taskId, voteType) => {
5400
5184
  const currentVote = votes[taskId];
5401
5185
  let newVote = null;
@@ -5443,7 +5227,7 @@ function useRoadmapVoting(options = {}) {
5443
5227
  },
5444
5228
  [votes, voteApiEndpoint]
5445
5229
  );
5446
- const clearVotes = useCallback4(() => {
5230
+ const clearVotes = useCallback3(() => {
5447
5231
  setVotes({});
5448
5232
  localStorage.removeItem(storageKey);
5449
5233
  }, [storageKey]);
@@ -5458,7 +5242,7 @@ function useRoadmapVoting(options = {}) {
5458
5242
 
5459
5243
  // src/components/shared/roadmap/roadmap-grid.tsx
5460
5244
  init_cn();
5461
- import { jsx as jsx51, jsxs as jsxs41 } from "react/jsx-runtime";
5245
+ import { jsx as jsx50, jsxs as jsxs40 } from "react/jsx-runtime";
5462
5246
  var DEFAULT_BUILD_REFRESH_URL = (taskId) => `/api/roadmap/${taskId}`;
5463
5247
  var BACKLOG = "Backlog";
5464
5248
  function getStatusPriority(status) {
@@ -5507,13 +5291,13 @@ function RoadmapGridSingle({
5507
5291
  onVote,
5508
5292
  votingTasks
5509
5293
  }) {
5510
- return /* @__PURE__ */ jsx51("div", { className: `grid grid-cols-1 md:grid-cols-2 gap-6 ${showLeftMargin ? "md:ml-[120px]" : ""}`, children: items.map((item) => (
5294
+ return /* @__PURE__ */ jsx50("div", { className: `grid grid-cols-1 md:grid-cols-2 gap-6 ${showLeftMargin ? "md:ml-[120px]" : ""}`, children: items.map((item) => (
5511
5295
  // DOM id + sticky-header scroll offset live ON RoadmapCard's own
5512
5296
  // outer element (no wrapper div). Anchor mirrors
5513
5297
  // `buildDevSectionUrl('roadmap', <id>)` → `#roadmap-<external_id>`;
5514
5298
  // `useScrollToHash` in `roadmap-view.tsx` finds the card by id
5515
5299
  // and scrolls.
5516
- /* @__PURE__ */ jsx51(
5300
+ /* @__PURE__ */ jsx50(
5517
5301
  RoadmapCard,
5518
5302
  {
5519
5303
  item,
@@ -5537,7 +5321,7 @@ function RoadmapGrid({
5537
5321
  quartersToKeepClosed = 2
5538
5322
  }) {
5539
5323
  const { getVote, toggleVote } = useRoadmapVoting(votingOptions);
5540
- const [votingTasks, setVotingTasks] = useState10(/* @__PURE__ */ new Set());
5324
+ const [votingTasks, setVotingTasks] = useState9(/* @__PURE__ */ new Set());
5541
5325
  const handleVote = async (taskId, voteType) => {
5542
5326
  if (votingTasks.has(taskId)) return;
5543
5327
  setVotingTasks((prev) => new Set(prev).add(taskId));
@@ -5574,11 +5358,11 @@ function RoadmapGrid({
5574
5358
  return compareQuarters(aD, bD);
5575
5359
  });
5576
5360
  const sortedQuartersKey = sortedQuarters.join(",");
5577
- const [expandedQuarters, setExpandedQuarters] = useState10([]);
5578
- const [isInitialized, setIsInitialized] = useState10(false);
5579
- const hasSetInitialState = useRef5(false);
5580
- const prevItemsLength = useRef5(0);
5581
- useEffect8(() => {
5361
+ const [expandedQuarters, setExpandedQuarters] = useState9([]);
5362
+ const [isInitialized, setIsInitialized] = useState9(false);
5363
+ const hasSetInitialState = useRef4(false);
5364
+ const prevItemsLength = useRef4(0);
5365
+ useEffect7(() => {
5582
5366
  const itemsJustLoaded = prevItemsLength.current === 0 && items.length > 0;
5583
5367
  prevItemsLength.current = items.length;
5584
5368
  if (sortedQuarters.length > 0 && (!hasSetInitialState.current || itemsJustLoaded)) {
@@ -5589,14 +5373,14 @@ function RoadmapGrid({
5589
5373
  setIsInitialized(true);
5590
5374
  }
5591
5375
  }, [sortedQuarters.length, items.length]);
5592
- useEffect8(() => {
5376
+ useEffect7(() => {
5593
5377
  if (!isInitialized || sortedQuarters.length === 0) return;
5594
5378
  setExpandedQuarters(
5595
5379
  hasActiveFilters ? [...sortedQuarters] : computeDefaultExpandedQuarters(sortedQuarters, quartersToKeepClosed)
5596
5380
  );
5597
5381
  }, [hasActiveFilters, sortedQuartersKey, isInitialized, quartersToKeepClosed]);
5598
5382
  if (items.length === 0) {
5599
- return /* @__PURE__ */ jsx51(
5383
+ return /* @__PURE__ */ jsx50(
5600
5384
  EmptyState,
5601
5385
  {
5602
5386
  type: "generic",
@@ -5606,7 +5390,7 @@ function RoadmapGrid({
5606
5390
  );
5607
5391
  }
5608
5392
  if (!groupByQuarter) {
5609
- return /* @__PURE__ */ jsx51(
5393
+ return /* @__PURE__ */ jsx50(
5610
5394
  RoadmapGridSingle,
5611
5395
  {
5612
5396
  items,
@@ -5617,7 +5401,7 @@ function RoadmapGrid({
5617
5401
  }
5618
5402
  );
5619
5403
  }
5620
- return /* @__PURE__ */ jsx51(
5404
+ return /* @__PURE__ */ jsx50(
5621
5405
  Accordion,
5622
5406
  {
5623
5407
  type: "multiple",
@@ -5627,15 +5411,15 @@ function RoadmapGrid({
5627
5411
  children: sortedQuarters.map((quarter) => {
5628
5412
  const itemCount = itemsByQuarter[quarter]?.length || 0;
5629
5413
  const isExpanded = expandedQuarters.includes(quarter);
5630
- return /* @__PURE__ */ jsxs41(
5414
+ return /* @__PURE__ */ jsxs40(
5631
5415
  AccordionItem,
5632
5416
  {
5633
5417
  value: quarter,
5634
5418
  id: `quarter-${quarter.replace(/\s+/g, "-").toLowerCase()}`,
5635
5419
  className: "border-0",
5636
5420
  children: [
5637
- /* @__PURE__ */ jsx51(AccordionTrigger, { className: "w-full p-0 hover:no-underline [&>svg]:h-5 [&>svg]:w-5 [&>svg]:text-ods-text-secondary [&>svg]:ml-auto [&>svg]:shrink-0", children: /* @__PURE__ */ jsxs41("div", { className: "flex items-center gap-3", children: [
5638
- /* @__PURE__ */ jsxs41(
5421
+ /* @__PURE__ */ jsx50(AccordionTrigger, { className: "w-full p-0 hover:no-underline [&>svg]:h-5 [&>svg]:w-5 [&>svg]:text-ods-text-secondary [&>svg]:ml-auto [&>svg]:shrink-0", children: /* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-3", children: [
5422
+ /* @__PURE__ */ jsxs40(
5639
5423
  "h3",
5640
5424
  {
5641
5425
  className: cn(
@@ -5644,11 +5428,11 @@ function RoadmapGrid({
5644
5428
  ),
5645
5429
  children: [
5646
5430
  quarter,
5647
- /* @__PURE__ */ jsx51("span", { className: "text-ods-accent", children: ":" })
5431
+ /* @__PURE__ */ jsx50("span", { className: "text-ods-accent", children: ":" })
5648
5432
  ]
5649
5433
  }
5650
5434
  ),
5651
- /* @__PURE__ */ jsxs41(
5435
+ /* @__PURE__ */ jsxs40(
5652
5436
  "span",
5653
5437
  {
5654
5438
  className: cn(
@@ -5659,12 +5443,12 @@ function RoadmapGrid({
5659
5443
  itemCount,
5660
5444
  " ",
5661
5445
  itemCount === 1 ? "item" : "items",
5662
- isInitialized && !isExpanded && /* @__PURE__ */ jsx51("span", { className: "ml-2 text-ods-accent", children: "Click to expand" })
5446
+ isInitialized && !isExpanded && /* @__PURE__ */ jsx50("span", { className: "ml-2 text-ods-accent", children: "Click to expand" })
5663
5447
  ]
5664
5448
  }
5665
5449
  )
5666
5450
  ] }) }),
5667
- /* @__PURE__ */ jsx51(AccordionContent, { className: "pt-4 pb-0 overflow-hidden data-[state=closed]:animate-none data-[state=open]:animate-none", children: /* @__PURE__ */ jsx51(
5451
+ /* @__PURE__ */ jsx50(AccordionContent, { className: "pt-4 pb-0 overflow-hidden data-[state=closed]:animate-none data-[state=open]:animate-none", children: /* @__PURE__ */ jsx50(
5668
5452
  RoadmapGridSingle,
5669
5453
  {
5670
5454
  items: itemsByQuarter[quarter],
@@ -5684,36 +5468,36 @@ function RoadmapGrid({
5684
5468
  }
5685
5469
 
5686
5470
  // src/components/shared/roadmap/roadmap-grid-skeleton.tsx
5687
- import { jsx as jsx52, jsxs as jsxs42 } from "react/jsx-runtime";
5471
+ import { jsx as jsx51, jsxs as jsxs41 } from "react/jsx-runtime";
5688
5472
  function RoadmapCardSkeleton2() {
5689
- return /* @__PURE__ */ jsxs42("div", { className: "bg-ods-card border border-ods-border rounded-[6px] p-[24px] flex flex-col gap-[16px] min-h-[340px] relative", children: [
5690
- /* @__PURE__ */ jsx52("div", { className: "absolute top-[24px] right-[24px]", children: /* @__PURE__ */ jsx52("div", { className: "h-[20px] w-[80px] bg-ods-border rounded animate-pulse" }) }),
5691
- /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-[16px] pr-[120px]", children: [
5692
- /* @__PURE__ */ jsx52("div", { className: "w-[80px] h-[80px] bg-ods-border rounded-lg flex-shrink-0 animate-pulse" }),
5693
- /* @__PURE__ */ jsxs42("div", { className: "flex-1 min-w-0 flex flex-col gap-1", children: [
5694
- /* @__PURE__ */ jsx52("div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ jsx52("div", { className: "h-[24px] w-full bg-ods-border rounded animate-pulse" }) }),
5695
- /* @__PURE__ */ jsx52("div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ jsx52("div", { className: "h-[14px] w-1/2 bg-ods-border rounded animate-pulse" }) })
5473
+ return /* @__PURE__ */ jsxs41("div", { className: "bg-ods-card border border-ods-border rounded-[6px] p-[24px] flex flex-col gap-[16px] min-h-[340px] relative", children: [
5474
+ /* @__PURE__ */ jsx51("div", { className: "absolute top-[24px] right-[24px]", children: /* @__PURE__ */ jsx51("div", { className: "h-[20px] w-[80px] bg-ods-border rounded animate-pulse" }) }),
5475
+ /* @__PURE__ */ jsxs41("div", { className: "flex items-center gap-[16px] pr-[120px]", children: [
5476
+ /* @__PURE__ */ jsx51("div", { className: "w-[80px] h-[80px] bg-ods-border rounded-lg flex-shrink-0 animate-pulse" }),
5477
+ /* @__PURE__ */ jsxs41("div", { className: "flex-1 min-w-0 flex flex-col gap-1", children: [
5478
+ /* @__PURE__ */ jsx51("div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ jsx51("div", { className: "h-[24px] w-full bg-ods-border rounded animate-pulse" }) }),
5479
+ /* @__PURE__ */ jsx51("div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ jsx51("div", { className: "h-[14px] w-1/2 bg-ods-border rounded animate-pulse" }) })
5696
5480
  ] })
5697
5481
  ] }),
5698
- /* @__PURE__ */ jsx52("div", { className: "min-h-[72px] flex items-center", children: /* @__PURE__ */ jsxs42("div", { className: "w-full space-y-2", children: [
5699
- /* @__PURE__ */ jsx52("div", { className: "h-[24px] bg-ods-border rounded animate-pulse" }),
5700
- /* @__PURE__ */ jsx52("div", { className: "h-[24px] bg-ods-border rounded animate-pulse" }),
5701
- /* @__PURE__ */ jsx52("div", { className: "h-[24px] w-4/5 bg-ods-border rounded animate-pulse" })
5482
+ /* @__PURE__ */ jsx51("div", { className: "min-h-[72px] flex items-center", children: /* @__PURE__ */ jsxs41("div", { className: "w-full space-y-2", children: [
5483
+ /* @__PURE__ */ jsx51("div", { className: "h-[24px] bg-ods-border rounded animate-pulse" }),
5484
+ /* @__PURE__ */ jsx51("div", { className: "h-[24px] bg-ods-border rounded animate-pulse" }),
5485
+ /* @__PURE__ */ jsx51("div", { className: "h-[24px] w-4/5 bg-ods-border rounded animate-pulse" })
5702
5486
  ] }) }),
5703
- /* @__PURE__ */ jsx52("div", { className: "flex-1" }),
5704
- /* @__PURE__ */ jsxs42("div", { className: "flex items-center justify-between", children: [
5705
- /* @__PURE__ */ jsx52("div", { className: "h-[48px] w-[120px] bg-ods-border rounded animate-pulse" }),
5706
- /* @__PURE__ */ jsx52("div", { className: "h-[32px] w-[100px] bg-ods-border rounded animate-pulse" })
5487
+ /* @__PURE__ */ jsx51("div", { className: "flex-1" }),
5488
+ /* @__PURE__ */ jsxs41("div", { className: "flex items-center justify-between", children: [
5489
+ /* @__PURE__ */ jsx51("div", { className: "h-[48px] w-[120px] bg-ods-border rounded animate-pulse" }),
5490
+ /* @__PURE__ */ jsx51("div", { className: "h-[32px] w-[100px] bg-ods-border rounded animate-pulse" })
5707
5491
  ] })
5708
5492
  ] });
5709
5493
  }
5710
5494
  function RoadmapGridSkeleton({ count = 4, showLeftMargin = true }) {
5711
- return /* @__PURE__ */ jsx52("div", { className: `grid grid-cols-1 md:grid-cols-2 gap-6 ${showLeftMargin ? "md:ml-[120px]" : ""}`, children: Array.from({ length: count }).map((_, i) => /* @__PURE__ */ jsx52(RoadmapCardSkeleton2, {}, i)) });
5495
+ return /* @__PURE__ */ jsx51("div", { className: `grid grid-cols-1 md:grid-cols-2 gap-6 ${showLeftMargin ? "md:ml-[120px]" : ""}`, children: Array.from({ length: count }).map((_, i) => /* @__PURE__ */ jsx51(RoadmapCardSkeleton2, {}, i)) });
5712
5496
  }
5713
5497
 
5714
5498
  // src/components/shared/roadmap/roadmap-view.tsx
5715
5499
  import { useMemo as useMemo2 } from "react";
5716
- import { jsx as jsx53 } from "react/jsx-runtime";
5500
+ import { jsx as jsx52 } from "react/jsx-runtime";
5717
5501
  var DEFAULT_ENDPOINT2 = "/api/roadmap";
5718
5502
  var DEFAULT_SEARCH_PARAM_KEY2 = DEV_SECTION_PARAM_KEYS.search;
5719
5503
  var DEFAULT_STATUS_PARAM_KEY2 = DEV_SECTION_PARAM_KEYS.status;
@@ -5742,12 +5526,12 @@ function RoadmapView({
5742
5526
  const items = data?.items ?? [];
5743
5527
  useScrollToHash(data, { headerOffset: STICKY_HEADER_OFFSET_PX });
5744
5528
  if (error) {
5745
- return /* @__PURE__ */ jsx53(LoadError, { message: "Failed to load roadmap.", onRetry: reload });
5529
+ return /* @__PURE__ */ jsx52(LoadError, { message: "Failed to load roadmap.", onRetry: reload });
5746
5530
  }
5747
5531
  if (isLoading && !data) {
5748
- return /* @__PURE__ */ jsx53(RoadmapGridSkeleton, { showLeftMargin });
5532
+ return /* @__PURE__ */ jsx52(RoadmapGridSkeleton, { showLeftMargin });
5749
5533
  }
5750
- return /* @__PURE__ */ jsx53(
5534
+ return /* @__PURE__ */ jsx52(
5751
5535
  RoadmapGrid,
5752
5536
  {
5753
5537
  items,
@@ -5764,45 +5548,45 @@ function RoadmapView({
5764
5548
  }
5765
5549
 
5766
5550
  // src/components/shared/delivery/delivery-lists.tsx
5767
- import { useEffect as useEffect9, useState as useState11 } from "react";
5551
+ import { useEffect as useEffect8, useState as useState10 } from "react";
5768
5552
 
5769
5553
  // src/components/shared/delivery/delivery-table.tsx
5770
- import { jsx as jsx54, jsxs as jsxs43 } from "react/jsx-runtime";
5554
+ import { jsx as jsx53, jsxs as jsxs42 } from "react/jsx-runtime";
5771
5555
  function SkeletonRow() {
5772
- return /* @__PURE__ */ jsx54("div", { className: "border-b border-ods-border last:border-b-0 p-[12px] md:p-[16px]", children: /* @__PURE__ */ jsxs43("div", { className: "flex flex-col md:flex-row items-start justify-between gap-[12px] md:gap-[16px] w-full", children: [
5773
- /* @__PURE__ */ jsxs43("div", { className: "flex-1 min-w-0 w-full md:w-auto flex flex-col gap-[12px] md:gap-[16px]", children: [
5774
- /* @__PURE__ */ jsx54("div", { className: "min-h-[24px] flex items-center", children: /* @__PURE__ */ jsx54("div", { className: "h-[20px] bg-ods-border rounded animate-pulse w-full" }) }),
5775
- /* @__PURE__ */ jsx54("div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ jsx54("div", { className: "h-[20px] bg-ods-border rounded animate-pulse w-1/2" }) }),
5776
- /* @__PURE__ */ jsx54("div", { className: "min-h-[72px] flex items-center", children: /* @__PURE__ */ jsxs43("div", { className: "flex-1 space-y-1", children: [
5777
- /* @__PURE__ */ jsx54("div", { className: "h-[20px] bg-ods-border rounded animate-pulse w-full" }),
5778
- /* @__PURE__ */ jsx54("div", { className: "h-[20px] bg-ods-border rounded animate-pulse w-full" }),
5779
- /* @__PURE__ */ jsx54("div", { className: "h-[20px] bg-ods-border rounded animate-pulse w-2/3" })
5556
+ return /* @__PURE__ */ jsx53("div", { className: "border-b border-ods-border last:border-b-0 p-[12px] md:p-[16px]", children: /* @__PURE__ */ jsxs42("div", { className: "flex flex-col md:flex-row items-start justify-between gap-[12px] md:gap-[16px] w-full", children: [
5557
+ /* @__PURE__ */ jsxs42("div", { className: "flex-1 min-w-0 w-full md:w-auto flex flex-col gap-[12px] md:gap-[16px]", children: [
5558
+ /* @__PURE__ */ jsx53("div", { className: "min-h-[24px] flex items-center", children: /* @__PURE__ */ jsx53("div", { className: "h-[20px] bg-ods-border rounded animate-pulse w-full" }) }),
5559
+ /* @__PURE__ */ jsx53("div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ jsx53("div", { className: "h-[20px] bg-ods-border rounded animate-pulse w-1/2" }) }),
5560
+ /* @__PURE__ */ jsx53("div", { className: "min-h-[72px] flex items-center", children: /* @__PURE__ */ jsxs42("div", { className: "flex-1 space-y-1", children: [
5561
+ /* @__PURE__ */ jsx53("div", { className: "h-[20px] bg-ods-border rounded animate-pulse w-full" }),
5562
+ /* @__PURE__ */ jsx53("div", { className: "h-[20px] bg-ods-border rounded animate-pulse w-full" }),
5563
+ /* @__PURE__ */ jsx53("div", { className: "h-[20px] bg-ods-border rounded animate-pulse w-2/3" })
5780
5564
  ] }) })
5781
5565
  ] }),
5782
- /* @__PURE__ */ jsxs43("div", { className: "flex-shrink-0 self-start flex flex-col gap-2", children: [
5783
- /* @__PURE__ */ jsx54("div", { className: "h-[32px] w-[100px] bg-ods-border rounded animate-pulse" }),
5784
- /* @__PURE__ */ jsx54("div", { className: "h-[32px] w-[120px] bg-ods-border rounded animate-pulse" })
5566
+ /* @__PURE__ */ jsxs42("div", { className: "flex-shrink-0 self-start flex flex-col gap-2", children: [
5567
+ /* @__PURE__ */ jsx53("div", { className: "h-[32px] w-[100px] bg-ods-border rounded animate-pulse" }),
5568
+ /* @__PURE__ */ jsx53("div", { className: "h-[32px] w-[120px] bg-ods-border rounded animate-pulse" })
5785
5569
  ] })
5786
5570
  ] }) });
5787
5571
  }
5788
5572
  function DeliveryTable({ items, isLoading = false }) {
5789
5573
  if (isLoading) {
5790
- return /* @__PURE__ */ jsx54("div", { className: "bg-ods-card border border-ods-border rounded-[6px] overflow-hidden w-full", children: /* @__PURE__ */ jsx54("div", { className: "w-full", children: [1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx54(SkeletonRow, {}, i)) }) });
5574
+ return /* @__PURE__ */ jsx53("div", { className: "bg-ods-card border border-ods-border rounded-[6px] overflow-hidden w-full", children: /* @__PURE__ */ jsx53("div", { className: "w-full", children: [1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx53(SkeletonRow, {}, i)) }) });
5791
5575
  }
5792
5576
  if (items.length === 0) {
5793
- return /* @__PURE__ */ jsx54("div", { className: "bg-ods-card border border-ods-border rounded-[6px] p-[40px] text-center w-full", children: /* @__PURE__ */ jsx54("p", { className: "text-ods-text-secondary text-[14px] font-['DM_Sans'] font-medium", children: "No tasks available" }) });
5577
+ return /* @__PURE__ */ jsx53("div", { className: "bg-ods-card border border-ods-border rounded-[6px] p-[40px] text-center w-full", children: /* @__PURE__ */ jsx53("p", { className: "text-ods-text-secondary text-[14px] font-['DM_Sans'] font-medium", children: "No tasks available" }) });
5794
5578
  }
5795
- return /* @__PURE__ */ jsx54("div", { className: "bg-ods-card border border-ods-border rounded-[6px] overflow-hidden w-full", children: /* @__PURE__ */ jsx54("div", { className: "w-full", children: items.map((item) => (
5579
+ return /* @__PURE__ */ jsx53("div", { className: "bg-ods-card border border-ods-border rounded-[6px] overflow-hidden w-full", children: /* @__PURE__ */ jsx53("div", { className: "w-full", children: items.map((item) => (
5796
5580
  // DOM id lives on DeliveryRow's own outer element (no wrapper
5797
5581
  // div). Anchor mirrors `buildDevSectionUrl('delivery', <id>)`
5798
5582
  // → `#delivery-<external_id>`; `useScrollToHash` in
5799
5583
  // `delivery-lists.tsx` finds the row by id and scrolls. The
5800
5584
  // outer wrapper here ONLY exists for the row separators.
5801
- /* @__PURE__ */ jsx54(
5585
+ /* @__PURE__ */ jsx53(
5802
5586
  "div",
5803
5587
  {
5804
5588
  className: "border-b border-ods-border last:border-b-0",
5805
- children: /* @__PURE__ */ jsx54(DeliveryRow, { item, id: devSectionAnchorId("delivery", item.id) })
5589
+ children: /* @__PURE__ */ jsx53(DeliveryRow, { item, id: devSectionAnchorId("delivery", item.id) })
5806
5590
  },
5807
5591
  item.id
5808
5592
  )
@@ -5810,7 +5594,7 @@ function DeliveryTable({ items, isLoading = false }) {
5810
5594
  }
5811
5595
 
5812
5596
  // src/components/shared/delivery/delivery-lists.tsx
5813
- import { jsx as jsx55, jsxs as jsxs44 } from "react/jsx-runtime";
5597
+ import { jsx as jsx54, jsxs as jsxs43 } from "react/jsx-runtime";
5814
5598
  var DEFAULT_COMPLETED_ENDPOINT = "/api/delivery/completed";
5815
5599
  var DEFAULT_IN_PROGRESS_ENDPOINT = "/api/delivery/in-progress";
5816
5600
  var DEFAULT_SEARCH_PARAM_KEY3 = DEV_SECTION_PARAM_KEYS.search;
@@ -5824,12 +5608,12 @@ function DeliveryLists({
5824
5608
  const searchParams = useSearchParams();
5825
5609
  const router = useRouter();
5826
5610
  const pathname = usePathname();
5827
- const [data, setData] = useState11(null);
5828
- const [isLoading, setIsLoading] = useState11(true);
5829
- const [error, setError] = useState11(null);
5611
+ const [data, setData] = useState10(null);
5612
+ const [isLoading, setIsLoading] = useState10(true);
5613
+ const [error, setError] = useState10(null);
5830
5614
  const searchQuery = searchParams.get(searchParamKey) || "";
5831
5615
  const taskTypeFilter = searchParams.get(taskTypeParamKey) || "all";
5832
- useEffect9(() => {
5616
+ useEffect8(() => {
5833
5617
  async function fetchDeliveryData() {
5834
5618
  try {
5835
5619
  setIsLoading(true);
@@ -5875,10 +5659,10 @@ function DeliveryLists({
5875
5659
  const hasActiveFilters = searchQuery !== "" || taskTypeFilter !== "all";
5876
5660
  const hasResults = showCompleted && filteredCompleted.length > 0 || showInProgress && filteredInProgress.length > 0;
5877
5661
  if (error) {
5878
- return /* @__PURE__ */ jsx55("div", { className: "w-full", children: /* @__PURE__ */ jsx55(LoadError, { message: error, onRetry: () => window.location.reload() }) });
5662
+ return /* @__PURE__ */ jsx54("div", { className: "w-full", children: /* @__PURE__ */ jsx54(LoadError, { message: error, onRetry: () => window.location.reload() }) });
5879
5663
  }
5880
- return /* @__PURE__ */ jsxs44("div", { className: "w-full flex flex-col gap-[40px]", children: [
5881
- !isLoading && !hasResults && (hasActiveFilters ? /* @__PURE__ */ jsx55(
5664
+ return /* @__PURE__ */ jsxs43("div", { className: "w-full flex flex-col gap-[40px]", children: [
5665
+ !isLoading && !hasResults && (hasActiveFilters ? /* @__PURE__ */ jsx54(
5882
5666
  EmptyState,
5883
5667
  {
5884
5668
  type: "search",
@@ -5893,7 +5677,7 @@ function DeliveryLists({
5893
5677
  router.replace(`${pathname}?${params.toString()}`, { scroll: false });
5894
5678
  }
5895
5679
  }
5896
- ) : /* @__PURE__ */ jsx55(
5680
+ ) : /* @__PURE__ */ jsx54(
5897
5681
  EmptyState,
5898
5682
  {
5899
5683
  type: "generic",
@@ -5902,12 +5686,12 @@ function DeliveryLists({
5902
5686
  showCTA: false
5903
5687
  }
5904
5688
  )),
5905
- showCompleted && (hasResults || isLoading) && /* @__PURE__ */ jsxs44("div", { className: "w-full", children: [
5906
- /* @__PURE__ */ jsxs44("h3", { className: "text-h2 text-ods-text-primary tracking-[-0.48px] md:tracking-[-0.56px] lg:tracking-[-0.64px] mb-4", children: [
5689
+ showCompleted && (hasResults || isLoading) && /* @__PURE__ */ jsxs43("div", { className: "w-full", children: [
5690
+ /* @__PURE__ */ jsxs43("h3", { className: "text-h2 text-ods-text-primary tracking-[-0.48px] md:tracking-[-0.56px] lg:tracking-[-0.64px] mb-4", children: [
5907
5691
  "Recently Completed",
5908
- /* @__PURE__ */ jsx55("span", { className: "text-ods-accent", children: ":" })
5692
+ /* @__PURE__ */ jsx54("span", { className: "text-ods-accent", children: ":" })
5909
5693
  ] }),
5910
- /* @__PURE__ */ jsx55(
5694
+ /* @__PURE__ */ jsx54(
5911
5695
  DeliveryTable,
5912
5696
  {
5913
5697
  items: filteredCompleted,
@@ -5915,12 +5699,12 @@ function DeliveryLists({
5915
5699
  }
5916
5700
  )
5917
5701
  ] }),
5918
- showInProgress && (hasResults || isLoading) && /* @__PURE__ */ jsxs44("div", { className: "w-full", children: [
5919
- /* @__PURE__ */ jsxs44("h3", { className: "text-h2 text-ods-text-primary tracking-[-0.48px] md:tracking-[-0.56px] lg:tracking-[-0.64px] mb-4", children: [
5702
+ showInProgress && (hasResults || isLoading) && /* @__PURE__ */ jsxs43("div", { className: "w-full", children: [
5703
+ /* @__PURE__ */ jsxs43("h3", { className: "text-h2 text-ods-text-primary tracking-[-0.48px] md:tracking-[-0.56px] lg:tracking-[-0.64px] mb-4", children: [
5920
5704
  "Active Tasks",
5921
- /* @__PURE__ */ jsx55("span", { className: "text-ods-accent", children: ":" })
5705
+ /* @__PURE__ */ jsx54("span", { className: "text-ods-accent", children: ":" })
5922
5706
  ] }),
5923
- /* @__PURE__ */ jsx55(
5707
+ /* @__PURE__ */ jsx54(
5924
5708
  DeliveryTable,
5925
5709
  {
5926
5710
  items: filteredInProgress,
@@ -5935,14 +5719,14 @@ function DeliveryLists({
5935
5719
  init_next_navigation();
5936
5720
 
5937
5721
  // src/components/shared/legal-document/use-legal-docs.ts
5938
- import { useState as useState12, useEffect as useEffect10, useCallback as useCallback5 } from "react";
5722
+ import { useState as useState11, useEffect as useEffect9, useCallback as useCallback4 } from "react";
5939
5723
  function useLegalDocs(docType, options = {}) {
5940
5724
  const { initialData = null, apiEndpoint } = options;
5941
5725
  const effectiveEndpoint = apiEndpoint ?? `/api/legal/${docType}`;
5942
- const [data, setData] = useState12(initialData ?? null);
5943
- const [isLoading, setIsLoading] = useState12(!initialData);
5944
- const [error, setError] = useState12(null);
5945
- const fetchDocument = useCallback5(async () => {
5726
+ const [data, setData] = useState11(initialData ?? null);
5727
+ const [isLoading, setIsLoading] = useState11(!initialData);
5728
+ const [error, setError] = useState11(null);
5729
+ const fetchDocument = useCallback4(async () => {
5946
5730
  try {
5947
5731
  setIsLoading(true);
5948
5732
  setError(null);
@@ -5965,12 +5749,12 @@ function useLegalDocs(docType, options = {}) {
5965
5749
  setIsLoading(false);
5966
5750
  }
5967
5751
  }, [docType, effectiveEndpoint]);
5968
- useEffect10(() => {
5752
+ useEffect9(() => {
5969
5753
  setData(initialData ?? null);
5970
5754
  setError(null);
5971
5755
  setIsLoading(!initialData);
5972
5756
  }, [docType, initialData]);
5973
- useEffect10(() => {
5757
+ useEffect9(() => {
5974
5758
  if (initialData) return;
5975
5759
  fetchDocument();
5976
5760
  }, [fetchDocument, initialData]);
@@ -5986,7 +5770,7 @@ function useLegalDocs(docType, options = {}) {
5986
5770
  }
5987
5771
 
5988
5772
  // src/components/shared/legal-document/legal-document-page.tsx
5989
- import { jsx as jsx56, jsxs as jsxs45 } from "react/jsx-runtime";
5773
+ import { jsx as jsx55, jsxs as jsxs44 } from "react/jsx-runtime";
5990
5774
  function LegalDocumentPage({
5991
5775
  docType,
5992
5776
  title,
@@ -5998,7 +5782,7 @@ function LegalDocumentPage({
5998
5782
  initialData = null,
5999
5783
  initialLastUpdatedLabel = null,
6000
5784
  apiEndpoint,
6001
- MarkdownRenderer = SimpleMarkdownRenderer,
5785
+ MarkdownRenderer = RichMarkdownRenderer,
6002
5786
  backButton
6003
5787
  }) {
6004
5788
  const router = useRouter();
@@ -6009,58 +5793,58 @@ function LegalDocumentPage({
6009
5793
  };
6010
5794
  const fallbackLastUpdatedLabel = data?.lastSynced != null ? formatLegalDate(data.lastSynced) : null;
6011
5795
  const effectiveLastUpdatedLabel = initialLastUpdatedLabel ?? fallbackLastUpdatedLabel;
6012
- const customTitle = /* @__PURE__ */ jsxs45("div", { className: "flex flex-col gap-4", children: [
6013
- /* @__PURE__ */ jsxs45(PageHeading, { children: [
6014
- /* @__PURE__ */ jsx56("span", { children: title }),
6015
- /* @__PURE__ */ jsx56("span", { className: "text-ods-accent", children: "." })
5796
+ const customTitle = /* @__PURE__ */ jsxs44("div", { className: "flex flex-col gap-4", children: [
5797
+ /* @__PURE__ */ jsxs44(PageHeading, { children: [
5798
+ /* @__PURE__ */ jsx55("span", { children: title }),
5799
+ /* @__PURE__ */ jsx55("span", { className: "text-ods-accent", children: "." })
6016
5800
  ] }),
6017
- /* @__PURE__ */ jsxs45("p", { className: "font-['DM_Sans'] text-base md:text-lg text-ods-text-secondary max-w-2xl", children: [
5801
+ /* @__PURE__ */ jsxs44("p", { className: "font-['DM_Sans'] text-base md:text-lg text-ods-text-secondary max-w-2xl", children: [
6018
5802
  effectiveLastUpdatedLabel ? `Last Updated: ${effectiveLastUpdatedLabel}` : fallbackDescription,
6019
- data?.sourceFile && /* @__PURE__ */ jsxs45("span", { className: "block text-sm mt-1 opacity-75", children: [
5803
+ data?.sourceFile && /* @__PURE__ */ jsxs44("span", { className: "block text-sm mt-1 opacity-75", children: [
6020
5804
  "Source: ",
6021
5805
  data.sourceFile
6022
5806
  ] })
6023
5807
  ] })
6024
5808
  ] });
6025
- return /* @__PURE__ */ jsx56(PageShell, { children: /* @__PURE__ */ jsxs45(PageLayout, { backButton: backCfg, children: [
6026
- /* @__PURE__ */ jsx56("div", { className: "flex flex-col gap-4", children: customTitle }),
6027
- /* @__PURE__ */ jsx56("div", { className: "flex flex-col lg:flex-row gap-6 lg:gap-10 items-start flex-1", children: /* @__PURE__ */ jsx56("div", { className: "flex-1", children: /* @__PURE__ */ jsx56("div", { className: "w-full", children: /* @__PURE__ */ jsx56("article", { className: "space-y-2", children: isLoading ? (
5809
+ return /* @__PURE__ */ jsx55(PageShell, { children: /* @__PURE__ */ jsxs44(PageLayout, { backButton: backCfg, children: [
5810
+ /* @__PURE__ */ jsx55("div", { className: "flex flex-col gap-4", children: customTitle }),
5811
+ /* @__PURE__ */ jsx55("div", { className: "flex flex-col lg:flex-row gap-6 lg:gap-10 items-start flex-1", children: /* @__PURE__ */ jsx55("div", { className: "flex-1", children: /* @__PURE__ */ jsx55("div", { className: "w-full", children: /* @__PURE__ */ jsx55("article", { className: "space-y-2", children: isLoading ? (
6028
5812
  // Loading skeleton matching Knowledge Hub pattern
6029
- /* @__PURE__ */ jsxs45("div", { className: "space-y-6", children: [
6030
- /* @__PURE__ */ jsx56("div", { className: "h-10 bg-ods-skeleton rounded-lg w-3/4 animate-pulse" }),
6031
- /* @__PURE__ */ jsxs45("div", { className: "space-y-4", children: [
6032
- /* @__PURE__ */ jsx56("div", { className: "h-4 bg-ods-skeleton rounded w-full animate-pulse" }),
6033
- /* @__PURE__ */ jsx56("div", { className: "h-4 bg-ods-skeleton rounded w-full animate-pulse" }),
6034
- /* @__PURE__ */ jsx56("div", { className: "h-4 bg-ods-skeleton rounded w-5/6 animate-pulse" })
5813
+ /* @__PURE__ */ jsxs44("div", { className: "space-y-6", children: [
5814
+ /* @__PURE__ */ jsx55("div", { className: "h-10 bg-ods-skeleton rounded-lg w-3/4 animate-pulse" }),
5815
+ /* @__PURE__ */ jsxs44("div", { className: "space-y-4", children: [
5816
+ /* @__PURE__ */ jsx55("div", { className: "h-4 bg-ods-skeleton rounded w-full animate-pulse" }),
5817
+ /* @__PURE__ */ jsx55("div", { className: "h-4 bg-ods-skeleton rounded w-full animate-pulse" }),
5818
+ /* @__PURE__ */ jsx55("div", { className: "h-4 bg-ods-skeleton rounded w-5/6 animate-pulse" })
6035
5819
  ] }),
6036
- /* @__PURE__ */ jsx56("div", { className: "h-32 bg-ods-card border border-ods-border rounded-lg animate-pulse" }),
6037
- /* @__PURE__ */ jsxs45("div", { className: "space-y-4", children: [
6038
- /* @__PURE__ */ jsx56("div", { className: "h-4 bg-ods-skeleton rounded w-full animate-pulse" }),
6039
- /* @__PURE__ */ jsx56("div", { className: "h-4 bg-ods-skeleton rounded w-4/5 animate-pulse" })
5820
+ /* @__PURE__ */ jsx55("div", { className: "h-32 bg-ods-card border border-ods-border rounded-lg animate-pulse" }),
5821
+ /* @__PURE__ */ jsxs44("div", { className: "space-y-4", children: [
5822
+ /* @__PURE__ */ jsx55("div", { className: "h-4 bg-ods-skeleton rounded w-full animate-pulse" }),
5823
+ /* @__PURE__ */ jsx55("div", { className: "h-4 bg-ods-skeleton rounded w-4/5 animate-pulse" })
6040
5824
  ] })
6041
5825
  ] })
6042
- ) : error ? /* @__PURE__ */ jsxs45("div", { className: "text-center space-y-4", children: [
6043
- /* @__PURE__ */ jsxs45("div", { className: "bg-red-900/20 border border-red-700 rounded-lg p-6", children: [
6044
- /* @__PURE__ */ jsx56("p", { className: "text-red-400 mb-2", children: errorTitle }),
6045
- /* @__PURE__ */ jsx56("p", { className: "text-red-300 text-sm", children: error })
5826
+ ) : error ? /* @__PURE__ */ jsxs44("div", { className: "text-center space-y-4", children: [
5827
+ /* @__PURE__ */ jsxs44("div", { className: "bg-red-900/20 border border-red-700 rounded-lg p-6", children: [
5828
+ /* @__PURE__ */ jsx55("p", { className: "text-red-400 mb-2", children: errorTitle }),
5829
+ /* @__PURE__ */ jsx55("p", { className: "text-red-300 text-sm", children: error })
6046
5830
  ] }),
6047
- /* @__PURE__ */ jsxs45("div", { className: "text-ods-text-secondary", children: [
6048
- /* @__PURE__ */ jsx56("p", { children: errorContactPrompt }),
6049
- /* @__PURE__ */ jsx56("a", { href: `mailto:${contactEmail}`, className: "text-ods-accent hover:underline", children: contactEmail })
5831
+ /* @__PURE__ */ jsxs44("div", { className: "text-ods-text-secondary", children: [
5832
+ /* @__PURE__ */ jsx55("p", { children: errorContactPrompt }),
5833
+ /* @__PURE__ */ jsx55("a", { href: `mailto:${contactEmail}`, className: "text-ods-accent hover:underline", children: contactEmail })
6050
5834
  ] })
6051
- ] }) : data ? /* @__PURE__ */ jsx56(
5835
+ ] }) : data ? /* @__PURE__ */ jsx55(
6052
5836
  MarkdownRenderer,
6053
5837
  {
6054
5838
  content: data.content,
6055
5839
  sectionIds: data.sections || [],
6056
5840
  demoteMarkdownH1ToH2: true
6057
5841
  }
6058
- ) : /* @__PURE__ */ jsxs45("div", { className: "text-center text-ods-text-secondary py-16", children: [
6059
- /* @__PURE__ */ jsx56("p", { className: "text-xl", children: emptyStateMessage }),
6060
- /* @__PURE__ */ jsxs45("p", { className: "mt-2", children: [
5842
+ ) : /* @__PURE__ */ jsxs44("div", { className: "text-center text-ods-text-secondary py-16", children: [
5843
+ /* @__PURE__ */ jsx55("p", { className: "text-xl", children: emptyStateMessage }),
5844
+ /* @__PURE__ */ jsxs44("p", { className: "mt-2", children: [
6061
5845
  "Please contact",
6062
5846
  " ",
6063
- /* @__PURE__ */ jsx56("a", { href: `mailto:${contactEmail}`, className: "text-ods-accent hover:underline", children: contactEmail }),
5847
+ /* @__PURE__ */ jsx55("a", { href: `mailto:${contactEmail}`, className: "text-ods-accent hover:underline", children: contactEmail }),
6064
5848
  " ",
6065
5849
  "for more information."
6066
5850
  ] })
@@ -6070,7 +5854,7 @@ function LegalDocumentPage({
6070
5854
 
6071
5855
  // src/components/authors/author-detail-view.tsx
6072
5856
  init_cn();
6073
- import { jsx as jsx57, jsxs as jsxs46 } from "react/jsx-runtime";
5857
+ import { jsx as jsx56, jsxs as jsxs45 } from "react/jsx-runtime";
6074
5858
  function AuthorDetailView({
6075
5859
  author,
6076
5860
  proxyImageUrl,
@@ -6085,9 +5869,9 @@ function AuthorDetailView({
6085
5869
  }) ?? author.avatarUrl : null;
6086
5870
  const subtitle = [author.jobTitle, author.company].filter(Boolean).join(" @ ");
6087
5871
  const bioText = formatBioText(author.about);
6088
- return /* @__PURE__ */ jsxs46("div", { className: cn("flex flex-col gap-5 md:gap-6", className), children: [
6089
- /* @__PURE__ */ jsxs46("div", { className: "flex gap-6 w-full items-start", children: [
6090
- /* @__PURE__ */ jsx57("div", { className: "relative shrink-0 h-24 w-24", children: /* @__PURE__ */ jsx57("div", { className: "rounded-full overflow-hidden bg-ods-bg-secondary border border-ods-border w-full h-full relative", children: proxiedAvatar ? /* @__PURE__ */ jsx57(
5872
+ return /* @__PURE__ */ jsxs45("div", { className: cn("flex flex-col gap-5 md:gap-6", className), children: [
5873
+ /* @__PURE__ */ jsxs45("div", { className: "flex gap-6 w-full items-start", children: [
5874
+ /* @__PURE__ */ jsx56("div", { className: "relative shrink-0 h-24 w-24", children: /* @__PURE__ */ jsx56("div", { className: "rounded-full overflow-hidden bg-ods-bg-secondary border border-ods-border w-full h-full relative", children: proxiedAvatar ? /* @__PURE__ */ jsx56(
6091
5875
  next_image_default,
6092
5876
  {
6093
5877
  src: proxiedAvatar,
@@ -6096,12 +5880,12 @@ function AuthorDetailView({
6096
5880
  className: "object-cover",
6097
5881
  unoptimized: true
6098
5882
  }
6099
- ) : /* @__PURE__ */ jsx57("div", { className: "flex items-center justify-center h-full w-full text-3xl text-ods-text-secondary font-['Azeret_Mono']", children: author.fullName.charAt(0).toUpperCase() }) }) }),
6100
- /* @__PURE__ */ jsxs46("div", { className: "min-w-0 flex flex-col justify-center gap-2", children: [
6101
- /* @__PURE__ */ jsx57("p", { className: "text-h2 text-ods-text-primary leading-none truncate", children: author.fullName }),
6102
- subtitle && /* @__PURE__ */ jsx57("p", { className: "font-body text-lg text-ods-text-secondary leading-none truncate", children: subtitle }),
5883
+ ) : /* @__PURE__ */ jsx56("div", { className: "flex items-center justify-center h-full w-full text-3xl text-ods-text-secondary font-['Azeret_Mono']", children: author.fullName.charAt(0).toUpperCase() }) }) }),
5884
+ /* @__PURE__ */ jsxs45("div", { className: "min-w-0 flex flex-col justify-center gap-2", children: [
5885
+ /* @__PURE__ */ jsx56("p", { className: "text-h2 text-ods-text-primary leading-none truncate", children: author.fullName }),
5886
+ subtitle && /* @__PURE__ */ jsx56("p", { className: "font-body text-lg text-ods-text-secondary leading-none truncate", children: subtitle }),
6103
5887
  author.socialLinks.length > 0 && // Ghost compact row (transparent 32px) — metadata, not CTAs.
6104
- /* @__PURE__ */ jsx57(
5888
+ /* @__PURE__ */ jsx56(
6105
5889
  SocialIconRow,
6106
5890
  {
6107
5891
  compact: true,
@@ -6114,8 +5898,8 @@ function AuthorDetailView({
6114
5898
  )
6115
5899
  ] })
6116
5900
  ] }),
6117
- bioText && /* @__PURE__ */ jsx57("p", { className: "font-body text-base leading-relaxed text-ods-text-secondary", children: bioText }),
6118
- author.knowsAbout.length > 0 && /* @__PURE__ */ jsx57("div", { className: "flex flex-wrap gap-2", children: author.knowsAbout.map((topic) => /* @__PURE__ */ jsx57(StatusBadge, { text: topic, variant: "button", colorScheme: "cyan", singleLine: true }, topic)) }),
5901
+ bioText && /* @__PURE__ */ jsx56("p", { className: "font-body text-base leading-relaxed text-ods-text-secondary", children: bioText }),
5902
+ author.knowsAbout.length > 0 && /* @__PURE__ */ jsx56("div", { className: "flex flex-wrap gap-2", children: author.knowsAbout.map((topic) => /* @__PURE__ */ jsx56(StatusBadge, { text: topic, variant: "button", colorScheme: "cyan", singleLine: true }, topic)) }),
6119
5903
  children
6120
5904
  ] });
6121
5905
  }
@@ -6402,6 +6186,7 @@ export {
6402
6186
  DocSearchBar,
6403
6187
  DocSearchResultRow,
6404
6188
  DocViewer,
6189
+ DocsHubPage,
6405
6190
  DocumentIcon,
6406
6191
  DonutIcon,
6407
6192
  DoubleChevronIcon,
@@ -6434,10 +6219,13 @@ export {
6434
6219
  DropdownMenuTrigger,
6435
6220
  DynamicSkeleton,
6436
6221
  DynamicThemeProvider,
6222
+ EMBED_SIZES,
6437
6223
  EMPTY_AUTHOR_PLACEHOLDER,
6438
6224
  EditProfileIcon,
6439
6225
  ElestioLogo,
6226
+ EmbedContainer,
6440
6227
  EmbedIframe,
6228
+ EmbedSkeleton,
6441
6229
  EmbeddableChat,
6442
6230
  EmptyState,
6443
6231
  EmptyVendorIcon,
@@ -6469,6 +6257,7 @@ export {
6469
6257
  FigmaIcon,
6470
6258
  FigmaPrototypeViewer,
6471
6259
  FileCheckIcon,
6260
+ FileDownloadCard,
6472
6261
  FileTextIcon,
6473
6262
  FileUpload,
6474
6263
  FilterCheckboxItem,
@@ -6553,6 +6342,9 @@ export {
6553
6342
  Label,
6554
6343
  LaptopIcon,
6555
6344
  LegalDocumentPage,
6345
+ LinkPreviewContainer,
6346
+ LinkedInContainer,
6347
+ LinkedInEmbedClient,
6556
6348
  LinkedInIcon,
6557
6349
  LinuxIcon,
6558
6350
  ListLoader,
@@ -6578,6 +6370,8 @@ export {
6578
6370
  MarginCrisisIcon,
6579
6371
  MarginReportSkeleton,
6580
6372
  MarkdownEditor,
6373
+ MarkdownImage,
6374
+ MarkdownSkeleton,
6581
6375
  MediaCarousel,
6582
6376
  MediaGalleryManager,
6583
6377
  MediaGalleryStrip,
@@ -6694,10 +6488,12 @@ export {
6694
6488
  PageActions,
6695
6489
  PageContainer,
6696
6490
  PageError,
6491
+ PageHeader,
6697
6492
  PageHeading,
6698
6493
  PageLayout,
6699
6494
  PageLoader,
6700
6495
  PageShell,
6496
+ PageWithHeader,
6701
6497
  Pagination,
6702
6498
  PaginationContent,
6703
6499
  PaginationEllipsis,
@@ -6756,6 +6552,8 @@ export {
6756
6552
  RapidInnovationIcon,
6757
6553
  RatioTabs,
6758
6554
  ReclaimProfitsIcon,
6555
+ RedditContainer,
6556
+ RedditEmbedClient,
6759
6557
  RedditIcon,
6760
6558
  RelatedContentSection,
6761
6559
  ReleaseChangelogSection,
@@ -6768,6 +6566,8 @@ export {
6768
6566
  ResultBlock,
6769
6567
  ResultsCount,
6770
6568
  ResultsHeaderSkeleton,
6569
+ RichMarkdownRenderer,
6570
+ RichMarkdownRuntimeProvider,
6771
6571
  RoadmapCard,
6772
6572
  RoadmapCardSkeleton,
6773
6573
  RoadmapGrid,
@@ -6777,6 +6577,7 @@ export {
6777
6577
  SCROLL_ANCHOR,
6778
6578
  SCROLL_ANCHOR_WIRE_KEY,
6779
6579
  SECTION_HEADING_CLASS,
6580
+ SECTION_HERO_ICON_CLASS,
6780
6581
  SEOEditorPreview,
6781
6582
  SOCIcon,
6782
6583
  SOURCE_ICON_NAMES,
@@ -6929,6 +6730,8 @@ export {
6929
6730
  TransparentTrustedIcon,
6930
6731
  TruncateText,
6931
6732
  TrustpilotIcon,
6733
+ TwitterContainer,
6734
+ TwitterEmbedClient,
6932
6735
  TwoColumnLayoutSkeleton,
6933
6736
  UnarchiveChatModal,
6934
6737
  UnifiedPagination,
@@ -6962,6 +6765,7 @@ export {
6962
6765
  XCircleIcon,
6963
6766
  XLogo,
6964
6767
  YesNoDisplay,
6768
+ YouTubeContainer,
6965
6769
  YouTubeIcon,
6966
6770
  alignJustify,
6967
6771
  applyProxyAuth,
@@ -7126,6 +6930,7 @@ export {
7126
6930
  usePaginationLoading,
7127
6931
  useProxiedImageUrl,
7128
6932
  useRealtimeChunkProcessor,
6933
+ useRichMarkdownRuntime,
7129
6934
  useRoadmapVoting,
7130
6935
  useSSE,
7131
6936
  useScrollSpy,