@alfadocs/ui-kit 0.37.0 → 0.38.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 (196) hide show
  1. package/dist/_chunks/Alfadocs_Logo_Mark-7o3L3WBI.js +56 -0
  2. package/dist/_chunks/{alia-sidebar-BEoMl6UL.js → alia-sidebar-DXsYPinm.js} +2 -2
  3. package/dist/_chunks/{ar-D1RwVZFj.js → ar-Cn_NxqkN.js} +2 -2
  4. package/dist/_chunks/bmi-BxD-tFzU.js +32 -0
  5. package/dist/_chunks/bmi-calculator-BRUru9QX.js +213 -0
  6. package/dist/_chunks/{booking-DqXsd1Mv.js → booking-DK_BPHnQ.js} +4 -4
  7. package/dist/_chunks/calculator-dialog-B74fqpFZ.js +40 -0
  8. package/dist/_chunks/{chat-message-D53_fH2w.js → chat-message-ASgGtj-L.js} +30 -39
  9. package/dist/_chunks/{contact-profile-card-BA6fgS45.js → contact-profile-card-DHyuAPXM.js} +14 -13
  10. package/dist/_chunks/cycle-calculator-B5Uj9QeT.js +185 -0
  11. package/dist/_chunks/{date-picker-CXFpu-qY.js → date-picker-CvQfs6Xh.js} +2 -2
  12. package/dist/_chunks/{date-range-picker-I-q5rifj.js → date-range-picker-U9fn1g9d.js} +3 -3
  13. package/dist/_chunks/{date-time-picker-CqpGPlcH.js → date-time-picker-Cva0ZCWw.js} +2 -2
  14. package/dist/_chunks/{de-HTQ4b4-J.js → de-BMM2H7Bs.js} +2 -2
  15. package/dist/_chunks/dependent-selector-CRWgieHm.js +324 -0
  16. package/dist/_chunks/document-scanner-CdHQ6lTN.js +702 -0
  17. package/dist/_chunks/due-date-calculator-CUspKSTw.js +171 -0
  18. package/dist/_chunks/{editable-currency-cell-renderer-DnjwZNZP.js → editable-currency-cell-renderer-DGKuRNVG.js} +2 -2
  19. package/dist/_chunks/{el-Dr1pjuDq.js → el-BYPonAaK.js} +2 -2
  20. package/dist/_chunks/{es-CvyTjLS0.js → es-CMkVCQ4F.js} +2 -2
  21. package/dist/_chunks/{file-upload-CdozCPct.js → file-upload-CnzRcErt.js} +2 -1
  22. package/dist/_chunks/fiscal-code-input-BZ0FxwUl.js +540 -0
  23. package/dist/_chunks/{fr-CS7aqaFR.js → fr-BcuWxqft.js} +2 -2
  24. package/dist/_chunks/gestation-BXEgDGmP.js +50 -0
  25. package/dist/_chunks/gestational-age-calculator-CsQ05qDy.js +165 -0
  26. package/dist/_chunks/heart-C0faivFf.js +20 -0
  27. package/dist/_chunks/{hi-3uy8KpsH.js → hi-wkq_rQAh.js} +2 -2
  28. package/dist/_chunks/image-C6RM5hfF.js +16 -0
  29. package/dist/_chunks/insert-result-yJ0QavoN.js +133 -0
  30. package/dist/_chunks/{isSameWeek-DRpMibi9.js → isSameWeek-Bim5ftRd.js} +2 -2
  31. package/dist/_chunks/{it-B_RF5VSw.js → it-GiQrQ9p4.js} +3 -3
  32. package/dist/_chunks/{ja-C1mEYy35.js → ja-qfYg3Rua.js} +2 -2
  33. package/dist/_chunks/{logo-_Z-jLq80.js → logo-yituK7sE.js} +42 -91
  34. package/dist/_chunks/{marketplace-app-shell-DXHxy9dj.js → marketplace-app-shell-BnClrL2B.js} +2 -2
  35. package/dist/_chunks/{nl-Dl7lO2t3.js → nl-xOogO4sZ.js} +2 -2
  36. package/dist/_chunks/{patient-shell-CDvMw_Nk.js → patient-shell-Bz3CdO84.js} +2 -2
  37. package/dist/_chunks/{pl-Dgsogljx.js → pl-GnOW6eGK.js} +3 -3
  38. package/dist/_chunks/{practice-results-BFM_lyUs.js → practice-results-C8ciLQap.js} +3 -2
  39. package/dist/_chunks/pregnancy-weight-gain-BCdi-JSv.js +209 -0
  40. package/dist/_chunks/{privacy-lock-DD-wHxBg.js → privacy-lock-BmX_gkvt.js} +2 -2
  41. package/dist/_chunks/{pt-Dm2JF4bc.js → pt-_bV5b5RW.js} +2 -2
  42. package/dist/_chunks/{public-footer.agent-Cjfe5jus.js → public-footer.agent-zw1vFin_.js} +2 -2
  43. package/dist/_chunks/qr-code-DNXhi6se.js +568 -0
  44. package/dist/_chunks/{react-day-picker-DYDdR8Vv.js → react-day-picker-CdtIiKjx.js} +24 -24
  45. package/dist/_chunks/{rich-text-editor-CHmr9Bz8.js → rich-text-editor-DLbg2852.js} +114 -124
  46. package/dist/_chunks/{ro-BXFZ_xIX.js → ro-BEcyh5Nj.js} +2 -2
  47. package/dist/_chunks/rotate-ccw-BWANpitO.js +15 -0
  48. package/dist/_chunks/{ru-BPQkNRRV.js → ru-Bi86hqMf.js} +3 -3
  49. package/dist/_chunks/session-countdown-LPnhTHjn.js +214 -0
  50. package/dist/_chunks/{shield-check-BhHyReu8.js → shield-check-C73ma9Cs.js} +8 -24
  51. package/dist/_chunks/{sign-in-with-alfadocs-button-BI0fVonM.js → sign-in-with-alfadocs-button-DeHBFRNS.js} +2 -2
  52. package/dist/_chunks/social-sign-in-button-X54ySJr1.js +243 -0
  53. package/dist/_chunks/{sq-ChTlGFcJ.js → sq-BujHSAWu.js} +2 -2
  54. package/dist/_chunks/subDays-_T9YeKPX.js +8 -0
  55. package/dist/_chunks/{sv-Do_gs6ir.js → sv-C8AeDrTA.js} +2 -2
  56. package/dist/_chunks/{tr-da_UnkYH.js → tr-CMSs_Vgf.js} +2 -2
  57. package/dist/_chunks/unit-converter-EUwO6QYq.js +168 -0
  58. package/dist/_chunks/wallet-pay-button-DK4ESYge.js +250 -0
  59. package/dist/_chunks/{zh-CN-C9qi5oak.js → zh-CN-eXB-PFu4.js} +3 -3
  60. package/dist/agent-catalog.json +203 -1
  61. package/dist/brand/provider-marks/apple-pay.d.ts +12 -0
  62. package/dist/brand/provider-marks/apple.d.ts +12 -0
  63. package/dist/brand/provider-marks/google-pay.d.ts +12 -0
  64. package/dist/brand/provider-marks/google.d.ts +13 -0
  65. package/dist/components/_shared/insert-result.d.ts +47 -0
  66. package/dist/components/bmi-calculator/bmi-calculator.d.ts +3 -0
  67. package/dist/components/bmi-calculator/index.js +6 -5
  68. package/dist/components/booking/index.js +1 -1
  69. package/dist/components/calculator-dialog/calculator-dialog.d.ts +26 -0
  70. package/dist/components/calculator-dialog/index.d.ts +3 -0
  71. package/dist/components/calculator-dialog/index.js +5 -0
  72. package/dist/components/chat-message/index.js +1 -1
  73. package/dist/components/contact-profile-card/index.js +1 -1
  74. package/dist/components/cycle-calculator/cycle-calculator.d.ts +21 -0
  75. package/dist/components/cycle-calculator/cycle.d.ts +37 -0
  76. package/dist/components/cycle-calculator/index.d.ts +4 -0
  77. package/dist/components/cycle-calculator/index.js +7 -0
  78. package/dist/components/data-table/index.js +1 -1
  79. package/dist/components/date-picker/index.js +1 -1
  80. package/dist/components/date-range-picker/index.js +1 -1
  81. package/dist/components/date-time-picker/index.js +1 -1
  82. package/dist/components/dependent-selector/dependent-selector.agent.d.ts +4 -0
  83. package/dist/components/dependent-selector/dependent-selector.d.ts +72 -0
  84. package/dist/components/dependent-selector/index.d.ts +4 -0
  85. package/dist/components/dependent-selector/index.js +6 -0
  86. package/dist/components/document-scanner/document-scanner.agent.d.ts +4 -0
  87. package/dist/components/document-scanner/document-scanner.d.ts +93 -0
  88. package/dist/components/document-scanner/index.d.ts +4 -0
  89. package/dist/components/document-scanner/index.js +6 -0
  90. package/dist/components/due-date-calculator/due-date-calculator.d.ts +3 -0
  91. package/dist/components/due-date-calculator/gestation.d.ts +16 -0
  92. package/dist/components/due-date-calculator/index.d.ts +1 -1
  93. package/dist/components/due-date-calculator/index.js +10 -7
  94. package/dist/components/file-upload/index.js +1 -1
  95. package/dist/components/fiscal-code-input/calculate-codice-fiscale.d.ts +24 -0
  96. package/dist/components/fiscal-code-input/fiscal-code-input.agent.d.ts +4 -0
  97. package/dist/components/fiscal-code-input/fiscal-code-input.d.ts +61 -0
  98. package/dist/components/fiscal-code-input/index.d.ts +6 -0
  99. package/dist/components/fiscal-code-input/index.js +11 -0
  100. package/dist/components/fiscal-code-input/is-valid-codice-fiscale.d.ts +21 -0
  101. package/dist/components/gestational-age-calculator/gestational-age-calculator.d.ts +27 -0
  102. package/dist/components/gestational-age-calculator/index.d.ts +3 -0
  103. package/dist/components/gestational-age-calculator/index.js +5 -0
  104. package/dist/components/index.d.ts +13 -0
  105. package/dist/components/logo/index.js +1 -1
  106. package/dist/components/practice-results/index.js +1 -1
  107. package/dist/components/pregnancy-weight-gain/index.d.ts +4 -0
  108. package/dist/components/pregnancy-weight-gain/index.js +9 -0
  109. package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.d.ts +19 -0
  110. package/dist/components/pregnancy-weight-gain/weight-gain.d.ts +41 -0
  111. package/dist/components/privacy-lock/index.js +1 -1
  112. package/dist/components/public-footer/index.js +1 -1
  113. package/dist/components/qr-code/index.d.ts +5 -0
  114. package/dist/components/qr-code/index.js +8 -0
  115. package/dist/components/qr-code/qr-code.agent.d.ts +3 -0
  116. package/dist/components/qr-code/qr-code.d.ts +59 -0
  117. package/dist/components/qr-code/qr-encode.d.ts +46 -0
  118. package/dist/components/rich-text-editor/index.js +1 -1
  119. package/dist/components/session-countdown/index.d.ts +4 -0
  120. package/dist/components/session-countdown/index.js +6 -0
  121. package/dist/components/session-countdown/session-countdown.agent.d.ts +3 -0
  122. package/dist/components/session-countdown/session-countdown.d.ts +38 -0
  123. package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
  124. package/dist/components/social-sign-in-button/index.d.ts +3 -0
  125. package/dist/components/social-sign-in-button/index.js +5 -0
  126. package/dist/components/social-sign-in-button/social-sign-in-button.d.ts +56 -0
  127. package/dist/components/unit-converter/index.d.ts +4 -0
  128. package/dist/components/unit-converter/index.js +9 -0
  129. package/dist/components/unit-converter/unit-converter.d.ts +21 -0
  130. package/dist/components/unit-converter/units.d.ts +18 -0
  131. package/dist/components/wallet-pay-button/index.d.ts +3 -0
  132. package/dist/components/wallet-pay-button/index.js +5 -0
  133. package/dist/components/wallet-pay-button/wallet-pay-button.d.ts +63 -0
  134. package/dist/i18n/locales/ar.d.ts +252 -0
  135. package/dist/i18n/locales/ar.js +249 -0
  136. package/dist/i18n/locales/de.d.ts +252 -0
  137. package/dist/i18n/locales/de.js +249 -0
  138. package/dist/i18n/locales/el.d.ts +252 -0
  139. package/dist/i18n/locales/el.js +249 -0
  140. package/dist/i18n/locales/en.d.ts +252 -0
  141. package/dist/i18n/locales/en.js +252 -0
  142. package/dist/i18n/locales/es.d.ts +252 -0
  143. package/dist/i18n/locales/es.js +249 -0
  144. package/dist/i18n/locales/fr.d.ts +252 -0
  145. package/dist/i18n/locales/fr.js +249 -0
  146. package/dist/i18n/locales/hi.d.ts +252 -0
  147. package/dist/i18n/locales/hi.js +249 -0
  148. package/dist/i18n/locales/it.d.ts +252 -0
  149. package/dist/i18n/locales/it.js +249 -0
  150. package/dist/i18n/locales/ja.d.ts +252 -0
  151. package/dist/i18n/locales/ja.js +245 -0
  152. package/dist/i18n/locales/nl.d.ts +252 -0
  153. package/dist/i18n/locales/nl.js +249 -0
  154. package/dist/i18n/locales/pl.d.ts +252 -0
  155. package/dist/i18n/locales/pl.js +249 -0
  156. package/dist/i18n/locales/pt.d.ts +252 -0
  157. package/dist/i18n/locales/pt.js +252 -0
  158. package/dist/i18n/locales/ro.d.ts +252 -0
  159. package/dist/i18n/locales/ro.js +249 -0
  160. package/dist/i18n/locales/ru.d.ts +252 -0
  161. package/dist/i18n/locales/ru.js +249 -0
  162. package/dist/i18n/locales/sq.d.ts +252 -0
  163. package/dist/i18n/locales/sq.js +249 -0
  164. package/dist/i18n/locales/sv.d.ts +252 -0
  165. package/dist/i18n/locales/sv.js +249 -0
  166. package/dist/i18n/locales/tr.d.ts +252 -0
  167. package/dist/i18n/locales/tr.js +249 -0
  168. package/dist/i18n/locales/zh.d.ts +252 -0
  169. package/dist/i18n/locales/zh.js +245 -0
  170. package/dist/index.js +587 -535
  171. package/dist/locales/ar.json +252 -0
  172. package/dist/locales/de.json +252 -0
  173. package/dist/locales/el.json +252 -0
  174. package/dist/locales/en.json +252 -0
  175. package/dist/locales/es.json +252 -0
  176. package/dist/locales/fr.json +252 -0
  177. package/dist/locales/hi.json +252 -0
  178. package/dist/locales/it.json +252 -0
  179. package/dist/locales/ja.json +252 -0
  180. package/dist/locales/nl.json +252 -0
  181. package/dist/locales/pl.json +252 -0
  182. package/dist/locales/pt.json +252 -0
  183. package/dist/locales/ro.json +252 -0
  184. package/dist/locales/ru.json +252 -0
  185. package/dist/locales/sq.json +252 -0
  186. package/dist/locales/sv.json +252 -0
  187. package/dist/locales/tr.json +252 -0
  188. package/dist/locales/zh.json +252 -0
  189. package/dist/patterns/alia-assistant/index.js +1 -1
  190. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  191. package/dist/patterns/patient-shell/index.js +1 -1
  192. package/dist/tokens.css +1 -1
  193. package/package.json +49 -1
  194. package/dist/_chunks/bmi-calculator-DQD5_nE-.js +0 -214
  195. package/dist/_chunks/due-date-calculator-kf9U_g7O.js +0 -173
  196. package/dist/_chunks/subDays-D-WYRpdW.js +0 -8
@@ -1,4 +1,4 @@
1
- import { o as m, q as t, r as n, v as s } from "./react-day-picker-DYDdR8Vv.js";
1
+ import { o as m, q as t, r as n, v as s } from "./react-day-picker-CdtIiKjx.js";
2
2
  const d = {
3
3
  lessThanXSeconds: {
4
4
  one: "mai puțin de o secundă",
@@ -358,4 +358,4 @@ const d = {
358
358
  export {
359
359
  N as ro
360
360
  };
361
- //# sourceMappingURL=ro-BXFZ_xIX.js.map
361
+ //# sourceMappingURL=ro-BEcyh5Nj.js.map
@@ -0,0 +1,15 @@
1
+ import { c as t } from "./createLucideIcon-CrFbzy84.js";
2
+ /**
3
+ * @license lucide-react v1.8.0 - ISC
4
+ *
5
+ * This source code is licensed under the ISC license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */
8
+ const c = [
9
+ ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
10
+ ["path", { d: "M3 3v5h5", key: "1xhq8a" }]
11
+ ], o = t("rotate-ccw", c);
12
+ export {
13
+ o as R
14
+ };
15
+ //# sourceMappingURL=rotate-ccw-BWANpitO.js.map
@@ -1,5 +1,5 @@
1
- import { o as s, q as u, r as o, v as g } from "./react-day-picker-DYDdR8Vv.js";
2
- import { i as d } from "./isSameWeek-DRpMibi9.js";
1
+ import { o as s, q as u, r as o, v as g } from "./react-day-picker-CdtIiKjx.js";
2
+ import { i as d } from "./isSameWeek-Bim5ftRd.js";
3
3
  function l(e, t) {
4
4
  if (e.one !== void 0 && t === 1)
5
5
  return e.one;
@@ -558,4 +558,4 @@ const P = {
558
558
  export {
559
559
  B as ru
560
560
  };
561
- //# sourceMappingURL=ru-BPQkNRRV.js.map
561
+ //# sourceMappingURL=ru-Bi86hqMf.js.map
@@ -0,0 +1,214 @@
1
+ import { jsxs as k, jsx as t } from "react/jsx-runtime";
2
+ import { forwardRef as H, useEffect as b, useMemo as v, useRef as W, useState as X } from "react";
3
+ import { c as Z } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as $ } from "react-i18next";
5
+ import { B as G } from "./button-DD_0Xdmr.js";
6
+ import { P as J } from "./progress-kzIRcdaq.js";
7
+ import { L as Q } from "./live-region-C41SO3cA.js";
8
+ import { u as Y } from "./registry-nPAVE19X.js";
9
+ import { C as E } from "./circle-x-Du2CmjaU.js";
10
+ import { T as nn } from "./triangle-alert-CBPUIzQo.js";
11
+ import { c as en } from "./createLucideIcon-CrFbzy84.js";
12
+ /**
13
+ * @license lucide-react v1.8.0 - ISC
14
+ *
15
+ * This source code is licensed under the ISC license.
16
+ * See the LICENSE file in the root directory of this source tree.
17
+ */
18
+ const on = [
19
+ ["line", { x1: "10", x2: "14", y1: "2", y2: "2", key: "14vaq8" }],
20
+ ["line", { x1: "12", x2: "15", y1: "14", y2: "11", key: "17fdiu" }],
21
+ ["circle", { cx: "12", cy: "14", r: "8", key: "1e1u0o" }]
22
+ ], sn = en("timer", on), rn = {
23
+ id: "session-countdown",
24
+ capabilities: [],
25
+ state: {},
26
+ actions: {},
27
+ domHooks: {
28
+ root: {
29
+ attr: "data-component",
30
+ value: "session-countdown",
31
+ description: 'Marks the element as a kit SessionCountdown banner. The root also emits `data-tone="running" | "warning" | "expired"` (derived from the remaining time). The accessible remaining-time announcement is surfaced via the region\'s aria-label and a nested polite live region.'
32
+ }
33
+ }
34
+ }, g = 1e3, h = 60 * g, tn = 15 * h, an = 2 * h, dn = Z(
35
+ [
36
+ "ds:break-words",
37
+ "ds:flex ds:w-full ds:flex-col",
38
+ "ds:rounded-[var(--radius-md)]",
39
+ "ds:border ds:border-[length:var(--border-width-sm)]"
40
+ ].join(" "),
41
+ {
42
+ variants: {
43
+ size: {
44
+ sm: "ds:p-[var(--spacing-sm)] ds:gap-[var(--spacing-xs)]",
45
+ md: "ds:p-[var(--spacing-md)] ds:gap-[var(--spacing-sm)]",
46
+ lg: "ds:p-[var(--spacing-lg)] ds:gap-[var(--spacing-sm)]"
47
+ },
48
+ // Internal-only — derived from remaining time, never surfaced to Controls.
49
+ tone: {
50
+ running: [
51
+ "ds:border-[color:var(--info)]",
52
+ "ds:bg-[color-mix(in_srgb,var(--info)_10%,transparent)]",
53
+ "ds:text-[color:var(--info-foreground)]"
54
+ ].join(" "),
55
+ warning: [
56
+ "ds:border-[color:var(--warning)]",
57
+ "ds:bg-[color-mix(in_srgb,var(--warning)_10%,transparent)]",
58
+ "ds:text-[color:var(--warning-foreground)]"
59
+ ].join(" "),
60
+ expired: [
61
+ "ds:border-[color:var(--error)]",
62
+ "ds:bg-[color-mix(in_srgb,var(--error)_10%,transparent)]",
63
+ "ds:text-[color:var(--error-foreground)]",
64
+ // The tonal Restart button inherits the error tint via the
65
+ // established Alert child-selector trick — contrast-validated.
66
+ "ds:[&_[data-intent=tonal]]:bg-[color:var(--error-foreground)]",
67
+ "ds:[&_[data-intent=tonal]]:text-[color:var(--background)]"
68
+ ].join(" ")
69
+ }
70
+ },
71
+ defaultVariants: {
72
+ size: "md",
73
+ tone: "running"
74
+ }
75
+ }
76
+ ), cn = {
77
+ sm: "ds:size-4",
78
+ md: "ds:size-5",
79
+ lg: "ds:size-6"
80
+ };
81
+ function ln(n, e) {
82
+ return n <= 0 ? "expired" : n <= e ? "warning" : "running";
83
+ }
84
+ function un(n) {
85
+ return n <= 0 ? 0 : n <= 30 * g ? 10 : n <= 60 * g ? 30 : Math.floor(n / h) * 60;
86
+ }
87
+ function mn(n) {
88
+ return n instanceof Date ? n.getTime() : typeof n == "number" ? n : new Date(n).getTime();
89
+ }
90
+ function fn(n, e, d) {
91
+ const [w, s] = X(() => Date.now()), c = n !== void 0;
92
+ return b(() => {
93
+ if (c || e === void 0 || (s(Date.now()), e - Date.now() <= 0)) return;
94
+ const a = window.setInterval(
95
+ () => {
96
+ const l = Date.now();
97
+ s(l), e - l <= 0 && window.clearInterval(a);
98
+ },
99
+ Math.max(1, d)
100
+ );
101
+ return () => window.clearInterval(a);
102
+ }, [c, e, d]), c ? Math.max(0, n) : e === void 0 ? 0 : Math.max(0, e - w);
103
+ }
104
+ const gn = H(
105
+ ({
106
+ remainingMs: n,
107
+ expiresAt: e,
108
+ totalMs: d = tn,
109
+ warnAtMs: w = an,
110
+ size: s = "md",
111
+ showProgress: c = !1,
112
+ onExpire: a,
113
+ onRestart: l,
114
+ restarting: x = !1,
115
+ tickMs: L = 1e3,
116
+ locale: M,
117
+ label: D,
118
+ className: I,
119
+ id: C,
120
+ ...j
121
+ }, R) => {
122
+ const { t: o, i18n: A } = $(), y = M ?? A.language ?? "en";
123
+ b(() => {
124
+ }, [n, e]);
125
+ const F = v(
126
+ () => n === void 0 && e !== void 0 ? mn(e) : void 0,
127
+ [n, e]
128
+ ), i = fn(n, F, L), u = ln(i, w), r = u === "expired", f = W(!1);
129
+ b(() => {
130
+ i <= 0 && !f.current && (f.current = !0, a == null || a()), i > 0 && f.current && (f.current = !1);
131
+ }, [i, a]);
132
+ const p = v(
133
+ () => new Intl.NumberFormat(y, { maximumFractionDigits: 0 }),
134
+ [y]
135
+ ), _ = Math.ceil(i / g), N = Math.floor(_ / 60), S = _ % 60, B = N > 0 ? o("sessionCountdown.timeMinutesSeconds", {
136
+ minutes: p.format(N),
137
+ seconds: p.format(S)
138
+ }) : o("sessionCountdown.timeSecondsOnly", {
139
+ seconds: p.format(S)
140
+ }), m = un(i), T = v(() => m <= 0 ? o("sessionCountdown.expiredAnnouncement") : m < 60 ? o("sessionCountdown.secondsRemaining", { count: m }) : o("sessionCountdown.minutesRemaining", { count: m / 60 }), [m, o]), O = o("sessionCountdown.expiredAnnouncement"), z = D ?? (r ? void 0 : o("sessionCountdown.ariaLabel", { time: T })), U = dn({
141
+ size: s,
142
+ tone: u,
143
+ className: I
144
+ }), K = r ? "alert" : "timer";
145
+ Y(rn, null, C);
146
+ const P = r ? E : u === "warning" ? nn : sn, V = Math.min(d, Math.max(0, d - i)), q = o(r ? "sessionCountdown.expired" : u === "warning" ? "sessionCountdown.warning" : "sessionCountdown.remainingBanner", { time: B });
147
+ return /* @__PURE__ */ k(
148
+ "div",
149
+ {
150
+ ref: R,
151
+ id: C,
152
+ role: K,
153
+ "aria-label": z,
154
+ "data-component": "session-countdown",
155
+ "data-tone": u,
156
+ className: U,
157
+ ...j,
158
+ children: [
159
+ r ? /* @__PURE__ */ t("span", { className: "ds:sr-only", children: O }) : null,
160
+ /* @__PURE__ */ k("div", { className: "ds:flex ds:w-full ds:items-center ds:gap-[var(--spacing-sm)]", children: [
161
+ /* @__PURE__ */ t("span", { className: `ds:shrink-0 ${cn[s]}`, children: /* @__PURE__ */ t(P, { "aria-hidden": "true", className: "ds:size-full" }) }),
162
+ /* @__PURE__ */ t(
163
+ "p",
164
+ {
165
+ className: [
166
+ "ds:min-w-0 ds:flex-1",
167
+ s === "lg" ? "type-body" : "type-body-sm"
168
+ ].join(" "),
169
+ "aria-hidden": "true",
170
+ children: q
171
+ }
172
+ ),
173
+ r && l ? /* @__PURE__ */ t(
174
+ G,
175
+ {
176
+ type: "button",
177
+ intent: "tonal",
178
+ size: s === "lg" ? "lg" : "md",
179
+ loading: x,
180
+ disabled: x,
181
+ onClick: l,
182
+ className: "ds:shrink-0",
183
+ children: o("sessionCountdown.restart")
184
+ }
185
+ ) : null
186
+ ] }),
187
+ c && !r ? (
188
+ // Elapsed fraction flows through the existing Progress API
189
+ // (value/max) — never a hand-rolled inline-width bar. The bar
190
+ // is aria-hidden: the timer region already conveys remaining
191
+ // time, so a second progressbar would double-announce.
192
+ /* @__PURE__ */ t("div", { "aria-hidden": "true", className: "ds:w-full", children: /* @__PURE__ */ t(
193
+ J,
194
+ {
195
+ value: V,
196
+ max: d,
197
+ shape: "bar",
198
+ size: s,
199
+ ariaLabel: o("sessionCountdown.progressLabel")
200
+ }
201
+ ) })
202
+ ) : null,
203
+ /* @__PURE__ */ t(Q, { politeness: "polite", atomic: !0, children: r ? "" : T })
204
+ ]
205
+ }
206
+ );
207
+ }
208
+ );
209
+ gn.displayName = "SessionCountdown";
210
+ export {
211
+ gn as S,
212
+ rn as s
213
+ };
214
+ //# sourceMappingURL=session-countdown-LPnhTHjn.js.map
@@ -1,40 +1,25 @@
1
- import { c as a } from "./createLucideIcon-CrFbzy84.js";
1
+ import { c as e } from "./createLucideIcon-CrFbzy84.js";
2
2
  /**
3
3
  * @license lucide-react v1.8.0 - ISC
4
4
  *
5
5
  * This source code is licensed under the ISC license.
6
6
  * See the LICENSE file in the root directory of this source tree.
7
7
  */
8
- const e = [
9
- [
10
- "path",
11
- {
12
- d: "M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",
13
- key: "mvr1a0"
14
- }
15
- ]
16
- ], d = a("heart", e);
17
- /**
18
- * @license lucide-react v1.8.0 - ISC
19
- *
20
- * This source code is licensed under the ISC license.
21
- * See the LICENSE file in the root directory of this source tree.
22
- */
23
- const t = [
8
+ const a = [
24
9
  ["path", { d: "m5 8 6 6", key: "1wu5hv" }],
25
10
  ["path", { d: "m4 14 6-6 2-3", key: "1k1g8d" }],
26
11
  ["path", { d: "M2 5h12", key: "or177f" }],
27
12
  ["path", { d: "M7 2h1", key: "1t2jsx" }],
28
13
  ["path", { d: "m22 22-5-10-5 10", key: "don7ne" }],
29
14
  ["path", { d: "M14 18h6", key: "1m8k6r" }]
30
- ], h = a("languages", t);
15
+ ], t = e("languages", a);
31
16
  /**
32
17
  * @license lucide-react v1.8.0 - ISC
33
18
  *
34
19
  * This source code is licensed under the ISC license.
35
20
  * See the LICENSE file in the root directory of this source tree.
36
21
  */
37
- const c = [
22
+ const d = [
38
23
  [
39
24
  "path",
40
25
  {
@@ -43,10 +28,9 @@ const c = [
43
28
  }
44
29
  ],
45
30
  ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
46
- ], n = a("shield-check", c);
31
+ ], c = e("shield-check", d);
47
32
  export {
48
- d as H,
49
- h as L,
50
- n as S
33
+ t as L,
34
+ c as S
51
35
  };
52
- //# sourceMappingURL=shield-check-BhHyReu8.js.map
36
+ //# sourceMappingURL=shield-check-C73ma9Cs.js.map
@@ -2,7 +2,7 @@ import { jsx as e } from "react/jsx-runtime";
2
2
  import { forwardRef as L, useRef as c, useEffect as b } from "react";
3
3
  import { useTranslation as y } from "react-i18next";
4
4
  import { B as E } from "./button-DD_0Xdmr.js";
5
- import { L as I } from "./logo-_Z-jLq80.js";
5
+ import { L as I } from "./logo-yituK7sE.js";
6
6
  import { S as g } from "./spinner-CCByyvcb.js";
7
7
  const A = /* @__PURE__ */ new Set([
8
8
  "primary",
@@ -46,4 +46,4 @@ B.displayName = "SignInWithAlfadocsButton";
46
46
  export {
47
47
  B as S
48
48
  };
49
- //# sourceMappingURL=sign-in-with-alfadocs-button-BI0fVonM.js.map
49
+ //# sourceMappingURL=sign-in-with-alfadocs-button-DeHBFRNS.js.map
@@ -0,0 +1,243 @@
1
+ import { jsx as s, jsxs as m } from "react/jsx-runtime";
2
+ import { forwardRef as y, useRef as p, useEffect as N } from "react";
3
+ import { c as n } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as j } from "react-i18next";
5
+ import { S as V } from "./spinner-CCByyvcb.js";
6
+ function A({ className: e }) {
7
+ return /* @__PURE__ */ s(
8
+ "svg",
9
+ {
10
+ "aria-hidden": "true",
11
+ focusable: "false",
12
+ viewBox: "0 0 24 24",
13
+ fill: "currentColor",
14
+ xmlns: "http://www.w3.org/2000/svg",
15
+ className: e,
16
+ children: /* @__PURE__ */ s("path", { d: "M17.05 12.536c-.024-2.51 2.05-3.715 2.143-3.774-1.168-1.708-2.985-1.942-3.63-1.967-1.546-.157-3.018.91-3.802.91-.783 0-1.99-.888-3.273-.864-1.684.025-3.236.978-4.102 2.485-1.748 3.03-.448 7.513 1.255 9.97.832 1.203 1.825 2.552 3.127 2.504 1.255-.05 1.73-.81 3.247-.81 1.518 0 1.945.81 3.273.786 1.351-.025 2.206-1.227 3.03-2.434.955-1.394 1.348-2.745 1.372-2.815-.03-.013-2.633-1.01-2.66-4.001m-2.48-7.343c.692-.838 1.158-2.002 1.03-3.163-.997.04-2.205.664-2.92 1.502-.64.742-1.2 1.927-1.05 3.066 1.112.086 2.247-.566 2.94-1.405" })
17
+ }
18
+ );
19
+ }
20
+ function v({ className: e }) {
21
+ return /* @__PURE__ */ m(
22
+ "svg",
23
+ {
24
+ "aria-hidden": "true",
25
+ focusable: "false",
26
+ viewBox: "0 0 24 24",
27
+ xmlns: "http://www.w3.org/2000/svg",
28
+ className: e,
29
+ children: [
30
+ /* @__PURE__ */ s(
31
+ "path",
32
+ {
33
+ fill: "#4285F4",
34
+ d: "M23.52 12.273c0-.851-.076-1.67-.218-2.455H12v4.642h6.458a5.52 5.52 0 0 1-2.394 3.622v3.01h3.878c2.269-2.09 3.578-5.166 3.578-8.819z"
35
+ }
36
+ ),
37
+ /* @__PURE__ */ s(
38
+ "path",
39
+ {
40
+ fill: "#34A853",
41
+ d: "M12 24c3.24 0 5.956-1.075 7.942-2.908l-3.878-3.01c-1.075.72-2.45 1.146-4.064 1.146-3.125 0-5.77-2.11-6.714-4.946H1.276v3.106A11.995 11.995 0 0 0 12 24z"
42
+ }
43
+ ),
44
+ /* @__PURE__ */ s(
45
+ "path",
46
+ {
47
+ fill: "#FBBC05",
48
+ d: "M5.286 14.282A7.213 7.213 0 0 1 4.91 12c0-.792.136-1.562.376-2.282V6.612H1.276A11.995 11.995 0 0 0 0 12c0 1.936.464 3.768 1.276 5.388l4.01-3.106z"
49
+ }
50
+ ),
51
+ /* @__PURE__ */ s(
52
+ "path",
53
+ {
54
+ fill: "#EA4335",
55
+ d: "M12 4.773c1.762 0 3.344.605 4.589 1.794l3.442-3.442C17.951 1.19 15.235 0 12 0A11.995 11.995 0 0 0 1.276 6.612l4.01 3.106C6.23 6.882 8.875 4.773 12 4.773z"
56
+ }
57
+ )
58
+ ]
59
+ }
60
+ );
61
+ }
62
+ const M = n(
63
+ [
64
+ "ds:relative ds:inline-flex ds:items-center ds:justify-center",
65
+ "ds:font-medium ds:whitespace-nowrap",
66
+ "ds:rounded-[var(--radius-md)]",
67
+ "ds:gap-[var(--spacing-sm)]",
68
+ "ds:border ds:border-solid",
69
+ "ds:active:opacity-90",
70
+ "ds:transition-[background-color,box-shadow,opacity]",
71
+ "ds:duration-[var(--animation-duration)]",
72
+ // Focus ring is `var(--ring)` (the kit primary), NEVER the brand
73
+ // surface colour — painting the ring in the brand hue on a brand
74
+ // surface makes it invisible. Same rule WhatsAppButton codifies.
75
+ "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
76
+ "ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
77
+ // Windows High Contrast Mode strips brand fills — repaint a solid
78
+ // border edge + swap the focus ring to CanvasText so the affordance
79
+ // stays identifiable.
80
+ "ds:forced-colors:border-[ButtonBorder]",
81
+ "ds:forced-colors:focus-visible:outline-[CanvasText]",
82
+ "ds:disabled:opacity-50 ds:disabled:cursor-not-allowed",
83
+ "ds:aria-busy:cursor-wait",
84
+ "ds:motion-reduce:transition-none"
85
+ ].join(" "),
86
+ {
87
+ variants: {
88
+ provider: {
89
+ apple: "",
90
+ google: ""
91
+ },
92
+ appearance: {
93
+ light: "",
94
+ dark: ""
95
+ },
96
+ size: {
97
+ // Heights mirror Button (sm 32 / md 40 / lg 48). `sm` (32px) and
98
+ // `md` (40px) both fall below `--min-target-size` (44 base / 48
99
+ // accessible), so each adds the ::before pseudo-element touch-
100
+ // target expansion to reach the minimum on mobile, collapsing
101
+ // above the `sm:` breakpoint. This component is the patient
102
+ // check-in (HTP-5104) mobile sign-in surface and `md` is the
103
+ // DEFAULT size rendered there, so it MUST meet WCAG 2.5.5 at both
104
+ // theme levels — unlike Button/WhatsApp, we do not leave md short.
105
+ // `lg` (48px) already meets the minimum natively.
106
+ sm: [
107
+ "ds:h-8 ds:ps-3 ds:pe-3 ds:text-[length:var(--font-size-sm)] ds:[&_svg]:size-4",
108
+ "ds:min-h-[var(--min-target-size)] ds:sm:min-h-0",
109
+ 'ds:before:absolute ds:before:inset-x-[calc((var(--min-target-size)-100%)/-2)] ds:before:inset-y-[calc((var(--min-target-size)-100%)/-2)] ds:before:content-[""] ds:sm:before:hidden'
110
+ ].join(" "),
111
+ md: [
112
+ "ds:h-10 ds:ps-4 ds:pe-4 ds:text-[length:var(--font-size-base)] ds:[&_svg]:size-5",
113
+ "ds:min-h-[var(--min-target-size)] ds:sm:min-h-0",
114
+ 'ds:before:absolute ds:before:inset-x-[calc((var(--min-target-size)-100%)/-2)] ds:before:inset-y-[calc((var(--min-target-size)-100%)/-2)] ds:before:content-[""] ds:sm:before:hidden'
115
+ ].join(" "),
116
+ lg: "ds:h-12 ds:ps-5 ds:pe-5 ds:text-[length:var(--font-size-lg)] ds:[&_svg]:size-6"
117
+ }
118
+ },
119
+ compoundVariants: [
120
+ /* Apple — light: white surface, black logo + text. */
121
+ {
122
+ provider: "apple",
123
+ appearance: "light",
124
+ class: "ds:bg-[var(--brand-apple-light)] ds:text-[var(--brand-apple-light-foreground)] ds:border-[var(--brand-apple-light-border)] ds:hover:bg-[var(--brand-apple-light-hover)]"
125
+ },
126
+ /* Apple — dark: black surface, white logo + text. */
127
+ {
128
+ provider: "apple",
129
+ appearance: "dark",
130
+ class: "ds:bg-[var(--brand-apple-dark)] ds:text-[var(--brand-apple-dark-foreground)] ds:border-[var(--brand-apple-dark)] ds:hover:bg-[var(--brand-apple-dark-hover)]"
131
+ },
132
+ /* Google — light: white/neutral surface, grey text. */
133
+ {
134
+ provider: "google",
135
+ appearance: "light",
136
+ class: "ds:bg-[var(--brand-google-light)] ds:text-[var(--brand-google-light-foreground)] ds:border-[var(--brand-google-light-border)] ds:hover:bg-[var(--brand-google-light-hover)]"
137
+ },
138
+ /* Google — dark: Google-blue surface, white text. */
139
+ {
140
+ provider: "google",
141
+ appearance: "dark",
142
+ class: "ds:bg-[var(--brand-google-dark)] ds:text-[var(--brand-google-dark-foreground)] ds:border-[var(--brand-google-dark)] ds:hover:bg-[var(--brand-google-dark-hover)]"
143
+ }
144
+ ],
145
+ defaultVariants: {
146
+ appearance: "light",
147
+ size: "md"
148
+ }
149
+ }
150
+ ), _ = {
151
+ sm: "md",
152
+ md: "lg",
153
+ lg: "lg"
154
+ }, C = n(
155
+ "ds:inline-flex ds:items-center ds:justify-center ds:shrink-0",
156
+ {
157
+ variants: {
158
+ size: {
159
+ sm: "ds:size-4",
160
+ md: "ds:size-5",
161
+ lg: "ds:size-6"
162
+ }
163
+ },
164
+ defaultVariants: { size: "md" }
165
+ }
166
+ ), E = n(
167
+ "ds:inline-flex ds:items-center ds:justify-center ds:shrink-0",
168
+ {
169
+ variants: {
170
+ appearance: {
171
+ light: "",
172
+ dark: "ds:rounded-[var(--radius-sm)] ds:bg-[var(--brand-google-tile)]"
173
+ },
174
+ size: {
175
+ sm: "ds:[&_svg]:size-4",
176
+ md: "ds:[&_svg]:size-5",
177
+ lg: "ds:[&_svg]:size-6"
178
+ }
179
+ },
180
+ compoundVariants: [
181
+ { appearance: "dark", size: "sm", class: "ds:p-1" },
182
+ { appearance: "dark", size: "md", class: "ds:p-1.5" },
183
+ { appearance: "dark", size: "lg", class: "ds:p-2" }
184
+ ],
185
+ defaultVariants: { appearance: "light", size: "md" }
186
+ }
187
+ ), I = y(
188
+ ({
189
+ provider: e,
190
+ appearance: r = "light",
191
+ size: d = "md",
192
+ loading: a = !1,
193
+ disabled: u,
194
+ label: b,
195
+ onLoadingCancelled: i,
196
+ type: f = "button",
197
+ className: h,
198
+ ...z
199
+ }, k) => {
200
+ const { t } = j(), l = d ?? "md", w = b ?? t(`socialSignInButton.${e}`), c = p(a), o = p(i);
201
+ c.current = a, o.current = i, N(() => {
202
+ const g = (B) => {
203
+ B.persisted && c.current && o.current && o.current();
204
+ };
205
+ return window.addEventListener("pageshow", g), () => window.removeEventListener("pageshow", g);
206
+ }, []);
207
+ const x = [
208
+ M({ provider: e, appearance: r, size: d }),
209
+ h
210
+ ].filter(Boolean).join(" "), S = e === "apple" ? /* @__PURE__ */ s(A, { className: "ds:shrink-0" }) : r === "dark" ? /* @__PURE__ */ s("span", { className: E({ appearance: r, size: d }), children: /* @__PURE__ */ s(v, {}) }) : /* @__PURE__ */ s(v, { className: "ds:shrink-0" });
211
+ return /* @__PURE__ */ m(
212
+ "button",
213
+ {
214
+ ref: k,
215
+ type: f,
216
+ disabled: u || a,
217
+ "aria-busy": a || void 0,
218
+ "data-component": "social-sign-in-button",
219
+ "data-provider": e,
220
+ "data-appearance": r,
221
+ className: x,
222
+ ...z,
223
+ children: [
224
+ a ? /* @__PURE__ */ s("span", { className: C({ size: l }), children: /* @__PURE__ */ s(
225
+ V,
226
+ {
227
+ size: _[l],
228
+ variant: "pulse",
229
+ className: "ds:size-full",
230
+ label: t("socialSignInButton.loading")
231
+ }
232
+ ) }) : S,
233
+ /* @__PURE__ */ s("span", { children: w })
234
+ ]
235
+ }
236
+ );
237
+ }
238
+ );
239
+ I.displayName = "SocialSignInButton";
240
+ export {
241
+ I as S
242
+ };
243
+ //# sourceMappingURL=social-sign-in-button-X54ySJr1.js.map
@@ -1,4 +1,4 @@
1
- import { o as s, q as r, r as i, v as m } from "./react-day-picker-DYDdR8Vv.js";
1
+ import { o as s, q as r, r as i, v as m } from "./react-day-picker-CdtIiKjx.js";
2
2
  const d = {
3
3
  lessThanXSeconds: {
4
4
  one: "më pak se një sekondë",
@@ -352,4 +352,4 @@ const d = {
352
352
  export {
353
353
  T as sq
354
354
  };
355
- //# sourceMappingURL=sq-ChTlGFcJ.js.map
355
+ //# sourceMappingURL=sq-BujHSAWu.js.map
@@ -0,0 +1,8 @@
1
+ import { a as o } from "./react-day-picker-CdtIiKjx.js";
2
+ function n(a, s, r) {
3
+ return o(a, -s, r);
4
+ }
5
+ export {
6
+ n as s
7
+ };
8
+ //# sourceMappingURL=subDays-_T9YeKPX.js.map
@@ -1,4 +1,4 @@
1
- import { o as d, q as r, r as i, v as m } from "./react-day-picker-DYDdR8Vv.js";
1
+ import { o as d, q as r, r as i, v as m } from "./react-day-picker-CdtIiKjx.js";
2
2
  const s = {
3
3
  lessThanXSeconds: {
4
4
  one: "mindre än en sekund",
@@ -373,4 +373,4 @@ const s = {
373
373
  export {
374
374
  q as sv
375
375
  };
376
- //# sourceMappingURL=sv-Do_gs6ir.js.map
376
+ //# sourceMappingURL=sv-C8AeDrTA.js.map
@@ -1,4 +1,4 @@
1
- import { o, q as n, r as i, v as m } from "./react-day-picker-DYDdR8Vv.js";
1
+ import { o, q as n, r as i, v as m } from "./react-day-picker-CdtIiKjx.js";
2
2
  const d = {
3
3
  lessThanXSeconds: {
4
4
  one: "bir saniyeden az",
@@ -375,4 +375,4 @@ const d = {
375
375
  export {
376
376
  O as tr
377
377
  };
378
- //# sourceMappingURL=tr-da_UnkYH.js.map
378
+ //# sourceMappingURL=tr-CMSs_Vgf.js.map