@alfadocs/ui-kit 1.75.1 → 1.77.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 (120) hide show
  1. package/dist/_chunks/{balance-badge-cell-B49xgL6H.js → balance-badge-cell-Dzd-Z_5W.js} +2 -2
  2. package/dist/_chunks/booking-Cz_QjIJe.js +4051 -0
  3. package/dist/_chunks/{breadcrumb-Boan-5n8.js → breadcrumb-Bn29NCnf.js} +8 -8
  4. package/dist/_chunks/{calendar-appointment-editor-dialog-B4My4eiB.js → calendar-appointment-editor-dialog-cvUpUjj-.js} +4 -4
  5. package/dist/_chunks/{control-room-rail-CKZ2nemY.js → control-room-rail-DcJpHbp4.js} +2 -2
  6. package/dist/_chunks/{data-table-DTKGWUQm.js → data-table-BlONA1rP.js} +2 -2
  7. package/dist/_chunks/{file-manager-Ct5QpZZI.js → file-manager-C9iJjDZt.js} +3 -3
  8. package/dist/_chunks/{header-settings-Coh1r41O.js → header-settings-BYpVmLip.js} +2 -2
  9. package/dist/_chunks/{heatmap-Ba9cgfSY.js → heatmap-C2Rg-SV_.js} +2 -2
  10. package/dist/_chunks/{marketplace-app-shell-Ck5NVJcO.js → marketplace-app-shell-mS7Q2-81.js} +3 -3
  11. package/dist/_chunks/{notes-panel-CxjMovCh.js → notes-panel-CZO1qsD-.js} +2 -2
  12. package/dist/_chunks/{otp-input-CGMu30_e.js → otp-input-BgEZi0py.js} +54 -53
  13. package/dist/_chunks/{practice-results-B4Z5q46r.js → practice-results-By2BZFCz.js} +820 -783
  14. package/dist/_chunks/{recaptcha-widget-CsvwlYTE.js → recaptcha-widget-iglUBIF3.js} +2 -2
  15. package/dist/_chunks/{registration-form-DeK2QiJu.js → registration-form-xORq2s4p.js} +3 -3
  16. package/dist/_chunks/signature-request-DjY-X62H.js +2448 -0
  17. package/dist/_chunks/{tasks-panel-Cmr0oMvc.js → tasks-panel-BkjtgjQ8.js} +2 -2
  18. package/dist/_chunks/{theme-toggle-DTrUzIBG.js → theme-toggle-DKpzb0-M.js} +2 -2
  19. package/dist/_chunks/{tool-rail-C_9lm0TC.js → tool-rail-Kup1b7xI.js} +2 -2
  20. package/dist/_chunks/use-theme-CYGyzFgZ.js +196 -0
  21. package/dist/agent-catalog.json +46 -10
  22. package/dist/agent-i18n/en.json +5 -4
  23. package/dist/components/booking/booking-types.d.ts +22 -1
  24. package/dist/components/booking/booking.d.ts +1 -1
  25. package/dist/components/booking/code-step.d.ts +6 -0
  26. package/dist/components/booking/index.d.ts +1 -1
  27. package/dist/components/booking/index.js +1 -1
  28. package/dist/components/booking/step-focus.d.ts +9 -0
  29. package/dist/components/booking/use-booking-payment.d.ts +6 -3
  30. package/dist/components/breadcrumb/index.js +1 -1
  31. package/dist/components/control-room-rail/index.js +1 -1
  32. package/dist/components/data-table/index.js +1 -1
  33. package/dist/components/file-manager/index.js +1 -1
  34. package/dist/components/header-settings/index.js +1 -1
  35. package/dist/components/heatmap/index.js +1 -1
  36. package/dist/components/index.d.ts +1 -1
  37. package/dist/components/notes-panel/index.js +1 -1
  38. package/dist/components/otp-input/index.js +1 -1
  39. package/dist/components/otp-input/otp-input.d.ts +1 -0
  40. package/dist/components/patient-table/index.js +1 -1
  41. package/dist/components/practice-results/index.d.ts +1 -1
  42. package/dist/components/practice-results/index.js +1 -1
  43. package/dist/components/practice-results/practice-results.d.ts +4 -0
  44. package/dist/components/recaptcha-widget/index.js +1 -1
  45. package/dist/components/tasks-panel/index.js +1 -1
  46. package/dist/components/theme-toggle/index.js +1 -1
  47. package/dist/components/tool-rail/index.js +1 -1
  48. package/dist/hooks/index.d.ts +1 -1
  49. package/dist/hooks/index.js +88 -86
  50. package/dist/hooks/use-theme.d.ts +9 -0
  51. package/dist/host-compat.css +4 -1
  52. package/dist/i18n/locales/ar.d.ts +29 -0
  53. package/dist/i18n/locales/ar.js +30 -1
  54. package/dist/i18n/locales/de.d.ts +29 -0
  55. package/dist/i18n/locales/de.js +30 -1
  56. package/dist/i18n/locales/el.d.ts +29 -0
  57. package/dist/i18n/locales/el.js +30 -1
  58. package/dist/i18n/locales/en.d.ts +29 -0
  59. package/dist/i18n/locales/en.js +30 -1
  60. package/dist/i18n/locales/es.d.ts +29 -0
  61. package/dist/i18n/locales/es.js +30 -1
  62. package/dist/i18n/locales/fr.d.ts +29 -0
  63. package/dist/i18n/locales/fr.js +30 -1
  64. package/dist/i18n/locales/hi.d.ts +29 -0
  65. package/dist/i18n/locales/hi.js +30 -1
  66. package/dist/i18n/locales/it.d.ts +29 -0
  67. package/dist/i18n/locales/it.js +30 -1
  68. package/dist/i18n/locales/ja.d.ts +29 -0
  69. package/dist/i18n/locales/ja.js +30 -1
  70. package/dist/i18n/locales/nl.d.ts +29 -0
  71. package/dist/i18n/locales/nl.js +30 -1
  72. package/dist/i18n/locales/pl.d.ts +29 -0
  73. package/dist/i18n/locales/pl.js +30 -1
  74. package/dist/i18n/locales/pt.d.ts +29 -0
  75. package/dist/i18n/locales/pt.js +30 -1
  76. package/dist/i18n/locales/ro.d.ts +29 -0
  77. package/dist/i18n/locales/ro.js +30 -1
  78. package/dist/i18n/locales/ru.d.ts +29 -0
  79. package/dist/i18n/locales/ru.js +30 -1
  80. package/dist/i18n/locales/sq.d.ts +29 -0
  81. package/dist/i18n/locales/sq.js +30 -1
  82. package/dist/i18n/locales/sv.d.ts +29 -0
  83. package/dist/i18n/locales/sv.js +30 -1
  84. package/dist/i18n/locales/tr.d.ts +29 -0
  85. package/dist/i18n/locales/tr.js +30 -1
  86. package/dist/i18n/locales/zh.d.ts +29 -0
  87. package/dist/i18n/locales/zh.js +30 -1
  88. package/dist/index.js +1209 -1207
  89. package/dist/locales/ar.json +30 -1
  90. package/dist/locales/de.json +30 -1
  91. package/dist/locales/el.json +30 -1
  92. package/dist/locales/en.json +30 -1
  93. package/dist/locales/es.json +30 -1
  94. package/dist/locales/fr.json +30 -1
  95. package/dist/locales/hi.json +30 -1
  96. package/dist/locales/it.json +30 -1
  97. package/dist/locales/ja.json +30 -1
  98. package/dist/locales/nl.json +30 -1
  99. package/dist/locales/pl.json +30 -1
  100. package/dist/locales/pt.json +30 -1
  101. package/dist/locales/ro.json +30 -1
  102. package/dist/locales/ru.json +30 -1
  103. package/dist/locales/sq.json +30 -1
  104. package/dist/locales/sv.json +30 -1
  105. package/dist/locales/tr.json +30 -1
  106. package/dist/locales/zh.json +30 -1
  107. package/dist/patterns/calendar/index.js +1 -1
  108. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  109. package/dist/patterns/registration-form/index.js +1 -1
  110. package/dist/patterns/signature-request/channel-meta.d.ts +8 -2
  111. package/dist/patterns/signature-request/index.js +1 -1
  112. package/dist/patterns/signature-request/minor-patient.d.ts +41 -0
  113. package/dist/patterns/signature-request/required-documents.d.ts +4 -3
  114. package/dist/patterns/signature-request/signature-request.d.ts +62 -12
  115. package/dist/theme-boot.js +26 -0
  116. package/dist/tokens.css +1 -1
  117. package/package.json +4 -2
  118. package/dist/_chunks/booking-D2r19Lia.js +0 -3901
  119. package/dist/_chunks/signature-request-ldmXj2X6.js +0 -2221
  120. package/dist/_chunks/use-theme-CAuo6EYT.js +0 -159
@@ -1,4 +1,4 @@
1
- import { H as t, a as p, b as m, h as o } from "../../_chunks/heatmap-Ba9cgfSY.js";
1
+ import { H as t, a as p, b as m, h as o } from "../../_chunks/heatmap-C2Rg-SV_.js";
2
2
  export {
3
3
  t as Heatmap,
4
4
  p as HeatmapLegend,
@@ -1,4 +1,4 @@
1
- export { usePrefersReducedMotion, useMediaQuery, useScrollToFirstError, useFieldMatch, useLocale, useTheme, resolveTheme, themeClassList, THEME_CLASS, THEME_STORAGE_KEY, ACCESSIBILITY_STORAGE_KEY, useSigningSession, useZoomDrilldown, ZOOM_DRILLDOWN_TRANSITION_CLASS, useAiSparkle, usePrism, useDismissed, DISMISSED_STORAGE_PREFIX, DISMISSED_DEFAULT_LIFETIME_MS, DISMISSED_MAX_ENTRIES, } from '../hooks';
1
+ export { usePrefersReducedMotion, useMediaQuery, useScrollToFirstError, useFieldMatch, useLocale, useTheme, resolveTheme, themeClassList, THEME_BOOT_SCRIPT, THEME_BOOT_ATTRIBUTE, THEME_CLASS, THEME_STORAGE_KEY, ACCESSIBILITY_STORAGE_KEY, useSigningSession, useZoomDrilldown, ZOOM_DRILLDOWN_TRANSITION_CLASS, useAiSparkle, usePrism, useDismissed, DISMISSED_STORAGE_PREFIX, DISMISSED_DEFAULT_LIFETIME_MS, DISMISSED_MAX_ENTRIES, } from '../hooks';
2
2
  export type { LocaleDir, UseLocaleReturn, UseScrollToFirstErrorOptions, FieldMatchKind, UseFieldMatchOptions, UseFieldMatchReturn, ThemePreference, AccessibilityPreference, ResolvedTheme, UseThemeReturn, SigningField, SigningFieldBase, UseSigningSessionReturn, UseZoomDrilldownOptions, UseZoomDrilldownReturn, AiSparkleState, UseAiSparkleOptions, UseAiSparkleReturn, PrismPiece, PrismSpeed, UsePrismOptions, UsePrismReturn, UseDismissedOptions, UseDismissedReturn, } from '../hooks';
3
3
  export * from './button';
4
4
  export * from './button-group';
@@ -1,4 +1,4 @@
1
- import { N as a } from "../../_chunks/notes-panel-CxjMovCh.js";
1
+ import { N as a } from "../../_chunks/notes-panel-CZO1qsD-.js";
2
2
  export {
3
3
  a as NotesPanel
4
4
  };
@@ -1,4 +1,4 @@
1
- import { O as r } from "../../_chunks/otp-input-CGMu30_e.js";
1
+ import { O as r } from "../../_chunks/otp-input-BgEZi0py.js";
2
2
  export {
3
3
  r as OTPInput
4
4
  };
@@ -20,6 +20,7 @@ export interface OTPInputProps {
20
20
  disabled?: boolean;
21
21
  error?: boolean;
22
22
  label?: string;
23
+ 'aria-describedby'?: string;
23
24
  /** Stable id, used to address this instance from the agent runtime. */
24
25
  id?: string;
25
26
  className?: string;
@@ -1,4 +1,4 @@
1
- import { B as s, C as l, N as n, P as t, a as C, T as i, b as o, g as T, u as p } from "../../_chunks/balance-badge-cell-B49xgL6H.js";
1
+ import { B as s, C as l, N as n, P as t, a as C, T as i, b as o, g as T, u as p } from "../../_chunks/balance-badge-cell-Dzd-Z_5W.js";
2
2
  export {
3
3
  s as BalanceBadgeCell,
4
4
  l as CarePlanStatusCell,
@@ -1,4 +1,4 @@
1
1
  export { PracticeResults } from './practice-results';
2
- export type { PracticeResultsProps, PracticeResultsHandle, PracticeResultsVariant, PracticeResult, PracticeResultsValue, PracticeResultsBounds, PracticeResultsSort, PracticeResultsSelectSource, } from './practice-results';
2
+ export type { PracticeResultsProps, PracticeResultsHandle, PracticeResultsVariant, PracticeResultsHeadingLevel, PracticeResult, PracticeResultsValue, PracticeResultsBounds, PracticeResultsSort, PracticeResultsSelectSource, } from './practice-results';
3
3
  export { practiceResultsAgent } from './practice-results.agent';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
- import { P as t, p as a } from "../../_chunks/practice-results-B4Z5q46r.js";
1
+ import { P as t, p as a } from "../../_chunks/practice-results-By2BZFCz.js";
2
2
  export {
3
3
  t as PracticeResults,
4
4
  a as practiceResultsAgent
@@ -1,6 +1,8 @@
1
1
  import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  export type PracticeResultsVariant = 'split-list-map' | 'map-first' | 'rich-cards';
4
+ /** Heading levels the results title accepts. */
5
+ export type PracticeResultsHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
4
6
  export type PracticeResultsSort = 'distance' | 'rating' | 'next-available' | 'relevance';
5
7
  /**
6
8
  * Where the result-selection event originated.
@@ -238,6 +240,8 @@ export interface PracticeResultsProps extends Omit<ComponentPropsWithoutRef<'div
238
240
  onRetry?: () => void;
239
241
  /** Heading rendered above the results (e.g. "I migliori Dentisti a Milano"). */
240
242
  heading?: string;
243
+ /** Results heading level (default 2); card names use the next level, capped at 6. */
244
+ headingLevel?: PracticeResultsHeadingLevel;
241
245
  /** Intro text below the heading. */
242
246
  intro?: string;
243
247
  /**
@@ -1,4 +1,4 @@
1
- import { R as t, r as c } from "../../_chunks/recaptcha-widget-CsvwlYTE.js";
1
+ import { R as t, r as c } from "../../_chunks/recaptcha-widget-iglUBIF3.js";
2
2
  export {
3
3
  t as RecaptchaWidget,
4
4
  c as recaptchaWidgetAgent
@@ -1,4 +1,4 @@
1
- import { T as e, t } from "../../_chunks/tasks-panel-Cmr0oMvc.js";
1
+ import { T as e, t } from "../../_chunks/tasks-panel-BkjtgjQ8.js";
2
2
  export {
3
3
  e as TasksPanel,
4
4
  t as tasksPanelAgent
@@ -1,4 +1,4 @@
1
- import { T as o, t } from "../../_chunks/theme-toggle-DTrUzIBG.js";
1
+ import { T as o, t } from "../../_chunks/theme-toggle-DKpzb0-M.js";
2
2
  export {
3
3
  o as ThemeToggle,
4
4
  t as themeToggleAgent
@@ -1,4 +1,4 @@
1
- import { T as l, t } from "../../_chunks/tool-rail-C_9lm0TC.js";
1
+ import { T as l, t } from "../../_chunks/tool-rail-Kup1b7xI.js";
2
2
  export {
3
3
  l as ToolRail,
4
4
  t as toolRailAgent
@@ -7,7 +7,7 @@ export { useCountUp } from './use-count-up';
7
7
  export type { UseCountUpOptions, UseCountUpReturn } from './use-count-up';
8
8
  export { useLocale } from './use-locale';
9
9
  export type { LocaleDir, UseLocaleReturn } from './use-locale';
10
- export { useTheme, resolveTheme, themeClassList, THEME_STORAGE_KEY, ACCESSIBILITY_STORAGE_KEY, THEME_CLASS, } from './use-theme';
10
+ export { useTheme, resolveTheme, themeClassList, THEME_BOOT_SCRIPT, THEME_BOOT_ATTRIBUTE, THEME_STORAGE_KEY, ACCESSIBILITY_STORAGE_KEY, THEME_CLASS, } from './use-theme';
11
11
  export type { ThemeBase, ThemePreference, AccessibilityPreference, ResolvedTheme, UseThemeReturn, } from './use-theme';
12
12
  export { useControllableState, type UseControllableStateOptions, } from './use-controllable-state';
13
13
  export { useCopyToClipboard, type CopyStatus, type UseCopyToClipboardOptions, type UseCopyToClipboardReturn, } from './use-copy-to-clipboard';
@@ -1,44 +1,44 @@
1
1
  import { u as R } from "../_chunks/use-prefers-reduced-motion-BMwIQRjB.js";
2
- import { u as D } from "../_chunks/use-media-query-CcAx5SMM.js";
3
- import { Z as O, u as P, a as h, b as v } from "../_chunks/use-zoom-drilldown-qCX34w9I.js";
2
+ import { u as O } from "../_chunks/use-media-query-CcAx5SMM.js";
3
+ import { Z as P, u as D, a as h, b as v } from "../_chunks/use-zoom-drilldown-qCX34w9I.js";
4
4
  import { u as F } from "../_chunks/use-field-match-C8ug3sdQ.js";
5
5
  import { u as K } from "../_chunks/use-count-up-BLLetaZ8.js";
6
6
  import { u as k } from "../_chunks/use-locale-BExNy9Dl.js";
7
- import { A as U, T as W, a as H, r as V, t as Y, u as G } from "../_chunks/use-theme-CAuo6EYT.js";
8
- import { u as q } from "../_chunks/use-controllable-state-BiY4xTzM.js";
9
- import { u as X } from "../_chunks/use-copy-to-clipboard-Cyfc_dlv.js";
10
- import { u as z } from "../_chunks/use-debounced-callback-BisrB-Fq.js";
11
- import { useState as _, useRef as d, useEffect as p } from "react";
12
- import { u as J, a as $ } from "../_chunks/use-direction-Dp8h70PP.js";
13
- import { u as te } from "../_chunks/use-persistent-state-nZwZAnE9.js";
14
- import { D as oe, a as se, b as ue, u as ne } from "../_chunks/use-dismissed-CTOWqA0e.js";
15
- import { u as ie } from "../_chunks/use-isomorphic-layout-effect-BGfaCOP1.js";
16
- import { u as fe, a as le } from "../_chunks/use-scroll-overflow-UbLrUfBo.js";
17
- import { c as me, u as Ee } from "../_chunks/use-priority-overflow-Cdmb5EiR.js";
18
- import { u as pe } from "../_chunks/use-web-otp-D_utzp6S.js";
19
- import { u as Ae } from "../_chunks/use-visual-viewport-pin-ChurOsHM.js";
20
- import { u as Le } from "../_chunks/use-edge-resize-CBtem0j2.js";
21
- import { u as xe } from "../_chunks/use-countdown-Yd6ts0_a.js";
22
- import { u as Re } from "../_chunks/use-check-animation--I3cS00X.js";
23
- import { R as De, u as Me, a as Oe } from "../_chunks/use-list-reflow-C7O4Uqnl.js";
24
- import { u as he } from "../_chunks/use-presence-transition-cDwWUXV-.js";
25
- import { u as ye } from "../_chunks/use-clamp-overflow-DQE2kwZ9.js";
26
- import { b as we, C as Ke, a as ge, S as ke, u as Ne } from "../_chunks/use-ai-sparkle-Cf4yVTLB.js";
27
- import { a as We, b as He, P as Ve, c as Ye, d as Ge, e as Ze, u as qe } from "../_chunks/use-prism-DBOiELx7.js";
28
- function L(e, o) {
29
- const [t, i] = _(e), s = d(null);
30
- return p(() => {
7
+ import { A as N, T as U, a as B, b as W, c as V, r as Y, t as G, u as Z } from "../_chunks/use-theme-CYGyzFgZ.js";
8
+ import { u as X } from "../_chunks/use-controllable-state-BiY4xTzM.js";
9
+ import { u as z } from "../_chunks/use-copy-to-clipboard-Cyfc_dlv.js";
10
+ import { u as J } from "../_chunks/use-debounced-callback-BisrB-Fq.js";
11
+ import { useState as p, useRef as _, useEffect as d } from "react";
12
+ import { u as ee, a as te } from "../_chunks/use-direction-Dp8h70PP.js";
13
+ import { u as oe } from "../_chunks/use-persistent-state-nZwZAnE9.js";
14
+ import { D as ue, a as ae, b as ne, u as ie } from "../_chunks/use-dismissed-CTOWqA0e.js";
15
+ import { u as fe } from "../_chunks/use-isomorphic-layout-effect-BGfaCOP1.js";
16
+ import { u as Se, a as me } from "../_chunks/use-scroll-overflow-UbLrUfBo.js";
17
+ import { c as _e, u as de } from "../_chunks/use-priority-overflow-Cdmb5EiR.js";
18
+ import { u as Te } from "../_chunks/use-web-otp-D_utzp6S.js";
19
+ import { u as Ie } from "../_chunks/use-visual-viewport-pin-ChurOsHM.js";
20
+ import { u as xe } from "../_chunks/use-edge-resize-CBtem0j2.js";
21
+ import { u as Re } from "../_chunks/use-countdown-Yd6ts0_a.js";
22
+ import { u as Oe } from "../_chunks/use-check-animation--I3cS00X.js";
23
+ import { R as Pe, u as De, a as he } from "../_chunks/use-list-reflow-C7O4Uqnl.js";
24
+ import { u as ye } from "../_chunks/use-presence-transition-cDwWUXV-.js";
25
+ import { u as we } from "../_chunks/use-clamp-overflow-DQE2kwZ9.js";
26
+ import { b as ge, C as ke, a as He, S as Ne, u as Ue } from "../_chunks/use-ai-sparkle-Cf4yVTLB.js";
27
+ import { a as We, b as Ve, P as Ye, c as Ge, d as Ze, e as qe, u as Xe } from "../_chunks/use-prism-DBOiELx7.js";
28
+ function I(e, o) {
29
+ const [t, i] = p(e), s = _(null);
30
+ return d(() => {
31
31
  if (o <= 0) {
32
32
  s.current !== null && (clearTimeout(s.current), s.current = null), i(e);
33
33
  return;
34
34
  }
35
- const n = setTimeout(() => {
35
+ const a = setTimeout(() => {
36
36
  i(e), s.current = null;
37
37
  }, o);
38
- return s.current = n, () => clearTimeout(n);
38
+ return s.current = a, () => clearTimeout(a);
39
39
  }, [e, o]), t;
40
40
  }
41
- const A = [
41
+ const T = [
42
42
  "a[href]",
43
43
  "button:not([disabled])",
44
44
  'input:not([disabled]):not([type="hidden"])',
@@ -51,7 +51,7 @@ const A = [
51
51
  ].join(",");
52
52
  function E(e) {
53
53
  return Array.from(
54
- e.querySelectorAll(A)
54
+ e.querySelectorAll(T)
55
55
  ).filter((o) => {
56
56
  if (o.hidden) return !1;
57
57
  let t = o;
@@ -62,14 +62,14 @@ function E(e) {
62
62
  return !0;
63
63
  });
64
64
  }
65
- function I(e, o = {}) {
66
- const { enabled: t = !0, autoFocus: i = !0, restoreFocus: s = !0 } = o, n = d(null);
67
- p(() => {
65
+ function L(e, o = {}) {
66
+ const { enabled: t = !0, autoFocus: i = !0, restoreFocus: s = !0 } = o, a = _(null);
67
+ d(() => {
68
68
  if (!t) return;
69
- const a = e.current;
70
- if (!a) return;
71
- if (n.current = typeof document < "u" && document.activeElement instanceof HTMLElement ? document.activeElement : null, i) {
72
- const u = E(a)[0] ?? (a.tabIndex >= -1 ? a : null);
69
+ const n = e.current;
70
+ if (!n) return;
71
+ if (a.current = typeof document < "u" && document.activeElement instanceof HTMLElement ? document.activeElement : null, i) {
72
+ const u = E(n)[0] ?? (n.tabIndex >= -1 ? n : null);
73
73
  u == null || u.focus();
74
74
  }
75
75
  function l(r) {
@@ -84,9 +84,9 @@ function I(e, o = {}) {
84
84
  const S = c[0], m = c[c.length - 1], f = document.activeElement;
85
85
  r.shiftKey ? (f === S || !u.contains(f)) && (r.preventDefault(), m.focus()) : (f === m || !u.contains(f)) && (r.preventDefault(), S.focus());
86
86
  }
87
- return a.addEventListener("keydown", l), () => {
88
- if (a.removeEventListener("keydown", l), s && n.current) {
89
- const r = n.current;
87
+ return n.addEventListener("keydown", l), () => {
88
+ if (n.removeEventListener("keydown", l), s && a.current) {
89
+ const r = a.current;
90
90
  requestAnimationFrame(() => {
91
91
  r.isConnected && r.focus();
92
92
  });
@@ -95,59 +95,61 @@ function I(e, o = {}) {
95
95
  }, [t, i, s, e]);
96
96
  }
97
97
  export {
98
- U as ACCESSIBILITY_STORAGE_KEY,
99
- we as AI_SPARKLE_COMET_CLASS,
100
- Ke as AI_SPARKLE_COMET_TAIL,
101
- ge as AI_SPARKLE_COMET_WRAPPER_CLASS,
102
- ke as AI_SPARKLE_SHIMMER_CLASS,
103
- oe as DISMISSED_DEFAULT_LIFETIME_MS,
104
- se as DISMISSED_MAX_ENTRIES,
105
- ue as DISMISSED_STORAGE_PREFIX,
98
+ N as ACCESSIBILITY_STORAGE_KEY,
99
+ ge as AI_SPARKLE_COMET_CLASS,
100
+ ke as AI_SPARKLE_COMET_TAIL,
101
+ He as AI_SPARKLE_COMET_WRAPPER_CLASS,
102
+ Ne as AI_SPARKLE_SHIMMER_CLASS,
103
+ ue as DISMISSED_DEFAULT_LIFETIME_MS,
104
+ ae as DISMISSED_MAX_ENTRIES,
105
+ ne as DISMISSED_STORAGE_PREFIX,
106
106
  We as PRISM_DURATION_CLASS,
107
- He as PRISM_DURATION_MS,
108
- Ve as PRISM_LOOP_CLASS,
109
- Ye as PRISM_PIECES,
110
- Ge as PRISM_SETTLE_CLASS,
111
- Ze as PRISM_SETTLE_CYCLES,
112
- De as REFLOW_ROW_CLASS,
107
+ Ve as PRISM_DURATION_MS,
108
+ Ye as PRISM_LOOP_CLASS,
109
+ Ge as PRISM_PIECES,
110
+ Ze as PRISM_SETTLE_CLASS,
111
+ qe as PRISM_SETTLE_CYCLES,
112
+ Pe as REFLOW_ROW_CLASS,
113
+ U as THEME_BOOT_ATTRIBUTE,
114
+ B as THEME_BOOT_SCRIPT,
113
115
  W as THEME_CLASS,
114
- H as THEME_STORAGE_KEY,
115
- O as ZOOM_DRILLDOWN_TRANSITION_CLASS,
116
- me as computePriorityLayout,
117
- V as resolveTheme,
118
- Y as themeClassList,
119
- Ne as useAiSparkle,
120
- Re as useCheckAnimation,
121
- ye as useClampOverflow,
122
- q as useControllableState,
123
- X as useCopyToClipboard,
116
+ V as THEME_STORAGE_KEY,
117
+ P as ZOOM_DRILLDOWN_TRANSITION_CLASS,
118
+ _e as computePriorityLayout,
119
+ Y as resolveTheme,
120
+ G as themeClassList,
121
+ Ue as useAiSparkle,
122
+ Oe as useCheckAnimation,
123
+ we as useClampOverflow,
124
+ X as useControllableState,
125
+ z as useCopyToClipboard,
124
126
  K as useCountUp,
125
- xe as useCountdown,
126
- z as useDebouncedCallback,
127
- L as useDebouncedValue,
128
- J as useDirection,
129
- ne as useDismissed,
130
- $ as useDocumentDirection,
131
- Le as useEdgeResize,
132
- Me as useExitTransition,
127
+ Re as useCountdown,
128
+ J as useDebouncedCallback,
129
+ I as useDebouncedValue,
130
+ ee as useDirection,
131
+ ie as useDismissed,
132
+ te as useDocumentDirection,
133
+ xe as useEdgeResize,
134
+ De as useExitTransition,
133
135
  F as useFieldMatch,
134
- I as useFocusTrap,
135
- ie as useIsomorphicLayoutEffect,
136
- Oe as useListReflow,
136
+ L as useFocusTrap,
137
+ fe as useIsomorphicLayoutEffect,
138
+ he as useListReflow,
137
139
  k as useLocale,
138
- D as useMediaQuery,
139
- fe as useOverflowCollapse,
140
- te as usePersistentState,
140
+ O as useMediaQuery,
141
+ Se as useOverflowCollapse,
142
+ oe as usePersistentState,
141
143
  R as usePrefersReducedMotion,
142
- he as usePresenceTransition,
143
- Ee as usePriorityOverflow,
144
- qe as usePrism,
145
- le as useScrollOverflow,
146
- P as useScrollToFirstError,
144
+ ye as usePresenceTransition,
145
+ de as usePriorityOverflow,
146
+ Xe as usePrism,
147
+ me as useScrollOverflow,
148
+ D as useScrollToFirstError,
147
149
  h as useSigningSession,
148
- G as useTheme,
149
- Ae as useVisualViewportPin,
150
- pe as useWebOtp,
150
+ Z as useTheme,
151
+ Ie as useVisualViewportPin,
152
+ Te as useWebOtp,
151
153
  v as useZoomDrilldown
152
154
  };
153
155
  //# sourceMappingURL=index.js.map
@@ -21,6 +21,8 @@ export declare const THEME_CLASS: {
21
21
  readonly dark: "theme-dark";
22
22
  readonly accessible: "theme-accessible";
23
23
  };
24
+ /** Marks resolved boot classes so they are not mistaken for host overrides. */
25
+ export declare const THEME_BOOT_ATTRIBUTE = "data-alfadocs-theme-boot";
24
26
  interface ThemeSnapshot {
25
27
  theme: ThemePreference;
26
28
  accessibility: AccessibilityPreference;
@@ -29,6 +31,13 @@ interface ThemeSnapshot {
29
31
  }
30
32
  export declare function resolveTheme(state: ThemeSnapshot): ResolvedTheme;
31
33
  export declare function themeClassList(resolved: ResolvedTheme): string[];
34
+ /**
35
+ * Inline in <head> before stylesheets to apply preferences before first paint.
36
+ * ES5, with no imports or runtime dependencies. Existing theme classes belong
37
+ * to the host and are left untouched. The build writes this same string to
38
+ * `@alfadocs/ui-kit/theme-boot.js` for hosts that do not import JavaScript.
39
+ */
40
+ export declare const THEME_BOOT_SCRIPT: string;
32
41
  /**
33
42
  * Read and update the DS theme preference.
34
43
  *
@@ -210,7 +210,7 @@
210
210
 
211
211
  /* ───────────────────────────────────────────────────────────────────────
212
212
  SECTION B — non-token declarations. ORIGINAL LAYER PRESERVED.
213
- 152 declarations across 148 rules.
213
+ 153 declarations across 149 rules.
214
214
 
215
215
  Kit-authored arbitrary-value utilities (`ds:w-[20rem]`) and the
216
216
  vendored AG Grid rules. These set real properties on real elements,
@@ -570,6 +570,9 @@
570
570
  .ds\:\[inline-size\:26rem\] {
571
571
  inline-size:416px;
572
572
  }
573
+ .ds\:\[inline-size\:32rem\] {
574
+ inline-size:512px;
575
+ }
573
576
  .ds\:\[inline-size\:40rem\] {
574
577
  inline-size:640px;
575
578
  }
@@ -2322,6 +2322,24 @@ export declare const arUi: {
2322
2322
  readonly sms: "SMS";
2323
2323
  };
2324
2324
  };
2325
+ readonly code: {
2326
+ readonly heading: "أدخل رمز الرسالة النصية";
2327
+ readonly instruction: "أدخل الرمز الذي أرسلناه إلى هاتفك المحمول لتأكيد حجزك.";
2328
+ readonly instructionWithPhone: "أدخل الرمز الذي أرسلناه إلى <phone>{{phone}}</phone> لتأكيد حجزك.";
2329
+ readonly label: "رمز الرسالة النصية";
2330
+ readonly wrong: "الرمز غير صحيح. يُرجى المحاولة مرة أخرى.";
2331
+ readonly expired: "انتهت صلاحية الرمز. يُرجى طلب رمز جديد.";
2332
+ readonly tooManyAttempts: "تجاوزت عدد المحاولات المسموح به. يُرجى الانتظار ثم طلب رمز جديد.";
2333
+ readonly verifyFailed: "تعذّر التحقق من الرمز. يُرجى المحاولة مرة أخرى.";
2334
+ readonly resendFailed: "تعذّر إرسال رمز جديد. يُرجى المحاولة مرة أخرى.";
2335
+ readonly verifying: "جارٍ التحقق من الرمز…";
2336
+ readonly resend: "إرسال رمز جديد";
2337
+ readonly resent: "أرسلنا إليك رمزًا جديدًا.";
2338
+ readonly resendCountdown: "إرسال رمز جديد بعد {{seconds}} ث";
2339
+ readonly confirmedHeading: "تم تأكيد الحجز";
2340
+ readonly confirmedBody: "تم تأكيد موعدك. يمكنك الاطّلاع على التفاصيل أدناه.";
2341
+ readonly confirmedDemo: "كان هذا عرضًا تجريبيًا. لم يُحجز أي موعد.";
2342
+ };
2325
2343
  readonly success: {
2326
2344
  readonly heading: "تم إرسال الحجز";
2327
2345
  readonly descriptionSingle: "لقد أرسلنا لك رابط تأكيد عبر {{channel}}. انقر على الرابط لتأكيد حجزك.";
@@ -3902,6 +3920,17 @@ export declare const arUi: {
3902
3920
  readonly secondSigneeUnknown: "لم يعد الموقّع الثاني المحدد متاحًا.";
3903
3921
  readonly secondSigneeMissingPhone: "ليس للموقّع الثاني رقم هاتف: حدّث بيانات الاتصال به أو اختر قناة توقيع أخرى.";
3904
3922
  readonly secondSigneeMissingEmail: "ليس للموقّع الثاني عنوان بريد إلكتروني: حدّث بيانات الاتصال به أو اختر قناة توقيع أخرى.";
3923
+ readonly minorPatientAddSignee: "المريض أقل من 18 عامًا. أضف أحد الوالدين أو الوصي كموقّع.";
3924
+ readonly minorPatientSelectSignee: "المريض أقل من 18 عامًا. فكّر في اختيار أحد الوالدين أو الوصي كموقّع.";
3925
+ readonly minorPatientSelectSecondSignee: "ينص المستند على موقّع ثانٍ. فكّر في أن يوقّع أيضًا الوالد الآخر أو الوصي.";
3926
+ readonly minorPatientAddSecondSignee: "ينص المستند على موقّع ثانٍ. فكّر في إضافة الوالد الآخر أو الوصي كموقّع.";
3927
+ readonly addMobileNumber: "إضافة رقم الهاتف المحمول";
3928
+ readonly addEmailAddress: "إضافة عنوان البريد الإلكتروني";
3929
+ readonly editContactDetails: "تعديل بيانات الاتصال";
3930
+ readonly confirmTitle: "هل تريد إرسال طلب التوقيع؟";
3931
+ readonly confirmDescription: "أنت على وشك إرسال تعليمات التوقيع الإلكتروني على هذا المستند إلى:";
3932
+ readonly confirmSend: "إرسال";
3933
+ readonly confirmBack: "رجوع";
3905
3934
  };
3906
3935
  readonly toothScheme: {
3907
3936
  readonly ariaLabel: "مخطط الأسنان";
@@ -2315,6 +2315,24 @@ const e = {
2315
2315
  sms: "SMS"
2316
2316
  }
2317
2317
  },
2318
+ code: {
2319
+ heading: "أدخل رمز الرسالة النصية",
2320
+ instruction: "أدخل الرمز الذي أرسلناه إلى هاتفك المحمول لتأكيد حجزك.",
2321
+ instructionWithPhone: "أدخل الرمز الذي أرسلناه إلى <phone>{{phone}}</phone> لتأكيد حجزك.",
2322
+ label: "رمز الرسالة النصية",
2323
+ wrong: "الرمز غير صحيح. يُرجى المحاولة مرة أخرى.",
2324
+ expired: "انتهت صلاحية الرمز. يُرجى طلب رمز جديد.",
2325
+ tooManyAttempts: "تجاوزت عدد المحاولات المسموح به. يُرجى الانتظار ثم طلب رمز جديد.",
2326
+ verifyFailed: "تعذّر التحقق من الرمز. يُرجى المحاولة مرة أخرى.",
2327
+ resendFailed: "تعذّر إرسال رمز جديد. يُرجى المحاولة مرة أخرى.",
2328
+ verifying: "جارٍ التحقق من الرمز…",
2329
+ resend: "إرسال رمز جديد",
2330
+ resent: "أرسلنا إليك رمزًا جديدًا.",
2331
+ resendCountdown: "إرسال رمز جديد بعد {{seconds}} ث",
2332
+ confirmedHeading: "تم تأكيد الحجز",
2333
+ confirmedBody: "تم تأكيد موعدك. يمكنك الاطّلاع على التفاصيل أدناه.",
2334
+ confirmedDemo: "كان هذا عرضًا تجريبيًا. لم يُحجز أي موعد."
2335
+ },
2318
2336
  success: {
2319
2337
  heading: "تم إرسال الحجز",
2320
2338
  descriptionSingle: "لقد أرسلنا لك رابط تأكيد عبر {{channel}}. انقر على الرابط لتأكيد حجزك.",
@@ -3868,7 +3886,18 @@ const e = {
3868
3886
  secondSigneeSameAsPrimary: "يجب أن يكون الموقّع الثاني مختلفًا عن الموقّع الرئيسي.",
3869
3887
  secondSigneeUnknown: "لم يعد الموقّع الثاني المحدد متاحًا.",
3870
3888
  secondSigneeMissingPhone: "ليس للموقّع الثاني رقم هاتف: حدّث بيانات الاتصال به أو اختر قناة توقيع أخرى.",
3871
- secondSigneeMissingEmail: "ليس للموقّع الثاني عنوان بريد إلكتروني: حدّث بيانات الاتصال به أو اختر قناة توقيع أخرى."
3889
+ secondSigneeMissingEmail: "ليس للموقّع الثاني عنوان بريد إلكتروني: حدّث بيانات الاتصال به أو اختر قناة توقيع أخرى.",
3890
+ minorPatientAddSignee: "المريض أقل من 18 عامًا. أضف أحد الوالدين أو الوصي كموقّع.",
3891
+ minorPatientSelectSignee: "المريض أقل من 18 عامًا. فكّر في اختيار أحد الوالدين أو الوصي كموقّع.",
3892
+ minorPatientSelectSecondSignee: "ينص المستند على موقّع ثانٍ. فكّر في أن يوقّع أيضًا الوالد الآخر أو الوصي.",
3893
+ minorPatientAddSecondSignee: "ينص المستند على موقّع ثانٍ. فكّر في إضافة الوالد الآخر أو الوصي كموقّع.",
3894
+ addMobileNumber: "إضافة رقم الهاتف المحمول",
3895
+ addEmailAddress: "إضافة عنوان البريد الإلكتروني",
3896
+ editContactDetails: "تعديل بيانات الاتصال",
3897
+ confirmTitle: "هل تريد إرسال طلب التوقيع؟",
3898
+ confirmDescription: "أنت على وشك إرسال تعليمات التوقيع الإلكتروني على هذا المستند إلى:",
3899
+ confirmSend: "إرسال",
3900
+ confirmBack: "رجوع"
3872
3901
  },
3873
3902
  toothScheme: {
3874
3903
  ariaLabel: "مخطط الأسنان",
@@ -2310,6 +2310,24 @@ export declare const deUi: {
2310
2310
  readonly sms: "SMS";
2311
2311
  };
2312
2312
  };
2313
+ readonly code: {
2314
+ readonly heading: "Geben Sie Ihren SMS-Code ein";
2315
+ readonly instruction: "Geben Sie den Code ein, den wir an Ihr Mobiltelefon gesendet haben, um Ihre Buchung zu bestätigen.";
2316
+ readonly instructionWithPhone: "Geben Sie den Code ein, den wir an <phone>{{phone}}</phone> gesendet haben, um Ihre Buchung zu bestätigen.";
2317
+ readonly label: "SMS-Code";
2318
+ readonly wrong: "Dieser Code ist falsch. Bitte versuchen Sie es erneut.";
2319
+ readonly expired: "Dieser Code ist abgelaufen. Bitte fordern Sie einen neuen Code an.";
2320
+ readonly tooManyAttempts: "Zu viele Versuche. Bitte warten Sie und fordern Sie dann einen neuen Code an.";
2321
+ readonly verifyFailed: "Wir konnten Ihren Code nicht prüfen. Bitte versuchen Sie es erneut.";
2322
+ readonly resendFailed: "Wir konnten keinen neuen Code senden. Bitte versuchen Sie es erneut.";
2323
+ readonly verifying: "Ihr Code wird geprüft…";
2324
+ readonly resend: "Neuen Code senden";
2325
+ readonly resent: "Wir haben Ihnen einen neuen Code gesendet.";
2326
+ readonly resendCountdown: "Neuen Code in {{seconds}} s senden";
2327
+ readonly confirmedHeading: "Buchung bestätigt";
2328
+ readonly confirmedBody: "Ihr Termin ist bestätigt. Die Einzelheiten finden Sie unten.";
2329
+ readonly confirmedDemo: "Dies war eine Demo. Es wurde kein Termin gebucht.";
2330
+ };
2313
2331
  readonly success: {
2314
2332
  readonly heading: "Buchung gesendet";
2315
2333
  readonly descriptionSingle: "Wir haben Ihnen einen Bestätigungslink über {{channel}} geschickt. Klicken Sie auf den Link, um Ihre Buchung zu bestätigen.";
@@ -3890,6 +3908,17 @@ export declare const deUi: {
3890
3908
  readonly secondSigneeUnknown: "Der ausgewählte zweite Unterzeichner ist nicht mehr verfügbar.";
3891
3909
  readonly secondSigneeMissingPhone: "Der zweite Unterzeichner hat keine Telefonnummer. Aktualisieren Sie seine Kontaktdaten oder wählen Sie einen anderen Signaturkanal.";
3892
3910
  readonly secondSigneeMissingEmail: "Der zweite Unterzeichner hat keine E-Mail-Adresse. Aktualisieren Sie seine Kontaktdaten oder wählen Sie einen anderen Signaturkanal.";
3911
+ readonly minorPatientAddSignee: "Der Patient ist jünger als 18 Jahre. Fügen Sie einen Elternteil oder Vormund als Unterzeichner hinzu.";
3912
+ readonly minorPatientSelectSignee: "Der Patient ist jünger als 18 Jahre. Prüfen Sie, ob Sie einen Elternteil oder Vormund als Unterzeichner auswählen sollten.";
3913
+ readonly minorPatientSelectSecondSignee: "Das Dokument sieht einen zweiten Unterzeichner vor. Prüfen Sie, ob auch der andere Elternteil oder Vormund unterschreiben soll.";
3914
+ readonly minorPatientAddSecondSignee: "Das Dokument sieht einen zweiten Unterzeichner vor. Prüfen Sie, ob Sie den anderen Elternteil oder Vormund als Unterzeichner hinzufügen sollten.";
3915
+ readonly addMobileNumber: "Mobilnummer hinzufügen";
3916
+ readonly addEmailAddress: "E-Mail-Adresse hinzufügen";
3917
+ readonly editContactDetails: "Kontaktdaten bearbeiten";
3918
+ readonly confirmTitle: "Signaturanfrage senden?";
3919
+ readonly confirmDescription: "Sie senden die Anleitung zum elektronischen Unterzeichnen dieses Dokuments gleich an:";
3920
+ readonly confirmSend: "Senden";
3921
+ readonly confirmBack: "Zurück";
3893
3922
  };
3894
3923
  readonly toothScheme: {
3895
3924
  readonly ariaLabel: "Zahnschema";
@@ -2303,6 +2303,24 @@ const e = {
2303
2303
  sms: "SMS"
2304
2304
  }
2305
2305
  },
2306
+ code: {
2307
+ heading: "Geben Sie Ihren SMS-Code ein",
2308
+ instruction: "Geben Sie den Code ein, den wir an Ihr Mobiltelefon gesendet haben, um Ihre Buchung zu bestätigen.",
2309
+ instructionWithPhone: "Geben Sie den Code ein, den wir an <phone>{{phone}}</phone> gesendet haben, um Ihre Buchung zu bestätigen.",
2310
+ label: "SMS-Code",
2311
+ wrong: "Dieser Code ist falsch. Bitte versuchen Sie es erneut.",
2312
+ expired: "Dieser Code ist abgelaufen. Bitte fordern Sie einen neuen Code an.",
2313
+ tooManyAttempts: "Zu viele Versuche. Bitte warten Sie und fordern Sie dann einen neuen Code an.",
2314
+ verifyFailed: "Wir konnten Ihren Code nicht prüfen. Bitte versuchen Sie es erneut.",
2315
+ resendFailed: "Wir konnten keinen neuen Code senden. Bitte versuchen Sie es erneut.",
2316
+ verifying: "Ihr Code wird geprüft…",
2317
+ resend: "Neuen Code senden",
2318
+ resent: "Wir haben Ihnen einen neuen Code gesendet.",
2319
+ resendCountdown: "Neuen Code in {{seconds}} s senden",
2320
+ confirmedHeading: "Buchung bestätigt",
2321
+ confirmedBody: "Ihr Termin ist bestätigt. Die Einzelheiten finden Sie unten.",
2322
+ confirmedDemo: "Dies war eine Demo. Es wurde kein Termin gebucht."
2323
+ },
2306
2324
  success: {
2307
2325
  heading: "Buchung gesendet",
2308
2326
  descriptionSingle: "Wir haben Ihnen einen Bestätigungslink über {{channel}} geschickt. Klicken Sie auf den Link, um Ihre Buchung zu bestätigen.",
@@ -3859,7 +3877,18 @@ const e = {
3859
3877
  secondSigneeSameAsPrimary: "Der zweite Unterzeichner muss sich vom ersten Unterzeichner unterscheiden.",
3860
3878
  secondSigneeUnknown: "Der ausgewählte zweite Unterzeichner ist nicht mehr verfügbar.",
3861
3879
  secondSigneeMissingPhone: "Der zweite Unterzeichner hat keine Telefonnummer. Aktualisieren Sie seine Kontaktdaten oder wählen Sie einen anderen Signaturkanal.",
3862
- secondSigneeMissingEmail: "Der zweite Unterzeichner hat keine E-Mail-Adresse. Aktualisieren Sie seine Kontaktdaten oder wählen Sie einen anderen Signaturkanal."
3880
+ secondSigneeMissingEmail: "Der zweite Unterzeichner hat keine E-Mail-Adresse. Aktualisieren Sie seine Kontaktdaten oder wählen Sie einen anderen Signaturkanal.",
3881
+ minorPatientAddSignee: "Der Patient ist jünger als 18 Jahre. Fügen Sie einen Elternteil oder Vormund als Unterzeichner hinzu.",
3882
+ minorPatientSelectSignee: "Der Patient ist jünger als 18 Jahre. Prüfen Sie, ob Sie einen Elternteil oder Vormund als Unterzeichner auswählen sollten.",
3883
+ minorPatientSelectSecondSignee: "Das Dokument sieht einen zweiten Unterzeichner vor. Prüfen Sie, ob auch der andere Elternteil oder Vormund unterschreiben soll.",
3884
+ minorPatientAddSecondSignee: "Das Dokument sieht einen zweiten Unterzeichner vor. Prüfen Sie, ob Sie den anderen Elternteil oder Vormund als Unterzeichner hinzufügen sollten.",
3885
+ addMobileNumber: "Mobilnummer hinzufügen",
3886
+ addEmailAddress: "E-Mail-Adresse hinzufügen",
3887
+ editContactDetails: "Kontaktdaten bearbeiten",
3888
+ confirmTitle: "Signaturanfrage senden?",
3889
+ confirmDescription: "Sie senden die Anleitung zum elektronischen Unterzeichnen dieses Dokuments gleich an:",
3890
+ confirmSend: "Senden",
3891
+ confirmBack: "Zurück"
3863
3892
  },
3864
3893
  toothScheme: {
3865
3894
  ariaLabel: "Zahnschema",
@@ -2307,6 +2307,24 @@ export declare const elUi: {
2307
2307
  readonly sms: "SMS";
2308
2308
  };
2309
2309
  };
2310
+ readonly code: {
2311
+ readonly heading: "Εισαγάγετε τον κωδικό SMS";
2312
+ readonly instruction: "Εισαγάγετε τον κωδικό που στείλαμε στο κινητό σας για να επιβεβαιώσετε την κράτηση.";
2313
+ readonly instructionWithPhone: "Εισαγάγετε τον κωδικό που στείλαμε στο <phone>{{phone}}</phone> για να επιβεβαιώσετε την κράτηση.";
2314
+ readonly label: "Κωδικός SMS";
2315
+ readonly wrong: "Ο κωδικός είναι λανθασμένος. Δοκιμάστε ξανά.";
2316
+ readonly expired: "Ο κωδικός έχει λήξει. Ζητήστε νέο κωδικό.";
2317
+ readonly tooManyAttempts: "Πάρα πολλές προσπάθειες. Περιμένετε και μετά ζητήστε νέο κωδικό.";
2318
+ readonly verifyFailed: "Δεν ήταν δυνατός ο έλεγχος του κωδικού. Δοκιμάστε ξανά.";
2319
+ readonly resendFailed: "Δεν ήταν δυνατή η αποστολή νέου κωδικού. Δοκιμάστε ξανά.";
2320
+ readonly verifying: "Γίνεται έλεγχος του κωδικού…";
2321
+ readonly resend: "Αποστολή νέου κωδικού";
2322
+ readonly resent: "Σας στείλαμε έναν νέο κωδικό.";
2323
+ readonly resendCountdown: "Αποστολή νέου κωδικού σε {{seconds}} δευτ.";
2324
+ readonly confirmedHeading: "Η κράτηση επιβεβαιώθηκε";
2325
+ readonly confirmedBody: "Το ραντεβού σας επιβεβαιώθηκε. Μπορείτε να δείτε τις λεπτομέρειες παρακάτω.";
2326
+ readonly confirmedDemo: "Αυτή ήταν μια επίδειξη. Δεν κλείστηκε κανένα ραντεβού.";
2327
+ };
2310
2328
  readonly success: {
2311
2329
  readonly heading: "Η κράτηση υποβλήθηκε";
2312
2330
  readonly descriptionSingle: "Σας έχουμε στείλει έναν σύνδεσμο επιβεβαίωσης μέσω {{channel}}. Πατήστε τον σύνδεσμο για να επιβεβαιώσετε την κράτησή σας.";
@@ -3887,6 +3905,17 @@ export declare const elUi: {
3887
3905
  readonly secondSigneeUnknown: "Ο επιλεγμένος δεύτερος υπογράφων δεν είναι πλέον διαθέσιμος.";
3888
3906
  readonly secondSigneeMissingPhone: "Ο δεύτερος υπογράφων δεν έχει αριθμό τηλεφώνου: ενημερώστε τα στοιχεία επικοινωνίας του ή επιλέξτε άλλο κανάλι υπογραφής.";
3889
3907
  readonly secondSigneeMissingEmail: "Ο δεύτερος υπογράφων δεν έχει διεύθυνση email: ενημερώστε τα στοιχεία επικοινωνίας του ή επιλέξτε άλλο κανάλι υπογραφής.";
3908
+ readonly minorPatientAddSignee: "Ο ασθενής είναι κάτω των 18 ετών. Προσθέστε έναν γονέα ή κηδεμόνα ως υπογράφοντα.";
3909
+ readonly minorPatientSelectSignee: "Ο ασθενής είναι κάτω των 18 ετών. Εξετάστε το ενδεχόμενο να επιλέξετε έναν γονέα ή κηδεμόνα ως υπογράφοντα.";
3910
+ readonly minorPatientSelectSecondSignee: "Το έγγραφο προβλέπει δεύτερο υπογράφοντα. Εξετάστε το ενδεχόμενο να υπογράψει και ο άλλος γονέας ή κηδεμόνας.";
3911
+ readonly minorPatientAddSecondSignee: "Το έγγραφο προβλέπει δεύτερο υπογράφοντα. Εξετάστε το ενδεχόμενο να προσθέσετε τον άλλο γονέα ή κηδεμόνα ως υπογράφοντα.";
3912
+ readonly addMobileNumber: "Προσθήκη αριθμού κινητού";
3913
+ readonly addEmailAddress: "Προσθήκη διεύθυνσης email";
3914
+ readonly editContactDetails: "Επεξεργασία στοιχείων επικοινωνίας";
3915
+ readonly confirmTitle: "Να σταλεί το αίτημα υπογραφής;";
3916
+ readonly confirmDescription: "Πρόκειται να στείλετε τις οδηγίες για την ηλεκτρονική υπογραφή αυτού του εγγράφου σε:";
3917
+ readonly confirmSend: "Αποστολή";
3918
+ readonly confirmBack: "Πίσω";
3890
3919
  };
3891
3920
  readonly toothScheme: {
3892
3921
  readonly ariaLabel: "Οδοντόγραμμα";