@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,787 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var chunkMHVNT4J3_cjs = require('./chunk-MHVNT4J3.cjs');
5
+ var react = require('react');
6
+ var lucideReact = require('lucide-react');
7
+ var ui = require('@arbidocs/react/ui');
8
+ var jsxRuntime = require('react/jsx-runtime');
9
+
10
+ // src/retrieval/highlight.ts
11
+ function stripMarkdownLinks(text) {
12
+ return text.replace(/!?\[([^\]]+)\]\([^)]*\)/g, "$1");
13
+ }
14
+ function highlightTerms(content, terms) {
15
+ const plain = stripMarkdownLinks(content);
16
+ if (terms.length === 0) return plain;
17
+ const escaped = terms.map((t) => t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
18
+ return plain.replace(new RegExp(`(${escaped.join("|")})`, "gi"), "<mark>$1</mark>");
19
+ }
20
+ function getPageNumbers(current, total) {
21
+ if (total <= 7) return Array.from({ length: total }, (_, i) => i + 1);
22
+ const pages = [1];
23
+ const windowStart = Math.max(2, current - 1);
24
+ const windowEnd = Math.min(total - 1, current + 1);
25
+ if (windowStart > 2) pages.push("ellipsis");
26
+ for (let p = windowStart; p <= windowEnd; p++) pages.push(p);
27
+ if (windowEnd < total - 1) pages.push("ellipsis");
28
+ pages.push(total);
29
+ return pages;
30
+ }
31
+ var DEFAULT_SEARCH_PAGINATION_LABELS = {
32
+ navigation: "Search results pagination",
33
+ previous: "Previous page",
34
+ next: "Next page",
35
+ page: (page) => `Page ${page}`
36
+ };
37
+ var SearchPagination = react.memo(function SearchPagination2({
38
+ currentPage,
39
+ totalPages,
40
+ onPageChange,
41
+ labels,
42
+ testIds,
43
+ className
44
+ }) {
45
+ const l = { ...DEFAULT_SEARCH_PAGINATION_LABELS, ...labels };
46
+ if (totalPages <= 1) return null;
47
+ const pages = getPageNumbers(currentPage, totalPages);
48
+ return /* @__PURE__ */ jsxRuntime.jsxs(
49
+ "nav",
50
+ {
51
+ className: ui.cn("mt-6 mb-2 flex items-center justify-center gap-1", className),
52
+ "aria-label": l.navigation,
53
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.root, { testId: "smart-search-pagination" }),
54
+ "data-slot": "search-pagination",
55
+ children: [
56
+ /* @__PURE__ */ jsxRuntime.jsx(
57
+ ui.Button,
58
+ {
59
+ variant: "ghost",
60
+ size: "sm",
61
+ className: "h-8 px-2 pointer-coarse:h-11 pointer-coarse:min-w-11",
62
+ onClick: () => onPageChange(currentPage - 1),
63
+ disabled: currentPage <= 1,
64
+ "aria-label": l.previous,
65
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "size-4" })
66
+ }
67
+ ),
68
+ pages.map(
69
+ (p, i) => p === "ellipsis" ? /* @__PURE__ */ jsxRuntime.jsx(
70
+ "span",
71
+ {
72
+ className: "select-none px-2 text-sm text-muted-foreground",
73
+ "aria-hidden": true,
74
+ children: "\u2026"
75
+ },
76
+ `ellipsis-${i}`
77
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
78
+ ui.Button,
79
+ {
80
+ variant: p === currentPage ? "default" : "ghost",
81
+ size: "sm",
82
+ className: "h-8 min-w-8 px-2 pointer-coarse:h-11 pointer-coarse:min-w-11",
83
+ onClick: () => onPageChange(p),
84
+ "aria-current": p === currentPage ? "page" : void 0,
85
+ "aria-label": l.page(p),
86
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.page?.(p), { testId: `smart-search-page-${p}` }),
87
+ children: p
88
+ },
89
+ p
90
+ )
91
+ ),
92
+ /* @__PURE__ */ jsxRuntime.jsx(
93
+ ui.Button,
94
+ {
95
+ variant: "ghost",
96
+ size: "sm",
97
+ className: "h-8 px-2 pointer-coarse:h-11 pointer-coarse:min-w-11",
98
+ onClick: () => onPageChange(currentPage + 1),
99
+ disabled: currentPage >= totalPages,
100
+ "aria-label": l.next,
101
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "size-4" })
102
+ }
103
+ )
104
+ ]
105
+ }
106
+ );
107
+ });
108
+ var DEFAULT_SEARCH_GROUP_HEADER_LABELS = {
109
+ hit: "hit",
110
+ hits: "hits"
111
+ };
112
+ var SearchGroupHeader = react.memo(function SearchGroupHeader2({
113
+ groupId,
114
+ hitCount,
115
+ isExpanded,
116
+ onToggle,
117
+ source,
118
+ labels,
119
+ testId,
120
+ className
121
+ }) {
122
+ const l = { ...DEFAULT_SEARCH_GROUP_HEADER_LABELS, ...labels };
123
+ const toggle = () => onToggle(groupId);
124
+ return /* @__PURE__ */ jsxRuntime.jsxs(
125
+ "div",
126
+ {
127
+ role: "button",
128
+ tabIndex: 0,
129
+ onClick: toggle,
130
+ onKeyDown: (e) => {
131
+ if (e.key === "Enter" || e.key === " ") {
132
+ e.preventDefault();
133
+ toggle();
134
+ }
135
+ },
136
+ "aria-expanded": isExpanded,
137
+ className: ui.cn(
138
+ "flex cursor-pointer items-center gap-2 px-3 py-1.5 pointer-coarse:min-h-11 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
139
+ isExpanded && "border-b border-border",
140
+ className
141
+ ),
142
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: `search-result-group-toggle-${groupId}` }),
143
+ "data-slot": "search-group-header",
144
+ children: [
145
+ /* @__PURE__ */ jsxRuntime.jsx(
146
+ lucideReact.ChevronRight,
147
+ {
148
+ className: ui.cn(
149
+ "size-4 shrink-0 text-muted-foreground transition-transform",
150
+ isExpanded && "rotate-90"
151
+ )
152
+ }
153
+ ),
154
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0", onClick: (e) => e.stopPropagation(), children: source }),
155
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "shrink-0 text-sm text-muted-foreground", children: [
156
+ hitCount,
157
+ " ",
158
+ hitCount === 1 ? l.hit : l.hits
159
+ ] })
160
+ ]
161
+ }
162
+ );
163
+ });
164
+ var DOCUMENT_SEARCH_NOUNS = {
165
+ singular: "document",
166
+ plural: "documents",
167
+ hit: "passage",
168
+ hits: "passages",
169
+ emptyTitle: "No documents to search yet",
170
+ emptyHint: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
171
+ "Add files under ",
172
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-foreground/80", children: "\u201CFiles\u201D" }),
173
+ ", then come back to search their full text by keyword or meaning."
174
+ ] }),
175
+ EmptyIcon: lucideReact.FileUp
176
+ };
177
+ function searchNouns(singular, plural, addHint, EmptyIcon = lucideReact.Plus) {
178
+ return {
179
+ singular,
180
+ plural,
181
+ hit: singular,
182
+ hits: plural,
183
+ emptyTitle: `No ${plural} to search yet`,
184
+ emptyHint: addHint,
185
+ EmptyIcon
186
+ };
187
+ }
188
+ var DEFAULT_SEARCH_EMPTY_STATE_LABELS = {
189
+ title: (n) => `Search across your ${n.plural}`,
190
+ intro: (count, n) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
191
+ "Find any ",
192
+ n.hit,
193
+ " across",
194
+ " ",
195
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-medium text-foreground/80", children: [
196
+ count.toLocaleString(),
197
+ " ",
198
+ count === 1 ? n.singular : n.plural
199
+ ] }),
200
+ " ",
201
+ "\u2014 by keyword, by meaning, or both."
202
+ ] }),
203
+ hybridTitle: "Words and meaning, together",
204
+ hybridBody: (n) => `Every search matches exact words and meaning, so ${n.hits} worded differently are still found.`,
205
+ phraseTitle: "Quote an exact phrase",
206
+ phraseBefore: "Wrap a phrase in double quotes, like ",
207
+ phraseExample: '"force majeure"',
208
+ phraseAfter: (n) => `, to return only ${n.hits} containing it.`
209
+ };
210
+ function SearchEmptyState({
211
+ count,
212
+ nouns = DOCUMENT_SEARCH_NOUNS,
213
+ labels,
214
+ testId,
215
+ className
216
+ }) {
217
+ const l = { ...DEFAULT_SEARCH_EMPTY_STATE_LABELS, ...labels };
218
+ const hasItems = count > 0;
219
+ const Icon = hasItems ? lucideReact.Search : nouns.EmptyIcon;
220
+ return /* @__PURE__ */ jsxRuntime.jsx(
221
+ "div",
222
+ {
223
+ className: ui.cn("flex justify-center px-10 pb-10 pt-6", className),
224
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "smart-search-empty-state" }),
225
+ "data-slot": "search-empty-state",
226
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full max-w-xl text-center", children: [
227
+ /* @__PURE__ */ jsxRuntime.jsx(
228
+ "div",
229
+ {
230
+ className: ui.cn(
231
+ "mx-auto mb-4 flex size-12 items-center justify-center rounded-lg",
232
+ hasItems ? "bg-ai-soft text-ai-ink" : "bg-muted text-muted-foreground"
233
+ ),
234
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "size-6" })
235
+ }
236
+ ),
237
+ hasItems ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
238
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "mt-2 text-xl font-semibold text-foreground", children: l.title(nouns) }),
239
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-muted-foreground", children: l.intro(count, nouns) }),
240
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-7 grid gap-3 text-left sm:grid-cols-2", children: [
241
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg bg-muted p-3", children: [
242
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 text-sm font-medium text-foreground", children: [
243
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Blend, { className: "size-4 text-ai-ink" }),
244
+ l.hybridTitle
245
+ ] }),
246
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm leading-snug text-muted-foreground", children: l.hybridBody(nouns) })
247
+ ] }),
248
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg bg-muted p-3", children: [
249
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 text-sm font-medium text-foreground", children: [
250
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Quote, { className: "size-4 text-ai-ink" }),
251
+ l.phraseTitle
252
+ ] }),
253
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "mt-1 text-sm leading-snug text-muted-foreground", children: [
254
+ l.phraseBefore,
255
+ /* @__PURE__ */ jsxRuntime.jsx("code", { className: "rounded bg-background px-1 py-0.5 font-mono text-sm text-foreground/90", children: l.phraseExample }),
256
+ l.phraseAfter(nouns)
257
+ ] })
258
+ ] })
259
+ ] })
260
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
261
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-semibold text-foreground", children: nouns.emptyTitle }),
262
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mx-auto mt-1.5 max-w-sm text-sm text-muted-foreground", children: nouns.emptyHint })
263
+ ] })
264
+ ] })
265
+ }
266
+ );
267
+ }
268
+ function SearchPageFrame({
269
+ isEmbedded,
270
+ testId = "smart-search",
271
+ children
272
+ }) {
273
+ return /* @__PURE__ */ jsxRuntime.jsx(
274
+ "div",
275
+ {
276
+ "data-slot": "search-page",
277
+ "data-testid": testId,
278
+ className: ui.cn("flex h-full flex-col", !isEmbedded && "px-4"),
279
+ children
280
+ }
281
+ );
282
+ }
283
+ function SearchPageHeader({ children }) {
284
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "search-page-header", className: "sticky top-0 z-10 -mx-4 bg-background", children });
285
+ }
286
+ function SearchPageBody({ children }) {
287
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "search-page-body", className: "flex min-h-0 flex-1 flex-col", children });
288
+ }
289
+ function SearchToolbarRow({ children }) {
290
+ return /* @__PURE__ */ jsxRuntime.jsx(
291
+ "div",
292
+ {
293
+ "data-slot": "search-toolbar-row",
294
+ className: "group flex h-8 items-center gap-2 border-b border-border/60 bg-background pl-5 pr-3",
295
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ml-auto flex shrink-0 items-center", children })
296
+ }
297
+ );
298
+ }
299
+ function SearchResultsMain({ children }) {
300
+ return /* @__PURE__ */ jsxRuntime.jsx("main", { "data-slot": "search-results-main", className: "flex-1 overflow-auto", children });
301
+ }
302
+ function SearchResultsInner({ children }) {
303
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full px-6 pb-6 pt-1", children });
304
+ }
305
+ function SearchResultList({ testId, children }) {
306
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3", "data-testid": testId, children });
307
+ }
308
+ function SearchGroupCard({
309
+ testId,
310
+ header,
311
+ isExpanded,
312
+ children
313
+ }) {
314
+ return /* @__PURE__ */ jsxRuntime.jsxs(
315
+ "div",
316
+ {
317
+ "data-slot": "search-group-card",
318
+ className: "rounded border border-border transition-colors",
319
+ "data-testid": testId,
320
+ children: [
321
+ header,
322
+ isExpanded && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3 p-3", children })
323
+ ]
324
+ }
325
+ );
326
+ }
327
+ var DEFAULT_SEARCH_BAR_LABELS = {
328
+ search: "Search:",
329
+ clear: "Clear search",
330
+ submit: "Search"
331
+ };
332
+ function SearchBar({
333
+ query,
334
+ onQueryChange,
335
+ onSubmit,
336
+ onClear,
337
+ canSubmit,
338
+ isSearching,
339
+ placeholder,
340
+ submitTitle,
341
+ notice,
342
+ noticeTestId,
343
+ inputId = "smart-search-input",
344
+ testIds,
345
+ inputRef,
346
+ isEmbedded,
347
+ labels
348
+ }) {
349
+ const l = react.useMemo(() => ({ ...DEFAULT_SEARCH_BAR_LABELS, ...labels }), [labels]);
350
+ const fieldRef = react.useRef(null);
351
+ const setRefs = react.useCallback(
352
+ (el) => {
353
+ fieldRef.current = el;
354
+ if (typeof inputRef === "function") inputRef(el);
355
+ else if (inputRef) inputRef.current = el;
356
+ },
357
+ [inputRef]
358
+ );
359
+ react.useLayoutEffect(() => {
360
+ const el = fieldRef.current;
361
+ if (!el) return;
362
+ const resize = () => {
363
+ el.style.height = "auto";
364
+ el.style.height = `${el.scrollHeight}px`;
365
+ };
366
+ resize();
367
+ if (typeof ResizeObserver === "undefined") return;
368
+ let lastWidth = el.clientWidth;
369
+ const observer = new ResizeObserver(() => {
370
+ if (el.clientWidth === lastWidth) return;
371
+ lastWidth = el.clientWidth;
372
+ resize();
373
+ });
374
+ observer.observe(el);
375
+ return () => observer.disconnect();
376
+ }, [query, placeholder]);
377
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "search-bar", className: ui.cn("pl-6 pr-4", isEmbedded ? "pb-4 pt-6" : "py-4"), children: /* @__PURE__ */ jsxRuntime.jsxs(
378
+ "form",
379
+ {
380
+ onSubmit: (e) => {
381
+ e.preventDefault();
382
+ onSubmit();
383
+ },
384
+ className: "mx-auto flex w-full max-w-2xl items-center gap-3",
385
+ children: [
386
+ /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: inputId, className: "sr-only", children: l.search }),
387
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-1 items-start gap-2 rounded-lg border border-border bg-background px-3.5 py-2.5 transition-colors focus-within:border-ring focus-within:ring-2 focus-within:ring-ring", children: [
388
+ /* @__PURE__ */ jsxRuntime.jsx(
389
+ "textarea",
390
+ {
391
+ id: inputId,
392
+ ref: setRefs,
393
+ rows: 1,
394
+ value: query,
395
+ onChange: (e) => {
396
+ onQueryChange(e.target.value);
397
+ e.target.style.height = "auto";
398
+ e.target.style.height = `${e.target.scrollHeight}px`;
399
+ },
400
+ onKeyDown: (e) => {
401
+ if (e.key === "Enter" && !e.shiftKey) {
402
+ e.preventDefault();
403
+ onSubmit();
404
+ }
405
+ },
406
+ placeholder,
407
+ className: "flex-1 resize-none overflow-hidden border-0 bg-transparent p-0 pointer-coarse:min-h-11 pointer-coarse:py-2.5 text-base leading-relaxed text-foreground outline-none placeholder:text-muted-foreground",
408
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.input, { testId: "smart-search-input" })
409
+ }
410
+ ),
411
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [
412
+ query && /* @__PURE__ */ jsxRuntime.jsx(
413
+ ui.Button,
414
+ {
415
+ type: "button",
416
+ variant: "ghost",
417
+ size: "icon",
418
+ className: "size-7 text-muted-foreground hover:text-foreground pointer-coarse:size-11",
419
+ onClick: onClear,
420
+ "aria-label": l.clear,
421
+ title: l.clear,
422
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.clear, { testId: "smart-search-clear-button" }),
423
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-4" })
424
+ }
425
+ ),
426
+ /* @__PURE__ */ jsxRuntime.jsxs(
427
+ ui.Button,
428
+ {
429
+ type: "submit",
430
+ size: "sm",
431
+ disabled: !canSubmit,
432
+ className: "h-8 gap-1.5 px-3 text-sm pointer-coarse:h-11",
433
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.submit, { testId: "smart-search-submit-button" }),
434
+ title: submitTitle ?? l.submit,
435
+ "aria-label": l.submit,
436
+ children: [
437
+ isSearching ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-4 animate-spin" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "size-4" }),
438
+ l.submit
439
+ ]
440
+ }
441
+ )
442
+ ] }),
443
+ notice && /* @__PURE__ */ jsxRuntime.jsx(
444
+ "p",
445
+ {
446
+ className: "mt-2 text-sm text-destructive",
447
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(noticeTestId, { testId: "smart-search-selection-too-large" }),
448
+ children: notice
449
+ }
450
+ )
451
+ ] })
452
+ ]
453
+ }
454
+ ) });
455
+ }
456
+ function SearchPillToggle({
457
+ options,
458
+ value,
459
+ onChange,
460
+ ariaLabel,
461
+ testIdPrefix
462
+ }) {
463
+ return /* @__PURE__ */ jsxRuntime.jsx(
464
+ "div",
465
+ {
466
+ className: "inline-flex items-center rounded-full bg-muted p-0.5",
467
+ role: "group",
468
+ "aria-label": ariaLabel,
469
+ "data-slot": "search-pill-toggle",
470
+ children: options.map((o) => {
471
+ const active = o.value === value;
472
+ return /* @__PURE__ */ jsxRuntime.jsx(
473
+ "button",
474
+ {
475
+ type: "button",
476
+ onClick: () => onChange(o.value),
477
+ "aria-pressed": active,
478
+ title: o.title,
479
+ "data-testid": chunkMHVNT4J3_cjs.prefixedTestId(
480
+ testIdPrefix,
481
+ o.value,
482
+ { testId: `smart-search-view-${o.value}-button` },
483
+ "-button"
484
+ ),
485
+ className: ui.cn(
486
+ "flex min-h-8 items-center gap-1.5 rounded-full px-3 py-1 text-xs font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:min-h-11",
487
+ active ? "bg-background text-foreground" : "text-muted-foreground hover:text-foreground"
488
+ ),
489
+ children: o.content
490
+ },
491
+ o.value
492
+ );
493
+ })
494
+ }
495
+ );
496
+ }
497
+ var DEFAULT_RELEVANCE_STEPS = [
498
+ { value: 0, label: "Low" },
499
+ { value: 0.7, label: "High" }
500
+ ];
501
+ var STEP_DOT_CLASS = ["bg-muted-foreground/40", "bg-green-500"];
502
+ var STEP_LABEL_CLASS = ["text-foreground", "text-green-700"];
503
+ function RelevanceThreshold({
504
+ value,
505
+ onChange,
506
+ steps = DEFAULT_RELEVANCE_STEPS,
507
+ title = "Relevance Threshold",
508
+ ariaLabel = "Search relevance threshold"
509
+ }) {
510
+ const active = steps.reduce((best, s, i) => value >= s.value ? i : best, 0);
511
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", "data-slot": "relevance-threshold", children: [
512
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "whitespace-nowrap text-xs font-medium uppercase tracking-wide text-muted-foreground", children: title }),
513
+ /* @__PURE__ */ jsxRuntime.jsx(
514
+ "div",
515
+ {
516
+ className: "inline-flex items-center rounded-full bg-muted p-0.5",
517
+ role: "group",
518
+ "aria-label": ariaLabel,
519
+ children: steps.map((step, i) => {
520
+ const isActive = i === active;
521
+ return /* @__PURE__ */ jsxRuntime.jsxs(
522
+ "button",
523
+ {
524
+ type: "button",
525
+ onClick: () => onChange(step.value),
526
+ "aria-pressed": isActive,
527
+ "data-testid": `smart-search-threshold-${step.label.toLowerCase()}`,
528
+ className: ui.cn(
529
+ "flex items-center gap-1 rounded-full px-2 py-0.5 text-xs font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:min-h-11 pointer-coarse:px-3",
530
+ isActive ? ui.cn("bg-background", STEP_LABEL_CLASS[i] ?? STEP_LABEL_CLASS[0]) : "text-muted-foreground hover:text-foreground"
531
+ ),
532
+ children: [
533
+ /* @__PURE__ */ jsxRuntime.jsx(
534
+ "span",
535
+ {
536
+ className: ui.cn(
537
+ "size-1.5 rounded-full transition-colors",
538
+ isActive ? STEP_DOT_CLASS[i] ?? STEP_DOT_CLASS[0] : "bg-muted-foreground/30"
539
+ )
540
+ }
541
+ ),
542
+ step.label
543
+ ]
544
+ },
545
+ step.label
546
+ );
547
+ })
548
+ }
549
+ )
550
+ ] });
551
+ }
552
+ function SearchControlsBar({
553
+ start,
554
+ end,
555
+ children
556
+ }) {
557
+ return /* @__PURE__ */ jsxRuntime.jsxs(
558
+ "div",
559
+ {
560
+ "data-slot": "search-controls-bar",
561
+ className: "flex flex-wrap items-center justify-between gap-x-4 gap-y-2 pb-3 pl-6 pr-4",
562
+ children: [
563
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-2", children: start }),
564
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-3", children: end }),
565
+ children
566
+ ]
567
+ }
568
+ );
569
+ }
570
+ var DEFAULT_SEARCH_TOTALS_LABELS = {
571
+ hit: "hit",
572
+ hits: "hits",
573
+ document: "document",
574
+ documents: "documents",
575
+ passages: "passages"
576
+ };
577
+ var fmt = (n) => n.toLocaleString();
578
+ function SearchTotalsHeadline({
579
+ shownHits,
580
+ totalHits,
581
+ shownDocuments,
582
+ totalDocuments,
583
+ range,
584
+ action,
585
+ testId = "smart-search-totals",
586
+ labels
587
+ }) {
588
+ const l = react.useMemo(() => ({ ...DEFAULT_SEARCH_TOTALS_LABELS, ...labels }), [labels]);
589
+ const hitWord = (n) => n === 1 ? l.hit : l.hits;
590
+ const docWord = (n) => n === 1 ? l.document : l.documents;
591
+ return /* @__PURE__ */ jsxRuntime.jsxs(
592
+ "p",
593
+ {
594
+ className: "flex flex-wrap items-baseline gap-x-2 font-sans text-base font-semibold tabular-nums text-foreground",
595
+ "data-testid": testId,
596
+ children: [
597
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: shownHits < totalHits ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
598
+ fmt(shownHits),
599
+ " ",
600
+ hitWord(shownHits),
601
+ " ",
602
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-normal text-muted-foreground", children: [
603
+ "(",
604
+ fmt(totalHits),
605
+ " total)"
606
+ ] }),
607
+ " ",
608
+ "across ",
609
+ fmt(shownDocuments),
610
+ " ",
611
+ docWord(shownDocuments)
612
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
613
+ fmt(totalHits),
614
+ " ",
615
+ hitWord(totalHits),
616
+ " across ",
617
+ fmt(totalDocuments),
618
+ " ",
619
+ docWord(totalDocuments)
620
+ ] }) }),
621
+ action && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-2 text-sm font-normal text-muted-foreground", children: [
622
+ "\u2013",
623
+ action
624
+ ] }),
625
+ range && range.total > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm font-normal text-muted-foreground", children: [
626
+ "\xB7 showing ",
627
+ fmt(range.start),
628
+ "\u2013",
629
+ fmt(range.end),
630
+ " of ",
631
+ fmt(range.total),
632
+ " ",
633
+ range.unit === "passages" ? l.passages : l.documents
634
+ ] })
635
+ ]
636
+ }
637
+ );
638
+ }
639
+ function SearchErrorBanner({ message }) {
640
+ return /* @__PURE__ */ jsxRuntime.jsxs(
641
+ "div",
642
+ {
643
+ role: "alert",
644
+ className: "flex items-center gap-2 rounded-md bg-destructive/10 p-4 text-destructive",
645
+ children: [
646
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "size-5 flex-shrink-0" }),
647
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: message })
648
+ ]
649
+ }
650
+ );
651
+ }
652
+ var DEFAULT_SEARCH_NO_RESULTS_LABELS = {
653
+ none: "No results found for your search query.",
654
+ hidden: (n) => `All ${fmt(n)} ${n === 1 ? "hit is" : "hits are"} below the current relevance threshold.`,
655
+ lower: "Lower threshold to Low"
656
+ };
657
+ function SearchNoResults({
658
+ hiddenHits,
659
+ onLowerThreshold,
660
+ labels,
661
+ testId = "smart-search-no-results"
662
+ }) {
663
+ const l = react.useMemo(() => ({ ...DEFAULT_SEARCH_NO_RESULTS_LABELS, ...labels }), [labels]);
664
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "py-12 text-center", "data-testid": testId, children: [
665
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "mx-auto mb-4 size-12 text-muted-foreground" }),
666
+ hiddenHits > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
667
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: l.hidden(hiddenHits) }),
668
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "link", size: "sm", className: "mt-2", onClick: onLowerThreshold, children: l.lower })
669
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: l.none })
670
+ ] });
671
+ }
672
+ var DEFAULT_APPLY_LABEL_DIALOG_LABELS = {
673
+ title: "Apply label",
674
+ description: (documents, passages) => `Labels ${documents} ${documents === 1 ? "document" : "documents"} with ${passages} passage ${passages === 1 ? "reference" : "references"}.`,
675
+ placeholder: "Label name",
676
+ cancel: "Cancel",
677
+ apply: "Apply label"
678
+ };
679
+ function ApplyLabelDialog({
680
+ open,
681
+ onOpenChange,
682
+ name,
683
+ onNameChange,
684
+ onApply,
685
+ isApplying,
686
+ documentCount,
687
+ passageCount,
688
+ labels
689
+ }) {
690
+ const l = react.useMemo(() => ({ ...DEFAULT_APPLY_LABEL_DIALOG_LABELS, ...labels }), [labels]);
691
+ return /* @__PURE__ */ jsxRuntime.jsx(ui.Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogContent, { children: [
692
+ /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogHeader, { children: [
693
+ /* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: l.title }),
694
+ /* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: l.description(documentCount, passageCount) })
695
+ ] }),
696
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "py-2", children: /* @__PURE__ */ jsxRuntime.jsx(
697
+ ui.Input,
698
+ {
699
+ value: name,
700
+ onChange: (e) => onNameChange(e.target.value),
701
+ placeholder: l.placeholder,
702
+ "aria-label": l.placeholder,
703
+ autoFocus: true,
704
+ onKeyDown: (e) => {
705
+ if (e.key === "Enter" && name.trim()) onApply(name);
706
+ }
707
+ }
708
+ ) }),
709
+ /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogFooter, { children: [
710
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outline", onClick: () => onOpenChange(false), children: l.cancel }),
711
+ /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { onClick: () => onApply(name), disabled: isApplying || !name.trim(), children: [
712
+ isApplying && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "mr-2 size-4 animate-spin" }),
713
+ l.apply
714
+ ] })
715
+ ] })
716
+ ] }) });
717
+ }
718
+ function ApplyLabelButton({
719
+ onClick,
720
+ label = "Apply label",
721
+ testId = "smart-search-apply-label-button"
722
+ }) {
723
+ return /* @__PURE__ */ jsxRuntime.jsxs(
724
+ ui.Button,
725
+ {
726
+ onClick,
727
+ size: "sm",
728
+ variant: "outline",
729
+ className: "h-6 px-2 text-sm font-normal pointer-coarse:h-11",
730
+ "data-testid": testId,
731
+ children: [
732
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.TagIcon, { className: "mr-1 size-3" }),
733
+ label
734
+ ]
735
+ }
736
+ );
737
+ }
738
+ function splitByTerms(text, terms) {
739
+ const escaped = terms.map((t) => t.trim()).filter(Boolean).map((t) => t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
740
+ if (escaped.length === 0) return [{ text, match: false }];
741
+ const re = new RegExp(`(${escaped.join("|")})`, "gi");
742
+ return text.split(re).map((part, i) => ({ text: part, match: i % 2 === 1 })).filter((run) => run.text !== "");
743
+ }
744
+ function Highlight({ text, terms, markClassName, className }) {
745
+ const runs = splitByTerms(stripMarkdownLinks(text), terms);
746
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className, "data-slot": "highlight", children: runs.map(
747
+ (run, i) => run.match ? /* @__PURE__ */ jsxRuntime.jsx("mark", { className: ui.cn("rounded-sm bg-yellow-bg text-inherit", markClassName), children: run.text }, i) : /* @__PURE__ */ jsxRuntime.jsx(react.Fragment, { children: run.text }, i)
748
+ ) });
749
+ }
750
+
751
+ exports.ApplyLabelButton = ApplyLabelButton;
752
+ exports.ApplyLabelDialog = ApplyLabelDialog;
753
+ exports.DEFAULT_APPLY_LABEL_DIALOG_LABELS = DEFAULT_APPLY_LABEL_DIALOG_LABELS;
754
+ exports.DEFAULT_RELEVANCE_STEPS = DEFAULT_RELEVANCE_STEPS;
755
+ exports.DEFAULT_SEARCH_BAR_LABELS = DEFAULT_SEARCH_BAR_LABELS;
756
+ exports.DEFAULT_SEARCH_EMPTY_STATE_LABELS = DEFAULT_SEARCH_EMPTY_STATE_LABELS;
757
+ exports.DEFAULT_SEARCH_GROUP_HEADER_LABELS = DEFAULT_SEARCH_GROUP_HEADER_LABELS;
758
+ exports.DEFAULT_SEARCH_NO_RESULTS_LABELS = DEFAULT_SEARCH_NO_RESULTS_LABELS;
759
+ exports.DEFAULT_SEARCH_PAGINATION_LABELS = DEFAULT_SEARCH_PAGINATION_LABELS;
760
+ exports.DEFAULT_SEARCH_TOTALS_LABELS = DEFAULT_SEARCH_TOTALS_LABELS;
761
+ exports.DOCUMENT_SEARCH_NOUNS = DOCUMENT_SEARCH_NOUNS;
762
+ exports.Highlight = Highlight;
763
+ exports.RelevanceThreshold = RelevanceThreshold;
764
+ exports.SearchBar = SearchBar;
765
+ exports.SearchControlsBar = SearchControlsBar;
766
+ exports.SearchEmptyState = SearchEmptyState;
767
+ exports.SearchErrorBanner = SearchErrorBanner;
768
+ exports.SearchGroupCard = SearchGroupCard;
769
+ exports.SearchGroupHeader = SearchGroupHeader;
770
+ exports.SearchNoResults = SearchNoResults;
771
+ exports.SearchPageBody = SearchPageBody;
772
+ exports.SearchPageFrame = SearchPageFrame;
773
+ exports.SearchPageHeader = SearchPageHeader;
774
+ exports.SearchPagination = SearchPagination;
775
+ exports.SearchPillToggle = SearchPillToggle;
776
+ exports.SearchResultList = SearchResultList;
777
+ exports.SearchResultsInner = SearchResultsInner;
778
+ exports.SearchResultsMain = SearchResultsMain;
779
+ exports.SearchToolbarRow = SearchToolbarRow;
780
+ exports.SearchTotalsHeadline = SearchTotalsHeadline;
781
+ exports.getPageNumbers = getPageNumbers;
782
+ exports.highlightTerms = highlightTerms;
783
+ exports.searchNouns = searchNouns;
784
+ exports.splitByTerms = splitByTerms;
785
+ exports.stripMarkdownLinks = stripMarkdownLinks;
786
+ //# sourceMappingURL=chunk-XQ7PKKDY.cjs.map
787
+ //# sourceMappingURL=chunk-XQ7PKKDY.cjs.map