@kelpie/ui 0.7.0 → 0.9.0

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 (349) hide show
  1. package/dist/api/resource.d.ts +59 -6
  2. package/dist/api/resource.d.ts.map +1 -1
  3. package/dist/api/resource.js +106 -24
  4. package/dist/api/resource.js.map +1 -1
  5. package/dist/api/resources/companies.d.ts +2 -0
  6. package/dist/api/resources/companies.d.ts.map +1 -1
  7. package/dist/api/resources/companies.js +5 -1
  8. package/dist/api/resources/companies.js.map +1 -1
  9. package/dist/api/resources/consentPurposes.d.ts +13 -0
  10. package/dist/api/resources/consentPurposes.d.ts.map +1 -0
  11. package/dist/api/resources/consentPurposes.js +39 -0
  12. package/dist/api/resources/consentPurposes.js.map +1 -0
  13. package/dist/api/resources/customFields.d.ts +15 -0
  14. package/dist/api/resources/customFields.d.ts.map +1 -0
  15. package/dist/api/resources/customFields.js +41 -0
  16. package/dist/api/resources/customFields.js.map +1 -0
  17. package/dist/api/resources/decisions.d.ts +2 -0
  18. package/dist/api/resources/decisions.d.ts.map +1 -1
  19. package/dist/api/resources/decisions.js +1 -0
  20. package/dist/api/resources/decisions.js.map +1 -1
  21. package/dist/api/resources/emailDomainLinker.d.ts +16 -0
  22. package/dist/api/resources/emailDomainLinker.d.ts.map +1 -0
  23. package/dist/api/resources/emailDomainLinker.js +16 -0
  24. package/dist/api/resources/emailDomainLinker.js.map +1 -0
  25. package/dist/api/resources/enquiries.d.ts +39 -0
  26. package/dist/api/resources/enquiries.d.ts.map +1 -0
  27. package/dist/api/resources/enquiries.js +68 -0
  28. package/dist/api/resources/enquiries.js.map +1 -0
  29. package/dist/api/resources/forms.d.ts +21 -1
  30. package/dist/api/resources/forms.d.ts.map +1 -1
  31. package/dist/api/resources/forms.js +44 -17
  32. package/dist/api/resources/forms.js.map +1 -1
  33. package/dist/api/resources/handbookPages.d.ts +1 -1
  34. package/dist/api/resources/handbookPages.js +1 -1
  35. package/dist/api/resources/importJobs.d.ts +5 -0
  36. package/dist/api/resources/importJobs.d.ts.map +1 -1
  37. package/dist/api/resources/importJobs.js +3 -0
  38. package/dist/api/resources/importJobs.js.map +1 -1
  39. package/dist/api/resources/listMembers.d.ts +27 -0
  40. package/dist/api/resources/listMembers.d.ts.map +1 -0
  41. package/dist/api/resources/listMembers.js +108 -0
  42. package/dist/api/resources/listMembers.js.map +1 -0
  43. package/dist/api/resources/lists.d.ts +14 -0
  44. package/dist/api/resources/lists.d.ts.map +1 -0
  45. package/dist/api/resources/lists.js +34 -0
  46. package/dist/api/resources/lists.js.map +1 -0
  47. package/dist/api/resources/opportunities.d.ts +2 -0
  48. package/dist/api/resources/opportunities.d.ts.map +1 -1
  49. package/dist/api/resources/opportunities.js +1 -0
  50. package/dist/api/resources/opportunities.js.map +1 -1
  51. package/dist/api/resources/people.d.ts.map +1 -1
  52. package/dist/api/resources/people.js +4 -1
  53. package/dist/api/resources/people.js.map +1 -1
  54. package/dist/api/resources/roles.d.ts +2 -0
  55. package/dist/api/resources/roles.d.ts.map +1 -1
  56. package/dist/api/resources/roles.js +1 -1
  57. package/dist/api/resources/roles.js.map +1 -1
  58. package/dist/api/resources/sampleData.d.ts +17 -0
  59. package/dist/api/resources/sampleData.d.ts.map +1 -0
  60. package/dist/api/resources/sampleData.js +31 -0
  61. package/dist/api/resources/sampleData.js.map +1 -0
  62. package/dist/api/resources/webhooks.d.ts.map +1 -1
  63. package/dist/api/resources/webhooks.js +7 -22
  64. package/dist/api/resources/webhooks.js.map +1 -1
  65. package/dist/app/KelpieApp.d.ts.map +1 -1
  66. package/dist/app/KelpieApp.js +9 -1
  67. package/dist/app/KelpieApp.js.map +1 -1
  68. package/dist/components/ActivitiesPanel.d.ts.map +1 -1
  69. package/dist/components/ActivitiesPanel.js +3 -1
  70. package/dist/components/ActivitiesPanel.js.map +1 -1
  71. package/dist/components/ColumnPicker.d.ts +24 -0
  72. package/dist/components/ColumnPicker.d.ts.map +1 -0
  73. package/dist/components/ColumnPicker.js +56 -0
  74. package/dist/components/ColumnPicker.js.map +1 -0
  75. package/dist/components/CustomFieldsPanel.d.ts +23 -0
  76. package/dist/components/CustomFieldsPanel.d.ts.map +1 -0
  77. package/dist/components/CustomFieldsPanel.js +116 -0
  78. package/dist/components/CustomFieldsPanel.js.map +1 -0
  79. package/dist/components/DataTable.d.ts +16 -1
  80. package/dist/components/DataTable.d.ts.map +1 -1
  81. package/dist/components/DataTable.js +51 -10
  82. package/dist/components/DataTable.js.map +1 -1
  83. package/dist/components/DecisionsPanel.d.ts.map +1 -1
  84. package/dist/components/DecisionsPanel.js +4 -3
  85. package/dist/components/DecisionsPanel.js.map +1 -1
  86. package/dist/components/EntitySearch.d.ts.map +1 -1
  87. package/dist/components/EntitySearch.js +11 -5
  88. package/dist/components/EntitySearch.js.map +1 -1
  89. package/dist/components/FormsPanel.d.ts +18 -0
  90. package/dist/components/FormsPanel.d.ts.map +1 -0
  91. package/dist/components/FormsPanel.js +37 -0
  92. package/dist/components/FormsPanel.js.map +1 -0
  93. package/dist/components/ListsPanel.d.ts +14 -0
  94. package/dist/components/ListsPanel.d.ts.map +1 -0
  95. package/dist/components/ListsPanel.js +56 -0
  96. package/dist/components/ListsPanel.js.map +1 -0
  97. package/dist/components/NotesPanel.d.ts.map +1 -1
  98. package/dist/components/NotesPanel.js +6 -5
  99. package/dist/components/NotesPanel.js.map +1 -1
  100. package/dist/components/Paginator.d.ts +26 -0
  101. package/dist/components/Paginator.d.ts.map +1 -0
  102. package/dist/components/Paginator.js +16 -0
  103. package/dist/components/Paginator.js.map +1 -0
  104. package/dist/components/PlanAttention.d.ts +3 -2
  105. package/dist/components/PlanAttention.d.ts.map +1 -1
  106. package/dist/components/PlanAttention.js +7 -3
  107. package/dist/components/PlanAttention.js.map +1 -1
  108. package/dist/components/PlanPanel.d.ts.map +1 -1
  109. package/dist/components/PlanPanel.js +2 -1
  110. package/dist/components/PlanPanel.js.map +1 -1
  111. package/dist/components/Shell.d.ts.map +1 -1
  112. package/dist/components/Shell.js +4 -0
  113. package/dist/components/Shell.js.map +1 -1
  114. package/dist/components/useHasCustomFields.d.ts +13 -0
  115. package/dist/components/useHasCustomFields.d.ts.map +1 -0
  116. package/dist/components/useHasCustomFields.js +16 -0
  117. package/dist/components/useHasCustomFields.js.map +1 -0
  118. package/dist/index.d.ts +8 -2
  119. package/dist/index.d.ts.map +1 -1
  120. package/dist/index.js +4 -1
  121. package/dist/index.js.map +1 -1
  122. package/dist/lib/listView.d.ts +15 -0
  123. package/dist/lib/listView.d.ts.map +1 -0
  124. package/dist/lib/listView.js +66 -0
  125. package/dist/lib/listView.js.map +1 -0
  126. package/dist/lib/sort.d.ts +43 -0
  127. package/dist/lib/sort.d.ts.map +1 -0
  128. package/dist/lib/sort.js +102 -0
  129. package/dist/lib/sort.js.map +1 -0
  130. package/dist/pages/CompaniesPage.d.ts.map +1 -1
  131. package/dist/pages/CompaniesPage.js +88 -3
  132. package/dist/pages/CompaniesPage.js.map +1 -1
  133. package/dist/pages/CompanyDetail.d.ts.map +1 -1
  134. package/dist/pages/CompanyDetail.js +40 -15
  135. package/dist/pages/CompanyDetail.js.map +1 -1
  136. package/dist/pages/DealDetail.d.ts.map +1 -1
  137. package/dist/pages/DealDetail.js +20 -1
  138. package/dist/pages/DealDetail.js.map +1 -1
  139. package/dist/pages/DealsPage.d.ts.map +1 -1
  140. package/dist/pages/DealsPage.js +134 -14
  141. package/dist/pages/DealsPage.js.map +1 -1
  142. package/dist/pages/DecisionsPage.d.ts.map +1 -1
  143. package/dist/pages/DecisionsPage.js +52 -8
  144. package/dist/pages/DecisionsPage.js.map +1 -1
  145. package/dist/pages/EnquiriesPage.d.ts +2 -0
  146. package/dist/pages/EnquiriesPage.d.ts.map +1 -0
  147. package/dist/pages/EnquiriesPage.js +251 -0
  148. package/dist/pages/EnquiriesPage.js.map +1 -0
  149. package/dist/pages/EnquiryDetail.d.ts +2 -0
  150. package/dist/pages/EnquiryDetail.d.ts.map +1 -0
  151. package/dist/pages/EnquiryDetail.js +207 -0
  152. package/dist/pages/EnquiryDetail.js.map +1 -0
  153. package/dist/pages/EnquiryStageSettingsPage.d.ts +3 -0
  154. package/dist/pages/EnquiryStageSettingsPage.d.ts.map +1 -0
  155. package/dist/pages/EnquiryStageSettingsPage.js +34 -0
  156. package/dist/pages/EnquiryStageSettingsPage.js.map +1 -0
  157. package/dist/pages/FormDetail.d.ts.map +1 -1
  158. package/dist/pages/FormDetail.js +19 -1
  159. package/dist/pages/FormDetail.js.map +1 -1
  160. package/dist/pages/FormsPage.d.ts.map +1 -1
  161. package/dist/pages/FormsPage.js +53 -2
  162. package/dist/pages/FormsPage.js.map +1 -1
  163. package/dist/pages/FundraisingPage.d.ts.map +1 -1
  164. package/dist/pages/FundraisingPage.js +116 -14
  165. package/dist/pages/FundraisingPage.js.map +1 -1
  166. package/dist/pages/HiringPage.d.ts.map +1 -1
  167. package/dist/pages/HiringPage.js +27 -4
  168. package/dist/pages/HiringPage.js.map +1 -1
  169. package/dist/pages/ListDetail.d.ts +11 -0
  170. package/dist/pages/ListDetail.d.ts.map +1 -0
  171. package/dist/pages/ListDetail.js +214 -0
  172. package/dist/pages/ListDetail.js.map +1 -0
  173. package/dist/pages/ListsPage.d.ts +9 -0
  174. package/dist/pages/ListsPage.d.ts.map +1 -0
  175. package/dist/pages/ListsPage.js +125 -0
  176. package/dist/pages/ListsPage.js.map +1 -0
  177. package/dist/pages/OpportunitiesPage.d.ts.map +1 -1
  178. package/dist/pages/OpportunitiesPage.js +97 -14
  179. package/dist/pages/OpportunitiesPage.js.map +1 -1
  180. package/dist/pages/OpportunityDetail.d.ts.map +1 -1
  181. package/dist/pages/OpportunityDetail.js +64 -3
  182. package/dist/pages/OpportunityDetail.js.map +1 -1
  183. package/dist/pages/PartnershipDetail.d.ts.map +1 -1
  184. package/dist/pages/PartnershipDetail.js +19 -1
  185. package/dist/pages/PartnershipDetail.js.map +1 -1
  186. package/dist/pages/PartnershipsPage.d.ts.map +1 -1
  187. package/dist/pages/PartnershipsPage.js +111 -14
  188. package/dist/pages/PartnershipsPage.js.map +1 -1
  189. package/dist/pages/PeoplePage.d.ts.map +1 -1
  190. package/dist/pages/PeoplePage.js +119 -3
  191. package/dist/pages/PeoplePage.js.map +1 -1
  192. package/dist/pages/PersonDetail.d.ts.map +1 -1
  193. package/dist/pages/PersonDetail.js +67 -5
  194. package/dist/pages/PersonDetail.js.map +1 -1
  195. package/dist/pages/PlanningPage.d.ts.map +1 -1
  196. package/dist/pages/PlanningPage.js +88 -17
  197. package/dist/pages/PlanningPage.js.map +1 -1
  198. package/dist/pages/RaiseDetail.d.ts.map +1 -1
  199. package/dist/pages/RaiseDetail.js +13 -1
  200. package/dist/pages/RaiseDetail.js.map +1 -1
  201. package/dist/pages/RoleDetail.d.ts.map +1 -1
  202. package/dist/pages/RoleDetail.js +5 -4
  203. package/dist/pages/RoleDetail.js.map +1 -1
  204. package/dist/pages/SearchPage.d.ts.map +1 -1
  205. package/dist/pages/SearchPage.js +1 -0
  206. package/dist/pages/SearchPage.js.map +1 -1
  207. package/dist/pages/admin/DataPage.d.ts.map +1 -1
  208. package/dist/pages/admin/DataPage.js +126 -13
  209. package/dist/pages/admin/DataPage.js.map +1 -1
  210. package/dist/pages/admin/FieldsPage.d.ts +2 -0
  211. package/dist/pages/admin/FieldsPage.d.ts.map +1 -0
  212. package/dist/pages/admin/FieldsPage.js +164 -0
  213. package/dist/pages/admin/FieldsPage.js.map +1 -0
  214. package/dist/pages/admin/PrivacyPage.d.ts +9 -0
  215. package/dist/pages/admin/PrivacyPage.d.ts.map +1 -0
  216. package/dist/pages/admin/PrivacyPage.js +170 -0
  217. package/dist/pages/admin/PrivacyPage.js.map +1 -0
  218. package/dist/pages/admin/WebhookDeliveries.d.ts.map +1 -1
  219. package/dist/pages/admin/WebhookDeliveries.js +3 -2
  220. package/dist/pages/admin/WebhookDeliveries.js.map +1 -1
  221. package/dist/pages/admin/WebhooksPage.d.ts.map +1 -1
  222. package/dist/pages/admin/WebhooksPage.js +3 -2
  223. package/dist/pages/admin/WebhooksPage.js.map +1 -1
  224. package/dist/pages/admin/WorkspaceSettingsPage.d.ts.map +1 -1
  225. package/dist/pages/admin/WorkspaceSettingsPage.js +45 -2
  226. package/dist/pages/admin/WorkspaceSettingsPage.js.map +1 -1
  227. package/dist/pages/dashboard/attention.d.ts.map +1 -1
  228. package/dist/pages/dashboard/attention.js +3 -0
  229. package/dist/pages/dashboard/attention.js.map +1 -1
  230. package/dist/pages/forms/AddFieldMenu.d.ts +17 -0
  231. package/dist/pages/forms/AddFieldMenu.d.ts.map +1 -0
  232. package/dist/pages/forms/AddFieldMenu.js +43 -0
  233. package/dist/pages/forms/AddFieldMenu.js.map +1 -0
  234. package/dist/pages/forms/EmbedPanel.d.ts +4 -0
  235. package/dist/pages/forms/EmbedPanel.d.ts.map +1 -1
  236. package/dist/pages/forms/EmbedPanel.js +62 -3
  237. package/dist/pages/forms/EmbedPanel.js.map +1 -1
  238. package/dist/pages/forms/FieldsEditor.d.ts.map +1 -1
  239. package/dist/pages/forms/FieldsEditor.js +179 -36
  240. package/dist/pages/forms/FieldsEditor.js.map +1 -1
  241. package/dist/pages/forms/FormActions.d.ts +6 -0
  242. package/dist/pages/forms/FormActions.d.ts.map +1 -0
  243. package/dist/pages/forms/FormActions.js +149 -0
  244. package/dist/pages/forms/FormActions.js.map +1 -0
  245. package/dist/pages/forms/FormSettings.d.ts.map +1 -1
  246. package/dist/pages/forms/FormSettings.js +15 -19
  247. package/dist/pages/forms/FormSettings.js.map +1 -1
  248. package/dist/pages/forms/SubmissionDetail.d.ts +2 -0
  249. package/dist/pages/forms/SubmissionDetail.d.ts.map +1 -0
  250. package/dist/pages/forms/SubmissionDetail.js +76 -0
  251. package/dist/pages/forms/SubmissionDetail.js.map +1 -0
  252. package/dist/pages/forms/SubmissionsTable.d.ts.map +1 -1
  253. package/dist/pages/forms/SubmissionsTable.js +57 -8
  254. package/dist/pages/forms/SubmissionsTable.js.map +1 -1
  255. package/dist/pages/forms/fieldList.d.ts +11 -5
  256. package/dist/pages/forms/fieldList.d.ts.map +1 -1
  257. package/dist/pages/forms/fieldList.js +66 -6
  258. package/dist/pages/forms/fieldList.js.map +1 -1
  259. package/dist/pages/forms/template.d.ts +17 -0
  260. package/dist/pages/forms/template.d.ts.map +1 -1
  261. package/dist/pages/forms/template.js +93 -0
  262. package/dist/pages/forms/template.js.map +1 -1
  263. package/dist/pages/handbook/HandbookPage.js +1 -1
  264. package/dist/pages/hiringDirectory.js +2 -2
  265. package/dist/pages/onboarding/WorkspaceStepPage.d.ts.map +1 -1
  266. package/dist/pages/onboarding/WorkspaceStepPage.js +15 -2
  267. package/dist/pages/onboarding/WorkspaceStepPage.js.map +1 -1
  268. package/dist/pages/positionDirectory.js +2 -2
  269. package/package.json +2 -2
  270. package/src/api/resource.ts +155 -32
  271. package/src/api/resources/companies.ts +7 -1
  272. package/src/api/resources/consentPurposes.ts +83 -0
  273. package/src/api/resources/customFields.ts +88 -0
  274. package/src/api/resources/decisions.ts +3 -0
  275. package/src/api/resources/emailDomainLinker.ts +43 -0
  276. package/src/api/resources/enquiries.ts +118 -0
  277. package/src/api/resources/forms.ts +59 -19
  278. package/src/api/resources/handbookPages.ts +1 -1
  279. package/src/api/resources/importJobs.ts +9 -0
  280. package/src/api/resources/listMembers.ts +173 -0
  281. package/src/api/resources/lists.ts +61 -0
  282. package/src/api/resources/opportunities.ts +3 -0
  283. package/src/api/resources/people.ts +4 -1
  284. package/src/api/resources/roles.ts +3 -1
  285. package/src/api/resources/sampleData.ts +57 -0
  286. package/src/api/resources/webhooks.ts +8 -24
  287. package/src/app/KelpieApp.tsx +16 -0
  288. package/src/components/ActivitiesPanel.tsx +3 -10
  289. package/src/components/ColumnPicker.tsx +124 -0
  290. package/src/components/CustomFieldsPanel.tsx +330 -0
  291. package/src/components/DataTable.tsx +89 -10
  292. package/src/components/DecisionsPanel.tsx +4 -12
  293. package/src/components/EntitySearch.tsx +12 -5
  294. package/src/components/FormsPanel.tsx +86 -0
  295. package/src/components/ListsPanel.tsx +176 -0
  296. package/src/components/NotesPanel.tsx +6 -14
  297. package/src/components/Paginator.tsx +78 -0
  298. package/src/components/PlanAttention.tsx +20 -3
  299. package/src/components/PlanPanel.tsx +2 -10
  300. package/src/components/Shell.tsx +4 -0
  301. package/src/components/useHasCustomFields.ts +18 -0
  302. package/src/index.ts +10 -1
  303. package/src/lib/listView.ts +149 -0
  304. package/src/lib/sort.ts +143 -0
  305. package/src/pages/CompaniesPage.tsx +125 -11
  306. package/src/pages/CompanyDetail.tsx +98 -63
  307. package/src/pages/DealDetail.tsx +34 -0
  308. package/src/pages/DealsPage.tsx +178 -24
  309. package/src/pages/DecisionsPage.tsx +75 -18
  310. package/src/pages/EnquiriesPage.tsx +434 -0
  311. package/src/pages/EnquiryDetail.tsx +554 -0
  312. package/src/pages/EnquiryStageSettingsPage.tsx +63 -0
  313. package/src/pages/FormDetail.tsx +23 -1
  314. package/src/pages/FormsPage.tsx +81 -17
  315. package/src/pages/FundraisingPage.tsx +152 -24
  316. package/src/pages/HiringPage.tsx +39 -11
  317. package/src/pages/ListDetail.tsx +470 -0
  318. package/src/pages/ListsPage.tsx +281 -0
  319. package/src/pages/OpportunitiesPage.tsx +130 -24
  320. package/src/pages/OpportunityDetail.tsx +168 -2
  321. package/src/pages/PartnershipDetail.tsx +35 -0
  322. package/src/pages/PartnershipsPage.tsx +149 -24
  323. package/src/pages/PeoplePage.tsx +157 -11
  324. package/src/pages/PersonDetail.tsx +157 -6
  325. package/src/pages/PlanningPage.tsx +259 -29
  326. package/src/pages/RaiseDetail.tsx +24 -0
  327. package/src/pages/RoleDetail.tsx +21 -26
  328. package/src/pages/SearchPage.tsx +1 -0
  329. package/src/pages/admin/DataPage.tsx +324 -13
  330. package/src/pages/admin/FieldsPage.tsx +455 -0
  331. package/src/pages/admin/PrivacyPage.tsx +461 -0
  332. package/src/pages/admin/WebhookDeliveries.tsx +10 -15
  333. package/src/pages/admin/WebhooksPage.tsx +14 -19
  334. package/src/pages/admin/WorkspaceSettingsPage.tsx +134 -2
  335. package/src/pages/dashboard/attention.ts +3 -0
  336. package/src/pages/forms/AddFieldMenu.tsx +121 -0
  337. package/src/pages/forms/EmbedPanel.tsx +163 -2
  338. package/src/pages/forms/FieldsEditor.tsx +539 -165
  339. package/src/pages/forms/FormActions.tsx +552 -0
  340. package/src/pages/forms/FormSettings.tsx +29 -70
  341. package/src/pages/forms/SubmissionDetail.tsx +249 -0
  342. package/src/pages/forms/SubmissionsTable.tsx +112 -26
  343. package/src/pages/forms/fieldList.ts +68 -5
  344. package/src/pages/forms/template.ts +103 -0
  345. package/src/pages/handbook/HandbookPage.tsx +1 -1
  346. package/src/pages/hiringDirectory.ts +2 -2
  347. package/src/pages/onboarding/WorkspaceStepPage.tsx +31 -3
  348. package/src/pages/positionDirectory.ts +2 -2
  349. package/src/styles.css +3 -3
@@ -11,14 +11,42 @@ import type { Decoder, QueryParameters } from './client.ts';
11
11
  * `@tanstack/react-query` directly. That is deliberate: it keeps page code short
12
12
  * and leaves the cache library replaceable without touching a page.
13
13
  */
14
- /** A list, one page at a time. Nothing is truncated in silence: `hasMore` says so. */
15
- export interface RecordListResult<TRecord> {
14
+ /**
15
+ * The default page size when a caller does not name one via `query.limit`.
16
+ * Matches the `/v1` default from `api.md`.
17
+ */
18
+ export declare const DEFAULT_PAGE_SIZE = 50;
19
+ /**
20
+ * The pagination controls a list surface renders. Split out from
21
+ * `RecordListResult` so the `Paginator` component can accept just this subset
22
+ * and stay generic in the record type.
23
+ */
24
+ export interface Paged {
25
+ /** Zero-based index of the page currently on screen. */
26
+ readonly pageIndex: number;
27
+ /** Number of records the API returns per page, from `?limit=`. */
28
+ readonly pageSize: number;
29
+ readonly hasPrev: boolean;
30
+ readonly hasNext: boolean;
31
+ /** True while fetching a not-yet-cached page. Prev on a cached page is instant. */
32
+ readonly isChangingPage: boolean;
33
+ readonly prevPage: () => void;
34
+ readonly nextPage: () => void;
35
+ /**
36
+ * Changes the API `?limit=` and returns the reader to page 1. The API caps
37
+ * `?limit=` at 200 (`api.md`); a larger value is coerced by the server, not
38
+ * refused by this hook.
39
+ */
40
+ readonly setPageSize: (size: number) => void;
41
+ }
42
+ /**
43
+ * A list, one page at a time. Records are the current page only, not the
44
+ * accumulation across pages a `Load more` reader would give.
45
+ */
46
+ export interface RecordListResult<TRecord> extends Paged {
16
47
  readonly records: readonly TRecord[];
17
48
  readonly isLoading: boolean;
18
49
  readonly error: Error | null;
19
- readonly hasMore: boolean;
20
- readonly isLoadingMore: boolean;
21
- readonly loadMore: () => void;
22
50
  }
23
51
  export interface RecordResult<TRecord> {
24
52
  readonly record: TRecord | undefined;
@@ -82,6 +110,31 @@ export interface ResourceDefinition<TRecord, TCreateInput, TUpdateInput> extends
82
110
  */
83
111
  readonly alsoInvalidates?: readonly string[];
84
112
  }
113
+ export interface PagedListInput<TRecord> {
114
+ /**
115
+ * The React Query cache key for this list, without `?limit=`. `usePagedList`
116
+ * appends the current page size so the cache splits by size — swapping page
117
+ * sizes has to fetch, or the cursors from one size would page a list saved
118
+ * under another.
119
+ */
120
+ readonly queryKey: readonly unknown[];
121
+ readonly path: string;
122
+ readonly decode: Decoder<TRecord>;
123
+ /** Query parameters other than `limit` and `cursor`. `usePagedList` sends both itself. */
124
+ readonly query: QueryParameters;
125
+ readonly enabled?: boolean;
126
+ }
127
+ /**
128
+ * The paged reader every list hook uses: `createResourceHooks`'s `useList`,
129
+ * and the three custom collections whose paths carry a parent id
130
+ * (`useFormSubmissions`, `useListMembers`, `useWebhookDeliveries`).
131
+ *
132
+ * The API is cursor-only (`api.md`), so pages are fetched forward. Already
133
+ * fetched pages stay cached in `useInfiniteQuery`, and `pageIndex` selects
134
+ * which one is on screen — so going back to a visited page is instant and
135
+ * going forward past the fetched set kicks off exactly one new request.
136
+ */
137
+ export declare function usePagedList<TRecord>(input: PagedListInput<TRecord>): RecordListResult<TRecord>;
85
138
  /**
86
139
  * The read half: `useList` and `useRecord`, and nothing that writes.
87
140
  *
@@ -92,7 +145,7 @@ export interface ResourceDefinition<TRecord, TCreateInput, TUpdateInput> extends
92
145
  export declare function createReadOnlyResourceHooks<TRecord>(definition: ReadOnlyResourceDefinition<TRecord>): ReadOnlyResourceHooks<TRecord>;
93
146
  export declare function createResourceHooks<TRecord extends {
94
147
  readonly id: string;
95
- }, TCreateInput, TUpdateInput extends Partial<TRecord>>(definition: ResourceDefinition<TRecord, TCreateInput, TUpdateInput>): ResourceHooks<TRecord, TCreateInput, TUpdateInput>;
148
+ }, TCreateInput, TUpdateInput extends object>(definition: ResourceDefinition<TRecord, TCreateInput, TUpdateInput>): ResourceHooks<TRecord, TCreateInput, TUpdateInput>;
96
149
  /**
97
150
  * Binds a resource's `useUpdate` hook to one record's id, for a detail page's
98
151
  * inline edits.
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/api/resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/api/resource.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,25 @@
1
1
  import { keepPreviousData, useInfiniteQuery, useMutation, useQuery, useQueryClient, } from '@tanstack/react-query';
2
+ import { useEffect, useState } from 'react';
2
3
  import { ApiError } from './client.js';
3
4
  import { useApiClient } from './context.js';
4
5
  import { toError } from './errors.js';
6
+ /**
7
+ * The read and write hooks for one `/v1` collection.
8
+ *
9
+ * Every CRM resource is the same five operations over the same list envelope,
10
+ * so they are built once here and configured per resource. A resource module
11
+ * supplies its path, its decoder, and its two body builders; it writes no cache
12
+ * handling of its own.
13
+ *
14
+ * Pages see the three result types below and never import from
15
+ * `@tanstack/react-query` directly. That is deliberate: it keeps page code short
16
+ * and leaves the cache library replaceable without touching a page.
17
+ */
18
+ /**
19
+ * The default page size when a caller does not name one via `query.limit`.
20
+ * Matches the `/v1` default from `api.md`.
21
+ */
22
+ export const DEFAULT_PAGE_SIZE = 50;
5
23
  function keysFor(name) {
6
24
  return {
7
25
  all: [name],
@@ -51,6 +69,89 @@ function removeRecordEverywhere(queryClient, keys, id) {
51
69
  })),
52
70
  });
53
71
  }
72
+ /**
73
+ * The paged reader every list hook uses: `createResourceHooks`'s `useList`,
74
+ * and the three custom collections whose paths carry a parent id
75
+ * (`useFormSubmissions`, `useListMembers`, `useWebhookDeliveries`).
76
+ *
77
+ * The API is cursor-only (`api.md`), so pages are fetched forward. Already
78
+ * fetched pages stay cached in `useInfiniteQuery`, and `pageIndex` selects
79
+ * which one is on screen — so going back to a visited page is instant and
80
+ * going forward past the fetched set kicks off exactly one new request.
81
+ */
82
+ export function usePagedList(input) {
83
+ const client = useApiClient();
84
+ const enabled = input.enabled ?? true;
85
+ const requestedLimit = input.query.limit;
86
+ const initialPageSize = typeof requestedLimit === 'number' && Number.isFinite(requestedLimit) && requestedLimit > 0
87
+ ? requestedLimit
88
+ : DEFAULT_PAGE_SIZE;
89
+ const [pageSize, setPageSize] = useState(initialPageSize);
90
+ const [pageIndex, setPageIndex] = useState(0);
91
+ const queryKey = [...input.queryKey, { limit: pageSize }];
92
+ const queryKeySignature = JSON.stringify(queryKey);
93
+ // A filter or sort change lands as a fresh `useInfiniteQuery`, so the page
94
+ // number the user was on no longer makes sense. Effect over signature keeps
95
+ // this cheap: same key, no re-render.
96
+ useEffect(() => {
97
+ setPageIndex(0);
98
+ }, [queryKeySignature]);
99
+ const result = useInfiniteQuery({
100
+ queryKey,
101
+ queryFn: ({ pageParam }) => client.list(input.path, input.decode, {
102
+ ...input.query,
103
+ limit: pageSize,
104
+ ...(pageParam === null ? {} : { cursor: pageParam }),
105
+ }),
106
+ initialPageParam: null,
107
+ getNextPageParam: (lastPage) => lastPage.nextCursor,
108
+ // Without this a keystroke in the filter box blanks the table while the
109
+ // next query runs, which reads as "no results" for as long as it takes.
110
+ placeholderData: keepPreviousData,
111
+ enabled,
112
+ });
113
+ const pages = result.data?.pages ?? [];
114
+ // A shrinking cache — a delete followed by a refetch — can leave the index
115
+ // past the last page. Clamp so a stale index never renders a blank table.
116
+ const safeIndex = pages.length === 0 ? 0 : Math.min(pageIndex, pages.length - 1);
117
+ const currentPage = pages[safeIndex];
118
+ const hasCachedNext = safeIndex + 1 < pages.length;
119
+ const hasNext = hasCachedNext || result.hasNextPage;
120
+ const hasPrev = safeIndex > 0;
121
+ return {
122
+ records: currentPage?.items ?? [],
123
+ // A disabled query stays pending forever, which is not the same as loading.
124
+ isLoading: result.isPending && enabled,
125
+ error: toError(result.error),
126
+ pageIndex: safeIndex,
127
+ pageSize,
128
+ hasPrev,
129
+ hasNext,
130
+ isChangingPage: result.isFetchingNextPage,
131
+ prevPage: () => {
132
+ setPageIndex((current) => Math.max(0, current - 1));
133
+ },
134
+ nextPage: () => {
135
+ if (hasCachedNext) {
136
+ setPageIndex((current) => current + 1);
137
+ return;
138
+ }
139
+ if (!result.hasNextPage) {
140
+ return;
141
+ }
142
+ void result.fetchNextPage().then((r) => {
143
+ if (r.error === null) {
144
+ setPageIndex((current) => current + 1);
145
+ }
146
+ });
147
+ },
148
+ // Query key includes `limit`, so the effect above resets `pageIndex` to 0
149
+ // once React sees the new key.
150
+ setPageSize: (size) => {
151
+ setPageSize(size);
152
+ },
153
+ };
154
+ }
54
155
  /**
55
156
  * The read half: `useList` and `useRecord`, and nothing that writes.
56
157
  *
@@ -61,32 +162,13 @@ function removeRecordEverywhere(queryClient, keys, id) {
61
162
  export function createReadOnlyResourceHooks(definition) {
62
163
  const keys = keysFor(definition.name);
63
164
  function useList(query = {}, options = {}) {
64
- const client = useApiClient();
65
- const enabled = options.enabled ?? true;
66
- const result = useInfiniteQuery({
165
+ return usePagedList({
67
166
  queryKey: keys.list(query),
68
- queryFn: ({ pageParam }) => client.list(definition.path, definition.decode, {
69
- ...query,
70
- ...(pageParam === null ? {} : { cursor: pageParam }),
71
- }),
72
- initialPageParam: null,
73
- getNextPageParam: (lastPage) => lastPage.nextCursor,
74
- // Without this a keystroke in the filter box blanks the table while the
75
- // next query runs, which reads as "no results" for as long as it takes.
76
- placeholderData: keepPreviousData,
77
- enabled,
167
+ path: definition.path,
168
+ decode: definition.decode,
169
+ query,
170
+ enabled: options.enabled ?? true,
78
171
  });
79
- return {
80
- records: result.data?.pages.flatMap((page) => page.items) ?? [],
81
- // A disabled query stays pending forever, which is not the same as loading.
82
- isLoading: result.isPending && enabled,
83
- error: toError(result.error),
84
- hasMore: result.hasNextPage,
85
- isLoadingMore: result.isFetchingNextPage,
86
- loadMore: () => {
87
- void result.fetchNextPage();
88
- },
89
- };
90
172
  }
91
173
  function useRecord(id) {
92
174
  const client = useApiClient();
@@ -1 +1 @@
1
- {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/api/resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/api/resource.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export interface CompanyFilters {
10
10
  readonly term?: string | undefined;
11
11
  /** Companies where any of these people holds a position. Repeats on the wire. */
12
12
  readonly personIds?: readonly string[] | undefined;
13
+ /** true = only the workspace's own companies; false = only the rest. */
14
+ readonly isOwn?: boolean | undefined;
13
15
  readonly limit?: number | undefined;
14
16
  /** `field` ascending, `-field` descending. Only `name`, `created_at`, `updated_at` are sortable. */
15
17
  readonly sort?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"companies.d.ts","sourceRoot":"","sources":["../../../src/api/resources/companies.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAI5D,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAEvB,gFAAgF;AAEhF,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAaD,qDAAqD;AACrD,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,oGAAoG;IACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAWD,wBAAgB,YAAY,CAC1B,OAAO,GAAE,cAAmB,EAC5B,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,OAAO,CAAC,CAE3B;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAExE;AAED,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAE9E;AAED,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAEzF;AAED,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAE/D"}
1
+ {"version":3,"file":"companies.d.ts","sourceRoot":"","sources":["../../../src/api/resources/companies.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAI5D,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAEvB,gFAAgF;AAEhF,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAgBD,qDAAqD;AACrD,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAClD,wEAAwE;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,oGAAoG;IACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAYD,wBAAgB,YAAY,CAC1B,OAAO,GAAE,cAAmB,EAC5B,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,OAAO,CAAC,CAE3B;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAExE;AAED,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAE9E;AAED,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAEzF;AAED,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAE/D"}
@@ -8,12 +8,16 @@ const companies = createResourceHooks({
8
8
  updateBody: companyBody,
9
9
  // Every write here emits an activity server-side, in the same transaction, so
10
10
  // a timeline rendered on this record is stale the moment the write lands.
11
- alsoInvalidates: ['activities'],
11
+ // Creating or renaming a domain may also auto-link Positions to workspace
12
+ // people whose email is at it, which changes position lists and the
13
+ // `?company_id=` people list that names the far side of each new row.
14
+ alsoInvalidates: ['activities', 'positions', 'people'],
12
15
  });
13
16
  function companyQuery(filters) {
14
17
  return {
15
18
  q: filters.term,
16
19
  person_id: filters.personIds,
20
+ is_own: filters.isOwn === undefined ? undefined : String(filters.isOwn),
17
21
  limit: filters.limit,
18
22
  sort: filters.sort,
19
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"companies.js","sourceRoot":"","sources":["../../../src/api/resources/companies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAI5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAepD,MAAM,SAAS,GAAG,mBAAmB,CAA4C;IAC/E,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,aAAa,CAAC,KAAK;IAC3B,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,WAAW;IACvB,8EAA8E;IAC9E,0EAA0E;IAC1E,eAAe,EAAE,CAAC,YAAY,CAAC;CAChC,CAAC,CAAA;AAaF,SAAS,YAAY,CAAC,OAAuB;IAC3C,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,IAAI;QACf,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,OAAO,GAAmB,EAAE,EAC5B,OAAO,GAAgB,EAAE;IAEzB,OAAO,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAsB;IAC/C,OAAO,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC"}
1
+ {"version":3,"file":"companies.js","sourceRoot":"","sources":["../../../src/api/resources/companies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAI5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAepD,MAAM,SAAS,GAAG,mBAAmB,CAA4C;IAC/E,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,aAAa,CAAC,KAAK;IAC3B,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,WAAW;IACvB,8EAA8E;IAC9E,0EAA0E;IAC1E,0EAA0E;IAC1E,oEAAoE;IACpE,sEAAsE;IACtE,eAAe,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC;CACvD,CAAC,CAAA;AAeF,SAAS,YAAY,CAAC,OAAuB;IAC3C,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,IAAI;QACf,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QACvE,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,OAAO,GAAmB,EAAE,EAC5B,OAAO,GAAgB,EAAE;IAEzB,OAAO,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAsB;IAC/C,OAAO,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { ConsentPurpose, ConsentPurposeInput, CreateConsentPurposeInput } from '@kelpie/schemas';
2
+ import type { ListOptions, MutationResult, RecordListResult, RecordResult, UpdateArguments } from '../resource.ts';
3
+ export interface ConsentPurposeFilters {
4
+ readonly term?: string | undefined;
5
+ readonly limit?: number | undefined;
6
+ readonly sort?: string | undefined;
7
+ }
8
+ export declare function useConsentPurposes(filters?: ConsentPurposeFilters, options?: ListOptions): RecordListResult<ConsentPurpose>;
9
+ export declare function useConsentPurpose(id: string | undefined): RecordResult<ConsentPurpose>;
10
+ export declare function useCreateConsentPurpose(): MutationResult<CreateConsentPurposeInput, ConsentPurpose>;
11
+ export declare function useUpdateConsentPurpose(): MutationResult<UpdateArguments<ConsentPurposeInput>, ConsentPurpose>;
12
+ export declare function useDeleteConsentPurpose(): MutationResult<string, void>;
13
+ //# sourceMappingURL=consentPurposes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consentPurposes.d.ts","sourceRoot":"","sources":["../../../src/api/resources/consentPurposes.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,iBAAiB,CAAA;AAIxB,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAsBvB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAUD,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,qBAA0B,EACnC,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,cAAc,CAAC,CAElC;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,CAEtF;AAED,wBAAgB,uBAAuB,IAAI,cAAc,CACvD,yBAAyB,EACzB,cAAc,CACf,CAEA;AAED,wBAAgB,uBAAuB,IAAI,cAAc,CACvD,eAAe,CAAC,mBAAmB,CAAC,EACpC,cAAc,CACf,CAEA;AAED,wBAAgB,uBAAuB,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAEtE"}
@@ -0,0 +1,39 @@
1
+ import { consentPurposeBody, consentPurposeSchema, createConsentPurposeBody, } from '@kelpie/schemas';
2
+ import { createResourceHooks } from '../resource.js';
3
+ /**
4
+ * `/v1/consent_purposes`. Workspace-defined consent purposes.
5
+ *
6
+ * Every capture site — form consent fields, lists, imports, the manual
7
+ * override on a Person — names one of these. Reads are open to any member;
8
+ * writes need the admin role, enforced server-side.
9
+ */
10
+ const consentPurposes = createResourceHooks({
11
+ name: 'consent_purposes',
12
+ path: '/consent_purposes',
13
+ decode: consentPurposeSchema.parse,
14
+ createBody: createConsentPurposeBody,
15
+ updateBody: consentPurposeBody,
16
+ });
17
+ function consentPurposeQuery(filters) {
18
+ return {
19
+ q: filters.term,
20
+ limit: filters.limit,
21
+ sort: filters.sort,
22
+ };
23
+ }
24
+ export function useConsentPurposes(filters = {}, options = {}) {
25
+ return consentPurposes.useList(consentPurposeQuery(filters), options);
26
+ }
27
+ export function useConsentPurpose(id) {
28
+ return consentPurposes.useRecord(id);
29
+ }
30
+ export function useCreateConsentPurpose() {
31
+ return consentPurposes.useCreate();
32
+ }
33
+ export function useUpdateConsentPurpose() {
34
+ return consentPurposes.useUpdate();
35
+ }
36
+ export function useDeleteConsentPurpose() {
37
+ return consentPurposes.useRemove();
38
+ }
39
+ //# sourceMappingURL=consentPurposes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consentPurposes.js","sourceRoot":"","sources":["../../../src/api/resources/consentPurposes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,iBAAiB,CAAA;AAQxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AASpD;;;;;;GAMG;AAEH,MAAM,eAAe,GAAG,mBAAmB,CAIzC;IACA,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,oBAAoB,CAAC,KAAK;IAClC,UAAU,EAAE,wBAAwB;IACpC,UAAU,EAAE,kBAAkB;CAC/B,CAAC,CAAA;AAQF,SAAS,mBAAmB,CAAC,OAA8B;IACzD,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,IAAI;QACf,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAO,GAA0B,EAAE,EACnC,OAAO,GAAgB,EAAE;IAEzB,OAAO,eAAe,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAsB;IACtD,OAAO,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,uBAAuB;IAIrC,OAAO,eAAe,CAAC,SAAS,EAAE,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,uBAAuB;IAIrC,OAAO,eAAe,CAAC,SAAS,EAAE,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,eAAe,CAAC,SAAS,EAAE,CAAA;AACpC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { CreateCustomFieldDefinitionInput, CustomFieldDefinition, CustomFieldDefinitionInput, CustomFieldObjectType } from '@kelpie/schemas';
2
+ import type { ListOptions, MutationResult, RecordListResult, RecordResult, UpdateArguments } from '../resource.ts';
3
+ /** The documented filters on `GET /v1/custom_fields`. */
4
+ export interface CustomFieldFilters {
5
+ readonly term?: string | undefined;
6
+ readonly objectType?: CustomFieldObjectType | undefined;
7
+ readonly limit?: number | undefined;
8
+ readonly sort?: string | undefined;
9
+ }
10
+ export declare function useCustomFields(filters?: CustomFieldFilters, options?: ListOptions): RecordListResult<CustomFieldDefinition>;
11
+ export declare function useCustomField(id: string | undefined): RecordResult<CustomFieldDefinition>;
12
+ export declare function useCreateCustomField(): MutationResult<CreateCustomFieldDefinitionInput, CustomFieldDefinition>;
13
+ export declare function useUpdateCustomField(): MutationResult<UpdateArguments<CustomFieldDefinitionInput>, CustomFieldDefinition>;
14
+ export declare function useDeleteCustomField(): MutationResult<string, void>;
15
+ //# sourceMappingURL=customFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customFields.d.ts","sourceRoot":"","sources":["../../../src/api/resources/customFields.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,gCAAgC,EAChC,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,iBAAiB,CAAA;AAIxB,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAuBvB,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAA;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAWD,wBAAgB,eAAe,CAC7B,OAAO,GAAE,kBAAuB,EAChC,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,qBAAqB,CAAC,CAEzC;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAE1F;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CACpD,gCAAgC,EAChC,qBAAqB,CACtB,CAEA;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CACpD,eAAe,CAAC,0BAA0B,CAAC,EAC3C,qBAAqB,CACtB,CAEA;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAEnE"}
@@ -0,0 +1,41 @@
1
+ import { createCustomFieldDefinitionBody, customFieldDefinitionBody, customFieldDefinitionSchema, } from '@kelpie/schemas';
2
+ import { createResourceHooks } from '../resource.js';
3
+ /**
4
+ * `/v1/custom_fields`. Workspace-defined field definitions.
5
+ *
6
+ * A record's `custom_fields` values live on that record's own resource — this
7
+ * hook family manages only the definitions. `alsoInvalidates` wakes every
8
+ * pipeline record list because a new definition changes what shows up on their
9
+ * detail pages.
10
+ */
11
+ const customFields = createResourceHooks({
12
+ name: 'custom_fields',
13
+ path: '/custom_fields',
14
+ decode: customFieldDefinitionSchema.parse,
15
+ createBody: createCustomFieldDefinitionBody,
16
+ updateBody: customFieldDefinitionBody,
17
+ });
18
+ function customFieldQuery(filters) {
19
+ return {
20
+ q: filters.term,
21
+ object_type: filters.objectType,
22
+ limit: filters.limit,
23
+ sort: filters.sort,
24
+ };
25
+ }
26
+ export function useCustomFields(filters = {}, options = {}) {
27
+ return customFields.useList(customFieldQuery(filters), options);
28
+ }
29
+ export function useCustomField(id) {
30
+ return customFields.useRecord(id);
31
+ }
32
+ export function useCreateCustomField() {
33
+ return customFields.useCreate();
34
+ }
35
+ export function useUpdateCustomField() {
36
+ return customFields.useUpdate();
37
+ }
38
+ export function useDeleteCustomField() {
39
+ return customFields.useRemove();
40
+ }
41
+ //# sourceMappingURL=customFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customFields.js","sourceRoot":"","sources":["../../../src/api/resources/customFields.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAA;AASxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AASpD;;;;;;;GAOG;AAEH,MAAM,YAAY,GAAG,mBAAmB,CAItC;IACA,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,2BAA2B,CAAC,KAAK;IACzC,UAAU,EAAE,+BAA+B;IAC3C,UAAU,EAAE,yBAAyB;CACtC,CAAC,CAAA;AAUF,SAAS,gBAAgB,CAAC,OAA2B;IACnD,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,IAAI;QACf,WAAW,EAAE,OAAO,CAAC,UAAU;QAC/B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAO,GAAuB,EAAE,EAChC,OAAO,GAAgB,EAAE;IAEzB,OAAO,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAsB;IACnD,OAAO,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAIlC,OAAO,YAAY,CAAC,SAAS,EAAE,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAIlC,OAAO,YAAY,CAAC,SAAS,EAAE,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,YAAY,CAAC,SAAS,EAAE,CAAA;AACjC,CAAC"}
@@ -5,6 +5,8 @@ export interface DecisionFilters {
5
5
  readonly targetId?: string | undefined;
6
6
  /** Matches the body, the rationale, the target type, and the target's name. */
7
7
  readonly term?: string | undefined;
8
+ /** `field` ascending, `-field` descending. Only `decided_at`, `created_at`, `updated_at` are sortable. */
9
+ readonly sort?: string | undefined;
8
10
  }
9
11
  export declare function useDecisions(filters?: DecisionFilters): RecordListResult<Decision>;
10
12
  export declare function useCreateDecision(): MutationResult<CreateDecisionInput, Decision>;
@@ -1 +1 @@
1
- {"version":3,"file":"decisions.d.ts","sourceRoot":"","sources":["../../../src/api/resources/decisions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,QAAQ,EACR,aAAa,EACb,gBAAgB,EACjB,MAAM,iBAAiB,CAAA;AAIxB,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAoBvF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAUD,wBAAgB,YAAY,CAAC,OAAO,GAAE,eAAoB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAEtF;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAEjF;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,CAE5F;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAEhE"}
1
+ {"version":3,"file":"decisions.d.ts","sourceRoot":"","sources":["../../../src/api/resources/decisions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,QAAQ,EACR,aAAa,EACb,gBAAgB,EACjB,MAAM,iBAAiB,CAAA;AAIxB,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAoBvF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,0GAA0G;IAC1G,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAWD,wBAAgB,YAAY,CAAC,OAAO,GAAE,eAAoB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAEtF;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAEjF;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,CAE5F;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAEhE"}
@@ -21,6 +21,7 @@ function decisionQuery(filters) {
21
21
  target_type: filters.targetType,
22
22
  target_id: filters.targetId,
23
23
  q: filters.term,
24
+ sort: filters.sort,
24
25
  };
25
26
  }
26
27
  export function useDecisions(filters = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../../src/api/resources/decisions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AASlF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAGpD;;;;;;;;GAQG;AAEH,MAAM,SAAS,GAAG,mBAAmB,CAA+C;IAClF,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,cAAc,CAAC,KAAK;IAC5B,UAAU,EAAE,kBAAkB;IAC9B,UAAU,EAAE,YAAY;CACzB,CAAC,CAAA;AASF,SAAS,aAAa,CAAC,OAAwB;IAC7C,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,UAAU;QAC/B,SAAS,EAAE,OAAO,CAAC,QAAQ;QAC3B,CAAC,EAAE,OAAO,CAAC,IAAI;KAChB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAO,GAAoB,EAAE;IACxD,OAAO,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC"}
1
+ {"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../../src/api/resources/decisions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AASlF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAGpD;;;;;;;;GAQG;AAEH,MAAM,SAAS,GAAG,mBAAmB,CAA+C;IAClF,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,cAAc,CAAC,KAAK;IAC5B,UAAU,EAAE,kBAAkB;IAC9B,UAAU,EAAE,YAAY;CACzB,CAAC,CAAA;AAWF,SAAS,aAAa,CAAC,OAAwB;IAC7C,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,UAAU;QAC/B,SAAS,EAAE,OAAO,CAAC,QAAQ;QAC3B,CAAC,EAAE,OAAO,CAAC,IAAI;QACf,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAO,GAAoB,EAAE;IACxD,OAAO,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,SAAS,CAAC,SAAS,EAAE,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { RelinkEmailDomainsCounts } from '@kelpie/schemas';
2
+ import type { MutationResult } from '../resource.ts';
3
+ /**
4
+ * `POST /v1/workspaces/:id/relink-email-domains`: sweep every Company that
5
+ * carries a domain and stub a Position for every workspace Person whose email
6
+ * matches. Idempotent — a follow-up run creates no new rows.
7
+ *
8
+ * On success invalidates positions, activities, and the person-scoped /
9
+ * company-scoped list joins so a page open on any of those refreshes with the
10
+ * new links.
11
+ */
12
+ export interface RelinkInput {
13
+ readonly workspaceId: string;
14
+ }
15
+ export declare function useRelinkEmailDomains(): MutationResult<RelinkInput, RelinkEmailDomainsCounts>;
16
+ //# sourceMappingURL=emailDomainLinker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emailDomainLinker.d.ts","sourceRoot":"","sources":["../../../src/api/resources/emailDomainLinker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAI/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAGpD;;;;;;;;GAQG;AAEH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAED,wBAAgB,qBAAqB,IAAI,cAAc,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAoB7F"}
@@ -0,0 +1,16 @@
1
+ import { relinkEmailDomainsCountsSchema } from '@kelpie/schemas';
2
+ import { useMutation, useQueryClient } from '@tanstack/react-query';
3
+ import { useApiClient } from '../context.js';
4
+ import { asMutationResult } from './mutation.js';
5
+ export function useRelinkEmailDomains() {
6
+ const client = useApiClient();
7
+ const cache = useQueryClient();
8
+ const mutation = useMutation({
9
+ mutationFn: ({ workspaceId }) => client.post(`/workspaces/${workspaceId}/relink-email-domains`, {}, relinkEmailDomainsCountsSchema.parse),
10
+ onSuccess: async () => {
11
+ await Promise.all(['positions', 'activities', 'companies', 'people'].map((name) => cache.invalidateQueries({ queryKey: [name] })));
12
+ },
13
+ });
14
+ return asMutationResult(mutation);
15
+ }
16
+ //# sourceMappingURL=emailDomainLinker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emailDomainLinker.js","sourceRoot":"","sources":["../../../src/api/resources/emailDomainLinker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAA;AAEhE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAgBhD,MAAM,UAAU,qBAAqB;IACnC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,KAAK,GAAG,cAAc,EAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,UAAU,EAAE,CAAC,EAAE,WAAW,EAAe,EAAE,EAAE,CAC3C,MAAM,CAAC,IAAI,CACT,eAAe,WAAW,uBAAuB,EACjD,EAAE,EACF,8BAA8B,CAAC,KAAK,CACrC;QACH,SAAS,EAAE,KAAK,IAAI,EAAE;YACpB,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9D,KAAK,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAC9C,CACF,CAAA;QACH,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AACnC,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { Deal, Enquiry, EnquiryInput } from '@kelpie/schemas';
2
+ import type { ListOptions, MutationResult, RecordListResult, RecordResult, UpdateArguments } from '../resource.ts';
3
+ /**
4
+ * `/v1/enquiries`. Top-of-funnel: what a website form or an email drops onto
5
+ * the pipeline before it becomes a deal. Create needs only a name; the API
6
+ * lands the enquiry in the pipeline's first open stage and hands it to the
7
+ * caller as owner.
8
+ */
9
+ export interface CreateEnquiryInput extends EnquiryInput {
10
+ readonly name: string;
11
+ }
12
+ /** The documented filters on `GET /v1/enquiries`. */
13
+ export interface EnquiryFilters {
14
+ /** Matches the enquiry's name, source, summary, tags, and its company's name. */
15
+ readonly term?: string | undefined;
16
+ /** Exact sources ("Website", "Email", …). Repeats on the wire. */
17
+ readonly sources?: readonly string[] | undefined;
18
+ /** Enquiries at any of these companies. Repeats on the wire. */
19
+ readonly companyIds?: readonly string[] | undefined;
20
+ /** Enquiries sitting in any of these stages. Repeats on the wire. */
21
+ readonly stageIds?: readonly string[] | undefined;
22
+ /** Enquiries any of these people are on. Repeats on the wire. */
23
+ readonly personIds?: readonly string[] | undefined;
24
+ readonly limit?: number | undefined;
25
+ /** `field` ascending, `-field` descending. Only `name`, `created_at`, `updated_at` are sortable. */
26
+ readonly sort?: string | undefined;
27
+ }
28
+ export declare function useEnquiries(filters?: EnquiryFilters, options?: ListOptions): RecordListResult<Enquiry>;
29
+ export declare function useEnquiry(id: string | undefined): RecordResult<Enquiry>;
30
+ export declare function useCreateEnquiry(): MutationResult<CreateEnquiryInput, Enquiry>;
31
+ export declare function useUpdateEnquiry(): MutationResult<UpdateArguments<EnquiryInput>, Enquiry>;
32
+ export declare function useDeleteEnquiry(): MutationResult<string, void>;
33
+ /**
34
+ * `POST /v1/enquiries/:id/convert`. Returns the freshly created deal, so the
35
+ * caller can navigate straight to it. 409 if the enquiry has already been
36
+ * converted; 422 if it has no linked company yet.
37
+ */
38
+ export declare function useConvertEnquiry(): MutationResult<string, Deal>;
39
+ //# sourceMappingURL=enquiries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enquiries.d.ts","sourceRoot":"","sources":["../../../src/api/resources/enquiries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAOlE,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAEvB;;;;;GAKG;AAEH,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAaD,qDAAqD;AACrD,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,kEAAkE;IAClE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAChD,gEAAgE;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACnD,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACjD,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,oGAAoG;IACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAcD,wBAAgB,YAAY,CAC1B,OAAO,GAAE,cAAmB,EAC5B,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,OAAO,CAAC,CAE3B;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAExE;AAED,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAE9E;AAED,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAEzF;AAED,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAsBhE"}