@voyantjs/legal-ui 0.38.1 → 0.40.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/README.md CHANGED
@@ -12,6 +12,13 @@ pnpm add @voyantjs/legal-ui @voyantjs/legal-react @voyantjs/ui @tanstack/react-q
12
12
 
13
13
  All components accept a `className` prop and merge it with `cn()`. Wrap or compose to extend; use the registry copy-paste path (`npx shadcn add @voyant/...`) for components you want to fork outright.
14
14
 
15
+ ## Detail Tab Replacement Slots
16
+
17
+ `ContractDetailPage` exposes `slots` for replacing built-in tab content while
18
+ keeping the default tab navigation. Use `detailsContent`, `partiesContent`,
19
+ `signaturesContent`, or `documentsContent` when an app needs custom inline
20
+ management controls instead of the shipped read-only table.
21
+
15
22
  ## I18n
16
23
 
17
24
  Components render English by default. To localize them, wrap your UI in
@@ -6,6 +6,13 @@ export interface ContractDetailPageProps {
6
6
  renderContractDialog?: (props: ContractDetailDialogRenderProps) => ReactNode;
7
7
  renderReference?: (props: ContractReferenceRenderProps) => ReactNode;
8
8
  getAttachmentDownloadHref?: (attachment: LegalContractAttachmentRecord) => string;
9
+ slots?: ContractDetailPageSlots;
10
+ }
11
+ export interface ContractDetailPageSlots {
12
+ detailsContent?: ReactNode;
13
+ partiesContent?: ReactNode;
14
+ signaturesContent?: ReactNode;
15
+ documentsContent?: ReactNode;
9
16
  }
10
17
  export type ContractReferenceKind = "person" | "organization" | "supplier" | "channel" | "booking" | "order";
11
18
  export interface ContractReferenceRenderProps {
@@ -19,5 +26,5 @@ export interface ContractDetailDialogRenderProps {
19
26
  contract: LegalContractRecord;
20
27
  onSuccess: () => void;
21
28
  }
22
- export declare function ContractDetailPage({ id, onBackToContracts, renderContractDialog, renderReference, getAttachmentDownloadHref, }: ContractDetailPageProps): import("react/jsx-runtime").JSX.Element;
29
+ export declare function ContractDetailPage({ id, onBackToContracts, renderContractDialog, renderReference, getAttachmentDownloadHref, slots, }: ContractDetailPageProps): import("react/jsx-runtime").JSX.Element;
23
30
  //# sourceMappingURL=contract-detail-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract-detail-page.d.ts","sourceRoot":"","sources":["../../src/components/contract-detail-page.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,EAMzB,MAAM,uBAAuB,CAAA;AAY9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAqBtC,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,+BAA+B,KAAK,SAAS,CAAA;IAC5E,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,SAAS,CAAA;IACpE,yBAAyB,CAAC,EAAE,CAAC,UAAU,EAAE,6BAA6B,KAAK,MAAM,CAAA;CAClF;AAED,MAAM,MAAM,qBAAqB,GAC7B,QAAQ,GACR,cAAc,GACd,UAAU,GACV,SAAS,GACT,SAAS,GACT,OAAO,CAAA;AAEX,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,qBAAqB,CAAA;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,mBAAmB,CAAA;CAC9B;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,SAAS,EAAE,MAAM,IAAI,CAAA;CACtB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,EAAE,EACF,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,yBAAyB,GAC1B,EAAE,uBAAuB,2CAwVzB"}
1
+ {"version":3,"file":"contract-detail-page.d.ts","sourceRoot":"","sources":["../../src/components/contract-detail-page.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,EAMzB,MAAM,uBAAuB,CAAA;AAY9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAqBtC,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,+BAA+B,KAAK,SAAS,CAAA;IAC5E,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,SAAS,CAAA;IACpE,yBAAyB,CAAC,EAAE,CAAC,UAAU,EAAE,6BAA6B,KAAK,MAAM,CAAA;IACjF,KAAK,CAAC,EAAE,uBAAuB,CAAA;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,CAAC,EAAE,SAAS,CAAA;IAC1B,cAAc,CAAC,EAAE,SAAS,CAAA;IAC1B,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAC7B,gBAAgB,CAAC,EAAE,SAAS,CAAA;CAC7B;AAED,MAAM,MAAM,qBAAqB,GAC7B,QAAQ,GACR,cAAc,GACd,UAAU,GACV,SAAS,GACT,SAAS,GACT,OAAO,CAAA;AAEX,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,qBAAqB,CAAA;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,mBAAmB,CAAA;CAC9B;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,SAAS,EAAE,MAAM,IAAI,CAAA;CACtB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,EAAE,EACF,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,yBAAyB,EACzB,KAAK,GACN,EAAE,uBAAuB,2CAwWzB"}
@@ -19,7 +19,7 @@ const statusVariant = {
19
19
  expired: "destructive",
20
20
  void: "destructive",
21
21
  };
22
- export function ContractDetailPage({ id, onBackToContracts, renderContractDialog, renderReference, getAttachmentDownloadHref, }) {
22
+ export function ContractDetailPage({ id, onBackToContracts, renderContractDialog, renderReference, getAttachmentDownloadHref, slots, }) {
23
23
  const queryClient = useQueryClient();
24
24
  const i18n = useLegalUiI18nOrDefault();
25
25
  const messages = useLegalUiMessagesOrDefault();
@@ -54,12 +54,12 @@ export function ContractDetailPage({ id, onBackToContracts, renderContractDialog
54
54
  if (confirm(formatMessage(f.deleteConfirm, { title: contract.title }))) {
55
55
  remove.mutate(id, { onSuccess: () => onBackToContracts?.() });
56
56
  }
57
- }, disabled: remove.isPending, children: [_jsx(Trash2, { className: "mr-2 size-4", "aria-hidden": "true" }), messages.common.delete] })) : null] })] }), _jsxs(Tabs, { defaultValue: "details", children: [_jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "details", children: f.sections.details }), _jsx(TabsTrigger, { value: "parties", children: f.sections.parties }), _jsx(TabsTrigger, { value: "signatures", children: f.sections.signatures }), _jsx(TabsTrigger, { value: "documents", children: f.sections.documents })] }), _jsx(TabsContent, { value: "details", className: "mt-4", children: _jsx(ContractSection, { title: f.sections.details, children: _jsxs("div", { className: "grid gap-3 text-sm", children: [_jsx(DetailRow, { label: f.fields.language, children: contract.language }), contract.templateVersionId ? (_jsx(DetailRow, { label: f.fields.templateVersion, children: _jsx("span", { className: "font-mono text-xs", children: contract.templateVersionId }) })) : null, contract.seriesId ? (_jsx(DetailRow, { label: f.fields.series, children: _jsx("span", { className: "font-mono text-xs", children: contract.seriesId }) })) : null, contract.expiresAt ? (_jsx(DetailRow, { label: f.fields.expires, children: i18n.formatDate(contract.expiresAt) })) : null, _jsxs("div", { className: "mt-2 border-t pt-3", children: [_jsx(DetailRow, { label: f.fields.created, children: i18n.formatDate(contract.createdAt) }), _jsx(DetailRow, { label: f.fields.updated, children: i18n.formatDate(contract.updatedAt) })] })] }) }) }), _jsx(TabsContent, { value: "parties", className: "mt-4", children: _jsx(ContractSection, { title: f.sections.parties, children: _jsxs("div", { className: "grid gap-3 text-sm", children: [contract.personId ? (_jsx(DetailRow, { label: f.fields.person, children: renderReferenceValue("person", contract.personId) })) : null, contract.organizationId ? (_jsx(DetailRow, { label: f.fields.organization, children: renderReferenceValue("organization", contract.organizationId) })) : null, contract.supplierId ? (_jsx(DetailRow, { label: f.fields.supplier, children: renderReferenceValue("supplier", contract.supplierId) })) : null, contract.channelId ? (_jsx(DetailRow, { label: f.fields.channel, children: renderReferenceValue("channel", contract.channelId) })) : null, contract.bookingId ? (_jsx(DetailRow, { label: f.fields.booking, children: renderReferenceValue("booking", contract.bookingId) })) : null, contract.orderId ? (_jsx(DetailRow, { label: f.fields.order, children: renderReferenceValue("order", contract.orderId) })) : null, !contract.personId &&
57
+ }, disabled: remove.isPending, children: [_jsx(Trash2, { className: "mr-2 size-4", "aria-hidden": "true" }), messages.common.delete] })) : null] })] }), _jsxs(Tabs, { defaultValue: "details", children: [_jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "details", children: f.sections.details }), _jsx(TabsTrigger, { value: "parties", children: f.sections.parties }), _jsx(TabsTrigger, { value: "signatures", children: f.sections.signatures }), _jsx(TabsTrigger, { value: "documents", children: f.sections.documents })] }), _jsx(TabsContent, { value: "details", className: "mt-4", children: slots?.detailsContent !== undefined ? (slots.detailsContent) : (_jsx(ContractSection, { title: f.sections.details, children: _jsxs("div", { className: "grid gap-3 text-sm", children: [_jsx(DetailRow, { label: f.fields.language, children: contract.language }), contract.templateVersionId ? (_jsx(DetailRow, { label: f.fields.templateVersion, children: _jsx("span", { className: "font-mono text-xs", children: contract.templateVersionId }) })) : null, contract.seriesId ? (_jsx(DetailRow, { label: f.fields.series, children: _jsx("span", { className: "font-mono text-xs", children: contract.seriesId }) })) : null, contract.expiresAt ? (_jsx(DetailRow, { label: f.fields.expires, children: i18n.formatDate(contract.expiresAt) })) : null, _jsxs("div", { className: "mt-2 border-t pt-3", children: [_jsx(DetailRow, { label: f.fields.created, children: i18n.formatDate(contract.createdAt) }), _jsx(DetailRow, { label: f.fields.updated, children: i18n.formatDate(contract.updatedAt) })] })] }) })) }), _jsx(TabsContent, { value: "parties", className: "mt-4", children: slots?.partiesContent !== undefined ? (slots.partiesContent) : (_jsx(ContractSection, { title: f.sections.parties, children: _jsxs("div", { className: "grid gap-3 text-sm", children: [contract.personId ? (_jsx(DetailRow, { label: f.fields.person, children: renderReferenceValue("person", contract.personId) })) : null, contract.organizationId ? (_jsx(DetailRow, { label: f.fields.organization, children: renderReferenceValue("organization", contract.organizationId) })) : null, contract.supplierId ? (_jsx(DetailRow, { label: f.fields.supplier, children: renderReferenceValue("supplier", contract.supplierId) })) : null, contract.channelId ? (_jsx(DetailRow, { label: f.fields.channel, children: renderReferenceValue("channel", contract.channelId) })) : null, contract.bookingId ? (_jsx(DetailRow, { label: f.fields.booking, children: renderReferenceValue("booking", contract.bookingId) })) : null, contract.orderId ? (_jsx(DetailRow, { label: f.fields.order, children: renderReferenceValue("order", contract.orderId) })) : null, !contract.personId &&
58
58
  !contract.organizationId &&
59
59
  !contract.supplierId &&
60
60
  !contract.channelId &&
61
61
  !contract.bookingId &&
62
- !contract.orderId ? (_jsx("p", { className: "text-muted-foreground", children: f.empty.noParties })) : null] }) }) }), _jsx(TabsContent, { value: "signatures", className: "mt-4", children: _jsx(ContractSection, { title: f.sections.signatures, action: canAddSignature ? (_jsxs(Button, { size: "sm", onClick: () => setSignOpen(true), children: [_jsx(Plus, { className: "mr-2 size-4", "aria-hidden": "true" }), f.actions.addSignature] })) : null, children: !signatures || signatures.length === 0 ? (_jsx("p", { className: "py-4 text-center text-sm text-muted-foreground", children: f.empty.noSignatures })) : (_jsx("div", { className: "rounded border bg-background", children: _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { children: f.fields.name }), _jsx(TableHead, { children: f.fields.email }), _jsx(TableHead, { children: f.fields.role }), _jsx(TableHead, { children: f.fields.method }), _jsx(TableHead, { children: f.fields.signedAt })] }) }), _jsx(TableBody, { children: signatures.map((signature) => (_jsxs(TableRow, { children: [_jsx(TableCell, { children: signature.signerName }), _jsx(TableCell, { children: signature.signerEmail ?? messages.common.noResultsDash }), _jsx(TableCell, { children: signature.signerRole ?? messages.common.noResultsDash }), _jsx(TableCell, { children: signature.method }), _jsx(TableCell, { children: i18n.formatDateTime(signature.signedAt) })] }, signature.id))) })] }) })) }) }), _jsx(TabsContent, { value: "documents", className: "mt-4", children: _jsx(ContractSection, { title: f.sections.documents, action: _jsxs(Button, { size: "sm", onClick: () => {
62
+ !contract.orderId ? (_jsx("p", { className: "text-muted-foreground", children: f.empty.noParties })) : null] }) })) }), _jsx(TabsContent, { value: "signatures", className: "mt-4", children: slots?.signaturesContent !== undefined ? (slots.signaturesContent) : (_jsx(ContractSection, { title: f.sections.signatures, action: canAddSignature ? (_jsxs(Button, { size: "sm", onClick: () => setSignOpen(true), children: [_jsx(Plus, { className: "mr-2 size-4", "aria-hidden": "true" }), f.actions.addSignature] })) : null, children: !signatures || signatures.length === 0 ? (_jsx("p", { className: "py-4 text-center text-sm text-muted-foreground", children: f.empty.noSignatures })) : (_jsx("div", { className: "rounded border bg-background", children: _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { children: f.fields.name }), _jsx(TableHead, { children: f.fields.email }), _jsx(TableHead, { children: f.fields.role }), _jsx(TableHead, { children: f.fields.method }), _jsx(TableHead, { children: f.fields.signedAt })] }) }), _jsx(TableBody, { children: signatures.map((signature) => (_jsxs(TableRow, { children: [_jsx(TableCell, { children: signature.signerName }), _jsx(TableCell, { children: signature.signerEmail ?? messages.common.noResultsDash }), _jsx(TableCell, { children: signature.signerRole ?? messages.common.noResultsDash }), _jsx(TableCell, { children: signature.method }), _jsx(TableCell, { children: i18n.formatDateTime(signature.signedAt) })] }, signature.id))) })] }) })) })) }), _jsx(TabsContent, { value: "documents", className: "mt-4", children: slots?.documentsContent !== undefined ? (slots.documentsContent) : (_jsx(ContractSection, { title: f.sections.documents, action: _jsxs(Button, { size: "sm", onClick: () => {
63
63
  setEditingAttachment(undefined);
64
64
  setAttachOpen(true);
65
65
  }, children: [_jsx(Plus, { className: "mr-2 size-4", "aria-hidden": "true" }), f.actions.addDocument] }), children: !attachments || attachments.length === 0 ? (_jsx("p", { className: "py-4 text-center text-sm text-muted-foreground", children: f.empty.noAttachments })) : (_jsx("div", { className: "rounded border bg-background", children: _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { children: f.fields.name }), _jsx(TableHead, { children: f.fields.kind }), _jsx(TableHead, { children: f.fields.mimeType }), _jsx(TableHead, { children: f.fields.size }), _jsx(TableHead, { className: "w-16" })] }) }), _jsx(TableBody, { children: attachments.map((attachment) => (_jsx(AttachmentRow, { attachment: attachment, downloadHref: getAttachmentDownloadHref?.(attachment), onEdit: () => {
@@ -69,7 +69,7 @@ export function ContractDetailPage({ id, onBackToContracts, renderContractDialog
69
69
  if (confirm(f.deleteAttachmentConfirm)) {
70
70
  removeAttachment.mutate({ contractId: id, id: attachment.id });
71
71
  }
72
- } }, attachment.id))) })] }) })) }) })] }), renderContractDialog?.({
72
+ } }, attachment.id))) })] }) })) })) })] }), renderContractDialog?.({
73
73
  open: editOpen,
74
74
  onOpenChange: setEditOpen,
75
75
  contract,
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { AttachmentDialog } from "./components/attachment-dialog.js";
2
2
  export { BookingContractCard, type BookingContractCardLabels, type BookingContractCardProps, } from "./components/booking-contract-card.js";
3
- export { type ContractDetailDialogRenderProps, ContractDetailPage, type ContractDetailPageProps, type ContractReferenceKind, type ContractReferenceRenderProps, } from "./components/contract-detail-page.js";
3
+ export { type ContractDetailDialogRenderProps, ContractDetailPage, type ContractDetailPageProps, type ContractDetailPageSlots, type ContractReferenceKind, type ContractReferenceRenderProps, } from "./components/contract-detail-page.js";
4
4
  export { type ContractDialogRenderProps, ContractsPage, type ContractsPageProps, } from "./components/contracts-page.js";
5
5
  export { type NumberSeriesDialogRenderProps, NumberSeriesPage, type NumberSeriesPageProps, } from "./components/number-series-page.js";
6
6
  export { PoliciesPage, type PoliciesPageProps, type PolicyDialogRenderProps, } from "./components/policies-page.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EACL,mBAAmB,EACnB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EACL,KAAK,+BAA+B,EACpC,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,GAClC,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,KAAK,yBAAyB,EAC9B,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,KAAK,6BAA6B,EAClC,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,GAC7B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,6BAA6B,EAClC,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,KAAK,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,KAAK,yBAAyB,EAC9B,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,gCAAgC,GACtC,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,cAAc,EACd,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,uBAAuB,EACvB,SAAS,EACT,yBAAyB,EACzB,SAAS,EACT,sBAAsB,EACtB,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EACL,mBAAmB,EACnB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EACL,KAAK,+BAA+B,EACpC,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,GAClC,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,KAAK,yBAAyB,EAC9B,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,KAAK,6BAA6B,EAClC,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,GAC7B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,6BAA6B,EAClC,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,KAAK,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,KAAK,yBAAyB,EAC9B,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,gCAAgC,GACtC,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,cAAc,EACd,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,uBAAuB,EACvB,SAAS,EACT,yBAAyB,EACzB,SAAS,EACT,sBAAsB,EACtB,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyantjs/legal-ui",
3
- "version": "0.38.1",
3
+ "version": "0.40.0",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -45,12 +45,12 @@
45
45
  "react-dom": "^19.0.0",
46
46
  "react-hook-form": "^7.60.0",
47
47
  "zod": "^4.3.6",
48
- "@voyantjs/crm-react": "0.38.1",
49
- "@voyantjs/legal-react": "0.38.1",
50
- "@voyantjs/ui": "0.38.1"
48
+ "@voyantjs/crm-react": "0.40.0",
49
+ "@voyantjs/legal-react": "0.40.0",
50
+ "@voyantjs/ui": "0.40.0"
51
51
  },
52
52
  "dependencies": {
53
- "@voyantjs/i18n": "0.38.1"
53
+ "@voyantjs/i18n": "0.40.0"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@tanstack/react-query": "^5.96.2",
@@ -63,11 +63,11 @@
63
63
  "typescript": "^6.0.2",
64
64
  "vitest": "^4.1.2",
65
65
  "zod": "^4.3.6",
66
- "@voyantjs/crm-react": "0.38.1",
67
- "@voyantjs/i18n": "0.38.1",
68
- "@voyantjs/legal-react": "0.38.1",
66
+ "@voyantjs/crm-react": "0.40.0",
67
+ "@voyantjs/i18n": "0.40.0",
68
+ "@voyantjs/legal-react": "0.40.0",
69
69
  "@voyantjs/voyant-typescript-config": "0.1.0",
70
- "@voyantjs/ui": "0.38.1"
70
+ "@voyantjs/ui": "0.40.0"
71
71
  },
72
72
  "files": [
73
73
  "dist",