@alfadocs/ui-kit 1.31.0 → 1.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/dist/_chunks/{agenda-card-pdN49pMu.js → agenda-card-DVz3jwTf.js} +2 -2
  2. package/dist/_chunks/{agenda-tray-BweO8pDo.js → agenda-tray-1oDWCJdB.js} +2 -2
  3. package/dist/_chunks/{ai-prompt-input-CrHr-5H8.js → ai-prompt-input-Dt7tpCBh.js} +2 -2
  4. package/dist/_chunks/{alia-sidebar-BWcWZivN.js → alia-sidebar-D18kp3p9.js} +3 -3
  5. package/dist/_chunks/{anamnesis-summary-rows-DMO3MWSt.js → anamnesis-summary-rows-BYgyp_i2.js} +6 -6
  6. package/dist/_chunks/{appointment-card-CvUFFEdS.js → appointment-card-D-oj_ugh.js} +2 -2
  7. package/dist/_chunks/{appointment-timeline-DsMZY7U9.js → appointment-timeline-CymGHyIP.js} +2 -2
  8. package/dist/_chunks/{appointment-tray-Z2GaOIYQ.js → appointment-tray-DCk8gHod.js} +2 -2
  9. package/dist/_chunks/{audio-recorder-DXG6LTtO.js → audio-recorder-11wClczr.js} +2 -2
  10. package/dist/_chunks/{avatar-BNQNhoyL.js → avatar-CkDeQOSI.js} +37 -37
  11. package/dist/_chunks/{balance-badge-cell-CX6b0ML4.js → balance-badge-cell-DhBtFRoW.js} +4 -4
  12. package/dist/_chunks/{bishop-score-CJUVBfAu.js → bishop-score-CAl7C5hm.js} +2 -2
  13. package/dist/_chunks/{bmi-calculator-CcH6upht.js → bmi-calculator-Dwkih9a4.js} +3 -3
  14. package/dist/_chunks/{booking-jGzRUETo.js → booking-BqkEtsKx.js} +777 -747
  15. package/dist/_chunks/{calculator-dialog-12d3Sxaz.js → calculator-dialog-C0ixc3SU.js} +2 -2
  16. package/dist/_chunks/{calendar-BNQKpxhE.js → calendar-Dgvl5L4T.js} +2 -2
  17. package/dist/_chunks/{calendar-workspace-Dy1jHBvG.js → calendar-workspace-BX-zDyVR.js} +14 -14
  18. package/dist/_chunks/{care-plan-card-CQVboTn1.js → care-plan-card-CZW476Kg.js} +2 -2
  19. package/dist/_chunks/{care-plan-entry-card-jxHkzez5.js → care-plan-entry-card-BMUYagEw.js} +2 -2
  20. package/dist/_chunks/{chat-message-DBQu10rs.js → chat-message-C-8UU2av.js} +2 -2
  21. package/dist/_chunks/{clinical-note-card-yCTR9DB6.js → clinical-note-card-D2WTV2CO.js} +2 -2
  22. package/dist/_chunks/{data-table-DB5BiVQ0.js → data-table-DC96JJIq.js} +2 -2
  23. package/dist/_chunks/{dependent-selector-cJlJFAKD.js → dependent-selector-yTKKsuc9.js} +2 -2
  24. package/dist/_chunks/{dialog-UbKJCi1X.js → dialog-BJiLqhx6.js} +54 -46
  25. package/dist/_chunks/{document-preview-CDb-n_W7.js → document-preview-BrhMHNh8.js} +2 -2
  26. package/dist/_chunks/{due-date-calculator-BtgWeFqp.js → due-date-calculator-CxgK8vzt.js} +3 -3
  27. package/dist/_chunks/{entity-summary-B_vO5Ur4.js → entity-summary-5o768XLU.js} +2 -2
  28. package/dist/_chunks/{file-manager-Cd8V9IcZ.js → file-manager-CI2Qn8qW.js} +3 -3
  29. package/dist/_chunks/{gestational-age-calculator-KdMg9z9H.js → gestational-age-calculator-CZHVrERT.js} +4 -4
  30. package/dist/_chunks/{link-cell-renderer-tWEOv3Sc.js → link-cell-renderer-BEpMNtAa.js} +3 -3
  31. package/dist/_chunks/{marketplace-app-shell-C4AjQmvz.js → marketplace-app-shell-CK_ND8Tr.js} +2 -2
  32. package/dist/_chunks/{message-card-D8GB4FdF.js → message-card-BUMv16un.js} +2 -2
  33. package/dist/_chunks/{message-tray-CGIRQjx5.js → message-tray-0zsv27xX.js} +2 -2
  34. package/dist/_chunks/{muscle-scheme-BSJsI4-I.js → muscle-scheme-UVz_x4iE.js} +2 -2
  35. package/dist/_chunks/{notes-panel-am6e-Lwh.js → notes-panel-C4G-mhZ9.js} +3 -3
  36. package/dist/_chunks/{operator-hero-BnFv-Uef.js → operator-hero-D7-iiFQ9.js} +2 -2
  37. package/dist/_chunks/{optical-prescription-BvwuqTpl.js → optical-prescription-DUJOhKz_.js} +2 -2
  38. package/dist/_chunks/{patient-details-CdfursHt.js → patient-details-BGiawUHd.js} +3 -3
  39. package/dist/_chunks/{patient-summary-card-C9WBwct-.js → patient-summary-card--CT_gbaQ.js} +2 -2
  40. package/dist/_chunks/{periodontal-diagnosis-HrFsVi-C.js → periodontal-diagnosis-lEwA8wqX.js} +3 -3
  41. package/dist/_chunks/{practice-profile-hero-YQ7h2K4o.js → practice-profile-hero-DQyDvpJL.js} +2 -2
  42. package/dist/_chunks/{practice-results-CxIsU2YO.js → practice-results-DjEzPgAK.js} +2 -2
  43. package/dist/_chunks/{pregnancy-dating-m-c05DOI.js → pregnancy-dating-n5j5dAKy.js} +4 -4
  44. package/dist/_chunks/{pregnancy-weight-gain-CJwbs9W-.js → pregnancy-weight-gain-D5A8vPjj.js} +3 -3
  45. package/dist/_chunks/qr-code-DOJs4suh.js +750 -0
  46. package/dist/_chunks/radio-DNRe6H_8.js +193 -0
  47. package/dist/_chunks/radio-group-DyVBgnA3.js +297 -0
  48. package/dist/_chunks/{radiograph-panel.agent-ByM9M3qm.js → radiograph-panel.agent-o4jwEJPC.js} +2 -2
  49. package/dist/_chunks/{rich-text-editor-VJATL1Tk.js → rich-text-editor-CQ7yZdG3.js} +2 -2
  50. package/dist/_chunks/select-CLSUnKjF.js +520 -0
  51. package/dist/_chunks/signature-request-vihDT8On.js +2232 -0
  52. package/dist/_chunks/{tabs-DqKtTIjZ.js → tabs-BnRaLT0y.js} +2 -2
  53. package/dist/_chunks/{tasks-panel-DPCNaRko.js → tasks-panel-DQuaVvl5.js} +2 -2
  54. package/dist/_chunks/{timeline-u-2t9t_M.js → timeline-Bs9Erxlo.js} +2 -2
  55. package/dist/_chunks/{tooth-scheme-C9jssOmy.js → tooth-scheme-Qe7LO5Di.js} +2 -2
  56. package/dist/_chunks/{unit-converter-C6jMjqL9.js → unit-converter-BTgU50gk.js} +2 -2
  57. package/dist/_chunks/{widget-picker-em4xGgv0.js → widget-picker-DvUkBemi.js} +2 -2
  58. package/dist/agent-catalog.json +316 -20
  59. package/dist/agent-i18n/en.json +18 -8
  60. package/dist/components/agenda-card/index.js +1 -1
  61. package/dist/components/agenda-tray/index.js +1 -1
  62. package/dist/components/ai-prompt-input/index.js +1 -1
  63. package/dist/components/appointment-card/index.js +2 -2
  64. package/dist/components/appointment-timeline/index.js +1 -1
  65. package/dist/components/audio-recorder/index.js +1 -1
  66. package/dist/components/avatar/avatar.d.ts +2 -0
  67. package/dist/components/avatar/index.js +1 -1
  68. package/dist/components/bishop-score/index.js +1 -1
  69. package/dist/components/bmi-calculator/index.js +1 -1
  70. package/dist/components/booking/index.js +1 -1
  71. package/dist/components/calculator-dialog/index.js +1 -1
  72. package/dist/components/calendar/index.js +1 -1
  73. package/dist/components/care-plan-card/index.js +1 -1
  74. package/dist/components/care-plan-entry-card/index.js +1 -1
  75. package/dist/components/chat-message/index.js +1 -1
  76. package/dist/components/clinical-note-card/index.js +1 -1
  77. package/dist/components/data-table/index.js +2 -2
  78. package/dist/components/dependent-selector/index.js +1 -1
  79. package/dist/components/dialog/dialog.d.ts +9 -0
  80. package/dist/components/dialog/index.js +1 -1
  81. package/dist/components/document-preview/index.js +1 -1
  82. package/dist/components/due-date-calculator/index.js +1 -1
  83. package/dist/components/entity-summary/index.js +1 -1
  84. package/dist/components/file-manager/index.js +1 -1
  85. package/dist/components/gestational-age-calculator/index.js +1 -1
  86. package/dist/components/message-card/index.js +1 -1
  87. package/dist/components/message-tray/index.js +1 -1
  88. package/dist/components/muscle-scheme/index.js +1 -1
  89. package/dist/components/notes-panel/index.js +1 -1
  90. package/dist/components/operator-hero/index.js +1 -1
  91. package/dist/components/optical-prescription/index.js +1 -1
  92. package/dist/components/patient-details/index.js +1 -1
  93. package/dist/components/patient-summary-card/index.js +1 -1
  94. package/dist/components/patient-table/index.js +1 -1
  95. package/dist/components/periodontal-diagnosis/index.js +1 -1
  96. package/dist/components/practice-profile-hero/index.js +1 -1
  97. package/dist/components/practice-results/index.js +1 -1
  98. package/dist/components/pregnancy-dating/index.js +1 -1
  99. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  100. package/dist/components/qr-code/index.js +1 -1
  101. package/dist/components/qr-code/qr-encode.d.ts +14 -16
  102. package/dist/components/radio/index.js +1 -1
  103. package/dist/components/radio-group/index.js +2 -2
  104. package/dist/components/radio-group/radio-group-context.d.ts +4 -1
  105. package/dist/components/radio-group/radio-group.d.ts +13 -1
  106. package/dist/components/radio-group/radio.d.ts +24 -1
  107. package/dist/components/radiograph-panel/index.js +1 -1
  108. package/dist/components/rich-text-editor/index.js +1 -1
  109. package/dist/components/select/index.js +1 -1
  110. package/dist/components/select/select.d.ts +33 -0
  111. package/dist/components/skeleton-scheme/index.js +1 -1
  112. package/dist/components/tabs/index.js +1 -1
  113. package/dist/components/tasks-panel/index.js +1 -1
  114. package/dist/components/timeline/index.js +1 -1
  115. package/dist/components/tooth-scheme/index.js +1 -1
  116. package/dist/components/unit-converter/index.js +1 -1
  117. package/dist/components/widget-picker/index.js +1 -1
  118. package/dist/i18n/locales/ar.d.ts +68 -0
  119. package/dist/i18n/locales/ar.js +69 -1
  120. package/dist/i18n/locales/de.d.ts +68 -0
  121. package/dist/i18n/locales/de.js +71 -1
  122. package/dist/i18n/locales/el.d.ts +68 -0
  123. package/dist/i18n/locales/el.js +69 -1
  124. package/dist/i18n/locales/en.d.ts +68 -0
  125. package/dist/i18n/locales/en.js +69 -1
  126. package/dist/i18n/locales/es.d.ts +68 -0
  127. package/dist/i18n/locales/es.js +69 -1
  128. package/dist/i18n/locales/fr.d.ts +68 -0
  129. package/dist/i18n/locales/fr.js +69 -1
  130. package/dist/i18n/locales/hi.d.ts +68 -0
  131. package/dist/i18n/locales/hi.js +69 -1
  132. package/dist/i18n/locales/it.d.ts +68 -0
  133. package/dist/i18n/locales/it.js +69 -1
  134. package/dist/i18n/locales/ja.d.ts +68 -0
  135. package/dist/i18n/locales/ja.js +69 -1
  136. package/dist/i18n/locales/nl.d.ts +68 -0
  137. package/dist/i18n/locales/nl.js +69 -1
  138. package/dist/i18n/locales/pl.d.ts +68 -0
  139. package/dist/i18n/locales/pl.js +69 -1
  140. package/dist/i18n/locales/pt.d.ts +68 -0
  141. package/dist/i18n/locales/pt.js +69 -1
  142. package/dist/i18n/locales/ro.d.ts +68 -0
  143. package/dist/i18n/locales/ro.js +69 -1
  144. package/dist/i18n/locales/ru.d.ts +68 -0
  145. package/dist/i18n/locales/ru.js +69 -1
  146. package/dist/i18n/locales/sq.d.ts +68 -0
  147. package/dist/i18n/locales/sq.js +69 -1
  148. package/dist/i18n/locales/sv.d.ts +68 -0
  149. package/dist/i18n/locales/sv.js +69 -1
  150. package/dist/i18n/locales/tr.d.ts +68 -0
  151. package/dist/i18n/locales/tr.js +69 -1
  152. package/dist/i18n/locales/zh.d.ts +68 -0
  153. package/dist/i18n/locales/zh.js +69 -1
  154. package/dist/index.js +57 -57
  155. package/dist/locales/ar.json +69 -1
  156. package/dist/locales/de.json +69 -1
  157. package/dist/locales/el.json +69 -1
  158. package/dist/locales/en.json +69 -1
  159. package/dist/locales/es.json +69 -1
  160. package/dist/locales/fr.json +69 -1
  161. package/dist/locales/hi.json +69 -1
  162. package/dist/locales/it.json +69 -1
  163. package/dist/locales/ja.json +69 -1
  164. package/dist/locales/nl.json +69 -1
  165. package/dist/locales/pl.json +69 -1
  166. package/dist/locales/pt.json +69 -1
  167. package/dist/locales/ro.json +69 -1
  168. package/dist/locales/ru.json +69 -1
  169. package/dist/locales/sq.json +69 -1
  170. package/dist/locales/sv.json +69 -1
  171. package/dist/locales/tr.json +69 -1
  172. package/dist/locales/zh.json +69 -1
  173. package/dist/patterns/alia-assistant/index.js +1 -1
  174. package/dist/patterns/anamnesis/index.js +1 -1
  175. package/dist/patterns/calendar/index.js +1 -1
  176. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  177. package/dist/patterns/signature-request/channel-meta.d.ts +27 -0
  178. package/dist/patterns/signature-request/index.d.ts +1 -1
  179. package/dist/patterns/signature-request/index.js +1 -1
  180. package/dist/patterns/signature-request/load-status.d.ts +13 -0
  181. package/dist/patterns/signature-request/person-grid.d.ts +32 -0
  182. package/dist/patterns/signature-request/required-documents.d.ts +127 -0
  183. package/dist/patterns/signature-request/signature-history.d.ts +57 -0
  184. package/dist/patterns/signature-request/signature-outcome.d.ts +29 -0
  185. package/dist/patterns/signature-request/signature-request.d.ts +390 -26
  186. package/dist/tokens.css +1 -1
  187. package/package.json +3 -1
  188. package/dist/_chunks/qr-code-CPkEs5mG.js +0 -574
  189. package/dist/_chunks/radio-TWf9Q-mp.js +0 -108
  190. package/dist/_chunks/radio-group-rXDJADzW.js +0 -175
  191. package/dist/_chunks/select-Bi8zril7.js +0 -471
  192. package/dist/_chunks/signature-request-C-IsbkPf.js +0 -417
@@ -0,0 +1,127 @@
1
+ import { type SelectOption } from '../../components/select';
2
+ import { type OperatorChannel, type SignatureChannel } from './channel-meta';
3
+ /** Select value for "Assign later" in every operator picker. */
4
+ export declare const ASSIGN_LATER = "__assign-later__";
5
+ /** What a required item is. Anamnesis interviews never carry a second signee. */
6
+ export type RequiredSignatureItemKind = 'document' | 'anamnesis';
7
+ /** One outstanding document or anamnesis interview in the batch. */
8
+ export interface RequiredSignatureItem {
9
+ /** Host id, the key of `operatorAssignments` in the submission. */
10
+ id: string;
11
+ kind: RequiredSignatureItemKind;
12
+ /** Display name, e.g. the document template name. */
13
+ name: string;
14
+ /** Whether an operator must sign this item. Shows its operator picker. */
15
+ requiresOperator: boolean;
16
+ /**
17
+ * Whether this document has a field for the second signee. The second
18
+ * signee is offered only when every listed item can carry it. Ignored for
19
+ * `kind: 'anamnesis'`, which never can. Default `false`.
20
+ */
21
+ canCarrySecondary?: boolean;
22
+ /**
23
+ * Preselected operator for this item; `null` preselects "Assign later".
24
+ * Omit to use the modal's `initialOperatorId`.
25
+ */
26
+ initialOperatorId?: string | null;
27
+ /**
28
+ * Whether the item is already signed (platform `signed` on a document,
29
+ * `isSigned` on an interview). Signed items are left out. Default `false`.
30
+ * There is no per-party standing: platform's documents API has none.
31
+ */
32
+ signed?: boolean;
33
+ }
34
+ /** The items that still need a signature: those not signed. */
35
+ export declare function itemsStillToSign(items: readonly RequiredSignatureItem[]): RequiredSignatureItem[];
36
+ /**
37
+ * The second signee signs the whole batch in one round, so it is offered
38
+ * only when every item can carry that signature. `[].every()` is true, so an
39
+ * empty batch cannot.
40
+ */
41
+ export declare function batchCanCarrySecondary(items: readonly RequiredSignatureItem[]): boolean;
42
+ /** Whether an item gets an operator picker: an operator must sign it. */
43
+ export declare function needsOperatorPick(item: RequiredSignatureItem): boolean;
44
+ /**
45
+ * One option in an operator picker. "Assign later" comes first, as on
46
+ * platform (OperatorSignee.js). A `disabled` operator shows greyed out with
47
+ * its `description` (the host's reason); a `deleted` one is hidden unless it
48
+ * is the picker's current value.
49
+ */
50
+ export interface OperatorPickerOption {
51
+ value: string;
52
+ label: string;
53
+ disabled?: boolean;
54
+ description?: string;
55
+ deleted?: boolean;
56
+ }
57
+ /** The options one picker lists, given its current value. */
58
+ export declare function operatorPickerOptions(options: readonly OperatorPickerOption[], selected: string | undefined): SelectOption[];
59
+ /** Whether a user could pick this value: listed, not greyed out or deleted. */
60
+ export declare function isPickableOperator(options: readonly OperatorPickerOption[], value: string): boolean;
61
+ /**
62
+ * The greyed-out operators and their reasons, for the picker trigger: a
63
+ * disabled option cannot take focus, so its own description is never heard.
64
+ * `undefined` when none is greyed out.
65
+ */
66
+ export declare function operatorReasonsHint(options: readonly OperatorPickerOption[], locale: string): string | undefined;
67
+ /**
68
+ * Why the second signee is withheld from a batch, first reason first; `null`
69
+ * when it is offered. Mirrors platform (secondarySigneeAvailability.ts and
70
+ * SecondarySignee.tsx): every item can carry it, the batch is signed on this
71
+ * device, and the main signer is a registered signee, not the patient.
72
+ */
73
+ export type SecondSigneeBlock = 'anamnesis' | 'documents' | 'patient' | 'channel';
74
+ export declare function secondSigneeBlock({ items, channel, primaryIsPatient, }: {
75
+ items: readonly RequiredSignatureItem[];
76
+ channel: SignatureChannel;
77
+ primaryIsPatient: boolean;
78
+ }): SecondSigneeBlock | null;
79
+ /** What is wrong with the chosen second signee (platform secondarySigneeValidation.ts). */
80
+ export type SecondSigneeIssue = 'sameAsPrimary' | 'unknownSignee' | 'missingPhone' | 'missingEmail';
81
+ /** The parts of a `SignerOption` the second signee checks read. */
82
+ export interface SecondSigneeCandidate {
83
+ value: string;
84
+ isPatient?: boolean;
85
+ availableChannels?: readonly SignatureChannel[];
86
+ unavailableChannels?: ReadonlyArray<{
87
+ channel: SignatureChannel;
88
+ }>;
89
+ }
90
+ /**
91
+ * The first issue with a second signee, or `null`. Phone and e-mail are read
92
+ * from channel availability, so no contact data reaches the kit: a person who
93
+ * cannot receive SMS or WhatsApp has no phone, one who cannot receive e-mail
94
+ * has no e-mail. The patient is never a signee, so picking them is unknown.
95
+ */
96
+ export declare function secondSigneeIssue({ primaryId, secondId, channel, options, }: {
97
+ primaryId: string | undefined;
98
+ secondId: string;
99
+ channel: SignatureChannel;
100
+ options: readonly SecondSigneeCandidate[];
101
+ }): SecondSigneeIssue | null;
102
+ export interface RequiredDocumentsProps {
103
+ /** The items to list, already narrowed to those still to sign. */
104
+ items: readonly RequiredSignatureItem[];
105
+ loading?: boolean;
106
+ /**
107
+ * Operator options, "Assign later" first when allowed. Deleted operators
108
+ * show only in a picker whose value they are.
109
+ */
110
+ operatorOptions: readonly OperatorPickerOption[];
111
+ /** The picker value per item id, for items that require an operator. */
112
+ assignments: Readonly<Record<string, string>>;
113
+ onAssign: (itemId: string, operatorValue: string) => void;
114
+ /** Shows "Assign all to me" when passed. */
115
+ onAssignAllToMe?: () => void;
116
+ busy?: boolean;
117
+ /**
118
+ * Adds each picked operator's channel beside their picker, in place of
119
+ * the note that their settings decide. Default `false`.
120
+ */
121
+ showOperatorChannels?: boolean;
122
+ /** The channel per item id, for items with an assigned operator. */
123
+ operatorChannels?: Readonly<Record<string, OperatorChannel>>;
124
+ onOperatorChannel?: (itemId: string, channel: OperatorChannel) => void;
125
+ }
126
+ export declare function RequiredDocuments({ items, loading, operatorOptions, assignments, onAssign, onAssignAllToMe, busy, showOperatorChannels, operatorChannels, onOperatorChannel, }: RequiredDocumentsProps): import("react/jsx-runtime").JSX.Element;
127
+ //# sourceMappingURL=required-documents.d.ts.map
@@ -0,0 +1,57 @@
1
+ import { type SignatureParty, type SignatureSignerNames } from '../../components/signature-status-chip';
2
+ import { type SignatureChannel } from './channel-meta';
3
+ /** Legal weight of a signature. Advanced needs an OTP-verified signer. */
4
+ export type SignatureLegalLevel = 'simple' | 'advanced';
5
+ /** Which file a download asks for. */
6
+ export type SignatureDownloadVersion = 'full' | 'anonymised';
7
+ /** How a signed document is shared. */
8
+ export type SignatureShareTarget = 'link' | 'email' | 'whatsapp';
9
+ /** One past signature request on the document. */
10
+ export interface SignatureRecord {
11
+ /** Host id, handed back to every row callback. */
12
+ id: string;
13
+ /**
14
+ * When the request was made: a `Date` or an ISO 8601 string, shown as
15
+ * weekday, date and time in the active locale and the browser's time zone
16
+ * (Italian: "Mar. il 25/08/2026 ore 12:45"). An unparseable string is
17
+ * shown as it is.
18
+ */
19
+ createdAt: Date | string;
20
+ /** How the request reached the signer. */
21
+ channel: SignatureChannel;
22
+ /** Omit to show no legal level on this row. */
23
+ legalLevel?: SignatureLegalLevel;
24
+ /** The operator's standing, as on SignatureStatusChip. */
25
+ operator: SignatureParty;
26
+ /** The patient's standing, as on SignatureStatusChip. */
27
+ patient: SignatureParty;
28
+ /** The second signee's standing. Defaults to `notRequired`. */
29
+ secondary?: SignatureParty;
30
+ /**
31
+ * Signer names for the chip's tooltip, including who signed on a
32
+ * party's behalf (a parent for a minor). Same shape as the chip's `names`.
33
+ */
34
+ names?: SignatureSignerNames;
35
+ /** Offer the anonymised file beside the full one on download. */
36
+ hasAnonymisedVersion?: boolean;
37
+ /**
38
+ * Where this document can be shared, e.g. no `'whatsapp'` for a patient
39
+ * with no mobile number. Wins over the list's `shareTargets`. The menu
40
+ * keeps its own order (link, e-mail, WhatsApp); an empty list hides Share
41
+ * on this row.
42
+ */
43
+ shareTargets?: readonly SignatureShareTarget[];
44
+ }
45
+ export interface SignatureHistoryProps {
46
+ signatures?: readonly SignatureRecord[];
47
+ loading?: boolean;
48
+ showLegalLevel?: boolean;
49
+ onView?: (id: string) => void;
50
+ onDownload?: (id: string, version: SignatureDownloadVersion) => void;
51
+ onShare?: (id: string, via: SignatureShareTarget) => void;
52
+ /** Share targets for rows without their own. Default: all three. */
53
+ shareTargets?: readonly SignatureShareTarget[];
54
+ onDelete?: (id: string) => void;
55
+ }
56
+ export declare function SignatureHistory({ signatures, loading, showLegalLevel, onView, onDownload, onShare, shareTargets, onDelete, }: SignatureHistoryProps): import("react/jsx-runtime").JSX.Element;
57
+ //# sourceMappingURL=signature-history.d.ts.map
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Outcome states of SignatureRequestModal: a final screen in the same dialog
3
+ * once there is nothing left to fill in. The modal puts the title and the
4
+ * description in its header and its own actions in the footer; this file
5
+ * holds the copy and the decorative body.
6
+ */
7
+ import type { TFunction } from 'i18next';
8
+ /**
9
+ * - `linkSent`: the request went out by link (SMS, e-mail, WhatsApp).
10
+ * - `allSigned`: nothing is left to sign.
11
+ * - `creditsExhausted`: the practice has no electronic signature documents
12
+ * left, so the request cannot be sent.
13
+ */
14
+ export type SignatureRequestOutcome = 'linkSent' | 'allSigned' | 'creditsExhausted';
15
+ /**
16
+ * Title and description for an outcome, in the active locale. `required`
17
+ * (required documents mode) uses platform's batch copy for `linkSent`.
18
+ */
19
+ export declare function outcomeCopy(outcome: SignatureRequestOutcome, t: TFunction, { required }?: {
20
+ required?: boolean;
21
+ }): {
22
+ title: string;
23
+ description: string;
24
+ };
25
+ /** The outcome's body: a decorative status icon. The header carries the words. */
26
+ export declare function SignatureOutcome({ outcome, }: {
27
+ outcome: SignatureRequestOutcome;
28
+ }): import("react/jsx-runtime").JSX.Element;
29
+ //# sourceMappingURL=signature-outcome.d.ts.map