@arbidocs/blocks 0.3.185 → 0.4.1

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 (612) hide show
  1. package/README.md +122 -0
  2. package/dist/agents/approvals/AuthorizeAgentParts.d.ts +79 -0
  3. package/dist/agents/approvals/ConsentPage.d.ts +76 -0
  4. package/dist/agents/approvals/ConsentParts.d.ts +37 -0
  5. package/dist/agents/approvals/index.d.ts +3 -0
  6. package/dist/agents/config/ConfigField.d.ts +43 -0
  7. package/dist/agents/config/ConfigForm.d.ts +35 -0
  8. package/dist/agents/config/TupleArrayField.d.ts +32 -0
  9. package/dist/agents/config/index.d.ts +4 -0
  10. package/dist/agents/config/schema-utils.d.ts +28 -0
  11. package/dist/agents/definitions/AgentCard.d.ts +63 -0
  12. package/dist/agents/definitions/AgentCreator.d.ts +118 -0
  13. package/dist/agents/definitions/AgentEditorParts.d.ts +63 -0
  14. package/dist/agents/definitions/AgentGallery.d.ts +29 -0
  15. package/dist/agents/definitions/index.d.ts +4 -0
  16. package/dist/agents/index.cjs +595 -0
  17. package/dist/agents/index.cjs.map +1 -0
  18. package/dist/agents/index.d.ts +7 -0
  19. package/dist/agents/index.js +14 -0
  20. package/dist/agents/index.js.map +1 -0
  21. package/dist/agents/runs/AgentBar.d.ts +103 -0
  22. package/dist/agents/runs/AgentSteps.d.ts +157 -0
  23. package/dist/agents/runs/SubagentRoster.d.ts +37 -0
  24. package/dist/agents/runs/index.d.ts +3 -0
  25. package/dist/agents/skills/SkillBrowserParts.d.ts +70 -0
  26. package/dist/agents/skills/SkillCard.d.ts +48 -0
  27. package/dist/agents/skills/SkillForms.d.ts +64 -0
  28. package/dist/agents/skills/SkillParts.d.ts +31 -0
  29. package/dist/agents/skills/SkillRow.d.ts +34 -0
  30. package/dist/agents/skills/index.d.ts +5 -0
  31. package/dist/agents/tasks/LiveRunsBanner.d.ts +26 -0
  32. package/dist/agents/tasks/RecurrenceBuilder.d.ts +36 -0
  33. package/dist/agents/tasks/TaskComposer.d.ts +108 -0
  34. package/dist/agents/tasks/TaskPlan.d.ts +78 -0
  35. package/dist/agents/tasks/TaskRowActions.d.ts +43 -0
  36. package/dist/agents/tasks/TaskRunsDialog.d.ts +45 -0
  37. package/dist/agents/tasks/TasksChrome.d.ts +36 -0
  38. package/dist/agents/tasks/UploadTaskItem.d.ts +39 -0
  39. package/dist/agents/tasks/UploadTaskList.d.ts +35 -0
  40. package/dist/agents/tasks/elapsed.d.ts +2 -0
  41. package/dist/agents/tasks/index.d.ts +13 -0
  42. package/dist/agents/tasks/rrule.d.ts +36 -0
  43. package/dist/agents/tasks/taskColumns.d.ts +68 -0
  44. package/dist/agents/tasks/taskLabels.d.ts +26 -0
  45. package/dist/agents/workflows/AgentSelect.d.ts +33 -0
  46. package/dist/agents/workflows/SchemaForm.d.ts +37 -0
  47. package/dist/agents/workflows/WorkflowConfigDialog.d.ts +73 -0
  48. package/dist/agents/workflows/WorkflowLauncher.d.ts +38 -0
  49. package/dist/agents/workflows/index.d.ts +6 -0
  50. package/dist/agents/workflows/types.d.ts +125 -0
  51. package/dist/agents/workflows/workflow.d.ts +62 -0
  52. package/dist/auth/AuthFooter.d.ts +56 -0
  53. package/dist/auth/AuthForm.d.ts +105 -0
  54. package/dist/auth/AuthLayout.d.ts +46 -0
  55. package/dist/auth/PasswordStrengthInput.d.ts +44 -0
  56. package/dist/auth/RecoveryDialogs.d.ts +90 -0
  57. package/dist/auth/SsoLoginButton.d.ts +19 -0
  58. package/dist/auth/index.cjs +123 -0
  59. package/dist/auth/index.cjs.map +1 -0
  60. package/dist/auth/index.d.ts +6 -0
  61. package/dist/auth/index.js +6 -0
  62. package/dist/auth/index.js.map +1 -0
  63. package/dist/builder/AgentsPanel.d.ts +9 -0
  64. package/dist/builder/ModuleManager.d.ts +6 -0
  65. package/dist/builder/VerticalBuilder.d.ts +32 -0
  66. package/dist/builder/agents/store.d.ts +21 -0
  67. package/dist/builder/export.d.ts +30 -0
  68. package/dist/builder/modules/registry.d.ts +11 -0
  69. package/dist/builder/modules/store.d.ts +29 -0
  70. package/dist/builder/modules/types.d.ts +29 -0
  71. package/dist/builder/types.d.ts +28 -0
  72. package/dist/chat/BranchControls.d.ts +33 -0
  73. package/dist/chat/Composer.d.ts +156 -0
  74. package/dist/chat/ContextChip.d.ts +19 -0
  75. package/dist/chat/ContextPanel.d.ts +108 -0
  76. package/dist/chat/ConversationEmpty.d.ts +53 -0
  77. package/dist/chat/ConversationLayout.d.ts +40 -0
  78. package/dist/chat/ConversationParts.d.ts +62 -0
  79. package/dist/chat/ConversationSearchView.d.ts +57 -0
  80. package/dist/chat/LabelPinRow.d.ts +30 -0
  81. package/dist/chat/Message.d.ts +189 -0
  82. package/dist/chat/MessageAlert.d.ts +25 -0
  83. package/dist/chat/MessageList.d.ts +102 -0
  84. package/dist/chat/ModelPicker.d.ts +103 -0
  85. package/dist/chat/PendingAnswerBar.d.ts +36 -0
  86. package/dist/chat/PinnedDocChip.d.ts +22 -0
  87. package/dist/chat/SlashMenu.d.ts +57 -0
  88. package/dist/chat/ThreadMap.d.ts +45 -0
  89. package/dist/chat/index.cjs +423 -0
  90. package/dist/chat/index.cjs.map +1 -0
  91. package/dist/chat/index.d.ts +21 -0
  92. package/dist/chat/index.js +6 -0
  93. package/dist/chat/index.js.map +1 -0
  94. package/dist/chat/test-id.d.ts +16 -0
  95. package/dist/chat/useStreamAnnouncement.d.ts +19 -0
  96. package/dist/chunk-223D4727.cjs +50 -0
  97. package/dist/chunk-223D4727.cjs.map +1 -0
  98. package/dist/chunk-2K33YGM6.cjs +1846 -0
  99. package/dist/chunk-2K33YGM6.cjs.map +1 -0
  100. package/dist/chunk-2ORA62OF.js +266 -0
  101. package/dist/chunk-2ORA62OF.js.map +1 -0
  102. package/dist/chunk-4EZVCGRL.js +803 -0
  103. package/dist/chunk-4EZVCGRL.js.map +1 -0
  104. package/dist/chunk-54Q3RNJU.cjs +516 -0
  105. package/dist/chunk-54Q3RNJU.cjs.map +1 -0
  106. package/dist/chunk-5B4PXAKI.cjs +287 -0
  107. package/dist/chunk-5B4PXAKI.cjs.map +1 -0
  108. package/dist/chunk-6HIPFEID.cjs +574 -0
  109. package/dist/chunk-6HIPFEID.cjs.map +1 -0
  110. package/dist/{chunk-FZ2S6VAZ.js → chunk-6P6AEQJB.js} +413 -1132
  111. package/dist/chunk-6P6AEQJB.js.map +1 -0
  112. package/dist/chunk-76JDDMSP.js +31 -0
  113. package/dist/chunk-76JDDMSP.js.map +1 -0
  114. package/dist/chunk-7F6CBP3Z.js +12 -0
  115. package/dist/chunk-7F6CBP3Z.js.map +1 -0
  116. package/dist/chunk-7G2LJMUG.cjs +45 -0
  117. package/dist/chunk-7G2LJMUG.cjs.map +1 -0
  118. package/dist/chunk-7PEELPMA.js +1799 -0
  119. package/dist/chunk-7PEELPMA.js.map +1 -0
  120. package/dist/chunk-A2YAC22G.js +93 -0
  121. package/dist/chunk-A2YAC22G.js.map +1 -0
  122. package/dist/chunk-ADOKTJHV.cjs +262 -0
  123. package/dist/chunk-ADOKTJHV.cjs.map +1 -0
  124. package/dist/chunk-AE5FHFZ5.cjs +272 -0
  125. package/dist/chunk-AE5FHFZ5.cjs.map +1 -0
  126. package/dist/chunk-AXIZ2MDV.js +751 -0
  127. package/dist/chunk-AXIZ2MDV.js.map +1 -0
  128. package/dist/chunk-AZQDNYH4.js +2865 -0
  129. package/dist/chunk-AZQDNYH4.js.map +1 -0
  130. package/dist/chunk-C54XEN5T.cjs +34 -0
  131. package/dist/chunk-C54XEN5T.cjs.map +1 -0
  132. package/dist/chunk-CQCC7LE7.js +210 -0
  133. package/dist/chunk-CQCC7LE7.js.map +1 -0
  134. package/dist/chunk-CRIKTUEU.cjs +47 -0
  135. package/dist/chunk-CRIKTUEU.cjs.map +1 -0
  136. package/dist/chunk-CTZ5745I.js +564 -0
  137. package/dist/chunk-CTZ5745I.js.map +1 -0
  138. package/dist/chunk-DPLRHEJZ.js +78 -0
  139. package/dist/chunk-DPLRHEJZ.js.map +1 -0
  140. package/dist/{chunk-DBAUZD7A.cjs → chunk-DREI7EQ2.cjs} +437 -1152
  141. package/dist/chunk-DREI7EQ2.cjs.map +1 -0
  142. package/dist/chunk-ELR74ME6.cjs +68 -0
  143. package/dist/chunk-ELR74ME6.cjs.map +1 -0
  144. package/dist/chunk-G3G7LZPM.cjs +205 -0
  145. package/dist/chunk-G3G7LZPM.cjs.map +1 -0
  146. package/dist/chunk-GDFWJ73C.cjs +2973 -0
  147. package/dist/chunk-GDFWJ73C.cjs.map +1 -0
  148. package/dist/chunk-ITGHMJOM.js +5528 -0
  149. package/dist/chunk-ITGHMJOM.js.map +1 -0
  150. package/dist/chunk-J2BGSWXM.cjs +990 -0
  151. package/dist/chunk-J2BGSWXM.cjs.map +1 -0
  152. package/dist/chunk-K4BGOPGG.js +79 -0
  153. package/dist/chunk-K4BGOPGG.js.map +1 -0
  154. package/dist/chunk-LGBAZD37.js +341 -0
  155. package/dist/chunk-LGBAZD37.js.map +1 -0
  156. package/dist/chunk-LRUCMZK6.cjs +680 -0
  157. package/dist/chunk-LRUCMZK6.cjs.map +1 -0
  158. package/dist/chunk-MHVNT4J3.cjs +15 -0
  159. package/dist/chunk-MHVNT4J3.cjs.map +1 -0
  160. package/dist/chunk-NBV56SGU.js +42 -0
  161. package/dist/chunk-NBV56SGU.js.map +1 -0
  162. package/dist/chunk-NPLYHR2E.js +13 -0
  163. package/dist/chunk-NPLYHR2E.js.map +1 -0
  164. package/dist/chunk-NUNKSZKU.js +203 -0
  165. package/dist/chunk-NUNKSZKU.js.map +1 -0
  166. package/dist/chunk-OB5F4577.cjs +40 -0
  167. package/dist/chunk-OB5F4577.cjs.map +1 -0
  168. package/dist/chunk-OBLSURHV.js +973 -0
  169. package/dist/chunk-OBLSURHV.js.map +1 -0
  170. package/dist/chunk-OUW6G4O2.cjs +96 -0
  171. package/dist/chunk-OUW6G4O2.cjs.map +1 -0
  172. package/dist/chunk-OVEQERPO.js +66 -0
  173. package/dist/chunk-OVEQERPO.js.map +1 -0
  174. package/dist/chunk-P6GHJSLR.js +34 -0
  175. package/dist/chunk-P6GHJSLR.js.map +1 -0
  176. package/dist/chunk-PCB2BPN3.cjs +41 -0
  177. package/dist/chunk-PCB2BPN3.cjs.map +1 -0
  178. package/dist/chunk-PPCATBOY.cjs +15 -0
  179. package/dist/chunk-PPCATBOY.cjs.map +1 -0
  180. package/dist/chunk-QN42OA5J.js +887 -0
  181. package/dist/chunk-QN42OA5J.js.map +1 -0
  182. package/dist/chunk-QXEJXIP4.js +675 -0
  183. package/dist/chunk-QXEJXIP4.js.map +1 -0
  184. package/dist/chunk-RC6VTY2H.js +47 -0
  185. package/dist/chunk-RC6VTY2H.js.map +1 -0
  186. package/dist/chunk-RFIBUWLF.cjs +232 -0
  187. package/dist/chunk-RFIBUWLF.cjs.map +1 -0
  188. package/dist/chunk-S7PSMMRG.js +38 -0
  189. package/dist/chunk-S7PSMMRG.js.map +1 -0
  190. package/dist/chunk-SCFYPAG6.cjs +18 -0
  191. package/dist/chunk-SCFYPAG6.cjs.map +1 -0
  192. package/dist/chunk-SYDHKKRZ.cjs +818 -0
  193. package/dist/chunk-SYDHKKRZ.cjs.map +1 -0
  194. package/dist/chunk-TX2ZICS7.js +139 -0
  195. package/dist/chunk-TX2ZICS7.js.map +1 -0
  196. package/dist/chunk-TYZUCAT7.js +787 -0
  197. package/dist/chunk-TYZUCAT7.js.map +1 -0
  198. package/dist/chunk-U2E3WT3J.js +45 -0
  199. package/dist/chunk-U2E3WT3J.js.map +1 -0
  200. package/dist/chunk-UBNVIIBT.js +284 -0
  201. package/dist/chunk-UBNVIIBT.js.map +1 -0
  202. package/dist/chunk-UFHMLHIR.cjs +66 -0
  203. package/dist/chunk-UFHMLHIR.cjs.map +1 -0
  204. package/dist/chunk-UJE32SST.js +39 -0
  205. package/dist/chunk-UJE32SST.js.map +1 -0
  206. package/dist/chunk-ULWRNGGE.cjs +146 -0
  207. package/dist/chunk-ULWRNGGE.cjs.map +1 -0
  208. package/dist/chunk-UWGIB3VQ.js +64 -0
  209. package/dist/chunk-UWGIB3VQ.js.map +1 -0
  210. package/dist/chunk-V4ISCZJ7.cjs +207 -0
  211. package/dist/chunk-V4ISCZJ7.cjs.map +1 -0
  212. package/dist/chunk-VFUWWH52.cjs +83 -0
  213. package/dist/chunk-VFUWWH52.cjs.map +1 -0
  214. package/dist/chunk-VILAPTCB.js +259 -0
  215. package/dist/chunk-VILAPTCB.js.map +1 -0
  216. package/dist/chunk-VLCY46K6.cjs +82 -0
  217. package/dist/chunk-VLCY46K6.cjs.map +1 -0
  218. package/dist/chunk-VPPX5XUF.cjs +813 -0
  219. package/dist/chunk-VPPX5XUF.cjs.map +1 -0
  220. package/dist/chunk-WJMEXTVD.cjs +122 -0
  221. package/dist/chunk-WJMEXTVD.cjs.map +1 -0
  222. package/dist/chunk-WTNMWEBC.js +504 -0
  223. package/dist/chunk-WTNMWEBC.js.map +1 -0
  224. package/dist/chunk-WW6EOVZA.js +112 -0
  225. package/dist/chunk-WW6EOVZA.js.map +1 -0
  226. package/dist/chunk-XNBAXRY7.cjs +5673 -0
  227. package/dist/chunk-XNBAXRY7.cjs.map +1 -0
  228. package/dist/chunk-XQ7PKKDY.cjs +787 -0
  229. package/dist/chunk-XQ7PKKDY.cjs.map +1 -0
  230. package/dist/chunk-XZIYRKLW.cjs +347 -0
  231. package/dist/chunk-XZIYRKLW.cjs.map +1 -0
  232. package/dist/chunk-YBXCZEWS.js +187 -0
  233. package/dist/chunk-YBXCZEWS.js.map +1 -0
  234. package/dist/chunk-YDHO4AVL.js +16 -0
  235. package/dist/chunk-YDHO4AVL.js.map +1 -0
  236. package/dist/chunk-ZORQ5M3W.cjs +934 -0
  237. package/dist/chunk-ZORQ5M3W.cjs.map +1 -0
  238. package/dist/chunk-ZW6FPIFC.cjs +36 -0
  239. package/dist/chunk-ZW6FPIFC.cjs.map +1 -0
  240. package/dist/citations/CitationEditor.d.ts +58 -0
  241. package/dist/citations/PassagePill.d.ts +49 -0
  242. package/dist/citations/QuietMarks.d.ts +81 -0
  243. package/dist/citations/index.cjs +47 -0
  244. package/dist/citations/index.cjs.map +1 -0
  245. package/dist/citations/index.d.ts +3 -0
  246. package/dist/citations/index.js +6 -0
  247. package/dist/citations/index.js.map +1 -0
  248. package/dist/collaboration/contacts/AddContactsParts.d.ts +46 -0
  249. package/dist/collaboration/contacts/index.d.ts +1 -0
  250. package/dist/collaboration/direct-messages/DirectMessages.d.ts +33 -0
  251. package/dist/collaboration/direct-messages/DmParts.d.ts +139 -0
  252. package/dist/collaboration/direct-messages/index.d.ts +2 -0
  253. package/dist/collaboration/index.cjs +141 -0
  254. package/dist/collaboration/index.cjs.map +1 -0
  255. package/dist/collaboration/index.d.ts +5 -0
  256. package/dist/collaboration/index.js +8 -0
  257. package/dist/collaboration/index.js.map +1 -0
  258. package/dist/collaboration/mail/MailFolderTree.d.ts +34 -0
  259. package/dist/collaboration/mail/index.d.ts +2 -0
  260. package/dist/collaboration/mail/mailFolders.d.ts +25 -0
  261. package/dist/collaboration/members/WorkspaceMembers.d.ts +74 -0
  262. package/dist/collaboration/members/index.d.ts +1 -0
  263. package/dist/collaboration/sharing/ShareControl.d.ts +38 -0
  264. package/dist/collaboration/sharing/index.d.ts +1 -0
  265. package/dist/components/Accordion.d.ts +12 -0
  266. package/dist/components/ActionLink.d.ts +18 -0
  267. package/dist/components/AskBar.d.ts +48 -0
  268. package/dist/components/AvatarBlock.d.ts +9 -0
  269. package/dist/components/Banner.d.ts +12 -0
  270. package/dist/components/BlockImage.d.ts +18 -0
  271. package/dist/components/CTABanner.d.ts +17 -0
  272. package/dist/components/Callout.d.ts +9 -0
  273. package/dist/components/Chart.d.ts +35 -0
  274. package/dist/components/CollectionDetail.d.ts +23 -0
  275. package/dist/components/Columns.d.ts +11 -0
  276. package/dist/components/ContactForm.d.ts +54 -0
  277. package/dist/components/Container.d.ts +11 -0
  278. package/dist/components/DataTable.d.ts +47 -0
  279. package/dist/components/DataTableBlock.d.ts +26 -0
  280. package/dist/components/EmptyState.d.ts +11 -0
  281. package/dist/components/EntityChip.d.ts +24 -0
  282. package/dist/components/EntityIdentityBar.d.ts +90 -0
  283. package/dist/components/EntityTooltip.d.ts +43 -0
  284. package/dist/components/FAQ.d.ts +14 -0
  285. package/dist/components/FeatureGrid.d.ts +18 -0
  286. package/dist/components/Footer.d.ts +25 -0
  287. package/dist/components/Gallery.d.ts +15 -0
  288. package/dist/components/Hero.d.ts +35 -0
  289. package/dist/components/ListBlock.d.ts +10 -0
  290. package/dist/components/LogoCloud.d.ts +12 -0
  291. package/dist/components/MediaText.d.ts +15 -0
  292. package/dist/components/MemberAvatarStack.d.ts +36 -0
  293. package/dist/components/MetricCard.d.ts +28 -0
  294. package/dist/components/Navbar.d.ts +39 -0
  295. package/dist/components/PageHeader.d.ts +15 -0
  296. package/dist/components/PricingTable.d.ts +19 -0
  297. package/dist/components/RichTextBlock.d.ts +10 -0
  298. package/dist/components/SectionHeading.d.ts +11 -0
  299. package/dist/components/Spacer.d.ts +7 -0
  300. package/dist/components/StatGroup.d.ts +12 -0
  301. package/dist/components/Steps.d.ts +12 -0
  302. package/dist/components/Tabs.d.ts +15 -0
  303. package/dist/components/TeamGrid.d.ts +30 -0
  304. package/dist/components/Testimonial.d.ts +9 -0
  305. package/dist/components/TestimonialGrid.d.ts +13 -0
  306. package/dist/components/ToneBadge.d.ts +18 -0
  307. package/dist/components/Toolbar.d.ts +11 -0
  308. package/dist/components/UsageMeter.d.ts +21 -0
  309. package/dist/components/VideoEmbed.d.ts +16 -0
  310. package/dist/components/assetImage.d.ts +16 -0
  311. package/dist/components/assetResolver.d.ts +57 -0
  312. package/dist/components/blockLink.d.ts +26 -0
  313. package/dist/components/editorial/ArticleList.d.ts +32 -0
  314. package/dist/components/editorial/Bands.d.ts +29 -0
  315. package/dist/components/editorial/EditorialHeading.d.ts +17 -0
  316. package/dist/components/editorial/EditorialHero.d.ts +46 -0
  317. package/dist/components/editorial/EditorialSection.d.ts +47 -0
  318. package/dist/components/editorial/Eyebrow.d.ts +14 -0
  319. package/dist/components/editorial/PanelGrid.d.ts +45 -0
  320. package/dist/components/editorial/ProfileCard.d.ts +27 -0
  321. package/dist/components/editorial/PullQuote.d.ts +17 -0
  322. package/dist/components/editorial/Reveal.d.ts +15 -0
  323. package/dist/components/editorial/index.d.ts +12 -0
  324. package/dist/components/editorial/lists.d.ts +42 -0
  325. package/dist/components/editorial/tone.d.ts +33 -0
  326. package/dist/components/tones.d.ts +14 -0
  327. package/dist/connect/index.cjs +65 -0
  328. package/dist/connect/index.cjs.map +1 -0
  329. package/dist/connect/index.d.ts +8 -0
  330. package/dist/connect/index.js +28 -0
  331. package/dist/connect/index.js.map +1 -0
  332. package/dist/connection/ArbiAppProvider.d.ts +16 -0
  333. package/dist/connection/ConnectionProvider.d.ts +50 -0
  334. package/dist/connection/ai.d.ts +99 -0
  335. package/dist/connection/types.d.ts +54 -0
  336. package/dist/connection/useImageGen.d.ts +22 -0
  337. package/dist/facts/FactComposer.d.ts +75 -0
  338. package/dist/facts/FactDateInput.d.ts +34 -0
  339. package/dist/facts/FactLabelsCell.d.ts +35 -0
  340. package/dist/facts/FactPassages.d.ts +52 -0
  341. package/dist/facts/FactRowActions.d.ts +18 -0
  342. package/dist/facts/FactSearchParts.d.ts +80 -0
  343. package/dist/facts/FactSourceGroup.d.ts +26 -0
  344. package/dist/facts/FactTimelineViews.d.ts +37 -0
  345. package/dist/facts/FactsBulkBar.d.ts +53 -0
  346. package/dist/facts/FactsEmptyState.d.ts +38 -0
  347. package/dist/facts/FactsFieldsButton.d.ts +21 -0
  348. package/dist/facts/FactsFilterInput.d.ts +46 -0
  349. package/dist/facts/FactsTable.d.ts +28 -0
  350. package/dist/facts/FactsToolbar.d.ts +53 -0
  351. package/dist/facts/FactsViewToggle.d.ts +38 -0
  352. package/dist/facts/fact-date.d.ts +22 -0
  353. package/dist/facts/fact-row.d.ts +32 -0
  354. package/dist/facts/fact-text.d.ts +14 -0
  355. package/dist/facts/factColumns.d.ts +88 -0
  356. package/dist/facts/index.cjs +2401 -0
  357. package/dist/facts/index.cjs.map +1 -0
  358. package/dist/facts/index.d.ts +35 -0
  359. package/dist/facts/index.js +2343 -0
  360. package/dist/facts/index.js.map +1 -0
  361. package/dist/facts/timezone.d.ts +4 -0
  362. package/dist/files/AiReviewDialog.d.ts +77 -0
  363. package/dist/files/DocStatusIcon.d.ts +12 -0
  364. package/dist/files/DocumentGrid.d.ts +27 -0
  365. package/dist/files/Explorer.d.ts +10 -0
  366. package/dist/files/ExplorerSurface.d.ts +34 -0
  367. package/dist/files/ExplorerTile.d.ts +142 -0
  368. package/dist/files/ExportParts.d.ts +114 -0
  369. package/dist/files/FieldParts.d.ts +64 -0
  370. package/dist/files/FilesPage.d.ts +20 -0
  371. package/dist/files/FilesToolbar.d.ts +59 -0
  372. package/dist/files/FolderPicker.d.ts +82 -0
  373. package/dist/files/GridView.d.ts +59 -0
  374. package/dist/files/HtmlViewerParts.d.ts +183 -0
  375. package/dist/files/MoveToFolderDialog.d.ts +32 -0
  376. package/dist/files/RedlineParts.d.ts +72 -0
  377. package/dist/files/SelectionBar.d.ts +65 -0
  378. package/dist/files/StatusPill.d.ts +23 -0
  379. package/dist/files/TagPassagePanel.d.ts +60 -0
  380. package/dist/files/UploadDropzone.d.ts +33 -0
  381. package/dist/files/UploadFooter.d.ts +59 -0
  382. package/dist/files/UploadParts.d.ts +78 -0
  383. package/dist/files/UploadSources.d.ts +77 -0
  384. package/dist/files/VersionTimeline.d.ts +60 -0
  385. package/dist/files/ViewToggle.d.ts +53 -0
  386. package/dist/files/ViewerChrome.d.ts +152 -0
  387. package/dist/files/ViewerLayout.d.ts +32 -0
  388. package/dist/files/ViewerParts.d.ts +62 -0
  389. package/dist/files/bulk/BulkActionsBar.d.ts +76 -0
  390. package/dist/files/bulk/FolderFilterButton.d.ts +35 -0
  391. package/dist/files/bulk/index.d.ts +2 -0
  392. package/dist/files/cells/DocumentNameCell.d.ts +31 -0
  393. package/dist/files/cells/FolderCell.d.ts +25 -0
  394. package/dist/files/cells/HoverIconCell.d.ts +21 -0
  395. package/dist/files/cells/LabelMultiSelect.d.ts +50 -0
  396. package/dist/files/cells/RelatedDocsCell.d.ts +22 -0
  397. package/dist/files/cells/TagColumnParts.d.ts +29 -0
  398. package/dist/files/cells/index.d.ts +6 -0
  399. package/dist/files/documentGridLayout.d.ts +31 -0
  400. package/dist/files/grid-test-ids.d.ts +18 -0
  401. package/dist/files/import/CalendarImportRow.d.ts +26 -0
  402. package/dist/files/import/ImportParts.d.ts +114 -0
  403. package/dist/files/import/TaskSection.d.ts +51 -0
  404. package/dist/files/import/UrlInputDialogView.d.ts +63 -0
  405. package/dist/files/import/VendorLogo.d.ts +15 -0
  406. package/dist/files/import/index.d.ts +5 -0
  407. package/dist/files/index.cjs +7555 -0
  408. package/dist/files/index.cjs.map +1 -0
  409. package/dist/files/index.d.ts +34 -0
  410. package/dist/files/index.js +7340 -0
  411. package/dist/files/index.js.map +1 -0
  412. package/dist/files/page/FilesAddMenu.d.ts +30 -0
  413. package/dist/files/page/FilesPageParts.d.ts +24 -0
  414. package/dist/files/page/FilesPageTitle.d.ts +24 -0
  415. package/dist/files/page/index.d.ts +3 -0
  416. package/dist/files/tags/BulkTagEditor.d.ts +136 -0
  417. package/dist/files/tags/DocTagPopover.d.ts +113 -0
  418. package/dist/files/tags/TagManager.d.ts +54 -0
  419. package/dist/files/tags/index.d.ts +3 -0
  420. package/dist/files/views/FieldsEditorParts.d.ts +151 -0
  421. package/dist/files/views/FieldsManagerParts.d.ts +17 -0
  422. package/dist/files/views/TagFormParts.d.ts +109 -0
  423. package/dist/files/views/ViewSelectorMenu.d.ts +66 -0
  424. package/dist/files/views/fieldsEditorModel.d.ts +43 -0
  425. package/dist/files/views/index.d.ts +5 -0
  426. package/dist/home/ActionMenuDialog.d.ts +26 -0
  427. package/dist/home/AddFilesFirst.d.ts +22 -0
  428. package/dist/home/CardHeaderBar.d.ts +40 -0
  429. package/dist/home/CollapsibleSection.d.ts +43 -0
  430. package/dist/home/CreateTile.d.ts +17 -0
  431. package/dist/home/DashboardParts.d.ts +32 -0
  432. package/dist/home/FactsStrip.d.ts +41 -0
  433. package/dist/home/FoldSection.d.ts +19 -0
  434. package/dist/home/GettingStartedStrip.d.ts +49 -0
  435. package/dist/home/Greeting.d.ts +18 -0
  436. package/dist/home/HomeLayout.d.ts +28 -0
  437. package/dist/home/KeyValueRow.d.ts +43 -0
  438. package/dist/home/ProjectBandParts.d.ts +70 -0
  439. package/dist/home/QuickActionDialogHeader.d.ts +21 -0
  440. package/dist/home/RecentList.d.ts +48 -0
  441. package/dist/home/ScopePicker.d.ts +65 -0
  442. package/dist/home/StartTiles.d.ts +33 -0
  443. package/dist/home/index.cjs +854 -0
  444. package/dist/home/index.cjs.map +1 -0
  445. package/dist/home/index.d.ts +37 -0
  446. package/dist/home/index.js +763 -0
  447. package/dist/home/index.js.map +1 -0
  448. package/dist/home/sections.d.ts +33 -0
  449. package/dist/index.cjs +1992 -5547
  450. package/dist/index.cjs.map +1 -1
  451. package/dist/index.d.ts +72 -1716
  452. package/dist/index.js +142 -5316
  453. package/dist/index.js.map +1 -1
  454. package/dist/lib/balanced-columns.d.ts +8 -0
  455. package/dist/lib/format.d.ts +37 -0
  456. package/dist/lib/observe-resize.d.ts +6 -0
  457. package/dist/lib/password-strength.d.ts +24 -0
  458. package/dist/lib/sidebar-mode.d.ts +46 -0
  459. package/dist/lib/testid.d.ts +7 -0
  460. package/dist/lib/use-drawer.d.ts +11 -0
  461. package/dist/lib/useControllableState.d.ts +5 -0
  462. package/dist/lib/useDismissibleCard.d.ts +15 -0
  463. package/dist/lib/useListKeyNav.d.ts +42 -0
  464. package/dist/lib/useLongPaste.d.ts +15 -0
  465. package/dist/lib/useRestoreFocus.d.ts +11 -0
  466. package/dist/lib/useScopeSelection.d.ts +34 -0
  467. package/dist/nav/types.d.ts +19 -0
  468. package/dist/provider/BlocksProvider.d.ts +20 -0
  469. package/dist/provider/TooltipScope.d.ts +9 -0
  470. package/dist/record/index.cjs +2 -4
  471. package/dist/record/index.cjs.map +1 -1
  472. package/dist/record/index.d.ts +12 -16
  473. package/dist/record/index.js +2 -4
  474. package/dist/record/index.js.map +1 -1
  475. package/dist/retrieval/HighlightText.d.ts +21 -0
  476. package/dist/retrieval/SearchEmptyState.d.ts +39 -0
  477. package/dist/retrieval/SearchGroupHeader.d.ts +21 -0
  478. package/dist/retrieval/SearchHit.d.ts +36 -0
  479. package/dist/retrieval/SearchPage.d.ts +187 -0
  480. package/dist/retrieval/SearchPagination.d.ts +21 -0
  481. package/dist/retrieval/highlight.d.ts +21 -0
  482. package/dist/retrieval/index.cjs +160 -0
  483. package/dist/retrieval/index.cjs.map +1 -0
  484. package/dist/retrieval/index.d.ts +7 -0
  485. package/dist/retrieval/index.js +7 -0
  486. package/dist/retrieval/index.js.map +1 -0
  487. package/dist/settings/AccountDialogs.d.ts +89 -0
  488. package/dist/settings/AvatarPicker.d.ts +25 -0
  489. package/dist/settings/Billing.d.ts +113 -0
  490. package/dist/settings/ConfigSwitcherBar.d.ts +46 -0
  491. package/dist/settings/ConfirmDialog.d.ts +28 -0
  492. package/dist/settings/ConnectionCard.d.ts +58 -0
  493. package/dist/settings/ConversationSettingsParts.d.ts +53 -0
  494. package/dist/settings/DocumentPicker.d.ts +57 -0
  495. package/dist/settings/EmailWorkspaceDialogView.d.ts +60 -0
  496. package/dist/settings/ErrorDialog.d.ts +36 -0
  497. package/dist/settings/FloatingPanel.d.ts +32 -0
  498. package/dist/settings/JsonTree.d.ts +24 -0
  499. package/dist/settings/LogoutDialog.d.ts +51 -0
  500. package/dist/settings/ModalBreadcrumbHeader.d.ts +32 -0
  501. package/dist/settings/ModalScaffold.d.ts +60 -0
  502. package/dist/settings/MultiSelect.d.ts +111 -0
  503. package/dist/settings/NotificationCategoryList.d.ts +26 -0
  504. package/dist/settings/PanelFrame.d.ts +47 -0
  505. package/dist/settings/PasswordChangeDialog.d.ts +64 -0
  506. package/dist/settings/PlanBadge.d.ts +14 -0
  507. package/dist/settings/PlanCard.d.ts +97 -0
  508. package/dist/settings/PremiumModelsFrame.d.ts +17 -0
  509. package/dist/settings/ProfileCard.d.ts +67 -0
  510. package/dist/settings/Projects.d.ts +108 -0
  511. package/dist/settings/QuotaMeter.d.ts +31 -0
  512. package/dist/settings/ReferralCredit.d.ts +46 -0
  513. package/dist/settings/SegmentedControl.d.ts +20 -0
  514. package/dist/settings/ServerConnectionControls.d.ts +31 -0
  515. package/dist/settings/SettingsPanel.d.ts +61 -0
  516. package/dist/settings/SettingsSwitchRow.d.ts +21 -0
  517. package/dist/settings/SubscriptionParts.d.ts +215 -0
  518. package/dist/settings/SupportPanel.d.ts +32 -0
  519. package/dist/settings/SyncDialogParts.d.ts +155 -0
  520. package/dist/settings/ThreadPreviewDialog.d.ts +18 -0
  521. package/dist/settings/TipsEditorDialog.d.ts +94 -0
  522. package/dist/settings/TriStateFilterMenu.d.ts +66 -0
  523. package/dist/settings/Usage.d.ts +102 -0
  524. package/dist/settings/WelcomeDialog.d.ts +79 -0
  525. package/dist/settings/index.cjs +5131 -0
  526. package/dist/settings/index.cjs.map +1 -0
  527. package/dist/settings/index.d.ts +38 -0
  528. package/dist/settings/index.js +4922 -0
  529. package/dist/settings/index.js.map +1 -0
  530. package/dist/shell/ActionCluster.d.ts +33 -0
  531. package/dist/shell/AskField.d.ts +76 -0
  532. package/dist/shell/InfoBar.d.ts +20 -0
  533. package/dist/shell/MobileBars.d.ts +47 -0
  534. package/dist/shell/OfflinePill.d.ts +28 -0
  535. package/dist/shell/RemoteControlPill.d.ts +23 -0
  536. package/dist/shell/Shell.d.ts +123 -0
  537. package/dist/shell/Sidebar.d.ts +104 -0
  538. package/dist/shell/SidebarBadgeRow.d.ts +29 -0
  539. package/dist/shell/SidebarRowAction.d.ts +24 -0
  540. package/dist/shell/StatusRow.d.ts +20 -0
  541. package/dist/shell/TabHeader.d.ts +70 -0
  542. package/dist/shell/TipCard.d.ts +46 -0
  543. package/dist/shell/ToolButton.d.ts +12 -0
  544. package/dist/shell/Workspace.d.ts +90 -0
  545. package/dist/shell/index.cjs +187 -0
  546. package/dist/shell/index.cjs.map +1 -0
  547. package/dist/shell/index.d.ts +20 -0
  548. package/dist/shell/index.js +10 -0
  549. package/dist/shell/index.js.map +1 -0
  550. package/dist/shell/sidebar-context.d.ts +19 -0
  551. package/dist/shell/types.d.ts +48 -0
  552. package/dist/site/index.cjs +173 -90
  553. package/dist/site/index.d.ts +60 -4
  554. package/dist/site/index.js +8 -1
  555. package/dist/studio/PageRenderer.d.ts +35 -0
  556. package/dist/studio/Section.d.ts +24 -0
  557. package/dist/studio/StudioEditor.d.ts +32 -0
  558. package/dist/studio/aiFields.d.ts +17 -0
  559. package/dist/studio/blockKit.d.ts +36 -0
  560. package/dist/studio/blocksConfig.d.ts +42 -0
  561. package/dist/studio/imageFields.d.ts +14 -0
  562. package/dist/studio/index.cjs +3353 -0
  563. package/dist/studio/index.cjs.map +1 -0
  564. package/dist/studio/index.d.ts +32 -0
  565. package/dist/studio/index.js +3297 -0
  566. package/dist/studio/index.js.map +1 -0
  567. package/dist/studio/liveData.d.ts +4 -0
  568. package/dist/studio/liveWidgetRuntime.d.ts +41 -0
  569. package/dist/studio/persistence.d.ts +38 -0
  570. package/dist/studio/publish.d.ts +39 -0
  571. package/dist/studio/siteBlocks.d.ts +14 -0
  572. package/dist/studio/types.d.ts +46 -0
  573. package/dist/studio/websiteBlocks.d.ts +4 -0
  574. package/dist/studio/widgets.d.ts +20 -0
  575. package/dist/theme/ThemeEditor.d.ts +16 -0
  576. package/dist/theme/fontPairings.d.ts +48 -0
  577. package/dist/theme/store.d.ts +53 -0
  578. package/dist/theme/tokens.d.ts +105 -0
  579. package/dist/timeline/Timeline.d.ts +27 -0
  580. package/dist/timeline/TimelineCalendar.d.ts +54 -0
  581. package/dist/timeline/TimelineGantt.d.ts +71 -0
  582. package/dist/timeline/TimelineZoomControl.d.ts +17 -0
  583. package/dist/timeline/index.cjs +50 -0
  584. package/dist/timeline/index.cjs.map +1 -0
  585. package/dist/timeline/index.d.ts +13 -0
  586. package/dist/timeline/index.js +5 -0
  587. package/dist/timeline/index.js.map +1 -0
  588. package/dist/timeline/span.d.ts +29 -0
  589. package/dist/timeline/types.d.ts +30 -0
  590. package/dist/workspaces/WorkspaceBadges.d.ts +27 -0
  591. package/dist/workspaces/WorkspaceCard.d.ts +142 -0
  592. package/dist/workspaces/WorkspaceFormParts.d.ts +98 -0
  593. package/dist/workspaces/WorkspaceGroup.d.ts +31 -0
  594. package/dist/workspaces/WorkspaceSettingsParts.d.ts +70 -0
  595. package/dist/workspaces/index.cjs +690 -0
  596. package/dist/workspaces/index.cjs.map +1 -0
  597. package/dist/workspaces/index.d.ts +9 -0
  598. package/dist/workspaces/index.js +661 -0
  599. package/dist/workspaces/index.js.map +1 -0
  600. package/package.json +154 -9
  601. package/src/blocks.css +365 -0
  602. package/src/components/grid.css +60 -107
  603. package/src/source.css +20 -0
  604. package/src/studio/studio.css +3 -3
  605. package/src/tokens.css +226 -0
  606. package/dist/chunk-DBAUZD7A.cjs.map +0 -1
  607. package/dist/chunk-FZ2S6VAZ.js.map +0 -1
  608. package/dist/index-DduoEosi.d.cts +0 -846
  609. package/dist/index-DduoEosi.d.ts +0 -846
  610. package/dist/index.d.cts +0 -1717
  611. package/dist/record/index.d.cts +0 -96
  612. package/dist/site/index.d.cts +0 -4
@@ -0,0 +1,990 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var chunkDREI7EQ2_cjs = require('./chunk-DREI7EQ2.cjs');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var react = require('react');
7
+ var ui = require('@arbidocs/react/ui');
8
+ var lucideReact = require('lucide-react');
9
+
10
+ function CollectionDetail({
11
+ items,
12
+ slug,
13
+ getSlug,
14
+ renderList,
15
+ renderDetail,
16
+ renderNotFound
17
+ }) {
18
+ if (!slug) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: renderList(items) });
19
+ const index = items.findIndex((item) => getSlug(item) === slug);
20
+ if (index === -1) {
21
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: renderNotFound ? renderNotFound(slug) : /* @__PURE__ */ jsxRuntime.jsx("p", { role: "status", "data-slot": "collection-not-found", children: "Not found" }) });
22
+ }
23
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: renderDetail(items[index], { previous: items[index - 1], next: items[index + 1] }) });
24
+ }
25
+ var W = 440;
26
+ var H = 160;
27
+ var PAD = { top: 8, right: 8, bottom: 22, left: 40 };
28
+ var color = (i) => `hsl(var(--chart-${i % 5 + 1}))`;
29
+ function truncateLabel(label, max) {
30
+ const chars = Array.from(label);
31
+ return chars.length <= max ? label : `${chars.slice(0, Math.max(1, max - 1)).join("").trimEnd()}\u2026`;
32
+ }
33
+ var defaultFormat = (v) => v >= 1e3 ? `${Math.round(v / 100) / 10}k` : String(v);
34
+ function polar(cx, cy, r, angle) {
35
+ return [cx + r * Math.sin(angle), cy - r * Math.cos(angle)];
36
+ }
37
+ function Chart({
38
+ type,
39
+ labels,
40
+ series,
41
+ ariaLabel,
42
+ formatValue = defaultFormat,
43
+ hideLegend = false,
44
+ emptyLabel = "No data",
45
+ maxLabelChars,
46
+ className,
47
+ testId
48
+ }) {
49
+ const max = react.useMemo(() => Math.max(...series.flatMap((s) => s.values), 1), [series]);
50
+ if (!labels.length || !series.length) {
51
+ return /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: emptyLabel });
52
+ }
53
+ const legendItems = type === "pie" ? labels.map((label, i) => ({ label, color: color(i) })) : series.map((s, i) => ({ label: s.label ?? s.key, color: color(i) }));
54
+ let body;
55
+ if (type === "pie") {
56
+ const values = series[0].values;
57
+ const total = values.reduce((a, b) => a + Math.max(b, 0), 0);
58
+ const cx = 80;
59
+ const cy = 80;
60
+ const r = 72;
61
+ let angle = 0;
62
+ body = /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 160 160", className: "mx-auto h-40 w-40", role: "img", "aria-label": ariaLabel, children: total > 0 && values.map((v, i) => {
63
+ const sweep = Math.max(v, 0) / total * Math.PI * 2;
64
+ if (sweep === 0) return null;
65
+ const title = `${labels[i]}: ${formatValue(v)}`;
66
+ if (sweep >= Math.PI * 2 - 1e-6) {
67
+ return /* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r, fill: color(i), children: /* @__PURE__ */ jsxRuntime.jsx("title", { children: title }) }, i);
68
+ }
69
+ const [x1, y1] = polar(cx, cy, r, angle);
70
+ const [x2, y2] = polar(cx, cy, r, angle + sweep);
71
+ const d = `M${cx},${cy} L${x1},${y1} A${r},${r} 0 ${sweep > Math.PI ? 1 : 0} 1 ${x2},${y2} Z`;
72
+ angle += sweep;
73
+ return /* @__PURE__ */ jsxRuntime.jsx("path", { d, fill: color(i), children: /* @__PURE__ */ jsxRuntime.jsx("title", { children: title }) }, i);
74
+ }) });
75
+ } else {
76
+ const plotW = W - PAD.left - PAD.right;
77
+ const plotH = H - PAD.top - PAD.bottom;
78
+ const y = (v) => PAD.top + plotH - v / max * plotH;
79
+ const band = plotW / labels.length;
80
+ const xCenter = (i) => PAD.left + band * i + band / 2;
81
+ const maxChars = maxLabelChars ?? Math.max(3, Math.floor((band - 4) / 5));
82
+ body = /* @__PURE__ */ jsxRuntime.jsxs("svg", { viewBox: `0 0 ${W} ${H}`, className: "h-auto w-full", role: "img", "aria-label": ariaLabel, children: [
83
+ [0, max / 2, max].map((v) => /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
84
+ /* @__PURE__ */ jsxRuntime.jsx(
85
+ "line",
86
+ {
87
+ x1: PAD.left,
88
+ x2: W - PAD.right,
89
+ y1: y(v),
90
+ y2: y(v),
91
+ className: "stroke-border",
92
+ strokeDasharray: "2,2"
93
+ }
94
+ ),
95
+ /* @__PURE__ */ jsxRuntime.jsx(
96
+ "text",
97
+ {
98
+ x: PAD.left - 4,
99
+ y: y(v) + 3,
100
+ textAnchor: "end",
101
+ className: "fill-muted-foreground text-[9px]",
102
+ children: formatValue(v)
103
+ }
104
+ )
105
+ ] }, v)),
106
+ labels.map((label, i) => /* @__PURE__ */ jsxRuntime.jsxs(
107
+ "text",
108
+ {
109
+ x: xCenter(i),
110
+ y: H - 6,
111
+ textAnchor: "middle",
112
+ className: "fill-muted-foreground text-[9px]",
113
+ children: [
114
+ truncateLabel(label, maxChars),
115
+ Array.from(label).length > maxChars && /* @__PURE__ */ jsxRuntime.jsx("title", { children: label })
116
+ ]
117
+ },
118
+ i
119
+ )),
120
+ type === "bar" && series.map((s, si) => {
121
+ const barW = band * 0.7 / series.length;
122
+ return s.values.map((v, i) => /* @__PURE__ */ jsxRuntime.jsx(
123
+ "rect",
124
+ {
125
+ x: xCenter(i) - band * 0.7 / 2 + si * barW,
126
+ y: y(v),
127
+ width: barW,
128
+ height: PAD.top + plotH - y(v),
129
+ fill: color(si),
130
+ rx: 1.5,
131
+ children: /* @__PURE__ */ jsxRuntime.jsx("title", { children: `${labels[i]} ${s.label ?? s.key}: ${formatValue(v)}` })
132
+ },
133
+ `${s.key}-${i}`
134
+ ));
135
+ }),
136
+ type === "line" && series.map((s, si) => /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
137
+ /* @__PURE__ */ jsxRuntime.jsx(
138
+ "polyline",
139
+ {
140
+ fill: "none",
141
+ stroke: color(si),
142
+ strokeWidth: 2,
143
+ points: s.values.map((v, i) => `${xCenter(i)},${y(v)}`).join(" ")
144
+ }
145
+ ),
146
+ s.values.map((v, i) => /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: xCenter(i), cy: y(v), r: 2.5, fill: color(si), children: /* @__PURE__ */ jsxRuntime.jsx("title", { children: `${labels[i]} ${s.label ?? s.key}: ${formatValue(v)}` }) }, i))
147
+ ] }, s.key))
148
+ ] });
149
+ }
150
+ return /* @__PURE__ */ jsxRuntime.jsxs(
151
+ "figure",
152
+ {
153
+ className: ui.cn("flex flex-col gap-2", className),
154
+ "data-slot": "chart",
155
+ "data-type": type,
156
+ "data-testid": testId,
157
+ children: [
158
+ body,
159
+ !hideLegend && /* @__PURE__ */ jsxRuntime.jsx("figcaption", { className: "flex flex-wrap justify-center gap-x-4 gap-y-1 text-xs text-muted-foreground", children: legendItems.map((item) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1.5", children: [
160
+ /* @__PURE__ */ jsxRuntime.jsx(
161
+ "span",
162
+ {
163
+ "aria-hidden": "true",
164
+ className: "inline-block size-2 rounded-full",
165
+ style: { background: item.color }
166
+ }
167
+ ),
168
+ item.label
169
+ ] }, item.label)) })
170
+ ]
171
+ }
172
+ );
173
+ }
174
+ function Eyebrow({ children, index, rule = false, tone, className, testId }) {
175
+ const t = chunkDREI7EQ2_cjs.useEditorialTone(tone);
176
+ return /* @__PURE__ */ jsxRuntime.jsxs(
177
+ "p",
178
+ {
179
+ className: ui.cn(
180
+ "flex items-center gap-3 text-xs font-semibold uppercase tracking-wider",
181
+ t.subtle,
182
+ className
183
+ ),
184
+ "data-slot": "eyebrow",
185
+ "data-testid": testId,
186
+ children: [
187
+ rule && /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: "h-px w-8 shrink-0 bg-primary" }),
188
+ index !== void 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: ui.cn("tabular-nums", t.accent), children: chunkDREI7EQ2_cjs.formatIndex(index) }),
189
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children })
190
+ ]
191
+ }
192
+ );
193
+ }
194
+ function EditorialHeading({
195
+ eyebrow,
196
+ index,
197
+ title,
198
+ lead,
199
+ level = 2,
200
+ align = "start",
201
+ tone,
202
+ className,
203
+ testId
204
+ }) {
205
+ const t = chunkDREI7EQ2_cjs.useEditorialTone(tone);
206
+ const Heading = `h${level}`;
207
+ return /* @__PURE__ */ jsxRuntime.jsxs(
208
+ "div",
209
+ {
210
+ className: ui.cn("max-w-3xl", align === "center" && "mx-auto text-center", className),
211
+ "data-slot": "editorial-heading",
212
+ "data-testid": testId,
213
+ children: [
214
+ (eyebrow || index !== void 0) && /* @__PURE__ */ jsxRuntime.jsx(
215
+ Eyebrow,
216
+ {
217
+ index,
218
+ tone,
219
+ className: ui.cn("mb-4", align === "center" && "justify-center"),
220
+ children: eyebrow
221
+ }
222
+ ),
223
+ /* @__PURE__ */ jsxRuntime.jsx(
224
+ Heading,
225
+ {
226
+ className: ui.cn(
227
+ "font-display text-3xl font-semibold tracking-tight text-balance sm:text-4xl",
228
+ t.text
229
+ ),
230
+ children: title
231
+ }
232
+ ),
233
+ lead && /* @__PURE__ */ jsxRuntime.jsx("p", { className: ui.cn("mt-4 text-lg leading-relaxed", t.muted), children: lead })
234
+ ]
235
+ }
236
+ );
237
+ }
238
+ var SURFACE_CLASS = {
239
+ plain: "bg-background text-foreground",
240
+ muted: "bg-muted text-foreground",
241
+ inverse: "bg-foreground text-background"
242
+ };
243
+ var SURFACE_TONE = {
244
+ plain: "default",
245
+ muted: "default",
246
+ inverse: "inverse"
247
+ };
248
+ function renderTitle(title, emphasis) {
249
+ if (typeof title !== "string" || !emphasis || !title.includes(emphasis)) return title;
250
+ const parts = title.split(emphasis);
251
+ return parts.map((part, i) => /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
252
+ part,
253
+ i < parts.length - 1 && /* @__PURE__ */ jsxRuntime.jsx("em", { className: "italic text-primary", children: emphasis })
254
+ ] }, i));
255
+ }
256
+ function EditorialHero({
257
+ eyebrow,
258
+ eyebrowRule = false,
259
+ title,
260
+ emphasis,
261
+ lede,
262
+ actions,
263
+ footer,
264
+ aside,
265
+ backdrop,
266
+ align = "start",
267
+ size = "page",
268
+ surface = "plain",
269
+ className,
270
+ testId,
271
+ testIds
272
+ }) {
273
+ const tone = SURFACE_TONE[surface];
274
+ const t = chunkDREI7EQ2_cjs.useEditorialTone(tone);
275
+ const centered = align === "center" && !aside;
276
+ const ids = {
277
+ root: testIds?.root ?? testId,
278
+ eyebrow: testIds?.eyebrow ?? (testId ? `${testId}-eyebrow` : void 0),
279
+ title: testIds?.title ?? (testId ? `${testId}-title` : void 0),
280
+ lede: testIds?.lede ?? (testId ? `${testId}-lede` : void 0),
281
+ actions: testIds?.actions ?? (testId ? `${testId}-actions` : void 0),
282
+ aside: testIds?.aside ?? (testId ? `${testId}-aside` : void 0)
283
+ };
284
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkDREI7EQ2_cjs.EditorialToneContext.Provider, { value: tone, children: /* @__PURE__ */ jsxRuntime.jsxs(
285
+ "section",
286
+ {
287
+ className: ui.cn("relative isolate overflow-hidden", SURFACE_CLASS[surface], className),
288
+ "data-slot": "editorial-hero",
289
+ "data-size": size,
290
+ "data-testid": ids.root,
291
+ children: [
292
+ backdrop && /* @__PURE__ */ jsxRuntime.jsx("div", { "aria-hidden": "true", className: "pointer-events-none absolute inset-0 -z-10", children: backdrop }),
293
+ /* @__PURE__ */ jsxRuntime.jsxs(
294
+ "div",
295
+ {
296
+ className: ui.cn(
297
+ "mx-auto max-w-7xl px-5 lg:px-8",
298
+ size === "cover" ? "py-16 lg:py-28" : "py-14 lg:py-24",
299
+ aside && "grid items-center gap-12 lg:grid-cols-[1.02fr_0.98fr] lg:gap-14"
300
+ ),
301
+ children: [
302
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ui.cn("max-w-3xl", centered && "mx-auto text-center"), children: [
303
+ eyebrow && /* @__PURE__ */ jsxRuntime.jsx(
304
+ Eyebrow,
305
+ {
306
+ rule: eyebrowRule,
307
+ tone,
308
+ className: ui.cn("mb-6", centered && "justify-center"),
309
+ testId: ids.eyebrow,
310
+ children: eyebrow
311
+ }
312
+ ),
313
+ /* @__PURE__ */ jsxRuntime.jsx(
314
+ "h1",
315
+ {
316
+ className: ui.cn(
317
+ "font-display font-semibold tracking-tight text-balance",
318
+ size === "cover" ? "text-[2.6rem] leading-[1.03] sm:text-6xl lg:text-[4.4rem]" : "text-4xl leading-[1.05] sm:text-5xl",
319
+ t.text
320
+ ),
321
+ "data-testid": ids.title,
322
+ children: renderTitle(title, emphasis)
323
+ }
324
+ ),
325
+ lede && /* @__PURE__ */ jsxRuntime.jsx(
326
+ "p",
327
+ {
328
+ className: ui.cn(
329
+ "mt-6 max-w-2xl text-lg leading-relaxed",
330
+ centered && "mx-auto",
331
+ t.muted
332
+ ),
333
+ "data-testid": ids.lede,
334
+ children: lede
335
+ }
336
+ ),
337
+ actions && /* @__PURE__ */ jsxRuntime.jsx(
338
+ "div",
339
+ {
340
+ className: ui.cn(
341
+ "mt-8 flex flex-col gap-3 sm:flex-row",
342
+ centered && "sm:justify-center"
343
+ ),
344
+ "data-testid": ids.actions,
345
+ children: actions
346
+ }
347
+ ),
348
+ footer && /* @__PURE__ */ jsxRuntime.jsx("div", { className: ui.cn("mt-8", centered && "flex justify-center"), children: footer })
349
+ ] }),
350
+ aside && /* @__PURE__ */ jsxRuntime.jsx(
351
+ "div",
352
+ {
353
+ className: "relative min-w-0",
354
+ "data-slot": "editorial-hero-aside",
355
+ "data-testid": ids.aside,
356
+ children: aside
357
+ }
358
+ )
359
+ ]
360
+ }
361
+ )
362
+ ]
363
+ }
364
+ ) });
365
+ }
366
+ function EditorialSection({
367
+ id,
368
+ eyebrow,
369
+ index,
370
+ title,
371
+ lead,
372
+ action,
373
+ layout = "stacked",
374
+ surface = "plain",
375
+ bordered = false,
376
+ spacing = "lg",
377
+ backdrop,
378
+ "aria-label": ariaLabel,
379
+ children,
380
+ className,
381
+ testId
382
+ }) {
383
+ const tone = SURFACE_TONE[surface];
384
+ const t = chunkDREI7EQ2_cjs.useEditorialTone(tone);
385
+ const hasHeading = Boolean(title || eyebrow || index !== void 0);
386
+ const heading = hasHeading && title ? /* @__PURE__ */ jsxRuntime.jsx(EditorialHeading, { eyebrow, index, title, lead, tone }) : null;
387
+ const split = layout !== "stacked";
388
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkDREI7EQ2_cjs.EditorialToneContext.Provider, { value: tone, children: /* @__PURE__ */ jsxRuntime.jsxs(
389
+ "section",
390
+ {
391
+ id,
392
+ "aria-label": title ? void 0 : ariaLabel,
393
+ className: ui.cn(
394
+ "relative isolate overflow-hidden scroll-mt-24",
395
+ SURFACE_CLASS[surface],
396
+ bordered && ui.cn("border-y", t.hairline),
397
+ className
398
+ ),
399
+ "data-slot": "editorial-section",
400
+ "data-testid": testId,
401
+ children: [
402
+ backdrop && /* @__PURE__ */ jsxRuntime.jsx("div", { "aria-hidden": "true", className: "pointer-events-none absolute inset-0 -z-10", children: backdrop }),
403
+ /* @__PURE__ */ jsxRuntime.jsx(
404
+ "div",
405
+ {
406
+ className: ui.cn(
407
+ "mx-auto max-w-7xl px-5 lg:px-8",
408
+ spacing === "lg" ? "py-16 lg:py-24" : "py-12 lg:py-16",
409
+ split && ui.cn(
410
+ "grid gap-10 lg:gap-16",
411
+ layout === "split-wide" ? "lg:grid-cols-[1fr_1.4fr]" : "lg:grid-cols-2"
412
+ )
413
+ ),
414
+ children: split ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
415
+ heading && /* @__PURE__ */ jsxRuntime.jsx("div", { children: heading }),
416
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0", children })
417
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
418
+ heading && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-between gap-6 sm:flex-row sm:items-end", children: [
419
+ heading,
420
+ action && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: action })
421
+ ] }),
422
+ children && /* @__PURE__ */ jsxRuntime.jsx("div", { className: ui.cn(heading && "mt-12 lg:mt-14"), children })
423
+ ] })
424
+ }
425
+ )
426
+ ]
427
+ }
428
+ ) });
429
+ }
430
+ function EditorialProse({
431
+ paragraphs,
432
+ columns = 1,
433
+ size = "base",
434
+ className,
435
+ testId
436
+ }) {
437
+ const t = chunkDREI7EQ2_cjs.useEditorialTone();
438
+ return /* @__PURE__ */ jsxRuntime.jsx(
439
+ "div",
440
+ {
441
+ className: ui.cn(
442
+ size === "lg" ? "text-lg" : "text-base",
443
+ "leading-relaxed",
444
+ t.muted,
445
+ columns === 2 ? "gap-10 md:columns-2" : "max-w-prose",
446
+ className
447
+ ),
448
+ "data-slot": "editorial-prose",
449
+ "data-testid": testId,
450
+ children: paragraphs.map((p, i) => /* @__PURE__ */ jsxRuntime.jsx("p", { className: ui.cn(columns === 2 ? "mb-5 break-inside-avoid" : "mt-5 first:mt-0"), children: p }, i))
451
+ }
452
+ );
453
+ }
454
+ function DefinitionList({
455
+ items,
456
+ layout = "rows",
457
+ marker = "dot",
458
+ className,
459
+ testId
460
+ }) {
461
+ const t = chunkDREI7EQ2_cjs.useEditorialTone();
462
+ return /* @__PURE__ */ jsxRuntime.jsx(
463
+ "dl",
464
+ {
465
+ className: ui.cn(layout === "rows" ? "space-y-3" : "divide-y", t.hairline, className),
466
+ "data-slot": "definition-list",
467
+ "data-layout": layout,
468
+ "data-testid": testId,
469
+ children: items.map(
470
+ (item, i) => layout === "rows" ? /* @__PURE__ */ jsxRuntime.jsxs(
471
+ "div",
472
+ {
473
+ className: ui.cn(
474
+ "flex gap-4 rounded-sm border p-5 transition-colors",
475
+ t.panel,
476
+ t.panelHover
477
+ ),
478
+ "data-testid": item.testId ?? (testId ? `${testId}-item-${i}` : void 0),
479
+ children: [
480
+ item.icon ? /* @__PURE__ */ jsxRuntime.jsx(
481
+ "span",
482
+ {
483
+ className: ui.cn(
484
+ "flex size-9 shrink-0 items-center justify-center rounded-sm border",
485
+ t.tile
486
+ ),
487
+ "aria-hidden": "true",
488
+ children: item.icon
489
+ }
490
+ ) : marker === "dot" && /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: "mt-2 size-2 shrink-0 rounded-full bg-primary" }),
491
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
492
+ /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "font-medium", children: item.term }),
493
+ /* @__PURE__ */ jsxRuntime.jsx("dd", { className: ui.cn("mt-0.5 text-sm", t.muted), children: item.description })
494
+ ] })
495
+ ]
496
+ },
497
+ i
498
+ ) : /* @__PURE__ */ jsxRuntime.jsxs(
499
+ "div",
500
+ {
501
+ className: "grid gap-1 py-4 sm:grid-cols-[minmax(0,1fr)_minmax(0,2fr)] sm:gap-8",
502
+ "data-testid": item.testId ?? (testId ? `${testId}-item-${i}` : void 0),
503
+ children: [
504
+ /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "font-medium", children: item.term }),
505
+ /* @__PURE__ */ jsxRuntime.jsx("dd", { className: ui.cn("text-sm leading-relaxed", t.muted), children: item.description })
506
+ ]
507
+ },
508
+ i
509
+ )
510
+ )
511
+ }
512
+ );
513
+ }
514
+ function CheckList({ items, columns = 1, icon, className, testId }) {
515
+ const t = chunkDREI7EQ2_cjs.useEditorialTone();
516
+ return /* @__PURE__ */ jsxRuntime.jsx(
517
+ "ul",
518
+ {
519
+ className: ui.cn(columns === 2 ? "grid gap-4 sm:grid-cols-2" : "space-y-3", className),
520
+ "data-slot": "check-list",
521
+ "data-testid": testId,
522
+ children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs(
523
+ "li",
524
+ {
525
+ className: ui.cn("flex items-start gap-3 text-sm leading-relaxed", t.muted),
526
+ "data-testid": testId ? `${testId}-item-${i}` : void 0,
527
+ children: [
528
+ /* @__PURE__ */ jsxRuntime.jsx(
529
+ "span",
530
+ {
531
+ "aria-hidden": "true",
532
+ className: ui.cn(
533
+ "mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full border",
534
+ t.tile
535
+ ),
536
+ children: icon ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3" })
537
+ }
538
+ ),
539
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: item })
540
+ ]
541
+ },
542
+ i
543
+ ))
544
+ }
545
+ );
546
+ }
547
+ function TagList({ items, label, className, testId }) {
548
+ const t = chunkDREI7EQ2_cjs.useEditorialTone();
549
+ if (items.length === 0) return null;
550
+ return /* @__PURE__ */ jsxRuntime.jsx(
551
+ "ul",
552
+ {
553
+ "aria-label": label,
554
+ className: ui.cn("flex flex-wrap gap-1.5", className),
555
+ "data-slot": "tag-list",
556
+ "data-testid": testId,
557
+ children: items.map((tag) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: ui.cn("rounded-sm border px-2 py-0.5 text-[11px]", t.chip), children: tag }, tag))
558
+ }
559
+ );
560
+ }
561
+ function Reveal({ children, delay = 0, className, testId }) {
562
+ const ref = react.useRef(null);
563
+ const [state, setState] = react.useState("idle");
564
+ react.useEffect(() => {
565
+ const el = ref.current;
566
+ if (!el || typeof IntersectionObserver === "undefined") return;
567
+ setState("pending");
568
+ const io = new IntersectionObserver(
569
+ (entries) => {
570
+ if (entries.some((e) => e.isIntersecting)) {
571
+ setState("shown");
572
+ io.disconnect();
573
+ }
574
+ },
575
+ { rootMargin: "0px 0px -90px 0px" }
576
+ );
577
+ io.observe(el);
578
+ return () => io.disconnect();
579
+ }, []);
580
+ return /* @__PURE__ */ jsxRuntime.jsx(
581
+ "div",
582
+ {
583
+ ref,
584
+ "data-slot": "reveal",
585
+ "data-reveal": state === "idle" ? void 0 : state,
586
+ style: delay ? { "--reveal-delay": `${delay}ms` } : void 0,
587
+ className: ui.cn(className),
588
+ "data-testid": testId,
589
+ children
590
+ }
591
+ );
592
+ }
593
+ var COLS = {
594
+ 2: "sm:grid-cols-2",
595
+ 3: "sm:grid-cols-2 lg:grid-cols-3",
596
+ 4: "sm:grid-cols-2 lg:grid-cols-4"
597
+ };
598
+ function PanelGrid({
599
+ items,
600
+ columns = 3,
601
+ variant = "cards",
602
+ numbered = false,
603
+ reveal = false,
604
+ linkComponent,
605
+ headingLevel = 3,
606
+ tone,
607
+ className,
608
+ testId
609
+ }) {
610
+ const t = chunkDREI7EQ2_cjs.useEditorialTone(tone);
611
+ const Heading = `h${headingLevel}`;
612
+ const joined = variant === "joined";
613
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkDREI7EQ2_cjs.EditorialToneContext.Provider, { value: t.tone, children: /* @__PURE__ */ jsxRuntime.jsx(
614
+ "ul",
615
+ {
616
+ className: ui.cn(
617
+ "grid",
618
+ joined ? ui.cn("gap-px overflow-hidden rounded-sm border", t.hairline) : "gap-4",
619
+ joined && (t.tone === "inverse" ? "bg-background/15" : "bg-border"),
620
+ COLS[columns] ?? COLS[3],
621
+ className
622
+ ),
623
+ "data-slot": "panel-grid",
624
+ "data-variant": variant,
625
+ "data-testid": testId,
626
+ children: items.map((item, i) => {
627
+ const number = item.index ?? (numbered ? i + 1 : void 0);
628
+ const inner = /* @__PURE__ */ jsxRuntime.jsxs(
629
+ "div",
630
+ {
631
+ className: ui.cn(
632
+ "group flex h-full flex-col p-6 transition-colors duration-300",
633
+ joined ? ui.cn(
634
+ t.tone === "inverse" ? "bg-foreground" : "bg-background",
635
+ item.href && "hover:bg-muted/40"
636
+ ) : ui.cn("rounded-sm border", t.panel, item.href && t.panelHover)
637
+ ),
638
+ "data-testid": item.testId ?? (testId ? `${testId}-item-${i}` : void 0),
639
+ children: [
640
+ (item.icon || number !== void 0 || item.href) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-4", children: [
641
+ item.icon ? /* @__PURE__ */ jsxRuntime.jsx(
642
+ "span",
643
+ {
644
+ "aria-hidden": "true",
645
+ className: ui.cn(
646
+ "flex size-11 items-center justify-center rounded-sm border",
647
+ t.tile
648
+ ),
649
+ children: item.icon
650
+ }
651
+ ) : /* @__PURE__ */ jsxRuntime.jsx("span", {}),
652
+ number !== void 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: ui.cn("font-display text-sm tabular-nums", t.subtle), children: chunkDREI7EQ2_cjs.formatIndex(number) }) : item.href && /* @__PURE__ */ jsxRuntime.jsx(
653
+ lucideReact.ArrowUpRight,
654
+ {
655
+ "aria-hidden": "true",
656
+ className: ui.cn(
657
+ "size-4 transition-colors group-hover:text-primary",
658
+ t.subtle
659
+ )
660
+ }
661
+ )
662
+ ] }),
663
+ item.kicker && /* @__PURE__ */ jsxRuntime.jsx(
664
+ "p",
665
+ {
666
+ className: ui.cn(
667
+ "text-xs font-semibold uppercase tracking-wider",
668
+ item.icon || number !== void 0 ? "mt-5" : "",
669
+ t.accent
670
+ ),
671
+ children: item.kicker
672
+ }
673
+ ),
674
+ /* @__PURE__ */ jsxRuntime.jsx(
675
+ Heading,
676
+ {
677
+ className: ui.cn(
678
+ "font-display text-lg font-semibold leading-snug",
679
+ item.icon || number !== void 0 || item.kicker ? "mt-4" : "",
680
+ t.text
681
+ ),
682
+ children: item.title
683
+ }
684
+ ),
685
+ item.body && /* @__PURE__ */ jsxRuntime.jsx("div", { className: ui.cn("mt-2 text-sm leading-relaxed", t.muted), children: item.body }),
686
+ item.points && item.points.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
687
+ CheckList,
688
+ {
689
+ items: item.points,
690
+ className: ui.cn("mt-4 space-y-2 border-t pt-4", t.hairline)
691
+ }
692
+ ),
693
+ item.tags && item.tags.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(TagList, { items: item.tags, className: "mt-auto pt-5" }),
694
+ item.footer && /* @__PURE__ */ jsxRuntime.jsx("div", { className: ui.cn("mt-auto pt-5 text-xs", t.subtle), children: item.footer })
695
+ ]
696
+ }
697
+ );
698
+ const cell = /* @__PURE__ */ jsxRuntime.jsx(chunkDREI7EQ2_cjs.BlockLink, { href: item.href, linkComponent, className: "block h-full", children: inner });
699
+ return /* @__PURE__ */ jsxRuntime.jsx("li", { className: "min-w-0", children: reveal ? /* @__PURE__ */ jsxRuntime.jsx(Reveal, { delay: i * 90, className: "h-full", children: cell }) : cell }, i);
700
+ })
701
+ }
702
+ ) });
703
+ }
704
+ function PullQuote({
705
+ quote,
706
+ attribution,
707
+ cite,
708
+ align = "start",
709
+ size = "md",
710
+ className,
711
+ testId
712
+ }) {
713
+ const t = chunkDREI7EQ2_cjs.useEditorialTone();
714
+ const centered = align === "center";
715
+ return /* @__PURE__ */ jsxRuntime.jsxs(
716
+ "figure",
717
+ {
718
+ className: ui.cn(
719
+ "max-w-3xl",
720
+ centered ? "mx-auto text-center" : "border-l-2 border-primary pl-6 lg:pl-8",
721
+ className
722
+ ),
723
+ "data-slot": "pull-quote",
724
+ "data-testid": testId,
725
+ children: [
726
+ /* @__PURE__ */ jsxRuntime.jsx(
727
+ "blockquote",
728
+ {
729
+ cite,
730
+ className: ui.cn(
731
+ "font-display font-medium leading-snug text-balance",
732
+ size === "lg" ? "text-3xl sm:text-4xl" : "text-2xl sm:text-3xl",
733
+ t.text
734
+ ),
735
+ children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: quote })
736
+ }
737
+ ),
738
+ attribution && /* @__PURE__ */ jsxRuntime.jsxs("figcaption", { className: ui.cn("mt-5 text-sm", t.muted), children: [
739
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: ui.cn("font-semibold", t.text), children: attribution.name }),
740
+ attribution.role && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
741
+ ", ",
742
+ attribution.role
743
+ ] })
744
+ ] })
745
+ ]
746
+ }
747
+ );
748
+ }
749
+ var COLS2 = {
750
+ 2: "md:grid-cols-2",
751
+ 3: "md:grid-cols-2 lg:grid-cols-3"
752
+ };
753
+ function MetaLine({ meta, className }) {
754
+ if (!meta || meta.length === 0) return null;
755
+ return /* @__PURE__ */ jsxRuntime.jsx("p", { className, children: meta.map((m, i) => /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
756
+ i > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: " \xB7 " }),
757
+ m
758
+ ] }, i)) });
759
+ }
760
+ function ArticleList({
761
+ items,
762
+ layout = "cards",
763
+ featureFirst = false,
764
+ columns = 3,
765
+ linkComponent,
766
+ empty,
767
+ className,
768
+ testId
769
+ }) {
770
+ const t = chunkDREI7EQ2_cjs.useEditorialTone();
771
+ if (items.length === 0) return empty ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: empty }) : null;
772
+ const idOf = (item, i) => item.testId ?? (testId ? `${testId}-item-${i}` : void 0);
773
+ if (layout === "rows") {
774
+ return /* @__PURE__ */ jsxRuntime.jsx(
775
+ "ul",
776
+ {
777
+ className: ui.cn("divide-y border-y", t.hairline, className),
778
+ "data-slot": "article-list",
779
+ "data-layout": "rows",
780
+ "data-testid": testId,
781
+ children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(chunkDREI7EQ2_cjs.BlockLink, { href: item.href, linkComponent, className: "group block", children: /* @__PURE__ */ jsxRuntime.jsxs(
782
+ "article",
783
+ {
784
+ className: "grid gap-2 py-6 transition-colors sm:grid-cols-[10rem_minmax(0,1fr)_auto] sm:gap-8",
785
+ "data-testid": idOf(item, i),
786
+ children: [
787
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
788
+ item.kicker && /* @__PURE__ */ jsxRuntime.jsx("p", { className: ui.cn("text-xs font-semibold uppercase tracking-wider", t.accent), children: item.kicker }),
789
+ /* @__PURE__ */ jsxRuntime.jsx(MetaLine, { meta: item.meta, className: ui.cn("text-xs", t.subtle) })
790
+ ] }),
791
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
792
+ /* @__PURE__ */ jsxRuntime.jsx(
793
+ "h3",
794
+ {
795
+ className: ui.cn(
796
+ "font-display text-xl font-semibold leading-snug transition-colors group-hover:text-primary",
797
+ t.text
798
+ ),
799
+ children: item.title
800
+ }
801
+ ),
802
+ item.summary && /* @__PURE__ */ jsxRuntime.jsx("p", { className: ui.cn("mt-2 text-sm leading-relaxed", t.muted), children: item.summary })
803
+ ] }),
804
+ item.href && /* @__PURE__ */ jsxRuntime.jsx(
805
+ lucideReact.ArrowUpRight,
806
+ {
807
+ "aria-hidden": "true",
808
+ className: ui.cn(
809
+ "hidden size-4 transition-colors group-hover:text-primary sm:block",
810
+ t.subtle
811
+ )
812
+ }
813
+ )
814
+ ]
815
+ }
816
+ ) }) }, i))
817
+ }
818
+ );
819
+ }
820
+ const card = (item, i, lead) => /* @__PURE__ */ jsxRuntime.jsx(chunkDREI7EQ2_cjs.BlockLink, { href: item.href, linkComponent, className: "group block h-full", children: /* @__PURE__ */ jsxRuntime.jsxs(
821
+ "article",
822
+ {
823
+ className: ui.cn(
824
+ "flex h-full flex-col rounded-sm border transition-colors duration-300",
825
+ t.panel,
826
+ item.href && t.panelHover,
827
+ lead ? "p-6 lg:p-8" : "p-6"
828
+ ),
829
+ "data-testid": idOf(item, i),
830
+ children: [
831
+ item.imageUrl && /* @__PURE__ */ jsxRuntime.jsx(
832
+ chunkDREI7EQ2_cjs.BlockImage,
833
+ {
834
+ src: item.imageUrl,
835
+ alt: item.imageAlt ?? "",
836
+ aspect: "16:9",
837
+ rounded: "none",
838
+ className: "mb-5 w-full"
839
+ }
840
+ ),
841
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-3", children: [
842
+ item.kicker ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: ui.cn("text-xs font-semibold uppercase tracking-wider", t.accent), children: item.kicker }) : /* @__PURE__ */ jsxRuntime.jsx("span", {}),
843
+ item.href && /* @__PURE__ */ jsxRuntime.jsx(
844
+ lucideReact.ArrowUpRight,
845
+ {
846
+ "aria-hidden": "true",
847
+ className: ui.cn("size-4 transition-colors group-hover:text-primary", t.subtle)
848
+ }
849
+ )
850
+ ] }),
851
+ /* @__PURE__ */ jsxRuntime.jsx(
852
+ "h3",
853
+ {
854
+ className: ui.cn(
855
+ "mt-3 font-display font-semibold leading-snug",
856
+ lead ? "text-2xl sm:text-3xl" : "text-lg",
857
+ t.text
858
+ ),
859
+ children: item.title
860
+ }
861
+ ),
862
+ item.summary && /* @__PURE__ */ jsxRuntime.jsx(
863
+ "p",
864
+ {
865
+ className: ui.cn(
866
+ "mt-3 flex-1 text-sm leading-relaxed",
867
+ lead && "max-w-xl text-base",
868
+ t.muted
869
+ ),
870
+ children: item.summary
871
+ }
872
+ ),
873
+ /* @__PURE__ */ jsxRuntime.jsx(MetaLine, { meta: item.meta, className: ui.cn("mt-5 text-xs", t.subtle) })
874
+ ]
875
+ }
876
+ ) });
877
+ if (featureFirst && items.length > 1) {
878
+ const [lead, ...rest] = items;
879
+ return /* @__PURE__ */ jsxRuntime.jsxs(
880
+ "div",
881
+ {
882
+ className: ui.cn("grid gap-5 lg:grid-cols-[1.4fr_1fr]", className),
883
+ "data-slot": "article-list",
884
+ "data-layout": "feature",
885
+ "data-testid": testId,
886
+ children: [
887
+ /* @__PURE__ */ jsxRuntime.jsx("div", { children: card(lead, 0, true) }),
888
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "grid gap-5", children: rest.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: card(item, i + 1, false) }, i)) })
889
+ ]
890
+ }
891
+ );
892
+ }
893
+ return /* @__PURE__ */ jsxRuntime.jsx(
894
+ "ul",
895
+ {
896
+ className: ui.cn("grid gap-5", COLS2[columns] ?? COLS2[3], className),
897
+ "data-slot": "article-list",
898
+ "data-layout": "cards",
899
+ "data-testid": testId,
900
+ children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: card(item, i, false) }, i))
901
+ }
902
+ );
903
+ }
904
+ function ProofStrip({
905
+ lead,
906
+ items,
907
+ label,
908
+ surface = "muted",
909
+ className,
910
+ testId
911
+ }) {
912
+ const tone = SURFACE_TONE[surface];
913
+ const t = chunkDREI7EQ2_cjs.useEditorialTone(tone);
914
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkDREI7EQ2_cjs.EditorialToneContext.Provider, { value: tone, children: /* @__PURE__ */ jsxRuntime.jsx(
915
+ "section",
916
+ {
917
+ "aria-label": label,
918
+ className: ui.cn("border-y", t.hairline, SURFACE_CLASS[surface], className),
919
+ "data-slot": "proof-strip",
920
+ "data-testid": testId,
921
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto flex max-w-7xl flex-col items-center gap-5 px-5 py-6 lg:flex-row lg:justify-between lg:px-8", children: [
922
+ lead && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2.5 text-sm font-medium", children: lead }),
923
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-wrap items-center justify-center gap-x-6 gap-y-2", children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx(
924
+ "li",
925
+ {
926
+ className: ui.cn("text-xs font-semibold uppercase tracking-wider", t.subtle),
927
+ children: item
928
+ },
929
+ i
930
+ )) })
931
+ ] })
932
+ }
933
+ ) });
934
+ }
935
+ function CtaBand({
936
+ title,
937
+ lead,
938
+ actions,
939
+ backdrop,
940
+ surface = "inverse",
941
+ className,
942
+ testId
943
+ }) {
944
+ const tone = SURFACE_TONE[surface];
945
+ const t = chunkDREI7EQ2_cjs.useEditorialTone(tone);
946
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkDREI7EQ2_cjs.EditorialToneContext.Provider, { value: tone, children: /* @__PURE__ */ jsxRuntime.jsxs(
947
+ "section",
948
+ {
949
+ className: ui.cn("relative isolate overflow-hidden", SURFACE_CLASS[surface], className),
950
+ "data-slot": "cta-band",
951
+ "data-testid": testId,
952
+ children: [
953
+ backdrop && /* @__PURE__ */ jsxRuntime.jsx("div", { "aria-hidden": "true", className: "pointer-events-none absolute inset-0 -z-10", children: backdrop }),
954
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto max-w-4xl px-5 py-20 text-center lg:px-8 lg:py-24", children: [
955
+ /* @__PURE__ */ jsxRuntime.jsx(
956
+ "h2",
957
+ {
958
+ className: ui.cn(
959
+ "font-display text-3xl font-semibold tracking-tight text-balance sm:text-4xl",
960
+ t.text
961
+ ),
962
+ children: title
963
+ }
964
+ ),
965
+ lead && /* @__PURE__ */ jsxRuntime.jsx("p", { className: ui.cn("mx-auto mt-4 max-w-2xl text-lg", t.muted), children: lead }),
966
+ actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-8 flex flex-col items-center justify-center gap-3 sm:flex-row", children: actions })
967
+ ] })
968
+ ]
969
+ }
970
+ ) });
971
+ }
972
+
973
+ exports.ArticleList = ArticleList;
974
+ exports.Chart = Chart;
975
+ exports.CheckList = CheckList;
976
+ exports.CollectionDetail = CollectionDetail;
977
+ exports.CtaBand = CtaBand;
978
+ exports.DefinitionList = DefinitionList;
979
+ exports.EditorialHeading = EditorialHeading;
980
+ exports.EditorialHero = EditorialHero;
981
+ exports.EditorialProse = EditorialProse;
982
+ exports.EditorialSection = EditorialSection;
983
+ exports.Eyebrow = Eyebrow;
984
+ exports.PanelGrid = PanelGrid;
985
+ exports.ProofStrip = ProofStrip;
986
+ exports.PullQuote = PullQuote;
987
+ exports.Reveal = Reveal;
988
+ exports.TagList = TagList;
989
+ //# sourceMappingURL=chunk-J2BGSWXM.cjs.map
990
+ //# sourceMappingURL=chunk-J2BGSWXM.cjs.map