@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
@@ -0,0 +1,68 @@
1
+ import { dealSchema, enquiryBody, enquirySchema } from '@kelpie/schemas';
2
+ import { useMutation, useQueryClient } from '@tanstack/react-query';
3
+ import { useApiClient } from '../context.js';
4
+ import { toError } from '../errors.js';
5
+ import { createResourceHooks } from '../resource.js';
6
+ const enquiries = createResourceHooks({
7
+ name: 'enquiries',
8
+ path: '/enquiries',
9
+ decode: enquirySchema.parse,
10
+ createBody: enquiryBody,
11
+ updateBody: enquiryBody,
12
+ // Every write here emits an activity server-side, in the same transaction,
13
+ // so a timeline rendered on this record is stale the moment the write lands.
14
+ alsoInvalidates: ['activities'],
15
+ });
16
+ function enquiryQuery(filters) {
17
+ return {
18
+ q: filters.term,
19
+ source: filters.sources,
20
+ company_id: filters.companyIds,
21
+ stage_id: filters.stageIds,
22
+ person_id: filters.personIds,
23
+ limit: filters.limit,
24
+ sort: filters.sort,
25
+ };
26
+ }
27
+ export function useEnquiries(filters = {}, options = {}) {
28
+ return enquiries.useList(enquiryQuery(filters), options);
29
+ }
30
+ export function useEnquiry(id) {
31
+ return enquiries.useRecord(id);
32
+ }
33
+ export function useCreateEnquiry() {
34
+ return enquiries.useCreate();
35
+ }
36
+ export function useUpdateEnquiry() {
37
+ return enquiries.useUpdate();
38
+ }
39
+ export function useDeleteEnquiry() {
40
+ return enquiries.useRemove();
41
+ }
42
+ /**
43
+ * `POST /v1/enquiries/:id/convert`. Returns the freshly created deal, so the
44
+ * caller can navigate straight to it. 409 if the enquiry has already been
45
+ * converted; 422 if it has no linked company yet.
46
+ */
47
+ export function useConvertEnquiry() {
48
+ const client = useApiClient();
49
+ const queryClient = useQueryClient();
50
+ const mutation = useMutation({
51
+ mutationFn: (id) => client.post(`/enquiries/${id}/convert`, {}, dealSchema.parse),
52
+ onSuccess: () => {
53
+ // The enquiry, deals list, activities on both sides are all stale.
54
+ void queryClient.invalidateQueries({ queryKey: ['enquiries'] });
55
+ void queryClient.invalidateQueries({ queryKey: ['deals'] });
56
+ void queryClient.invalidateQueries({ queryKey: ['activities'] });
57
+ },
58
+ });
59
+ return {
60
+ run: (input) => {
61
+ mutation.mutate(input);
62
+ },
63
+ runAsync: (input) => mutation.mutateAsync(input),
64
+ isPending: mutation.isPending,
65
+ error: toError(mutation.error),
66
+ };
67
+ }
68
+ //# sourceMappingURL=enquiries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enquiries.js","sourceRoot":"","sources":["../../../src/api/resources/enquiries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAExE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGnE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAoBpD,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,2EAA2E;IAC3E,6EAA6E;IAC7E,eAAe,EAAE,CAAC,YAAY,CAAC;CAChC,CAAC,CAAA;AAmBF,SAAS,YAAY,CAAC,OAAuB;IAC3C,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,IAAI;QACf,MAAM,EAAE,OAAO,CAAC,OAAO;QACvB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,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;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,UAAU,EAAE,CAAC,EAAU,EAAE,EAAE,CACzB,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC;QAC/D,SAAS,EAAE,GAAG,EAAE;YACd,mEAAmE;YACnE,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YAC/D,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAC3D,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QAClE,CAAC;KACF,CAAC,CAAA;IAEF,OAAO;QACL,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;YACb,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;QACD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;QAChD,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;KAC/B,CAAA;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { CreateFormInput, Form, FormFieldInput, FormInput, FormSubmission } from '@kelpie/schemas';
1
+ import type { CreateFormInput, Form, FormFieldInput, FormInput, FormSubmission, FormSubmissionLinkTarget } from '@kelpie/schemas';
2
2
  import type { MutationResult, RecordListResult, RecordResult, UpdateArguments } from '../resource.ts';
3
3
  /**
4
4
  * `/v1/forms`: embeddable inbound capture.
@@ -59,9 +59,29 @@ export declare function useDeleteForm(): MutationResult<string, void>;
59
59
  * The result shape is the same, so a page cannot tell the difference.
60
60
  */
61
61
  export declare function useFormSubmissions(formId: string | undefined): RecordListResult<FormSubmission>;
62
+ /**
63
+ * Submissions that touched one record, newest first.
64
+ *
65
+ * Powers the Forms tab on every record type a submission can name (person,
66
+ * company, position, deal, opportunity, partnership, enquiry). Returns an
67
+ * empty page for a record no submission has ever named — the server does no
68
+ * per-target existence check, so a stale id reads the same as a real one.
69
+ */
70
+ export declare function useFormSubmissionsForRecord(targetType: FormSubmissionLinkTarget | undefined, targetId: string | undefined): RecordListResult<FormSubmission>;
71
+ /**
72
+ * One submission on a form.
73
+ *
74
+ * Nested under the form rather than a top-level collection: a submission id is
75
+ * only meaningful with its form (the field labels live there), and the path
76
+ * mirrors the list endpoint above it.
77
+ */
78
+ export declare function useFormSubmission(formId: string | undefined, submissionId: string | undefined): RecordResult<FormSubmission>;
62
79
  /** What a customer pastes into their site, built server-side from the request origin. */
63
80
  export interface EmbedSnippets {
81
+ /** Standalone hosted page (brand chrome). */
64
82
  readonly url: string;
83
+ /** Bare document the iframe snippets load (fields only). */
84
+ readonly embedUrl: string;
65
85
  readonly iframeSnippet: string;
66
86
  readonly scriptSnippet: string;
67
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../../src/api/resources/forms.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,IAAI,EACJ,cAAc,EACd,SAAS,EACT,cAAc,EACf,MAAM,iBAAiB,CAAA;AAcxB,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAEvB;;;;;;;;;;;GAWG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;AAUzD,MAAM,WAAW,WAAW;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;IACjD,oGAAoG;IACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAMD,wBAAgB,QAAQ,CAAC,OAAO,GAAE,WAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAE1E;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAElE;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,CAErE;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAExF;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAA;CAC3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,cAAc,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAsBjF;AAED,uEAAuE;AACvE,wBAAgB,aAAa,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAE5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAwB/F;AAED,yFAAyF;AACzF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAmBD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,mBAAmB,CAa5E"}
1
+ {"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../../src/api/resources/forms.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,IAAI,EACJ,cAAc,EACd,SAAS,EACT,cAAc,EACd,wBAAwB,EACzB,MAAM,iBAAiB,CAAA;AAaxB,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAEvB;;;;;;;;;;;GAWG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;AAUzD,MAAM,WAAW,WAAW;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;IACjD,oGAAoG;IACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAMD,wBAAgB,QAAQ,CAAC,OAAO,GAAE,WAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAE1E;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAElE;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,CAErE;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAExF;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAA;CAC3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,cAAc,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAsBjF;AAED,uEAAuE;AACvE,wBAAgB,aAAa,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAE5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAQ/F;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,wBAAwB,GAAG,SAAS,EAChD,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,gBAAgB,CAAC,cAAc,CAAC,CAQlC;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,YAAY,CAAC,cAAc,CAAC,CAkB9B;AAED,yFAAyF;AACzF,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAqBD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,mBAAmB,CAa5E"}
@@ -1,9 +1,10 @@
1
1
  import { createFormBody, formBody, formSchema, formSubmissionSchema } from '@kelpie/schemas';
2
- import { keepPreviousData, useInfiniteQuery, useMutation, useQuery, useQueryClient, } from '@tanstack/react-query';
2
+ import { useMutation, useQuery, useQueryClient, } from '@tanstack/react-query';
3
3
  import { isRecord } from '../json.js';
4
+ import { ApiError } from '../client.js';
4
5
  import { useApiClient } from '../context.js';
5
6
  import { toError } from '../errors.js';
6
- import { createResourceHooks } from '../resource.js';
7
+ import { createResourceHooks, usePagedList } from '../resource.js';
7
8
  const forms = createResourceHooks({
8
9
  name: 'forms',
9
10
  path: '/forms',
@@ -70,37 +71,63 @@ export function useDeleteForm() {
70
71
  * The result shape is the same, so a page cannot tell the difference.
71
72
  */
72
73
  export function useFormSubmissions(formId) {
73
- const client = useApiClient();
74
- const result = useInfiniteQuery({
74
+ return usePagedList({
75
75
  queryKey: ['forms', 'submissions', formId ?? ''],
76
- queryFn: ({ pageParam }) => client.list(`/forms/${formId ?? ''}/submissions`, formSubmissionSchema.parse, {
77
- ...(pageParam === null ? {} : { cursor: pageParam }),
78
- }),
79
- initialPageParam: null,
80
- getNextPageParam: (lastPage) => lastPage.nextCursor,
81
- placeholderData: keepPreviousData,
76
+ path: `/forms/${formId ?? ''}/submissions`,
77
+ decode: formSubmissionSchema.parse,
78
+ query: {},
82
79
  enabled: formId !== undefined,
83
80
  });
81
+ }
82
+ /**
83
+ * Submissions that touched one record, newest first.
84
+ *
85
+ * Powers the Forms tab on every record type a submission can name (person,
86
+ * company, position, deal, opportunity, partnership, enquiry). Returns an
87
+ * empty page for a record no submission has ever named — the server does no
88
+ * per-target existence check, so a stale id reads the same as a real one.
89
+ */
90
+ export function useFormSubmissionsForRecord(targetType, targetId) {
91
+ return usePagedList({
92
+ queryKey: ['form-submissions', 'by-target', targetType ?? '', targetId ?? ''],
93
+ path: '/form-submissions',
94
+ decode: formSubmissionSchema.parse,
95
+ query: { target_type: targetType, target_id: targetId },
96
+ enabled: targetType !== undefined && targetId !== undefined,
97
+ });
98
+ }
99
+ /**
100
+ * One submission on a form.
101
+ *
102
+ * Nested under the form rather than a top-level collection: a submission id is
103
+ * only meaningful with its form (the field labels live there), and the path
104
+ * mirrors the list endpoint above it.
105
+ */
106
+ export function useFormSubmission(formId, submissionId) {
107
+ const client = useApiClient();
108
+ const result = useQuery({
109
+ queryKey: ['forms', 'submissions', formId ?? '', submissionId ?? ''],
110
+ queryFn: () => client.get(`/forms/${formId ?? ''}/submissions/${submissionId ?? ''}`, formSubmissionSchema.parse),
111
+ enabled: formId !== undefined && submissionId !== undefined,
112
+ });
84
113
  return {
85
- records: result.data?.pages.flatMap((page) => page.items) ?? [],
86
- isLoading: result.isPending && formId !== undefined,
114
+ record: result.data,
115
+ isLoading: result.isPending && formId !== undefined && submissionId !== undefined,
116
+ isNotFound: result.error instanceof ApiError && result.error.status === 404,
87
117
  error: toError(result.error),
88
- hasMore: result.hasNextPage,
89
- isLoadingMore: result.isFetchingNextPage,
90
- loadMore: () => {
91
- void result.fetchNextPage();
92
- },
93
118
  };
94
119
  }
95
120
  function decodeSnippets(value) {
96
121
  if (!isRecord(value) ||
97
122
  typeof value.url !== 'string' ||
123
+ typeof value.embed_url !== 'string' ||
98
124
  typeof value.iframe_snippet !== 'string' ||
99
125
  typeof value.script_snippet !== 'string') {
100
126
  throw new TypeError('Expected an embed snippet response');
101
127
  }
102
128
  return {
103
129
  url: value.url,
130
+ embedUrl: value.embed_url,
104
131
  iframeSnippet: value.iframe_snippet,
105
132
  scriptSnippet: value.script_snippet,
106
133
  };
@@ -1 +1 @@
1
- {"version":3,"file":"forms.js","sourceRoot":"","sources":["../../../src/api/resources/forms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forms.js","sourceRoot":"","sources":["../../../src/api/resources/forms.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export interface HandbookPageFilters {
14
14
  * The same call the kanban board makes for its stages, for the same reason: a
15
15
  * tree cannot be drawn from part of itself, and a page whose parent is on the
16
16
  * next page of results would render at the top level as though somebody had
17
- * moved it there. The caller reads `hasMore` and says so rather than drawing a
17
+ * moved it there. The caller reads `hasNext` and says so rather than drawing a
18
18
  * tree with holes in it.
19
19
  */
20
20
  export declare function useHandbookPages(filters?: HandbookPageFilters): RecordListResult<HandbookPage>;
@@ -20,7 +20,7 @@ function handbookQuery(filters) {
20
20
  * The same call the kanban board makes for its stages, for the same reason: a
21
21
  * tree cannot be drawn from part of itself, and a page whose parent is on the
22
22
  * next page of results would render at the top level as though somebody had
23
- * moved it there. The caller reads `hasMore` and says so rather than drawing a
23
+ * moved it there. The caller reads `hasNext` and says so rather than drawing a
24
24
  * tree with holes in it.
25
25
  */
26
26
  export function useHandbookPages(filters = {}) {
@@ -8,6 +8,11 @@ export interface CreateImportJobInput {
8
8
  /** People import only: what to do with a row naming a company that is not here yet. */
9
9
  readonly onMissingCompany: OnMissingCompany;
10
10
  readonly matchKeyId: string;
11
+ /**
12
+ * People import only: the consent purpose a row's `consent_status` grants.
13
+ * Required whenever the map names `consent_status` or `consent_at`.
14
+ */
15
+ readonly consentPurposeId?: string | null;
11
16
  /**
12
17
  * Absent on the first upload, so the server derives one from the source preset
13
18
  * and the file's own headers. The mapping screen sends the corrected map back
@@ -1 +1 @@
1
- {"version":3,"file":"importJobs.d.ts","sourceRoot":"","sources":["../../../src/api/resources/importJobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,gBAAgB,EACjB,MAAM,iBAAiB,CAAA;AAKxB,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAelE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAA;IACzC,uFAAuF;IACvF,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAA;CACrC;AAyBD,wBAAgB,kBAAkB,IAAI,cAAc,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAgBpF;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAwBpF;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAcjE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAoB5E;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,cAAc,CAC5C;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,EAC3C,WAAW,CACZ,CAqBA;AAED,4DAA4D;AAC5D,wBAAgB,OAAO,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAQnD"}
1
+ {"version":3,"file":"importJobs.d.ts","sourceRoot":"","sources":["../../../src/api/resources/importJobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,gBAAgB,EACjB,MAAM,iBAAiB,CAAA;AAKxB,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAelE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAA;IACzC,uFAAuF;IACvF,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAA;CACrC;AA6BD,wBAAgB,kBAAkB,IAAI,cAAc,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAgBpF;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAwBpF;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAcjE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAoB5E;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,cAAc,CAC5C;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,EAC3C,WAAW,CACZ,CAqBA;AAED,4DAA4D;AAC5D,wBAAgB,OAAO,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAQnD"}
@@ -25,6 +25,9 @@ function jobForm(input) {
25
25
  if (input.columnMap !== undefined) {
26
26
  form.set('column_map', JSON.stringify(input.columnMap));
27
27
  }
28
+ if (input.consentPurposeId != null && input.consentPurposeId.length > 0) {
29
+ form.set('consent_purpose_id', input.consentPurposeId);
30
+ }
28
31
  return form;
29
32
  }
30
33
  /** The cache entry `useImportJob` reads, so a write and the watcher agree. */
@@ -1 +1 @@
1
- {"version":3,"file":"importJobs.js","sourceRoot":"","sources":["../../../src/api/resources/importJobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"importJobs.js","sourceRoot":"","sources":["../../../src/api/resources/importJobs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { AddListMemberInput, ListMember, ListMembership, RecordTargetType } from '@kelpie/schemas';
2
+ import type { MutationResult, RecordListResult } from '../resource.ts';
3
+ export interface ListMembershipsResult {
4
+ readonly memberships: readonly ListMembership[];
5
+ readonly isLoading: boolean;
6
+ readonly error: Error | null;
7
+ }
8
+ /**
9
+ * "Which lists is this record on?"
10
+ *
11
+ * A plain `useQuery` rather than the paged read: the endpoint is not paged.
12
+ * The invalidation key overlaps with `useListMembers` so adding or removing on
13
+ * either side refreshes both views.
14
+ */
15
+ export declare function useListMembershipsFor(targetType: RecordTargetType | undefined, targetId: string | undefined): ListMembershipsResult;
16
+ export declare function useListMembers(listId: string | undefined): RecordListResult<ListMember>;
17
+ export interface AddMemberArguments {
18
+ readonly listId: string;
19
+ readonly input: AddListMemberInput;
20
+ }
21
+ export declare function useAddListMember(): MutationResult<AddMemberArguments, ListMember>;
22
+ export interface RemoveMemberArguments {
23
+ readonly listId: string;
24
+ readonly id: string;
25
+ }
26
+ export declare function useRemoveListMember(): MutationResult<RemoveMemberArguments, void>;
27
+ //# sourceMappingURL=listMembers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listMembers.d.ts","sourceRoot":"","sources":["../../../src/api/resources/listMembers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,gBAAgB,EACjB,MAAM,iBAAiB,CAAA;AAYxB,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAuBtE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,EAAE,SAAS,cAAc,EAAE,CAAA;IAC/C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,gBAAgB,GAAG,SAAS,EACxC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,qBAAqB,CAsBvB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAQvF;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAA;CACnC;AAED,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAqBjF;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CAAC,qBAAqB,EAAE,IAAI,CAAC,CA4CjF"}
@@ -0,0 +1,108 @@
1
+ import { addListMemberBody, listMemberSchema, listMembershipSchema, } from '@kelpie/schemas';
2
+ import { useMutation, useQuery, useQueryClient, } from '@tanstack/react-query';
3
+ import { useApiClient } from '../context.js';
4
+ import { toError } from '../errors.js';
5
+ import { usePagedList } from '../resource.js';
6
+ function membersKey(listId) {
7
+ return ['lists', 'members', listId];
8
+ }
9
+ function membershipsKey(targetType, targetId) {
10
+ return ['lists', 'memberships', targetType, targetId];
11
+ }
12
+ /** The list-level entries whose cached counts change when a member is added or removed. */
13
+ function listsInvalidations() {
14
+ return ['lists', 'list'];
15
+ }
16
+ /**
17
+ * "Which lists is this record on?"
18
+ *
19
+ * A plain `useQuery` rather than the paged read: the endpoint is not paged.
20
+ * The invalidation key overlaps with `useListMembers` so adding or removing on
21
+ * either side refreshes both views.
22
+ */
23
+ export function useListMembershipsFor(targetType, targetId) {
24
+ const client = useApiClient();
25
+ const enabled = targetType !== undefined && targetId !== undefined;
26
+ const result = useQuery({
27
+ queryKey: membershipsKey(targetType ?? '', targetId ?? ''),
28
+ queryFn: async () => {
29
+ const page = await client.list('/list-memberships', listMembershipSchema.parse, { target_type: targetType, target_id: targetId });
30
+ return page.items;
31
+ },
32
+ enabled,
33
+ });
34
+ return {
35
+ memberships: result.data ?? [],
36
+ isLoading: result.isPending && enabled,
37
+ error: toError(result.error),
38
+ };
39
+ }
40
+ export function useListMembers(listId) {
41
+ return usePagedList({
42
+ queryKey: membersKey(listId ?? ''),
43
+ path: `/lists/${listId ?? ''}/members`,
44
+ decode: listMemberSchema.parse,
45
+ query: {},
46
+ enabled: listId !== undefined,
47
+ });
48
+ }
49
+ export function useAddListMember() {
50
+ const client = useApiClient();
51
+ const queryClient = useQueryClient();
52
+ const mutation = useMutation({
53
+ mutationFn: ({ listId, input }) => client.post(`/lists/${listId}/members`, addListMemberBody(input), listMemberSchema.parse),
54
+ onSettled: (_record, _error, { listId }) => {
55
+ void queryClient.invalidateQueries({ queryKey: membersKey(listId) });
56
+ void queryClient.invalidateQueries({ queryKey: listsInvalidations() });
57
+ void queryClient.invalidateQueries({ queryKey: ['lists', 'memberships'] });
58
+ },
59
+ });
60
+ return {
61
+ run: (input) => {
62
+ mutation.mutate(input);
63
+ },
64
+ runAsync: (input) => mutation.mutateAsync(input),
65
+ isPending: mutation.isPending,
66
+ error: toError(mutation.error),
67
+ };
68
+ }
69
+ export function useRemoveListMember() {
70
+ const client = useApiClient();
71
+ const queryClient = useQueryClient();
72
+ const mutation = useMutation({
73
+ mutationFn: ({ listId, id }) => client.delete(`/lists/${listId}/members/${id}`),
74
+ onMutate: async ({ listId, id }) => {
75
+ await queryClient.cancelQueries({ queryKey: membersKey(listId) });
76
+ const previous = queryClient.getQueryData(membersKey(listId));
77
+ queryClient.setQueryData(membersKey(listId), (data) => data === undefined
78
+ ? data
79
+ : {
80
+ ...data,
81
+ pages: data.pages.map((page) => ({
82
+ ...page,
83
+ items: page.items.filter((item) => item.id !== id),
84
+ })),
85
+ });
86
+ return { previous };
87
+ },
88
+ onError: (_error, { listId }, context) => {
89
+ if (context?.previous !== undefined) {
90
+ queryClient.setQueryData(membersKey(listId), context.previous);
91
+ }
92
+ },
93
+ onSettled: (_record, _error, { listId }) => {
94
+ void queryClient.invalidateQueries({ queryKey: membersKey(listId) });
95
+ void queryClient.invalidateQueries({ queryKey: listsInvalidations() });
96
+ void queryClient.invalidateQueries({ queryKey: ['lists', 'memberships'] });
97
+ },
98
+ });
99
+ return {
100
+ run: (input) => {
101
+ mutation.mutate(input);
102
+ },
103
+ runAsync: (input) => mutation.mutateAsync(input),
104
+ isPending: mutation.isPending,
105
+ error: toError(mutation.error),
106
+ };
107
+ }
108
+ //# sourceMappingURL=listMembers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listMembers.js","sourceRoot":"","sources":["../../../src/api/resources/listMembers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { CreateListInput, List, ListInput, RecordTargetType } from '@kelpie/schemas';
2
+ import type { ListOptions, MutationResult, RecordListResult, RecordResult, UpdateArguments } from '../resource.ts';
3
+ export interface ListFilters {
4
+ readonly term?: string | undefined;
5
+ readonly targetType?: RecordTargetType | undefined;
6
+ readonly limit?: number | undefined;
7
+ readonly sort?: string | undefined;
8
+ }
9
+ export declare function useLists(filters?: ListFilters, options?: ListOptions): RecordListResult<List>;
10
+ export declare function useList(id: string | undefined): RecordResult<List>;
11
+ export declare function useCreateList(): MutationResult<CreateListInput, List>;
12
+ export declare function useUpdateList(): MutationResult<UpdateArguments<ListInput>, List>;
13
+ export declare function useDeleteList(): MutationResult<string, void>;
14
+ //# sourceMappingURL=lists.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../../src/api/resources/lists.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAIzF,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAYvB,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAWD,wBAAgB,QAAQ,CACtB,OAAO,GAAE,WAAgB,EACzB,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,IAAI,CAAC,CAExB;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAElE;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,CAErE;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAEhF;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAE5D"}
@@ -0,0 +1,34 @@
1
+ import { createListBody, listBody, listSchema } from '@kelpie/schemas';
2
+ import { createResourceHooks } from '../resource.js';
3
+ /** `/v1/lists`. A list holds records of one type; the type is fixed at creation. */
4
+ const lists = createResourceHooks({
5
+ name: 'lists',
6
+ path: '/lists',
7
+ decode: listSchema.parse,
8
+ createBody: createListBody,
9
+ updateBody: listBody,
10
+ });
11
+ function listsQuery(filters) {
12
+ return {
13
+ q: filters.term,
14
+ target_type: filters.targetType,
15
+ limit: filters.limit,
16
+ sort: filters.sort,
17
+ };
18
+ }
19
+ export function useLists(filters = {}, options = {}) {
20
+ return lists.useList(listsQuery(filters), options);
21
+ }
22
+ export function useList(id) {
23
+ return lists.useRecord(id);
24
+ }
25
+ export function useCreateList() {
26
+ return lists.useCreate();
27
+ }
28
+ export function useUpdateList() {
29
+ return lists.useUpdate();
30
+ }
31
+ export function useDeleteList() {
32
+ return lists.useRemove();
33
+ }
34
+ //# sourceMappingURL=lists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lists.js","sourceRoot":"","sources":["../../../src/api/resources/lists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAItE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AASpD,oFAAoF;AAEpF,MAAM,KAAK,GAAG,mBAAmB,CAAmC;IAClE,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,UAAU,CAAC,KAAK;IACxB,UAAU,EAAE,cAAc;IAC1B,UAAU,EAAE,QAAQ;CACrB,CAAC,CAAA;AASF,SAAS,UAAU,CAAC,OAAoB;IACtC,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,QAAQ,CACtB,OAAO,GAAgB,EAAE,EACzB,OAAO,GAAgB,EAAE;IAEzB,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAsB;IAC5C,OAAO,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,SAAS,EAAE,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,SAAS,EAAE,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,SAAS,EAAE,CAAA;AAC1B,CAAC"}
@@ -17,6 +17,8 @@ export interface OpportunityFilters {
17
17
  readonly companyIds?: readonly string[] | undefined;
18
18
  /** Opportunities sitting in any of these stages. Repeats on the wire. */
19
19
  readonly stageIds?: readonly string[] | undefined;
20
+ /** Opportunities any of these people are on. Repeats on the wire. */
21
+ readonly personIds?: readonly string[] | undefined;
20
22
  readonly limit?: number | undefined;
21
23
  /** `field` ascending, `-field` descending. Only `name`, `created_at`, `updated_at` are sortable. */
22
24
  readonly sort?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"opportunities.d.ts","sourceRoot":"","sources":["../../../src/api/resources/opportunities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAIpE,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAEvB;;;GAGG;AAEH,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAaD,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IACjC,mFAAmF;IACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,oEAAoE;IACpE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAC9C,oEAAoE;IACpE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACnD,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,oGAAoG;IACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAaD,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE,kBAAuB,EAChC,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,WAAW,CAAC,CAE/B;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAEhF;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAE1F;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CACpD,eAAe,CAAC,gBAAgB,CAAC,EACjC,WAAW,CACZ,CAEA;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAEnE"}
1
+ {"version":3,"file":"opportunities.d.ts","sourceRoot":"","sources":["../../../src/api/resources/opportunities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAIpE,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAEvB;;;GAGG;AAEH,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAaD,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IACjC,mFAAmF;IACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,oEAAoE;IACpE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAC9C,oEAAoE;IACpE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACnD,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACjD,qEAAqE;IACrE,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,gBAAgB,CAC9B,OAAO,GAAE,kBAAuB,EAChC,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,WAAW,CAAC,CAE/B;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAEhF;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAE1F;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CACpD,eAAe,CAAC,gBAAgB,CAAC,EACjC,WAAW,CACZ,CAEA;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAEnE"}
@@ -16,6 +16,7 @@ function opportunityQuery(filters) {
16
16
  kind: filters.kinds,
17
17
  company_id: filters.companyIds,
18
18
  stage_id: filters.stageIds,
19
+ person_id: filters.personIds,
19
20
  limit: filters.limit,
20
21
  sort: filters.sort,
21
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"opportunities.js","sourceRoot":"","sources":["../../../src/api/resources/opportunities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAIpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAkBpD,MAAM,aAAa,GAAG,mBAAmB,CAAwD;IAC/F,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,iBAAiB,CAAC,KAAK;IAC/B,UAAU,EAAE,eAAe;IAC3B,UAAU,EAAE,eAAe;IAC3B,8EAA8E;IAC9E,0EAA0E;IAC1E,eAAe,EAAE,CAAC,YAAY,CAAC;CAChC,CAAC,CAAA;AAiBF,SAAS,gBAAgB,CAAC,OAA2B;IACnD,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,IAAI;QACf,IAAI,EAAE,OAAO,CAAC,KAAK;QACnB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAO,GAAuB,EAAE,EAChC,OAAO,GAAgB,EAAE;IAEzB,OAAO,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAsB;IACnD,OAAO,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,aAAa,CAAC,SAAS,EAAE,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAIlC,OAAO,aAAa,CAAC,SAAS,EAAE,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,aAAa,CAAC,SAAS,EAAE,CAAA;AAClC,CAAC"}
1
+ {"version":3,"file":"opportunities.js","sourceRoot":"","sources":["../../../src/api/resources/opportunities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAIpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAkBpD,MAAM,aAAa,GAAG,mBAAmB,CAAwD;IAC/F,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,iBAAiB,CAAC,KAAK;IAC/B,UAAU,EAAE,eAAe;IAC3B,UAAU,EAAE,eAAe;IAC3B,8EAA8E;IAC9E,0EAA0E;IAC1E,eAAe,EAAE,CAAC,YAAY,CAAC;CAChC,CAAC,CAAA;AAmBF,SAAS,gBAAgB,CAAC,OAA2B;IACnD,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,IAAI;QACf,IAAI,EAAE,OAAO,CAAC,KAAK;QACnB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAO,GAAuB,EAAE,EAChC,OAAO,GAAgB,EAAE;IAEzB,OAAO,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAsB;IACnD,OAAO,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,aAAa,CAAC,SAAS,EAAE,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAIlC,OAAO,aAAa,CAAC,SAAS,EAAE,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,aAAa,CAAC,SAAS,EAAE,CAAA;AAClC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"people.d.ts","sourceRoot":"","sources":["../../../src/api/resources/people.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAI1D,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAEvB,6EAA6E;AAE7E,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAaD,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,gFAAgF;IAChF,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,oGAAoG;IACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAWD,wBAAgB,SAAS,CACvB,OAAO,GAAE,aAAkB,EAC3B,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,MAAM,CAAC,CAE1B;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAEtE;AAED,wBAAgB,eAAe,IAAI,cAAc,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAE3E;AAED,wBAAgB,eAAe,IAAI,cAAc,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAEtF;AAED,wBAAgB,eAAe,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAE9D"}
1
+ {"version":3,"file":"people.d.ts","sourceRoot":"","sources":["../../../src/api/resources/people.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAI1D,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAEvB,6EAA6E;AAE7E,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAgBD,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,gFAAgF;IAChF,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,oGAAoG;IACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAWD,wBAAgB,SAAS,CACvB,OAAO,GAAE,aAAkB,EAC3B,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,MAAM,CAAC,CAE1B;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAEtE;AAED,wBAAgB,eAAe,IAAI,cAAc,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAE3E;AAED,wBAAgB,eAAe,IAAI,cAAc,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAEtF;AAED,wBAAgB,eAAe,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAE9D"}
@@ -8,7 +8,10 @@ const people = createResourceHooks({
8
8
  updateBody: personBody,
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
+ // Setting or changing the email may also auto-link a Position, which changes
12
+ // both the person's position list and the `?person_id=` companies list that
13
+ // names the far side — without the latter, the new row renders as "Unknown".
14
+ alsoInvalidates: ['activities', 'positions', 'companies'],
12
15
  });
13
16
  function peopleQuery(filters) {
14
17
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"people.js","sourceRoot":"","sources":["../../../src/api/resources/people.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAI1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAepD,MAAM,MAAM,GAAG,mBAAmB,CAAyC;IACzE,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,YAAY,CAAC,KAAK;IAC1B,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,UAAU;IACtB,8EAA8E;IAC9E,0EAA0E;IAC1E,eAAe,EAAE,CAAC,YAAY,CAAC;CAChC,CAAC,CAAA;AAaF,SAAS,WAAW,CAAC,OAAsB;IACzC,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,IAAI;QACf,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,OAAO,GAAkB,EAAE,EAC3B,OAAO,GAAgB,EAAE;IAEzB,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAsB;IAC9C,OAAO,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,MAAM,CAAC,SAAS,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,MAAM,CAAC,SAAS,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,MAAM,CAAC,SAAS,EAAE,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"people.js","sourceRoot":"","sources":["../../../src/api/resources/people.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAI1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAepD,MAAM,MAAM,GAAG,mBAAmB,CAAyC;IACzE,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,YAAY,CAAC,KAAK;IAC1B,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,UAAU;IACtB,8EAA8E;IAC9E,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,eAAe,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC;CAC1D,CAAC,CAAA;AAaF,SAAS,WAAW,CAAC,OAAsB;IACzC,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,IAAI;QACf,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,OAAO,GAAkB,EAAE,EAC3B,OAAO,GAAgB,EAAE;IAEzB,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAsB;IAC9C,OAAO,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,MAAM,CAAC,SAAS,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,MAAM,CAAC,SAAS,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,MAAM,CAAC,SAAS,EAAE,CAAA;AAC3B,CAAC"}
@@ -11,6 +11,8 @@ export interface RoleFilters {
11
11
  /** Roles in any of these statuses. Repeats on the wire. */
12
12
  readonly statuses?: readonly RoleStatus[] | undefined;
13
13
  readonly limit?: number | undefined;
14
+ /** `field` ascending, `-field` descending. Only `title`, `created_at`, `updated_at` are sortable. */
15
+ readonly sort?: string | undefined;
14
16
  }
15
17
  export declare function useRoles(filters?: RoleFilters, options?: ListOptions): RecordListResult<Role>;
16
18
  export declare function useRole(id: string | undefined): RecordResult<Role>;
@@ -1 +1 @@
1
- {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../../src/api/resources/roles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAIlE,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAEvB,iEAAiE;AAEjE,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAaD,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,CAAA;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACpC;AAMD,wBAAgB,QAAQ,CACtB,OAAO,GAAE,WAAgB,EACzB,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,IAAI,CAAC,CAExB;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAElE;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,CAErE;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAEhF;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAE5D"}
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../../src/api/resources/roles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAIlE,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAEvB,iEAAiE;AAEjE,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAaD,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,CAAA;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,qGAAqG;IACrG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAMD,wBAAgB,QAAQ,CACtB,OAAO,GAAE,WAAgB,EACzB,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,IAAI,CAAC,CAExB;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAElE;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,CAErE;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAEhF;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAE5D"}