@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.
- package/dist/api/resource.d.ts +59 -6
- package/dist/api/resource.d.ts.map +1 -1
- package/dist/api/resource.js +106 -24
- package/dist/api/resource.js.map +1 -1
- package/dist/api/resources/companies.d.ts +2 -0
- package/dist/api/resources/companies.d.ts.map +1 -1
- package/dist/api/resources/companies.js +5 -1
- package/dist/api/resources/companies.js.map +1 -1
- package/dist/api/resources/consentPurposes.d.ts +13 -0
- package/dist/api/resources/consentPurposes.d.ts.map +1 -0
- package/dist/api/resources/consentPurposes.js +39 -0
- package/dist/api/resources/consentPurposes.js.map +1 -0
- package/dist/api/resources/customFields.d.ts +15 -0
- package/dist/api/resources/customFields.d.ts.map +1 -0
- package/dist/api/resources/customFields.js +41 -0
- package/dist/api/resources/customFields.js.map +1 -0
- package/dist/api/resources/decisions.d.ts +2 -0
- package/dist/api/resources/decisions.d.ts.map +1 -1
- package/dist/api/resources/decisions.js +1 -0
- package/dist/api/resources/decisions.js.map +1 -1
- package/dist/api/resources/emailDomainLinker.d.ts +16 -0
- package/dist/api/resources/emailDomainLinker.d.ts.map +1 -0
- package/dist/api/resources/emailDomainLinker.js +16 -0
- package/dist/api/resources/emailDomainLinker.js.map +1 -0
- package/dist/api/resources/enquiries.d.ts +39 -0
- package/dist/api/resources/enquiries.d.ts.map +1 -0
- package/dist/api/resources/enquiries.js +68 -0
- package/dist/api/resources/enquiries.js.map +1 -0
- package/dist/api/resources/forms.d.ts +21 -1
- package/dist/api/resources/forms.d.ts.map +1 -1
- package/dist/api/resources/forms.js +44 -17
- package/dist/api/resources/forms.js.map +1 -1
- package/dist/api/resources/handbookPages.d.ts +1 -1
- package/dist/api/resources/handbookPages.js +1 -1
- package/dist/api/resources/importJobs.d.ts +5 -0
- package/dist/api/resources/importJobs.d.ts.map +1 -1
- package/dist/api/resources/importJobs.js +3 -0
- package/dist/api/resources/importJobs.js.map +1 -1
- package/dist/api/resources/listMembers.d.ts +27 -0
- package/dist/api/resources/listMembers.d.ts.map +1 -0
- package/dist/api/resources/listMembers.js +108 -0
- package/dist/api/resources/listMembers.js.map +1 -0
- package/dist/api/resources/lists.d.ts +14 -0
- package/dist/api/resources/lists.d.ts.map +1 -0
- package/dist/api/resources/lists.js +34 -0
- package/dist/api/resources/lists.js.map +1 -0
- package/dist/api/resources/opportunities.d.ts +2 -0
- package/dist/api/resources/opportunities.d.ts.map +1 -1
- package/dist/api/resources/opportunities.js +1 -0
- package/dist/api/resources/opportunities.js.map +1 -1
- package/dist/api/resources/people.d.ts.map +1 -1
- package/dist/api/resources/people.js +4 -1
- package/dist/api/resources/people.js.map +1 -1
- package/dist/api/resources/roles.d.ts +2 -0
- package/dist/api/resources/roles.d.ts.map +1 -1
- package/dist/api/resources/roles.js +1 -1
- package/dist/api/resources/roles.js.map +1 -1
- package/dist/api/resources/sampleData.d.ts +17 -0
- package/dist/api/resources/sampleData.d.ts.map +1 -0
- package/dist/api/resources/sampleData.js +31 -0
- package/dist/api/resources/sampleData.js.map +1 -0
- package/dist/api/resources/webhooks.d.ts.map +1 -1
- package/dist/api/resources/webhooks.js +7 -22
- package/dist/api/resources/webhooks.js.map +1 -1
- package/dist/app/KelpieApp.d.ts.map +1 -1
- package/dist/app/KelpieApp.js +9 -1
- package/dist/app/KelpieApp.js.map +1 -1
- package/dist/components/ActivitiesPanel.d.ts.map +1 -1
- package/dist/components/ActivitiesPanel.js +3 -1
- package/dist/components/ActivitiesPanel.js.map +1 -1
- package/dist/components/ColumnPicker.d.ts +24 -0
- package/dist/components/ColumnPicker.d.ts.map +1 -0
- package/dist/components/ColumnPicker.js +56 -0
- package/dist/components/ColumnPicker.js.map +1 -0
- package/dist/components/CustomFieldsPanel.d.ts +23 -0
- package/dist/components/CustomFieldsPanel.d.ts.map +1 -0
- package/dist/components/CustomFieldsPanel.js +116 -0
- package/dist/components/CustomFieldsPanel.js.map +1 -0
- package/dist/components/DataTable.d.ts +16 -1
- package/dist/components/DataTable.d.ts.map +1 -1
- package/dist/components/DataTable.js +51 -10
- package/dist/components/DataTable.js.map +1 -1
- package/dist/components/DecisionsPanel.d.ts.map +1 -1
- package/dist/components/DecisionsPanel.js +4 -3
- package/dist/components/DecisionsPanel.js.map +1 -1
- package/dist/components/EntitySearch.d.ts.map +1 -1
- package/dist/components/EntitySearch.js +11 -5
- package/dist/components/EntitySearch.js.map +1 -1
- package/dist/components/FormsPanel.d.ts +18 -0
- package/dist/components/FormsPanel.d.ts.map +1 -0
- package/dist/components/FormsPanel.js +37 -0
- package/dist/components/FormsPanel.js.map +1 -0
- package/dist/components/ListsPanel.d.ts +14 -0
- package/dist/components/ListsPanel.d.ts.map +1 -0
- package/dist/components/ListsPanel.js +56 -0
- package/dist/components/ListsPanel.js.map +1 -0
- package/dist/components/NotesPanel.d.ts.map +1 -1
- package/dist/components/NotesPanel.js +6 -5
- package/dist/components/NotesPanel.js.map +1 -1
- package/dist/components/Paginator.d.ts +26 -0
- package/dist/components/Paginator.d.ts.map +1 -0
- package/dist/components/Paginator.js +16 -0
- package/dist/components/Paginator.js.map +1 -0
- package/dist/components/PlanAttention.d.ts +3 -2
- package/dist/components/PlanAttention.d.ts.map +1 -1
- package/dist/components/PlanAttention.js +7 -3
- package/dist/components/PlanAttention.js.map +1 -1
- package/dist/components/PlanPanel.d.ts.map +1 -1
- package/dist/components/PlanPanel.js +2 -1
- package/dist/components/PlanPanel.js.map +1 -1
- package/dist/components/Shell.d.ts.map +1 -1
- package/dist/components/Shell.js +4 -0
- package/dist/components/Shell.js.map +1 -1
- package/dist/components/useHasCustomFields.d.ts +13 -0
- package/dist/components/useHasCustomFields.d.ts.map +1 -0
- package/dist/components/useHasCustomFields.js +16 -0
- package/dist/components/useHasCustomFields.js.map +1 -0
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/listView.d.ts +15 -0
- package/dist/lib/listView.d.ts.map +1 -0
- package/dist/lib/listView.js +66 -0
- package/dist/lib/listView.js.map +1 -0
- package/dist/lib/sort.d.ts +43 -0
- package/dist/lib/sort.d.ts.map +1 -0
- package/dist/lib/sort.js +102 -0
- package/dist/lib/sort.js.map +1 -0
- package/dist/pages/CompaniesPage.d.ts.map +1 -1
- package/dist/pages/CompaniesPage.js +88 -3
- package/dist/pages/CompaniesPage.js.map +1 -1
- package/dist/pages/CompanyDetail.d.ts.map +1 -1
- package/dist/pages/CompanyDetail.js +40 -15
- package/dist/pages/CompanyDetail.js.map +1 -1
- package/dist/pages/DealDetail.d.ts.map +1 -1
- package/dist/pages/DealDetail.js +20 -1
- package/dist/pages/DealDetail.js.map +1 -1
- package/dist/pages/DealsPage.d.ts.map +1 -1
- package/dist/pages/DealsPage.js +134 -14
- package/dist/pages/DealsPage.js.map +1 -1
- package/dist/pages/DecisionsPage.d.ts.map +1 -1
- package/dist/pages/DecisionsPage.js +52 -8
- package/dist/pages/DecisionsPage.js.map +1 -1
- package/dist/pages/EnquiriesPage.d.ts +2 -0
- package/dist/pages/EnquiriesPage.d.ts.map +1 -0
- package/dist/pages/EnquiriesPage.js +251 -0
- package/dist/pages/EnquiriesPage.js.map +1 -0
- package/dist/pages/EnquiryDetail.d.ts +2 -0
- package/dist/pages/EnquiryDetail.d.ts.map +1 -0
- package/dist/pages/EnquiryDetail.js +207 -0
- package/dist/pages/EnquiryDetail.js.map +1 -0
- package/dist/pages/EnquiryStageSettingsPage.d.ts +3 -0
- package/dist/pages/EnquiryStageSettingsPage.d.ts.map +1 -0
- package/dist/pages/EnquiryStageSettingsPage.js +34 -0
- package/dist/pages/EnquiryStageSettingsPage.js.map +1 -0
- package/dist/pages/FormDetail.d.ts.map +1 -1
- package/dist/pages/FormDetail.js +19 -1
- package/dist/pages/FormDetail.js.map +1 -1
- package/dist/pages/FormsPage.d.ts.map +1 -1
- package/dist/pages/FormsPage.js +53 -2
- package/dist/pages/FormsPage.js.map +1 -1
- package/dist/pages/FundraisingPage.d.ts.map +1 -1
- package/dist/pages/FundraisingPage.js +116 -14
- package/dist/pages/FundraisingPage.js.map +1 -1
- package/dist/pages/HiringPage.d.ts.map +1 -1
- package/dist/pages/HiringPage.js +27 -4
- package/dist/pages/HiringPage.js.map +1 -1
- package/dist/pages/ListDetail.d.ts +11 -0
- package/dist/pages/ListDetail.d.ts.map +1 -0
- package/dist/pages/ListDetail.js +214 -0
- package/dist/pages/ListDetail.js.map +1 -0
- package/dist/pages/ListsPage.d.ts +9 -0
- package/dist/pages/ListsPage.d.ts.map +1 -0
- package/dist/pages/ListsPage.js +125 -0
- package/dist/pages/ListsPage.js.map +1 -0
- package/dist/pages/OpportunitiesPage.d.ts.map +1 -1
- package/dist/pages/OpportunitiesPage.js +97 -14
- package/dist/pages/OpportunitiesPage.js.map +1 -1
- package/dist/pages/OpportunityDetail.d.ts.map +1 -1
- package/dist/pages/OpportunityDetail.js +64 -3
- package/dist/pages/OpportunityDetail.js.map +1 -1
- package/dist/pages/PartnershipDetail.d.ts.map +1 -1
- package/dist/pages/PartnershipDetail.js +19 -1
- package/dist/pages/PartnershipDetail.js.map +1 -1
- package/dist/pages/PartnershipsPage.d.ts.map +1 -1
- package/dist/pages/PartnershipsPage.js +111 -14
- package/dist/pages/PartnershipsPage.js.map +1 -1
- package/dist/pages/PeoplePage.d.ts.map +1 -1
- package/dist/pages/PeoplePage.js +119 -3
- package/dist/pages/PeoplePage.js.map +1 -1
- package/dist/pages/PersonDetail.d.ts.map +1 -1
- package/dist/pages/PersonDetail.js +67 -5
- package/dist/pages/PersonDetail.js.map +1 -1
- package/dist/pages/PlanningPage.d.ts.map +1 -1
- package/dist/pages/PlanningPage.js +88 -17
- package/dist/pages/PlanningPage.js.map +1 -1
- package/dist/pages/RaiseDetail.d.ts.map +1 -1
- package/dist/pages/RaiseDetail.js +13 -1
- package/dist/pages/RaiseDetail.js.map +1 -1
- package/dist/pages/RoleDetail.d.ts.map +1 -1
- package/dist/pages/RoleDetail.js +5 -4
- package/dist/pages/RoleDetail.js.map +1 -1
- package/dist/pages/SearchPage.d.ts.map +1 -1
- package/dist/pages/SearchPage.js +1 -0
- package/dist/pages/SearchPage.js.map +1 -1
- package/dist/pages/admin/DataPage.d.ts.map +1 -1
- package/dist/pages/admin/DataPage.js +126 -13
- package/dist/pages/admin/DataPage.js.map +1 -1
- package/dist/pages/admin/FieldsPage.d.ts +2 -0
- package/dist/pages/admin/FieldsPage.d.ts.map +1 -0
- package/dist/pages/admin/FieldsPage.js +164 -0
- package/dist/pages/admin/FieldsPage.js.map +1 -0
- package/dist/pages/admin/PrivacyPage.d.ts +9 -0
- package/dist/pages/admin/PrivacyPage.d.ts.map +1 -0
- package/dist/pages/admin/PrivacyPage.js +170 -0
- package/dist/pages/admin/PrivacyPage.js.map +1 -0
- package/dist/pages/admin/WebhookDeliveries.d.ts.map +1 -1
- package/dist/pages/admin/WebhookDeliveries.js +3 -2
- package/dist/pages/admin/WebhookDeliveries.js.map +1 -1
- package/dist/pages/admin/WebhooksPage.d.ts.map +1 -1
- package/dist/pages/admin/WebhooksPage.js +3 -2
- package/dist/pages/admin/WebhooksPage.js.map +1 -1
- package/dist/pages/admin/WorkspaceSettingsPage.d.ts.map +1 -1
- package/dist/pages/admin/WorkspaceSettingsPage.js +45 -2
- package/dist/pages/admin/WorkspaceSettingsPage.js.map +1 -1
- package/dist/pages/dashboard/attention.d.ts.map +1 -1
- package/dist/pages/dashboard/attention.js +3 -0
- package/dist/pages/dashboard/attention.js.map +1 -1
- package/dist/pages/forms/AddFieldMenu.d.ts +17 -0
- package/dist/pages/forms/AddFieldMenu.d.ts.map +1 -0
- package/dist/pages/forms/AddFieldMenu.js +43 -0
- package/dist/pages/forms/AddFieldMenu.js.map +1 -0
- package/dist/pages/forms/EmbedPanel.d.ts +4 -0
- package/dist/pages/forms/EmbedPanel.d.ts.map +1 -1
- package/dist/pages/forms/EmbedPanel.js +62 -3
- package/dist/pages/forms/EmbedPanel.js.map +1 -1
- package/dist/pages/forms/FieldsEditor.d.ts.map +1 -1
- package/dist/pages/forms/FieldsEditor.js +179 -36
- package/dist/pages/forms/FieldsEditor.js.map +1 -1
- package/dist/pages/forms/FormActions.d.ts +6 -0
- package/dist/pages/forms/FormActions.d.ts.map +1 -0
- package/dist/pages/forms/FormActions.js +149 -0
- package/dist/pages/forms/FormActions.js.map +1 -0
- package/dist/pages/forms/FormSettings.d.ts.map +1 -1
- package/dist/pages/forms/FormSettings.js +15 -19
- package/dist/pages/forms/FormSettings.js.map +1 -1
- package/dist/pages/forms/SubmissionDetail.d.ts +2 -0
- package/dist/pages/forms/SubmissionDetail.d.ts.map +1 -0
- package/dist/pages/forms/SubmissionDetail.js +76 -0
- package/dist/pages/forms/SubmissionDetail.js.map +1 -0
- package/dist/pages/forms/SubmissionsTable.d.ts.map +1 -1
- package/dist/pages/forms/SubmissionsTable.js +57 -8
- package/dist/pages/forms/SubmissionsTable.js.map +1 -1
- package/dist/pages/forms/fieldList.d.ts +11 -5
- package/dist/pages/forms/fieldList.d.ts.map +1 -1
- package/dist/pages/forms/fieldList.js +66 -6
- package/dist/pages/forms/fieldList.js.map +1 -1
- package/dist/pages/forms/template.d.ts +17 -0
- package/dist/pages/forms/template.d.ts.map +1 -1
- package/dist/pages/forms/template.js +93 -0
- package/dist/pages/forms/template.js.map +1 -1
- package/dist/pages/handbook/HandbookPage.js +1 -1
- package/dist/pages/hiringDirectory.js +2 -2
- package/dist/pages/onboarding/WorkspaceStepPage.d.ts.map +1 -1
- package/dist/pages/onboarding/WorkspaceStepPage.js +15 -2
- package/dist/pages/onboarding/WorkspaceStepPage.js.map +1 -1
- package/dist/pages/positionDirectory.js +2 -2
- package/package.json +2 -2
- package/src/api/resource.ts +155 -32
- package/src/api/resources/companies.ts +7 -1
- package/src/api/resources/consentPurposes.ts +83 -0
- package/src/api/resources/customFields.ts +88 -0
- package/src/api/resources/decisions.ts +3 -0
- package/src/api/resources/emailDomainLinker.ts +43 -0
- package/src/api/resources/enquiries.ts +118 -0
- package/src/api/resources/forms.ts +59 -19
- package/src/api/resources/handbookPages.ts +1 -1
- package/src/api/resources/importJobs.ts +9 -0
- package/src/api/resources/listMembers.ts +173 -0
- package/src/api/resources/lists.ts +61 -0
- package/src/api/resources/opportunities.ts +3 -0
- package/src/api/resources/people.ts +4 -1
- package/src/api/resources/roles.ts +3 -1
- package/src/api/resources/sampleData.ts +57 -0
- package/src/api/resources/webhooks.ts +8 -24
- package/src/app/KelpieApp.tsx +16 -0
- package/src/components/ActivitiesPanel.tsx +3 -10
- package/src/components/ColumnPicker.tsx +124 -0
- package/src/components/CustomFieldsPanel.tsx +330 -0
- package/src/components/DataTable.tsx +89 -10
- package/src/components/DecisionsPanel.tsx +4 -12
- package/src/components/EntitySearch.tsx +12 -5
- package/src/components/FormsPanel.tsx +86 -0
- package/src/components/ListsPanel.tsx +176 -0
- package/src/components/NotesPanel.tsx +6 -14
- package/src/components/Paginator.tsx +78 -0
- package/src/components/PlanAttention.tsx +20 -3
- package/src/components/PlanPanel.tsx +2 -10
- package/src/components/Shell.tsx +4 -0
- package/src/components/useHasCustomFields.ts +18 -0
- package/src/index.ts +10 -1
- package/src/lib/listView.ts +149 -0
- package/src/lib/sort.ts +143 -0
- package/src/pages/CompaniesPage.tsx +125 -11
- package/src/pages/CompanyDetail.tsx +98 -63
- package/src/pages/DealDetail.tsx +34 -0
- package/src/pages/DealsPage.tsx +178 -24
- package/src/pages/DecisionsPage.tsx +75 -18
- package/src/pages/EnquiriesPage.tsx +434 -0
- package/src/pages/EnquiryDetail.tsx +554 -0
- package/src/pages/EnquiryStageSettingsPage.tsx +63 -0
- package/src/pages/FormDetail.tsx +23 -1
- package/src/pages/FormsPage.tsx +81 -17
- package/src/pages/FundraisingPage.tsx +152 -24
- package/src/pages/HiringPage.tsx +39 -11
- package/src/pages/ListDetail.tsx +470 -0
- package/src/pages/ListsPage.tsx +281 -0
- package/src/pages/OpportunitiesPage.tsx +130 -24
- package/src/pages/OpportunityDetail.tsx +168 -2
- package/src/pages/PartnershipDetail.tsx +35 -0
- package/src/pages/PartnershipsPage.tsx +149 -24
- package/src/pages/PeoplePage.tsx +157 -11
- package/src/pages/PersonDetail.tsx +157 -6
- package/src/pages/PlanningPage.tsx +259 -29
- package/src/pages/RaiseDetail.tsx +24 -0
- package/src/pages/RoleDetail.tsx +21 -26
- package/src/pages/SearchPage.tsx +1 -0
- package/src/pages/admin/DataPage.tsx +324 -13
- package/src/pages/admin/FieldsPage.tsx +455 -0
- package/src/pages/admin/PrivacyPage.tsx +461 -0
- package/src/pages/admin/WebhookDeliveries.tsx +10 -15
- package/src/pages/admin/WebhooksPage.tsx +14 -19
- package/src/pages/admin/WorkspaceSettingsPage.tsx +134 -2
- package/src/pages/dashboard/attention.ts +3 -0
- package/src/pages/forms/AddFieldMenu.tsx +121 -0
- package/src/pages/forms/EmbedPanel.tsx +163 -2
- package/src/pages/forms/FieldsEditor.tsx +539 -165
- package/src/pages/forms/FormActions.tsx +552 -0
- package/src/pages/forms/FormSettings.tsx +29 -70
- package/src/pages/forms/SubmissionDetail.tsx +249 -0
- package/src/pages/forms/SubmissionsTable.tsx +112 -26
- package/src/pages/forms/fieldList.ts +68 -5
- package/src/pages/forms/template.ts +103 -0
- package/src/pages/handbook/HandbookPage.tsx +1 -1
- package/src/pages/hiringDirectory.ts +2 -2
- package/src/pages/onboarding/WorkspaceStepPage.tsx +31 -3
- package/src/pages/positionDirectory.ts +2 -2
- 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;
|
|
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;
|
|
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 {
|
|
2
|
+
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
|
3
3
|
import { useApiClient } from '../context.js';
|
|
4
|
-
import {
|
|
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
|
|
47
|
-
|
|
45
|
+
const query = { status: filters.status };
|
|
46
|
+
return usePagedList({
|
|
48
47
|
queryKey: ['webhooks', 'deliveries', webhookId, filters.status ?? 'all'],
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,WAAW,EACX,qBAAqB,EACrB,aAAa,GACd,MAAM,iBAAiB,CAAA;AASxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../src/api/resources/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,WAAW,EACX,qBAAqB,EACrB,aAAa,GACd,MAAM,iBAAiB,CAAA;AASxB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGnE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD;;;;;;;GAOG;AAEH,MAAM,QAAQ,GAAG,mBAAmB,CAA4C;IAC9E,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,aAAa,CAAC,KAAK;IAC3B,UAAU,EAAE,iBAAiB;IAC7B,UAAU,EAAE,WAAW;CACxB,CAAC,CAAA;AAMF,SAAS,YAAY,CAAC,OAAuB;IAC3C,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAO,GAAmB,EAAE;IACtD,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAA;AAC7B,CAAC;AAMD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAAiB,EACjB,OAAO,GAA2B,EAAE;IAEpC,MAAM,KAAK,GAAoB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAA;IAEzD,OAAO,YAAY,CAAkB;QACnC,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;QACxE,IAAI,EAAE,aAAa,SAAS,aAAa;QACzC,MAAM,EAAE,qBAAqB,CAAC,KAAK;QACnC,KAAK;KACN,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,UAAU,EAAE,CAAC,KAAyB,EAAE,EAAE,CACxC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC,KAAK,CAAC;QAChF,SAAS,EAAE,GAAG,EAAE;YACd,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QACxE,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AACnC,CAAC;AAMD;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAyB,EAAE,EAAE,CACtD,MAAM,CAAC,IAAI,CACT,aAAa,EAAE,gBAAgB,EAC/B,uBAAuB,CAAC,KAAK,CAAC,EAC9B,oBAAoB,CAAC,KAAK,CAC3B;QACH,SAAS,EAAE,GAAG,EAAE;YACd,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QACxE,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KelpieApp.d.ts","sourceRoot":"","sources":["../../src/app/KelpieApp.tsx"],"names":[],"mappings":"
|
|
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"}
|
package/dist/app/KelpieApp.js
CHANGED
|
@@ -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;
|
|
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))) }),
|
|
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
|