@voyantjs/crm-ui 0.62.3 → 0.63.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/components/person-detail-page.d.ts +10 -12
- package/dist/components/person-detail-page.d.ts.map +1 -1
- package/dist/components/person-detail-page.js +44 -61
- package/dist/components/person-document-dialog.d.ts +19 -0
- package/dist/components/person-document-dialog.d.ts.map +1 -0
- package/dist/components/person-document-dialog.js +71 -0
- package/dist/i18n/en.d.ts +39 -0
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +39 -0
- package/dist/i18n/messages.d.ts +41 -0
- package/dist/i18n/messages.d.ts.map +1 -1
- package/dist/i18n/provider.d.ts +78 -0
- package/dist/i18n/provider.d.ts.map +1 -1
- package/dist/i18n/ro.d.ts +39 -0
- package/dist/i18n/ro.d.ts.map +1 -1
- package/dist/i18n/ro.js +39 -0
- package/package.json +10 -10
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ActivityRecord, OpportunityRecord, OrganizationRecord, PersonDocumentRecord, PersonRecord, PersonRelationshipRecord, PersonTravelSnapshotRecord, UpdatePersonInput } from "@voyantjs/crm-react";
|
|
2
2
|
import { type ReactNode } from "react";
|
|
3
|
-
export type PersonDetailTab = "overview" | "opportunities" | "activities" | "relationships" | "documents" | "bookings" | "invoices" | "payments" | "contracts";
|
|
3
|
+
export type PersonDetailTab = "overview" | "opportunities" | "activities" | "relationships" | "documents" | "addresses" | "bookings" | "invoices" | "payments" | "contracts";
|
|
4
4
|
export type PersonData = Pick<PersonRecord, "dateOfBirth" | "createdAt" | "email" | "firstName" | "id" | "jobTitle" | "lastName" | "notes" | "organizationId" | "phone" | "preferredCurrency" | "preferredLanguage" | "relation" | "source" | "status" | "tags" | "updatedAt" | "website">;
|
|
5
5
|
export type PersonOrganization = Pick<OrganizationRecord, "id" | "name" | "website">;
|
|
6
6
|
export type PersonOpportunity = Pick<OpportunityRecord, "expectedCloseDate" | "id" | "status" | "title" | "updatedAt" | "valueAmountCents" | "valueCurrency">;
|
|
@@ -37,9 +37,10 @@ export interface PersonDetailPageProps {
|
|
|
37
37
|
onBack?: () => void;
|
|
38
38
|
onDeleted?: () => void;
|
|
39
39
|
onOrganizationOpen?: (organizationId: string) => void;
|
|
40
|
+
onPersonOpen?: (personId: string) => void;
|
|
40
41
|
slots?: PersonDetailPageSlots;
|
|
41
42
|
}
|
|
42
|
-
export declare function PersonDetailPage({ id, className, onBack, onDeleted, onOrganizationOpen, slots, }: PersonDetailPageProps): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
export declare function PersonDetailPage({ id, className, onBack, onDeleted, onOrganizationOpen, onPersonOpen, slots, }: PersonDetailPageProps): import("react/jsx-runtime").JSX.Element;
|
|
43
44
|
export interface PersonTopBarProps {
|
|
44
45
|
personName: string;
|
|
45
46
|
onBack: () => void;
|
|
@@ -65,18 +66,15 @@ export interface PersonMainProps {
|
|
|
65
66
|
activities: PersonActivity[];
|
|
66
67
|
relationships: PersonRelationship[];
|
|
67
68
|
documents: PersonDocument[];
|
|
68
|
-
travelSnapshot: PersonTravelSnapshot | null;
|
|
69
69
|
opportunitiesPending: boolean;
|
|
70
70
|
activitiesPending: boolean;
|
|
71
71
|
relationshipsPending: boolean;
|
|
72
72
|
documentsPending: boolean;
|
|
73
|
-
travelSnapshotPending: boolean;
|
|
74
|
-
totalOpenValue: number;
|
|
75
|
-
primaryCurrency: string | null;
|
|
76
73
|
onUpdateField: (patch: UpdatePersonInput) => Promise<void>;
|
|
74
|
+
onPersonOpen?: (personId: string) => void;
|
|
77
75
|
slots?: PersonDetailPageSlots;
|
|
78
76
|
}
|
|
79
|
-
export declare function PersonMain({ activeTab, setActiveTab, person, organization, opportunities, activities, relationships, documents,
|
|
77
|
+
export declare function PersonMain({ activeTab, setActiveTab, person, organization, opportunities, activities, relationships, documents, opportunitiesPending, activitiesPending, relationshipsPending, documentsPending, onUpdateField, onPersonOpen, slots, }: PersonMainProps): import("react/jsx-runtime").JSX.Element;
|
|
80
78
|
export interface MetricCardProps {
|
|
81
79
|
label: string;
|
|
82
80
|
value: ReactNode;
|
|
@@ -85,11 +83,9 @@ export declare function MetricCard({ label, value }: MetricCardProps): import("r
|
|
|
85
83
|
export interface PersonOverviewPanelProps {
|
|
86
84
|
person: PersonData;
|
|
87
85
|
organization: PersonOrganization | null;
|
|
88
|
-
travelSnapshot: PersonTravelSnapshot | null;
|
|
89
|
-
travelSnapshotPending: boolean;
|
|
90
86
|
onUpdateField: (patch: UpdatePersonInput) => Promise<void>;
|
|
91
87
|
}
|
|
92
|
-
export declare function PersonOverviewPanel({ person, organization,
|
|
88
|
+
export declare function PersonOverviewPanel({ person, organization, onUpdateField, }: PersonOverviewPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
93
89
|
export interface OverviewTermProps {
|
|
94
90
|
label: string;
|
|
95
91
|
children: ReactNode;
|
|
@@ -110,14 +106,16 @@ export interface PersonRelationshipsPanelProps {
|
|
|
110
106
|
personId: string;
|
|
111
107
|
relationships: PersonRelationship[];
|
|
112
108
|
relationshipsPending: boolean;
|
|
109
|
+
onPersonOpen?: (personId: string) => void;
|
|
113
110
|
}
|
|
114
|
-
export declare function PersonRelationshipsPanel({ personId, relationships, relationshipsPending, }: PersonRelationshipsPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
111
|
+
export declare function PersonRelationshipsPanel({ personId, relationships, relationshipsPending, onPersonOpen, }: PersonRelationshipsPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
115
112
|
export interface PersonDocumentsPanelProps {
|
|
116
113
|
documents: PersonDocument[];
|
|
117
114
|
documentsPending: boolean;
|
|
118
115
|
primaryCount: number;
|
|
116
|
+
personId?: string;
|
|
119
117
|
}
|
|
120
|
-
export declare function PersonDocumentsPanel({ documents, documentsPending, primaryCount, }: PersonDocumentsPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
118
|
+
export declare function PersonDocumentsPanel({ documents, documentsPending, primaryCount, personId, }: PersonDocumentsPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
121
119
|
export interface EmptyRowProps {
|
|
122
120
|
children: ReactNode;
|
|
123
121
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"person-detail-page.d.ts","sourceRoot":"","sources":["../../src/components/person-detail-page.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,wBAAwB,EACxB,0BAA0B,EAC1B,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"person-detail-page.d.ts","sourceRoot":"","sources":["../../src/components/person-detail-page.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useActivities, useOpportunities, useOrganization, usePerson, usePersonDocuments, usePersonMutation, usePersonRelationships,
|
|
3
|
+
import { useActivities, useOpportunities, useOrganization, usePerson, usePersonDocumentMutation, usePersonDocuments, usePersonMutation, usePersonRelationships, useRevealPersonDocument, } from "@voyantjs/crm-react";
|
|
4
4
|
import { Avatar, AvatarFallback, Badge, Button, Card, CardContent, CardHeader, CardTitle, ConfirmActionButton, cn, } from "@voyantjs/ui/components";
|
|
5
5
|
import { buttonVariants } from "@voyantjs/ui/components/button";
|
|
6
6
|
import { Separator } from "@voyantjs/ui/components/separator";
|
|
7
7
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@voyantjs/ui/components/tabs";
|
|
8
|
-
import { ArrowLeft, BriefcaseBusiness, Calendar, CircleDot, FileText, Globe, Languages, Loader2, Mail, Pencil, Phone,
|
|
9
|
-
import { useEffect,
|
|
8
|
+
import { ArrowLeft, BriefcaseBusiness, Calendar, CircleDot, Eye, EyeOff, FileText, Globe, Languages, Loader2, Mail, Pencil, Phone, Tag, TrendingUp, User, Users, } from "lucide-react";
|
|
9
|
+
import { useEffect, useState } from "react";
|
|
10
10
|
import { useCrmUiI18nOrDefault, useCrmUiMessagesOrDefault } from "../i18n/index.js";
|
|
11
11
|
import { formatCrmDate, formatCrmMoney, formatCrmRelative } from "./crm-format.js";
|
|
12
12
|
import { InlineCurrencyField } from "./inline-currency-field.js";
|
|
13
13
|
import { InlineField } from "./inline-field.js";
|
|
14
14
|
import { InlineLanguageField } from "./inline-language-field.js";
|
|
15
15
|
import { InlineSelectField } from "./inline-select-field.js";
|
|
16
|
+
import { PersonAddressesSection } from "./person-addresses-section.js";
|
|
16
17
|
import { PersonDialog } from "./person-dialog.js";
|
|
18
|
+
import { PersonDocumentDialog } from "./person-document-dialog.js";
|
|
17
19
|
import { TagsEditor } from "./tags-editor.js";
|
|
18
|
-
export function PersonDetailPage({ id, className, onBack, onDeleted, onOrganizationOpen, slots, }) {
|
|
20
|
+
export function PersonDetailPage({ id, className, onBack, onDeleted, onOrganizationOpen, onPersonOpen, slots, }) {
|
|
19
21
|
const messages = useCrmUiMessagesOrDefault();
|
|
20
22
|
const [activeTab, setActiveTab] = useState("overview");
|
|
21
23
|
const [editOpen, setEditOpen] = useState(false);
|
|
@@ -54,9 +56,6 @@ export function PersonDetailPage({ id, className, onBack, onDeleted, onOrganizat
|
|
|
54
56
|
limit: 50,
|
|
55
57
|
enabled: Boolean(person),
|
|
56
58
|
});
|
|
57
|
-
const travelSnapshotQuery = usePersonTravelSnapshot(id, {
|
|
58
|
-
enabled: Boolean(person),
|
|
59
|
-
});
|
|
60
59
|
const updateField = async (patch) => {
|
|
61
60
|
await update.mutateAsync({ id, input: patch });
|
|
62
61
|
};
|
|
@@ -70,21 +69,13 @@ export function PersonDetailPage({ id, className, onBack, onDeleted, onOrganizat
|
|
|
70
69
|
const activities = activitiesQuery.data?.data ?? [];
|
|
71
70
|
const relationships = relationshipsQuery.data?.data ?? [];
|
|
72
71
|
const documents = documentsQuery.data?.data ?? [];
|
|
73
|
-
const travelSnapshot = travelSnapshotQuery.data?.data ?? null;
|
|
74
72
|
const organization = organizationQuery.data ?? null;
|
|
75
73
|
const displayName = personDisplayName(person, messages.personCard.unnamed);
|
|
76
|
-
const totalOpenValue = opportunities
|
|
77
|
-
.filter((opportunity) => opportunity.status === "open")
|
|
78
|
-
.reduce((sum, opportunity) => sum + (opportunity.valueAmountCents ?? 0), 0);
|
|
79
|
-
const primaryCurrency = opportunities[0]?.valueCurrency ??
|
|
80
|
-
person.preferredCurrency ??
|
|
81
|
-
organization?.defaultCurrency ??
|
|
82
|
-
null;
|
|
83
74
|
return (_jsxs("div", { "data-slot": "person-detail-page", className: cn("flex min-h-screen flex-col", className), children: [_jsx(PersonTopBar, { personName: displayName, onBack: () => onBack?.(), onEdit: () => setEditOpen(true), deletePending: remove.isPending, onDelete: async () => {
|
|
84
75
|
await remove.mutateAsync(id);
|
|
85
76
|
onDeleted?.();
|
|
86
77
|
onBack?.();
|
|
87
|
-
} }), slots?.afterTopBar, _jsxs("div", { className: "grid flex-1 grid-cols-12 gap-4 p-4 lg:p-6", children: [_jsx(PersonSidebar, { person: person, organization: organization, onOrganizationOpen: onOrganizationOpen, onUpdateField: updateField, children: slots?.sidebarEnd }), _jsx(PersonMain, { activeTab: activeTab, setActiveTab: setActiveTab, person: person, organization: organization, opportunities: opportunities, activities: activities, relationships: relationships, documents: documents,
|
|
78
|
+
} }), slots?.afterTopBar, _jsxs("div", { className: "grid flex-1 grid-cols-12 gap-4 p-4 lg:p-6", children: [_jsx(PersonSidebar, { person: person, organization: organization, onOrganizationOpen: onOrganizationOpen, onUpdateField: updateField, children: slots?.sidebarEnd }), _jsx(PersonMain, { activeTab: activeTab, setActiveTab: setActiveTab, person: person, organization: organization, opportunities: opportunities, activities: activities, relationships: relationships, documents: documents, opportunitiesPending: opportunitiesQuery.isPending, activitiesPending: activitiesQuery.isPending, relationshipsPending: relationshipsQuery.isPending, documentsPending: documentsQuery.isPending, onUpdateField: updateField, onPersonOpen: onPersonOpen, slots: slots })] }), _jsx(PersonDialog, { open: editOpen, onOpenChange: setEditOpen, person: person })] }));
|
|
88
79
|
}
|
|
89
80
|
export function PersonTopBar({ personName, onBack, onEdit, onDelete, deletePending, }) {
|
|
90
81
|
const messages = useCrmUiMessagesOrDefault();
|
|
@@ -111,12 +102,10 @@ export function PersonSidebar({ person, organization, onOrganizationOpen, onUpda
|
|
|
111
102
|
];
|
|
112
103
|
return (_jsxs("aside", { className: "col-span-12 flex flex-col gap-4 lg:col-span-3", children: [_jsx(Card, { children: _jsxs(CardContent, { className: "flex flex-col items-center gap-3 pt-6 text-center", children: [_jsx(Avatar, { className: "size-20", children: _jsx(AvatarFallback, { className: "text-xl", children: initialsFrom(displayName) }) }), _jsxs("div", { className: "flex max-w-full flex-col gap-1", children: [_jsx("h2", { className: "truncate text-lg font-semibold leading-tight", children: displayName }), person.jobTitle ? (_jsx("p", { className: "truncate text-sm text-muted-foreground", children: person.jobTitle })) : null, organization ? (_jsx("button", { type: "button", onClick: () => onOrganizationOpen?.(organization.id), className: "truncate text-sm text-primary hover:underline", children: organization.name })) : null] }), _jsxs("div", { className: "flex flex-wrap justify-center gap-1", children: [person.relation ? (_jsx(Badge, { variant: "secondary", children: messages.common.relationTypeLabels[person.relation] ?? person.relation })) : null, _jsx(Badge, { variant: "outline", children: messages.common.recordStatusLabels[person.status] ?? person.status })] })] }) }), _jsxs(Card, { children: [_jsx(CardHeader, { className: "pb-3", children: _jsx(CardTitle, { className: "text-sm font-semibold", children: messages.personDetail.sidebar.about }) }), _jsxs(CardContent, { className: "divide-y text-sm", children: [_jsx(InlineField, { icon: User, label: messages.personDetail.sidebar.fields.firstName, value: person.firstName, onSave: (next) => onUpdateField({ firstName: next ?? person.firstName }) }), _jsx(InlineField, { icon: User, label: messages.personDetail.sidebar.fields.lastName, value: person.lastName, onSave: (next) => onUpdateField({ lastName: next ?? person.lastName }) }), _jsx(InlineField, { icon: BriefcaseBusiness, label: messages.personDetail.sidebar.fields.jobTitle, value: person.jobTitle, onSave: (next) => onUpdateField({ jobTitle: next }) }), _jsx(InlineField, { icon: Mail, label: messages.personDetail.sidebar.fields.email, kind: "email", value: person.email, onSave: (next) => onUpdateField({ email: next }) }), _jsx(InlineField, { icon: Phone, label: messages.personDetail.sidebar.fields.phone, value: person.phone, onSave: (next) => onUpdateField({ phone: next }) }), _jsx(InlineField, { icon: Globe, label: messages.personDetail.sidebar.fields.website, kind: "url", value: person.website, onSave: (next) => onUpdateField({ website: next }) }), _jsx(InlineSelectField, { icon: Users, label: messages.personDetail.sidebar.fields.relation, value: person.relation, options: relationOptions, onSave: (next) => onUpdateField({ relation: next }) }), _jsx(InlineSelectField, { icon: CircleDot, label: messages.personDetail.sidebar.fields.status, value: person.status, options: statusOptions, allowClear: false, onSave: (next) => onUpdateField({ status: next ?? "active" }) }), _jsx(InlineCurrencyField, { label: messages.personDetail.sidebar.fields.preferredCurrency, value: person.preferredCurrency, onSave: (next) => onUpdateField({ preferredCurrency: next }) }), _jsx(InlineLanguageField, { icon: Languages, label: messages.personDetail.sidebar.fields.preferredLanguage, value: person.preferredLanguage, onSave: (next) => onUpdateField({ preferredLanguage: next }) }), _jsx(InlineField, { icon: Calendar, label: messages.personDetail.sidebar.fields.dateOfBirth, value: person.dateOfBirth, onSave: (next) => onUpdateField({ dateOfBirth: next }) }), _jsx(InlineField, { icon: Tag, label: messages.personDetail.sidebar.fields.source, value: person.source, onSave: (next) => onUpdateField({ source: next }) })] })] }), websiteHref ? (_jsxs("a", { href: websiteHref, target: "_blank", rel: "noreferrer", className: cn(buttonVariants({ variant: "outline" })), children: [_jsx(Globe, { className: "size-4", "aria-hidden": "true" }), messages.personDetail.sidebar.openWebsite] })) : null, _jsxs(Card, { children: [_jsx(CardHeader, { className: "pb-3", children: _jsx(CardTitle, { className: "text-sm font-semibold", children: messages.personDetail.sidebar.tags }) }), _jsx(CardContent, { children: _jsx(TagsEditor, { tags: person.tags, onChange: (tags) => onUpdateField({ tags }) }) })] }), children] }));
|
|
113
104
|
}
|
|
114
|
-
export function PersonMain({ activeTab, setActiveTab, person, organization, opportunities, activities, relationships, documents,
|
|
115
|
-
const i18n = useCrmUiI18nOrDefault();
|
|
105
|
+
export function PersonMain({ activeTab, setActiveTab, person, organization, opportunities, activities, relationships, documents, opportunitiesPending, activitiesPending, relationshipsPending, documentsPending, onUpdateField, onPersonOpen, slots, }) {
|
|
116
106
|
const messages = useCrmUiMessagesOrDefault();
|
|
117
|
-
const openOpportunities = opportunities.filter((opportunity) => opportunity.status === "open");
|
|
118
107
|
const primaryDocuments = documents.filter((document) => document.isPrimary);
|
|
119
|
-
return (
|
|
108
|
+
return (_jsx("main", { className: "col-span-12 flex flex-col gap-4 lg:col-span-9", children: _jsx(Card, { children: _jsxs(Tabs, { value: activeTab, onValueChange: (value) => setActiveTab(value), children: [_jsx(CardHeader, { className: "pb-0", children: _jsxs(TabsList, { className: "h-auto flex-wrap justify-start", children: [_jsx(TabsTrigger, { value: "overview", children: messages.personDetail.tabs.overview }), _jsxs(TabsTrigger, { value: "opportunities", children: [messages.personDetail.tabs.opportunities, " (", opportunities.length, ")"] }), _jsxs(TabsTrigger, { value: "activities", children: [messages.personDetail.tabs.activities, " (", activities.length, ")"] }), _jsxs(TabsTrigger, { value: "relationships", children: [messages.personDetail.tabs.relationships, " (", relationships.length, ")"] }), _jsxs(TabsTrigger, { value: "documents", children: [messages.personDetail.tabs.documents, " (", documents.length, ")"] }), _jsx(TabsTrigger, { value: "addresses", children: messages.personDetail.tabs.addresses }), slots?.bookingsTab ? (_jsx(TabsTrigger, { value: "bookings", children: formatTabLabel(messages.personDetail.tabs.bookings, slots.bookingsTab) })) : null, slots?.invoicesTab ? (_jsx(TabsTrigger, { value: "invoices", children: formatTabLabel(messages.personDetail.tabs.invoices, slots.invoicesTab) })) : null, slots?.paymentsTab ? (_jsx(TabsTrigger, { value: "payments", children: formatTabLabel(messages.personDetail.tabs.payments, slots.paymentsTab) })) : null, slots?.contractsTab ? (_jsx(TabsTrigger, { value: "contracts", children: formatTabLabel(messages.personDetail.tabs.contracts, slots.contractsTab) })) : null] }) }), _jsxs(CardContent, { className: "pt-4", children: [_jsxs(TabsContent, { value: "overview", className: "m-0", children: [slots?.overviewContent !== undefined ? (slots.overviewContent) : (_jsx(PersonOverviewPanel, { person: person, organization: organization, onUpdateField: onUpdateField })), slots?.overviewEnd] }), _jsxs(TabsContent, { value: "opportunities", className: "m-0", children: [slots?.opportunitiesContent !== undefined ? (slots.opportunitiesContent) : (_jsx(PersonOpportunitiesPanel, { opportunities: opportunities, opportunitiesPending: opportunitiesPending })), slots?.opportunitiesEnd] }), _jsxs(TabsContent, { value: "activities", className: "m-0", children: [slots?.activitiesContent !== undefined ? (slots.activitiesContent) : (_jsx(PersonActivitiesPanel, { activities: activities, activitiesPending: activitiesPending })), slots?.activitiesEnd] }), _jsxs(TabsContent, { value: "relationships", className: "m-0", children: [slots?.relationshipsContent !== undefined ? (slots.relationshipsContent) : (_jsx(PersonRelationshipsPanel, { personId: person.id, relationships: relationships, relationshipsPending: relationshipsPending, onPersonOpen: onPersonOpen })), slots?.relationshipsEnd] }), _jsxs(TabsContent, { value: "documents", className: "m-0", children: [slots?.documentsContent !== undefined ? (slots.documentsContent) : (_jsx(PersonDocumentsPanel, { documents: documents, documentsPending: documentsPending, primaryCount: primaryDocuments.length, personId: person.id })), slots?.documentsEnd] }), _jsx(TabsContent, { value: "addresses", className: "m-0", children: _jsx(PersonAddressesSection, { personId: person.id }) }), slots?.bookingsTab ? (_jsx(TabsContent, { value: "bookings", className: "m-0", children: slots.bookingsTab.content })) : null, slots?.invoicesTab ? (_jsx(TabsContent, { value: "invoices", className: "m-0", children: slots.invoicesTab.content })) : null, slots?.paymentsTab ? (_jsx(TabsContent, { value: "payments", className: "m-0", children: slots.paymentsTab.content })) : null, slots?.contractsTab ? (_jsx(TabsContent, { value: "contracts", className: "m-0", children: slots.contractsTab.content })) : null] })] }) }) }));
|
|
120
109
|
}
|
|
121
110
|
function formatTabLabel(defaultLabel, slot) {
|
|
122
111
|
const label = slot.label ?? defaultLabel;
|
|
@@ -128,42 +117,10 @@ function isPersonCommercialTab(tab) {
|
|
|
128
117
|
export function MetricCard({ label, value }) {
|
|
129
118
|
return (_jsx(Card, { children: _jsxs(CardContent, { className: "pt-6", children: [_jsx("p", { className: "text-xs font-medium uppercase tracking-wide text-muted-foreground", children: label }), _jsx("p", { className: "mt-1 text-2xl font-semibold", children: value })] }) }));
|
|
130
119
|
}
|
|
131
|
-
export function PersonOverviewPanel({ person, organization,
|
|
120
|
+
export function PersonOverviewPanel({ person, organization, onUpdateField, }) {
|
|
132
121
|
const i18n = useCrmUiI18nOrDefault();
|
|
133
122
|
const messages = useCrmUiMessagesOrDefault();
|
|
134
|
-
|
|
135
|
-
? [
|
|
136
|
-
{
|
|
137
|
-
label: messages.personDetail.sections.dateOfBirth,
|
|
138
|
-
value: travelSnapshot.dateOfBirth
|
|
139
|
-
? formatCrmDate(i18n, travelSnapshot.dateOfBirth)
|
|
140
|
-
: null,
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
label: messages.personDetail.sections.dietaryRequirements,
|
|
144
|
-
value: travelSnapshot.dietaryRequirements,
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
label: messages.personDetail.sections.accessibilityNeeds,
|
|
148
|
-
value: travelSnapshot.accessibilityNeeds,
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
label: messages.personDetail.sections.passportExpiry,
|
|
152
|
-
value: travelSnapshot.passportExpiry
|
|
153
|
-
? formatCrmDate(i18n, travelSnapshot.passportExpiry)
|
|
154
|
-
: null,
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
label: messages.personDetail.sections.passportIssuingCountry,
|
|
158
|
-
value: travelSnapshot.passportIssuingCountry,
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
label: messages.personDetail.sections.passportIssuingAuthority,
|
|
162
|
-
value: travelSnapshot.passportIssuingAuthority,
|
|
163
|
-
},
|
|
164
|
-
].filter((row) => Boolean(row.value))
|
|
165
|
-
: [], [i18n, messages, travelSnapshot]);
|
|
166
|
-
return (_jsxs("div", { className: "flex flex-col gap-4", children: [_jsxs("dl", { className: "grid grid-cols-1 gap-4 text-sm sm:grid-cols-2", children: [_jsx(OverviewTerm, { label: messages.personDetail.sections.created, children: formatCrmDate(i18n, person.createdAt) }), _jsx(OverviewTerm, { label: messages.personDetail.sections.updated, children: formatCrmRelative(i18n, person.updatedAt) }), organization ? (_jsx(OverviewTerm, { label: messages.personDetail.sections.organization, children: organization.name })) : null, person.dateOfBirth ? (_jsx(OverviewTerm, { label: messages.personDetail.sections.dateOfBirth, children: formatCrmDate(i18n, person.dateOfBirth) })) : null, person.notes ? (_jsx(OverviewTerm, { label: messages.personDetail.sections.notes, className: "sm:col-span-2", children: _jsx("span", { className: "whitespace-pre-wrap", children: person.notes }) })) : null] }), _jsx(Separator, {}), _jsx(InlineField, { label: messages.personDetail.sections.notes, kind: "textarea", value: person.notes, onSave: (next) => onUpdateField({ notes: next }) }), _jsxs(Card, { children: [_jsx(CardHeader, { className: "pb-3", children: _jsxs(CardTitle, { className: "flex items-center gap-2 text-sm font-semibold", children: [_jsx(ShieldCheck, { className: "size-4 text-muted-foreground", "aria-hidden": "true" }), messages.personDetail.sections.travelProfile] }) }), _jsx(CardContent, { children: travelSnapshotPending ? (_jsx("div", { className: "flex justify-center py-6", children: _jsx(Loader2, { className: "size-5 animate-spin text-muted-foreground" }) })) : snapshotRows.length === 0 ? (_jsx("p", { className: "py-4 text-center text-sm text-muted-foreground", children: messages.personDetail.empty.noTravelProfile })) : (_jsx("dl", { className: "grid grid-cols-1 gap-4 text-sm sm:grid-cols-2", children: snapshotRows.map((row) => (_jsx(OverviewTerm, { label: row.label, children: row.value }, row.label))) })) })] })] }));
|
|
123
|
+
return (_jsxs("div", { className: "flex flex-col gap-4", children: [_jsxs("dl", { className: "grid grid-cols-1 gap-4 text-sm sm:grid-cols-2", children: [_jsx(OverviewTerm, { label: messages.personDetail.sections.created, children: formatCrmDate(i18n, person.createdAt) }), _jsx(OverviewTerm, { label: messages.personDetail.sections.updated, children: formatCrmRelative(i18n, person.updatedAt) }), organization ? (_jsx(OverviewTerm, { label: messages.personDetail.sections.organization, children: organization.name })) : null, person.dateOfBirth ? (_jsx(OverviewTerm, { label: messages.personDetail.sections.dateOfBirth, children: formatCrmDate(i18n, person.dateOfBirth) })) : null, person.notes ? (_jsx(OverviewTerm, { label: messages.personDetail.sections.notes, className: "sm:col-span-2", children: _jsx("span", { className: "whitespace-pre-wrap", children: person.notes }) })) : null] }), _jsx(Separator, {}), _jsx(InlineField, { label: messages.personDetail.sections.notes, kind: "textarea", value: person.notes, onSave: (next) => onUpdateField({ notes: next }) })] }));
|
|
167
124
|
}
|
|
168
125
|
export function OverviewTerm({ label, children, className }) {
|
|
169
126
|
return (_jsxs("div", { className: className, children: [_jsx("dt", { className: "text-xs font-medium uppercase text-muted-foreground", children: label }), _jsx("dd", { className: "mt-0.5", children: children })] }));
|
|
@@ -193,7 +150,7 @@ export function PersonActivitiesPanel({ activities, activitiesPending, }) {
|
|
|
193
150
|
}
|
|
194
151
|
return (_jsx("ul", { className: "divide-y", children: activities.map((activity) => (_jsx("li", { className: "py-3", children: _jsxs("div", { className: "flex items-start justify-between gap-2", children: [_jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("p", { className: "truncate text-sm font-medium", children: activity.subject }), activity.description ? (_jsx("p", { className: "line-clamp-2 text-xs text-muted-foreground", children: activity.description })) : null] }), _jsxs("div", { className: "flex flex-col items-end gap-1", children: [_jsx(Badge, { variant: "outline", children: messages.common.activityTypeLabels[(activity.type ?? "note")] ?? activity.type }), _jsx("span", { className: "text-xs text-muted-foreground", children: formatCrmRelative(i18n, activity.createdAt) })] })] }) }, activity.id))) }));
|
|
195
152
|
}
|
|
196
|
-
export function PersonRelationshipsPanel({ personId, relationships, relationshipsPending, }) {
|
|
153
|
+
export function PersonRelationshipsPanel({ personId, relationships, relationshipsPending, onPersonOpen, }) {
|
|
197
154
|
const i18n = useCrmUiI18nOrDefault();
|
|
198
155
|
const messages = useCrmUiMessagesOrDefault();
|
|
199
156
|
if (relationshipsPending) {
|
|
@@ -207,10 +164,24 @@ export function PersonRelationshipsPanel({ personId, relationships, relationship
|
|
|
207
164
|
? relationship.toPersonId
|
|
208
165
|
: relationship.fromPersonId;
|
|
209
166
|
const kindLabel = messages.personDetail.relationshipKindLabels[relationship.kind] ?? relationship.kind;
|
|
210
|
-
return (_jsxs("li", { className: "flex items-start justify-between gap-3 py-3", children: [_jsxs("div", { className: "min-w-0 flex-1", children: [_jsx(
|
|
167
|
+
return (_jsxs("li", { className: "flex items-start justify-between gap-3 py-3", children: [_jsxs("div", { className: "min-w-0 flex-1", children: [_jsx(RelatedPersonName, { personId: relatedPersonId, onPersonOpen: onPersonOpen }), _jsxs("p", { className: "text-xs text-muted-foreground", children: [kindLabel, relationship.startDate ? ` - ${formatCrmDate(i18n, relationship.startDate)}` : ""] }), relationship.notes ? (_jsx("p", { className: "line-clamp-2 text-xs text-muted-foreground", children: relationship.notes })) : null] }), _jsxs("div", { className: "flex flex-col items-end gap-1", children: [relationship.isPrimary ? (_jsx(Badge, { variant: "secondary", children: messages.personDetail.sections.primary })) : null, _jsx(Badge, { variant: "outline", children: kindLabel })] })] }, relationship.id));
|
|
211
168
|
}) }));
|
|
212
169
|
}
|
|
213
|
-
|
|
170
|
+
function RelatedPersonName({ personId, onPersonOpen, }) {
|
|
171
|
+
const messages = useCrmUiMessagesOrDefault();
|
|
172
|
+
const personQuery = usePerson(personId);
|
|
173
|
+
const person = personQuery.data;
|
|
174
|
+
const label = person
|
|
175
|
+
? personDisplayName(person, messages.personCard.unnamed)
|
|
176
|
+
: personQuery.isPending
|
|
177
|
+
? "…"
|
|
178
|
+
: personId;
|
|
179
|
+
if (!onPersonOpen) {
|
|
180
|
+
return _jsx("p", { className: "truncate text-sm font-medium", children: label });
|
|
181
|
+
}
|
|
182
|
+
return (_jsx("button", { type: "button", onClick: () => onPersonOpen(personId), className: "truncate text-left text-sm font-medium text-foreground hover:underline", children: label }));
|
|
183
|
+
}
|
|
184
|
+
export function PersonDocumentsPanel({ documents, documentsPending, primaryCount, personId, }) {
|
|
214
185
|
const i18n = useCrmUiI18nOrDefault();
|
|
215
186
|
const messages = useCrmUiMessagesOrDefault();
|
|
216
187
|
if (documentsPending) {
|
|
@@ -219,10 +190,22 @@ export function PersonDocumentsPanel({ documents, documentsPending, primaryCount
|
|
|
219
190
|
if (documents.length === 0) {
|
|
220
191
|
return _jsx(EmptyRow, { children: messages.personDetail.empty.noDocuments });
|
|
221
192
|
}
|
|
222
|
-
return (_jsxs("div", { className: "flex flex-col gap-3", children: [_jsxs("div", { className: "flex items-center gap-2 text-xs text-muted-foreground", children: [_jsx(FileText, { className: "size-3.5", "aria-hidden": "true" }), _jsxs("span", { children: [primaryCount, " ", messages.personDetail.sections.primary] })] }), _jsx("ul", { className: "divide-y", children: documents.map((document) => {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
193
|
+
return (_jsxs("div", { className: "flex flex-col gap-3", children: [_jsxs("div", { className: "flex items-center gap-2 text-xs text-muted-foreground", children: [_jsx(FileText, { className: "size-3.5", "aria-hidden": "true" }), _jsxs("span", { children: [primaryCount, " ", messages.personDetail.sections.primary] })] }), _jsx("ul", { className: "divide-y", children: documents.map((document) => (_jsx(PersonDocumentRow, { document: document, personId: personId, typeLabel: messages.personDetail.documentTypeLabels[document.type] ?? document.type, formattedExpiry: formatCrmDate(i18n, document.expiryDate), noneLabel: messages.common.none, primaryLabel: messages.personDetail.sections.primary }, document.id))) })] }));
|
|
194
|
+
}
|
|
195
|
+
function PersonDocumentRow({ document, personId, typeLabel, formattedExpiry, noneLabel, primaryLabel, }) {
|
|
196
|
+
const [revealed, setRevealed] = useState(false);
|
|
197
|
+
const [editOpen, setEditOpen] = useState(false);
|
|
198
|
+
const revealQuery = useRevealPersonDocument(document.id, { enabled: revealed });
|
|
199
|
+
const mutation = usePersonDocumentMutation(personId);
|
|
200
|
+
const docMessages = useCrmUiMessagesOrDefault().personDocument;
|
|
201
|
+
const editable = Boolean(personId);
|
|
202
|
+
const revealError = revealed && revealQuery.error;
|
|
203
|
+
const revealedNumber = revealQuery.data?.data.number ?? null;
|
|
204
|
+
return (_jsxs("li", { className: "flex items-start justify-between gap-3 py-3", children: [_jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("p", { className: "truncate text-sm font-medium", children: typeLabel }), _jsxs("p", { className: "text-xs text-muted-foreground", children: [document.issuingCountry ?? noneLabel, " - ", formattedExpiry] }), document.issuingAuthority ? (_jsx("p", { className: "truncate text-xs text-muted-foreground", children: document.issuingAuthority })) : null, revealed ? (_jsx("p", { className: "mt-1 font-mono text-xs", children: revealQuery.isLoading
|
|
205
|
+
? docMessages.row.decrypting
|
|
206
|
+
: (revealedNumber ?? docMessages.row.noNumberOnFile) })) : null, revealError ? (_jsx("p", { className: "mt-1 text-[10px] text-destructive", children: revealError instanceof Error ? revealError.message : docMessages.row.revealFailed })) : null] }), _jsxs("div", { className: "flex items-start gap-2", children: [_jsxs("div", { className: "flex flex-col items-end gap-1", children: [document.isPrimary ? _jsx(Badge, { variant: "secondary", children: primaryLabel }) : null, _jsx(Badge, { variant: "outline", children: typeLabel })] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("button", { type: "button", onClick: () => setRevealed((prev) => !prev), className: "text-muted-foreground hover:text-foreground", "aria-label": revealed ? docMessages.row.hideAria : docMessages.row.revealAria, children: revealed ? _jsx(EyeOff, { className: "size-3.5" }) : _jsx(Eye, { className: "size-3.5" }) }), editable ? (_jsx("button", { type: "button", onClick: () => setEditOpen(true), className: "text-muted-foreground hover:text-foreground", "aria-label": docMessages.row.editAria, children: _jsx(Pencil, { className: "size-3.5" }) })) : null, editable ? (_jsx(ConfirmActionButton, { buttonLabel: docMessages.row.deleteButton, title: docMessages.row.deleteTitle, description: docMessages.row.deleteDescription, confirmLabel: docMessages.row.deleteConfirm, variant: "ghost", confirmVariant: "destructive", disabled: mutation.remove.isPending, onConfirm: async () => {
|
|
207
|
+
await mutation.remove.mutateAsync(document.id);
|
|
208
|
+
} })) : null] })] }), editable && personId ? (_jsx(PersonDocumentDialog, { open: editOpen, onOpenChange: setEditOpen, personId: personId, document: document })) : null] }));
|
|
226
209
|
}
|
|
227
210
|
export function EmptyRow({ children }) {
|
|
228
211
|
return _jsx("p", { className: "py-6 text-center text-sm text-muted-foreground", children: children });
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type PersonDocumentType } from "@voyantjs/crm-react";
|
|
2
|
+
export interface PersonDocumentDialogDocument {
|
|
3
|
+
id: string;
|
|
4
|
+
type: PersonDocumentType;
|
|
5
|
+
issuingCountry: string | null;
|
|
6
|
+
issuingAuthority: string | null;
|
|
7
|
+
issueDate: string | null;
|
|
8
|
+
expiryDate: string | null;
|
|
9
|
+
isPrimary: boolean;
|
|
10
|
+
notes: string | null;
|
|
11
|
+
}
|
|
12
|
+
export interface PersonDocumentDialogProps {
|
|
13
|
+
open: boolean;
|
|
14
|
+
onOpenChange: (open: boolean) => void;
|
|
15
|
+
personId: string;
|
|
16
|
+
document: PersonDocumentDialogDocument;
|
|
17
|
+
}
|
|
18
|
+
export declare function PersonDocumentDialog({ open, onOpenChange, personId, document, }: PersonDocumentDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
//# sourceMappingURL=person-document-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"person-document-dialog.d.ts","sourceRoot":"","sources":["../../src/components/person-document-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,qBAAqB,CAAA;AAiC5B,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,kBAAkB,CAAA;IACxB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,4BAA4B,CAAA;CACvC;AA6BD,wBAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,QAAQ,GACT,EAAE,yBAAyB,2CAoK3B"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { usePersonDocumentMutation, useRevealPersonDocument, } from "@voyantjs/crm-react";
|
|
4
|
+
import { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from "@voyantjs/ui/components";
|
|
5
|
+
import { Checkbox } from "@voyantjs/ui/components/checkbox";
|
|
6
|
+
import { Input } from "@voyantjs/ui/components/input";
|
|
7
|
+
import { Label } from "@voyantjs/ui/components/label";
|
|
8
|
+
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@voyantjs/ui/components/select";
|
|
9
|
+
import { Textarea } from "@voyantjs/ui/components/textarea";
|
|
10
|
+
import * as React from "react";
|
|
11
|
+
import { useCrmUiMessagesOrDefault } from "../i18n/index.js";
|
|
12
|
+
const DOCUMENT_TYPES = [
|
|
13
|
+
"passport",
|
|
14
|
+
"id_card",
|
|
15
|
+
"driver_license",
|
|
16
|
+
"visa",
|
|
17
|
+
"other",
|
|
18
|
+
];
|
|
19
|
+
function buildInitialState(document, revealedNumber) {
|
|
20
|
+
return {
|
|
21
|
+
type: document.type,
|
|
22
|
+
number: revealedNumber ?? "",
|
|
23
|
+
issuingCountry: document.issuingCountry ?? "",
|
|
24
|
+
issuingAuthority: document.issuingAuthority ?? "",
|
|
25
|
+
issueDate: document.issueDate ?? "",
|
|
26
|
+
expiryDate: document.expiryDate ?? "",
|
|
27
|
+
isPrimary: document.isPrimary,
|
|
28
|
+
notes: document.notes ?? "",
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export function PersonDocumentDialog({ open, onOpenChange, personId, document, }) {
|
|
32
|
+
const revealQuery = useRevealPersonDocument(document.id, { enabled: open });
|
|
33
|
+
const revealedNumber = revealQuery.data?.data.number ?? null;
|
|
34
|
+
const { updateFromPlaintext } = usePersonDocumentMutation(personId);
|
|
35
|
+
const messages = useCrmUiMessagesOrDefault();
|
|
36
|
+
const dialog = messages.personDocument.dialog;
|
|
37
|
+
const typeLabels = messages.personDetail.documentTypeLabels;
|
|
38
|
+
const [state, setState] = React.useState(() => buildInitialState(document, null));
|
|
39
|
+
const initializedRef = React.useRef(false);
|
|
40
|
+
React.useEffect(() => {
|
|
41
|
+
if (!open) {
|
|
42
|
+
initializedRef.current = false;
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (!initializedRef.current && !revealQuery.isLoading) {
|
|
46
|
+
setState(buildInitialState(document, revealedNumber));
|
|
47
|
+
initializedRef.current = true;
|
|
48
|
+
}
|
|
49
|
+
}, [open, document, revealedNumber, revealQuery.isLoading]);
|
|
50
|
+
const set = (key, value) => setState((prev) => ({ ...prev, [key]: value }));
|
|
51
|
+
const handleSubmit = async (event) => {
|
|
52
|
+
event.preventDefault();
|
|
53
|
+
await updateFromPlaintext.mutateAsync({
|
|
54
|
+
id: document.id,
|
|
55
|
+
input: {
|
|
56
|
+
type: state.type,
|
|
57
|
+
number: state.number.trim() === "" ? null : state.number.trim(),
|
|
58
|
+
issuingCountry: state.issuingCountry.trim() === "" ? null : state.issuingCountry.trim(),
|
|
59
|
+
issuingAuthority: state.issuingAuthority.trim() === "" ? null : state.issuingAuthority.trim(),
|
|
60
|
+
issueDate: state.issueDate === "" ? null : state.issueDate,
|
|
61
|
+
expiryDate: state.expiryDate === "" ? null : state.expiryDate,
|
|
62
|
+
isPrimary: state.isPrimary,
|
|
63
|
+
notes: state.notes.trim() === "" ? null : state.notes.trim(),
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
onOpenChange(false);
|
|
67
|
+
};
|
|
68
|
+
const revealError = revealQuery.error;
|
|
69
|
+
const updateError = updateFromPlaintext.error;
|
|
70
|
+
return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { className: "sm:max-w-[520px]", children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: dialog.title }), _jsx(DialogDescription, { children: dialog.description })] }), revealQuery.isLoading ? (_jsx("p", { className: "py-6 text-center text-sm text-muted-foreground", children: dialog.loading })) : revealError ? (_jsx("p", { className: "py-4 text-sm text-destructive", children: revealError instanceof Error ? revealError.message : dialog.revealFailed })) : null, _jsxs("form", { onSubmit: handleSubmit, className: "flex flex-col gap-4", children: [_jsxs("div", { className: "grid grid-cols-2 gap-3", children: [_jsxs("div", { className: "col-span-2 flex flex-col gap-1.5", children: [_jsx(Label, { htmlFor: "doc-type", children: dialog.fields.type }), _jsxs(Select, { value: state.type, onValueChange: (value) => set("type", value), children: [_jsx(SelectTrigger, { id: "doc-type", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: DOCUMENT_TYPES.map((type) => (_jsx(SelectItem, { value: type, children: typeLabels[type] }, type))) })] })] }), _jsxs("div", { className: "col-span-2 flex flex-col gap-1.5", children: [_jsx(Label, { htmlFor: "doc-number", children: dialog.fields.number }), _jsx(Input, { id: "doc-number", value: state.number, onChange: (event) => set("number", event.target.value), placeholder: dialog.placeholders.number, autoComplete: "off" })] }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(Label, { htmlFor: "doc-country", children: dialog.fields.issuingCountry }), _jsx(Input, { id: "doc-country", value: state.issuingCountry, onChange: (event) => set("issuingCountry", event.target.value), placeholder: dialog.placeholders.issuingCountry, maxLength: 3 })] }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(Label, { htmlFor: "doc-authority", children: dialog.fields.issuingAuthority }), _jsx(Input, { id: "doc-authority", value: state.issuingAuthority, onChange: (event) => set("issuingAuthority", event.target.value) })] }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(Label, { htmlFor: "doc-issued", children: dialog.fields.issueDate }), _jsx(Input, { id: "doc-issued", type: "date", value: state.issueDate, onChange: (event) => set("issueDate", event.target.value) })] }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(Label, { htmlFor: "doc-expiry", children: dialog.fields.expiryDate }), _jsx(Input, { id: "doc-expiry", type: "date", value: state.expiryDate, onChange: (event) => set("expiryDate", event.target.value) })] }), _jsxs("div", { className: "col-span-2 flex items-center gap-2", children: [_jsx(Checkbox, { id: "doc-primary", checked: state.isPrimary, onCheckedChange: (checked) => set("isPrimary", checked === true) }), _jsx(Label, { htmlFor: "doc-primary", className: "cursor-pointer", children: dialog.fields.primary })] }), _jsxs("div", { className: "col-span-2 flex flex-col gap-1.5", children: [_jsx(Label, { htmlFor: "doc-notes", children: dialog.fields.notes }), _jsx(Textarea, { id: "doc-notes", value: state.notes, onChange: (event) => set("notes", event.target.value), rows: 3 })] })] }), updateError ? (_jsx("p", { className: "text-sm text-destructive", children: updateError instanceof Error ? updateError.message : dialog.saveFailed })) : null, _jsxs(DialogFooter, { children: [_jsx(Button, { type: "button", variant: "outline", onClick: () => onOpenChange(false), children: dialog.cancel }), _jsx(Button, { type: "submit", disabled: updateFromPlaintext.isPending, children: updateFromPlaintext.isPending ? dialog.saving : dialog.save })] })] })] }) }));
|
|
71
|
+
}
|
package/dist/i18n/en.d.ts
CHANGED
|
@@ -417,6 +417,7 @@ export declare const crmUiEn: {
|
|
|
417
417
|
activities: string;
|
|
418
418
|
relationships: string;
|
|
419
419
|
documents: string;
|
|
420
|
+
addresses: string;
|
|
420
421
|
bookings: string;
|
|
421
422
|
invoices: string;
|
|
422
423
|
payments: string;
|
|
@@ -465,6 +466,44 @@ export declare const crmUiEn: {
|
|
|
465
466
|
};
|
|
466
467
|
hint: string;
|
|
467
468
|
};
|
|
469
|
+
personDocument: {
|
|
470
|
+
row: {
|
|
471
|
+
decrypting: string;
|
|
472
|
+
noNumberOnFile: string;
|
|
473
|
+
revealFailed: string;
|
|
474
|
+
revealAria: string;
|
|
475
|
+
hideAria: string;
|
|
476
|
+
editAria: string;
|
|
477
|
+
deleteButton: string;
|
|
478
|
+
deleteTitle: string;
|
|
479
|
+
deleteDescription: string;
|
|
480
|
+
deleteConfirm: string;
|
|
481
|
+
};
|
|
482
|
+
dialog: {
|
|
483
|
+
title: string;
|
|
484
|
+
description: string;
|
|
485
|
+
revealFailed: string;
|
|
486
|
+
fields: {
|
|
487
|
+
type: string;
|
|
488
|
+
number: string;
|
|
489
|
+
issuingCountry: string;
|
|
490
|
+
issuingAuthority: string;
|
|
491
|
+
issueDate: string;
|
|
492
|
+
expiryDate: string;
|
|
493
|
+
primary: string;
|
|
494
|
+
notes: string;
|
|
495
|
+
};
|
|
496
|
+
placeholders: {
|
|
497
|
+
number: string;
|
|
498
|
+
issuingCountry: string;
|
|
499
|
+
};
|
|
500
|
+
loading: string;
|
|
501
|
+
saveFailed: string;
|
|
502
|
+
cancel: string;
|
|
503
|
+
save: string;
|
|
504
|
+
saving: string;
|
|
505
|
+
};
|
|
506
|
+
};
|
|
468
507
|
createQuoteDialog: {
|
|
469
508
|
title: string;
|
|
470
509
|
fields: {
|
package/dist/i18n/en.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkkBK,CAAA"}
|
package/dist/i18n/en.js
CHANGED
|
@@ -417,6 +417,7 @@ export const crmUiEn = {
|
|
|
417
417
|
activities: "Activities",
|
|
418
418
|
relationships: "Relationships",
|
|
419
419
|
documents: "Documents",
|
|
420
|
+
addresses: "Addresses",
|
|
420
421
|
bookings: "Bookings",
|
|
421
422
|
invoices: "Invoices",
|
|
422
423
|
payments: "Payments",
|
|
@@ -465,6 +466,44 @@ export const crmUiEn = {
|
|
|
465
466
|
},
|
|
466
467
|
hint: "Fields update on the left panel. Hover to reveal the edit icon.",
|
|
467
468
|
},
|
|
469
|
+
personDocument: {
|
|
470
|
+
row: {
|
|
471
|
+
decrypting: "Decrypting…",
|
|
472
|
+
noNumberOnFile: "(no number on file)",
|
|
473
|
+
revealFailed: "Failed to reveal.",
|
|
474
|
+
revealAria: "Reveal number",
|
|
475
|
+
hideAria: "Hide number",
|
|
476
|
+
editAria: "Edit document",
|
|
477
|
+
deleteButton: "Delete",
|
|
478
|
+
deleteTitle: "Delete document",
|
|
479
|
+
deleteDescription: "This will permanently remove this document.",
|
|
480
|
+
deleteConfirm: "Delete",
|
|
481
|
+
},
|
|
482
|
+
dialog: {
|
|
483
|
+
title: "Edit document",
|
|
484
|
+
description: "Update document details. Numbers are encrypted at rest and audit-logged on reveal.",
|
|
485
|
+
revealFailed: "Failed to reveal document.",
|
|
486
|
+
fields: {
|
|
487
|
+
type: "Type",
|
|
488
|
+
number: "Number",
|
|
489
|
+
issuingCountry: "Issuing country",
|
|
490
|
+
issuingAuthority: "Issuing authority",
|
|
491
|
+
issueDate: "Issue date",
|
|
492
|
+
expiryDate: "Expiry date",
|
|
493
|
+
primary: "Set as primary for this type",
|
|
494
|
+
notes: "Notes",
|
|
495
|
+
},
|
|
496
|
+
placeholders: {
|
|
497
|
+
number: "Document number",
|
|
498
|
+
issuingCountry: "ISO code (e.g. RO)",
|
|
499
|
+
},
|
|
500
|
+
loading: "Loading document…",
|
|
501
|
+
saveFailed: "Failed to save document.",
|
|
502
|
+
cancel: "Cancel",
|
|
503
|
+
save: "Save",
|
|
504
|
+
saving: "Saving…",
|
|
505
|
+
},
|
|
506
|
+
},
|
|
468
507
|
createQuoteDialog: {
|
|
469
508
|
title: "New quote",
|
|
470
509
|
fields: {
|
package/dist/i18n/messages.d.ts
CHANGED
|
@@ -393,6 +393,7 @@ export type CrmUiMessages = {
|
|
|
393
393
|
activities: string;
|
|
394
394
|
relationships: string;
|
|
395
395
|
documents: string;
|
|
396
|
+
addresses: string;
|
|
396
397
|
bookings: string;
|
|
397
398
|
invoices: string;
|
|
398
399
|
payments: string;
|
|
@@ -441,6 +442,46 @@ export type CrmUiMessages = {
|
|
|
441
442
|
};
|
|
442
443
|
hint: string;
|
|
443
444
|
};
|
|
445
|
+
personDocument: {
|
|
446
|
+
/** Row-level inline reveal panel + per-row action icons. */
|
|
447
|
+
row: {
|
|
448
|
+
decrypting: string;
|
|
449
|
+
noNumberOnFile: string;
|
|
450
|
+
revealFailed: string;
|
|
451
|
+
revealAria: string;
|
|
452
|
+
hideAria: string;
|
|
453
|
+
editAria: string;
|
|
454
|
+
deleteButton: string;
|
|
455
|
+
deleteTitle: string;
|
|
456
|
+
deleteDescription: string;
|
|
457
|
+
deleteConfirm: string;
|
|
458
|
+
};
|
|
459
|
+
/** Edit dialog (opens when the operator clicks the pencil). */
|
|
460
|
+
dialog: {
|
|
461
|
+
title: string;
|
|
462
|
+
description: string;
|
|
463
|
+
revealFailed: string;
|
|
464
|
+
fields: {
|
|
465
|
+
type: string;
|
|
466
|
+
number: string;
|
|
467
|
+
issuingCountry: string;
|
|
468
|
+
issuingAuthority: string;
|
|
469
|
+
issueDate: string;
|
|
470
|
+
expiryDate: string;
|
|
471
|
+
primary: string;
|
|
472
|
+
notes: string;
|
|
473
|
+
};
|
|
474
|
+
placeholders: {
|
|
475
|
+
number: string;
|
|
476
|
+
issuingCountry: string;
|
|
477
|
+
};
|
|
478
|
+
loading: string;
|
|
479
|
+
saveFailed: string;
|
|
480
|
+
cancel: string;
|
|
481
|
+
save: string;
|
|
482
|
+
saving: string;
|
|
483
|
+
};
|
|
484
|
+
};
|
|
444
485
|
createQuoteDialog: {
|
|
445
486
|
title: string;
|
|
446
487
|
fields: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n/provider.d.ts
CHANGED
|
@@ -421,6 +421,7 @@ export declare const crmUiMessageDefinitions: {
|
|
|
421
421
|
activities: string;
|
|
422
422
|
relationships: string;
|
|
423
423
|
documents: string;
|
|
424
|
+
addresses: string;
|
|
424
425
|
bookings: string;
|
|
425
426
|
invoices: string;
|
|
426
427
|
payments: string;
|
|
@@ -469,6 +470,44 @@ export declare const crmUiMessageDefinitions: {
|
|
|
469
470
|
};
|
|
470
471
|
hint: string;
|
|
471
472
|
};
|
|
473
|
+
personDocument: {
|
|
474
|
+
row: {
|
|
475
|
+
decrypting: string;
|
|
476
|
+
noNumberOnFile: string;
|
|
477
|
+
revealFailed: string;
|
|
478
|
+
revealAria: string;
|
|
479
|
+
hideAria: string;
|
|
480
|
+
editAria: string;
|
|
481
|
+
deleteButton: string;
|
|
482
|
+
deleteTitle: string;
|
|
483
|
+
deleteDescription: string;
|
|
484
|
+
deleteConfirm: string;
|
|
485
|
+
};
|
|
486
|
+
dialog: {
|
|
487
|
+
title: string;
|
|
488
|
+
description: string;
|
|
489
|
+
revealFailed: string;
|
|
490
|
+
fields: {
|
|
491
|
+
type: string;
|
|
492
|
+
number: string;
|
|
493
|
+
issuingCountry: string;
|
|
494
|
+
issuingAuthority: string;
|
|
495
|
+
issueDate: string;
|
|
496
|
+
expiryDate: string;
|
|
497
|
+
primary: string;
|
|
498
|
+
notes: string;
|
|
499
|
+
};
|
|
500
|
+
placeholders: {
|
|
501
|
+
number: string;
|
|
502
|
+
issuingCountry: string;
|
|
503
|
+
};
|
|
504
|
+
loading: string;
|
|
505
|
+
saveFailed: string;
|
|
506
|
+
cancel: string;
|
|
507
|
+
save: string;
|
|
508
|
+
saving: string;
|
|
509
|
+
};
|
|
510
|
+
};
|
|
472
511
|
createQuoteDialog: {
|
|
473
512
|
title: string;
|
|
474
513
|
fields: {
|
|
@@ -958,6 +997,7 @@ export declare const crmUiMessageDefinitions: {
|
|
|
958
997
|
activities: string;
|
|
959
998
|
relationships: string;
|
|
960
999
|
documents: string;
|
|
1000
|
+
addresses: string;
|
|
961
1001
|
bookings: string;
|
|
962
1002
|
invoices: string;
|
|
963
1003
|
payments: string;
|
|
@@ -1006,6 +1046,44 @@ export declare const crmUiMessageDefinitions: {
|
|
|
1006
1046
|
};
|
|
1007
1047
|
hint: string;
|
|
1008
1048
|
};
|
|
1049
|
+
personDocument: {
|
|
1050
|
+
row: {
|
|
1051
|
+
decrypting: string;
|
|
1052
|
+
noNumberOnFile: string;
|
|
1053
|
+
revealFailed: string;
|
|
1054
|
+
revealAria: string;
|
|
1055
|
+
hideAria: string;
|
|
1056
|
+
editAria: string;
|
|
1057
|
+
deleteButton: string;
|
|
1058
|
+
deleteTitle: string;
|
|
1059
|
+
deleteDescription: string;
|
|
1060
|
+
deleteConfirm: string;
|
|
1061
|
+
};
|
|
1062
|
+
dialog: {
|
|
1063
|
+
title: string;
|
|
1064
|
+
description: string;
|
|
1065
|
+
revealFailed: string;
|
|
1066
|
+
fields: {
|
|
1067
|
+
type: string;
|
|
1068
|
+
number: string;
|
|
1069
|
+
issuingCountry: string;
|
|
1070
|
+
issuingAuthority: string;
|
|
1071
|
+
issueDate: string;
|
|
1072
|
+
expiryDate: string;
|
|
1073
|
+
primary: string;
|
|
1074
|
+
notes: string;
|
|
1075
|
+
};
|
|
1076
|
+
placeholders: {
|
|
1077
|
+
number: string;
|
|
1078
|
+
issuingCountry: string;
|
|
1079
|
+
};
|
|
1080
|
+
loading: string;
|
|
1081
|
+
saveFailed: string;
|
|
1082
|
+
cancel: string;
|
|
1083
|
+
save: string;
|
|
1084
|
+
saving: string;
|
|
1085
|
+
};
|
|
1086
|
+
};
|
|
1009
1087
|
createQuoteDialog: {
|
|
1010
1088
|
title: string;
|
|
1011
1089
|
fields: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/i18n/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAEtB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAKlD,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/i18n/provider.tsx"],"names":[],"mappings":"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"}
|
package/dist/i18n/ro.d.ts
CHANGED
|
@@ -417,6 +417,7 @@ export declare const crmUiRo: {
|
|
|
417
417
|
activities: string;
|
|
418
418
|
relationships: string;
|
|
419
419
|
documents: string;
|
|
420
|
+
addresses: string;
|
|
420
421
|
bookings: string;
|
|
421
422
|
invoices: string;
|
|
422
423
|
payments: string;
|
|
@@ -465,6 +466,44 @@ export declare const crmUiRo: {
|
|
|
465
466
|
};
|
|
466
467
|
hint: string;
|
|
467
468
|
};
|
|
469
|
+
personDocument: {
|
|
470
|
+
row: {
|
|
471
|
+
decrypting: string;
|
|
472
|
+
noNumberOnFile: string;
|
|
473
|
+
revealFailed: string;
|
|
474
|
+
revealAria: string;
|
|
475
|
+
hideAria: string;
|
|
476
|
+
editAria: string;
|
|
477
|
+
deleteButton: string;
|
|
478
|
+
deleteTitle: string;
|
|
479
|
+
deleteDescription: string;
|
|
480
|
+
deleteConfirm: string;
|
|
481
|
+
};
|
|
482
|
+
dialog: {
|
|
483
|
+
title: string;
|
|
484
|
+
description: string;
|
|
485
|
+
revealFailed: string;
|
|
486
|
+
fields: {
|
|
487
|
+
type: string;
|
|
488
|
+
number: string;
|
|
489
|
+
issuingCountry: string;
|
|
490
|
+
issuingAuthority: string;
|
|
491
|
+
issueDate: string;
|
|
492
|
+
expiryDate: string;
|
|
493
|
+
primary: string;
|
|
494
|
+
notes: string;
|
|
495
|
+
};
|
|
496
|
+
placeholders: {
|
|
497
|
+
number: string;
|
|
498
|
+
issuingCountry: string;
|
|
499
|
+
};
|
|
500
|
+
loading: string;
|
|
501
|
+
saveFailed: string;
|
|
502
|
+
cancel: string;
|
|
503
|
+
save: string;
|
|
504
|
+
saving: string;
|
|
505
|
+
};
|
|
506
|
+
};
|
|
468
507
|
createQuoteDialog: {
|
|
469
508
|
title: string;
|
|
470
509
|
fields: {
|
package/dist/i18n/ro.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkkBK,CAAA"}
|
package/dist/i18n/ro.js
CHANGED
|
@@ -417,6 +417,7 @@ export const crmUiRo = {
|
|
|
417
417
|
activities: "Activitati",
|
|
418
418
|
relationships: "Relatii",
|
|
419
419
|
documents: "Documente",
|
|
420
|
+
addresses: "Adrese",
|
|
420
421
|
bookings: "Rezervari",
|
|
421
422
|
invoices: "Facturi",
|
|
422
423
|
payments: "Plati",
|
|
@@ -465,6 +466,44 @@ export const crmUiRo = {
|
|
|
465
466
|
},
|
|
466
467
|
hint: "Campurile se actualizeaza din panoul din stanga. Treci cu mouse-ul pentru a vedea iconita de editare.",
|
|
467
468
|
},
|
|
469
|
+
personDocument: {
|
|
470
|
+
row: {
|
|
471
|
+
decrypting: "Se decripteaza…",
|
|
472
|
+
noNumberOnFile: "(niciun numar inregistrat)",
|
|
473
|
+
revealFailed: "Afisarea a esuat.",
|
|
474
|
+
revealAria: "Afiseaza numarul",
|
|
475
|
+
hideAria: "Ascunde numarul",
|
|
476
|
+
editAria: "Editeaza documentul",
|
|
477
|
+
deleteButton: "Sterge",
|
|
478
|
+
deleteTitle: "Stergi documentul?",
|
|
479
|
+
deleteDescription: "Aceasta actiune sterge definitiv documentul.",
|
|
480
|
+
deleteConfirm: "Sterge",
|
|
481
|
+
},
|
|
482
|
+
dialog: {
|
|
483
|
+
title: "Editeaza documentul",
|
|
484
|
+
description: "Actualizeaza detaliile documentului. Numerele sunt criptate si fiecare dezvaluire este auditata.",
|
|
485
|
+
revealFailed: "Dezvaluirea documentului a esuat.",
|
|
486
|
+
fields: {
|
|
487
|
+
type: "Tip",
|
|
488
|
+
number: "Numar",
|
|
489
|
+
issuingCountry: "Tara emitenta",
|
|
490
|
+
issuingAuthority: "Autoritatea emitenta",
|
|
491
|
+
issueDate: "Data emiterii",
|
|
492
|
+
expiryDate: "Data expirarii",
|
|
493
|
+
primary: "Marcheaza ca document principal pentru acest tip",
|
|
494
|
+
notes: "Note",
|
|
495
|
+
},
|
|
496
|
+
placeholders: {
|
|
497
|
+
number: "Numarul documentului",
|
|
498
|
+
issuingCountry: "Cod ISO (ex. RO)",
|
|
499
|
+
},
|
|
500
|
+
loading: "Se incarca documentul…",
|
|
501
|
+
saveFailed: "Salvarea documentului a esuat.",
|
|
502
|
+
cancel: "Anuleaza",
|
|
503
|
+
save: "Salveaza",
|
|
504
|
+
saving: "Se salveaza…",
|
|
505
|
+
},
|
|
506
|
+
},
|
|
468
507
|
createQuoteDialog: {
|
|
469
508
|
title: "Oferta noua",
|
|
470
509
|
fields: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voyantjs/crm-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.63.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -43,9 +43,9 @@
|
|
|
43
43
|
"@tanstack/react-query": "^5.0.0",
|
|
44
44
|
"react": "^19.0.0",
|
|
45
45
|
"react-dom": "^19.0.0",
|
|
46
|
-
"@voyantjs/crm-react": "0.
|
|
47
|
-
"@voyantjs/identity-react": "0.
|
|
48
|
-
"@voyantjs/ui": "0.
|
|
46
|
+
"@voyantjs/crm-react": "0.63.0",
|
|
47
|
+
"@voyantjs/identity-react": "0.63.0",
|
|
48
|
+
"@voyantjs/ui": "0.63.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@tanstack/react-query": "^5.100.11",
|
|
@@ -56,15 +56,15 @@
|
|
|
56
56
|
"react-dom": "^19.2.4",
|
|
57
57
|
"typescript": "^6.0.2",
|
|
58
58
|
"vitest": "^4.1.2",
|
|
59
|
-
"@voyantjs/crm-react": "0.
|
|
60
|
-
"@voyantjs/i18n": "0.
|
|
61
|
-
"@voyantjs/identity-react": "0.
|
|
62
|
-
"@voyantjs/ui": "0.
|
|
59
|
+
"@voyantjs/crm-react": "0.63.0",
|
|
60
|
+
"@voyantjs/i18n": "0.63.0",
|
|
61
|
+
"@voyantjs/identity-react": "0.63.0",
|
|
62
|
+
"@voyantjs/ui": "0.63.0",
|
|
63
63
|
"@voyantjs/voyant-typescript-config": "0.1.0"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@voyantjs/i18n": "0.
|
|
67
|
-
"@voyantjs/utils": "0.
|
|
66
|
+
"@voyantjs/i18n": "0.63.0",
|
|
67
|
+
"@voyantjs/utils": "0.63.0"
|
|
68
68
|
},
|
|
69
69
|
"files": [
|
|
70
70
|
"dist",
|