@alfadocs/ui-kit-debug 0.84.0 → 0.85.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 (140) hide show
  1. package/dist/_chunks/actions-cell-renderer-DaL80uqL.js.map +1 -1
  2. package/dist/_chunks/{ai-consent-banner-DUhr1yNj.js → ai-consent-banner-BXD7W6FI.js} +2 -2
  3. package/dist/_chunks/{ai-consent-banner-DUhr1yNj.js.map → ai-consent-banner-BXD7W6FI.js.map} +1 -1
  4. package/dist/_chunks/{alert-KJbsPYkI.js → alert-Cxaqd-QO.js} +12 -12
  5. package/dist/_chunks/alert-Cxaqd-QO.js.map +1 -0
  6. package/dist/_chunks/anamnesis-card-CJ5MNbkc.js.map +1 -1
  7. package/dist/_chunks/{audio-recorder-Cc3KuL9y.js → audio-recorder-BjnB7V8n.js} +2 -2
  8. package/dist/_chunks/{audio-recorder-Cc3KuL9y.js.map → audio-recorder-BjnB7V8n.js.map} +1 -1
  9. package/dist/_chunks/{booking-CLmeXtGv.js → booking-BvCu2XWY.js} +2 -2
  10. package/dist/_chunks/{booking-CLmeXtGv.js.map → booking-BvCu2XWY.js.map} +1 -1
  11. package/dist/_chunks/breadcrumb-agut0PwN.js.map +1 -1
  12. package/dist/_chunks/calendar-event-card-C6qGtywL.js.map +1 -1
  13. package/dist/_chunks/chat-input-QpHxBEnN.js.map +1 -1
  14. package/dist/_chunks/chat-message-CdjWqZjo.js.map +1 -1
  15. package/dist/_chunks/checkbox-group-CfqMv57d.js.map +1 -1
  16. package/dist/_chunks/dependent-selector-DyFpdzZV.js.map +1 -1
  17. package/dist/_chunks/{document-preview-nwfulDEs.js → document-preview-DXl9migE.js} +2 -2
  18. package/dist/_chunks/{document-preview-nwfulDEs.js.map → document-preview-DXl9migE.js.map} +1 -1
  19. package/dist/_chunks/{document-scanner-B6h1Ir56.js → document-scanner-cS_ispQs.js} +3 -3
  20. package/dist/_chunks/document-scanner-cS_ispQs.js.map +1 -0
  21. package/dist/_chunks/editable-currency-cell-renderer-Dus_sBvX.js.map +1 -1
  22. package/dist/_chunks/email-input-Dpe63k0K.js.map +1 -1
  23. package/dist/_chunks/{entity-summary--vP698Jn.js → entity-summary-BILN4wEG.js} +2 -2
  24. package/dist/_chunks/{entity-summary--vP698Jn.js.map → entity-summary-BILN4wEG.js.map} +1 -1
  25. package/dist/_chunks/{field-value-DHG6gEKS.js → field-value-BRVbZJej.js} +133 -144
  26. package/dist/_chunks/field-value-BRVbZJej.js.map +1 -0
  27. package/dist/_chunks/{file-manager-DLJlinIO.js → file-manager-B9LZzT5E.js} +129 -129
  28. package/dist/_chunks/file-manager-B9LZzT5E.js.map +1 -0
  29. package/dist/_chunks/{file-upload-DENvuhfs.js → file-upload-CwxdqkMK.js} +134 -146
  30. package/dist/_chunks/file-upload-CwxdqkMK.js.map +1 -0
  31. package/dist/_chunks/finished-terminal-C0_mefrf.js.map +1 -1
  32. package/dist/_chunks/fiscal-code-input-QP9gkyDE.js.map +1 -1
  33. package/dist/_chunks/form-field-M5UpX65Z.js.map +1 -1
  34. package/dist/_chunks/{freemium-paywall-CmV642PA.js → freemium-paywall-Dr2342_S.js} +2 -2
  35. package/dist/_chunks/{freemium-paywall-CmV642PA.js.map → freemium-paywall-Dr2342_S.js.map} +1 -1
  36. package/dist/_chunks/iban-input-DXIA8Ln_.js.map +1 -1
  37. package/dist/_chunks/{marketplace-app-shell-Br2yebEK.js → marketplace-app-shell-Chcj4q4z.js} +2 -2
  38. package/dist/_chunks/{marketplace-app-shell-Br2yebEK.js.map → marketplace-app-shell-Chcj4q4z.js.map} +1 -1
  39. package/dist/_chunks/message-square-Bye4ATvx.js +20 -0
  40. package/dist/_chunks/message-square-Bye4ATvx.js.map +1 -0
  41. package/dist/_chunks/{notes-panel-Cvdp818a.js → notes-panel-BLjlYBt-.js} +2 -2
  42. package/dist/_chunks/{notes-panel-Cvdp818a.js.map → notes-panel-BLjlYBt-.js.map} +1 -1
  43. package/dist/_chunks/pagination-EkD5SiCK.js.map +1 -1
  44. package/dist/_chunks/{patient-details-COvYWp2e.js → patient-details-B9LCdyWW.js} +2 -2
  45. package/dist/_chunks/{patient-details-COvYWp2e.js.map → patient-details-B9LCdyWW.js.map} +1 -1
  46. package/dist/_chunks/{patient-search-BaUJ_Y-N.js → patient-search-vtRTSdf6.js} +2 -2
  47. package/dist/_chunks/{patient-search-BaUJ_Y-N.js.map → patient-search-vtRTSdf6.js.map} +1 -1
  48. package/dist/_chunks/{patient-summary-card-D6kgdTNn.js → patient-summary-card-vn1H4xWj.js} +2 -2
  49. package/dist/_chunks/patient-summary-card-vn1H4xWj.js.map +1 -0
  50. package/dist/_chunks/{patient-table-BHzmUbzu.js → patient-table-B6AKMTm3.js} +182 -196
  51. package/dist/_chunks/patient-table-B6AKMTm3.js.map +1 -0
  52. package/dist/_chunks/{payment-form-DL9xk9BA.js → payment-form-BoGxEmGn.js} +2 -2
  53. package/dist/_chunks/{payment-form-DL9xk9BA.js.map → payment-form-BoGxEmGn.js.map} +1 -1
  54. package/dist/_chunks/{payment-request-card-d-RmzsUd.js → payment-request-card-CygO1anM.js} +72 -70
  55. package/dist/_chunks/payment-request-card-CygO1anM.js.map +1 -0
  56. package/dist/_chunks/{pdf-viewer-DF3VMaPo.js → pdf-viewer-CcOuR2wj.js} +2 -2
  57. package/dist/_chunks/{pdf-viewer-DF3VMaPo.js.map → pdf-viewer-CcOuR2wj.js.map} +1 -1
  58. package/dist/_chunks/postal-code-input-BznBxVxf.js.map +1 -1
  59. package/dist/_chunks/{practice-results-BCr7jMt1.js → practice-results-yKbwIxqa.js} +2 -2
  60. package/dist/_chunks/{practice-results-BCr7jMt1.js.map → practice-results-yKbwIxqa.js.map} +1 -1
  61. package/dist/_chunks/radio-group-CI-6SmSw.js.map +1 -1
  62. package/dist/_chunks/{radiograph-panel.agent-CxF9pVxd.js → radiograph-panel.agent-M9XD4ze4.js} +2 -2
  63. package/dist/_chunks/{radiograph-panel.agent-CxF9pVxd.js.map → radiograph-panel.agent-M9XD4ze4.js.map} +1 -1
  64. package/dist/_chunks/{rich-text-editor-CCWjNkbx.js → rich-text-editor-RRkBN_WB.js} +2 -2
  65. package/dist/_chunks/rich-text-editor-RRkBN_WB.js.map +1 -0
  66. package/dist/_chunks/select-BW5ecXlX.js.map +1 -1
  67. package/dist/_chunks/{session-countdown-C8AsE072.js → session-countdown-Bc70VXN1.js} +58 -48
  68. package/dist/_chunks/session-countdown-Bc70VXN1.js.map +1 -0
  69. package/dist/_chunks/{sign-document-Bfk0WpWV.js → sign-document-DI561d1C.js} +2 -2
  70. package/dist/_chunks/sign-document-DI561d1C.js.map +1 -0
  71. package/dist/_chunks/{signature-request-CEOrCDyk.js → signature-request-D_6jgDZd.js} +60 -77
  72. package/dist/_chunks/signature-request-D_6jgDZd.js.map +1 -0
  73. package/dist/_chunks/task-card-BUgK6yZT.js.map +1 -1
  74. package/dist/_chunks/{task-tray-Br3vc0O1.js → task-tray-CLIqIXUZ.js} +58 -70
  75. package/dist/_chunks/task-tray-CLIqIXUZ.js.map +1 -0
  76. package/dist/_chunks/tasks-panel-CjGAhIN8.js.map +1 -1
  77. package/dist/_chunks/timeline-r-8IUoBS.js.map +1 -1
  78. package/dist/_chunks/{toast.agent-uV8CeAy6.js → toast.agent-Iw2jWdce.js} +2 -2
  79. package/dist/_chunks/{toast.agent-uV8CeAy6.js.map → toast.agent-Iw2jWdce.js.map} +1 -1
  80. package/dist/_chunks/tooth-scheme-BzJ6rcte.js.map +1 -1
  81. package/dist/_chunks/use-password-requirements-Bwtqx1qN.js.map +1 -1
  82. package/dist/_chunks/{warning-stack-BlG_Ujy3.js → warning-stack-CAHQ0xxS.js} +2 -2
  83. package/dist/_chunks/{warning-stack-BlG_Ujy3.js.map → warning-stack-CAHQ0xxS.js.map} +1 -1
  84. package/dist/_chunks/{workflow-map-C643Q43h.js → workflow-map-SIfAhmWz.js} +2 -2
  85. package/dist/_chunks/workflow-map-SIfAhmWz.js.map +1 -0
  86. package/dist/agent-catalog.json +1 -1
  87. package/dist/components/ai-consent-banner/index.js +1 -1
  88. package/dist/components/alert/index.js +1 -1
  89. package/dist/components/audio-recorder/index.js +1 -1
  90. package/dist/components/booking/index.js +1 -1
  91. package/dist/components/document-preview/index.js +1 -1
  92. package/dist/components/document-scanner/index.js +1 -1
  93. package/dist/components/entity-summary/index.js +1 -1
  94. package/dist/components/file-manager/index.js +1 -1
  95. package/dist/components/file-upload/file-upload.d.ts.map +1 -1
  96. package/dist/components/file-upload/index.js +1 -1
  97. package/dist/components/freemium-paywall/index.js +1 -1
  98. package/dist/components/notes-panel/index.js +1 -1
  99. package/dist/components/patient-details/index.js +1 -1
  100. package/dist/components/patient-search/index.js +1 -1
  101. package/dist/components/patient-summary-card/index.js +1 -1
  102. package/dist/components/patient-table/index.js +1 -1
  103. package/dist/components/payment-card/index.js +1 -1
  104. package/dist/components/payment-form/index.js +1 -1
  105. package/dist/components/pdf-viewer/index.js +1 -1
  106. package/dist/components/practice-results/index.js +1 -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/select.d.ts +8 -5
  110. package/dist/components/select/select.d.ts.map +1 -1
  111. package/dist/components/session-countdown/index.js +1 -1
  112. package/dist/components/sign-document/index.js +1 -1
  113. package/dist/components/task-card/task-card.d.ts.map +1 -1
  114. package/dist/components/task-tray/index.js +1 -1
  115. package/dist/components/toast/index.js +1 -1
  116. package/dist/components/tooth-scheme/tooth-scheme.d.ts.map +1 -1
  117. package/dist/components/warning-stack/index.js +1 -1
  118. package/dist/components/workflow/index.js +1 -1
  119. package/dist/index.js +434 -445
  120. package/dist/index.js.map +1 -1
  121. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  122. package/dist/patterns/signature-request/index.js +1 -1
  123. package/dist/tokens.css +1 -1
  124. package/package.json +5 -3
  125. package/dist/_chunks/alert-KJbsPYkI.js.map +0 -1
  126. package/dist/_chunks/circle-x-W8Enq3i4.js +0 -16
  127. package/dist/_chunks/circle-x-W8Enq3i4.js.map +0 -1
  128. package/dist/_chunks/document-scanner-B6h1Ir56.js.map +0 -1
  129. package/dist/_chunks/field-value-DHG6gEKS.js.map +0 -1
  130. package/dist/_chunks/file-manager-DLJlinIO.js.map +0 -1
  131. package/dist/_chunks/file-upload-DENvuhfs.js.map +0 -1
  132. package/dist/_chunks/patient-summary-card-D6kgdTNn.js.map +0 -1
  133. package/dist/_chunks/patient-table-BHzmUbzu.js.map +0 -1
  134. package/dist/_chunks/payment-request-card-d-RmzsUd.js.map +0 -1
  135. package/dist/_chunks/rich-text-editor-CCWjNkbx.js.map +0 -1
  136. package/dist/_chunks/session-countdown-C8AsE072.js.map +0 -1
  137. package/dist/_chunks/sign-document-Bfk0WpWV.js.map +0 -1
  138. package/dist/_chunks/signature-request-CEOrCDyk.js.map +0 -1
  139. package/dist/_chunks/task-tray-Br3vc0O1.js.map +0 -1
  140. package/dist/_chunks/workflow-map-C643Q43h.js.map +0 -1
@@ -1,19 +1,19 @@
1
1
  import { jsx as e, jsxs as c } from "react/jsx-runtime";
2
- import { forwardRef as $, useId as H, useMemo as I } from "react";
3
- import { c as B } from "./index-D2ZczOXr.js";
4
- import { useTranslation as G } from "react-i18next";
5
- import { B as K } from "./badge-DCOqV9mI.js";
2
+ import { forwardRef as M, useId as B, useMemo as I } from "react";
3
+ import { c as G } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as K } from "react-i18next";
5
+ import { B as O } from "./badge-DCOqV9mI.js";
6
6
  import { C as k } from "./card-DPmk26CL.js";
7
7
  import { D as d } from "./description-list-ClNLdRMy.js";
8
- import { K as O, a as Y } from "./key-value-pair-LHKfDT_9.js";
8
+ import { K as Y, a as H } from "./key-value-pair-LHKfDT_9.js";
9
9
  import { T as j, A as te } from "./transaction-chip-DJCstquX.js";
10
10
  import { u as W } from "./registry-DvAUVLHh.js";
11
11
  import { H as re } from "./hash-CSQ9SChR.js";
12
12
  import { C as ne } from "./calendar-days-BGWklvE-.js";
13
13
  import { c as J } from "./createLucideIcon-DhHxpK9K.js";
14
14
  import { F as Q } from "./file-text-5yv6r2ls.js";
15
- import { U as le } from "./user-B12p7bVF.js";
16
- import { U as ie } from "./user-cog-BTn98Arm.js";
15
+ import { U as ie } from "./user-B12p7bVF.js";
16
+ import { U as le } from "./user-cog-BTn98Arm.js";
17
17
  import { e as X } from "./entity-card-9_62gY7l.js";
18
18
  import { A as de } from "./arrow-up-right-C2v_MKsK.js";
19
19
  import { L as oe } from "./link-CPb_pZPr.js";
@@ -28,7 +28,7 @@ import { i as ce } from "./is-safe-url-DkETxeHz.js";
28
28
  const me = [
29
29
  ["rect", { width: "20", height: "14", x: "2", y: "5", rx: "2", key: "ynyp8z" }],
30
30
  ["line", { x1: "2", x2: "22", y1: "10", y2: "10", key: "1b3vmo" }]
31
- ], M = J("credit-card", me);
31
+ ], $ = J("credit-card", me);
32
32
  /**
33
33
  * @license lucide-react v1.22.0 - ISC
34
34
  *
@@ -36,17 +36,19 @@ const me = [
36
36
  * See the LICENSE file in the root directory of this source tree.
37
37
  */
38
38
  const ue = [
39
- ["path", { d: "M13 16H8", key: "wsln4y" }],
40
- ["path", { d: "M14 8H8", key: "1l3xfs" }],
41
- ["path", { d: "M16 12H8", key: "1fr5h0" }],
39
+ [
40
+ "path",
41
+ { d: "M15.828 14.829a4 4 0 0 1-5.656 0 4 4 0 0 1 0-5.657 4 4 0 0 1 5.656 0", key: "16zdw4" }
42
+ ],
42
43
  [
43
44
  "path",
44
45
  {
45
46
  d: "M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z",
46
47
  key: "ycz6yz"
47
48
  }
48
- ]
49
- ], pe = J("receipt-text", ue), he = {
49
+ ],
50
+ ["path", { d: "M8 12h5", key: "1g6qi8" }]
51
+ ], pe = J("receipt-euro", ue), he = {
50
52
  id: "payment-card",
51
53
  capabilities: [],
52
54
  state: {
@@ -91,7 +93,7 @@ const ue = [
91
93
  }, be = {
92
94
  incoming: "Incoming",
93
95
  outgoing: "Outgoing"
94
- }, ge = B("ds:w-full ds:text-[color:var(--foreground)]", {
96
+ }, ge = G("ds:w-full ds:text-[color:var(--foreground)]", {
95
97
  variants: {
96
98
  surface: {
97
99
  flat: "",
@@ -100,21 +102,21 @@ const ue = [
100
102
  },
101
103
  defaultVariants: { surface: "elevated" }
102
104
  });
103
- function R(a, l, r) {
105
+ function T(a, i, r) {
104
106
  try {
105
107
  return new Intl.NumberFormat(r, {
106
108
  style: "currency",
107
- currency: l
109
+ currency: i
108
110
  }).format(a / 100);
109
111
  } catch {
110
112
  return (a / 100).toFixed(2);
111
113
  }
112
114
  }
113
- function Ce(a, l) {
115
+ function Ce(a, i) {
114
116
  const r = new Date(a);
115
117
  if (Number.isNaN(r.getTime())) return a;
116
118
  try {
117
- return new Intl.DateTimeFormat(l, {
119
+ return new Intl.DateTimeFormat(i, {
118
120
  year: "numeric",
119
121
  month: "short",
120
122
  day: "numeric"
@@ -123,13 +125,13 @@ function Ce(a, l) {
123
125
  return a;
124
126
  }
125
127
  }
126
- function Ne(a, l, r, p) {
127
- return p ? "settled" : r != null && r > 0 ? "debt" : a === "proforma" && (l == null || l === 0) ? "to-invoice" : "settled";
128
+ function Ne(a, i, r, p) {
129
+ return p ? "settled" : r != null && r > 0 ? "debt" : a === "proforma" && (i == null || i === 0) ? "to-invoice" : "settled";
128
130
  }
129
- const xe = $(
131
+ const xe = M(
130
132
  ({
131
133
  id: a,
132
- number: l,
134
+ number: i,
133
135
  dateIso: r,
134
136
  type: p,
135
137
  direction: v,
@@ -137,37 +139,37 @@ const xe = $(
137
139
  paidCents: h,
138
140
  unpaidCents: m,
139
141
  writtenOff: D = !1,
140
- relations: i,
142
+ relations: l,
141
143
  lineItems: b,
142
- locale: L,
144
+ locale: q,
143
145
  currency: u = ye,
144
146
  surface: x = "elevated",
145
- "aria-label": q,
147
+ "aria-label": L,
146
148
  className: f,
147
149
  ...S
148
150
  }, P) => {
149
- const { t, i18n: w } = G(), A = H(), o = L ?? w.language ?? "en", z = q ?? t("paymentCard.regionLabel", {
150
- number: l,
151
+ const { t, i18n: w } = K(), A = B(), o = q ?? w.language ?? "en", z = L ?? t("paymentCard.regionLabel", {
152
+ number: i,
151
153
  defaultValue: "Payment {{number}}"
152
154
  }), N = Ne(p, h, m, D), E = N === "debt" && m != null ? m : n ?? h ?? m ?? 0;
153
155
  W(
154
156
  he,
155
157
  {
156
- getNumber: () => l,
158
+ getNumber: () => i,
157
159
  getState: () => N
158
160
  },
159
161
  a
160
162
  );
161
163
  const g = t(`paymentCard.type.${p}`, {
162
164
  defaultValue: ve[p]
163
- }), T = v === "incoming" ? /* @__PURE__ */ e(te, { "aria-hidden": "true" }) : /* @__PURE__ */ e(de, { "aria-hidden": "true" }), C = t(`paymentCard.direction.${v}`, {
165
+ }), R = v === "incoming" ? /* @__PURE__ */ e(te, { "aria-hidden": "true" }) : /* @__PURE__ */ e(de, { "aria-hidden": "true" }), C = t(`paymentCard.direction.${v}`, {
164
166
  defaultValue: be[v]
165
167
  }), y = [];
166
168
  y.push({
167
169
  key: "number",
168
170
  icon: /* @__PURE__ */ e(re, { "aria-hidden": "true" }),
169
171
  label: t("paymentCard.label.number", "Number"),
170
- value: l
172
+ value: i
171
173
  }), r && y.push({
172
174
  key: "date",
173
175
  icon: /* @__PURE__ */ e(ne, { "aria-hidden": "true" }),
@@ -177,36 +179,36 @@ const xe = $(
177
179
  key: "type",
178
180
  icon: /* @__PURE__ */ e(pe, { "aria-hidden": "true" }),
179
181
  label: t("paymentCard.label.type", "Type"),
180
- value: /* @__PURE__ */ e(K, { variant: fe[p], children: g })
182
+ value: /* @__PURE__ */ e(O, { variant: fe[p], children: g })
181
183
  }), y.push({
182
184
  key: "direction",
183
- icon: T,
185
+ icon: R,
184
186
  label: t("paymentCard.label.direction", "Direction"),
185
187
  value: C
186
- }), i != null && i.carePlanNumber && y.push({
188
+ }), l != null && l.carePlanNumber && y.push({
187
189
  key: "carePlan",
188
190
  icon: /* @__PURE__ */ e(Q, { "aria-hidden": "true" }),
189
191
  label: t("paymentCard.label.carePlan", "Care plan"),
190
- value: i.carePlanNumber
191
- }), i != null && i.patientName && y.push({
192
+ value: l.carePlanNumber
193
+ }), l != null && l.patientName && y.push({
192
194
  key: "patient",
193
- icon: /* @__PURE__ */ e(le, { "aria-hidden": "true" }),
195
+ icon: /* @__PURE__ */ e(ie, { "aria-hidden": "true" }),
194
196
  label: t("paymentCard.label.patient", "Patient"),
195
- value: i.patientName
196
- }), i != null && i.operatorName && y.push({
197
+ value: l.patientName
198
+ }), l != null && l.operatorName && y.push({
197
199
  key: "operator",
198
- icon: /* @__PURE__ */ e(ie, { "aria-hidden": "true" }),
200
+ icon: /* @__PURE__ */ e(le, { "aria-hidden": "true" }),
199
201
  label: t("paymentCard.label.operator", "Operator"),
200
- value: i.operatorName
202
+ value: l.operatorName
201
203
  });
202
204
  const U = I(
203
- () => n != null ? R(n, u, o) : void 0,
205
+ () => n != null ? T(n, u, o) : void 0,
204
206
  [n, u, o]
205
207
  ), _ = I(
206
- () => h != null ? R(h, u, o) : void 0,
208
+ () => h != null ? T(h, u, o) : void 0,
207
209
  [h, u, o]
208
210
  ), V = I(
209
- () => m != null ? R(m, u, o) : void 0,
211
+ () => m != null ? T(m, u, o) : void 0,
210
212
  [m, u, o]
211
213
  ), Z = U != null || _ != null || V != null, ee = !!b && b.length > 0, F = /* @__PURE__ */ c("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
212
214
  /* @__PURE__ */ c("div", { className: "ds:flex ds:items-start ds:gap-[var(--spacing-md)] ds:flex-wrap", children: [
@@ -216,7 +218,7 @@ const xe = $(
216
218
  id: A,
217
219
  className: "type-title-card ds:m-0 ds:text-[color:var(--foreground)]",
218
220
  children: t("paymentCard.heading", {
219
- number: l,
221
+ number: i,
220
222
  defaultValue: "Payment {{number}}"
221
223
  })
222
224
  }
@@ -232,8 +234,8 @@ const xe = $(
232
234
  }
233
235
  ) })
234
236
  ] }),
235
- /* @__PURE__ */ e(O, { rowGap: "sm", children: y.map((s) => /* @__PURE__ */ e(
236
- Y,
237
+ /* @__PURE__ */ e(Y, { rowGap: "sm", children: y.map((s) => /* @__PURE__ */ e(
238
+ H,
237
239
  {
238
240
  icon: s.icon,
239
241
  label: s.label,
@@ -274,7 +276,7 @@ const xe = $(
274
276
  vat: s.vatPercentage,
275
277
  defaultValue: "{{description}} (VAT {{vat}}%)"
276
278
  }) : s.description }),
277
- /* @__PURE__ */ e(d.Detail, { numeric: !0, children: R(s.amountCents, u, o) })
279
+ /* @__PURE__ */ e(d.Detail, { numeric: !0, children: T(s.amountCents, u, o) })
278
280
  ] }, `${s.description}-${ae}`))
279
281
  }
280
282
  )
@@ -334,14 +336,14 @@ const Pe = {
334
336
  paid: "success",
335
337
  failed: "error",
336
338
  cancelled: "neutral"
337
- }, Ae = "EUR", Te = {
339
+ }, Ae = "EUR", Re = {
338
340
  new: "New",
339
341
  authorization_requested: "Authorization requested",
340
342
  authorized: "Authorized",
341
343
  paid: "Paid",
342
344
  failed: "Failed",
343
345
  cancelled: "Cancelled"
344
- }, Re = B("ds:w-full ds:text-[color:var(--foreground)]", {
346
+ }, Te = G("ds:w-full ds:text-[color:var(--foreground)]", {
345
347
  variants: {
346
348
  surface: {
347
349
  flat: "",
@@ -350,11 +352,11 @@ const Pe = {
350
352
  },
351
353
  defaultVariants: { surface: "elevated" }
352
354
  });
353
- function ke(a, l) {
355
+ function ke(a, i) {
354
356
  const r = new Date(a);
355
357
  if (Number.isNaN(r.getTime())) return a;
356
358
  try {
357
- return new Intl.DateTimeFormat(l, {
359
+ return new Intl.DateTimeFormat(i, {
358
360
  year: "numeric",
359
361
  month: "short",
360
362
  day: "numeric"
@@ -363,10 +365,10 @@ function ke(a, l) {
363
365
  return a;
364
366
  }
365
367
  }
366
- const De = $(
368
+ const De = M(
367
369
  ({
368
370
  id: a,
369
- title: l,
371
+ title: i,
370
372
  description: r,
371
373
  amountCents: p,
372
374
  dueDateIso: v,
@@ -374,26 +376,26 @@ const De = $(
374
376
  paymentUrl: h,
375
377
  carePlanNumber: m,
376
378
  locale: D,
377
- currency: i = Ae,
379
+ currency: l = Ae,
378
380
  surface: b = "elevated",
379
- "aria-label": L,
381
+ "aria-label": q,
380
382
  className: u,
381
383
  ...x
382
- }, q) => {
383
- const { t: f, i18n: S } = G(), P = H(), t = D ?? S.language ?? "en", w = l ?? f("paymentRequestCard.heading", "Payment request"), A = L ?? w;
384
+ }, L) => {
385
+ const { t: f, i18n: S } = K(), P = B(), t = D ?? S.language ?? "en", w = i ?? f("paymentRequestCard.heading", "Payment request"), A = q ?? w;
384
386
  W(
385
387
  Pe,
386
388
  { getStatus: () => n },
387
389
  a
388
390
  );
389
391
  const o = f(`paymentRequestCard.status.${n}`, {
390
- defaultValue: Te[n]
392
+ defaultValue: Re[n]
391
393
  }), z = n === "paid" ? "settled" : n === "failed" || n === "cancelled" ? "debt" : "to-invoice", E = (n === "new" || n === "authorization_requested" || n === "authorized") && !!h && ce(h), g = [];
392
394
  g.push({
393
395
  key: "status",
394
- icon: /* @__PURE__ */ e(M, { "aria-hidden": "true" }),
396
+ icon: /* @__PURE__ */ e($, { "aria-hidden": "true" }),
395
397
  label: f("paymentRequestCard.label.status", "Status"),
396
- value: /* @__PURE__ */ e(K, { variant: we[n], children: o })
398
+ value: /* @__PURE__ */ e(O, { variant: we[n], children: o })
397
399
  }), v && g.push({
398
400
  key: "dueDate",
399
401
  icon: /* @__PURE__ */ e(se, { "aria-hidden": "true" }),
@@ -405,7 +407,7 @@ const De = $(
405
407
  label: f("paymentRequestCard.label.carePlan", "Care plan"),
406
408
  value: m
407
409
  });
408
- const T = /* @__PURE__ */ c("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
410
+ const R = /* @__PURE__ */ c("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
409
411
  /* @__PURE__ */ c("div", { className: "ds:flex ds:items-start ds:gap-[var(--spacing-md)] ds:flex-wrap", children: [
410
412
  /* @__PURE__ */ c("div", { className: "ds:flex ds:min-w-0 ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
411
413
  /* @__PURE__ */ e(
@@ -423,14 +425,14 @@ const De = $(
423
425
  {
424
426
  state: z,
425
427
  amount: p / 100,
426
- currency: i,
428
+ currency: l,
427
429
  locale: t,
428
430
  size: "lg"
429
431
  }
430
432
  ) })
431
433
  ] }),
432
- /* @__PURE__ */ e(O, { rowGap: "sm", children: g.map((C) => /* @__PURE__ */ e(
433
- Y,
434
+ /* @__PURE__ */ e(Y, { rowGap: "sm", children: g.map((C) => /* @__PURE__ */ e(
435
+ H,
434
436
  {
435
437
  icon: C.icon,
436
438
  label: C.label,
@@ -438,12 +440,12 @@ const De = $(
438
440
  },
439
441
  C.key
440
442
  )) }),
441
- E ? /* @__PURE__ */ e("div", { className: "ds:flex", children: /* @__PURE__ */ e(oe, { href: h, external: !0, startIcon: /* @__PURE__ */ e(M, {}), children: f("paymentRequestCard.pay", "Pay now") }) }) : null
443
+ E ? /* @__PURE__ */ e("div", { className: "ds:flex", children: /* @__PURE__ */ e(oe, { href: h, external: !0, startIcon: /* @__PURE__ */ e($, {}), children: f("paymentRequestCard.pay", "Pay now") }) }) : null
442
444
  ] });
443
445
  return /* @__PURE__ */ e(
444
446
  "div",
445
447
  {
446
- ref: q,
448
+ ref: L,
447
449
  role: "region",
448
450
  "aria-label": A,
449
451
  "aria-labelledby": P,
@@ -451,20 +453,20 @@ const De = $(
451
453
  "data-component-id": a,
452
454
  "data-status": n,
453
455
  id: a,
454
- className: Re({ surface: b, className: u }),
456
+ className: Te({ surface: b, className: u }),
455
457
  ...x,
456
- children: b === "elevated" ? /* @__PURE__ */ e(k, { variant: "elevated", children: /* @__PURE__ */ e(k.Body, { children: T }) }) : /* @__PURE__ */ e("div", { className: X({ surface: "flat" }), children: T })
458
+ children: b === "elevated" ? /* @__PURE__ */ e(k, { variant: "elevated", children: /* @__PURE__ */ e(k.Body, { children: R }) }) : /* @__PURE__ */ e("div", { className: X({ surface: "flat" }), children: R })
457
459
  }
458
460
  );
459
461
  }
460
462
  );
461
463
  De.displayName = "PaymentRequestCard";
462
464
  export {
463
- M as C,
465
+ $ as C,
464
466
  xe as P,
465
467
  pe as R,
466
468
  De as a,
467
469
  Pe as b,
468
470
  he as p
469
471
  };
470
- //# sourceMappingURL=payment-request-card-d-RmzsUd.js.map
472
+ //# sourceMappingURL=payment-request-card-CygO1anM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-request-card-CygO1anM.js","sources":["../../node_modules/lucide-react/dist/esm/icons/credit-card.mjs","../../node_modules/lucide-react/dist/esm/icons/receipt-euro.mjs","../../src/components/payment-card/payment-card.agent.ts","../../src/components/payment-card/payment-card.tsx","../../src/components/payment-card/payment-request-card.agent.ts","../../src/components/payment-card/payment-request-card.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.22.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"rect\", { width: \"20\", height: \"14\", x: \"2\", y: \"5\", rx: \"2\", key: \"ynyp8z\" }],\n [\"line\", { x1: \"2\", x2: \"22\", y1: \"10\", y2: \"10\", key: \"1b3vmo\" }]\n];\nconst CreditCard = createLucideIcon(\"credit-card\", __iconNode);\n\nexport { __iconNode, CreditCard as default };\n//# sourceMappingURL=credit-card.mjs.map\n","/**\n * @license lucide-react v1.22.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n { d: \"M15.828 14.829a4 4 0 0 1-5.656 0 4 4 0 0 1 0-5.657 4 4 0 0 1 5.656 0\", key: \"16zdw4\" }\n ],\n [\n \"path\",\n {\n d: \"M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z\",\n key: \"ycz6yz\"\n }\n ],\n [\"path\", { d: \"M8 12h5\", key: \"1g6qi8\" }]\n];\nconst ReceiptEuro = createLucideIcon(\"receipt-euro\", __iconNode);\n\nexport { __iconNode, ReceiptEuro as default };\n//# sourceMappingURL=receipt-euro.mjs.map\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — PaymentCard. */\n/* */\n/* Read-only financial-record surface. Exposes the payment number */\n/* (identifier) and the resolved headline state (structural) — never */\n/* patient / operator names or any other PHI. No actions: the card is a */\n/* passive presentation surface. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { PaymentCardHandle } from './payment-card';\n\nexport const paymentCardAgent: AgentAdapter<PaymentCardHandle> = {\n id: 'payment-card',\n capabilities: [],\n state: {\n number: {\n type: 'string',\n descriptionKey: 'ui.agent.paymentCard.state.number',\n description: 'Payment number / reference currently rendered.',\n read: (handle) => handle.getNumber(),\n },\n state: {\n type: \"'debt' | 'to-invoice' | 'settled'\",\n descriptionKey: 'ui.agent.paymentCard.state.state',\n description:\n 'Resolved headline financial state. Structural state only — never patient identity.',\n read: (handle) => handle.getState(),\n },\n },\n actions: {},\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'payment-card',\n description: 'Marks the PaymentCard root region.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop. Addresses a specific card.',\n },\n },\n};\n","import {\n forwardRef,\n useId,\n useMemo,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport {\n ArrowDownLeft,\n ArrowUpRight,\n CalendarDays,\n FileText,\n Hash,\n ReceiptEuro,\n User,\n UserCog,\n} from 'lucide-react';\nimport { Badge } from '../badge/badge';\nimport { Card } from '../card/card';\nimport { DescriptionList } from '../description-list/description-list';\nimport { KeyValueList, KeyValuePair } from '../key-value-pair/key-value-pair';\nimport { TransactionChip } from '../transaction-chip/transaction-chip';\nimport { entitySurfaceVariants } from '../_shared/entity-card';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { paymentCardAgent } from './payment-card.agent';\n\n/* -------------------------------------------------------------------- */\n/* PaymentCard */\n/* */\n/* Financial-record card for a single payment / receipt. Replaces the */\n/* hand-rolled \"Pagamento\" / payment-row cards that the platform's */\n/* care-plan and patient-ledger surfaces compose today. Composes */\n/* TransactionChip (the settled/debt/to-invoice headline) + KeyValueList */\n/* (number, date, type, direction, relations) + DescriptionList (line */\n/* items) + Badge (the payment type). */\n/* */\n/* The component owns the ORDER, ICONS, and LABELS; the consumer passes */\n/* the data. Every visible string flows through `useTranslation('ui')` */\n/* against the `paymentCard.*` namespace. The agent state slot exposes */\n/* identifiers + structural state only — never patient names. */\n/* -------------------------------------------------------------------- */\n\n/* -------------------------------------------------------------------- */\n/* Vocabulary */\n/* -------------------------------------------------------------------- */\n\n/** Payment type → translation-key segment + Badge variant. */\nexport type PaymentType = 'full' | 'partial' | 'credit' | 'proforma' | 'other';\n\nexport type PaymentDirection = 'incoming' | 'outgoing';\n\ntype BadgeVariant = NonNullable<\n ComponentPropsWithoutRef<typeof Badge>['variant']\n>;\n\nconst PAYMENT_TYPE_BADGE = {\n full: 'success',\n partial: 'warning',\n credit: 'info',\n proforma: 'neutral',\n other: 'neutral',\n} as const satisfies Record<PaymentType, BadgeVariant>;\n\nconst DEFAULT_CURRENCY = 'EUR';\n\n// Inline English fallbacks — belt-and-braces only. The canonical keys\n// live in the locale bundle (`ui.paymentCard.*`); these guard against a\n// stale / not-yet-wired bundle so the card never renders a raw key.\nconst TYPE_DEFAULTS: Record<PaymentType, string> = {\n full: 'Full payment',\n partial: 'Partial payment',\n credit: 'Credit note',\n proforma: 'Proforma',\n other: 'Other',\n};\n\nconst DIRECTION_DEFAULTS: Record<PaymentDirection, string> = {\n incoming: 'Incoming',\n outgoing: 'Outgoing',\n};\n\n/* -------------------------------------------------------------------- */\n/* CVA — root */\n/* -------------------------------------------------------------------- */\n\nconst rootVariants = cva('ds:w-full ds:text-[color:var(--foreground)]', {\n variants: {\n surface: {\n flat: '',\n elevated: '',\n },\n },\n defaultVariants: { surface: 'elevated' },\n});\n\n/* -------------------------------------------------------------------- */\n/* Public types */\n/* -------------------------------------------------------------------- */\n\nexport interface PaymentLineItem {\n /** Human-readable description of the line. */\n description: string;\n /** Amount in the smallest currency unit (cents / centesimi). */\n amountCents: number;\n /** Optional VAT percentage (e.g. `22` for 22%). */\n vatPercentage?: number;\n}\n\nexport interface PaymentCardRelations {\n /** Care-plan / treatment-plan number this payment belongs to. */\n carePlanNumber?: string;\n /** Patient display name — rendered, but never exposed to the agent. */\n patientName?: string;\n /** Operator display name — rendered, but never exposed to the agent. */\n operatorName?: string;\n}\n\nexport interface PaymentCardHandle {\n /** Stable payment number currently rendered. Identifier only — no PHI. */\n getNumber: () => string;\n /** Resolved headline financial state. Structural state only. */\n getState: () => TransactionStateValue;\n}\n\n/** The TransactionChip state this card resolves the payment to. */\ntype TransactionStateValue = 'debt' | 'to-invoice' | 'settled';\n\nexport interface PaymentCardProps extends Omit<\n ComponentPropsWithoutRef<'div'>,\n 'aria-label' | 'children'\n> {\n /** Agent-readiness consumer id, surfaced as `data-component-id`. */\n id?: string;\n /** Human-readable payment number / reference. Rendered as the heading. */\n number: string;\n /** ISO-8601 date string for the payment date. */\n dateIso?: string;\n /** Payment type — drives the type Badge + label. */\n type: PaymentType;\n /** Money flow direction — incoming (patient → practice) or outgoing. */\n direction: PaymentDirection;\n /** Gross total in the smallest currency unit (cents). */\n grossCents?: number;\n /** Amount already paid, in cents. */\n paidCents?: number;\n /** Amount still outstanding, in cents. */\n unpaidCents?: number;\n /** Marks the record as written-off — renders a neutral chip. */\n writtenOff?: boolean;\n /** Linked entities (care plan / patient / operator). */\n relations?: PaymentCardRelations;\n /** Itemised breakdown rendered as a DescriptionList. */\n lineItems?: PaymentLineItem[];\n /** BCP-47 locale override. Falls back to the active i18next language. */\n locale?: string;\n /** ISO-4217 currency code. Defaults to `EUR`. */\n currency?: string;\n\n /* ----- Styling ----- */\n\n /**\n * `'elevated'` (default) wraps in `<Card variant=\"elevated\">`. `'flat'`\n * drops the Card — use inside an existing card / sheet.\n */\n surface?: 'flat' | 'elevated';\n\n /* ----- a11y ----- */\n\n /** Override the default region aria-label. */\n 'aria-label'?: string;\n}\n\n/* -------------------------------------------------------------------- */\n/* Helpers */\n/* -------------------------------------------------------------------- */\n\n/** Format cents → currency string for the consumer's locale. */\nfunction formatMoney(cents: number, currency: string, locale: string): string {\n try {\n return new Intl.NumberFormat(locale, {\n style: 'currency',\n currency,\n }).format(cents / 100);\n } catch {\n return (cents / 100).toFixed(2);\n }\n}\n\n/** Format an ISO date for the consumer's locale, gracefully degrading. */\nfunction formatDate(iso: string, locale: string): string {\n const date = new Date(iso);\n if (Number.isNaN(date.getTime())) return iso;\n try {\n return new Intl.DateTimeFormat(locale, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n }).format(date);\n } catch {\n return iso;\n }\n}\n\n/**\n * Resolve the headline TransactionChip state from the paid / unpaid /\n * written-off inputs. Written-off → settled chip; an outstanding balance\n * → debt; a proforma with nothing paid → to-invoice; otherwise settled.\n */\nfunction resolveState(\n type: PaymentType,\n paidCents: number | undefined,\n unpaidCents: number | undefined,\n writtenOff: boolean | undefined,\n): TransactionStateValue {\n if (writtenOff) return 'settled';\n if (unpaidCents != null && unpaidCents > 0) return 'debt';\n if (type === 'proforma' && (paidCents == null || paidCents === 0)) {\n return 'to-invoice';\n }\n return 'settled';\n}\n\n/* -------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------- */\n\nexport const PaymentCard = forwardRef<HTMLDivElement, PaymentCardProps>(\n (\n {\n id,\n number,\n dateIso,\n type,\n direction,\n grossCents,\n paidCents,\n unpaidCents,\n writtenOff = false,\n relations,\n lineItems,\n locale,\n currency = DEFAULT_CURRENCY,\n surface = 'elevated',\n 'aria-label': ariaLabel,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const headingId = useId();\n const activeLocale = locale ?? i18n.language ?? 'en';\n\n const resolvedAriaLabel =\n ariaLabel ??\n t('paymentCard.regionLabel', {\n number,\n defaultValue: 'Payment {{number}}',\n });\n\n const state = resolveState(type, paidCents, unpaidCents, writtenOff);\n\n // The chip headline reflects the most informative figure: the\n // outstanding balance when there's a debt, otherwise the gross total.\n const chipAmountCents =\n state === 'debt' && unpaidCents != null\n ? unpaidCents\n : (grossCents ?? paidCents ?? unpaidCents ?? 0);\n\n useAgentRegistration(\n paymentCardAgent,\n {\n getNumber: () => number,\n getState: () => state,\n },\n id,\n );\n\n const typeLabel = t(`paymentCard.type.${type}`, {\n defaultValue: TYPE_DEFAULTS[type],\n });\n const directionIcon =\n direction === 'incoming' ? (\n <ArrowDownLeft aria-hidden=\"true\" />\n ) : (\n <ArrowUpRight aria-hidden=\"true\" />\n );\n const directionLabel = t(`paymentCard.direction.${direction}`, {\n defaultValue: DIRECTION_DEFAULTS[direction],\n });\n\n // Compose the metadata rows in display order. Omitting a field omits\n // the row — KeyValueList collapses the subgrid cleanly.\n const rows: Array<{\n key: string;\n icon: ReactNode;\n label: string;\n value: ReactNode;\n }> = [];\n\n rows.push({\n key: 'number',\n icon: <Hash aria-hidden=\"true\" />,\n label: t('paymentCard.label.number', 'Number'),\n value: number,\n });\n\n if (dateIso) {\n rows.push({\n key: 'date',\n icon: <CalendarDays aria-hidden=\"true\" />,\n label: t('paymentCard.label.date', 'Date'),\n value: formatDate(dateIso, activeLocale),\n });\n }\n\n rows.push({\n key: 'type',\n icon: <ReceiptEuro aria-hidden=\"true\" />,\n label: t('paymentCard.label.type', 'Type'),\n value: <Badge variant={PAYMENT_TYPE_BADGE[type]}>{typeLabel}</Badge>,\n });\n\n rows.push({\n key: 'direction',\n icon: directionIcon,\n label: t('paymentCard.label.direction', 'Direction'),\n value: directionLabel,\n });\n\n if (relations?.carePlanNumber) {\n rows.push({\n key: 'carePlan',\n icon: <FileText aria-hidden=\"true\" />,\n label: t('paymentCard.label.carePlan', 'Care plan'),\n value: relations.carePlanNumber,\n });\n }\n\n if (relations?.patientName) {\n rows.push({\n key: 'patient',\n icon: <User aria-hidden=\"true\" />,\n label: t('paymentCard.label.patient', 'Patient'),\n value: relations.patientName,\n });\n }\n\n if (relations?.operatorName) {\n rows.push({\n key: 'operator',\n icon: <UserCog aria-hidden=\"true\" />,\n label: t('paymentCard.label.operator', 'Operator'),\n value: relations.operatorName,\n });\n }\n\n const formattedGross = useMemo(\n () =>\n grossCents != null\n ? formatMoney(grossCents, currency, activeLocale)\n : undefined,\n [grossCents, currency, activeLocale],\n );\n const formattedPaid = useMemo(\n () =>\n paidCents != null\n ? formatMoney(paidCents, currency, activeLocale)\n : undefined,\n [paidCents, currency, activeLocale],\n );\n const formattedUnpaid = useMemo(\n () =>\n unpaidCents != null\n ? formatMoney(unpaidCents, currency, activeLocale)\n : undefined,\n [unpaidCents, currency, activeLocale],\n );\n\n const hasAmounts =\n formattedGross != null ||\n formattedPaid != null ||\n formattedUnpaid != null;\n\n const hasLineItems = !!lineItems && lineItems.length > 0;\n\n const inner = (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)]\">\n {/* Heading row — payment number + headline TransactionChip. */}\n <div className=\"ds:flex ds:items-start ds:gap-[var(--spacing-md)] ds:flex-wrap\">\n <h3\n id={headingId}\n className=\"type-title-card ds:m-0 ds:text-[color:var(--foreground)]\"\n >\n {t('paymentCard.heading', {\n number,\n defaultValue: 'Payment {{number}}',\n })}\n </h3>\n <span className=\"ds:ms-auto ds:shrink-0\">\n <TransactionChip\n state={state}\n amount={chipAmountCents / 100}\n currency={currency}\n locale={activeLocale}\n size=\"lg\"\n />\n </span>\n </div>\n\n {/* Metadata rows. */}\n <KeyValueList rowGap=\"sm\">\n {rows.map((row) => (\n <KeyValuePair\n key={row.key}\n icon={row.icon as React.ReactElement}\n label={row.label}\n value={row.value}\n />\n ))}\n </KeyValueList>\n\n {/* Amount summary — gross / paid / outstanding. */}\n {hasAmounts ? (\n <DescriptionList layout=\"inline\" density=\"compact\" labelWidth=\"fixed\">\n {formattedGross != null ? (\n <DescriptionList.Row>\n <DescriptionList.Term>\n {t('paymentCard.label.gross', 'Gross total')}\n </DescriptionList.Term>\n <DescriptionList.Detail numeric>\n {formattedGross}\n </DescriptionList.Detail>\n </DescriptionList.Row>\n ) : null}\n {formattedPaid != null ? (\n <DescriptionList.Row>\n <DescriptionList.Term>\n {t('paymentCard.label.paid', 'Paid')}\n </DescriptionList.Term>\n <DescriptionList.Detail numeric>\n {formattedPaid}\n </DescriptionList.Detail>\n </DescriptionList.Row>\n ) : null}\n {formattedUnpaid != null ? (\n <DescriptionList.Row>\n <DescriptionList.Term>\n {t('paymentCard.label.unpaid', 'Outstanding')}\n </DescriptionList.Term>\n <DescriptionList.Detail numeric>\n {formattedUnpaid}\n </DescriptionList.Detail>\n </DescriptionList.Row>\n ) : null}\n </DescriptionList>\n ) : null}\n\n {/* Line items. */}\n {hasLineItems ? (\n <section\n aria-label={t('paymentCard.lineItems.heading', 'Line items')}\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\"\n >\n <h4 className=\"type-eyebrow ds:m-0 ds:text-[color:var(--muted-foreground)]\">\n {t('paymentCard.lineItems.heading', 'Line items')}\n </h4>\n <DescriptionList\n layout=\"inline\"\n density=\"compact\"\n labelWidth=\"auto\"\n >\n {lineItems!.map((item, index) => (\n <DescriptionList.Row key={`${item.description}-${index}`}>\n <DescriptionList.Term>\n {item.vatPercentage != null\n ? t('paymentCard.lineItems.withVat', {\n description: item.description,\n vat: item.vatPercentage,\n defaultValue: '{{description}} (VAT {{vat}}%)',\n })\n : item.description}\n </DescriptionList.Term>\n <DescriptionList.Detail numeric>\n {formatMoney(item.amountCents, currency, activeLocale)}\n </DescriptionList.Detail>\n </DescriptionList.Row>\n ))}\n </DescriptionList>\n </section>\n ) : null}\n </div>\n );\n\n return (\n <div\n ref={ref}\n role=\"region\"\n aria-label={resolvedAriaLabel}\n aria-labelledby={headingId}\n data-component=\"payment-card\"\n data-component-id={id}\n data-state={state}\n data-type={type}\n data-direction={direction}\n id={id}\n className={rootVariants({ surface, className })}\n {...rest}\n >\n {surface === 'elevated' ? (\n <Card variant=\"elevated\">\n <Card.Body>{inner}</Card.Body>\n </Card>\n ) : (\n <div className={entitySurfaceVariants({ surface: 'flat' })}>\n {inner}\n </div>\n )}\n </div>\n );\n },\n);\n\nPaymentCard.displayName = 'PaymentCard';\n\nexport type PaymentCardSurface = NonNullable<\n VariantProps<typeof rootVariants>['surface']\n>;\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — PaymentRequestCard. */\n/* */\n/* Read-only payment-request surface. Exposes the lifecycle status */\n/* (structural state) only — never any patient identity or the hosted */\n/* payment URL. No actions: navigation to the pay link is a user-driven */\n/* affordance, not an agent operation. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { PaymentRequestCardHandle } from './payment-request-card';\n\nexport const paymentRequestCardAgent: AgentAdapter<PaymentRequestCardHandle> = {\n id: 'payment-request-card',\n capabilities: [],\n state: {\n status: {\n type: \"'new' | 'authorization_requested' | 'authorized' | 'paid' | 'failed' | 'cancelled'\",\n descriptionKey: 'ui.agent.paymentRequestCard.state.status',\n description:\n 'Current lifecycle status of the payment request. Structural state only.',\n read: (handle) => handle.getStatus(),\n },\n },\n actions: {},\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'payment-request-card',\n description: 'Marks the PaymentRequestCard root region.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description:\n 'Sourced from the id prop. Addresses a specific request card.',\n },\n },\n};\n","import {\n forwardRef,\n useId,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { CalendarClock, CreditCard, FileText } from 'lucide-react';\nimport { Badge } from '../badge/badge';\nimport { Card } from '../card/card';\nimport { KeyValueList, KeyValuePair } from '../key-value-pair/key-value-pair';\nimport { Link } from '../link/link';\nimport { TransactionChip } from '../transaction-chip/transaction-chip';\nimport { entitySurfaceVariants, isSafeEntityUrl } from '../_shared/entity-card';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { paymentRequestCardAgent } from './payment-request-card.agent';\n\n/* -------------------------------------------------------------------- */\n/* PaymentRequestCard */\n/* */\n/* Companion to PaymentCard: a card for an *outstanding* payment request */\n/* (a Stripe / online-payment ask) rather than a recorded payment. Shows */\n/* the amount as a TransactionChip, the lifecycle status as a Badge, and */\n/* — when a safe `paymentUrl` is supplied — a \"Pay now\" Link. */\n/* */\n/* Every visible string flows through `useTranslation('ui')` against the */\n/* `paymentRequestCard.*` namespace. The agent state exposes the request */\n/* status (structural state) and never any patient identity. */\n/* -------------------------------------------------------------------- */\n\n/* -------------------------------------------------------------------- */\n/* Vocabulary */\n/* -------------------------------------------------------------------- */\n\nexport type PaymentRequestStatus =\n | 'new'\n | 'authorization_requested'\n | 'authorized'\n | 'paid'\n | 'failed'\n | 'cancelled';\n\ntype BadgeVariant = NonNullable<\n ComponentPropsWithoutRef<typeof Badge>['variant']\n>;\n\nconst STATUS_BADGE = {\n new: 'info',\n authorization_requested: 'warning',\n authorized: 'info',\n paid: 'success',\n failed: 'error',\n cancelled: 'neutral',\n} as const satisfies Record<PaymentRequestStatus, BadgeVariant>;\n\nconst DEFAULT_CURRENCY = 'EUR';\n\n// Inline English fallbacks — belt-and-braces only. The canonical keys\n// live in the locale bundle (`ui.paymentRequestCard.*`); these guard\n// against a stale / not-yet-wired bundle so the card never shows a key.\nconst STATUS_DEFAULTS: Record<PaymentRequestStatus, string> = {\n new: 'New',\n authorization_requested: 'Authorization requested',\n authorized: 'Authorized',\n paid: 'Paid',\n failed: 'Failed',\n cancelled: 'Cancelled',\n};\n\n/* -------------------------------------------------------------------- */\n/* CVA — root */\n/* -------------------------------------------------------------------- */\n\nconst rootVariants = cva('ds:w-full ds:text-[color:var(--foreground)]', {\n variants: {\n surface: {\n flat: '',\n elevated: '',\n },\n },\n defaultVariants: { surface: 'elevated' },\n});\n\n/* -------------------------------------------------------------------- */\n/* Public types */\n/* -------------------------------------------------------------------- */\n\nexport interface PaymentRequestCardHandle {\n /** Current lifecycle status. Structural state only — no PHI. */\n getStatus: () => PaymentRequestStatus;\n}\n\nexport interface PaymentRequestCardProps extends Omit<\n ComponentPropsWithoutRef<'div'>,\n 'aria-label' | 'children' | 'title'\n> {\n /** Agent-readiness consumer id, surfaced as `data-component-id`. */\n id?: string;\n /** Heading for the request. Falls back to a localised default. */\n title?: string;\n /** Optional supporting copy rendered beneath the heading. */\n description?: string;\n /** Requested amount in the smallest currency unit (cents). */\n amountCents: number;\n /** ISO-8601 due date. */\n dueDateIso?: string;\n /** Lifecycle status — drives the status Badge and pay-link gating. */\n status: PaymentRequestStatus;\n /** Hosted payment URL. Only rendered when it passes the URL allow-list. */\n paymentUrl?: string;\n /** Care-plan / treatment-plan number this request relates to. */\n carePlanNumber?: string;\n /** BCP-47 locale override. Falls back to the active i18next language. */\n locale?: string;\n /** ISO-4217 currency code. Defaults to `EUR`. */\n currency?: string;\n\n /* ----- Styling ----- */\n\n /**\n * `'elevated'` (default) wraps in `<Card variant=\"elevated\">`. `'flat'`\n * drops the Card — use inside an existing card / sheet.\n */\n surface?: 'flat' | 'elevated';\n\n /* ----- a11y ----- */\n\n /** Override the default region aria-label. */\n 'aria-label'?: string;\n}\n\n/* -------------------------------------------------------------------- */\n/* Helpers */\n/* -------------------------------------------------------------------- */\n\nfunction formatDate(iso: string, locale: string): string {\n const date = new Date(iso);\n if (Number.isNaN(date.getTime())) return iso;\n try {\n return new Intl.DateTimeFormat(locale, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n }).format(date);\n } catch {\n return iso;\n }\n}\n\n/* -------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------- */\n\nexport const PaymentRequestCard = forwardRef<\n HTMLDivElement,\n PaymentRequestCardProps\n>(\n (\n {\n id,\n title,\n description,\n amountCents,\n dueDateIso,\n status,\n paymentUrl,\n carePlanNumber,\n locale,\n currency = DEFAULT_CURRENCY,\n surface = 'elevated',\n 'aria-label': ariaLabel,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const headingId = useId();\n const activeLocale = locale ?? i18n.language ?? 'en';\n\n const resolvedTitle =\n title ?? t('paymentRequestCard.heading', 'Payment request');\n const resolvedAriaLabel = ariaLabel ?? resolvedTitle;\n\n useAgentRegistration(\n paymentRequestCardAgent,\n { getStatus: () => status },\n id,\n );\n\n const statusLabel = t(`paymentRequestCard.status.${status}`, {\n defaultValue: STATUS_DEFAULTS[status],\n });\n\n // A paid request settles; an open one is \"to-invoice\" (awaiting money);\n // anything terminal-but-unpaid renders as a debt.\n const chipState: 'to-invoice' | 'settled' | 'debt' =\n status === 'paid'\n ? 'settled'\n : status === 'failed' || status === 'cancelled'\n ? 'debt'\n : 'to-invoice';\n\n // The pay link only renders when the request is still actionable AND\n // the URL passes the shared card-family allow-list (no javascript:,\n // data:, protocol-relative). Otherwise the affordance is suppressed.\n const isActionable =\n status === 'new' ||\n status === 'authorization_requested' ||\n status === 'authorized';\n const showPayLink =\n isActionable && !!paymentUrl && isSafeEntityUrl(paymentUrl);\n\n const rows: Array<{\n key: string;\n icon: ReactNode;\n label: string;\n value: ReactNode;\n }> = [];\n\n rows.push({\n key: 'status',\n icon: <CreditCard aria-hidden=\"true\" />,\n label: t('paymentRequestCard.label.status', 'Status'),\n value: <Badge variant={STATUS_BADGE[status]}>{statusLabel}</Badge>,\n });\n\n if (dueDateIso) {\n rows.push({\n key: 'dueDate',\n icon: <CalendarClock aria-hidden=\"true\" />,\n label: t('paymentRequestCard.label.dueDate', 'Due date'),\n value: formatDate(dueDateIso, activeLocale),\n });\n }\n\n if (carePlanNumber) {\n rows.push({\n key: 'carePlan',\n icon: <FileText aria-hidden=\"true\" />,\n label: t('paymentRequestCard.label.carePlan', 'Care plan'),\n value: carePlanNumber,\n });\n }\n\n const inner = (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)]\">\n {/* Heading row — title + amount TransactionChip. */}\n <div className=\"ds:flex ds:items-start ds:gap-[var(--spacing-md)] ds:flex-wrap\">\n <div className=\"ds:flex ds:min-w-0 ds:flex-col ds:gap-[var(--spacing-2xs)]\">\n <h3\n id={headingId}\n className=\"type-title-card ds:m-0 ds:text-[color:var(--foreground)]\"\n >\n {resolvedTitle}\n </h3>\n {description ? (\n <p className=\"type-body-sm ds:m-0 ds:text-[color:var(--muted-foreground)]\">\n {description}\n </p>\n ) : null}\n </div>\n <span className=\"ds:ms-auto ds:shrink-0\">\n <TransactionChip\n state={chipState}\n amount={amountCents / 100}\n currency={currency}\n locale={activeLocale}\n size=\"lg\"\n />\n </span>\n </div>\n\n {/* Metadata rows. */}\n <KeyValueList rowGap=\"sm\">\n {rows.map((row) => (\n <KeyValuePair\n key={row.key}\n icon={row.icon as React.ReactElement}\n label={row.label}\n value={row.value}\n />\n ))}\n </KeyValueList>\n\n {/* Pay affordance — only when actionable + the URL is safe. */}\n {showPayLink ? (\n <div className=\"ds:flex\">\n <Link href={paymentUrl!} external startIcon={<CreditCard />}>\n {t('paymentRequestCard.pay', 'Pay now')}\n </Link>\n </div>\n ) : null}\n </div>\n );\n\n return (\n <div\n ref={ref}\n role=\"region\"\n aria-label={resolvedAriaLabel}\n aria-labelledby={headingId}\n data-component=\"payment-request-card\"\n data-component-id={id}\n data-status={status}\n id={id}\n className={rootVariants({ surface, className })}\n {...rest}\n >\n {surface === 'elevated' ? (\n <Card variant=\"elevated\">\n <Card.Body>{inner}</Card.Body>\n </Card>\n ) : (\n <div className={entitySurfaceVariants({ surface: 'flat' })}>\n {inner}\n </div>\n )}\n </div>\n );\n },\n);\n\nPaymentRequestCard.displayName = 'PaymentRequestCard';\n\nexport type PaymentRequestCardSurface = NonNullable<\n VariantProps<typeof rootVariants>['surface']\n>;\n"],"names":["__iconNode","CreditCard","createLucideIcon","ReceiptEuro","paymentCardAgent","handle","PAYMENT_TYPE_BADGE","DEFAULT_CURRENCY","TYPE_DEFAULTS","DIRECTION_DEFAULTS","rootVariants","cva","formatMoney","cents","currency","locale","formatDate","iso","date","resolveState","type","paidCents","unpaidCents","writtenOff","PaymentCard","forwardRef","id","number","dateIso","direction","grossCents","relations","lineItems","surface","ariaLabel","className","rest","ref","i18n","useTranslation","headingId","useId","activeLocale","resolvedAriaLabel","state","chipAmountCents","useAgentRegistration","typeLabel","directionIcon","jsx","ArrowDownLeft","ArrowUpRight","directionLabel","rows","Hash","CalendarDays","Badge","FileText","User","UserCog","formattedGross","useMemo","formattedPaid","formattedUnpaid","hasAmounts","hasLineItems","inner","jsxs","TransactionChip","KeyValueList","row","KeyValuePair","DescriptionList","item","index","Card","entitySurfaceVariants","paymentRequestCardAgent","STATUS_BADGE","STATUS_DEFAULTS","PaymentRequestCard","title","description","amountCents","dueDateIso","status","paymentUrl","carePlanNumber","t","resolvedTitle","statusLabel","chipState","showPayLink","isSafeEntityUrl","CalendarClock","Link"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,OAAO,MAAM,QAAQ,MAAM,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,KAAK,SAAQ,CAAE;AAAA,EAC9E,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,SAAQ,CAAE;AACnE,GACMC,IAAaC,EAAiB,eAAeF,EAAU;ACb7D;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,KAAa;AAAA,EACjB;AAAA,IACE;AAAA,IACA,EAAE,GAAG,wEAAwE,KAAK,SAAQ;AAAA,EAC9F;AAAA,EACE;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IACX;AAAA,EACA;AAAA,EACE,CAAC,QAAQ,EAAE,GAAG,WAAW,KAAK,SAAQ,CAAE;AAC1C,GACMG,KAAcD,EAAiB,gBAAgBF,EAAU,GCXlDI,KAAoD;AAAA,EAC/D,IAAI;AAAA,EACJ,cAAc,CAAA;AAAA,EACd,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,MAAM,CAACC,MAAWA,EAAO,UAAA;AAAA,IAAU;AAAA,IAErC,OAAO;AAAA,MACL,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,aACE;AAAA,MACF,MAAM,CAACA,MAAWA,EAAO,SAAA;AAAA,IAAS;AAAA,EACpC;AAAA,EAEF,SAAS,CAAA;AAAA,EACT,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IAAA;AAAA,IAEf,YAAY;AAAA,MACV,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,aAAa;AAAA,IAAA;AAAA,EACf;AAEJ,GCcMC,KAAqB;AAAA,EACzB,MAAM;AAAA,EACN,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AACT,GAEMC,KAAmB,OAKnBC,KAA6C;AAAA,EACjD,MAAM;AAAA,EACN,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AACT,GAEMC,KAAuD;AAAA,EAC3D,UAAU;AAAA,EACV,UAAU;AACZ,GAMMC,KAAeC,EAAI,+CAA+C;AAAA,EACtE,UAAU;AAAA,IACR,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,iBAAiB,EAAE,SAAS,WAAA;AAC9B,CAAC;AAoFD,SAASC,EAAYC,GAAeC,GAAkBC,GAAwB;AAC5E,MAAI;AACF,WAAO,IAAI,KAAK,aAAaA,GAAQ;AAAA,MACnC,OAAO;AAAA,MACP,UAAAD;AAAA,IAAA,CACD,EAAE,OAAOD,IAAQ,GAAG;AAAA,EACvB,QAAQ;AACN,YAAQA,IAAQ,KAAK,QAAQ,CAAC;AAAA,EAChC;AACF;AAGA,SAASG,GAAWC,GAAaF,GAAwB;AACvD,QAAMG,IAAO,IAAI,KAAKD,CAAG;AACzB,MAAI,OAAO,MAAMC,EAAK,QAAA,CAAS,EAAG,QAAOD;AACzC,MAAI;AACF,WAAO,IAAI,KAAK,eAAeF,GAAQ;AAAA,MACrC,MAAM;AAAA,MACN,OAAO;AAAA,MACP,KAAK;AAAA,IAAA,CACN,EAAE,OAAOG,CAAI;AAAA,EAChB,QAAQ;AACN,WAAOD;AAAA,EACT;AACF;AAOA,SAASE,GACPC,GACAC,GACAC,GACAC,GACuB;AACvB,SAAIA,IAAmB,YACnBD,KAAe,QAAQA,IAAc,IAAU,SAC/CF,MAAS,eAAeC,KAAa,QAAQA,MAAc,KACtD,eAEF;AACT;AAMO,MAAMG,KAAcC;AAAA,EACzB,CACE;AAAA,IACE,IAAAC;AAAA,IACA,QAAAC;AAAA,IACA,SAAAC;AAAA,IACA,MAAAR;AAAA,IACA,WAAAS;AAAA,IACA,YAAAC;AAAA,IACA,WAAAT;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC,IAAa;AAAA,IACb,WAAAQ;AAAA,IACA,WAAAC;AAAA,IACA,QAAAjB;AAAA,IACA,UAAAD,IAAWP;AAAAA,IACX,SAAA0B,IAAU;AAAA,IACV,cAAcC;AAAA,IACd,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAM,EAAE,GAAG,MAAAC,EAAA,IAASC,EAAA,GACdC,IAAYC,EAAA,GACZC,IAAe3B,KAAUuB,EAAK,YAAY,MAE1CK,IACJT,KACA,EAAE,2BAA2B;AAAA,MAC3B,QAAAP;AAAA,MACA,cAAc;AAAA,IAAA,CACf,GAEGiB,IAAQzB,GAAaC,GAAMC,GAAWC,GAAaC,CAAU,GAI7DsB,IACJD,MAAU,UAAUtB,KAAe,OAC/BA,IACCQ,KAAcT,KAAaC,KAAe;AAEjD,IAAAwB;AAAA,MACE1C;AAAA,MACA;AAAA,QACE,WAAW,MAAMuB;AAAA,QACjB,UAAU,MAAMiB;AAAA,MAAA;AAAA,MAElBlB;AAAA,IAAA;AAGF,UAAMqB,IAAY,EAAE,oBAAoB3B,CAAI,IAAI;AAAA,MAC9C,cAAcZ,GAAcY,CAAI;AAAA,IAAA,CACjC,GACK4B,IACJnB,MAAc,aACZ,gBAAAoB,EAACC,IAAA,EAAc,eAAY,OAAA,CAAO,IAElC,gBAAAD,EAACE,IAAA,EAAa,eAAY,OAAA,CAAO,GAE/BC,IAAiB,EAAE,yBAAyBvB,CAAS,IAAI;AAAA,MAC7D,cAAcpB,GAAmBoB,CAAS;AAAA,IAAA,CAC3C,GAIKwB,IAKD,CAAA;AAEL,IAAAA,EAAK,KAAK;AAAA,MACR,KAAK;AAAA,MACL,MAAM,gBAAAJ,EAACK,IAAA,EAAK,eAAY,OAAA,CAAO;AAAA,MAC/B,OAAO,EAAE,4BAA4B,QAAQ;AAAA,MAC7C,OAAO3B;AAAA,IAAA,CACR,GAEGC,KACFyB,EAAK,KAAK;AAAA,MACR,KAAK;AAAA,MACL,MAAM,gBAAAJ,EAACM,IAAA,EAAa,eAAY,OAAA,CAAO;AAAA,MACvC,OAAO,EAAE,0BAA0B,MAAM;AAAA,MACzC,OAAOvC,GAAWY,GAASc,CAAY;AAAA,IAAA,CACxC,GAGHW,EAAK,KAAK;AAAA,MACR,KAAK;AAAA,MACL,MAAM,gBAAAJ,EAAC9C,IAAA,EAAY,eAAY,OAAA,CAAO;AAAA,MACtC,OAAO,EAAE,0BAA0B,MAAM;AAAA,MACzC,OAAO,gBAAA8C,EAACO,GAAA,EAAM,SAASlD,GAAmBc,CAAI,GAAI,UAAA2B,EAAA,CAAU;AAAA,IAAA,CAC7D,GAEDM,EAAK,KAAK;AAAA,MACR,KAAK;AAAA,MACL,MAAML;AAAA,MACN,OAAO,EAAE,+BAA+B,WAAW;AAAA,MACnD,OAAOI;AAAA,IAAA,CACR,GAEGrB,KAAA,QAAAA,EAAW,kBACbsB,EAAK,KAAK;AAAA,MACR,KAAK;AAAA,MACL,MAAM,gBAAAJ,EAACQ,GAAA,EAAS,eAAY,OAAA,CAAO;AAAA,MACnC,OAAO,EAAE,8BAA8B,WAAW;AAAA,MAClD,OAAO1B,EAAU;AAAA,IAAA,CAClB,GAGCA,KAAA,QAAAA,EAAW,eACbsB,EAAK,KAAK;AAAA,MACR,KAAK;AAAA,MACL,MAAM,gBAAAJ,EAACS,IAAA,EAAK,eAAY,OAAA,CAAO;AAAA,MAC/B,OAAO,EAAE,6BAA6B,SAAS;AAAA,MAC/C,OAAO3B,EAAU;AAAA,IAAA,CAClB,GAGCA,KAAA,QAAAA,EAAW,gBACbsB,EAAK,KAAK;AAAA,MACR,KAAK;AAAA,MACL,MAAM,gBAAAJ,EAACU,IAAA,EAAQ,eAAY,OAAA,CAAO;AAAA,MAClC,OAAO,EAAE,8BAA8B,UAAU;AAAA,MACjD,OAAO5B,EAAU;AAAA,IAAA,CAClB;AAGH,UAAM6B,IAAiBC;AAAA,MACrB,MACE/B,KAAc,OACVlB,EAAYkB,GAAYhB,GAAU4B,CAAY,IAC9C;AAAA,MACN,CAACZ,GAAYhB,GAAU4B,CAAY;AAAA,IAAA,GAE/BoB,IAAgBD;AAAA,MACpB,MACExC,KAAa,OACTT,EAAYS,GAAWP,GAAU4B,CAAY,IAC7C;AAAA,MACN,CAACrB,GAAWP,GAAU4B,CAAY;AAAA,IAAA,GAE9BqB,IAAkBF;AAAA,MACtB,MACEvC,KAAe,OACXV,EAAYU,GAAaR,GAAU4B,CAAY,IAC/C;AAAA,MACN,CAACpB,GAAaR,GAAU4B,CAAY;AAAA,IAAA,GAGhCsB,IACJJ,KAAkB,QAClBE,KAAiB,QACjBC,KAAmB,MAEfE,KAAe,CAAC,CAACjC,KAAaA,EAAU,SAAS,GAEjDkC,IACJ,gBAAAC,EAAC,OAAA,EAAI,WAAU,kDAEb,UAAA;AAAA,MAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,kEACb,UAAA;AAAA,QAAA,gBAAAlB;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAIT;AAAA,YACJ,WAAU;AAAA,YAET,YAAE,uBAAuB;AAAA,cACxB,QAAAb;AAAA,cACA,cAAc;AAAA,YAAA,CACf;AAAA,UAAA;AAAA,QAAA;AAAA,QAEH,gBAAAsB,EAAC,QAAA,EAAK,WAAU,0BACd,UAAA,gBAAAA;AAAA,UAACmB;AAAA,UAAA;AAAA,YACC,OAAAxB;AAAA,YACA,QAAQC,IAAkB;AAAA,YAC1B,UAAA/B;AAAA,YACA,QAAQ4B;AAAA,YACR,MAAK;AAAA,UAAA;AAAA,QAAA,EACP,CACF;AAAA,MAAA,GACF;AAAA,wBAGC2B,GAAA,EAAa,QAAO,MAClB,UAAAhB,EAAK,IAAI,CAACiB,MACT,gBAAArB;AAAA,QAACsB;AAAA,QAAA;AAAA,UAEC,MAAMD,EAAI;AAAA,UACV,OAAOA,EAAI;AAAA,UACX,OAAOA,EAAI;AAAA,QAAA;AAAA,QAHNA,EAAI;AAAA,MAAA,CAKZ,GACH;AAAA,MAGCN,sBACEQ,GAAA,EAAgB,QAAO,UAAS,SAAQ,WAAU,YAAW,SAC3D,UAAA;AAAA,QAAAZ,KAAkB,OACjB,gBAAAO,EAACK,EAAgB,KAAhB,EACC,UAAA;AAAA,UAAA,gBAAAvB,EAACuB,EAAgB,MAAhB,EACE,UAAA,EAAE,2BAA2B,aAAa,GAC7C;AAAA,4BACCA,EAAgB,QAAhB,EAAuB,SAAO,IAC5B,UAAAZ,EAAA,CACH;AAAA,QAAA,EAAA,CACF,IACE;AAAA,QACHE,KAAiB,OAChB,gBAAAK,EAACK,EAAgB,KAAhB,EACC,UAAA;AAAA,UAAA,gBAAAvB,EAACuB,EAAgB,MAAhB,EACE,UAAA,EAAE,0BAA0B,MAAM,GACrC;AAAA,4BACCA,EAAgB,QAAhB,EAAuB,SAAO,IAC5B,UAAAV,EAAA,CACH;AAAA,QAAA,EAAA,CACF,IACE;AAAA,QACHC,KAAmB,OAClB,gBAAAI,EAACK,EAAgB,KAAhB,EACC,UAAA;AAAA,UAAA,gBAAAvB,EAACuB,EAAgB,MAAhB,EACE,UAAA,EAAE,4BAA4B,aAAa,GAC9C;AAAA,4BACCA,EAAgB,QAAhB,EAAuB,SAAO,IAC5B,UAAAT,EAAA,CACH;AAAA,QAAA,EAAA,CACF,IACE;AAAA,MAAA,EAAA,CACN,IACE;AAAA,MAGHE,KACC,gBAAAE;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,cAAY,EAAE,iCAAiC,YAAY;AAAA,UAC3D,WAAU;AAAA,UAEV,UAAA;AAAA,YAAA,gBAAAlB,EAAC,QAAG,WAAU,+DACX,UAAA,EAAE,iCAAiC,YAAY,GAClD;AAAA,YACA,gBAAAA;AAAA,cAACuB;AAAA,cAAA;AAAA,gBACC,QAAO;AAAA,gBACP,SAAQ;AAAA,gBACR,YAAW;AAAA,gBAEV,UAAAxC,EAAW,IAAI,CAACyC,GAAMC,OACrB,gBAAAP,EAACK,EAAgB,KAAhB,EACC,UAAA;AAAA,kBAAA,gBAAAvB,EAACuB,EAAgB,MAAhB,EACE,YAAK,iBAAiB,OACnB,EAAE,iCAAiC;AAAA,oBACjC,aAAaC,EAAK;AAAA,oBAClB,KAAKA,EAAK;AAAA,oBACV,cAAc;AAAA,kBAAA,CACf,IACDA,EAAK,aACX;AAAA,kBACA,gBAAAxB,EAACuB,EAAgB,QAAhB,EAAuB,SAAO,IAC5B,UAAA5D,EAAY6D,EAAK,aAAa3D,GAAU4B,CAAY,EAAA,CACvD;AAAA,gBAAA,EAAA,GAZwB,GAAG+B,EAAK,WAAW,IAAIC,EAAK,EAatD,CACD;AAAA,cAAA;AAAA,YAAA;AAAA,UACH;AAAA,QAAA;AAAA,MAAA,IAEA;AAAA,IAAA,GACN;AAGF,WACE,gBAAAzB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAZ;AAAA,QACA,MAAK;AAAA,QACL,cAAYM;AAAA,QACZ,mBAAiBH;AAAA,QACjB,kBAAe;AAAA,QACf,qBAAmBd;AAAA,QACnB,cAAYkB;AAAA,QACZ,aAAWxB;AAAA,QACX,kBAAgBS;AAAA,QAChB,IAAAH;AAAA,QACA,WAAWhB,GAAa,EAAE,SAAAuB,GAAS,WAAAE,GAAW;AAAA,QAC7C,GAAGC;AAAA,QAEH,UAAAH,MAAY,aACX,gBAAAgB,EAAC0B,GAAA,EAAK,SAAQ,YACZ,UAAA,gBAAA1B,EAAC0B,EAAK,MAAL,EAAW,UAAAT,EAAA,CAAM,GACpB,IAEA,gBAAAjB,EAAC,SAAI,WAAW2B,EAAsB,EAAE,SAAS,OAAA,CAAQ,GACtD,UAAAV,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AAEA1C,GAAY,cAAc;ACjgBnB,MAAMqD,KAAkE;AAAA,EAC7E,IAAI;AAAA,EACJ,cAAc,CAAA;AAAA,EACd,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,aACE;AAAA,MACF,MAAM,CAACxE,MAAWA,EAAO,UAAA;AAAA,IAAU;AAAA,EACrC;AAAA,EAEF,SAAS,CAAA;AAAA,EACT,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IAAA;AAAA,IAEf,YAAY;AAAA,MACV,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,aACE;AAAA,IAAA;AAAA,EACJ;AAEJ,GCSMyE,KAAe;AAAA,EACnB,KAAK;AAAA,EACL,yBAAyB;AAAA,EACzB,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,WAAW;AACb,GAEMvE,KAAmB,OAKnBwE,KAAwD;AAAA,EAC5D,KAAK;AAAA,EACL,yBAAyB;AAAA,EACzB,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,WAAW;AACb,GAMMrE,KAAeC,EAAI,+CAA+C;AAAA,EACtE,UAAU;AAAA,IACR,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,iBAAiB,EAAE,SAAS,WAAA;AAC9B,CAAC;AAsDD,SAASK,GAAWC,GAAaF,GAAwB;AACvD,QAAMG,IAAO,IAAI,KAAKD,CAAG;AACzB,MAAI,OAAO,MAAMC,EAAK,QAAA,CAAS,EAAG,QAAOD;AACzC,MAAI;AACF,WAAO,IAAI,KAAK,eAAeF,GAAQ;AAAA,MACrC,MAAM;AAAA,MACN,OAAO;AAAA,MACP,KAAK;AAAA,IAAA,CACN,EAAE,OAAOG,CAAI;AAAA,EAChB,QAAQ;AACN,WAAOD;AAAA,EACT;AACF;AAMO,MAAM+D,KAAqBvD;AAAA,EAIhC,CACE;AAAA,IACE,IAAAC;AAAA,IACA,OAAAuD;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,QAAAxE;AAAA,IACA,UAAAD,IAAWP;AAAA,IACX,SAAA0B,IAAU;AAAA,IACV,cAAcC;AAAA,IACd,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAM,EAAE,GAAAmD,GAAG,MAAAlD,EAAA,IAASC,EAAA,GACdC,IAAYC,EAAA,GACZC,IAAe3B,KAAUuB,EAAK,YAAY,MAE1CmD,IACJR,KAASO,EAAE,8BAA8B,iBAAiB,GACtD7C,IAAoBT,KAAauD;AAEvC,IAAA3C;AAAA,MACE+B;AAAA,MACA,EAAE,WAAW,MAAMQ,EAAA;AAAA,MACnB3D;AAAA,IAAA;AAGF,UAAMgE,IAAcF,EAAE,6BAA6BH,CAAM,IAAI;AAAA,MAC3D,cAAcN,GAAgBM,CAAM;AAAA,IAAA,CACrC,GAIKM,IACJN,MAAW,SACP,YACAA,MAAW,YAAYA,MAAW,cAChC,SACA,cASFO,KAHJP,MAAW,SACXA,MAAW,6BACXA,MAAW,iBAEK,CAAC,CAACC,KAAcO,GAAgBP,CAAU,GAEtDjC,IAKD,CAAA;AAEL,IAAAA,EAAK,KAAK;AAAA,MACR,KAAK;AAAA,MACL,MAAM,gBAAAJ,EAAChD,GAAA,EAAW,eAAY,OAAA,CAAO;AAAA,MACrC,OAAOuF,EAAE,mCAAmC,QAAQ;AAAA,MACpD,OAAO,gBAAAvC,EAACO,GAAA,EAAM,SAASsB,GAAaO,CAAM,GAAI,UAAAK,EAAA,CAAY;AAAA,IAAA,CAC3D,GAEGN,KACF/B,EAAK,KAAK;AAAA,MACR,KAAK;AAAA,MACL,MAAM,gBAAAJ,EAAC6C,IAAA,EAAc,eAAY,OAAA,CAAO;AAAA,MACxC,OAAON,EAAE,oCAAoC,UAAU;AAAA,MACvD,OAAOxE,GAAWoE,GAAY1C,CAAY;AAAA,IAAA,CAC3C,GAGC6C,KACFlC,EAAK,KAAK;AAAA,MACR,KAAK;AAAA,MACL,MAAM,gBAAAJ,EAACQ,GAAA,EAAS,eAAY,OAAA,CAAO;AAAA,MACnC,OAAO+B,EAAE,qCAAqC,WAAW;AAAA,MACzD,OAAOD;AAAA,IAAA,CACR;AAGH,UAAMrB,IACJ,gBAAAC,EAAC,OAAA,EAAI,WAAU,kDAEb,UAAA;AAAA,MAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,kEACb,UAAA;AAAA,QAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,8DACb,UAAA;AAAA,UAAA,gBAAAlB;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAIT;AAAA,cACJ,WAAU;AAAA,cAET,UAAAiD;AAAA,YAAA;AAAA,UAAA;AAAA,UAEFP,IACC,gBAAAjC,EAAC,KAAA,EAAE,WAAU,+DACV,aACH,IACE;AAAA,QAAA,GACN;AAAA,QACA,gBAAAA,EAAC,QAAA,EAAK,WAAU,0BACd,UAAA,gBAAAA;AAAA,UAACmB;AAAA,UAAA;AAAA,YACC,OAAOuB;AAAA,YACP,QAAQR,IAAc;AAAA,YACtB,UAAArE;AAAA,YACA,QAAQ4B;AAAA,YACR,MAAK;AAAA,UAAA;AAAA,QAAA,EACP,CACF;AAAA,MAAA,GACF;AAAA,wBAGC2B,GAAA,EAAa,QAAO,MAClB,UAAAhB,EAAK,IAAI,CAACiB,MACT,gBAAArB;AAAA,QAACsB;AAAA,QAAA;AAAA,UAEC,MAAMD,EAAI;AAAA,UACV,OAAOA,EAAI;AAAA,UACX,OAAOA,EAAI;AAAA,QAAA;AAAA,QAHNA,EAAI;AAAA,MAAA,CAKZ,GACH;AAAA,MAGCsB,sBACE,OAAA,EAAI,WAAU,WACb,UAAA,gBAAA3C,EAAC8C,IAAA,EAAK,MAAMT,GAAa,UAAQ,IAAC,WAAW,gBAAArC,EAAChD,KAAW,GACtD,UAAAuF,EAAE,0BAA0B,SAAS,EAAA,CACxC,GACF,IACE;AAAA,IAAA,GACN;AAGF,WACE,gBAAAvC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAZ;AAAA,QACA,MAAK;AAAA,QACL,cAAYM;AAAA,QACZ,mBAAiBH;AAAA,QACjB,kBAAe;AAAA,QACf,qBAAmBd;AAAA,QACnB,eAAa2D;AAAA,QACb,IAAA3D;AAAA,QACA,WAAWhB,GAAa,EAAE,SAAAuB,GAAS,WAAAE,GAAW;AAAA,QAC7C,GAAGC;AAAA,QAEH,UAAAH,MAAY,aACX,gBAAAgB,EAAC0B,GAAA,EAAK,SAAQ,YACZ,UAAA,gBAAA1B,EAAC0B,EAAK,MAAL,EAAW,UAAAT,EAAA,CAAM,GACpB,IAEA,gBAAAjB,EAAC,SAAI,WAAW2B,EAAsB,EAAE,SAAS,OAAA,CAAQ,GACtD,UAAAV,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AAEAc,GAAmB,cAAc;","x_google_ignoreList":[0,1]}
@@ -6,7 +6,7 @@ import { useTranslation as me } from "react-i18next";
6
6
  import * as re from "@radix-ui/react-popover";
7
7
  import De from "pdfjs-dist/legacy/build/pdf.worker.min.mjs?url";
8
8
  import { S as _e } from "./spinner-hbwuKwMf.js";
9
- import { A as ke } from "./alert-KJbsPYkI.js";
9
+ import { A as ke } from "./alert-Cxaqd-QO.js";
10
10
  import { u as qe } from "./registry-DvAUVLHh.js";
11
11
  import { X as Be } from "./x-B5YnXwCz.js";
12
12
  import { C as He } from "./chevron-left-B8cOyH-V.js";
@@ -1002,4 +1002,4 @@ export {
1002
1002
  nt as P,
1003
1003
  $e as p
1004
1004
  };
1005
- //# sourceMappingURL=pdf-viewer-DF3VMaPo.js.map
1005
+ //# sourceMappingURL=pdf-viewer-CcOuR2wj.js.map