@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,7 +11,7 @@ const roles = createResourceHooks({
11
11
  alsoInvalidates: ['candidates', 'activities'],
12
12
  });
13
13
  function roleQuery(filters) {
14
- return { q: filters.term, status: filters.statuses, limit: filters.limit };
14
+ return { q: filters.term, status: filters.statuses, limit: filters.limit, sort: filters.sort };
15
15
  }
16
16
  export function useRoles(filters = {}, options = {}) {
17
17
  return roles.useList(roleQuery(filters), options);
@@ -1 +1 @@
1
- {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/api/resources/roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAItD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAepD,MAAM,KAAK,GAAG,mBAAmB,CAAmC;IAClE,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,UAAU,CAAC,KAAK;IACxB,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,QAAQ;IACpB,8EAA8E;IAC9E,2EAA2E;IAC3E,eAAe,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;CAC9C,CAAC,CAAA;AAWF,SAAS,SAAS,CAAC,OAAoB;IACrC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,OAAO,GAAgB,EAAE,EACzB,OAAO,GAAgB,EAAE;IAEzB,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AACnD,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"}
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/api/resources/roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAItD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAepD,MAAM,KAAK,GAAG,mBAAmB,CAAmC;IAClE,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,UAAU,CAAC,KAAK;IACxB,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,QAAQ;IACpB,8EAA8E;IAC9E,2EAA2E;IAC3E,eAAe,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;CAC9C,CAAC,CAAA;AAaF,SAAS,SAAS,CAAC,OAAoB;IACrC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;AAChG,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,OAAO,GAAgB,EAAE,EACzB,OAAO,GAAgB,EAAE;IAEzB,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AACnD,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"}
@@ -0,0 +1,17 @@
1
+ import type { SampleDataCounts } from '@kelpie/schemas';
2
+ import type { MutationResult } from '../resource.ts';
3
+ /**
4
+ * `POST /v1/workspaces/:id/sample-data`: install the sample workspace.
5
+ *
6
+ * The workspace id arrives as a mutation argument rather than being read from
7
+ * the session. That lets the onboarding wizard install into the workspace it
8
+ * just created, before the session cache catches up with it.
9
+ *
10
+ * On success, every CRM list is invalidated because the rows this just wrote
11
+ * are in all of them.
12
+ */
13
+ export interface InstallSampleDataInput {
14
+ readonly workspaceId: string;
15
+ }
16
+ export declare function useInstallSampleData(): MutationResult<InstallSampleDataInput, SampleDataCounts>;
17
+ //# sourceMappingURL=sampleData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sampleData.d.ts","sourceRoot":"","sources":["../../../src/api/resources/sampleData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAIvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAGpD;;;;;;;;;GASG;AAEH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,CAiC/F"}
@@ -0,0 +1,31 @@
1
+ import { sampleDataCountsSchema } 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 useInstallSampleData() {
6
+ const client = useApiClient();
7
+ const cache = useQueryClient();
8
+ const mutation = useMutation({
9
+ mutationFn: ({ workspaceId }) => client.post(`/workspaces/${workspaceId}/sample-data`, {}, sampleDataCountsSchema.parse),
10
+ onSuccess: async () => {
11
+ await Promise.all([
12
+ 'people',
13
+ 'companies',
14
+ 'positions',
15
+ 'deals',
16
+ 'plans',
17
+ 'notes',
18
+ 'activities',
19
+ 'decisions',
20
+ 'opportunities',
21
+ 'raises',
22
+ 'partnerships',
23
+ 'enquiries',
24
+ 'roles',
25
+ 'candidates',
26
+ ].map((name) => cache.invalidateQueries({ queryKey: [name] })));
27
+ },
28
+ });
29
+ return asMutationResult(mutation);
30
+ }
31
+ //# sourceMappingURL=sampleData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sampleData.js","sourceRoot":"","sources":["../../../src/api/resources/sampleData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAExD,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;AAiBhD,MAAM,UAAU,oBAAoB;IAClC,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,EAA0B,EAAE,EAAE,CACtD,MAAM,CAAC,IAAI,CACT,eAAe,WAAW,cAAc,EACxC,EAAE,EACF,sBAAsB,CAAC,KAAK,CAC7B;QACH,SAAS,EAAE,KAAK,IAAI,EAAE;YACpB,MAAM,OAAO,CAAC,GAAG,CACf;gBACE,QAAQ;gBACR,WAAW;gBACX,WAAW;gBACX,OAAO;gBACP,OAAO;gBACP,OAAO;gBACP,YAAY;gBACZ,WAAW;gBACX,eAAe;gBACf,QAAQ;gBACR,cAAc;gBACd,WAAW;gBACX,OAAO;gBACP,YAAY;aACb,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAC/D,CAAA;QACH,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AACnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../../src/api/resources/webhooks.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,wBAAwB,EACxB,OAAO,EACP,eAAe,EACf,YAAY,EACb,MAAM,iBAAiB,CAAA;AAOxB,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAoBvF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;CAChD;AAMD,wBAAgB,WAAW,CAAC,OAAO,GAAE,cAAmB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAEnF;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,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;CACxD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,sBAA2B,GACnC,gBAAgB,CAAC,eAAe,CAAC,CAwBnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAYrF;AAED,MAAM,WAAW,qBAAsB,SAAQ,wBAAwB;IACrE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,cAAc,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAgB9F"}
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../../src/api/resources/webhooks.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,wBAAwB,EACxB,OAAO,EACP,eAAe,EACf,YAAY,EACb,MAAM,iBAAiB,CAAA;AAMxB,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAoBvF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;CAChD;AAMD,wBAAgB,WAAW,CAAC,OAAO,GAAE,cAAmB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAEnF;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,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;CACxD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,sBAA2B,GACnC,gBAAgB,CAAC,eAAe,CAAC,CASnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAYrF;AAED,MAAM,WAAW,qBAAsB,SAAQ,wBAAwB;IACrE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,cAAc,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAgB9F"}
@@ -1,8 +1,7 @@
1
1
  import { createWebhookBody, createdWebhookSchema, rotateWebhookSecretBody, webhookBody, webhookDeliverySchema, webhookSchema, } from '@kelpie/schemas';
2
- import { keepPreviousData, useInfiniteQuery, useMutation, useQueryClient } from '@tanstack/react-query';
2
+ import { useMutation, useQueryClient } from '@tanstack/react-query';
3
3
  import { useApiClient } from '../context.js';
4
- import { toError } from '../errors.js';
5
- import { createResourceHooks } from '../resource.js';
4
+ import { createResourceHooks, usePagedList } from '../resource.js';
6
5
  import { asMutationResult } from './mutation.js';
7
6
  /**
8
7
  * `/v1/webhooks`: outbound event delivery.
@@ -43,27 +42,13 @@ export function useDeleteWebhook() {
43
42
  * next page to them.
44
43
  */
45
44
  export function useWebhookDeliveries(webhookId, filters = {}) {
46
- const client = useApiClient();
47
- const result = useInfiniteQuery({
45
+ const query = { status: filters.status };
46
+ return usePagedList({
48
47
  queryKey: ['webhooks', 'deliveries', webhookId, filters.status ?? 'all'],
49
- queryFn: ({ pageParam }) => client.list(`/webhooks/${webhookId}/deliveries`, webhookDeliverySchema.parse, {
50
- status: filters.status,
51
- ...(pageParam === null ? {} : { cursor: pageParam }),
52
- }),
53
- initialPageParam: null,
54
- getNextPageParam: (lastPage) => lastPage.nextCursor,
55
- placeholderData: keepPreviousData,
48
+ path: `/webhooks/${webhookId}/deliveries`,
49
+ decode: webhookDeliverySchema.parse,
50
+ query,
56
51
  });
57
- return {
58
- records: result.data?.pages.flatMap((page) => page.items) ?? [],
59
- isLoading: result.isPending,
60
- error: toError(result.error),
61
- hasMore: result.hasNextPage,
62
- isLoadingMore: result.isFetchingNextPage,
63
- loadMore: () => {
64
- void result.fetchNextPage();
65
- },
66
- };
67
52
  }
68
53
  /**
69
54
  * Registers a webhook.
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../src/api/resources/webhooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../src/api/resources/webhooks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"KelpieApp.d.ts","sourceRoot":"","sources":["../../src/app/KelpieApp.tsx"],"names":[],"mappings":"AAwDA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG3D;;;;;;;;;GASG;AAEH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAA;IACjC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,wBAAgB,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgBpF"}
1
+ {"version":3,"file":"KelpieApp.d.ts","sourceRoot":"","sources":["../../src/app/KelpieApp.tsx"],"names":[],"mappings":"AAgEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG3D;;;;;;;;;GASG;AAEH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAA;IACjC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,wBAAgB,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgBpF"}
@@ -11,10 +11,16 @@ import { DealsPage } from '../pages/DealsPage.js';
11
11
  import { DecisionsPage } from '../pages/DecisionsPage.js';
12
12
  import { SearchPage } from '../pages/SearchPage.js';
13
13
  import { FormDetail } from '../pages/FormDetail.js';
14
+ import { SubmissionDetail } from '../pages/forms/SubmissionDetail.js';
14
15
  import { FormsPage } from '../pages/FormsPage.js';
15
16
  import { FundraisingPage } from '../pages/FundraisingPage.js';
16
17
  import { HiringPage } from '../pages/HiringPage.js';
18
+ import { ListDetail } from '../pages/ListDetail.js';
19
+ import { ListsPage } from '../pages/ListsPage.js';
17
20
  import { NotFoundPage } from '../pages/NotFoundPage.js';
21
+ import { EnquiriesPage } from '../pages/EnquiriesPage.js';
22
+ import { EnquiryDetail } from '../pages/EnquiryDetail.js';
23
+ import { EnquiryStageSettingsPage } from '../pages/EnquiryStageSettingsPage.js';
18
24
  import { OpportunitiesPage } from '../pages/OpportunitiesPage.js';
19
25
  import { OpportunityDetail } from '../pages/OpportunityDetail.js';
20
26
  import { OpportunityStageSettingsPage } from '../pages/OpportunityStageSettingsPage.js';
@@ -34,6 +40,8 @@ import { ProfilePage } from '../pages/account/ProfilePage.js';
34
40
  import { SecurityPage } from '../pages/account/SecurityPage.js';
35
41
  import { ApiKeysPage } from '../pages/admin/ApiKeysPage.js';
36
42
  import { DataPage } from '../pages/admin/DataPage.js';
43
+ import { FieldsPage } from '../pages/admin/FieldsPage.js';
44
+ import { PrivacyPage } from '../pages/admin/PrivacyPage.js';
37
45
  import { McpPage } from '../pages/admin/McpPage.js';
38
46
  import { ModulesPage } from '../pages/admin/ModulesPage.js';
39
47
  import { TeamPage } from '../pages/admin/TeamPage.js';
@@ -74,6 +82,6 @@ function AppRoutes() {
74
82
  const moduleRoutes = useModuleRoutes();
75
83
  const accountRoutes = moduleRoutes.filter(isAccountRoute);
76
84
  const shellRoutes = moduleRoutes.filter((route) => !isAccountRoute(route));
77
- return (_jsxs(Routes, { children: [_jsx(Route, { path: "/login", element: _jsx(SignInPage, {}) }), _jsx(Route, { path: "/signup", element: _jsx(SignUpPage, {}) }), _jsx(Route, { path: "/forgot-password", element: _jsx(ForgotPasswordPage, {}) }), _jsx(Route, { path: "/reset-password", element: _jsx(ResetPasswordPage, {}) }), _jsx(Route, { path: "/join", element: _jsx(JoinPage, {}) }), _jsx(Route, { path: "/onboarding/workspace", element: _jsx(WorkspaceStepPage, {}) }), _jsx(Route, { path: "/verify-email", element: _jsx(VerifyEmailConfirmPage, {}) }), _jsx(Route, { path: "/verify-email/pending", element: _jsx(VerifyEmailPendingPage, {}) }), _jsxs(Route, { element: _jsx(SessionGate, {}), children: [_jsx(Route, { path: "/onboarding/invites", element: _jsx(InvitesStepPage, {}) }), _jsx(Route, { path: "/onboarding/handbook", element: _jsx(HandbookStepPage, {}) }), _jsxs(Route, { element: _jsx(Shell, {}), children: [_jsx(Route, { index: true, element: _jsx(Navigate, { to: "/dashboard", replace: true }) }), _jsx(Route, { path: "dashboard", element: _jsx(DashboardPage, {}) }), _jsx(Route, { path: "search", element: _jsx(SearchPage, {}) }), _jsx(Route, { path: "people", element: _jsx(PeoplePage, {}) }), _jsx(Route, { path: "people/:id", element: _jsx(PersonDetail, {}) }), _jsx(Route, { path: "hiring", element: _jsx(HiringPage, {}) }), _jsx(Route, { path: "hiring/:id", element: _jsx(RoleDetail, {}) }), _jsx(Route, { path: "companies", element: _jsx(CompaniesPage, {}) }), _jsx(Route, { path: "companies/:id", element: _jsx(CompanyDetail, {}) }), _jsx(Route, { path: "deals", element: _jsx(DealsPage, {}) }), _jsx(Route, { path: "deals/settings", element: _jsx(DealStageSettingsPage, {}) }), _jsx(Route, { path: "deals/:id", element: _jsx(DealDetail, {}) }), _jsx(Route, { path: "opportunities", element: _jsx(OpportunitiesPage, {}) }), _jsx(Route, { path: "opportunities/settings", element: _jsx(OpportunityStageSettingsPage, {}) }), _jsx(Route, { path: "opportunities/:id", element: _jsx(OpportunityDetail, {}) }), _jsx(Route, { path: "fundraising", element: _jsx(FundraisingPage, {}) }), _jsx(Route, { path: "fundraising/settings", element: _jsx(RaiseStageSettingsPage, {}) }), _jsx(Route, { path: "fundraising/:id", element: _jsx(RaiseDetail, {}) }), _jsx(Route, { path: "partnerships", element: _jsx(PartnershipsPage, {}) }), _jsx(Route, { path: "partnerships/settings", element: _jsx(PartnershipStageSettingsPage, {}) }), _jsx(Route, { path: "partnerships/:id", element: _jsx(PartnershipDetail, {}) }), _jsx(Route, { path: "planning", element: _jsx(PlanningPage, {}) }), _jsx(Route, { path: "decisions", element: _jsx(DecisionsPage, {}) }), _jsx(Route, { path: "forms", element: _jsx(FormsPage, {}) }), _jsx(Route, { path: "forms/:id", element: _jsx(FormDetail, {}) }), _jsx(Route, { path: "handbook", element: _jsx(HandbookLayout, {}) }), _jsx(Route, { path: "handbook/:pageId", element: _jsx(HandbookLayout, {}) }), _jsx(Route, { path: "admin/workspace", element: _jsx(WorkspaceSettingsPage, {}) }), _jsx(Route, { path: "admin/team", element: _jsx(TeamPage, {}) }), _jsx(Route, { path: "admin/data", element: _jsx(DataPage, {}) }), _jsx(Route, { path: "admin/api-keys", element: _jsx(ApiKeysPage, {}) }), _jsx(Route, { path: "admin/mcp", element: _jsx(McpPage, {}) }), _jsx(Route, { path: "admin/webhooks", element: _jsx(WebhooksPage, {}) }), _jsx(Route, { path: "admin/modules", element: _jsx(ModulesPage, {}) }), _jsxs(Route, { path: "account", element: _jsx(AccountLayout, {}), children: [_jsx(Route, { index: true, element: _jsx(Navigate, { to: "/account/profile", replace: true }) }), _jsx(Route, { path: "profile", element: _jsx(ProfilePage, {}) }), _jsx(Route, { path: "security", element: _jsx(SecurityPage, {}) }), _jsx(Route, { path: "preferences", element: _jsx(PreferencesPage, {}) }), _jsx(Route, { path: "api-keys", element: _jsx(PersonalApiKeysPage, {}) }), accountRoutes.map((route) => (_jsx(Route, { path: route.path.slice(ACCOUNT_PREFIX.length), element: route.element }, route.path)))] }), shellRoutes.map((route) => (_jsx(Route, { path: route.path, element: route.element }, route.path))), _jsx(Route, { path: "*", element: _jsx(NotFoundPage, {}) })] })] })] }));
85
+ return (_jsxs(Routes, { children: [_jsx(Route, { path: "/login", element: _jsx(SignInPage, {}) }), _jsx(Route, { path: "/signup", element: _jsx(SignUpPage, {}) }), _jsx(Route, { path: "/forgot-password", element: _jsx(ForgotPasswordPage, {}) }), _jsx(Route, { path: "/reset-password", element: _jsx(ResetPasswordPage, {}) }), _jsx(Route, { path: "/join", element: _jsx(JoinPage, {}) }), _jsx(Route, { path: "/onboarding/workspace", element: _jsx(WorkspaceStepPage, {}) }), _jsx(Route, { path: "/verify-email", element: _jsx(VerifyEmailConfirmPage, {}) }), _jsx(Route, { path: "/verify-email/pending", element: _jsx(VerifyEmailPendingPage, {}) }), _jsxs(Route, { element: _jsx(SessionGate, {}), children: [_jsx(Route, { path: "/onboarding/invites", element: _jsx(InvitesStepPage, {}) }), _jsx(Route, { path: "/onboarding/handbook", element: _jsx(HandbookStepPage, {}) }), _jsxs(Route, { element: _jsx(Shell, {}), children: [_jsx(Route, { index: true, element: _jsx(Navigate, { to: "/dashboard", replace: true }) }), _jsx(Route, { path: "dashboard", element: _jsx(DashboardPage, {}) }), _jsx(Route, { path: "search", element: _jsx(SearchPage, {}) }), _jsx(Route, { path: "people", element: _jsx(PeoplePage, {}) }), _jsx(Route, { path: "people/:id", element: _jsx(PersonDetail, {}) }), _jsx(Route, { path: "hiring", element: _jsx(HiringPage, {}) }), _jsx(Route, { path: "hiring/:id", element: _jsx(RoleDetail, {}) }), _jsx(Route, { path: "companies", element: _jsx(CompaniesPage, {}) }), _jsx(Route, { path: "companies/:id", element: _jsx(CompanyDetail, {}) }), _jsx(Route, { path: "deals", element: _jsx(DealsPage, {}) }), _jsx(Route, { path: "deals/settings", element: _jsx(DealStageSettingsPage, {}) }), _jsx(Route, { path: "deals/:id", element: _jsx(DealDetail, {}) }), _jsx(Route, { path: "opportunities", element: _jsx(OpportunitiesPage, {}) }), _jsx(Route, { path: "opportunities/settings", element: _jsx(OpportunityStageSettingsPage, {}) }), _jsx(Route, { path: "opportunities/:id", element: _jsx(OpportunityDetail, {}) }), _jsx(Route, { path: "enquiries", element: _jsx(EnquiriesPage, {}) }), _jsx(Route, { path: "enquiries/settings", element: _jsx(EnquiryStageSettingsPage, {}) }), _jsx(Route, { path: "enquiries/:id", element: _jsx(EnquiryDetail, {}) }), _jsx(Route, { path: "fundraising", element: _jsx(FundraisingPage, {}) }), _jsx(Route, { path: "fundraising/settings", element: _jsx(RaiseStageSettingsPage, {}) }), _jsx(Route, { path: "fundraising/:id", element: _jsx(RaiseDetail, {}) }), _jsx(Route, { path: "partnerships", element: _jsx(PartnershipsPage, {}) }), _jsx(Route, { path: "partnerships/settings", element: _jsx(PartnershipStageSettingsPage, {}) }), _jsx(Route, { path: "partnerships/:id", element: _jsx(PartnershipDetail, {}) }), _jsx(Route, { path: "lists", element: _jsx(ListsPage, {}) }), _jsx(Route, { path: "lists/:id", element: _jsx(ListDetail, {}) }), _jsx(Route, { path: "planning", element: _jsx(PlanningPage, {}) }), _jsx(Route, { path: "decisions", element: _jsx(DecisionsPage, {}) }), _jsx(Route, { path: "forms", element: _jsx(FormsPage, {}) }), _jsx(Route, { path: "forms/:id/submissions/:submissionId", element: _jsx(SubmissionDetail, {}) }), _jsx(Route, { path: "forms/:id", element: _jsx(FormDetail, {}) }), _jsx(Route, { path: "handbook", element: _jsx(HandbookLayout, {}) }), _jsx(Route, { path: "handbook/:pageId", element: _jsx(HandbookLayout, {}) }), _jsx(Route, { path: "admin/workspace", element: _jsx(WorkspaceSettingsPage, {}) }), _jsx(Route, { path: "admin/team", element: _jsx(TeamPage, {}) }), _jsx(Route, { path: "admin/fields", element: _jsx(FieldsPage, {}) }), _jsx(Route, { path: "admin/privacy", element: _jsx(PrivacyPage, {}) }), _jsx(Route, { path: "admin/data", element: _jsx(DataPage, {}) }), _jsx(Route, { path: "admin/api-keys", element: _jsx(ApiKeysPage, {}) }), _jsx(Route, { path: "admin/mcp", element: _jsx(McpPage, {}) }), _jsx(Route, { path: "admin/webhooks", element: _jsx(WebhooksPage, {}) }), _jsx(Route, { path: "admin/modules", element: _jsx(ModulesPage, {}) }), _jsxs(Route, { path: "account", element: _jsx(AccountLayout, {}), children: [_jsx(Route, { index: true, element: _jsx(Navigate, { to: "/account/profile", replace: true }) }), _jsx(Route, { path: "profile", element: _jsx(ProfilePage, {}) }), _jsx(Route, { path: "security", element: _jsx(SecurityPage, {}) }), _jsx(Route, { path: "preferences", element: _jsx(PreferencesPage, {}) }), _jsx(Route, { path: "api-keys", element: _jsx(PersonalApiKeysPage, {}) }), accountRoutes.map((route) => (_jsx(Route, { path: route.path.slice(ACCOUNT_PREFIX.length), element: route.element }, route.path)))] }), shellRoutes.map((route) => (_jsx(Route, { path: route.path, element: route.element }, route.path))), _jsx(Route, { path: "*", element: _jsx(NotFoundPage, {}) })] })] })] }));
78
86
  }
79
87
  //# sourceMappingURL=KelpieApp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KelpieApp.js","sourceRoot":"","sources":["../../src/app/KelpieApp.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KelpieApp.js","sourceRoot":"","sources":["../../src/app/KelpieApp.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActivitiesPanel.d.ts","sourceRoot":"","sources":["../../src/components/ActivitiesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0B,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAS/E;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAoDD,wBAAgB,eAAe,CAAC,EAC9B,UAAU,EACV,QAAQ,GACT,EAAE,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAkD1C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,QAAQ,GACT,EAAE,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA+B1C"}
1
+ {"version":3,"file":"ActivitiesPanel.d.ts","sourceRoot":"","sources":["../../src/components/ActivitiesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0B,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAU/E;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAqDD,wBAAgB,eAAe,CAAC,EAC9B,UAAU,EACV,QAAQ,GACT,EAAE,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAyC1C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,QAAQ,GACT,EAAE,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA+B1C"}
@@ -3,6 +3,7 @@ import { useTimezone } from '../api/resources/account.js';
3
3
  import { useActivities } from '../api/resources/activities.js';
4
4
  import { useMembers } from '../api/resources/members.js';
5
5
  import { formatRelativeTime, monthLabel } from '../lib/dates.js';
6
+ import { Paginator } from './Paginator.js';
6
7
  import { ErrorPanel } from './QueryState.js';
7
8
  import { SectionHeader } from './SectionHeader.js';
8
9
  /** Two letters per kind, as the mockup's timeline gutter shows them. */
@@ -24,6 +25,7 @@ const TARGET_TYPE_LABELS = {
24
25
  opportunity: 'Opportunity',
25
26
  partnership: 'Partnership',
26
27
  raise: 'Raise',
28
+ enquiry: 'Enquiry',
27
29
  candidate: 'Candidate',
28
30
  };
29
31
  /** Consecutive runs, not a map: the list is already ordered, so a month never recurs. */
@@ -46,7 +48,7 @@ export function ActivitiesPanel({ targetType, targetId, }) {
46
48
  const members = useMembers();
47
49
  const timezone = useTimezone();
48
50
  const groups = groupByMonth(activities.records, timezone, new Date());
49
- return (_jsxs("section", { children: [_jsx(SectionHeader, { title: "Activity" }), activities.error !== null && _jsx(ErrorPanel, { error: activities.error }), activities.isLoading && _jsx("p", { className: "text-[13px] text-ink-faint", children: "Loading activity\u2026" }), !activities.isLoading && activities.records.length === 0 && activities.error === null && (_jsx("p", { className: "text-[13px] text-ink-faint", children: "No activity yet." })), _jsx("div", { className: "space-y-4", children: groups.map((group) => (_jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-[12px] font-semibold text-ink", children: group.label }), _jsx("ol", { className: "overflow-hidden rounded-md border border-border", children: group.items.map((activity, index) => (_jsx(ActivityEvent, { activity: activity, actorName: actorNameFor(activity, members.nameById), contextType: targetType, contextId: targetId, isLast: index === group.items.length - 1, timezone: timezone }, activity.id))) })] }, group.label))) }), activities.hasMore && (_jsx("button", { type: "button", onClick: activities.loadMore, disabled: activities.isLoadingMore, className: "mt-3 rounded-md border border-border px-3 py-1.5 text-[12px] font-medium text-ink-muted transition hover:border-border-strong hover:text-ink", children: activities.isLoadingMore ? 'Loading…' : 'Load more' }))] }));
51
+ return (_jsxs("section", { children: [_jsx(SectionHeader, { title: "Activity" }), activities.error !== null && _jsx(ErrorPanel, { error: activities.error }), activities.isLoading && _jsx("p", { className: "text-[13px] text-ink-faint", children: "Loading activity\u2026" }), !activities.isLoading && activities.records.length === 0 && activities.error === null && (_jsx("p", { className: "text-[13px] text-ink-faint", children: "No activity yet." })), _jsx("div", { className: "space-y-4", children: groups.map((group) => (_jsxs("div", { children: [_jsx("h3", { className: "mb-2 text-[12px] font-semibold text-ink", children: group.label }), _jsx("ol", { className: "overflow-hidden rounded-md border border-border", children: group.items.map((activity, index) => (_jsx(ActivityEvent, { activity: activity, actorName: actorNameFor(activity, members.nameById), contextType: targetType, contextId: targetId, isLast: index === group.items.length - 1, timezone: timezone }, activity.id))) })] }, group.label))) }), _jsx(Paginator, { list: activities })] }));
50
52
  }
51
53
  /**
52
54
  * The single most recent event, for a record's Overview tab.
@@ -1 +1 @@
1
- {"version":3,"file":"ActivitiesPanel.js","sourceRoot":"","sources":["../../src/components/ActivitiesPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ActivitiesPanel.js","sourceRoot":"","sources":["../../src/components/ActivitiesPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * A "Columns" button that opens a popover of checkboxes for the columns a list
3
+ * page can show.
4
+ *
5
+ * The picker owns nothing but the popover: the selection lives with the caller
6
+ * (usually `useListView`) so the checked state cannot fall out of step with the
7
+ * table beside it. `options` is the full set the page supports, in the display
8
+ * order the header uses.
9
+ *
10
+ * The first column is pinned. A list with no columns at all is not a preference
11
+ * anyone would make on purpose, and the primary column is what makes each row
12
+ * identifiable — losing it turns every row into a set of anonymous fields.
13
+ */
14
+ export interface ColumnPickerOption {
15
+ readonly key: string;
16
+ readonly label: string;
17
+ }
18
+ export interface ColumnPickerProps {
19
+ readonly options: readonly ColumnPickerOption[];
20
+ readonly visibleKeys: readonly string[];
21
+ readonly onChange: (keys: readonly string[]) => void;
22
+ }
23
+ export declare function ColumnPicker({ options, visibleKeys, onChange }: ColumnPickerProps): React.JSX.Element;
24
+ //# sourceMappingURL=ColumnPicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnPicker.d.ts","sourceRoot":"","sources":["../../src/components/ColumnPicker.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAC/C,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAA;CACrD;AAED,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAiGrG"}
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from 'react';
3
+ export function ColumnPicker({ options, visibleKeys, onChange }) {
4
+ const [open, setOpen] = useState(false);
5
+ const containerRef = useRef(null);
6
+ const pinnedKey = options[0]?.key;
7
+ useEffect(() => {
8
+ if (!open) {
9
+ return;
10
+ }
11
+ function onPointerDown(event) {
12
+ if (containerRef.current?.contains(event.target) !== true) {
13
+ setOpen(false);
14
+ }
15
+ }
16
+ function onKeyDown(event) {
17
+ if (event.key === 'Escape') {
18
+ setOpen(false);
19
+ }
20
+ }
21
+ document.addEventListener('mousedown', onPointerDown);
22
+ document.addEventListener('keydown', onKeyDown);
23
+ return () => {
24
+ document.removeEventListener('mousedown', onPointerDown);
25
+ document.removeEventListener('keydown', onKeyDown);
26
+ };
27
+ }, [open]);
28
+ function toggle(key, checked) {
29
+ if (key === pinnedKey) {
30
+ return;
31
+ }
32
+ // Preserve the order the caller passed in: the stored value is the visible
33
+ // set, and re-adding a column should put it back where the table draws it,
34
+ // not append it wherever the click landed.
35
+ const next = options.map((option) => option.key).filter((candidate) => {
36
+ if (candidate === key) {
37
+ return checked;
38
+ }
39
+ return visibleKeys.includes(candidate);
40
+ });
41
+ onChange(next);
42
+ }
43
+ return (_jsxs("div", { className: "relative", ref: containerRef, children: [_jsx("button", { type: "button", onClick: () => {
44
+ setOpen((current) => !current);
45
+ }, "aria-expanded": open, "aria-haspopup": "menu", className: "rounded-md border border-border bg-surface-raised px-3 py-1.5 text-[12px] font-medium text-ink transition hover:border-border-strong hover:bg-surface-sunken", children: "Columns" }), open && (_jsx("div", { role: "menu", className: "absolute right-0 z-20 mt-1.5 max-h-80 w-56 overflow-y-auto rounded-md border border-border bg-surface-raised py-1", children: options.map((option) => {
46
+ const checked = visibleKeys.includes(option.key);
47
+ const pinned = option.key === pinnedKey;
48
+ return (_jsxs("label", { className: [
49
+ 'flex items-center gap-2 px-3 py-1.5 text-[13px] text-ink',
50
+ pinned ? 'cursor-default text-ink-muted' : 'cursor-pointer hover:bg-surface-sunken',
51
+ ].join(' '), children: [_jsx("input", { type: "checkbox", checked: checked, disabled: pinned, onChange: (event) => {
52
+ toggle(option.key, event.target.checked);
53
+ }, className: "h-3.5 w-3.5" }), _jsx("span", { children: option.label })] }, option.key));
54
+ }) }))] }));
55
+ }
56
+ //# sourceMappingURL=ColumnPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnPicker.js","sourceRoot":"","sources":["../../src/components/ColumnPicker.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { CustomFieldObjectType, CustomFieldValue, CustomFieldValues } from '@kelpie/schemas';
2
+ /**
3
+ * Renders the workspace's custom fields for one record as a full-width panel,
4
+ * dropped into a detail page's Fields tab.
5
+ *
6
+ * Each field patches only its own key; the server merges the sent object into
7
+ * stored values in the same transaction.
8
+ *
9
+ * Currency is edited in major units in the box and stored as integer cents,
10
+ * mirroring how DealDetail handles `value_cents`. Multi-select uses a compact
11
+ * checkbox list because InlineEdit only handles one string in and out.
12
+ *
13
+ * `useHasCustomFields` lets a caller decide whether to render the tab at all —
14
+ * a workspace with no definitions should not see a Fields tab full of empty
15
+ * space with only a "go set one up" pointer.
16
+ */
17
+ export interface CustomFieldsPanelProps {
18
+ readonly objectType: CustomFieldObjectType;
19
+ readonly values: CustomFieldValues;
20
+ readonly onPatch: (change: Readonly<Record<string, CustomFieldValue | null>>) => void;
21
+ }
22
+ export declare function CustomFieldsPanel({ objectType, values, onPatch, }: CustomFieldsPanelProps): React.JSX.Element;
23
+ //# sourceMappingURL=CustomFieldsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomFieldsPanel.d.ts","sourceRoot":"","sources":["../../src/components/CustomFieldsPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,qBAAqB,EAErB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,iBAAiB,CAAA;AAOxB;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAA;IAC1C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI,CAAA;CACtF;AAID,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,MAAM,EACN,OAAO,GACR,EAAE,sBAAsB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAiC5C"}
@@ -0,0 +1,116 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { CUSTOM_FIELD_TYPES_WITH_OPTIONS } from '@kelpie/schemas';
3
+ import { useMemo, useState } from 'react';
4
+ import { Link } from 'react-router';
5
+ import { useCustomFields } from '../api/resources/customFields.js';
6
+ import { InlineEdit } from './InlineEdit.js';
7
+ const OPTIONS_TYPES = new Set(CUSTOM_FIELD_TYPES_WITH_OPTIONS);
8
+ export function CustomFieldsPanel({ objectType, values, onPatch, }) {
9
+ const definitions = useCustomFields({ objectType, sort: 'sort_order', limit: 200 });
10
+ if (definitions.isLoading) {
11
+ return _jsx("p", { className: "text-[13px] text-ink-muted", children: "Loading fields\u2026" });
12
+ }
13
+ if (definitions.records.length === 0) {
14
+ return (_jsxs("p", { className: "text-[13px] text-ink-muted", children: ["No custom fields yet. Add them at", ' ', _jsx(Link, { to: "/admin/fields", className: "text-accent hover:text-accent-hover", children: "Admin \u2192 Fields" }), "."] }));
15
+ }
16
+ return (_jsx("dl", { className: "grid gap-x-8 gap-y-5 sm:grid-cols-2", children: definitions.records.map((definition) => (_jsx(CustomFieldControl, { definition: definition, value: values[definition.key], onChange: (next) => {
17
+ onPatch({ [definition.key]: next });
18
+ } }, definition.id))) }));
19
+ }
20
+ function CustomFieldControl({ definition, value, onChange, }) {
21
+ const type = definition.type;
22
+ return (_jsxs("div", { children: [_jsx("dt", { className: "text-[10px] font-semibold tracking-wide text-ink-faint uppercase", children: definition.label }), definition.description.length > 0 && (_jsx("p", { className: "mt-0.5 text-[11px] text-ink-muted", children: definition.description })), _jsx("dd", { className: "mt-1 text-[13px] text-ink", children: _jsx(ControlFor, { definition: definition, type: type, value: value, onChange: onChange }) })] }));
23
+ }
24
+ function ControlFor({ definition, type, value, onChange, }) {
25
+ if (type === 'checkbox') {
26
+ return (_jsxs("label", { className: "inline-flex cursor-pointer items-center gap-2", children: [_jsx("input", { type: "checkbox", checked: value === true, onChange: (event) => {
27
+ onChange(event.target.checked);
28
+ }, className: "rounded border-border" }), _jsx("span", { children: value === true ? 'Yes' : 'No' })] }));
29
+ }
30
+ if (type === 'multi_select') {
31
+ return (_jsx(MultiSelectField, { options: definition.options, selected: Array.isArray(value) ? value : [], onChange: onChange }));
32
+ }
33
+ if (type === 'currency') {
34
+ const currentCents = typeof value === 'object' &&
35
+ value !== null &&
36
+ !Array.isArray(value) &&
37
+ 'amountCents' in value
38
+ ? value.amountCents
39
+ : null;
40
+ const currentCurrency = typeof value === 'object' &&
41
+ value !== null &&
42
+ !Array.isArray(value) &&
43
+ 'currency' in value
44
+ ? value.currency
45
+ : 'USD';
46
+ return (_jsx(InlineEdit, { type: "number", value: currentCents === null ? '' : String(currentCents / 100), onChange: (raw) => {
47
+ const trimmed = raw.trim();
48
+ if (trimmed.length === 0) {
49
+ onChange(null);
50
+ return;
51
+ }
52
+ const parsed = Number(trimmed);
53
+ if (!Number.isFinite(parsed)) {
54
+ return;
55
+ }
56
+ onChange({
57
+ amountCents: Math.round(parsed * 100),
58
+ currency: currentCurrency,
59
+ });
60
+ }, emptyLabel: "Add\u2026" }));
61
+ }
62
+ if (OPTIONS_TYPES.has(type)) {
63
+ // A stored value that is no longer in the definition's options must still
64
+ // be visible until the reader chooses another; keep it in the list.
65
+ const stored = typeof value === 'string' ? value : '';
66
+ const options = optionsWithStale(definition.options, stored);
67
+ return (_jsx(InlineEdit, { value: stored, options: options.map((option) => ({ value: option, label: option })), onChange: (next) => {
68
+ onChange(next.length === 0 ? null : next);
69
+ }, emptyLabel: "Choose\u2026" }));
70
+ }
71
+ if (type === 'number') {
72
+ const current = typeof value === 'number' ? String(value) : '';
73
+ return (_jsx(InlineEdit, { type: "number", value: current, onChange: (raw) => {
74
+ const trimmed = raw.trim();
75
+ if (trimmed.length === 0) {
76
+ onChange(null);
77
+ return;
78
+ }
79
+ const parsed = Number(trimmed);
80
+ if (Number.isFinite(parsed)) {
81
+ onChange(parsed);
82
+ }
83
+ }, emptyLabel: "Add\u2026" }));
84
+ }
85
+ const inputType = type === 'date' ? 'date' : type === 'url' ? 'url' : 'text';
86
+ const multiline = type === 'long_text';
87
+ const current = typeof value === 'string' ? value : '';
88
+ return (_jsx(InlineEdit, { type: inputType, multiline: multiline, value: current, onChange: (next) => {
89
+ onChange(next.length === 0 ? null : next);
90
+ }, emptyLabel: "Add\u2026" }));
91
+ }
92
+ function MultiSelectField({ options, selected, onChange, }) {
93
+ const [open, setOpen] = useState(false);
94
+ const allOptions = useMemo(() => optionsWithStale(options, ...selected), [options, selected]);
95
+ const chips = selected.length === 0 ? null : (_jsx("div", { className: "flex flex-wrap gap-1", children: selected.map((entry) => (_jsxs("span", { className: "inline-flex items-center gap-1 rounded-full bg-surface-raised px-2 py-0.5 text-[11px]", children: [entry, _jsx("button", { type: "button", onClick: () => {
96
+ const next = selected.filter((existing) => existing !== entry);
97
+ onChange(next.length === 0 ? null : next);
98
+ }, className: "text-ink-muted hover:text-ink", "aria-label": `Remove ${entry}`, children: "\u00D7" })] }, entry))) }));
99
+ return (_jsxs("div", { className: "space-y-1", children: [chips ?? _jsx("span", { className: "text-ink-faint", children: "None" }), _jsx("button", { type: "button", onClick: () => {
100
+ setOpen((current) => !current);
101
+ }, className: "text-[12px] text-ink-muted hover:text-ink", children: open ? 'Close' : 'Edit' }), open && (_jsx("ul", { className: "space-y-1 rounded-md border border-border bg-surface-raised p-2", children: allOptions.map((option) => {
102
+ const chosen = selected.includes(option);
103
+ return (_jsx("li", { children: _jsxs("label", { className: "flex cursor-pointer items-center gap-2 text-[12px]", children: [_jsx("input", { type: "checkbox", checked: chosen, onChange: () => {
104
+ const next = chosen
105
+ ? selected.filter((existing) => existing !== option)
106
+ : [...selected, option];
107
+ onChange(next.length === 0 ? null : next);
108
+ } }), _jsx("span", { children: option })] }) }, option));
109
+ }) }))] }));
110
+ }
111
+ function optionsWithStale(options, ...stored) {
112
+ const seen = new Set(options);
113
+ const extras = stored.filter((entry) => entry.length > 0 && !seen.has(entry));
114
+ return extras.length === 0 ? options : [...options, ...extras];
115
+ }
116
+ //# sourceMappingURL=CustomFieldsPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomFieldsPanel.js","sourceRoot":"","sources":["../../src/components/CustomFieldsPanel.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { ReactNode } from 'react';
2
+ import type { SortValue } from '../lib/sort.ts';
2
3
  export interface Column<TRow> {
3
4
  readonly key: string;
4
5
  readonly header: string;
@@ -6,6 +7,14 @@ export interface Column<TRow> {
6
7
  readonly render: (row: TRow) => ReactNode;
7
8
  /** The `?sort=` field this column drives. Omit for a column with no server-side sort. */
8
9
  readonly sortKey?: string | undefined;
10
+ /**
11
+ * Returns the value this column sorts by on the client. Set on any column
12
+ * whose resource cannot sort on it server-side (join columns, computed
13
+ * values, fields not in the resource's `_SORTS` map). When the active sort
14
+ * names a `Column.key` with this set, `DataTable` orders the loaded rows in
15
+ * place and does not forward the change to the server.
16
+ */
17
+ readonly getSortValue?: ((row: TRow) => SortValue) | undefined;
9
18
  }
10
19
  export interface DataTableGroup<TRow> {
11
20
  readonly id: string;
@@ -31,6 +40,12 @@ export interface DataTableProps<TRow> {
31
40
  readonly sort?: string | undefined;
32
41
  /** Fires with the next `?sort=` value when a sortable header is clicked. Required for any column to be clickable. */
33
42
  readonly onSortChange?: ((sort: string | undefined) => void) | undefined;
43
+ /**
44
+ * Restricts rendering to these column keys, in the order the header uses.
45
+ * Undefined shows every column. An unknown key is ignored rather than raising:
46
+ * a stored preference outliving a rename should hide only what it recognises.
47
+ */
48
+ readonly visibleColumnKeys?: readonly string[] | undefined;
34
49
  }
35
- export declare function DataTable<TRow>({ columns, rows, groups, onRowClick, emptyMessage, emptyDescription, emptyAction, getRowId, sort, onSortChange, }: DataTableProps<TRow>): React.JSX.Element;
50
+ export declare function DataTable<TRow>({ columns, rows, groups, onRowClick, emptyMessage, emptyDescription, emptyAction, getRowId, sort, onSortChange, visibleColumnKeys, }: DataTableProps<TRow>): React.JSX.Element;
36
51
  //# sourceMappingURL=DataTable.d.ts.map