@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
@@ -1,19 +1,46 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState } from 'react';
3
2
  import { Link, useNavigate } from 'react-router';
4
3
  import { useCompanies } from '../api/resources/companies.js';
5
4
  import { useMembers } from '../api/resources/members.js';
6
5
  import { useCreatePartnership, usePartnerships, useUpdatePartnership, } from '../api/resources/partnerships.js';
7
6
  import { usePipelineStages } from '../api/resources/pipelineStages.js';
8
7
  import { MAX_PAGE_SIZE, usePlanItems } from '../api/resources/planItems.js';
8
+ import { useTimezone } from '../api/resources/account.js';
9
9
  import { Chip } from '../components/Chip.js';
10
+ import { ColumnPicker } from '../components/ColumnPicker.js';
10
11
  import { DataTable } from '../components/DataTable.js';
11
12
  import { KanbanBoard } from '../components/KanbanBoard.js';
12
13
  import { PageHeader } from '../components/PageHeader.js';
14
+ import { Paginator } from '../components/Paginator.js';
13
15
  import { ErrorPanel, LoadingPanel } from '../components/QueryState.js';
14
16
  import { SegmentedControl } from '../components/SegmentedControl.js';
15
- import { formatDay } from '../lib/dates.js';
17
+ import { formatDate, formatDay } from '../lib/dates.js';
18
+ import { useListView } from '../lib/listView.js';
16
19
  import { DUE_BUCKETS, byDateThenTitle, dueBucketFor, nextOpenByTarget } from '../lib/plan.js';
20
+ import { serverSortOnly } from '../lib/sort.js';
21
+ const SCOPES = ['open', 'all'];
22
+ const GROUPINGS = ['stage', 'due'];
23
+ function readScope(stored) {
24
+ return SCOPES.includes(stored) ? stored : 'open';
25
+ }
26
+ function readGrouping(stored) {
27
+ return GROUPINGS.includes(stored) ? stored : 'stage';
28
+ }
29
+ const COLUMN_KEYS = [
30
+ 'name',
31
+ 'company',
32
+ 'stage',
33
+ 'kind',
34
+ 'nextPlan',
35
+ 'owner',
36
+ 'next',
37
+ 'goals',
38
+ 'successLooksLike',
39
+ 'tags',
40
+ 'summary',
41
+ 'createdAt',
42
+ 'updatedAt',
43
+ ];
17
44
  /** Tones keyed by the seeded slugs. A renamed stage keeps its slug and its tone. */
18
45
  const STAGE_TONES = {
19
46
  active: 'success',
@@ -23,18 +50,29 @@ const STAGE_TONES = {
23
50
  function stageTone(stage) {
24
51
  return STAGE_TONES[stage.slug] ?? 'neutral';
25
52
  }
53
+ const DEFAULT_VISIBLE_KEYS = [
54
+ 'name',
55
+ 'company',
56
+ 'kind',
57
+ 'nextPlan',
58
+ 'owner',
59
+ 'next',
60
+ ];
61
+ const SERVER_SORT_KEYS = ['name', 'created_at', 'updated_at'];
26
62
  export function PartnershipsPage() {
27
63
  const navigate = useNavigate();
28
- const [view, setView] = useState('list');
29
- const [scope, setScope] = useState('open');
30
- const [grouping, setGrouping] = useState('stage');
31
- const [sort, setSort] = useState(undefined);
64
+ const listView = useListView('partnerships', COLUMN_KEYS, DEFAULT_VISIBLE_KEYS);
65
+ const view = listView.mode ?? 'columns';
66
+ const scope = readScope(listView.scope);
67
+ const grouping = readGrouping(listView.grouping);
68
+ const sort = listView.sort;
32
69
  const stages = usePipelineStages('partnership');
33
- const partnerships = usePartnerships({ sort });
70
+ const partnerships = usePartnerships({ sort: serverSortOnly(sort, SERVER_SORT_KEYS) });
34
71
  const companies = useCompanies({ limit: 200 });
35
72
  const members = useMembers();
36
73
  const createPartnership = useCreatePartnership();
37
74
  const updatePartnership = useUpdatePartnership();
75
+ const timezone = useTimezone();
38
76
  const allStages = [...stages.records].sort((a, b) => a.sortOrder - b.sortOrder);
39
77
  const visibleStages = scope === 'open' ? allStages.filter((stage) => stage.open) : allStages;
40
78
  const visibleStageIds = new Set(visibleStages.map((stage) => stage.id));
@@ -50,7 +88,7 @@ export function PartnershipsPage() {
50
88
  limit: MAX_PAGE_SIZE,
51
89
  }, { enabled: askedIds.length > 0 });
52
90
  const nextPlanByPartnership = nextOpenByTarget(planItems.records);
53
- const plansTruncated = visiblePartnerships.length > MAX_PAGE_SIZE || planItems.hasMore;
91
+ const plansTruncated = visiblePartnerships.length > MAX_PAGE_SIZE || planItems.hasNext;
54
92
  const companyNameById = new Map(companies.records.map((company) => [company.id, company.name]));
55
93
  async function addPartnership() {
56
94
  const firstCompany = companies.records[0];
@@ -63,6 +101,7 @@ export function PartnershipsPage() {
63
101
  });
64
102
  await navigate(`/partnerships/${partnership.id}`);
65
103
  }
104
+ const stageLabelById = new Map(allStages.map((stage) => [stage.id, stage.label]));
66
105
  const columns = [
67
106
  {
68
107
  key: 'name',
@@ -73,16 +112,25 @@ export function PartnershipsPage() {
73
112
  {
74
113
  key: 'company',
75
114
  header: 'Company',
115
+ getSortValue: (partnership) => companyNameById.get(partnership.companyId) ?? null,
76
116
  render: (partnership) => companyNameById.get(partnership.companyId) ?? '—',
77
117
  },
118
+ {
119
+ key: 'stage',
120
+ header: 'Stage',
121
+ getSortValue: (partnership) => stageLabelById.get(partnership.stageId) ?? null,
122
+ render: (partnership) => stageLabelById.get(partnership.stageId) ?? '—',
123
+ },
78
124
  {
79
125
  key: 'kind',
80
126
  header: 'Kind',
127
+ getSortValue: (partnership) => partnership.kind || null,
81
128
  render: (partnership) => (partnership.kind.length > 0 ? partnership.kind : '—'),
82
129
  },
83
130
  {
84
131
  key: 'nextPlan',
85
132
  header: 'Next plan',
133
+ getSortValue: (partnership) => nextPlanByPartnership.get(partnership.id)?.date ?? null,
86
134
  render: (partnership) => {
87
135
  const next = nextPlanByPartnership.get(partnership.id);
88
136
  if (next === undefined) {
@@ -94,6 +142,9 @@ export function PartnershipsPage() {
94
142
  {
95
143
  key: 'owner',
96
144
  header: 'Owner',
145
+ getSortValue: (partnership) => partnership.ownerId === null
146
+ ? null
147
+ : (members.nameById.get(partnership.ownerId) ?? 'Unknown'),
97
148
  render: (partnership) => partnership.ownerId === null
98
149
  ? '—'
99
150
  : (members.nameById.get(partnership.ownerId) ?? 'Unknown'),
@@ -102,9 +153,47 @@ export function PartnershipsPage() {
102
153
  key: 'next',
103
154
  header: 'Next touch',
104
155
  className: 'w-28',
156
+ getSortValue: (partnership) => partnership.nextTouchpoint,
105
157
  render: (partnership) => (_jsx("span", { className: "font-mono text-[12px] text-ink-muted", children: partnership.nextTouchpoint === null ? '—' : formatDay(partnership.nextTouchpoint) })),
106
158
  },
159
+ {
160
+ key: 'goals',
161
+ header: 'Goals',
162
+ getSortValue: (partnership) => partnership.goals || null,
163
+ render: (partnership) => partnership.goals.length === 0 ? '—' : (_jsx("span", { className: "text-ink-muted", children: partnership.goals })),
164
+ },
165
+ {
166
+ key: 'successLooksLike',
167
+ header: 'Success looks like',
168
+ getSortValue: (partnership) => partnership.successLooksLike || null,
169
+ render: (partnership) => partnership.successLooksLike.length === 0 ? '—' : (_jsx("span", { className: "text-ink-muted", children: partnership.successLooksLike })),
170
+ },
171
+ {
172
+ key: 'tags',
173
+ header: 'Tags',
174
+ getSortValue: (partnership) => partnership.tags.join(', ') || null,
175
+ render: (partnership) => partnership.tags.length === 0 ? '—' : (_jsx("span", { className: "flex flex-wrap gap-1", children: partnership.tags.map((tag) => (_jsx(Chip, { children: _jsx("span", { className: "text-[10px]", children: tag }) }, tag))) })),
176
+ },
177
+ {
178
+ key: 'summary',
179
+ header: 'Summary',
180
+ getSortValue: (partnership) => partnership.summary || null,
181
+ render: (partnership) => partnership.summary.length === 0 ? '—' : (_jsx("span", { className: "text-ink-muted", children: partnership.summary })),
182
+ },
183
+ {
184
+ key: 'createdAt',
185
+ header: 'Created',
186
+ sortKey: 'created_at',
187
+ render: (partnership) => formatDate(partnership.createdAt, timezone),
188
+ },
189
+ {
190
+ key: 'updatedAt',
191
+ header: 'Updated',
192
+ sortKey: 'updated_at',
193
+ render: (partnership) => formatDate(partnership.updatedAt, timezone),
194
+ },
107
195
  ];
196
+ const pickerOptions = columns.map((column) => ({ key: column.key, label: column.header }));
108
197
  const stageGroups = visibleStages.map((stage) => ({
109
198
  id: stage.id,
110
199
  label: _jsx(Chip, { tone: stageTone(stage), children: stage.label }),
@@ -141,16 +230,22 @@ export function PartnershipsPage() {
141
230
  const loadError = partnerships.error ?? stages.error;
142
231
  return (_jsxs("div", { className: "animate-fade-in", children: [_jsx(PageHeader, { title: "Partnerships", onAdd: () => {
143
232
  void addPartnership();
144
- }, addLabel: "Add partnership", actions: _jsxs(_Fragment, { children: [_jsx(Link, { to: "/partnerships/settings", className: "rounded-md border border-border bg-surface-raised px-2.5 py-1 text-[12px] font-medium text-ink-muted hover:text-ink", children: "Settings" }), _jsx(SegmentedControl, { ariaLabel: "Status scope", value: scope, onChange: setScope, options: [
233
+ }, addLabel: "Add partnership", actions: _jsxs(_Fragment, { children: [_jsx(Link, { to: "/partnerships/settings", className: "rounded-md border border-border bg-surface-raised px-2.5 py-1 text-[12px] font-medium text-ink-muted hover:text-ink", children: "Settings" }), _jsx(SegmentedControl, { ariaLabel: "Status scope", value: scope, onChange: (next) => {
234
+ listView.setScope(next);
235
+ }, options: [
145
236
  { id: 'open', label: 'Open' },
146
237
  { id: 'all', label: 'All' },
147
- ] }), view === 'list' && (_jsx(SegmentedControl, { ariaLabel: "Group the list", value: grouping, onChange: setGrouping, options: [
238
+ ] }), view === 'list' && (_jsx(SegmentedControl, { ariaLabel: "Group the list", value: grouping, onChange: (next) => {
239
+ listView.setGrouping(next);
240
+ }, options: [
148
241
  { id: 'stage', label: 'By status' },
149
242
  { id: 'due', label: 'By due' },
150
- ] })), _jsx(SegmentedControl, { ariaLabel: "Board or list", value: view, onChange: setView, options: [
243
+ ] })), _jsx(SegmentedControl, { ariaLabel: "Board or list", value: view, onChange: (next) => {
244
+ listView.setMode(next);
245
+ }, options: [
151
246
  { id: 'list', label: 'List' },
152
247
  { id: 'columns', label: 'Board' },
153
- ] })] }) }), companies.records.length === 0 && !companies.isLoading && (_jsx("p", { className: "mb-3 text-[12px] text-ink-faint", children: "A partnership belongs to a company, so add a company before adding a partnership." })), createPartnership.error !== null && (_jsx("div", { className: "mb-3", children: _jsx(ErrorPanel, { error: createPartnership.error }) })), loadError !== null ? (_jsx(ErrorPanel, { error: loadError })) : isLoading ? (_jsx(LoadingPanel, { label: "Loading partnerships\u2026" })) : (_jsxs(_Fragment, { children: [view === 'columns' ? (_jsx(KanbanBoard, { stages: visibleStages.map((stage) => ({ id: stage.id, label: stage.label })), cards: cards, onMove: (partnershipId, stageId) => {
248
+ ] }), view === 'list' && (_jsx(ColumnPicker, { options: pickerOptions, visibleKeys: listView.visibleKeys, onChange: listView.setVisibleKeys }))] }) }), companies.records.length === 0 && !companies.isLoading && (_jsx("p", { className: "mb-3 text-[12px] text-ink-faint", children: "A partnership belongs to a company, so add a company before adding a partnership." })), createPartnership.error !== null && (_jsx("div", { className: "mb-3", children: _jsx(ErrorPanel, { error: createPartnership.error }) })), loadError !== null ? (_jsx(ErrorPanel, { error: loadError })) : isLoading ? (_jsx(LoadingPanel, { label: "Loading partnerships\u2026" })) : (_jsxs(_Fragment, { children: [view === 'list' && _jsx(Paginator, { list: partnerships, placement: "top" }), view === 'columns' ? (_jsx(KanbanBoard, { stages: visibleStages.map((stage) => ({ id: stage.id, label: stage.label })), cards: cards, onMove: (partnershipId, stageId) => {
154
249
  const partnership = partnerships.records.find((candidate) => candidate.id === partnershipId);
155
250
  if (partnership !== undefined && partnership.stageId !== stageId) {
156
251
  updatePartnership.run({ id: partnershipId, changes: { stageId } });
@@ -174,9 +269,11 @@ export function PartnershipsPage() {
174
269
  ? {
175
270
  label: 'Show all partnerships',
176
271
  onClick: () => {
177
- setScope('all');
272
+ listView.setScope('all');
178
273
  },
179
274
  }
180
- : undefined, sort: sort, onSortChange: setSort })), updatePartnership.error !== null && (_jsx("div", { className: "mt-3", children: _jsx(ErrorPanel, { error: updatePartnership.error }) })), partnerships.hasMore && (_jsx("button", { type: "button", onClick: partnerships.loadMore, disabled: partnerships.isLoadingMore, className: "mt-3 rounded-md border border-border px-3 py-1.5 text-[12px] font-medium text-ink transition hover:border-border-strong hover:bg-surface-sunken disabled:opacity-50", children: partnerships.isLoadingMore ? 'Loading…' : 'Load more' })), companies.hasMore && (_jsx("p", { className: "mt-2 text-[11px] text-ink-faint", children: "More companies exist than one page returns, so some company names may show as \u201C\u2014\u201D." })), plansTruncated && (_jsx("p", { className: "mt-2 text-[11px] text-ink-faint", children: "More plan items exist than one page returns, so some partnerships may show no next plan." }))] }))] }));
275
+ : undefined, sort: sort, onSortChange: (next) => {
276
+ listView.setSort(next);
277
+ }, visibleColumnKeys: listView.visibleKeys })), updatePartnership.error !== null && (_jsx("div", { className: "mt-3", children: _jsx(ErrorPanel, { error: updatePartnership.error }) })), view === 'list' && _jsx(Paginator, { list: partnerships }), companies.hasNext && (_jsx("p", { className: "mt-2 text-[11px] text-ink-faint", children: "More companies exist than one page returns, so some company names may show as \u201C\u2014\u201D." })), plansTruncated && (_jsx("p", { className: "mt-2 text-[11px] text-ink-faint", children: "More plan items exist than one page returns, so some partnerships may show no next plan." }))] }))] }));
181
278
  }
182
279
  //# sourceMappingURL=PartnershipsPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PartnershipsPage.js","sourceRoot":"","sources":["../../src/pages/PartnershipsPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,oBAAoB,GACrB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAwB,CAAA;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA6B,CAAA;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA+B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA8B,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,6BAA8B,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAoC,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAY7F,oFAAoF;AACpF,MAAM,WAAW,GAAuC;IACtD,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,SAAS;CAClB,CAAA;AAED,SAAS,SAAS,CAAC,KAAoB;IACrC,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAY,MAAM,CAAC,CAAA;IACnD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,MAAM,CAAC,CAAA;IACzD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAe,OAAO,CAAC,CAAA;IAC/D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAA;IAE/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC/C,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9C,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAA;IAChD,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAA;IAEhD,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAA;IAC/E,MAAM,aAAa,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5F,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IACvE,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CACtE,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CACzC,CAAA;IAED,6EAA6E;IAC7E,2EAA2E;IAC3E,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACjG,MAAM,SAAS,GAAG,YAAY,CAC5B;QACE,UAAU,EAAE,aAAa;QACzB,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;QACjC,KAAK,EAAE,aAAa;KACrB,EACD,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CACjC,CAAA;IACD,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACjE,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,GAAG,aAAa,IAAI,SAAS,CAAC,OAAO,CAAA;IAEtF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAE/F,KAAK,UAAU,cAAc;QAC3B,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAEzC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAM;QACR,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC;YACnD,IAAI,EAAE,iBAAiB;YACvB,SAAS,EAAE,YAAY,CAAC,EAAE;SAC3B,CAAC,CAAA;QAEF,MAAM,QAAQ,CAAC,iBAAiB,WAAW,CAAC,EAAE,EAAE,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,OAAO,GAAmC;QAC9C;YACE,GAAG,EAAE,MAAM;YACX,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,eAAM,SAAS,EAAC,sBAAsB,YAAE,WAAW,CAAC,IAAI,GAAQ;SAC1F;QACD;YACE,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,GAAG;SAC3E;QACD;YACE,GAAG,EAAE,MAAM;YACX,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;SAChF;QACD;YACE,GAAG,EAAE,UAAU;YACf,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE;gBACtB,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;gBAEtD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,OAAO,GAAG,CAAA;gBACZ,CAAC;gBAED,OAAO,CACL,gBAAM,SAAS,EAAC,gBAAgB,aAC7B,IAAI,CAAC,KAAK,EACX,eAAM,SAAS,EAAC,6CAA6C,YAC1D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAChB,IACF,CACR,CAAA;YACH,CAAC;SACF;QACD;YACE,GAAG,EAAE,OAAO;YACZ,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,CACtB,WAAW,CAAC,OAAO,KAAK,IAAI;gBAC1B,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;SAC/D;QACD;YACE,GAAG,EAAE,MAAM;YACX,MAAM,EAAE,YAAY;YACpB,SAAS,EAAE,MAAM;YACjB,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CACvB,eAAM,SAAS,EAAC,sCAAsC,YACnD,WAAW,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,GAC7E,CACR;SACF;KACF,CAAA;IAED,MAAM,WAAW,GAA2C,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxF,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,KAAK,EAAE,KAAC,IAAI,IAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,YAAG,KAAK,CAAC,KAAK,GAAQ;QACzD,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC;KACpF,CAAC,CAAC,CAAA;IAEH,oFAAoF;IACpF,MAAM,SAAS,GAA2C,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrF,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,mBAAmB;aACtB,MAAM,CACL,CAAC,WAAW,EAAE,EAAE,CACd,YAAY,CAAC,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC,EAAE,CAC9E;aACA,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACpB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACnD,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAErD,IAAI,QAAQ,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBACtD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC5C,CAAC;YAED,OAAO,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACpF,CAAC,CAAC;KACL,CAAC,CAAC,CAAA;IAEH,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACtD,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAC9D,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAExF,OAAO;YACL,EAAE,EAAE,WAAW,CAAC,EAAE;YAClB,KAAK,EAAE,WAAW,CAAC,OAAO;YAC1B,KAAK,EAAE,WAAW,CAAC,IAAI;YACvB,IAAI;YACJ,IAAI,EAAE,iBAAiB,WAAW,CAAC,EAAE,EAAE;SACxC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAA;IAC5D,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAA;IAEpD,OAAO,CACL,eAAK,SAAS,EAAC,iBAAiB,aAC9B,KAAC,UAAU,IACT,KAAK,EAAC,cAAc,EACpB,KAAK,EAAE,GAAG,EAAE;oBACV,KAAK,cAAc,EAAE,CAAA;gBACvB,CAAC,EACD,QAAQ,EAAC,iBAAiB,EAC1B,OAAO,EACL,8BACE,KAAC,IAAI,IACH,EAAE,EAAC,wBAAwB,EAC3B,SAAS,EAAC,qHAAqH,yBAG1H,EACP,KAAC,gBAAgB,IACf,SAAS,EAAC,cAAc,EACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE;gCACP,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gCAC7B,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;6BAC5B,GACD,EACD,IAAI,KAAK,MAAM,IAAI,CAClB,KAAC,gBAAgB,IACf,SAAS,EAAC,gBAAgB,EAC1B,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE;gCACP,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE;gCACnC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE;6BAC/B,GACD,CACH,EACD,KAAC,gBAAgB,IACf,SAAS,EAAC,eAAe,EACzB,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE;gCACP,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gCAC7B,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;6BAClC,GACD,IACD,GAEL,EAED,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,CACzD,YAAG,SAAS,EAAC,iCAAiC,kGAE1C,CACL,EAEA,iBAAiB,CAAC,KAAK,KAAK,IAAI,IAAI,CACnC,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,UAAU,IAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,GAAI,GAC1C,CACP,EAEA,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,CACpB,KAAC,UAAU,IAAC,KAAK,EAAE,SAAS,GAAI,CACjC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACd,KAAC,YAAY,IAAC,KAAK,EAAC,4BAAuB,GAAG,CAC/C,CAAC,CAAC,CAAC,CACF,8BACG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CACpB,KAAC,WAAW,IACV,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAC5E,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE;4BACjC,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAC3C,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,aAAa,CAC9C,CAAA;4BAED,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gCACjE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;4BACpE,CAAC;wBACH,CAAC,GACD,CACH,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,IACR,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACtD,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,EACzC,UAAU,EAAE,CAAC,WAAW,EAAE,EAAE;4BAC1B,KAAK,QAAQ,CAAC,iBAAiB,WAAW,CAAC,EAAE,EAAE,CAAC,CAAA;wBAClD,CAAC,EACD,YAAY,EACV,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;4BAC/B,CAAC,CAAC,qBAAqB;4BACvB,CAAC,CAAC,KAAK,KAAK,MAAM;gCAChB,CAAC,CAAC,sBAAsB;gCACxB,CAAC,CAAC,8BAA8B,EAEtC,gBAAgB,EACd,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,KAAK,MAAM;4BACjD,CAAC,CAAC,qDAAqD;4BACvD,CAAC,CAAC,SAAS,EAEf,WAAW,EACT,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;4BAC/B,CAAC,CAAC;gCACE,KAAK,EAAE,iBAAiB;gCACxB,OAAO,EAAE,GAAG,EAAE;oCACZ,KAAK,cAAc,EAAE,CAAA;gCACvB,CAAC;6BACF;4BACH,CAAC,CAAC,KAAK,KAAK,MAAM;gCAChB,CAAC,CAAC;oCACE,KAAK,EAAE,uBAAuB;oCAC9B,OAAO,EAAE,GAAG,EAAE;wCACZ,QAAQ,CAAC,KAAK,CAAC,CAAA;oCACjB,CAAC;iCACF;gCACH,CAAC,CAAC,SAAS,EAEjB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,OAAO,GACrB,CACH,EACA,iBAAiB,CAAC,KAAK,KAAK,IAAI,IAAI,CACnC,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,UAAU,IAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,GAAI,GAC1C,CACP,EACA,YAAY,CAAC,OAAO,IAAI,CACvB,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,YAAY,CAAC,QAAQ,EAC9B,QAAQ,EAAE,YAAY,CAAC,aAAa,EACpC,SAAS,EAAC,qKAAqK,YAE9K,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,GAC/C,CACV,EACA,SAAS,CAAC,OAAO,IAAI,CACpB,YAAG,SAAS,EAAC,iCAAiC,kHAE1C,CACL,EACA,cAAc,IAAI,CACjB,YAAG,SAAS,EAAC,iCAAiC,yGAG1C,CACL,IACA,CACJ,IACG,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"PartnershipsPage.js","sourceRoot":"","sources":["../../src/pages/PartnershipsPage.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PeoplePage.d.ts","sourceRoot":"","sources":["../../src/pages/PeoplePage.tsx"],"names":[],"mappings":"AAYA;;;;;;;GAOG;AACH,wBAAgB,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CA4H9C"}
1
+ {"version":3,"file":"PeoplePage.d.ts","sourceRoot":"","sources":["../../src/pages/PeoplePage.tsx"],"names":[],"mappings":"AAuCA;;;;;;;GAOG;AACH,wBAAgB,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAmP9C"}
@@ -1,12 +1,36 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { useNavigate } from 'react-router';
4
+ import { useTimezone } from '../api/resources/account.js';
4
5
  import { useCreatePerson, usePeople } from '../api/resources/people.js';
5
6
  import { Chip } from '../components/Chip.js';
7
+ import { ColumnPicker } from '../components/ColumnPicker.js';
6
8
  import { DataTable } from '../components/DataTable.js';
7
9
  import { FilterBar, PageHeader } from '../components/PageHeader.js';
10
+ import { Paginator } from '../components/Paginator.js';
8
11
  import { ErrorPanel, LoadingPanel } from '../components/QueryState.js';
12
+ import { formatDate } from '../lib/dates.js';
13
+ import { useListView } from '../lib/listView.js';
14
+ import { serverSortOnly } from '../lib/sort.js';
9
15
  import { usePeopleDirectory } from './positionDirectory.js';
16
+ /**
17
+ * Column catalog for People. Every field the wire schema carries appears here,
18
+ * plus the two joined-in columns (position title, company names) computed from
19
+ * the position directory. `sortKey` names the server field; `getSortValue`
20
+ * enables the DataTable's page-local sort for columns the server does not
21
+ * index. Everything not in `DEFAULT_VISIBLE_KEYS` starts hidden and comes back
22
+ * through the Columns picker.
23
+ */
24
+ const DEFAULT_VISIBLE_KEYS = ['name', 'email', 'phones', 'company', 'updatedAt'];
25
+ /** The sort fields `/v1/people` accepts. Anything else is a client-only sort. */
26
+ const SERVER_SORT_KEYS = ['name', 'created_at', 'updated_at'];
27
+ /** Written out because "Firstname" is what deriving these from the key would give. */
28
+ const NAME_PART_HEADERS = {
29
+ salutation: 'Salutation',
30
+ firstName: 'First name',
31
+ lastName: 'Last name',
32
+ suffix: 'Suffix',
33
+ };
10
34
  /**
11
35
  * The People list.
12
36
  *
@@ -19,8 +43,12 @@ export function PeoplePage() {
19
43
  const [term, setTerm] = useState('');
20
44
  const [sort, setSort] = useState(undefined);
21
45
  const navigate = useNavigate();
46
+ const timezone = useTimezone();
22
47
  const hasFilter = term.trim().length > 0;
23
- const people = usePeople({ term: hasFilter ? term.trim() : undefined, sort });
48
+ const people = usePeople({
49
+ term: hasFilter ? term.trim() : undefined,
50
+ sort: serverSortOnly(sort, SERVER_SORT_KEYS),
51
+ });
24
52
  const directory = usePeopleDirectory(people.records.map((person) => person.id));
25
53
  const createPerson = useCreatePerson();
26
54
  async function addPerson() {
@@ -36,28 +64,116 @@ export function PeoplePage() {
36
64
  sortKey: 'name',
37
65
  render: (person) => _jsx("span", { className: "font-medium text-ink", children: person.name }),
38
66
  },
67
+ // Hidden by default, and sorted page-locally rather than by the server: the
68
+ // parts are nullable, and `?sort=` is keyset paged, which cannot seek past a
69
+ // null. The catalog carries them so a workspace that imported them can put
70
+ // them back through the Columns picker.
71
+ ...['salutation', 'firstName', 'lastName', 'suffix'].map((key) => ({
72
+ key,
73
+ header: NAME_PART_HEADERS[key],
74
+ getSortValue: (person) => person[key],
75
+ render: (person) => person[key] ?? '—',
76
+ })),
39
77
  {
40
78
  key: 'position',
41
79
  header: 'Position',
80
+ getSortValue: (person) => directory.titleFor(person.id) ?? null,
42
81
  render: (person) => directory.titleFor(person.id) ?? '—',
43
82
  },
44
83
  {
45
84
  key: 'company',
46
85
  header: 'Company',
86
+ getSortValue: (person) => directory.companyNamesFor(person.id).join(', ') || null,
47
87
  render: (person) => {
48
88
  const names = directory.companyNamesFor(person.id);
49
89
  return names.length > 0 ? names.join(', ') : '—';
50
90
  },
51
91
  },
92
+ {
93
+ key: 'email',
94
+ header: 'Email',
95
+ getSortValue: (person) => person.email,
96
+ render: (person) => person.email === null ? ('—') : (_jsx("span", { className: "font-mono text-[12px] text-ink-muted", children: person.email })),
97
+ },
98
+ {
99
+ key: 'phones',
100
+ header: 'Phones',
101
+ getSortValue: (person) => person.phones.join(', ') || null,
102
+ render: (person) => person.phones.length === 0 ? '—' : (_jsx("span", { className: "font-mono text-[12px] text-ink-muted", children: person.phones.join(', ') })),
103
+ },
104
+ {
105
+ key: 'socials',
106
+ header: 'Socials',
107
+ getSortValue: (person) => person.socialProfiles.map((entry) => entry.network).join(', ') || null,
108
+ render: (person) => person.socialProfiles.length === 0 ? '—' : (_jsx("span", { className: "flex flex-wrap gap-1", children: person.socialProfiles.map((entry) => (_jsx(Chip, { children: _jsx("span", { className: "text-[10px]", children: entry.network }) }, entry.network))) })),
109
+ },
110
+ {
111
+ key: 'location',
112
+ header: 'Location',
113
+ getSortValue: (person) => person.location,
114
+ render: (person) => person.location ?? '—',
115
+ },
116
+ {
117
+ key: 'timezone',
118
+ header: 'Timezone',
119
+ getSortValue: (person) => person.timezone,
120
+ render: (person) => person.timezone === null ? '—' : (_jsx("span", { className: "font-mono text-[12px] text-ink-muted", children: person.timezone })),
121
+ },
122
+ {
123
+ key: 'preferredChannel',
124
+ header: 'Preferred channel',
125
+ getSortValue: (person) => person.preferredChannel,
126
+ render: (person) => _jsx("span", { className: "capitalize", children: person.preferredChannel }),
127
+ },
128
+ {
129
+ key: 'influence',
130
+ header: 'Influence',
131
+ getSortValue: (person) => person.influence,
132
+ render: (person) => _jsx("span", { className: "capitalize", children: person.influence.replace('_', ' ') }),
133
+ },
134
+ {
135
+ key: 'relationship',
136
+ header: 'Relationship',
137
+ getSortValue: (person) => person.relationship,
138
+ render: (person) => _jsx("span", { className: "capitalize", children: person.relationship }),
139
+ },
140
+ {
141
+ key: 'summary',
142
+ header: 'Summary',
143
+ getSortValue: (person) => person.summary || null,
144
+ render: (person) => person.summary.length === 0 ? '—' : (_jsx("span", { className: "text-ink-muted", children: person.summary })),
145
+ },
52
146
  {
53
147
  key: 'tags',
54
148
  header: 'Tags',
149
+ getSortValue: (person) => person.tags.join(', ') || null,
55
150
  render: (person) => person.tags.length > 0 ? (_jsx("span", { className: "flex flex-wrap gap-1", children: person.tags.map((tag) => (_jsx(Chip, { children: _jsx("span", { className: "text-[10px]", children: tag }) }, tag))) })) : ('—'),
56
151
  },
152
+ {
153
+ key: 'lastContactedAt',
154
+ header: 'Last contacted',
155
+ getSortValue: (person) => person.lastContactedAt,
156
+ render: (person) => person.lastContactedAt === null ? '—' : formatDate(person.lastContactedAt, timezone),
157
+ },
158
+ {
159
+ key: 'createdAt',
160
+ header: 'Created',
161
+ sortKey: 'created_at',
162
+ render: (person) => formatDate(person.createdAt, timezone),
163
+ },
164
+ {
165
+ key: 'updatedAt',
166
+ header: 'Updated',
167
+ sortKey: 'updated_at',
168
+ render: (person) => formatDate(person.updatedAt, timezone),
169
+ },
57
170
  ];
171
+ const supportedKeys = columns.map((column) => column.key);
172
+ const listView = useListView('people', supportedKeys, DEFAULT_VISIBLE_KEYS);
173
+ const pickerOptions = columns.map((column) => ({ key: column.key, label: column.header }));
58
174
  return (_jsxs("div", { className: "animate-fade-in", children: [_jsx(PageHeader, { title: "People", onAdd: () => {
59
175
  void addPerson();
60
- }, addLabel: "Add person" }), _jsx(FilterBar, { value: term, onChange: setTerm, placeholder: "Filter by name, position, company\u2026" }), createPerson.error !== null && (_jsx("div", { className: "mb-3", children: _jsx(ErrorPanel, { error: createPerson.error }) })), people.error !== null ? (_jsx(ErrorPanel, { error: people.error })) : people.isLoading ? (_jsx(LoadingPanel, { label: "Loading people\u2026" })) : (_jsxs(_Fragment, { children: [_jsx(DataTable, { columns: columns, rows: people.records, getRowId: (person) => person.id, onRowClick: (person) => {
176
+ }, addLabel: "Add person", actions: _jsx(ColumnPicker, { options: pickerOptions, visibleKeys: listView.visibleKeys, onChange: listView.setVisibleKeys }) }), _jsx(FilterBar, { value: term, onChange: setTerm, placeholder: "Filter by name, position, company\u2026" }), createPerson.error !== null && (_jsx("div", { className: "mb-3", children: _jsx(ErrorPanel, { error: createPerson.error }) })), people.error !== null ? (_jsx(ErrorPanel, { error: people.error })) : people.isLoading ? (_jsx(LoadingPanel, { label: "Loading people\u2026" })) : (_jsxs(_Fragment, { children: [_jsx(Paginator, { list: people, placement: "top" }), _jsx(DataTable, { columns: columns, rows: people.records, getRowId: (person) => person.id, onRowClick: (person) => {
61
177
  void navigate(`/people/${person.id}`);
62
178
  }, emptyMessage: hasFilter ? 'No people match this filter' : 'No people yet', emptyDescription: hasFilter ? 'Try a different search term.' : undefined, emptyAction: hasFilter
63
179
  ? undefined
@@ -66,6 +182,6 @@ export function PeoplePage() {
66
182
  onClick: () => {
67
183
  void addPerson();
68
184
  },
69
- }, sort: sort, onSortChange: setSort }), !directory.isComplete && !directory.isLoading && (_jsx("p", { className: "mt-2 text-[11px] text-ink-faint", children: "These people hold more positions than one page returns, so some rows may read \u201C\u2014\u201D." })), people.hasMore && (_jsx("button", { type: "button", onClick: people.loadMore, disabled: people.isLoadingMore, className: "mt-3 rounded-md border border-border px-3 py-1.5 text-[12px] font-medium text-ink transition hover:border-border-strong hover:bg-surface-sunken disabled:opacity-50", children: people.isLoadingMore ? 'Loading…' : 'Load more' }))] }))] }));
185
+ }, sort: sort, onSortChange: setSort, visibleColumnKeys: listView.visibleKeys }), !directory.isComplete && !directory.isLoading && (_jsx("p", { className: "mt-2 text-[11px] text-ink-faint", children: "These people hold more positions than one page returns, so some rows may read \u201C\u2014\u201D." })), _jsx(Paginator, { list: people })] }))] }));
70
186
  }
71
187
  //# sourceMappingURL=PeoplePage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PeoplePage.js","sourceRoot":"","sources":["../../src/pages/PeoplePage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PeoplePage.js","sourceRoot":"","sources":["../../src/pages/PeoplePage.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PersonDetail.d.ts","sourceRoot":"","sources":["../../src/pages/PersonDetail.tsx"],"names":[],"mappings":"AAiEA,wBAAgB,YAAY,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAoFhD"}
1
+ {"version":3,"file":"PersonDetail.d.ts","sourceRoot":"","sources":["../../src/pages/PersonDetail.tsx"],"names":[],"mappings":"AA6EA,wBAAgB,YAAY,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAgGhD"}