@alfadocs/ui-kit-debug 1.13.0 → 1.15.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 (194) hide show
  1. package/dist/_chunks/actions-cell-renderer-yy03OgRL.js +137 -0
  2. package/dist/_chunks/actions-cell-renderer-yy03OgRL.js.map +1 -0
  3. package/dist/_chunks/{balance-badge-cell--iQ_gtmi.js → balance-badge-cell-CgkxYO96.js} +7 -6
  4. package/dist/_chunks/{balance-badge-cell--iQ_gtmi.js.map → balance-badge-cell-CgkxYO96.js.map} +1 -1
  5. package/dist/_chunks/{calendar-B4Gnyu1C.js → calendar-CHT9Rm3M.js} +2 -2
  6. package/dist/_chunks/{calendar-B4Gnyu1C.js.map → calendar-CHT9Rm3M.js.map} +1 -1
  7. package/dist/_chunks/{calendar-event-card-Bjdbik8G.js → calendar-event-card-BjdHZaqz.js} +18 -14
  8. package/dist/_chunks/{calendar-event-card-Bjdbik8G.js.map → calendar-event-card-BjdHZaqz.js.map} +1 -1
  9. package/dist/_chunks/calendar-plus-BFrIRE4r.js +19 -0
  10. package/dist/_chunks/calendar-plus-BFrIRE4r.js.map +1 -0
  11. package/dist/_chunks/calendar-workspace-CGuY4kmv.js +7480 -0
  12. package/dist/_chunks/calendar-workspace-CGuY4kmv.js.map +1 -0
  13. package/dist/_chunks/clipboard-list-rSzfIYZB.js +25 -0
  14. package/dist/_chunks/clipboard-list-rSzfIYZB.js.map +1 -0
  15. package/dist/_chunks/{color-picker-oZ6zYks8.js → color-picker-CU303VjY.js} +4 -2
  16. package/dist/_chunks/{color-picker-oZ6zYks8.js.map → color-picker-CU303VjY.js.map} +1 -1
  17. package/dist/_chunks/data-table-DC5rO3Ty.js +1817 -0
  18. package/dist/_chunks/data-table-DC5rO3Ty.js.map +1 -0
  19. package/dist/_chunks/{field-value-DG8zaZvo.js → field-value-D-vkX9uL.js} +120 -140
  20. package/dist/_chunks/field-value-D-vkX9uL.js.map +1 -0
  21. package/dist/_chunks/{file-manager-UsD8e_AB.js → file-manager-DJMeB3V8.js} +138 -153
  22. package/dist/_chunks/file-manager-DJMeB3V8.js.map +1 -0
  23. package/dist/_chunks/folder-plus-CutOs4DP.js +22 -0
  24. package/dist/_chunks/folder-plus-CutOs4DP.js.map +1 -0
  25. package/dist/_chunks/hourglass-BEAzW1wE.js +26 -0
  26. package/dist/_chunks/hourglass-BEAzW1wE.js.map +1 -0
  27. package/dist/_chunks/{notes-panel-CymneXtl.js → notes-panel-DYAtlq_i.js} +2 -2
  28. package/dist/_chunks/{notes-panel-CymneXtl.js.map → notes-panel-DYAtlq_i.js.map} +1 -1
  29. package/dist/_chunks/{patient-details-BQaUzPqp.js → patient-details-BfzvFnxQ.js} +73 -92
  30. package/dist/_chunks/patient-details-BfzvFnxQ.js.map +1 -0
  31. package/dist/_chunks/{patient-summary-card-CvDxhbBR.js → patient-summary-card-D5Vfa321.js} +2 -2
  32. package/dist/_chunks/{patient-summary-card-CvDxhbBR.js.map → patient-summary-card-D5Vfa321.js.map} +1 -1
  33. package/dist/_chunks/{practice-results-D7ygCj_W.js → practice-results-DL_ExLYE.js} +159 -172
  34. package/dist/_chunks/practice-results-DL_ExLYE.js.map +1 -0
  35. package/dist/_chunks/{rich-text-editor-BDfFtK4H.js → rich-text-editor-DtbcA6s1.js} +2 -2
  36. package/dist/_chunks/{rich-text-editor-BDfFtK4H.js.map → rich-text-editor-DtbcA6s1.js.map} +1 -1
  37. package/dist/_chunks/signature-CpFNpsVK.js +21 -0
  38. package/dist/_chunks/signature-CpFNpsVK.js.map +1 -0
  39. package/dist/_chunks/{signature-field-0rFODJlW.js → signature-field-CEiPe-vX.js} +19 -34
  40. package/dist/_chunks/signature-field-CEiPe-vX.js.map +1 -0
  41. package/dist/_chunks/smartphone-C0rFF2if.js +15 -0
  42. package/dist/_chunks/smartphone-C0rFF2if.js.map +1 -0
  43. package/dist/_chunks/{toast.agent-D1tdg6DS.js → toast-YZz2sBzB.js} +160 -212
  44. package/dist/_chunks/toast-YZz2sBzB.js.map +1 -0
  45. package/dist/_chunks/toast.agent-DNQ0JYGv.js +56 -0
  46. package/dist/_chunks/toast.agent-DNQ0JYGv.js.map +1 -0
  47. package/dist/_chunks/{workflow-map-wcw3t6g4.js → workflow-map-dNzJjBWG.js} +103 -112
  48. package/dist/_chunks/workflow-map-dNzJjBWG.js.map +1 -0
  49. package/dist/agent-catalog.json +867 -1
  50. package/dist/agent-i18n/en.json +27 -0
  51. package/dist/components/calendar/index.js +1 -1
  52. package/dist/components/calendar-event-card/index.js +1 -1
  53. package/dist/components/color-picker/index.js +1 -1
  54. package/dist/components/data-table/index.js +39 -38
  55. package/dist/components/data-table/index.js.map +1 -1
  56. package/dist/components/file-manager/index.js +1 -1
  57. package/dist/components/index.d.ts +1 -0
  58. package/dist/components/index.d.ts.map +1 -1
  59. package/dist/components/notes-panel/index.js +1 -1
  60. package/dist/components/patient-details/index.js +1 -1
  61. package/dist/components/patient-summary-card/index.js +1 -1
  62. package/dist/components/patient-table/index.js +1 -1
  63. package/dist/components/practice-results/index.js +1 -1
  64. package/dist/components/rich-text-editor/index.js +1 -1
  65. package/dist/components/signature-field/index.js +1 -1
  66. package/dist/components/toast/index.js +7 -6
  67. package/dist/components/toast/index.js.map +1 -1
  68. package/dist/components/workflow/index.js +1 -1
  69. package/dist/i18n/locales/ar.d.ts +680 -0
  70. package/dist/i18n/locales/ar.d.ts.map +1 -1
  71. package/dist/i18n/locales/ar.js +680 -0
  72. package/dist/i18n/locales/ar.js.map +1 -1
  73. package/dist/i18n/locales/de.d.ts +680 -0
  74. package/dist/i18n/locales/de.d.ts.map +1 -1
  75. package/dist/i18n/locales/de.js +680 -0
  76. package/dist/i18n/locales/de.js.map +1 -1
  77. package/dist/i18n/locales/el.d.ts +680 -0
  78. package/dist/i18n/locales/el.d.ts.map +1 -1
  79. package/dist/i18n/locales/el.js +680 -0
  80. package/dist/i18n/locales/el.js.map +1 -1
  81. package/dist/i18n/locales/en.d.ts +680 -0
  82. package/dist/i18n/locales/en.d.ts.map +1 -1
  83. package/dist/i18n/locales/en.js +680 -0
  84. package/dist/i18n/locales/en.js.map +1 -1
  85. package/dist/i18n/locales/es.d.ts +680 -0
  86. package/dist/i18n/locales/es.d.ts.map +1 -1
  87. package/dist/i18n/locales/es.js +680 -0
  88. package/dist/i18n/locales/es.js.map +1 -1
  89. package/dist/i18n/locales/fr.d.ts +680 -0
  90. package/dist/i18n/locales/fr.d.ts.map +1 -1
  91. package/dist/i18n/locales/fr.js +680 -0
  92. package/dist/i18n/locales/fr.js.map +1 -1
  93. package/dist/i18n/locales/hi.d.ts +680 -0
  94. package/dist/i18n/locales/hi.d.ts.map +1 -1
  95. package/dist/i18n/locales/hi.js +680 -0
  96. package/dist/i18n/locales/hi.js.map +1 -1
  97. package/dist/i18n/locales/it.d.ts +680 -0
  98. package/dist/i18n/locales/it.d.ts.map +1 -1
  99. package/dist/i18n/locales/it.js +680 -0
  100. package/dist/i18n/locales/it.js.map +1 -1
  101. package/dist/i18n/locales/ja.d.ts +680 -0
  102. package/dist/i18n/locales/ja.d.ts.map +1 -1
  103. package/dist/i18n/locales/ja.js +680 -0
  104. package/dist/i18n/locales/ja.js.map +1 -1
  105. package/dist/i18n/locales/nl.d.ts +680 -0
  106. package/dist/i18n/locales/nl.d.ts.map +1 -1
  107. package/dist/i18n/locales/nl.js +680 -0
  108. package/dist/i18n/locales/nl.js.map +1 -1
  109. package/dist/i18n/locales/pl.d.ts +680 -0
  110. package/dist/i18n/locales/pl.d.ts.map +1 -1
  111. package/dist/i18n/locales/pl.js +680 -0
  112. package/dist/i18n/locales/pl.js.map +1 -1
  113. package/dist/i18n/locales/pt.d.ts +680 -0
  114. package/dist/i18n/locales/pt.d.ts.map +1 -1
  115. package/dist/i18n/locales/pt.js +680 -0
  116. package/dist/i18n/locales/pt.js.map +1 -1
  117. package/dist/i18n/locales/ro.d.ts +680 -0
  118. package/dist/i18n/locales/ro.d.ts.map +1 -1
  119. package/dist/i18n/locales/ro.js +680 -0
  120. package/dist/i18n/locales/ro.js.map +1 -1
  121. package/dist/i18n/locales/ru.d.ts +680 -0
  122. package/dist/i18n/locales/ru.d.ts.map +1 -1
  123. package/dist/i18n/locales/ru.js +680 -0
  124. package/dist/i18n/locales/ru.js.map +1 -1
  125. package/dist/i18n/locales/sq.d.ts +680 -0
  126. package/dist/i18n/locales/sq.d.ts.map +1 -1
  127. package/dist/i18n/locales/sq.js +680 -0
  128. package/dist/i18n/locales/sq.js.map +1 -1
  129. package/dist/i18n/locales/sv.d.ts +680 -0
  130. package/dist/i18n/locales/sv.d.ts.map +1 -1
  131. package/dist/i18n/locales/sv.js +680 -0
  132. package/dist/i18n/locales/sv.js.map +1 -1
  133. package/dist/i18n/locales/tr.d.ts +680 -0
  134. package/dist/i18n/locales/tr.d.ts.map +1 -1
  135. package/dist/i18n/locales/tr.js +680 -0
  136. package/dist/i18n/locales/tr.js.map +1 -1
  137. package/dist/i18n/locales/zh.d.ts +680 -0
  138. package/dist/i18n/locales/zh.d.ts.map +1 -1
  139. package/dist/i18n/locales/zh.js +680 -0
  140. package/dist/i18n/locales/zh.js.map +1 -1
  141. package/dist/index.js +821 -803
  142. package/dist/index.js.map +1 -1
  143. package/dist/locales/ar.json +680 -0
  144. package/dist/locales/de.json +680 -0
  145. package/dist/locales/el.json +680 -0
  146. package/dist/locales/en.json +680 -0
  147. package/dist/locales/es.json +680 -0
  148. package/dist/locales/fr.json +680 -0
  149. package/dist/locales/hi.json +680 -0
  150. package/dist/locales/it.json +680 -0
  151. package/dist/locales/ja.json +680 -0
  152. package/dist/locales/nl.json +680 -0
  153. package/dist/locales/pl.json +680 -0
  154. package/dist/locales/pt.json +680 -0
  155. package/dist/locales/ro.json +680 -0
  156. package/dist/locales/ru.json +680 -0
  157. package/dist/locales/sq.json +680 -0
  158. package/dist/locales/sv.json +680 -0
  159. package/dist/locales/tr.json +680 -0
  160. package/dist/locales/zh.json +680 -0
  161. package/dist/patterns/calendar/calendar-workspace.d.ts +82 -0
  162. package/dist/patterns/calendar/calendar-workspace.d.ts.map +1 -0
  163. package/dist/patterns/calendar/calendar-workspace.model.d.ts +380 -0
  164. package/dist/patterns/calendar/calendar-workspace.model.d.ts.map +1 -0
  165. package/dist/patterns/calendar/calendar.data.d.ts +122 -0
  166. package/dist/patterns/calendar/calendar.data.d.ts.map +1 -0
  167. package/dist/patterns/calendar/calendar.host.d.ts +10 -0
  168. package/dist/patterns/calendar/calendar.host.d.ts.map +1 -0
  169. package/dist/patterns/calendar/calendar.journey.d.ts +119 -0
  170. package/dist/patterns/calendar/calendar.journey.d.ts.map +1 -0
  171. package/dist/patterns/calendar/calendar.model.d.ts +684 -0
  172. package/dist/patterns/calendar/calendar.model.d.ts.map +1 -0
  173. package/dist/patterns/calendar/calendar.preferences.d.ts +74 -0
  174. package/dist/patterns/calendar/calendar.preferences.d.ts.map +1 -0
  175. package/dist/patterns/calendar/calendar.sheets.d.ts +398 -0
  176. package/dist/patterns/calendar/calendar.sheets.d.ts.map +1 -0
  177. package/dist/patterns/calendar/calendar.surface.d.ts +85 -0
  178. package/dist/patterns/calendar/calendar.surface.d.ts.map +1 -0
  179. package/dist/patterns/calendar/calendar.types.d.ts +413 -0
  180. package/dist/patterns/calendar/calendar.types.d.ts.map +1 -0
  181. package/dist/patterns/calendar/index.d.ts +13 -0
  182. package/dist/patterns/calendar/index.d.ts.map +1 -0
  183. package/dist/patterns/calendar/index.js +19 -0
  184. package/dist/patterns/calendar/index.js.map +1 -0
  185. package/package.json +5 -1
  186. package/dist/_chunks/actions-cell-renderer-ReurEy5i.js +0 -1945
  187. package/dist/_chunks/actions-cell-renderer-ReurEy5i.js.map +0 -1
  188. package/dist/_chunks/field-value-DG8zaZvo.js.map +0 -1
  189. package/dist/_chunks/file-manager-UsD8e_AB.js.map +0 -1
  190. package/dist/_chunks/patient-details-BQaUzPqp.js.map +0 -1
  191. package/dist/_chunks/practice-results-D7ygCj_W.js.map +0 -1
  192. package/dist/_chunks/signature-field-0rFODJlW.js.map +0 -1
  193. package/dist/_chunks/toast.agent-D1tdg6DS.js.map +0 -1
  194. package/dist/_chunks/workflow-map-wcw3t6g4.js.map +0 -1
@@ -0,0 +1,413 @@
1
+ /**
2
+ * Calendar pattern — the DOMAIN TYPES and the pure helpers over them:
3
+ * patient, phone, care, care entry, care link, care plan (+ entry), price
4
+ * list, sign channel / document, appointment meta, task detail, base
5
+ * event, booking contact, business hours, closure, holiday, operator
6
+ * group / filter group, waiting entry, history entry, practice features
7
+ * and branch. Nothing here reads fixture data: every helper takes what it
8
+ * needs as an argument, so the demos and the platform host share one
9
+ * vocabulary. The read model built from these lives in `calendar.data.ts`.
10
+ *
11
+ * Type names keep their `Demo*` prefix for now — a later sweep renames
12
+ * them `Calendar*` in one go.
13
+ */
14
+ import type { CalendarEvent, CalendarEventStatus, CalendarResource } from '../../components/calendar';
15
+ import type { CarePlanState } from '../../components/_shared/entity-card';
16
+ import type { SignatureParty } from '../../components/signature-status-chip';
17
+ /** Platform `DoctorPatientPhoneNumber` carries a free-text label; the
18
+ * demo fixes the vocabulary so the printed call sheet can localise it. */
19
+ export type CalendarPhoneLabel = 'mobile' | 'home' | 'work';
20
+ export interface CalendarPhoneNumber {
21
+ label: CalendarPhoneLabel;
22
+ number: string;
23
+ }
24
+ /** One highlighted anamnesis answer, as the platform's details dialog
25
+ * lists it: the question, the Si/No, the free answer and the interview
26
+ * date. Texts are display strings — the host localises them. */
27
+ export interface CalendarAnamnesisAnswer {
28
+ question: string;
29
+ yes: boolean;
30
+ answer?: string;
31
+ interviewIso: string;
32
+ }
33
+ export interface CalendarPatient {
34
+ id: string;
35
+ name: string;
36
+ dobIso: string;
37
+ phone: string;
38
+ email: string;
39
+ smsEnabled?: boolean;
40
+ emailEnabled?: boolean;
41
+ city: string;
42
+ /** Optional profile photo — Avatar falls back to the initials circle. */
43
+ avatarSrc?: string;
44
+ sex: 'f' | 'm';
45
+ fiscalCode: string;
46
+ address: string;
47
+ province: string;
48
+ postalCode: string;
49
+ patientSinceIso: string;
50
+ lastVisitIso: string;
51
+ priceList: string;
52
+ discountPct?: number;
53
+ unpaidAmount?: number;
54
+ allergies?: string;
55
+ diagnosis?: string;
56
+ highlightedAnamnesisCount?: number;
57
+ expiredAnamnesisCount?: number;
58
+ /** The highlighted answers themselves — the platform details dialog
59
+ * lists these, the popover only counts them. */
60
+ highlightedAnamnesisAnswers?: CalendarAnamnesisAnswer[];
61
+ /** Every labelled number for the call sheet; absent = `phone` is the
62
+ * mobile (see `patientPhones`). */
63
+ phones?: CalendarPhoneNumber[];
64
+ }
65
+ /** A public holiday (platform `GetHolidaysService`): a local ISO date plus
66
+ * its display name — the host localises it (the platform's holiday
67
+ * service already returns a named day). */
68
+ export interface CalendarHoliday {
69
+ dateIso: string;
70
+ name: string;
71
+ }
72
+ /** Practice-level calendar flags (platform `keep_open_on_holidays`). */
73
+ export interface CalendarPractice {
74
+ openOnHolidays: boolean;
75
+ }
76
+ /** An operator group (platform `OperatorGroup`) — the operator filter
77
+ * lists members under their group with a per-group select-all. */
78
+ export interface CalendarOperatorGroup {
79
+ id: string;
80
+ name: string;
81
+ operatorIds: readonly string[];
82
+ }
83
+ /** One section of the grouped operator filter. */
84
+ export interface CalendarOperatorFilterGroup {
85
+ id: string;
86
+ name: string;
87
+ operators: CalendarResource[];
88
+ }
89
+ /** Virtual bucket id for operators outside every group (platform id 0). */
90
+ export declare const OPERATOR_GROUP_NONE_ID = "grp-none";
91
+ /**
92
+ * The platform's `GetGroupedOperatorService` rule: unknown member ids are
93
+ * dropped, empty groups omitted, ungrouped operators fall into the virtual
94
+ * bucket (only when it has members), members sort active-first then by
95
+ * `sequenceNumber`, and every group — bucket included — sorts by name in
96
+ * the given locale.
97
+ */
98
+ export declare function buildOperatorFilterGroups(args: {
99
+ groups: readonly CalendarOperatorGroup[];
100
+ operators: readonly CalendarResource[];
101
+ inactiveIds: readonly string[];
102
+ withoutGroupLabel: string;
103
+ locale: string;
104
+ }): CalendarOperatorFilterGroup[];
105
+ /** One care/treatment recorded on an appointment. Catalogued when `careId`
106
+ * resolves in the host's care catalogue; ad hoc otherwise (a typed name, no code). */
107
+ export interface CalendarCareEntry {
108
+ careId?: string;
109
+ name: string;
110
+ /** Tariff code — catalogue entries only. */
111
+ code?: string;
112
+ /** FDI two-digit tooth codes, e.g. ['26']. */
113
+ elements?: string[];
114
+ /** Phase labels, rendered as [a, b] after the name. */
115
+ phases?: string[];
116
+ }
117
+ /** Platform `appointmentCareVisualization` — disabled / name / code /
118
+ * name_and_code: how the card describes its cares. */
119
+ export type CareDescriptionMode = 'off' | 'name' | 'code' | 'nameCode';
120
+ /** Platform `color_association_type_*`: which colour a NEW or MOVED
121
+ * appointment inherits. Stored colours never repaint on a switch. */
122
+ export type ColorAssociation = 'care' | 'operator' | 'chair';
123
+ /**
124
+ * Platform care/treatment slice for the find-free-slots tool: picking a
125
+ * care derives the slot duration, the eligible operators/chairs, and the
126
+ * appointment colour (platform `FreeSlotController` care-driven search).
127
+ */
128
+ export interface CalendarCare {
129
+ id: string;
130
+ name: string;
131
+ /** Tariff code (Italian price-list style) — unique per care. */
132
+ code: string;
133
+ durationMin: number;
134
+ operatorIds: string[];
135
+ chairIds: string[];
136
+ colorHex: string;
137
+ priceCents: number;
138
+ /** Catalogue phases (platform `care.carePhases`) — a price-list row
139
+ * books a subset of them, exactly as a plan line does. */
140
+ phases?: string[];
141
+ }
142
+ /**
143
+ * The card's care line (platform `getAppointmentNameSuffixAndPopoverName`):
144
+ * the free-text description leads, the cares follow joined with ', ',
145
+ * phases in [brackets]. Under Code an uncoded ad hoc care shows its name
146
+ * (the platform prints a blank). `undefined` when nothing remains.
147
+ */
148
+ export declare function careSuffix(input: {
149
+ description?: string;
150
+ cares?: CalendarCareEntry[];
151
+ }, mode: CareDescriptionMode): string | undefined;
152
+ /** The always-on derived label — what `meta.care` and `event.suffix`
153
+ * carry regardless of the user's care-description setting. */
154
+ export declare function careLabel(cares: CalendarCareEntry[]): string;
155
+ /** What `associationColor` resolves its ids against — the practice's
156
+ * operators, chairs and care catalogue. `CalendarData` satisfies it. */
157
+ export interface AssociationColorSources {
158
+ operators: readonly CalendarResource[];
159
+ chairs: readonly CalendarResource[];
160
+ cares: readonly CalendarCare[];
161
+ }
162
+ /** The colour an appointment inherits under an association (platform
163
+ * `determineColorIdForResource`): the operator's, the chair's, or the
164
+ * first catalogued care's. `undefined` = keep whatever it has. */
165
+ export declare function associationColor(association: ColorAssociation, ctx: {
166
+ operatorId?: string;
167
+ chairId?: string;
168
+ cares?: CalendarCareEntry[];
169
+ }, sources: AssociationColorSources): string | undefined;
170
+ /** A practice price list (platform `PriceList`). */
171
+ export interface CalendarPriceList {
172
+ id: string;
173
+ name: string;
174
+ }
175
+ /** One treatment line of a care plan (platform `CarePlanEntry`). */
176
+ export interface CalendarCarePlanEntry {
177
+ id: string;
178
+ careId: string;
179
+ /** FDI two-digit tooth codes. */
180
+ elements?: string[];
181
+ done: boolean;
182
+ executionDateIso?: string;
183
+ billed?: boolean;
184
+ /** Phase labels — an appointment may book a subset of them. */
185
+ phases?: string[];
186
+ /** Overrides the care's catalogue duration. */
187
+ durationMin?: number;
188
+ /** Overrides the care's catalogue price. */
189
+ priceCents?: number;
190
+ }
191
+ /** A patient's care plan (platform `CarePlan`) in the kit CarePlanCard's
192
+ * state vocabulary; amounts in cents. */
193
+ export interface CalendarCarePlan {
194
+ id: string;
195
+ patientId: string;
196
+ number: string;
197
+ name: string;
198
+ state: CarePlanState;
199
+ acceptedIso?: string;
200
+ amounts?: {
201
+ priceCents?: number;
202
+ billedAmountCents?: number;
203
+ dueCents?: number;
204
+ };
205
+ entries: CalendarCarePlanEntry[];
206
+ }
207
+ /** What a saved appointment carries about where its treatments came
208
+ * from (platform `carePlanId` + entry ids, or price-list picks). */
209
+ export type CalendarCareLink = {
210
+ kind: 'plan';
211
+ planId: string;
212
+ /** Plan order, never tick order. */
213
+ entryIds: string[];
214
+ phasesByEntry?: Record<string, string[]>;
215
+ } | {
216
+ kind: 'priceList';
217
+ priceListId: string;
218
+ /** `phases` are the booked subset of the care's catalogue phases;
219
+ * `billed` locks the row (the platform refuses to touch an
220
+ * already-invoiced treatment). */
221
+ items: Array<{
222
+ careId: string;
223
+ priceCents: number;
224
+ phases?: string[];
225
+ billed?: boolean;
226
+ }>;
227
+ };
228
+ /** Channel a signature request went out on (platform `requiredObjectsSignMode`). */
229
+ export type CalendarSignChannel = 'sms' | 'email';
230
+ /** One document to sign on an appointment — each party's standing. */
231
+ export interface CalendarSignDocument {
232
+ id: string;
233
+ name: string;
234
+ operator: SignatureParty;
235
+ patient: SignatureParty;
236
+ }
237
+ /**
238
+ * Per-appointment extras the CalendarEvent shape does not carry — the
239
+ * details panel and the peek card read these by event id.
240
+ */
241
+ export interface CalendarAppointmentMeta {
242
+ patientId: string;
243
+ /** Absent = nobody assigned yet — a Backlog "No operator" item. */
244
+ operatorId?: string;
245
+ chairId: string;
246
+ /** Derived care label — `careLabel(cares)`, tasks keep the task title.
247
+ * Also the event's always-on `suffix`. */
248
+ care: string;
249
+ /** The care entries the label derives from (tasks: empty). */
250
+ cares: CalendarCareEntry[];
251
+ /** Outstanding billable amount in EUR, when any. */
252
+ billableAmount?: number;
253
+ /** Where the cares came from — a care plan's lines or a price list. */
254
+ careLink?: CalendarCareLink;
255
+ /** Telehealth session to join (platform `telehealthSessionId`). */
256
+ telehealthSessionCode?: string;
257
+ /** Documents attached for signature, with each party's standing. */
258
+ documentsToSign?: CalendarSignDocument[];
259
+ /** Channel the signature request already went out on, if any. */
260
+ signRequestedVia?: CalendarSignChannel;
261
+ /** When the online booking was made (platform `createdAt`). */
262
+ bookedAtIso?: string;
263
+ /** Note the patient typed on the booking form. */
264
+ bookingNote?: string;
265
+ }
266
+ /**
267
+ * Platform-shaped task detail (the `TaskDTO` slice the legacy task page
268
+ * shows) — the demo's task-details rail panel reads these by event id.
269
+ */
270
+ export interface CalendarTaskDetail {
271
+ /** SystemTaskType key, or 'custom' with `typeLabel` (platform TaskType). */
272
+ type: 'recall' | 'payment' | 'collection' | 'other' | 'custom';
273
+ /** Practice-defined type name — custom types only. */
274
+ typeLabel?: string;
275
+ /** Free-text body (platform `note`). */
276
+ note?: string;
277
+ /** Lifecycle flag (platform `done`). */
278
+ done: boolean;
279
+ /** Assignee display name (platform `practiceUser`). */
280
+ assigneeName?: string;
281
+ /** Linked company name (platform `doctorCompany`). */
282
+ companyName?: string;
283
+ /** Provenance — created by hand or by a workflow automation. */
284
+ createdBy: 'user' | 'workflow';
285
+ /** Creator display name when `createdBy === 'user'`. */
286
+ createdByName?: string;
287
+ createdAtIso: string;
288
+ }
289
+ /** Base events WITHOUT `resourceId` — the surface maps each event onto the
290
+ * chair or the operator axis depending on the active view. */
291
+ export interface CalendarBaseEvent {
292
+ event: CalendarEvent;
293
+ meta: CalendarAppointmentMeta | null;
294
+ /** Care entries even without meta (online bookings); tasks carry []. */
295
+ cares: CalendarCareEntry[];
296
+ }
297
+ /**
298
+ * What an online booking actually carries (platform parity): the details
299
+ * the person typed on the booking website — name, SMS-verified phone,
300
+ * email and a free-text note — but NO patient record. Assigning one is
301
+ * the triage job (the platform's `BookingPatientDetails` +
302
+ * `appointment_form.search_patient_for_booking_appointment_below`).
303
+ */
304
+ export interface CalendarBookingContact {
305
+ typedName: string;
306
+ phone: string;
307
+ email: string;
308
+ note: string;
309
+ /** When the booking was made (platform `createdAt`). */
310
+ bookedAtIso: string;
311
+ }
312
+ /** One contiguous working range, minutes from local midnight. */
313
+ export interface CalendarDayHours {
314
+ startMin: number;
315
+ endMin: number;
316
+ }
317
+ /**
318
+ * Weekly hours keyed by JS `getDay()` (0 = Sunday … 6 = Saturday). A
319
+ * missing weekday means closed all day; one range per day is the demo's
320
+ * deliberate simplification (the platform allows split shifts).
321
+ */
322
+ export type CalendarWeeklyHours = Partial<Record<number, CalendarDayHours>>;
323
+ export interface CalendarBusinessHours {
324
+ /** The practice's own opening hours. */
325
+ practice: CalendarWeeklyHours;
326
+ /** Per-operator weekly hours — intersect with `practice` when used. */
327
+ operators: Record<string, CalendarWeeklyHours>;
328
+ }
329
+ /** Why a date (or, given an operator, that column) cannot take a booking.
330
+ * Precedence closed > holiday > absence: a practice-level closure applies
331
+ * to every column, so it wins over one operator's day off. */
332
+ export type CalendarClosure = {
333
+ kind: 'closed';
334
+ } | {
335
+ kind: 'holiday';
336
+ name: string;
337
+ } | {
338
+ kind: 'absence';
339
+ operatorId: string;
340
+ title?: string;
341
+ };
342
+ /**
343
+ * Platform `WaitingListEntry` shape — exactly ONE of the three mutually
344
+ * exclusive connections per entry (the platform enforces this):
345
+ * - `appointmentId`: the patient already HAS an appointment; the entry
346
+ * means "bring it forward if a slot frees up" (schedule = move mode);
347
+ * - `patientId` (+ optional description): waiting for a first free slot
348
+ * (schedule = create mode, pre-seeded with operator/colour);
349
+ * - `description` only: a free-text hold with no patient linked.
350
+ * `operatorId` and `colorHex` (platform `colorId`) are the DEFAULTS the
351
+ * future appointment is created with, not display decoration.
352
+ */
353
+ export interface CalendarWaitingEntry {
354
+ id: string;
355
+ patientId?: string;
356
+ appointmentId?: string;
357
+ description?: string;
358
+ operatorId?: string;
359
+ colorHex?: string;
360
+ createdDay: number;
361
+ /** Story-only: the patient's number can receive WhatsApp messages. */
362
+ whatsappCapable?: boolean;
363
+ }
364
+ export type CalendarHistoryKind = 'created' | 'moved' | 'resized' | 'status' | 'edited' | 'deleted';
365
+ /** Form fields an edit can touch (the platform's audit vocabulary). */
366
+ export type CalendarHistoryField = 'patient' | 'type' | 'care' | 'operator' | 'chair' | 'colour' | 'time' | 'duration';
367
+ /** One ledger line — who did what to the appointment, and when. */
368
+ export type CalendarHistoryEntry = {
369
+ id: string;
370
+ atIso: string;
371
+ actor: string;
372
+ } & ({
373
+ kind: 'created';
374
+ } | {
375
+ kind: 'moved';
376
+ fromIso: string;
377
+ toIso: string;
378
+ } | {
379
+ kind: 'resized';
380
+ fromMin: number;
381
+ toMin: number;
382
+ } | {
383
+ kind: 'status';
384
+ from: CalendarEventStatus;
385
+ to: CalendarEventStatus;
386
+ } | {
387
+ kind: 'edited';
388
+ fields: CalendarHistoryField[];
389
+ } | {
390
+ kind: 'deleted';
391
+ });
392
+ /** Every labelled phone number — the single `phone` is the mobile when a
393
+ * patient carries no explicit list (platform prints each label: number). */
394
+ export declare function patientPhones(patient: CalendarPatient): CalendarPhoneNumber[];
395
+ /** Practice-level toggles the platform gates the editor and popover on. */
396
+ export interface CalendarPracticeFeatures {
397
+ /** `FIND_FREE_SLOTS_BY_CARE` — devices per care, the device line. */
398
+ findFreeSlotsByCare: boolean;
399
+ /** `RECURRING_PRICE_LIST_CARE_PLAN_ENTRIES` — the care-plan cleanup. */
400
+ recurringPriceListCarePlanEntries: boolean;
401
+ /** Payment automation active on the practice (no upsell when true). */
402
+ paymentAutomation: boolean;
403
+ /** `FeatureToggle::PAU_UPSELL` — show the upsell hook when PAU is off. */
404
+ pauUpsell: boolean;
405
+ }
406
+ /** A practice branch (platform `CarePlanBranch`) — the select shows only
407
+ * when the practice has more than one. */
408
+ export interface CalendarBranch {
409
+ id: string;
410
+ /** Display name — the host localises it. */
411
+ name: string;
412
+ }
413
+ //# sourceMappingURL=calendar.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.types.d.ts","sourceRoot":"","sources":["../../../src/patterns/calendar/calendar.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export { CalendarWorkspace, initialWorkspaceDisplay, WORKSPACE_TOOL, type CalendarWorkspaceProps, type CalendarWorkspaceToolId, } from './calendar-workspace';
2
+ export { CalendarDataProvider, useCalendarData, type CalendarData, } from './calendar.data';
3
+ export type { CalendarJourney } from './calendar.journey';
4
+ export { SheetHostProvider, useSheetHost, type SheetHostContext, type SheetId, } from './calendar.host';
5
+ export { CALENDAR_PREFERENCE_KEYS, memoryPreferenceAdapter, resetCalendarPreferences, usePersistedPreference, type CalendarPreferenceAdapter, } from './calendar.preferences';
6
+ export { DEFAULT_DISPLAY, VIEW_OPTIONS, type AvailabilityContext, type BacklogFilter, type BacklogItem, type BacklogType, type CalendarFreeSlot, type CalendarRow, type CalendarSeries, type DisplaySettings, type DraftSlot, type EditorDraft, type EditorPrefill, type EditorRecurrence, type FindSlotsSeed, type HistoryInput, type PendingMove, type RailFocus, type RecurrenceFrequency, type SlotPatch, type ViewOption, type ViewOptionId, type WaitingEntryDraft, } from './calendar.model';
7
+ export { DEFAULT_WORKSPACE_DISPLAY, WORKSPACE_VIEWS, type ChairNameDisplay, type DeleteOptions, type EditorDraftExtras, type OperatorNameDisplay, type RecurringScope, type RequiredDocsSignMode, type WorkspaceDisplaySettings, type WorkspaceViewId, } from './calendar-workspace.model';
8
+ export type { AssociationColorSources, CalendarAnamnesisAnswer, CalendarAppointmentMeta, CalendarBaseEvent, CalendarBookingContact, CalendarBranch, CalendarBusinessHours, CalendarCare, CalendarCareEntry, CalendarCareLink, CalendarCarePlan, CalendarCarePlanEntry, CalendarClosure, CalendarDayHours, CalendarHistoryEntry, CalendarHistoryField, CalendarHistoryKind, CalendarHoliday, CalendarOperatorFilterGroup, CalendarOperatorGroup, CalendarPatient, CalendarPhoneLabel, CalendarPhoneNumber, CalendarPractice, CalendarPracticeFeatures, CalendarPriceList, CalendarSignChannel, CalendarSignDocument, CalendarTaskDetail, CalendarWaitingEntry, CalendarWeeklyHours, CareDescriptionMode, ColorAssociation, } from './calendar.types';
9
+ export type { CalendarEvent, CalendarEventStatus, CalendarResource, } from '../../components/calendar';
10
+ export type { AppointmentItem } from '../../components/appointment-card';
11
+ export type { NotesPanelNote, NotesPanelProps, NotesPanelSubmission, } from '../../components/notes-panel';
12
+ export type { TasksPanelItem } from '../../components/tasks-panel';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/patterns/calendar/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,KAAK,sBAAsB,EAG3B,KAAK,uBAAuB,GAC7B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,KAAK,YAAY,GAClB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,OAAO,GACb,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,KAAK,yBAAyB,GAC/B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,eAAe,EACf,YAAY,EACZ,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,GACrB,MAAM,4BAA4B,CAAC;AAGpC,YAAY,EACV,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,2BAA2B,EAC3B,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAM1B,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,YAAY,EACV,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { C as s, a as r, b as E, D as P, c as t, S, V as A, W as C, d, i as o, m as D, r as i, u as n, e as W, f as _ } from "../../_chunks/calendar-workspace-CGuY4kmv.js";
2
+ export {
3
+ s as CALENDAR_PREFERENCE_KEYS,
4
+ r as CalendarDataProvider,
5
+ E as CalendarWorkspace,
6
+ P as DEFAULT_DISPLAY,
7
+ t as DEFAULT_WORKSPACE_DISPLAY,
8
+ S as SheetHostProvider,
9
+ A as VIEW_OPTIONS,
10
+ C as WORKSPACE_TOOL,
11
+ d as WORKSPACE_VIEWS,
12
+ o as initialWorkspaceDisplay,
13
+ D as memoryPreferenceAdapter,
14
+ i as resetCalendarPreferences,
15
+ n as useCalendarData,
16
+ W as usePersistedPreference,
17
+ _ as useSheetHost
18
+ };
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfadocs/ui-kit-debug",
3
- "version": "1.13.0",
3
+ "version": "1.15.0",
4
4
  "type": "module",
5
5
  "description": "AlfaDocs shared design system — tokens, components, patterns, and translations for platform, booking, and alfascribe. (debug build — identical runtime to @alfadocs/ui-kit, ships source maps for symbolication).",
6
6
  "license": "BUSL-1.1",
@@ -789,6 +789,10 @@
789
789
  "types": "./dist/patterns/anamnesis/index.d.ts",
790
790
  "import": "./dist/patterns/anamnesis/index.js"
791
791
  },
792
+ "./patterns/calendar": {
793
+ "types": "./dist/patterns/calendar/index.d.ts",
794
+ "import": "./dist/patterns/calendar/index.js"
795
+ },
792
796
  "./patterns/marketplace-app-shell": {
793
797
  "types": "./dist/patterns/marketplace-app-shell/index.d.ts",
794
798
  "import": "./dist/patterns/marketplace-app-shell/index.js"